129 lines
4.9 KiB
JavaScript
129 lines
4.9 KiB
JavaScript
const LATEST_SCHEMA = {
|
|
users: {
|
|
columns: [
|
|
{ name: 'uid', type: 'TEXT PRIMARY KEY' },
|
|
{ name: 'display_name', type: 'TEXT NOT NULL' },
|
|
{ name: 'email', type: 'TEXT NOT NULL' },
|
|
{ name: 'created_at', type: 'INTEGER' },
|
|
{ name: 'auto_update_enabled', type: 'INTEGER DEFAULT 1' },
|
|
{ name: 'has_migrated_to_firebase', type: 'INTEGER DEFAULT 0' }
|
|
]
|
|
},
|
|
sessions: {
|
|
columns: [
|
|
{ name: 'id', type: 'TEXT PRIMARY KEY' },
|
|
{ name: 'uid', type: 'TEXT NOT NULL' },
|
|
{ name: 'title', type: 'TEXT' },
|
|
{ name: 'session_type', type: 'TEXT DEFAULT \'ask\'' },
|
|
{ name: 'started_at', type: 'INTEGER' },
|
|
{ name: 'ended_at', type: 'INTEGER' },
|
|
{ name: 'sync_state', type: 'TEXT DEFAULT \'clean\'' },
|
|
{ name: 'updated_at', type: 'INTEGER' }
|
|
]
|
|
},
|
|
transcripts: {
|
|
columns: [
|
|
{ name: 'id', type: 'TEXT PRIMARY KEY' },
|
|
{ name: 'session_id', type: 'TEXT NOT NULL' },
|
|
{ name: 'start_at', type: 'INTEGER' },
|
|
{ name: 'end_at', type: 'INTEGER' },
|
|
{ name: 'speaker', type: 'TEXT' },
|
|
{ name: 'text', type: 'TEXT' },
|
|
{ name: 'lang', type: 'TEXT' },
|
|
{ name: 'created_at', type: 'INTEGER' },
|
|
{ name: 'sync_state', type: 'TEXT DEFAULT \'clean\'' }
|
|
]
|
|
},
|
|
ai_messages: {
|
|
columns: [
|
|
{ name: 'id', type: 'TEXT PRIMARY KEY' },
|
|
{ name: 'session_id', type: 'TEXT NOT NULL' },
|
|
{ name: 'sent_at', type: 'INTEGER' },
|
|
{ name: 'role', type: 'TEXT' },
|
|
{ name: 'content', type: 'TEXT' },
|
|
{ name: 'tokens', type: 'INTEGER' },
|
|
{ name: 'model', type: 'TEXT' },
|
|
{ name: 'created_at', type: 'INTEGER' },
|
|
{ name: 'sync_state', type: 'TEXT DEFAULT \'clean\'' }
|
|
]
|
|
},
|
|
summaries: {
|
|
columns: [
|
|
{ name: 'session_id', type: 'TEXT PRIMARY KEY' },
|
|
{ name: 'generated_at', type: 'INTEGER' },
|
|
{ name: 'model', type: 'TEXT' },
|
|
{ name: 'text', type: 'TEXT' },
|
|
{ name: 'tldr', type: 'TEXT' },
|
|
{ name: 'bullet_json', type: 'TEXT' },
|
|
{ name: 'action_json', type: 'TEXT' },
|
|
{ name: 'tokens_used', type: 'INTEGER' },
|
|
{ name: 'updated_at', type: 'INTEGER' },
|
|
{ name: 'sync_state', type: 'TEXT DEFAULT \'clean\'' }
|
|
]
|
|
},
|
|
prompt_presets: {
|
|
columns: [
|
|
{ name: 'id', type: 'TEXT PRIMARY KEY' },
|
|
{ name: 'uid', type: 'TEXT NOT NULL' },
|
|
{ name: 'title', type: 'TEXT NOT NULL' },
|
|
{ name: 'prompt', type: 'TEXT NOT NULL' },
|
|
{ name: 'is_default', type: 'INTEGER NOT NULL' },
|
|
{ name: 'created_at', type: 'INTEGER' },
|
|
{ name: 'sync_state', type: 'TEXT DEFAULT \'clean\'' }
|
|
]
|
|
},
|
|
ollama_models: {
|
|
columns: [
|
|
{ name: 'name', type: 'TEXT PRIMARY KEY' },
|
|
{ name: 'size', type: 'TEXT NOT NULL' },
|
|
{ name: 'installed', type: 'INTEGER DEFAULT 0' },
|
|
{ name: 'installing', type: 'INTEGER DEFAULT 0' }
|
|
]
|
|
},
|
|
whisper_models: {
|
|
columns: [
|
|
{ name: 'id', type: 'TEXT PRIMARY KEY' },
|
|
{ name: 'name', type: 'TEXT NOT NULL' },
|
|
{ name: 'size', type: 'TEXT NOT NULL' },
|
|
{ name: 'installed', type: 'INTEGER DEFAULT 0' },
|
|
{ name: 'installing', type: 'INTEGER DEFAULT 0' }
|
|
]
|
|
},
|
|
provider_settings: {
|
|
columns: [
|
|
{ name: 'uid', type: 'TEXT NOT NULL' },
|
|
{ name: 'provider', type: 'TEXT NOT NULL' },
|
|
{ name: 'api_key', type: 'TEXT' },
|
|
{ name: 'selected_llm_model', type: 'TEXT' },
|
|
{ name: 'selected_stt_model', type: 'TEXT' },
|
|
{ name: 'created_at', type: 'INTEGER' },
|
|
{ name: 'updated_at', type: 'INTEGER' }
|
|
],
|
|
constraints: ['PRIMARY KEY (uid, provider)']
|
|
},
|
|
user_model_selections: {
|
|
columns: [
|
|
{ name: 'uid', type: 'TEXT PRIMARY KEY' },
|
|
{ name: 'selected_llm_provider', type: 'TEXT' },
|
|
{ name: 'selected_llm_model', type: 'TEXT' },
|
|
{ name: 'selected_stt_provider', type: 'TEXT' },
|
|
{ name: 'selected_stt_model', type: 'TEXT' },
|
|
{ name: 'updated_at', type: 'INTEGER' }
|
|
]
|
|
},
|
|
shortcuts: {
|
|
columns: [
|
|
{ name: 'action', type: 'TEXT PRIMARY KEY' },
|
|
{ name: 'accelerator', type: 'TEXT NOT NULL' },
|
|
{ name: 'created_at', type: 'INTEGER' }
|
|
]
|
|
},
|
|
permissions: {
|
|
columns: [
|
|
{ name: 'uid', type: 'TEXT PRIMARY KEY' },
|
|
{ name: 'keychain_completed', type: 'INTEGER DEFAULT 0' }
|
|
]
|
|
}
|
|
};
|
|
|
|
module.exports = LATEST_SCHEMA;
|