SessionMemoryController class
Main session memory controller — manages the extraction lifecycle.
- Inheritance
-
- Object
- Listenable
- ListNotifier
- SintController
- SessionMemoryController
Constructors
-
SessionMemoryController({required bool isGateEnabled(), required Map<
String, dynamic> getRemoteConfig(), required bool isAutoCompactEnabled(), required bool isRemoteMode(), required void logEvent(String eventName, Map<String, Object?> metadata), required String getSessionMemoryDir(), required String getSessionMemoryPath(), required Future<String> loadTemplate(), required Future<String> loadPrompt(), required Future<String> readFile(String path), required Future<void> writeFile(String path, String content), required Future<void> mkdirRecursive(String path), required Future<bool> fileExists(String path), required Future<void> runExtractionAgent({required List<SessionMessage> contextMessages, required String memoryPath, required String prompt})})
Properties
-
fileExists
→ Future<
bool> Function(String path) -
final
-
getRemoteConfig
→ Map<
String, dynamic> Function() -
Remote config getter.
final
- getSessionMemoryDir → String Function()
-
File system helpers.
final
- getSessionMemoryPath → String Function()
-
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- initialized → bool
-
Checks whether the controller has already been initialized.
no setterinherited
- isAutoCompactEnabled → bool Function()
-
Auto-compact enabled check.
final
- isClosed → bool
-
Checks whether the controller has already been closed.
no setterinherited
- isDisposed → bool
-
no setterinherited
- isGateEnabled → bool Function()
-
Feature gate check.
final
- isRemoteMode → bool Function()
-
Remote mode check.
final
- listenersLength → int
-
no setterinherited
-
loadPrompt
→ Future<
String> Function() -
final
-
loadTemplate
→ Future<
String> Function() -
Template and prompt loaders.
final
-
logEvent
→ void Function(String eventName, Map<
String, Object?> metadata) -
Analytics event logger.
final
-
mkdirRecursive
→ Future<
void> Function(String path) -
final
-
readFile
→ Future<
String> Function(String path) -
File read/write helpers.
final
-
runExtractionAgent
→ Future<
void> Function({required List<SessionMessage> contextMessages, required String memoryPath, required String prompt}) -
Forked agent runner for extraction.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
state
→ Rx<
SessionMemoryState> -
The current state of session memory.
final
-
writeFile
→ Future<
void> Function(String path, String content) -
final
Methods
-
addListener(
SintStateUpdate listener) → Disposer -
Register a closure to be called when the object notifies its listeners.
inherited
-
addListenerId(
Object? key, SintStateUpdate listener) → Disposer -
inherited
-
containsListener(
SintStateUpdate listener) → bool -
inherited
-
debounce<
T> (RxInterface< T> rx, void callback(T), {Duration duration = const Duration(milliseconds: 400)}) → void -
Calls
callbackafterrxstops changing forduration. Useful for search-as-you-type, form validation, etc.inherited -
dispose(
) → void -
inherited
-
ever<
T> (RxInterface< T> rx, void callback(T)) → void -
Calls
callbackevery timerxchanges. Auto-cancels on controller disposal.inherited -
extractSessionMemory(
List< SessionMessage> messages, String querySource) → Future<void> - Extract session memory — the main hook entry point.
-
getContent(
) → Future< String?> - Get the current session memory content.
-
initialize(
) → void - Initialise session memory by registering as a post-sampling hook.
-
interval<
T> (RxInterface< T> rx, void callback(T), {Duration duration = const Duration(seconds: 1)}) → void -
Calls
callbackat most once perduration, ignoring intermediate changes. Useful for rate-limiting UI updates.inherited -
manuallyExtract(
List< SessionMessage> messages) → Future<ManualExtractionResult> - Manually trigger session memory extraction, bypassing threshold checks.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
once<
T> (RxInterface< T> rx, void callback(T)) → void -
Calls
callbackonly the first timerxchanges, then cancels.inherited -
onClose(
) → void -
Called before onDelete method. onClose might be used to
dispose resources used by the controller. Like closing events,
or streams before the controller is destroyed.
Or dispose objects that can potentially create some memory leaks,
like TextEditingControllers, AnimationControllers.
Might be useful as well to persist some data on disk.
inherited
-
onDelete(
) → void -
inherited
-
onInit(
) → void -
Called immediately after the widget is allocated in memory.
You might use this to initialize something for the controller.
inherited
-
onReady(
) → void -
Called 1 frame after onInit(). It is the perfect place to enter
navigation events, like snackbar, dialogs, or a new route, or
async request.
inherited
-
onStart(
) → void -
Called at the exact moment the widget is allocated in memory.
It uses an internal "callable" type, to avoid any @overrides in subclasses.
This method should be internal and is required to define the
lifetime cycle of the subclass.
inherited
-
refresh(
) → void -
inherited
-
refreshGroup(
Object id) → void -
inherited
-
removeListener(
VoidCallback listener) → void -
Remove a previously registered closure from the list of closures that the
object notifies.
inherited
-
removeListenerId(
Object id, VoidCallback listener) → void -
inherited
-
reportAdd(
VoidCallback disposer) → void -
inherited
-
reportRead(
) → void -
inherited
-
resetLastMemoryMessageUuid(
) → void - Reset the last memory message UUID (for testing).
-
shouldExtractMemory(
List< SessionMessage> messages) → bool - Determine if session memory should be extracted now.
-
toString(
) → String -
A string representation of this object.
inherited
-
update(
[List< Object> ? ids, bool condition = true]) → void -
Notifies listeners to update the UI.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited