/** * OpenCode Event Name Constants * * Use these instead of magic strings throughout the codebase. * Based on OpenCode's hook/event system. */ export declare const OpenCodeEventNames: { readonly SESSION_CREATED: "session.created"; readonly SESSION_UPDATED: "session.updated"; readonly SESSION_DELETED: "session.deleted"; readonly SESSION_IDLE: "session.idle"; readonly SESSION_COMPACTED: "session.compacted"; readonly SESSION_ERROR: "session.error"; readonly MESSAGE_UPDATED: "message.updated"; readonly TOOL_EXECUTE_BEFORE: "tool.execute.before"; readonly TOOL_EXECUTE_AFTER: "tool.execute.after"; readonly SESSION_COMPACTING: "session.compacting"; }; export type OpenCodeEventName = typeof OpenCodeEventNames[keyof typeof OpenCodeEventNames]; /** * OpenCode Event Compatibility Matrix * * Track which events are available in which OpenCode versions. * Useful for graceful degradation if OpenCode API changes. */ interface IEventInfo { readonly since: string; readonly stable: boolean; readonly description: string; } /** * OpenCode Events utility object */ export declare const OpenCodeEvents: { /** * Check if an event is supported in a given OpenCode version. * @param event - Event name to check * @param _version - OpenCode version (future: semver comparison) */ isSupported(event: OpenCodeEventName, _version?: string): boolean; /** * Get event info (version introduced, stability, description) */ getEventInfo(event: OpenCodeEventName): IEventInfo | undefined; /** * Check if event is marked as stable */ isStable(event: OpenCodeEventName): boolean; /** * Get all stable events */ getStableEvents(): OpenCodeEventName[]; }; /** * Map Lisa session triggers to OpenCode events */ export declare const TriggerToOpenCodeEvent: { readonly startup: "session.created"; readonly resume: "session.updated"; readonly compact: "session.compacted"; readonly clear: "session.created"; }; /** * Map OpenCode events to Lisa session triggers */ export declare const OpenCodeEventToTrigger: { readonly "session.created": "startup"; readonly "session.updated": "resume"; readonly "session.compacted": "compact"; readonly "session.compacting": "compact"; }; export {}; //# sourceMappingURL=opencode-events.d.ts.map