import z from '@deepseek-ai/schemastery'; /** Runtime configuration accepted by the bundle's Cordis row. */ export interface Config { /** Disable all collection without removing the bundle. */ enabled: boolean; /** CLS API endpoint (e.g. ap-guangzhou.cls.tencentcs.com). */ endpoint?: string; /** CLS log topic ID. */ topicId?: string; /** Tencent Cloud SecretId. */ secretId?: string; /** Tencent Cloud SecretKey. */ secretKey?: string; /** Tencent Cloud UIN (digits only) for authless (weak auth) upload. Mutually exclusive with secretId/secretKey. */ uin?: string; /** Service name for CLS resource identification. */ serviceName?: string; /** Additional string-valued resource attributes injected into every span. */ resourceAttributes: Record; /** Capture prompts, responses, tool arguments and results. Off by default. */ captureContent?: boolean; /** Maximum serialized characters retained for any captured content attribute. */ contentMaxChars: number; /** Maximum number of spans in one batch upload. */ batchMaxSize: number; /** * Maximum serialized bytes per batch upload. * * Must stay below `CONST_MAX_PUT_SIZE` in tencentcloud-cls-sdk-js (19 MB since * 1.1.1), which the SDK enforces locally: an oversize LogGroup throws * `InvalidLogSize` before any request is sent, so retrying can never help. * The default leaves headroom because `estimateSpanBytes` undercounts — it * omits CLS field keys and JSON escape growth inside `attribute`. */ maxBatchBytes: number; /** Maximum queue size before dropping oldest spans (backpressure). */ maxQueueSize: number; /** Flush interval in milliseconds. */ flushIntervalMs: number; /** Maximum retry attempts per batch. */ retryTimes: number; /** Emit plugin lifecycle diagnostics through the DSH logger. */ debug: boolean; } /** Cordis/Schemastery schema with privacy-safe defaults. */ export declare const Config: z; /** * Resolve the content capture switch. * Default: enabled (true). Set to false explicitly or via env var to disable. * Explicit plugin setting always wins. When omitted, check env var. */ export declare function resolveCaptureContent(configured: boolean | undefined, environment?: NodeJS.ProcessEnv): boolean; /** Resolve all CLS config from plugin settings + environment variables. */ export interface ResolvedClsConfig { endpoint: string; topicId: string; secretId: string; secretKey: string; uin: string; serviceName: string; resourceAttributes: Record; captureContent: boolean; contentMaxChars: number; batchMaxSize: number; maxBatchBytes: number; maxQueueSize: number; flushIntervalMs: number; retryTimes: number; debug: boolean; } export type ResolveResult = ResolvedClsConfig | { missing: string[]; }; export declare function resolveClsConfig(config: Config): ResolveResult; //# sourceMappingURL=config.d.ts.map