mirror of
https://github.com/geoffsee/open-gsio.git
synced 2025-09-08 22:56:46 +00:00
**Refactor imports and improve type annotations**
- Adjusted import statements across the codebase to align with consistent use of `type`. - Unified usage of `EventSource` initialization. - Introduced `RootDeps` type for shared dependencies. - Commented out unused VitePWA configuration. - Updated proxy target URLs in Vite configuration.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
// Function to generate a Markdown representation of the current conversation
|
||||
import { type IMessage } from "../../../stores/ClientChatStore";
|
||||
import { Instance } from "mobx-state-tree";
|
||||
import { type Instance } from "mobx-state-tree";
|
||||
|
||||
export function formatConversationMarkdown(
|
||||
messages: Instance<typeof IMessage>[],
|
||||
|
@@ -1,8 +1,8 @@
|
||||
import React, { KeyboardEvent, useEffect } from "react";
|
||||
import React, {type KeyboardEvent, useEffect } from "react";
|
||||
import { Box, Flex, IconButton, Textarea } from "@chakra-ui/react";
|
||||
import { Check, X } from "lucide-react";
|
||||
import { observer } from "mobx-react-lite";
|
||||
import { Instance } from "mobx-state-tree";
|
||||
import { type Instance } from "mobx-state-tree";
|
||||
import Message from "../../../models/Message";
|
||||
import messageEditorStore from "../../../stores/MessageEditorStore";
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
import React, { useState, useEffect, useCallback, useMemo } from "react";
|
||||
import React, { useState, useEffect, useCallback } from "react";
|
||||
import { buildCodeHighlighter } from "./CodeHighlighter";
|
||||
|
||||
interface CodeBlockProps {
|
||||
|
@@ -8,11 +8,9 @@ import { getModelFamily } from "../../components/chat/lib/SupportedModels";
|
||||
export default function IndexPage() {
|
||||
useEffect(() => {
|
||||
try {
|
||||
let model = localStorage.getItem("recentModel");
|
||||
const model = localStorage.getItem("recentModel");
|
||||
|
||||
if (getModelFamily(model as string)) {
|
||||
clientChatStore.setModel(model as string);
|
||||
}
|
||||
clientChatStore.setModel(model as string);
|
||||
} catch (_) {
|
||||
console.log("using default model");
|
||||
}
|
||||
|
@@ -1,17 +1,17 @@
|
||||
import React, { useContext } from "react";
|
||||
import { useContext, createContext, type ReactNode } from "react";
|
||||
import type { PageContext } from "vike/types";
|
||||
|
||||
export { PageContextProvider };
|
||||
export { usePageContext };
|
||||
|
||||
const Context = React.createContext<PageContext>(undefined as any);
|
||||
const Context = createContext<PageContext>(undefined as any);
|
||||
|
||||
function PageContextProvider({
|
||||
pageContext,
|
||||
children,
|
||||
}: {
|
||||
pageContext: PageContext;
|
||||
children: React.ReactNode;
|
||||
children: ReactNode;
|
||||
}) {
|
||||
return <Context.Provider value={pageContext}>{children}</Context.Provider>;
|
||||
}
|
||||
|
@@ -1,4 +1,4 @@
|
||||
import {types, Instance} from "mobx-state-tree";
|
||||
import {types, type Instance} from "mobx-state-tree";
|
||||
import clientChatStore from "./ClientChatStore";
|
||||
import UserOptionsStore from "./UserOptionsStore";
|
||||
import Message from "../models/Message";
|
||||
|
@@ -1,7 +1,7 @@
|
||||
// ---------------------------
|
||||
// stores/MessagesStore.ts
|
||||
// ---------------------------
|
||||
import { Instance, types } from "mobx-state-tree";
|
||||
import { type Instance, types } from "mobx-state-tree";
|
||||
import Message from "../models/Message";
|
||||
|
||||
export const MessagesStore = types
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// ---------------------------
|
||||
// stores/ModelStore.ts
|
||||
// ---------------------------
|
||||
import { Instance, types } from "mobx-state-tree";
|
||||
import { type Instance, types } from "mobx-state-tree";
|
||||
|
||||
export const ModelStore = types
|
||||
.model("ModelStore", {
|
||||
|
5
packages/client/src/stores/RootDeps.ts
Normal file
5
packages/client/src/stores/RootDeps.ts
Normal file
@@ -0,0 +1,5 @@
|
||||
import type {IMessagesStore} from "./MessagesStore.ts";
|
||||
import type {IUIStore} from "./UIStore.ts";
|
||||
import type {IModelStore} from "./ModelStore.ts";
|
||||
|
||||
export type RootDeps = IMessagesStore & IUIStore & IModelStore;
|
@@ -1,24 +1,14 @@
|
||||
import {
|
||||
getParent,
|
||||
Instance,
|
||||
flow,
|
||||
types,
|
||||
applyAction,
|
||||
} from "mobx-state-tree";
|
||||
import type { IMessagesStore } from "./MessagesStore";
|
||||
import type { IUIStore } from "./UIStore";
|
||||
import type { IModelStore } from "./ModelStore";
|
||||
import {flow, getParent, type Instance, types} from "mobx-state-tree";
|
||||
import UserOptionsStore from "./UserOptionsStore";
|
||||
import Message from "../models/Message";
|
||||
|
||||
interface RootDeps extends IMessagesStore, IUIStore, IModelStore {}
|
||||
import type {RootDeps} from "./RootDeps.ts";
|
||||
|
||||
export const StreamStore = types
|
||||
.model("StreamStore", {
|
||||
streamId: types.optional(types.string, ""),
|
||||
})
|
||||
.volatile(() => ({
|
||||
eventSource: null as EventSource | null,
|
||||
eventSource: undefined as unknown as EventSource,
|
||||
}))
|
||||
.actions((self: any) => { // ← annotate `self` so it isn’t implicitly `any`
|
||||
let root: RootDeps;
|
||||
@@ -83,6 +73,7 @@ export const StreamStore = types
|
||||
}
|
||||
|
||||
const { streamUrl } = (yield response.json()) as { streamUrl: string };
|
||||
|
||||
setEventSource(new EventSource(streamUrl));
|
||||
|
||||
const handleMessage = (event: MessageEvent) => {
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// ---------------------------
|
||||
// stores/UIStore.ts
|
||||
// ---------------------------
|
||||
import { Instance, types } from "mobx-state-tree";
|
||||
import { type Instance, types } from "mobx-state-tree";
|
||||
|
||||
export const UIStore = types
|
||||
.model("UIStore", {
|
||||
|
@@ -1,4 +1,4 @@
|
||||
import { flow, types } from "mobx-state-tree";
|
||||
import { types } from "mobx-state-tree";
|
||||
import ClientChatStore from "./ClientChatStore";
|
||||
import { runInAction } from "mobx";
|
||||
import Cookies from "js-cookie";
|
||||
|
@@ -39,31 +39,31 @@ export default defineConfig(({command}) => {
|
||||
})
|
||||
})
|
||||
*/
|
||||
VitePWA({
|
||||
registerType: 'autoUpdate',
|
||||
devOptions: {
|
||||
enabled: false,
|
||||
},
|
||||
manifest: {
|
||||
name: "open-gsio",
|
||||
short_name: "open-gsio",
|
||||
description: "Assistant"
|
||||
},
|
||||
workbox: {
|
||||
globPatterns: ['**/*.{js,css,html,ico,png,svg}'],
|
||||
navigateFallbackDenylist: [/^\/api\//],
|
||||
}
|
||||
})
|
||||
// VitePWA({
|
||||
// registerType: 'autoUpdate',
|
||||
// devOptions: {
|
||||
// enabled: false,
|
||||
// },
|
||||
// manifest: {
|
||||
// name: "open-gsio",
|
||||
// short_name: "open-gsio",
|
||||
// description: "Assistant"
|
||||
// },
|
||||
// workbox: {
|
||||
// globPatterns: ['**/*.{js,css,html,ico,png,svg}'],
|
||||
// navigateFallbackDenylist: [/^\/api\//],
|
||||
// }
|
||||
// })
|
||||
],
|
||||
server: {
|
||||
port: 3000,
|
||||
proxy: {
|
||||
// proxies requests to worker backend
|
||||
"/api": {
|
||||
target: "http://localhost:3001",
|
||||
target: "http://localhost:3003",
|
||||
},
|
||||
"/fonts": {
|
||||
target: "http://localhost:3001/fonts",
|
||||
target: "http://localhost:3003/fonts",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@@ -1,5 +1,5 @@
|
||||
// Base Message
|
||||
import { Instance, types } from "mobx-state-tree";
|
||||
import { type Instance, types } from "mobx-state-tree";
|
||||
|
||||
export default types
|
||||
.model("Message", {
|
||||
|
@@ -1,17 +1,17 @@
|
||||
import {flow, getSnapshot, types} from 'mobx-state-tree';
|
||||
import OpenAI from 'openai';
|
||||
import ChatSdk from '../lib/chat-sdk.ts';
|
||||
import Message from "../models/Message.ts";
|
||||
import O1Message from "../models/O1Message.ts";
|
||||
import {OpenAiChatSdk} from "../providers/openai.ts";
|
||||
import {GroqChatSdk} from "../providers/groq.ts";
|
||||
import {ClaudeChatSdk} from "../providers/claude.ts";
|
||||
import {FireworksAiChatSdk} from "../providers/fireworks.ts";
|
||||
import handleStreamData from "../lib/handleStreamData.ts";
|
||||
import {GoogleChatSdk} from "../providers/google.ts";
|
||||
import {XaiChatSdk} from "../providers/xai.ts";
|
||||
import {CerebrasSdk} from "../providers/cerebras.ts";
|
||||
import {CloudflareAISdk} from "../providers/cloudflareAi.ts";
|
||||
import ChatSdk from '../lib/chat-sdk';
|
||||
import Message from "../models/Message";
|
||||
import O1Message from "../models/O1Message";
|
||||
import {OpenAiChatSdk} from "../providers/openai";
|
||||
import {GroqChatSdk} from "../providers/groq";
|
||||
import {ClaudeChatSdk} from "../providers/claude";
|
||||
import {FireworksAiChatSdk} from "../providers/fireworks";
|
||||
import handleStreamData from "../lib/handleStreamData";
|
||||
import {GoogleChatSdk} from "../providers/google";
|
||||
import {XaiChatSdk} from "../providers/xai";
|
||||
import {CerebrasSdk} from "../providers/cerebras";
|
||||
import {CloudflareAISdk} from "../providers/cloudflareAi";
|
||||
import {OllamaChatSdk} from "../providers/ollama";
|
||||
import {MlxOmniChatSdk} from "../providers/mlx-omni";
|
||||
import {ProviderRepository} from "../providers/_ProviderRepository";
|
||||
|
Reference in New Issue
Block a user