export type PlatformName = "opencode" | "claude-code" | "cursor"; export interface PlatformCapabilities { nativeSessionLifecycle: boolean; nativeToolCapture: boolean; nativeChatCapture: boolean; emulatedIdleFlush: boolean; } export interface PlatformAdapterDescriptor { name: PlatformName; version: string; capabilities: PlatformCapabilities; } export type NormalizedPlatformEvent = { kind: "session.start"; platform: PlatformName; sessionId: string; occurredAt: string; metadata?: Record; } | { kind: "session.end"; platform: PlatformName; sessionId: string; occurredAt: string; metadata?: Record; } | { kind: "chat.message"; platform: PlatformName; sessionId: string; occurredAt: string; role: "user" | "assistant" | "system"; text: string; metadata?: Record; } | { kind: "tool.execute"; platform: PlatformName; sessionId: string; occurredAt: string; callId: string; toolName: string; output: string; metadata?: Record; } | { kind: "idle.flush"; platform: PlatformName; sessionId: string; occurredAt: string; metadata?: Record; }; export interface PlatformAdapter { readonly descriptor: PlatformAdapterDescriptor; normalize(rawEvent: unknown): NormalizedPlatformEvent | null; } //# sourceMappingURL=types.d.ts.map