/** * questions/application/question.env — centralized question-generation env accessors. * * Naming scheme (one prefix, hierarchical): * * QUESTIONER_ENABLED master switch — QuestionerQueue worker + * enqueue closures at every composition site. * QUESTIONER_UPTAKE_ENABLED per-surface switch — advisory pre-accept uptake * interlock. Requires the master switch. * QUESTIONER_UPTAKE_AUTHORITY_THRESHOLD * authority threshold (0-100, default 70). * QUESTIONER_DISCOVERY_ENABLED per-surface switch — decision questions during * chat/MCP opportunity discovery. Only effective * when the master switch is on (the discovery * question step adds inline summarizer latency, * so operators can turn it off independently). * QUESTIONER_DISCOVERY_INPUT_MODE 'transcripts' | 'insights' generator input. * QUESTIONER_DISCOVERY_TIMEOUT_MS per-call deadline for the discovery-questions * LLM step (default 12s). * QUESTIONER_CHAT_WAIT_TIMEOUT_MS how long the blocking ask_user_question chat * tool waits for an inline answer (default 4 min). * * All reads go through this module — do not read these variables via * `process.env` elsewhere. Values are read on every call (no caching) so tests * and long-lived processes observe changes. * * IND-547: canonical home — previously questioner/questioner.env.ts. * Legacy path is a thin compatibility shim pointing here. */ /** * Question-generator budget. Sized against Railway's ~60 s edge timeout: * the discovery + evaluation + negotiate phases consume ~50 s on the slow * path, leaving ~10 s of headroom for the tail. 12 s is the larger end of * "fits"; the question step usually completes in 4-8 s, so most legitimate * calls finish well inside. Aborted calls return `null` (no questions); * the rest of the discovery payload still ships. */ export declare const DISCOVERY_QUESTIONS_TIMEOUT_MS_DEFAULT = 12000; export declare const CHAT_QUESTION_WAIT_TIMEOUT_MS_DEFAULT = 240000; export declare const UPTAKE_AUTHORITY_THRESHOLD_DEFAULT = 70; /** Master switch: is any background question generation enabled? */ export declare function isQuestionerEnabled(): boolean; /** * Per-surface switch: should chat/MCP opportunity discovery produce decision * questions? Hierarchical — always false when the master switch is off. */ export declare function isDiscoveryQuestionsEnabled(): boolean; /** Advisory uptake interlock. Flag-off by default and subordinate to the master switch. */ export declare function isUptakeGuardEnabled(): boolean; /** Authority threshold below which hosts may generate uptake questions. */ export declare function uptakeAuthorityThreshold(): number; /** * Input mode for the discovery question generator. Only `transcripts` is * implemented; any other value falls back to `transcripts` (startup.env.ts * warns on invalid values). */ export declare function discoveryQuestionsInputMode(): "transcripts" | "insights"; /** Per-call deadline for the discovery-questions LLM step. */ export declare function discoveryQuestionsTimeoutMs(): number; /** Wait budget for the blocking ask_user_question chat tool. */ export declare function chatQuestionWaitTimeoutMs(): number;