summaryrefslogtreecommitdiff
path: root/extension/react-app/src/redux/store.ts
diff options
context:
space:
mode:
Diffstat (limited to 'extension/react-app/src/redux/store.ts')
-rw-r--r--extension/react-app/src/redux/store.ts43
1 files changed, 43 insertions, 0 deletions
diff --git a/extension/react-app/src/redux/store.ts b/extension/react-app/src/redux/store.ts
new file mode 100644
index 00000000..f9eb0517
--- /dev/null
+++ b/extension/react-app/src/redux/store.ts
@@ -0,0 +1,43 @@
+import { configureStore } from "@reduxjs/toolkit";
+import debugStateReducer from "./slices/debugContexSlice";
+import chatReducer from "./slices/chatSlice";
+import configReducer from "./slices/configSlice";
+import miscReducer from "./slices/miscSlice";
+import { RangeInFile, SerializedDebugContext } from "../../../src/client";
+
+export interface ChatMessage {
+ role: "system" | "user" | "assistant";
+ content: string;
+}
+
+export interface RootStore {
+ debugState: {
+ debugContext: SerializedDebugContext;
+ rangesMask: boolean[];
+ };
+ config: {
+ workspacePath: string | undefined;
+ apiUrl: string;
+ vscMachineId: string | undefined;
+ sessionId: string | undefined;
+ sessionStarted: number | undefined;
+ };
+ chat: {
+ messages: ChatMessage[];
+ isStreaming: boolean;
+ };
+ misc: {
+ highlightedCode: RangeInFile | undefined;
+ };
+}
+
+const store = configureStore({
+ reducer: {
+ debugState: debugStateReducer,
+ chat: chatReducer,
+ config: configReducer,
+ misc: miscReducer,
+ },
+});
+
+export default store;