export type ScheduleInterval = { kind: 'minutes'; n: number; } | { kind: 'hours'; n: number; } | { kind: 'cron'; expr: string; }; export interface PollResult { provider: string; service: 'llm' | 'asset' | 'saas'; ok: boolean; records_count: number; error?: string; duration_ms: number; } export interface PollSummary { started_at: string; ended_at: string; duration_ms: number; results: PollResult[]; pushed_to_brain: boolean; brain_error?: string; } export interface BrainPushClient { /** push usage snapshot 到 brain /v1/beacon/usage/snapshot */ pushUsageSnapshot(records: unknown[]): Promise<{ ok: boolean; error?: string; }>; /** push asset registry 到 brain /v1/beacon/assets/registry */ pushAssetRegistry(assets: unknown[]): Promise<{ ok: boolean; error?: string; }>; /** push SAFE skill observations 到 brain SAFE_SKILL_OBSERVATION_PATH */ pushSafeSkillObservations(observations: unknown[]): Promise<{ ok: boolean; error?: string; }>; } export interface SchedulerConfig { /** 每次轮询间隔 (default: 30 min) */ interval: ScheduleInterval; /** 单 connector 超时 (default: 30s) */ per_connector_timeout_ms?: number; /** 是否每次轮询都 push asset registry (default: true) */ poll_assets?: boolean; /** 是否每次轮询都 push saas usage (default: true) */ poll_saas?: boolean; } //# sourceMappingURL=types.d.ts.map