UNPKG

flashbacker

Version:

Claude Code state management with session continuity and AI personas

148 lines 4.17 kB
export interface SessionState { session_id: string; timestamp: string; trigger: 'auto-compact' | 'manual-compact' | 'manual-record'; conversation_summary: string; current_focus?: string; active_persona?: string; modified_files: string[]; custom_restoration_prompt?: string; } export interface Persona { name: string; description: string; priorities: string[]; principles: string[]; focus_areas: string[]; decision_framework: string; collaboration_style: string; } export interface FlashbackConfig { claude_settings_path: string; state_directory: string; archive_after_days: number; default_persona?: string; auto_archive: boolean; } export interface HookConfig { type: 'PreCompact' | 'SessionStart' | 'UserPromptSubmit'; matcher: string; command: string; } export interface StateIndex { latest_session: string; session_count: number; total_size: number; last_cleanup: string; active_persona?: string; } export interface Discussion { id: string; topic: string; participants: string[]; status: 'active' | 'consensus-reached' | 'stalemate' | 'archived'; created_at: string; last_activity: string; format: DiscussionFormat; consensus_method: ConsensusMethod; positions: PersonaPosition[]; evidence: Evidence[]; criticisms: PersonaCriticism[]; consensus_result?: ConsensusResult; criticism_phase_completed: boolean; ai_transcript?: AITranscriptEntry[]; subagent_conversations?: SubagentConversation[]; } export interface PersonaPosition { persona: string; position: string; reasoning: string[]; evidence_cited: string[]; criticisms_made: string[]; responses_to_criticism: string[]; confidence_level: 1 | 2 | 3 | 4 | 5; timestamp: string; } export interface Evidence { id: string; content: string; source: string; provided_by: string; supporting_position: string; challenged_by?: string[]; timestamp: string; } export interface ConsensusResult { method_used: ConsensusMethod; outcome: 'agreement' | 'majority-decision' | 'no-consensus'; final_decision: string; supporting_personas: string[]; dissenting_personas: string[]; dissent_reasons: string[]; confidence_score: number; timestamp: string; } export type DiscussionFormat = 'sequential-criticism' | 'devil-advocate' | 'evidence-debate' | 'roundtable'; export type ConsensusMethod = 'simple-majority' | 'weighted-expertise' | 'byzantine' | 'unanimous'; export interface DiscussionTemplate { format: DiscussionFormat; title: string; description: string; rules: string[]; phases: DiscussionPhase[]; } export interface DiscussionPhase { name: string; description: string; required_actions: string[]; completion_criteria: string; time_limit?: number; } export interface CriticismRequirement { persona: string; must_critique: string[]; completed: boolean; criticisms: PersonaCriticism[]; } export interface PersonaCriticism { critic: string; target: string; position_criticized: string; criticism: string; evidence_challenged?: string[]; timestamp: string; response_received: boolean; } export interface AITranscriptEntry { persona: string; type: 'position' | 'criticism' | 'evidence' | 'response'; content: any; timestamp: string; } export interface SubagentConversation { id: string; personas: string[]; topic: string; task_description: string; subagent_prompt: string; ai_response: any; timestamp: string; duration_ms?: number; } export interface AIPersonaResponse { position?: string; reasoning?: string[]; evidence?: string[]; confidence?: 1 | 2 | 3 | 4 | 5; criticism?: string; evidenceChallenged?: string[]; suggestions?: string[]; supportingDetails?: string; } export interface TaskSubagentConfig { persona_name: string; system_prompt: string; task_description: string; expected_response_format: 'position' | 'criticism' | 'evidence'; } //# sourceMappingURL=types.d.ts.map