/
fleisar
/
agent-timetracker
Обзор
Документация
Войти
/
fleisar
/
agent-timetracker
Код
Запросы
0
Задачи
Вики
Пакеты
1
Релизы
2
CI/CD
Аналитика
Безопасность
main
src/storage/types.ts
32 строки
1 KB
Matvey Kuznetsov
feat: add project and chat task grouping
14 июл 2026, 05:54
14 июл 2026, 05:54
6b9f105
Код
Авторство
О чём код?
import type { Artifact, Task, WorkSession } from "../domain/types.js"; export type NewTask = Omit<Task, "active_session_ids">; export interface TaskListFilter { project_id?: string; chat_id?: string; } export type NewArtifact = Artifact & { idempotency_key: string; }; export interface TrackerStore { createTask(task: NewTask): Task; getTask(taskId: string): Task | null; listTasks(filter?: TaskListFilter): Task[]; updateTask(task: NewTask): Task; listTaskSessions(taskId: string): WorkSession[]; getActiveSession(taskId: string, agentId: string): WorkSession | null; listActiveSessions(taskId: string): WorkSession[]; createSession(session: WorkSession): WorkSession; getSession(sessionId: string): WorkSession | null; updateSession(session: WorkSession): WorkSession; createArtifact(artifact: NewArtifact): Artifact; getArtifact(artifactId: string): Artifact | null; findArtifactByIdempotencyKey(idempotencyKey: string): Artifact | null; listArtifacts(taskId: string): Artifact[]; transaction<T>(fn: () => T): T; } export interface SqliteTrackerStore extends TrackerStore { close(): void; }