filetracker.go

 1package backend
 2
 3import (
 4	"context"
 5	"time"
 6)
 7
 8// FileTrackerRecordRead records a file read for a session.
 9func (b *Backend) FileTrackerRecordRead(ctx context.Context, workspaceID, sessionID, path string) error {
10	ws, err := b.GetWorkspace(workspaceID)
11	if err != nil {
12		return err
13	}
14
15	ws.FileTracker.RecordRead(ctx, sessionID, path)
16	return nil
17}
18
19// FileTrackerLastReadTime returns the last read time for a file in a session.
20func (b *Backend) FileTrackerLastReadTime(ctx context.Context, workspaceID, sessionID, path string) (time.Time, error) {
21	ws, err := b.GetWorkspace(workspaceID)
22	if err != nil {
23		return time.Time{}, err
24	}
25
26	return ws.FileTracker.LastReadTime(ctx, sessionID, path), nil
27}
28
29// FileTrackerListReadFiles returns the list of read files for a session.
30func (b *Backend) FileTrackerListReadFiles(ctx context.Context, workspaceID, sessionID string) ([]string, error) {
31	ws, err := b.GetWorkspace(workspaceID)
32	if err != nil {
33		return nil, err
34	}
35
36	return ws.FileTracker.ListReadFiles(ctx, sessionID)
37}