/** * Settings for managed account requests and inline hosted search, including * separate stream bounds. Credentials and model transport remain native-owned. * @module dsh-github-copilot/config */ import z from '@deepseek-ai/schemastery'; import type { RequestBudgetPolicy } from './request-budget.ts'; import type { WebSearchRoutingConfig } from './web-search-routing-config.ts'; import type { LiveSetting } from './settings-reader.ts'; import type { ParentModelBinding } from './parent-model-follow.ts'; import type { SessionAccountPreference } from './session-accounts.ts'; import type { SessionContinuationPreference } from './session-continuation-types.ts'; /** Plugin configuration. Defaults make the current chat route decide. */ export interface InlineConfig { /** Opt-in local aggregate diagnostics; no uploads or scheduled analysis. */ diagnosticsEnabled?: boolean; /** Hosted-search switch; managed chat requests remain enabled. */ enabled: boolean; /** * Provider whitelist (llm-pi-ai route keys). Empty = follow the current * chat route, whose candidates decide whether the plugin can serve. */ providers: string[]; /** Append `include: ['web_search_call.action.sources']` to wire requests. */ includeSources: boolean; /** Strip function-tool variants of the server-side web tools from the wire. */ stripServerTools: boolean; /** Idle bound for one inline request, in milliseconds. */ idleTimeoutMs: number; /** Managed chat byte-idle interval; separate from hosted search. */ chatStreamIdleTimeoutMs?: number; /** Enable bounded HTTP byte-aware liveness without fabricated assistant progress. */ chatStreamLiveness?: boolean; /** Native request image projection budget; changing it can offload older images. */ chatMaxRequestImageBytes?: number; /** Default-off lossless gzip for eligible managed Responses HTTP requests. */ responsesRequestCompression?: boolean; /** Default-off override omitting temperature from all managed Responses requests. */ responsesOmitTemperature?: boolean; /** Verify the endpoint executes native search before serving. */ probe: boolean; /** Bound on one probe request, in milliseconds. */ probeTimeoutMs: number; /** Maximum reuse of account model metadata; credential proof guards still take precedence. */ accountModelTtlMs?: number; /** Minimum delay after failed passive discovery; explicit Refresh bypasses it. */ accountModelFailureCooldownMs?: number; /** Exact account model IDs hidden from the managed directory and every Auto candidate pool. */ excludedModelIds?: string[]; /** User-marked costly IDs; reduced positive Auto weight, independent of category. */ highCostModelIds?: string[]; /** Opaque profile-wide account selector; absence retains canonical compatibility. */ activeAccountId?: string; /** Explicit Session overrides; absence means follow the profile default. */ sessionAccounts?: SessionAccountPreference[]; /** Explicit lossy continuation consent for exact Sessions, never inherited. */ sessionContinuation?: SessionContinuationPreference[]; continuationDefaultHistory?: { enabled: boolean; changedAt: number; }[]; /** Explicit native child/direct-parent enrollments; empty preserves native routing. */ parentModelFollow?: ParentModelBinding[]; /** Profile-wide next-turn policy for supported native children. */ followParentModel?: boolean; /** Default-on bounded task assessment; explicit false opts out of auxiliary inference. */ autoSemanticAssessment?: boolean; /** Capture bounded local candidate opportunities for future policy review. */ autoAllocationEvidence?: boolean; /** Estimated managed-route input headroom, separate from truthful catalog capacities. */ requestBudgetSafetyTokens?: number; /** Fraction of admissible input used by eligible automatic-compaction requests. */ requestBudgetPressureRatio?: number; /** Supported low effort only for summary calls with no already resolved effort. */ compactionReasoning?: RequestBudgetPolicy['compactionReasoning']; /** Route the official web-search consumer by initiating Session when the bundle isolate is mounted. */ routeWebSearch?: boolean; /** Automatic fallback, disclosed in results; no per-search approval dialog. */ searchFallback?: 'none' | 'deepseek'; /** Optional authoritative legacy override; otherwise hosted search resolves bounded account-owned candidates independently of Chat. */ searchModel?: string; /** Provider routing folded into this plugin entry on current Core releases. */ searchRouting?: WebSearchRoutingConfig; /** Internal JSON backup of route leaves temporarily owned by the GPT-6 overlay. */ temporaryRouteBackup?: string; } export type LiveInlineConfig = Omit & { continuationDefaultHistory?: InlineConfig['continuationDefaultHistory'] | LiveSetting>; sessionContinuation?: SessionContinuationPreference[] | LiveSetting>; sessionAccounts?: SessionAccountPreference[] | LiveSetting>; diagnosticsEnabled?: boolean | LiveSetting; activeAccountId?: string | LiveSetting; followParentModel?: boolean | LiveSetting; parentModelFollow?: ParentModelBinding[] | LiveSetting>; highCostModelIds?: string[] | LiveSetting>; excludedModelIds?: string[] | LiveSetting>; searchModel?: string | LiveSetting; searchRouting?: WebSearchRoutingConfig | LiveSetting; temporaryRouteBackup?: string | LiveSetting; }; export type ResolvedInlineConfig = Omit & { diagnosticsEnabled: LiveSetting; continuationDefaultHistory: LiveSetting>; sessionContinuation: LiveSetting>; sessionAccounts: LiveSetting>; activeAccountId: LiveSetting; followParentModel: LiveSetting; parentModelFollow: LiveSetting>; highCostModelIds: LiveSetting>; excludedModelIds: LiveSetting>; searchModel: LiveSetting; searchRouting: LiveSetting; temporaryRouteBackup: LiveSetting; }; /** Keep native live references at the boundary; request code consumes plain snapshots. */ export declare function readInlineConfig(config: LiveInlineConfig): InlineConfig; /** Schema of the plugin's settings section. */ export declare const Config: z, ResolvedInlineConfig>; //# sourceMappingURL=config.d.ts.map