Class: FileAccessTracker

Defined in: context/file-tracker.ts:157

Tracks file accesses during agent sessions for context restoration hints.

Example

const tracker = new FileAccessTracker();

// Track file accesses
tracker.trackRead('/path/to/file.ts', 597);
tracker.trackReference('/path/to/other.ts');
tracker.trackModification('/path/to/file.ts', 'Added function');

// Get restoration hints after compaction
const hints = tracker.formatRestorationHints();
console.log(hints);

Constructors

Constructor

new FileAccessTracker(options?): FileAccessTracker;

Defined in: context/file-tracker.ts:164

Parameters

Parameter Type
options FileAccessTrackerOptions

Returns

FileAccessTracker

Accessors

size

Get Signature

get size(): number;

Defined in: context/file-tracker.ts:447

Get the number of tracked files

Returns

number

Methods

clear()

clear(): void;

Defined in: context/file-tracker.ts:440

Clear all tracked accesses

Returns

void

formatRestorationHints()

formatRestorationHints(options?): string;

Defined in: context/file-tracker.ts:317

Format restoration hints for injection after compaction

Parameters

Parameter Type
options FormatHintsOptions

Returns

string

formatRestorationHintsWithContent()

formatRestorationHintsWithContent(options?): RestorationHintMessage[];

Defined in: context/file-tracker.ts:375

Format restoration hints with inline file content (Claude Code style).

Small files with stored content are inlined up to a token budget. Large files or files exceeding the budget get reference-only hints. Each file produces a separate hint message for individual injection.

Priority order for inlining:

  1. Modified files (most critical context)
  2. Read files, most recent first
  3. Once budget exhausted → remaining become reference-only
  4. Referenced-only files → always reference-only

Parameters

Parameter Type Description
options? { maxInlineTokens?: number; } -
options.maxInlineTokens? number Total token budget for all inline content (default: 4000)

Returns

RestorationHintMessage[]

getAccess()

getAccess(filePath): FileAccess | undefined;

Defined in: context/file-tracker.ts:292

Get access record for a specific file

Parameters

Parameter Type
filePath string

Returns

FileAccess | undefined

getAccesses()

getAccesses(options?): FileAccess[];

Defined in: context/file-tracker.ts:259

Get all file accesses, optionally filtered

Parameters

Parameter Type
options? { since?: number; type?: FileAccessType; }
options.since? number
options.type? FileAccessType

Returns

FileAccess[]

getRecentAccesses()

getRecentAccesses(limit?): FileAccess[];

Defined in: context/file-tracker.ts:278

Get most recent file accesses

Parameters

Parameter Type Default value
limit number 10

Returns

FileAccess[]

getStats()

getStats(): FileAccessStats;

Defined in: context/file-tracker.ts:299

Get statistics about file accesses

Returns

FileAccessStats

hasAccessed()

hasAccessed(filePath): boolean;

Defined in: context/file-tracker.ts:285

Check if a file has been accessed

Parameters

Parameter Type
filePath string

Returns

boolean

trackModification()

trackModification(filePath, summary?): void;

Defined in: context/file-tracker.ts:239

Track a file that was modified (written or edited)

Parameters

Parameter Type
filePath string
summary? string

Returns

void

trackRead()

trackRead(
   filePath, 
   lineCount, 
   summary?, 
   content?): void;

Defined in: context/file-tracker.ts:178

Track a file that was fully read

Parameters

Parameter Type
filePath string
lineCount number
summary? string
content? string

Returns

void

trackReference()

trackReference(filePath): void;

Defined in: context/file-tracker.ts:211

Track a file that was referenced (e.g., appeared in grep/glob results)

Parameters

Parameter Type
filePath string

Returns

void