K-10 pipeline transcripciones + settings IA + cache-aside + session doc
Nuevos modulos: - services/ai.ts: cliente IA provider-agnostico (OpenRouter, MiniMax) - services/db.ts: Dexie core con tabla settings + project_docs - services/storage.ts: Cache-Aside + Write-Through (L1 Map → L2 Dexie → L3 localStorage) - services/parse-transcription.ts: parser .docx/.vtt/.txt/.md - services/session-analyzer.ts: extraccion IA de sesiones (resumen, tareas, decisiones) - services/project-doc.ts: documento maestro MD (Bloque 1 resumen + Bloque 2 sesiones) - stores/settings.ts: proveedores IA, modelos, API keys separadas por provider - stores/transcriptions.ts: pipeline upload → analyze → create HU en KAPPA - views/SettingsView.vue: configuracion IA (OpenRouter, MiniMax, OpenCode bridge) - views/TranscriptionsView.vue: subida multiple + analisis sesion + visor MD + calendario - components/AiProjectChat.vue: chat contextual por proyecto con selector de modelo Cambios en existentes: - stores/auth.ts, kappa-api.ts, upload-hu.ts: migrados a storage service (Dexie + localStorage) - stores/projects.ts, workitems.ts: kappa_last_project via storage - DashboardView.vue: descripcion reemplazada por AiProjectChat - NewDashboardView.vue: tabs transcriptions + settings + navigate-settings events - NavMain.vue: items Transcripciones + Configuracion - SiteHeader.vue: labels tabs + language via storage - LoginView.vue: remember_email via storage - i18n: +80 keys español/ingles - vite.config.ts: proxy CORS para MiniMax - package.json: +mammoth.js
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import { storage } from '@/services/storage'
|
||||
import type {
|
||||
KappaLoginPayload,
|
||||
KappaLoginResponse,
|
||||
@@ -23,7 +24,7 @@ class KappaAPI {
|
||||
private token: string | null = null
|
||||
|
||||
constructor() {
|
||||
this.token = localStorage.getItem('kappa_token')
|
||||
this.token = storage.get('kappa_token')
|
||||
}
|
||||
|
||||
private get headers(): Record<string, string> {
|
||||
@@ -66,14 +67,14 @@ class KappaAPI {
|
||||
)
|
||||
this.token = data.access || data.token || data.key || null
|
||||
if (this.token) {
|
||||
localStorage.setItem('kappa_token', this.token)
|
||||
storage.set('kappa_token', this.token)
|
||||
}
|
||||
return data
|
||||
}
|
||||
|
||||
logout() {
|
||||
this.token = null
|
||||
localStorage.removeItem('kappa_token')
|
||||
storage.remove('kappa_token')
|
||||
}
|
||||
|
||||
get isAuthenticated(): boolean {
|
||||
|
||||
Reference in New Issue
Block a user