feat(FN-1736): add projectId scoping to chat session creation

- Add projectId field to chat session creation for multi-project isolation
- Include projectId in session response when projectId query param is provided
- Resolve agent from project-scoped store using getProjectContext
- Add projectId assertion to chat session creation tests
- Mock project-store-resolver in tests for proper store isolation
- Update project memory with multi-project scoping audit findings
This commit is contained in:
Fusion
2026-04-15 18:30:39 -07:00
committed by gsxdsm
parent 3a8cda93b5
commit cf1b36d5da

View File

@@ -155,6 +155,13 @@ vi.mock("../mission-interview.js", () => {
};
});
// Mock project-store-resolver.js
const mockGetOrCreateProjectStore = vi.fn();
vi.mock("../project-store-resolver.js", () => ({
getOrCreateProjectStore: mockGetOrCreateProjectStore,
invalidateAllGlobalSettingsCaches: vi.fn(),
}));
// ── Mock Store ──────────────────────────────────────────────────────────────
class MockStore extends EventEmitter {
@@ -272,6 +279,9 @@ describe("Chat API Routes", () => {
mockChatStore = mockChatStoreInstance;
mockChatManager = createMockChatManager();
// Setup project-store-resolver mock to return the mock store
mockGetOrCreateProjectStore.mockResolvedValue(store);
const { createServer } = await import("../server.js");
app = createServer(store as any, {
chatStore: mockChatStore as any,