Skip to content

Commit 8eecdf0

Browse files
committed
refactor
1 parent f8e1476 commit 8eecdf0

File tree

7 files changed

+33
-39
lines changed

7 files changed

+33
-39
lines changed

src/assets/styles/_base.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,5 +60,5 @@ a {
6060

6161
::-webkit-scrollbar-thumb {
6262
background: var(--theme-scrollbar-thumb);
63-
border-radius: 4px;
63+
border-radius: 2px;
6464
}
Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
.run-query-message {
2+
display: flex;
3+
flex-direction: column;
4+
gap: 0.5rem;
25
.view-more-btn {
3-
margin-top: 0.5rem;
6+
width: max-content;
47
}
58
}

src/components/ApiKeyForm.vue

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454

5555
<script lang="ts">
5656
import { PropType } from "vue";
57-
import { Providers, ProviderId } from "../providers/modelFactory";
57+
import { Providers, ProviderId, BaseProvider } from "../providers";
5858
import { mapState } from "pinia";
5959
import { useProviderStore } from "../store";
6060
@@ -91,15 +91,16 @@ export default {
9191
...mapState(useProviderStore, [
9292
'messages',
9393
]),
94-
providers() {
94+
providers(): (typeof BaseProvider)[] {
95+
const providers = Object.keys(Providers).map((key) => Providers[key]);
9596
if (import.meta.env.MODE === "development") {
96-
return Providers;
97+
return providers;
9798
}
98-
return Providers.filter((p) => p.id !== "mock");
99+
return providers.filter((p) => p.id !== "mock");
99100
},
100101
selectedProviderName() {
101102
return (
102-
this.providers.find((p) => p.id === this.selectedProviderId)?.label ||
103+
this.providers.find((p) => p.id === this.selectedProviderId)?.displayName ||
103104
""
104105
);
105106
},

src/components/ChatInterface.vue

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,6 @@
145145
</template>
146146

147147
<script lang="ts">
148-
import { Providers as UIProviders } from "../providers/modelFactory";
149148
import { mapState, mapActions, mapGetters } from "pinia";
150149
import { useProviderStore } from "../store";
151150
import Message from "./Message.vue";
@@ -200,9 +199,6 @@ export default {
200199
...mapGetters(useProviderStore, [
201200
"canSendMessage",
202201
]),
203-
providers() {
204-
return UIProviders;
205-
},
206202
navigatingHistory() {
207203
return this.historyIndex === this.inputHistory.length;
208204
},

src/providers/index.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import { ClaudeProvider } from "./ClaudeProvider";
2+
import { MockProvider } from "./MockProvider";
3+
4+
export type { BaseProvider } from "./BaseModelProvider";
5+
6+
export type ProviderId = keyof typeof Providers;
7+
8+
export const Providers = {
9+
claude: ClaudeProvider,
10+
mock: MockProvider,
11+
}
12+
13+
export function getProviderIds() {
14+
15+
}

src/providers/modelFactory.ts

Lines changed: 0 additions & 26 deletions
This file was deleted.

src/store.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { defineStore } from "pinia";
22
import { STORAGE_KEYS } from "./config";
33
import { IModel } from "./types";
44
import _ from "lodash";
5-
import { createProvider, ProviderId } from "./providers/modelFactory";
5+
import { ProviderId, Providers } from "./providers";
66
import {
77
BaseMessage,
88
HumanMessage,
@@ -106,7 +106,12 @@ export const useProviderStore = defineStore("providers", {
106106
if (this.conversationTitle) {
107107
this.isGeneratingConversationTitle = true;
108108
}
109-
this.provider = await createProvider(this.providerId, this.apiKey);
109+
const providerClass = Providers[this.providerId];
110+
if (!providerClass) {
111+
throw new Error(`Unknown provider: ${this.providerId}`);
112+
}
113+
this.provider = new providerClass();
114+
await this.provider.initialize(this.apiKey);
110115
this.models = this.provider.models;
111116
let modelId = this.models[0].id;
112117
const storedModelId = localStorage.getItem(STORAGE_KEYS.MODEL);

0 commit comments

Comments
 (0)