From 7fc70bc5ce252b574e4dd204ec3fe4abfc0b8c41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=89=8B=E7=93=9C=E4=B8=80=E5=8D=81=E9=9B=AA?= Date: Thu, 5 Mar 2026 14:36:48 +0800 Subject: [PATCH] Use Type.Omit(..., []) in schema intersections & fix: #1674 Replace direct schema references inside Type.Intersect with Type.Omit(schema, []) in two places (OB11MessageSchema and OB11MessageImageSchema). This avoids reusing the original schema metadata/$id when intersecting, preventing duplicate-id or type-merging issues with TypeBox/OpenAPI generation. --- packages/napcat-onebot/action/schemas.ts | 2 +- packages/napcat-onebot/types/message.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/napcat-onebot/action/schemas.ts b/packages/napcat-onebot/action/schemas.ts index a9aa114b..b7899921 100644 --- a/packages/napcat-onebot/action/schemas.ts +++ b/packages/napcat-onebot/action/schemas.ts @@ -85,7 +85,7 @@ export const lastestMessageSchema = Type.Object({ }, { $id: 'OB11LatestMessage', description: '最后一条消息' }); export const OB11MessageSchema = Type.Intersect([ - lastestMessageSchema, + Type.Omit(lastestMessageSchema, []), Type.Object({ message_id: Type.Number({ description: '消息ID' }), message_seq: Type.Number({ description: '消息序列号' }), diff --git a/packages/napcat-onebot/types/message.ts b/packages/napcat-onebot/types/message.ts index 0dda0597..c4b047ac 100644 --- a/packages/napcat-onebot/types/message.ts +++ b/packages/napcat-onebot/types/message.ts @@ -94,7 +94,7 @@ export const OB11MessageFileBaseSchema = Type.Object({ export const OB11MessageImageSchema = Type.Object({ type: Type.Literal(OB11MessageDataType.image), data: Type.Intersect([ - FileBaseDataSchema, + Type.Omit(FileBaseDataSchema, []), Type.Object({ summary: Type.Optional(Type.String({ description: '图片摘要' })), sub_type: Type.Optional(Type.Number({ description: '图片子类型' })),