| 174 | // ----------------------------------------------------------------------------- |
| 175 | |
| 176 | export interface AFSStore { |
| 177 | // Sessions |
| 178 | createSession(url: string, projectId?: string): Session; |
| 179 | getSession(id: string): Session | undefined; |
| 180 | getSessionWithAnnotations(id: string): SessionWithAnnotations | undefined; |
| 181 | updateSessionStatus(id: string, status: SessionStatus): Session | undefined; |
| 182 | listSessions(): Session[]; |
| 183 | |
| 184 | // Annotations |
| 185 | addAnnotation( |
| 186 | sessionId: string, |
| 187 | data: Omit<Annotation, "id" | "sessionId" | "status" | "createdAt"> |
| 188 | ): Annotation | undefined; |
| 189 | getAnnotation(id: string): Annotation | undefined; |
| 190 | updateAnnotation( |
| 191 | id: string, |
| 192 | data: Partial<Omit<Annotation, "id" | "sessionId" | "createdAt">> |
| 193 | ): Annotation | undefined; |
| 194 | updateAnnotationStatus( |
| 195 | id: string, |
| 196 | status: AnnotationStatus, |
| 197 | resolvedBy?: "human" | "agent" |
| 198 | ): Annotation | undefined; |
| 199 | addThreadMessage( |
| 200 | annotationId: string, |
| 201 | role: "human" | "agent", |
| 202 | content: string |
| 203 | ): Annotation | undefined; |
| 204 | getPendingAnnotations(sessionId: string): Annotation[]; |
| 205 | getSessionAnnotations(sessionId: string): Annotation[]; |
| 206 | deleteAnnotation(id: string): Annotation | undefined; |
| 207 | |
| 208 | // Events (for replay on reconnect) |
| 209 | getEventsSince(sessionId: string, sequence: number): AFSEvent[]; |
| 210 | |
| 211 | // Lifecycle |
| 212 | close(): void; |
| 213 | } |
no outgoing calls
no test coverage detected
searching dependent graphs…