feat(FN-4459): complete Step 1 — add TaskStore experiment session accessor

Fusion-Task-Id: FN-4459
Fusion-Task-Lineage: 3448a074-fa1c-45d6-8bb9-cc5922cee7f6
This commit is contained in:
Fusion
2026-05-14 03:42:20 -07:00
committed by gsxdsm
parent 6dbb9c2ef9
commit bd2f5cd044

View File

@@ -17,6 +17,7 @@ import { MissionStore } from "./mission-store.js";
import { PluginStore } from "./plugin-store.js";
import { InsightStore } from "./insight-store.js";
import { ResearchStore } from "./research-store.js";
import { ExperimentSessionStore } from "./experiment-session-store.js";
import { TodoStore } from "./todo-store.js";
import { EvalStore } from "./eval-store.js";
import { BackwardCompat, ProjectRequiredError } from "./migration.js";
@@ -734,6 +735,8 @@ export class TaskStore extends EventEmitter<TaskStoreEvents> {
private insightStore: InsightStore | null = null;
/** Cached ResearchStore instance */
private researchStore: ResearchStore | null = null;
/** Cached ExperimentSessionStore instance */
private experimentSessionStore: ExperimentSessionStore | null = null;
/** Cached TodoStore instance */
private todoStore: TodoStore | null = null;
/** Cached EvalStore instance */
@@ -7721,6 +7724,18 @@ ${notificationsSection}`;
return this.researchStore;
}
/**
* Get the ExperimentSessionStore instance for upstream-style experiment
* session operations (try-measure-keep-revert loop, finalize workflow).
* Lazily initializes the ExperimentSessionStore on first access.
*/
getExperimentSessionStore(): ExperimentSessionStore {
if (!this.experimentSessionStore) {
this.experimentSessionStore = new ExperimentSessionStore(this.db);
}
return this.experimentSessionStore;
}
/**
* Get the TodoStore instance for project-scoped todo list operations.
* Lazily initializes the TodoStore on first access.