GitTrix API
Core router API for durable and ephemeral storage routing.
Constructor
Section titled “Constructor”new GitTrix({ durable, ephemeral, storeDir, defaultEviction, evictionSweepIntervalMs,})interface GitTrixOptions { durable: DurableAdapter ephemeral: EphemeralAdapter storeDir?: string defaultEviction?: Partial<EvictionPolicy> evictionSweepIntervalMs?: number}durable must expose capabilities().git === true, or construction throws CAPABILITY_MISSING.
Default storeDir:
~/.gittrix/sessionsLifecycle
Section titled “Lifecycle”await gittrix.init()
const session = await gittrix.startSession({ task: 'update docs', durablePath: '/path/to/repo', durableBranch: 'main',})
const activeAgain = await gittrix.getSession(session.id)const sessions = await gittrix.listSessions()
const diff = await session.diff()
await session.promote({ selector: { mode: 'all' }, message: 'docs: update readme',})
await gittrix.close()Start session options
Section titled “Start session options”interface StartSessionOpts { task: string durablePath?: string durableRef?: string durableBranch?: string eviction?: Partial<EvictionPolicy>}Default eviction
Section titled “Default eviction”{ ttlIdleMs: 4 * 60 * 60 * 1000, ttlAbsoluteMs: null, untilPromote: true, manual: false,}Default sweep interval:
5 * 60 * 1000Runtime note
Section titled “Runtime note”The current core uses Node APIs, including EventEmitter and a filesystem-backed session store. Do not assume full Workers or Deno runtime support for the current implementation.