Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -389,7 +389,7 @@ In addition, these plugins are not limited to news aggregation, but can also ext
| [Bing_websearch](https://lobechat.com/discover/plugin/Bingsearch-identifier)<br/><sup>By **FineHow** on **2024-12-22**</sup> | Search for information from the internet base BingApi<br/>`bingsearch` |
| [Google CSE](https://lobechat.com/discover/plugin/google-cse)<br/><sup>By **vsnthdev** on **2024-12-02**</sup> | Searches Google through their official CSE API.<br/>`web` `search` |

> 📊 Total plugins: [<kbd>**42**</kbd>](https://lobechat.com/discover/plugins)
> 📊 Total plugins: [<kbd>**41**</kbd>](https://lobechat.com/discover/plugins)

<!-- PLUGIN LIST -->

Expand Down
2 changes: 1 addition & 1 deletion README.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -382,7 +382,7 @@ LobeChat 的插件生态系统是其核心功能的重要扩展,它极大地
| [必应网页搜索](https://lobechat.com/discover/plugin/Bingsearch-identifier)<br/><sup>By **FineHow** on **2024-12-22**</sup> | 通过 BingApi 搜索互联网上的信息<br/>`bingsearch` |
| [谷歌自定义搜索引擎](https://lobechat.com/discover/plugin/google-cse)<br/><sup>By **vsnthdev** on **2024-12-02**</sup> | 通过他们的官方自定义搜索引擎 API 搜索谷歌。<br/>`网络` `搜索` |

> 📊 Total plugins: [<kbd>**42**</kbd>](https://lobechat.com/discover/plugins)
> 📊 Total plugins: [<kbd>**41**</kbd>](https://lobechat.com/discover/plugins)

<!-- PLUGIN LIST -->

Expand Down
4 changes: 2 additions & 2 deletions packages/database/src/models/__tests__/generation.test.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
// @vitest-environment node
import { AsyncTaskStatus, ImageGenerationAsset } from '@lobechat/types';
import { eq } from 'drizzle-orm';
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';

import { LobeChatDatabase } from '../../type';import { AsyncTaskStatus } from '@/types/asyncTask';
import { FileSource } from '@/types/files';
import { ImageGenerationAsset } from '@/types/generation';

import {
NewGeneration,
Expand All @@ -15,6 +14,7 @@ import {
generations,
users,
} from '../../schemas';
import { LobeChatDatabase } from '../../type';
import { GenerationModel } from '../generation';
import { getTestDB } from './_util';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
// @vitest-environment node
import { GenerationConfig } from '@lobechat/types';
import { eq } from 'drizzle-orm';
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';

import { AsyncTaskStatus } from '@/types/asyncTask';
import { GenerationConfig } from '@/types/generation';

import {
NewGenerationBatch,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
// @vitest-environment node
import { ImageGenerationTopic } from '@lobechat/types';
import { eq } from 'drizzle-orm';
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';

import { LobeChatDatabase } from '../../type';import { FileService } from '@/server/services/file';
import { ImageGenerationTopic } from '@/types/generation';

import { generationBatches, generationTopics, generations, users } from '../../schemas';
import { GenerationTopicItem } from '../../schemas/generation';
import { LobeChatDatabase } from '../../type';
import { GenerationTopicModel } from '../generationTopic';
import { getTestDB } from './_util';

Expand Down
2 changes: 1 addition & 1 deletion packages/database/src/models/__tests__/message.test.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { MessageItem } from '@lobechat/types';
import dayjs from 'dayjs';
import { eq } from 'drizzle-orm';
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';

import { MessageItem } from '@/types/message';
import { uuid } from '@/utils/uuid';

import { getTestDB } from '../../models/__tests__/_util';
Expand Down
7 changes: 3 additions & 4 deletions packages/database/src/models/asyncTask.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
import { and, eq, inArray, lt } from 'drizzle-orm';

import { LobeChatDatabase } from '../type';
import {
AsyncTaskError,
AsyncTaskErrorType,
AsyncTaskStatus,
AsyncTaskType,
} from '@/types/asyncTask';
} from '@lobechat/types';
import { and, eq, inArray, lt } from 'drizzle-orm';

import { AsyncTaskSelectItem, NewAsyncTaskItem, asyncTasks } from '../schemas';
import { LobeChatDatabase } from '../type';

// set timeout to about 5 minutes, and give 2s padding time
export const ASYNC_TASK_TIMEOUT = 298 * 1000;
Expand Down
4 changes: 2 additions & 2 deletions packages/database/src/models/chatGroup.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ import {
NewChatGroupAgent,
chatGroups,
chatGroupsAgents,
} from '@/database/schemas';
import { LobeChatDatabase } from '@/database/type';
} from '../schemas';
import { LobeChatDatabase } from '../type';

export class ChatGroupModel {
private userId: string;
Expand Down
5 changes: 2 additions & 3 deletions packages/database/src/models/chunk.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
import { ChunkMetadata, FileChunk } from '@lobechat/types';
import { and, asc, cosineDistance, count, desc, eq, inArray, isNull, sql } from 'drizzle-orm';
import { chunk } from 'lodash-es';

import { LobeChatDatabase } from '../type';
import { ChunkMetadata, FileChunk } from '@/types/chunk';

import {
NewChunkItem,
NewUnstructuredChunkItem,
Expand All @@ -13,6 +11,7 @@ import {
files,
unstructuredChunks,
} from '../schemas';
import { LobeChatDatabase } from '../type';

export class ChunkModel {
private userId: string;
Expand Down
2 changes: 1 addition & 1 deletion packages/database/src/models/drizzleMigration.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { MigrationTableItem } from '@lobechat/types';
import { sql } from 'drizzle-orm';

import { LobeChatDatabase } from '../type';
import { MigrationTableItem } from '@/types/clientDB';

export class DrizzleMigrationModel {
private db: LobeChatDatabase;
Expand Down
3 changes: 1 addition & 2 deletions packages/database/src/models/file.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
import { FilesTabs, QueryFileListParams, SortType } from '@lobechat/types';
import { and, asc, count, desc, eq, ilike, inArray, like, notExists, or, sum } from 'drizzle-orm';
import type { PgTransaction } from 'drizzle-orm/pg-core';

import { FilesTabs, QueryFileListParams, SortType } from '@/types/files';

import {
FileItem,
NewFile,
Expand Down
12 changes: 8 additions & 4 deletions packages/database/src/models/generation.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
import {
AsyncTaskError,
AsyncTaskStatus,
FileSource,
Generation,
ImageGenerationAsset,
} from '@lobechat/types';
import debug from 'debug';
import { and, eq } from 'drizzle-orm';

import { LobeChatDatabase, Transaction } from '../type';
import { FileService } from '@/server/services/file';
import { AsyncTaskError, AsyncTaskStatus } from '@/types/asyncTask';
import { FileSource } from '@/types/files';
import { Generation, ImageGenerationAsset } from '@/types/generation';

import { NewFile } from '../schemas';
import {
Expand All @@ -14,6 +17,7 @@ import {
NewGeneration,
generations,
} from '../schemas/generation';
import { LobeChatDatabase, Transaction } from '../type';
import { FileModel } from './file';

// Create debug logger
Expand Down
2 changes: 1 addition & 1 deletion packages/database/src/models/generationBatch.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { Generation, GenerationAsset, GenerationBatch, GenerationConfig } from '@lobechat/types';
import debug from 'debug';
import { and, eq } from 'drizzle-orm';

import { FileService } from '@/server/services/file';
import { Generation, GenerationAsset, GenerationBatch, GenerationConfig } from '@/types/generation';

import {
GenerationBatchItem,
Expand Down
4 changes: 2 additions & 2 deletions packages/database/src/models/generationTopic.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { GenerationAsset, ImageGenerationTopic } from '@lobechat/types';
import { and, desc, eq } from 'drizzle-orm';

import { LobeChatDatabase } from '../type';
import { FileService } from '@/server/services/file';
import { GenerationAsset, ImageGenerationTopic } from '@/types/generation';

import { GenerationTopicItem, generationTopics } from '../schemas/generation';
import { LobeChatDatabase } from '../type';

export class GenerationTopicModel {
private userId: string;
Expand Down
5 changes: 2 additions & 3 deletions packages/database/src/models/knowledgeBase.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import { KnowledgeBaseItem } from '@lobechat/types';
import { and, desc, eq, inArray } from 'drizzle-orm';

import { LobeChatDatabase } from '../type';
import { KnowledgeBaseItem } from '@/types/knowledgeBase';

import { NewKnowledgeBase, knowledgeBaseFiles, knowledgeBases } from '../schemas';
import { LobeChatDatabase } from '../type';

export class KnowledgeBaseModel {
private userId: string;
Expand Down
18 changes: 8 additions & 10 deletions packages/database/src/models/session.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
import { DEFAULT_AGENT_CONFIG, DEFAULT_INBOX_AVATAR, INBOX_SESSION_ID } from '@lobechat/const';
import {
ChatSessionList,
LobeAgentConfig,
LobeAgentSession,
LobeGroupSession,
SessionRankItem,
} from '@lobechat/types';
import {
Column,
and,
Expand All @@ -15,16 +23,6 @@ import {
} from 'drizzle-orm';
import type { PartialDeep } from 'type-fest';

import { DEFAULT_INBOX_AVATAR } from '@/const/meta';
import { INBOX_SESSION_ID } from '@/const/session';
import { DEFAULT_AGENT_CONFIG } from '@/const/settings';
import { LobeAgentConfig } from '@/types/agent';
import {
ChatSessionList,
LobeAgentSession,
LobeGroupSession,
SessionRankItem,
} from '@/types/session';
import { merge } from '@/utils/merge';

import {
Expand Down
5 changes: 2 additions & 3 deletions packages/database/src/models/thread.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import { CreateThreadParams, ThreadStatus } from '@lobechat/types';
import { and, desc, eq } from 'drizzle-orm';

import { LobeChatDatabase } from '../type';
import { CreateThreadParams, ThreadStatus } from '@/types/topic';

import { ThreadItem, threads } from '../schemas';
import { LobeChatDatabase } from '../type';

const queryColumns = {
createdAt: threads.createdAt,
Expand Down
4 changes: 1 addition & 3 deletions packages/database/src/models/topic.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
import { MessageItem, TopicRankItem } from '@lobechat/types';
import { and, count, desc, eq, gt, ilike, inArray, isNull, or, sql } from 'drizzle-orm';

import { MessageItem } from '@/types/message';
import { TopicRankItem } from '@/types/topic';

import { TopicItem, messages, topics } from '../schemas';
import { LobeChatDatabase } from '../type';
import { genEndDateWhere, genRangeWhere, genStartDateWhere, genWhere } from '../utils/genWhere';
Expand Down
3 changes: 1 addition & 2 deletions packages/database/src/models/user.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
import { UserGuide, UserKeyVaults, UserPreference, UserSettings } from '@lobechat/types';
import { TRPCError } from '@trpc/server';
import dayjs from 'dayjs';
import { eq } from 'drizzle-orm';
import type { AdapterAccount } from 'next-auth/adapters';
import type { PartialDeep } from 'type-fest';

import { UserGuide, UserPreference } from '@/types/user';
import { UserKeyVaults, UserSettings } from '@/types/user/settings';
import { merge } from '@/utils/merge';
import { today } from '@/utils/time';

Expand Down
3 changes: 1 addition & 2 deletions packages/database/src/schemas/generation.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
/* eslint-disable sort-keys-fix/sort-keys-fix */
import { ImageGenerationAsset } from '@lobechat/types';
import { integer, jsonb, pgTable, text, uuid, varchar } from 'drizzle-orm/pg-core';
import { createInsertSchema } from 'drizzle-zod';

import { ImageGenerationAsset } from '@/types/generation';

import { idGenerator } from '../utils/idGenerator';
import { timestamps } from './_helpers';
import { AsyncTaskSelectItem, asyncTasks } from './asyncTask';
Expand Down
4 changes: 1 addition & 3 deletions packages/database/src/schemas/message.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
/* eslint-disable sort-keys-fix/sort-keys-fix */
import { GroundingSearch, ModelReasoning } from '@lobechat/types';
import {
boolean,
index,
Expand All @@ -12,9 +13,6 @@ import {
} from 'drizzle-orm/pg-core';
import { createInsertSchema, createSelectSchema } from 'drizzle-zod';

import { ModelReasoning } from '@/types/message';
import { GroundingSearch } from '@/types/search';

import { idGenerator } from '../utils/idGenerator';
import { timestamps, varchar255 } from './_helpers';
import { agents } from './agent';
Expand Down
3 changes: 1 addition & 2 deletions packages/model-runtime/src/core/streams/anthropic.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import Anthropic from '@anthropic-ai/sdk';
import type { Stream } from '@anthropic-ai/sdk/streaming';

import { ChatCitationItem } from '@/types/message';
import { ChatCitationItem } from '@lobechat/types';

import { ChatStreamCallbacks } from '../../types';
import { convertAnthropicUsage } from '../usageConverters';
Expand Down
3 changes: 1 addition & 2 deletions packages/model-runtime/src/core/streams/protocol.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { ChatCitationItem, ModelSpeed, ModelUsage } from '@lobechat/types';
import type { Pricing } from 'model-bank';

import { ChatCitationItem, ModelSpeed, ModelUsage } from '@/types/message';

import { parseToolCalls } from '../../helpers';
import { ChatStreamCallbacks } from '../../types';
import { AgentRuntimeErrorType } from '../../types/error';
Expand Down
3 changes: 1 addition & 2 deletions packages/model-runtime/src/core/usageConverters/anthropic.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import Anthropic from '@anthropic-ai/sdk';

import { ModelUsage } from '@/types/message';
import { ModelUsage } from '@lobechat/types';

import { ChatPayloadForTransformStream } from '../streams/protocol';
import { withUsageCost } from './utils/withUsageCost';
Expand Down
3 changes: 1 addition & 2 deletions packages/model-runtime/src/core/usageConverters/google-ai.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,9 @@ import {
MediaModality,
ModalityTokenCount,
} from '@google/genai';
import { ModelUsage } from '@lobechat/types';
import type { Pricing } from 'model-bank';

import { ModelUsage } from '@/types/message';

import { withUsageCost } from './utils/withUsageCost';

const getTokenCount = (details: ModalityTokenCount[] | undefined, modality: MediaModality) => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
import { ModelTokensUsage } from '@lobechat/types';
import { Pricing } from 'model-bank';
import anthropicChatModels from 'model-bank/anthropic';
import googleChatModels from 'model-bank/google';
import lobehubChatModels from 'model-bank/lobehub';
import openaiChatModels from 'model-bank/openai';
import { describe, expect, it } from 'vitest';

import { ModelTokensUsage } from '@/types/message';

import { computeChatCost } from './computeChatCost';

describe('computeChatPricing', () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
/* eslint-disable sort-keys-fix/sort-keys-fix */
import { CREDITS_PER_DOLLAR, USD_TO_CNY } from '@lobechat/const/currency';
import { ModelTokensUsage } from '@lobechat/types';
import debug from 'debug';
import {
FixedPricingUnit,
Expand All @@ -10,8 +11,6 @@ import {
TieredPricingUnit,
} from 'model-bank';

import { ModelTokensUsage } from '@/types/message';

const log = debug('lobe-cost:computeChatPricing');

export interface PricingUnitBreakdown {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import type { ModelUsage } from '@lobechat/types';
import type { Pricing } from 'model-bank';

import type { ModelUsage } from '@/types/message';

import { computeChatCost } from './computeChatCost';
import type { ComputeChatCostOptions } from './computeChatCost';

Expand Down
3 changes: 1 addition & 2 deletions packages/model-runtime/src/types/image.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
/* eslint-disable typescript-sort-keys/interface */
import { ModelUsage } from '@lobechat/types';
import { RuntimeImageGenParams } from 'model-bank';

import { ModelUsage } from '@/types/message';

export type CreateImagePayload = {
model: string;
params: RuntimeImageGenParams;
Expand Down
3 changes: 1 addition & 2 deletions packages/prompts/src/chains/summaryTitle.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import { ChatMessage } from '@/types/message/chat';
import { ChatStreamPayload, OpenAIChatMessage } from '@/types/openai/chat';
import { ChatMessage, ChatStreamPayload, OpenAIChatMessage } from '@lobechat/types';

export const chainSummaryTitle = (
messages: (ChatMessage | OpenAIChatMessage)[],
Expand Down
8 changes: 4 additions & 4 deletions packages/types/src/exportConfig.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { ChatMessage } from '@/types/message';
import { LobeSessions, SessionGroupItem } from '@/types/session';
import { ChatTopic } from '@/types/topic';
import { UserSettings } from '@/types/user/settings';
import { ChatMessage } from './message';
import { LobeSessions, SessionGroupItem } from './session';
import { ChatTopic } from './topic';
import { UserSettings } from './user/settings';

// ---------- TODO: this file need to be deleted in V2 ---------- //

Expand Down
Loading
Loading