Files
ealmeida 17e5736a0a feat(observabilidade): setup dependências e tipos SessionMeta/SessionEvent
- Instala better-sqlite3 + chokidar + @types/better-sqlite3
- Upgrade googleapis 144 → 171 (resolve 4 vulns moderate em uuid/gaxios)
- Cria api/types/session.ts (SessionMeta, SessionEvent, ParseResult, SessionOutcome)
- Cria SPEC.md raiz com marker APPROVED a referenciar SPEC autoritativo no Hub
- Task 1 de 10 do plano Observabilidade (Espelho)
- Desk #2059, Projecto #65

Security Audit (Regra #47):
- npm audit --audit-level=moderate: 0 vulnerabilities
- Calendar API continua operacional (google.calendar v3 inalterada)
2026-04-23 00:38:34 +01:00

50 lines
1.1 KiB
TypeScript

export type SessionOutcome = 'completed' | 'interrupted' | 'error' | 'unknown'
export interface SessionMeta {
session_id: string
project_path: string
project_slug: string
jsonl_path: string
started_at: string
ended_at: string | null
duration_sec: number | null
event_count: number
user_messages: number
assistant_msgs: number
tool_calls: number
first_prompt: string | null
tools_used: string[]
skills_invoked: string[]
outcome: SessionOutcome
permission_mode: string | null
file_size: number
indexed_at: string
}
export type SessionEventType =
| 'user'
| 'assistant'
| 'system'
| 'attachment'
| 'permission-mode'
| 'file-history-snapshot'
| 'unknown'
export interface SessionEvent {
index: number
type: SessionEventType
timestamp: string | null
raw: Record<string, unknown>
text: string | null
tool_name: string | null
tool_input: Record<string, unknown> | null
tool_result: unknown
skill_invoked: string | null
hook_name: string | null
}
export interface ParseResult {
meta: SessionMeta
events: SessionEvent[]
}