mirror of
https://github.com/geoffsee/open-gsio.git
synced 2025-09-08 22:56:46 +00:00
Remove unused components and assets from the project
Deleted unused components (Attachments, CustomMarkdownRenderer, EnableSearchButton, FlyoutSubMenu) and associated styles (katex.css) to streamline the codebase. This cleanup helps reduce technical debt and improve project maintainability.
This commit is contained in:

committed by
Geoff Seemueller

parent
d90ab65b04
commit
ceeefeff14
88
src/components/chat/lib/SupportedModels.ts
Normal file
88
src/components/chat/lib/SupportedModels.ts
Normal file
@@ -0,0 +1,88 @@
|
||||
const SUPPORTED_MODELS_GROUPS = {
|
||||
openai: [
|
||||
// "o1-preview",
|
||||
// "o1-mini",
|
||||
// "gpt-4o",
|
||||
// "gpt-3.5-turbo"
|
||||
],
|
||||
groq: [
|
||||
// "mixtral-8x7b-32768",
|
||||
// "deepseek-r1-distill-llama-70b",
|
||||
"meta-llama/llama-4-scout-17b-16e-instruct",
|
||||
"gemma2-9b-it",
|
||||
"mistral-saba-24b",
|
||||
// "qwen-2.5-32b",
|
||||
"llama-3.3-70b-versatile",
|
||||
// "llama-3.3-70b-versatile"
|
||||
// "llama-3.1-70b-versatile",
|
||||
// "llama-3.3-70b-versatile"
|
||||
],
|
||||
cerebras: ["llama-3.3-70b"],
|
||||
claude: [
|
||||
// "claude-3-5-sonnet-20241022",
|
||||
// "claude-3-opus-20240229"
|
||||
],
|
||||
fireworks: [
|
||||
// "llama-v3p1-405b-instruct",
|
||||
// "llama-v3p1-70b-instruct",
|
||||
// "llama-v3p2-90b-vision-instruct",
|
||||
// "mixtral-8x22b-instruct",
|
||||
// "mythomax-l2-13b",
|
||||
// "yi-large"
|
||||
],
|
||||
google: [
|
||||
// "gemini-2.0-flash-exp",
|
||||
// "gemini-1.5-flash",
|
||||
// "gemini-exp-1206",
|
||||
// "gemini-1.5-pro"
|
||||
],
|
||||
xai: [
|
||||
// "grok-beta",
|
||||
// "grok-2",
|
||||
// "grok-2-1212",
|
||||
// "grok-2-latest",
|
||||
// "grok-beta"
|
||||
],
|
||||
cloudflareAI: [
|
||||
"llama-3.2-3b-instruct", // max_tokens
|
||||
"llama-3-8b-instruct", // max_tokens
|
||||
"llama-3.1-8b-instruct-fast", // max_tokens
|
||||
"deepseek-math-7b-instruct",
|
||||
"deepseek-coder-6.7b-instruct-awq",
|
||||
"hermes-2-pro-mistral-7b",
|
||||
"openhermes-2.5-mistral-7b-awq",
|
||||
"mistral-7b-instruct-v0.2",
|
||||
"neural-chat-7b-v3-1-awq",
|
||||
"openchat-3.5-0106",
|
||||
// "gemma-7b-it",
|
||||
],
|
||||
};
|
||||
|
||||
export type SupportedModel =
|
||||
| keyof typeof SUPPORTED_MODELS_GROUPS
|
||||
| (typeof SUPPORTED_MODELS_GROUPS)[keyof typeof SUPPORTED_MODELS_GROUPS][number];
|
||||
|
||||
export type ModelFamily = keyof typeof SUPPORTED_MODELS_GROUPS;
|
||||
|
||||
function getModelFamily(model: string): ModelFamily | undefined {
|
||||
return Object.keys(SUPPORTED_MODELS_GROUPS)
|
||||
.filter((family) => {
|
||||
return SUPPORTED_MODELS_GROUPS[
|
||||
family as keyof typeof SUPPORTED_MODELS_GROUPS
|
||||
].includes(model.trim());
|
||||
})
|
||||
.at(0) as ModelFamily | undefined;
|
||||
}
|
||||
|
||||
const SUPPORTED_MODELS = [
|
||||
// ...SUPPORTED_MODELS_GROUPS.xai,
|
||||
// ...SUPPORTED_MODELS_GROUPS.claude,
|
||||
// ...SUPPORTED_MODELS_GROUPS.google,
|
||||
...SUPPORTED_MODELS_GROUPS.groq,
|
||||
...SUPPORTED_MODELS_GROUPS.fireworks,
|
||||
// ...SUPPORTED_MODELS_GROUPS.openai,
|
||||
...SUPPORTED_MODELS_GROUPS.cerebras,
|
||||
...SUPPORTED_MODELS_GROUPS.cloudflareAI,
|
||||
];
|
||||
|
||||
export { SUPPORTED_MODELS, SUPPORTED_MODELS_GROUPS, getModelFamily };
|
33
src/components/chat/lib/domPurify.ts
Normal file
33
src/components/chat/lib/domPurify.ts
Normal file
@@ -0,0 +1,33 @@
|
||||
import DOMPurify from "isomorphic-dompurify";
|
||||
|
||||
function domPurify(dirty: string) {
|
||||
return DOMPurify.sanitize(dirty, {
|
||||
USE_PROFILES: { html: true },
|
||||
ALLOWED_TAGS: [
|
||||
"b",
|
||||
"i",
|
||||
"u",
|
||||
"a",
|
||||
"p",
|
||||
"span",
|
||||
"div",
|
||||
"table",
|
||||
"thead",
|
||||
"tbody",
|
||||
"tr",
|
||||
"td",
|
||||
"th",
|
||||
"ul",
|
||||
"ol",
|
||||
"li",
|
||||
"code",
|
||||
"pre",
|
||||
],
|
||||
ALLOWED_ATTR: ["href", "src", "alt", "title", "class", "style"],
|
||||
FORBID_TAGS: ["script", "iframe"],
|
||||
KEEP_CONTENT: true,
|
||||
SAFE_FOR_TEMPLATES: true,
|
||||
});
|
||||
}
|
||||
|
||||
export default domPurify;
|
18
src/components/chat/lib/exportConversationAsMarkdown.ts
Normal file
18
src/components/chat/lib/exportConversationAsMarkdown.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
// Function to generate a Markdown representation of the current conversation
|
||||
import { type IMessage } from "../../../stores/ClientChatStore";
|
||||
import { Instance } from "mobx-state-tree";
|
||||
|
||||
export function formatConversationMarkdown(
|
||||
messages: Instance<typeof IMessage>[],
|
||||
): string {
|
||||
return messages
|
||||
.map((message) => {
|
||||
if (message.role === "user") {
|
||||
return `**You**: ${message.content}`;
|
||||
} else if (message.role === "assistant") {
|
||||
return `**Geoff's AI**: ${message.content}`;
|
||||
}
|
||||
return "";
|
||||
})
|
||||
.join("\n\n");
|
||||
}
|
Reference in New Issue
Block a user