ISessionInstance

Interface for session instance implementations. Defines the contract for local, persist, and dummy backends.

Intended use: per-(symbol, strategy, exchange, frame) mutable session data shared across strategy callbacks within a single run — e.g. caching LLM inference results, intermediate indicator state, or cross-candle accumulators.

Example shape:

{ lastLlmSignal: "buy" | "sell" | null; confirmedAt: number }
waitForInit: (initial: boolean) => Promise<void>

Initialize the session instance.

setData: <Value extends object = object>(value: Value) => Promise<void>

Write a new session value.

getData: <Value extends object = object>() => Promise<Value>

Read the current session value.

dispose: () => Promise<void>

Releases any resources held by this instance.