import { type ConfigSettingDefinition } from './schema-shared.js'; /** * Per-project worktree cold-start setup (resolveWorktreeSetupConfig). Both fields * are arrays, so, like notifications.webhookUrls / wrfc.gates, they are NOT * scalar ConfigKeys; read them via getCategory('worktree').setup. The domain is * augmented onto GoodVibesConfig here (co-located with its default below) so * schema-types.ts stays under its grandfathered line ceiling; registering it is * what keeps get('worktree.setup.*') from throwing "section 'worktree' does not * exist", the daemon reads those keys via a cast. */ export interface WorktreeConfig { setup: { commands: string[]; carryOverGlobs: string[]; }; } /** * The proactive check-in section. Its keys and defaults already shipped; no * `declare module` block ever put the SECTION on `GoodVibesConfig`, so reading * it off the config object was a compile error. Pinned in * test/types/config-domains-complete.ts. */ export interface CheckinConfig { enabled: boolean; cadence: string; deliveryChannel: string; quietHours: string; } declare module './schema-types.js' { interface GoodVibesConfig { worktree: WorktreeConfig; checkin: CheckinConfig; } } export declare const runtimeConfigDefaults: { runtime: { companionChatLimiter: { perSessionLimit: number; }; eventBus: { maxListeners: number; }; unifiedTasks: boolean; pluginLifecycle: boolean; mcpLifecycle: boolean; toolBudget: { enforced: boolean; maxMs: number; maxTokens: number; maxCostUsd: number; }; }; batch: { mode: string; fallback: string; queueBackend: string; tickIntervalMs: number; maxDelayMs: number; maxJobsPerProviderBatch: number; maxQueuePayloadBytes: number; maxQueueMessagesPerDay: number; }; cloudflare: { enabled: boolean; freeTierMode: boolean; accountId: string; apiTokenRef: string; zoneId: string; zoneName: string; workerName: string; workerSubdomain: string; workerHostname: string; workerBaseUrl: string; daemonBaseUrl: string; daemonHostname: string; workerTokenRef: string; workerClientTokenRef: string; workerCron: string; queueName: string; deadLetterQueueName: string; tunnelName: string; tunnelId: string; tunnelTokenRef: string; accessAppId: string; accessServiceTokenId: string; accessServiceTokenRef: string; kvNamespaceName: string; kvNamespaceId: string; durableObjectNamespaceName: string; durableObjectNamespaceId: string; r2BucketName: string; secretsStoreName: string; secretsStoreId: string; maxQueueOpsPerDay: number; }; telemetry: { includeRawPrompts: boolean; decisionOtlpEnabled: boolean; decisionOtlpEndpoint: string; decisionOtlpSignal: string; otelMode: string; }; automation: { enabled: boolean; maxConcurrentRuns: number; runHistoryLimit: number; defaultTimeoutMs: number; catchUpWindowMinutes: number; failureCooldownMs: number; deleteAfterRun: boolean; }; checkin: { enabled: boolean; cadence: string; deliveryChannel: string; quietHours: string; }; controlPlane: { enabled: boolean; gateway: boolean; hostMode: string; host: string; port: number; publicBaseUrl: string; streamMode: string; allowRemote: boolean; trustProxy: boolean; openaiCompatible: { enabled: boolean; pathPrefix: string; }; webui: { serve: boolean; bundleDir: string; }; cors: { enabled: boolean; allowedOrigins: string; }; tls: { mode: string; certFile: string; keyFile: string; }; }; httpListener: { hostMode: string; host: string; port: number; trustProxy: boolean; trustCloudflare: boolean; tls: { mode: string; certFile: string; keyFile: string; }; }; web: { enabled: boolean; hostMode: string; host: string; port: number; publicBaseUrl: string; staticAssetsDir: string; }; watchers: { enabled: boolean; pollIntervalMs: number; heartbeatIntervalMs: number; recoveryWindowMinutes: number; ciPollIntervalMs: number; }; service: { enabled: boolean; autostart: boolean; restartOnFailure: boolean; platform: string; serviceName: string; logPath: string; }; network: { outboundTls: { mode: string; customCaFile: string; customCaDir: string; allowInsecureLocalhost: boolean; }; remoteFetch: { allowPrivateHosts: boolean; }; }; relay: { enabled: boolean; url: string; rendezvousId: string; label: string; requireStepUpForMutations: boolean; }; worktree: { setup: { commands: string[]; carryOverGlobs: string[]; }; }; }; export declare const runtimePrimaryConfigSettings: ConfigSettingDefinition[]; export declare const runtimeSecondaryConfigSettings: ConfigSettingDefinition[]; //# sourceMappingURL=schema-domain-runtime.d.ts.map