This commit is contained in:
lloydzhou
2024-08-30 23:39:08 +08:00
parent 271f58d9cf
commit 9326ff9d08
10 changed files with 47 additions and 28 deletions

View File

@@ -97,7 +97,7 @@ import {
REQUEST_TIMEOUT_MS,
UNFINISHED_INPUT,
ServiceProvider,
Plugin,
ArtifactsPlugin,
} from "../constant";
import { Avatar } from "./emoji";
import { ContextPrompts, MaskAvatar, MaskConfig } from "./mask";
@@ -738,22 +738,23 @@ export function ChatActions(props: {
items={[
{
title: Locale.Plugin.Artifacts,
value: Plugin.Artifacts,
value: ArtifactsPlugin.Artifacts as string,
},
].concat(
pluginStore.getAll().map((item) => ({
title: `${item.title}@${item.version}`,
value: item.id,
// @ts-ignore
title: `${item?.title}@${item?.version}`,
// @ts-ignore
value: item?.id,
})),
)}
onClose={() => setShowPluginSelector(false)}
onSelection={(s) => {
const plugin = s[0];
chatStore.updateCurrentSession((session) => {
session.mask.plugin = s;
session.mask.plugin = s as string[];
});
if (s.includes(Plugin.Artifacts)) {
showToast(Plugin.Artifacts);
if (s.includes(ArtifactsPlugin.Artifacts)) {
showToast(ArtifactsPlugin.Artifacts);
}
}}
/>

View File

@@ -19,7 +19,7 @@ import {
HTMLPreview,
HTMLPreviewHander,
} from "./artifacts";
import { Plugin } from "../constant";
import { ArtifactsPlugin } from "../constant";
import { useChatStore } from "../store";
import { IconButton } from "./button";
@@ -95,7 +95,7 @@ export function PreCode(props: { children: any }) {
}, 600);
const enableArtifacts = useMemo(
() => plugins?.includes(Plugin.Artifacts),
() => plugins?.includes(ArtifactsPlugin.Artifacts),
[plugins],
);

View File

@@ -46,8 +46,8 @@ export function PluginPage() {
const onSearch = (text: string) => {
setSearchText(text);
if (text.length > 0) {
const result = allPlugins.filter((m) =>
m.title.toLowerCase().includes(text.toLowerCase()),
const result = allPlugins.filter(
(m) => m?.title.toLowerCase().includes(text.toLowerCase()),
);
setSearchPlugins(result);
} else {
@@ -63,7 +63,9 @@ export function PluginPage() {
const onChangePlugin = useDebouncedCallback((editingPlugin, e) => {
const content = e.target.innerText;
try {
const api = new OpenAPIClientAxios({ definition: yaml.load(content) });
const api = new OpenAPIClientAxios({
definition: yaml.load(content) as any,
});
api
.init()
.then(() => {