From 2dcb754f4739551f9ad8dac19cd00a8f7722624b Mon Sep 17 00:00:00 2001 From: Archer <545436317@qq.com> Date: Thu, 7 May 2026 21:33:30 +0800 Subject: [PATCH] fix: ts (#6890) * fix: ts * fix review --- .../service/common/api/{type.ts => type.d.ts} | 2 ++ packages/service/common/bullmq/index.ts | 1 - .../service/common/bullmq/{type.ts => type.d.ts} | 0 packages/service/common/cache/global.d.ts | 7 +++++++ packages/service/common/cache/type.ts | 6 +----- .../service/common/mongo/{type.ts => type.d.ts} | 3 ++- .../service/common/redis/{type.ts => type.d.ts} | 2 ++ packages/service/common/s3/contracts/global.d.ts | 9 +++++++++ packages/service/common/s3/contracts/type.ts | 7 ------- .../service/common/s3/sources/avatar/global.d.ts | 7 +++++++ .../s3/sources/{avatar.ts => avatar/index.ts} | 13 ++++--------- .../service/common/s3/sources/chat/global.d.ts | 7 +++++++ packages/service/common/s3/sources/chat/index.ts | 4 ---- .../service/common/s3/sources/dataset/global.d.ts | 7 +++++++ .../service/common/s3/sources/dataset/index.ts | 4 ---- .../common/s3/sources/helperbot/global.d.ts | 7 +++++++ .../service/common/s3/sources/helperbot/index.ts | 4 ---- .../service/common/s3/sources/rawText/global.d.ts | 7 +++++++ .../service/common/s3/sources/rawText/index.ts | 4 ---- packages/service/common/vectorDB/global.d.ts | 11 +++++++++++ packages/service/common/vectorDB/type.ts | 9 --------- packages/service/core/ai/llm/request.ts | 5 +++-- packages/service/core/ai/llm/utils.ts | 15 ++++++++------- packages/service/core/ai/{type.ts => type.d.ts} | 2 ++ packages/service/core/app/templates/global.d.ts | 8 ++++++++ packages/service/core/app/templates/register.ts | 5 ----- packages/service/package.json | 1 + packages/service/tsconfig.json | 2 +- pnpm-lock.yaml | 3 +++ pro | 2 +- projects/app/test/tsconfig.json | 2 +- projects/app/tsconfig.json | 3 ++- projects/marketplace/test/tsconfig.json | 2 +- projects/marketplace/tsconfig.json | 8 +++++++- 34 files changed, 111 insertions(+), 68 deletions(-) rename packages/service/common/api/{type.ts => type.d.ts} (98%) rename packages/service/common/bullmq/{type.ts => type.d.ts} (100%) create mode 100644 packages/service/common/cache/global.d.ts rename packages/service/common/mongo/{type.ts => type.d.ts} (78%) rename packages/service/common/redis/{type.ts => type.d.ts} (87%) create mode 100644 packages/service/common/s3/contracts/global.d.ts create mode 100644 packages/service/common/s3/sources/avatar/global.d.ts rename packages/service/common/s3/sources/{avatar.ts => avatar/index.ts} (87%) create mode 100644 packages/service/common/s3/sources/chat/global.d.ts create mode 100644 packages/service/common/s3/sources/dataset/global.d.ts create mode 100644 packages/service/common/s3/sources/helperbot/global.d.ts create mode 100644 packages/service/common/s3/sources/rawText/global.d.ts create mode 100644 packages/service/common/vectorDB/global.d.ts rename packages/service/core/ai/{type.ts => type.d.ts} (99%) create mode 100644 packages/service/core/app/templates/global.d.ts diff --git a/packages/service/common/api/type.ts b/packages/service/common/api/type.d.ts similarity index 98% rename from packages/service/common/api/type.ts rename to packages/service/common/api/type.d.ts index 7d924896e9..ad616c7c3a 100644 --- a/packages/service/common/api/type.ts +++ b/packages/service/common/api/type.d.ts @@ -17,3 +17,5 @@ declare global { var concatUsageHandler: (data: ConcatUsageProps) => any; var pushUsageItemsHandler: (data: PushUsageItemsProps) => any; } + +export {}; diff --git a/packages/service/common/bullmq/index.ts b/packages/service/common/bullmq/index.ts index a7311bf680..00f55dd408 100644 --- a/packages/service/common/bullmq/index.ts +++ b/packages/service/common/bullmq/index.ts @@ -7,7 +7,6 @@ import { Worker, type WorkerOptions } from 'bullmq'; -import './type'; import { getLogger, LogCategories } from '../logger'; import { newQueueRedisConnection, newWorkerRedisConnection } from '../redis'; import { delay } from '@fastgpt/global/common/system/utils'; diff --git a/packages/service/common/bullmq/type.ts b/packages/service/common/bullmq/type.d.ts similarity index 100% rename from packages/service/common/bullmq/type.ts rename to packages/service/common/bullmq/type.d.ts diff --git a/packages/service/common/cache/global.d.ts b/packages/service/common/cache/global.d.ts new file mode 100644 index 0000000000..d8d6cd6def --- /dev/null +++ b/packages/service/common/cache/global.d.ts @@ -0,0 +1,7 @@ +import type { SystemCacheType } from './type'; + +declare global { + var systemCache: SystemCacheType; +} + +export {}; diff --git a/packages/service/common/cache/type.ts b/packages/service/common/cache/type.ts index 9f3d51b05e..b68733b56d 100644 --- a/packages/service/common/cache/type.ts +++ b/packages/service/common/cache/type.ts @@ -10,7 +10,7 @@ export type SystemCacheDataType = { [SystemCacheKeyEnum.modelPermission]: null; }; -type SystemCacheType = { +export type SystemCacheType = { [K in SystemCacheKeyEnum]: { versionKey: string; data: SystemCacheDataType[K]; @@ -18,7 +18,3 @@ type SystemCacheType = { devRefresh?: boolean; }; }; - -declare global { - var systemCache: SystemCacheType; -} diff --git a/packages/service/common/mongo/type.ts b/packages/service/common/mongo/type.d.ts similarity index 78% rename from packages/service/common/mongo/type.ts rename to packages/service/common/mongo/type.d.ts index 31704203dd..9e385d1848 100644 --- a/packages/service/common/mongo/type.ts +++ b/packages/service/common/mongo/type.d.ts @@ -1,7 +1,8 @@ import type { Mongoose } from 'mongoose'; -import type { Logger } from 'winston'; declare global { var mongodb: Mongoose | undefined; var mongodbLog: Mongoose | undefined; } + +export {}; diff --git a/packages/service/common/redis/type.ts b/packages/service/common/redis/type.d.ts similarity index 87% rename from packages/service/common/redis/type.ts rename to packages/service/common/redis/type.d.ts index 03e3ecbb1f..ca2d8489d7 100644 --- a/packages/service/common/redis/type.ts +++ b/packages/service/common/redis/type.d.ts @@ -3,3 +3,5 @@ import type Redis from 'ioredis'; declare global { var redisClient: Redis | null; } + +export {}; diff --git a/packages/service/common/s3/contracts/global.d.ts b/packages/service/common/s3/contracts/global.d.ts new file mode 100644 index 0000000000..4f69deb927 --- /dev/null +++ b/packages/service/common/s3/contracts/global.d.ts @@ -0,0 +1,9 @@ +import type { S3BaseBucket } from '../buckets/base'; + +declare global { + var s3BucketMap: { + [key: string]: S3BaseBucket; + }; +} + +export {}; diff --git a/packages/service/common/s3/contracts/type.ts b/packages/service/common/s3/contracts/type.ts index 33fd586700..461beee74d 100644 --- a/packages/service/common/s3/contracts/type.ts +++ b/packages/service/common/s3/contracts/type.ts @@ -1,6 +1,5 @@ import z from 'zod'; import { Readable } from 'node:stream'; -import type { S3BaseBucket } from '../buckets/base'; export const S3MetadataSchema = z.object({ filename: z.string(), @@ -87,9 +86,3 @@ export const UploadFileByBodySchema = z.object({ }); export type UploadFileByBodyParams = z.infer; export type UploadFileByBufferParams = UploadFileByBodyParams; - -declare global { - var s3BucketMap: { - [key: string]: S3BaseBucket; - }; -} diff --git a/packages/service/common/s3/sources/avatar/global.d.ts b/packages/service/common/s3/sources/avatar/global.d.ts new file mode 100644 index 0000000000..77a2950b19 --- /dev/null +++ b/packages/service/common/s3/sources/avatar/global.d.ts @@ -0,0 +1,7 @@ +import type { S3AvatarSource } from '.'; + +declare global { + var avatarBucket: S3AvatarSource; +} + +export {}; diff --git a/packages/service/common/s3/sources/avatar.ts b/packages/service/common/s3/sources/avatar/index.ts similarity index 87% rename from packages/service/common/s3/sources/avatar.ts rename to packages/service/common/s3/sources/avatar/index.ts index 8aba143535..19b058803b 100644 --- a/packages/service/common/s3/sources/avatar.ts +++ b/packages/service/common/s3/sources/avatar/index.ts @@ -1,10 +1,9 @@ -import { S3Sources } from '../contracts/type'; -import { MongoS3TTL } from '../models/ttl'; -import { S3PublicBucket } from '../buckets/public'; -import { avatarAllowedExtensions } from '../utils/uploadConstraints'; import { imageBaseUrl } from '@fastgpt/global/common/file/image/constants'; import type { ClientSession } from 'mongoose'; -import { getFileS3Key } from '../utils'; +import { getFileS3Key } from '../../utils'; +import { MongoS3TTL } from '../../models/ttl'; +import { S3PublicBucket } from '../../buckets/public'; +import { avatarAllowedExtensions } from '../../utils/uploadConstraints'; class S3AvatarSource extends S3PublicBucket { constructor() { @@ -88,7 +87,3 @@ export function getS3AvatarSource() { global.avatarBucket = new S3AvatarSource(); return global.avatarBucket; } - -declare global { - var avatarBucket: S3AvatarSource; -} diff --git a/packages/service/common/s3/sources/chat/global.d.ts b/packages/service/common/s3/sources/chat/global.d.ts new file mode 100644 index 0000000000..73b5b509a7 --- /dev/null +++ b/packages/service/common/s3/sources/chat/global.d.ts @@ -0,0 +1,7 @@ +import type { S3ChatSource } from './index'; + +declare global { + var chatBucket: S3ChatSource; +} + +export {}; diff --git a/packages/service/common/s3/sources/chat/index.ts b/packages/service/common/s3/sources/chat/index.ts index 87418387c8..1d109d4737 100644 --- a/packages/service/common/s3/sources/chat/index.ts +++ b/packages/service/common/s3/sources/chat/index.ts @@ -127,7 +127,3 @@ export function getS3ChatSource() { global.chatBucket = new S3ChatSource(); return global.chatBucket; } - -declare global { - var chatBucket: S3ChatSource; -} diff --git a/packages/service/common/s3/sources/dataset/global.d.ts b/packages/service/common/s3/sources/dataset/global.d.ts new file mode 100644 index 0000000000..be8efcbe4e --- /dev/null +++ b/packages/service/common/s3/sources/dataset/global.d.ts @@ -0,0 +1,7 @@ +import type { S3DatasetSource } from './index'; + +declare global { + var datasetBucket: S3DatasetSource; +} + +export {}; diff --git a/packages/service/common/s3/sources/dataset/index.ts b/packages/service/common/s3/sources/dataset/index.ts index 78af6ffa5e..a77894b6f9 100644 --- a/packages/service/common/s3/sources/dataset/index.ts +++ b/packages/service/common/s3/sources/dataset/index.ts @@ -188,7 +188,3 @@ export function getS3DatasetSource() { global.datasetBucket = new S3DatasetSource(); return global.datasetBucket; } - -declare global { - var datasetBucket: S3DatasetSource; -} diff --git a/packages/service/common/s3/sources/helperbot/global.d.ts b/packages/service/common/s3/sources/helperbot/global.d.ts new file mode 100644 index 0000000000..a07233b71b --- /dev/null +++ b/packages/service/common/s3/sources/helperbot/global.d.ts @@ -0,0 +1,7 @@ +import type { S3HelperBotSource } from './index'; + +declare global { + var helperBotBucket: S3HelperBotSource; +} + +export {}; diff --git a/packages/service/common/s3/sources/helperbot/index.ts b/packages/service/common/s3/sources/helperbot/index.ts index 55738a3514..2c9b1c8d16 100644 --- a/packages/service/common/s3/sources/helperbot/index.ts +++ b/packages/service/common/s3/sources/helperbot/index.ts @@ -100,7 +100,3 @@ export function getS3HelperBotSource() { global.helperBotBucket = new S3HelperBotSource(); return global.helperBotBucket; } - -declare global { - var helperBotBucket: S3HelperBotSource; -} diff --git a/packages/service/common/s3/sources/rawText/global.d.ts b/packages/service/common/s3/sources/rawText/global.d.ts new file mode 100644 index 0000000000..89dcb9518b --- /dev/null +++ b/packages/service/common/s3/sources/rawText/global.d.ts @@ -0,0 +1,7 @@ +import type { S3RawTextSource } from './index'; + +declare global { + var rawTextBucket: S3RawTextSource; +} + +export {}; diff --git a/packages/service/common/s3/sources/rawText/index.ts b/packages/service/common/s3/sources/rawText/index.ts index 01f76353bd..e0326d8770 100644 --- a/packages/service/common/s3/sources/rawText/index.ts +++ b/packages/service/common/s3/sources/rawText/index.ts @@ -81,7 +81,3 @@ export function getS3RawTextSource() { global.rawTextBucket = new S3RawTextSource(); return global.rawTextBucket; } - -declare global { - var rawTextBucket: S3RawTextSource; -} diff --git a/packages/service/common/vectorDB/global.d.ts b/packages/service/common/vectorDB/global.d.ts new file mode 100644 index 0000000000..c757b9e37a --- /dev/null +++ b/packages/service/common/vectorDB/global.d.ts @@ -0,0 +1,11 @@ +import type { Pool as PgPool } from 'pg'; +import type { Pool as MysqlPool } from 'mysql2/promise'; +import type { MilvusClient } from '@zilliz/milvus2-sdk-node'; + +declare global { + var pgClient: PgPool | null; + var obClient: MysqlPool | null; + var milvusClient: MilvusClient | null; +} + +export {}; diff --git a/packages/service/common/vectorDB/type.ts b/packages/service/common/vectorDB/type.ts index 1c96b4696b..8f6ed42c2b 100644 --- a/packages/service/common/vectorDB/type.ts +++ b/packages/service/common/vectorDB/type.ts @@ -1,6 +1,3 @@ -import type { Pool as PgPool } from 'pg'; -import type { Pool as MysqlPool } from 'mysql2/promise'; -import type { MilvusClient } from '@zilliz/milvus2-sdk-node'; import z from 'zod'; // Embedding recall item schema @@ -115,9 +112,3 @@ export interface VectorControllerType { */ getVectorCount(props: GetVectorCountPropsType): Promise; } - -declare global { - var pgClient: PgPool | null; - var obClient: MysqlPool | null; - var milvusClient: MilvusClient | null; -} diff --git a/packages/service/core/ai/llm/request.ts b/packages/service/core/ai/llm/request.ts index f0c330d9ea..daeeb21d57 100644 --- a/packages/service/core/ai/llm/request.ts +++ b/packages/service/core/ai/llm/request.ts @@ -93,7 +93,7 @@ export const createLLMResponse = async ( const requestMessages = await loadRequestMessages({ messages, useVision: useVision && model.vision, - origin: requestOrigin + supportReason: model.reasoning }); // Message process const rewriteMessages = (() => { @@ -102,7 +102,8 @@ export const createLLMResponse = async ( } return requestMessages; })(); - + // console.log(23232323); + // console.dir(rewriteMessages, { depth: null }); const { requestBody, modelData } = await llmCompletionsBodyFormat({ ...body, messages: rewriteMessages diff --git a/packages/service/core/ai/llm/utils.ts b/packages/service/core/ai/llm/utils.ts index ea7fc951ca..35656a7ce8 100644 --- a/packages/service/core/ai/llm/utils.ts +++ b/packages/service/core/ai/llm/utils.ts @@ -95,11 +95,11 @@ export const filterGPTMessageByMaxContext = async ({ export const loadRequestMessages = async ({ messages, useVision = false, - origin + supportReason = false }: { messages: ChatCompletionMessageParam[]; useVision?: boolean; - origin?: string; + supportReason?: boolean; }) => { const parseSystemMessage = ( content: string | ChatCompletionContentPartText[] @@ -265,12 +265,13 @@ export const loadRequestMessages = async ({ const formatAssistantItem = ( item: ChatCompletionAssistantMessageParam & { reasoning_content?: string; - } + }, + supportReason: boolean ) => { return { role: item.role, content: item.content || undefined, - reasoning_content: item.reasoning_content || undefined, + reasoning_content: supportReason ? item.reasoning_content || undefined : undefined, function_call: item.function_call || undefined, name: item.name || undefined, refusal: item.refusal || undefined, @@ -411,8 +412,8 @@ export const loadRequestMessages = async ({ : (formatContent as ChatCompletionContentPartText[]) }; } else if (item.role === ChatCompletionRequestMessageRoleEnum.Assistant) { - if (item.tool_calls || item.function_call || item.reasoning_content) { - return formatAssistantItem(item); + if (item.tool_calls || item.function_call) { + return formatAssistantItem(item, supportReason); } const parseContent = parseAssistantContent(item.content); @@ -433,7 +434,7 @@ export const loadRequestMessages = async ({ if (!formatContent) return; return { - ...formatAssistantItem(item), + ...formatAssistantItem(item, supportReason), content: formatContent }; } else { diff --git a/packages/service/core/ai/type.ts b/packages/service/core/ai/type.d.ts similarity index 99% rename from packages/service/core/ai/type.ts rename to packages/service/core/ai/type.d.ts index 062bd1804f..b6fb0050cb 100644 --- a/packages/service/core/ai/type.ts +++ b/packages/service/core/ai/type.d.ts @@ -52,3 +52,5 @@ declare global { var systemActiveDesensitizedModels: SystemModelItemType[]; var systemDefaultModel: SystemDefaultModelType; } + +export {}; diff --git a/packages/service/core/app/templates/global.d.ts b/packages/service/core/app/templates/global.d.ts new file mode 100644 index 0000000000..f2fa3081c4 --- /dev/null +++ b/packages/service/core/app/templates/global.d.ts @@ -0,0 +1,8 @@ +import type { AppTemplateSchemaType } from '@fastgpt/global/core/app/type'; + +declare global { + var appTemplates: AppTemplateSchemaType[]; + var templatesRefreshTime: number; +} + +export {}; diff --git a/packages/service/core/app/templates/register.ts b/packages/service/core/app/templates/register.ts index 42f58a27bb..4c7cc81c92 100644 --- a/packages/service/core/app/templates/register.ts +++ b/packages/service/core/app/templates/register.ts @@ -74,8 +74,3 @@ export const getAppTemplatesAndLoadThem = async (refresh = false) => { export const isCommercialTemaplte = (templateId: string) => { return templateId.startsWith(AppToolSourceEnum.commercial); }; - -declare global { - var appTemplates: AppTemplateSchemaType[]; - var templatesRefreshTime: number; -} diff --git a/packages/service/package.json b/packages/service/package.json index 729730b015..90f4f9c7d2 100644 --- a/packages/service/package.json +++ b/packages/service/package.json @@ -85,6 +85,7 @@ "@types/lodash": "catalog:", "@types/mime-types": "catalog:", "@types/multer": "^1.4.10", + "@types/node": "catalog:", "@types/node-cron": "^3.0.11", "@types/papaparse": "5.3.7", "@types/pg": "^8.6.6", diff --git a/packages/service/tsconfig.json b/packages/service/tsconfig.json index 5f31851f1d..92d3ea400b 100644 --- a/packages/service/tsconfig.json +++ b/packages/service/tsconfig.json @@ -3,5 +3,5 @@ "compilerOptions": { "moduleResolution": "bundler" }, - "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"] + "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", "**/*.d.ts"] } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 79da3ab3a8..7843b9b025 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -632,6 +632,9 @@ importers: '@types/multer': specifier: ^1.4.10 version: 1.4.12 + '@types/node': + specifier: 'catalog:' + version: 20.17.24 '@types/node-cron': specifier: ^3.0.11 version: 3.0.11 diff --git a/pro b/pro index ee1b1d779d..1dc6ead607 160000 --- a/pro +++ b/pro @@ -1 +1 @@ -Subproject commit ee1b1d779dfa90b36503d0693c97437fd9ba7b6a +Subproject commit 1dc6ead607f6b519226d79fcbc95dfe219e6606e diff --git a/projects/app/test/tsconfig.json b/projects/app/test/tsconfig.json index a999045ddc..fbbd19ee0e 100644 --- a/projects/app/test/tsconfig.json +++ b/projects/app/test/tsconfig.json @@ -28,6 +28,6 @@ "#fastgpt/app/test/*": ["./*"], } }, - "include": ["**/*.test.ts"], + "include": ["**/*.test.ts", "../../../packages/service/**/*.d.ts"], "exclude": ["**/node_modules"] } diff --git a/projects/app/tsconfig.json b/projects/app/tsconfig.json index 61f99c5bf3..7364df900c 100644 --- a/projects/app/tsconfig.json +++ b/projects/app/tsconfig.json @@ -13,7 +13,8 @@ "**/*.ts", "**/*.tsx", "../../packages/**/*.ts", - "../../packages/**/*.tsx" + "../../packages/**/*.tsx", + "../../packages/**/*.d.ts" ], "exclude": [ "**/*.test.ts", diff --git a/projects/marketplace/test/tsconfig.json b/projects/marketplace/test/tsconfig.json index 3cc93b43e5..c88ac588e2 100644 --- a/projects/marketplace/test/tsconfig.json +++ b/projects/marketplace/test/tsconfig.json @@ -28,6 +28,6 @@ "#fastgpt/marketplace/test/*": ["./*"], } }, - "include": ["**/*.test.ts"], + "include": ["**/*.test.ts", "../../../packages/service/**/*.d.ts"], "exclude": ["**/node_modules"] } diff --git a/projects/marketplace/tsconfig.json b/projects/marketplace/tsconfig.json index 0669d9cb06..7608faddcb 100644 --- a/projects/marketplace/tsconfig.json +++ b/projects/marketplace/tsconfig.json @@ -6,7 +6,13 @@ "@/*": ["./src/*"] } }, - "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", "../../packages/**/*.ts"], + "include": [ + "next-env.d.ts", + "**/*.ts", + "**/*.tsx", + "../../packages/**/*.ts", + "../../packages/**/*.d.ts" + ], "exclude": [ "**/*.test.ts", "../../packages/**/vitest.config.ts",