feat(image): 新建 knowai-core:1.0.0 镜像并完成推送
Some checks reported errors
continuous-integration/drone/push Build was killed
Some checks reported errors
continuous-integration/drone/push Build was killed
- 搭建 api、auth、utils 等逻辑模块 - 通过 tsc、eslint、vitest 测试验证 BREAKING CHANGE: 新镜像分支
This commit is contained in:
96
types/chat/api.d.ts
vendored
Normal file
96
types/chat/api.d.ts
vendored
Normal file
@@ -0,0 +1,96 @@
|
||||
import type { ChatSession, ChatMessage } from './base';
|
||||
import type { ChatMessageType } from './enum';
|
||||
|
||||
// 创建聊天会话请求接口
|
||||
export interface CreateChatSessionRequest {
|
||||
participantId: string;
|
||||
}
|
||||
|
||||
// 更新聊天会话请求接口
|
||||
export interface UpdateChatSessionRequest {
|
||||
sessionId: string;
|
||||
}
|
||||
|
||||
// 发送消息请求接口
|
||||
export interface SendMessageRequest {
|
||||
sessionId: string;
|
||||
content: string;
|
||||
type: ChatMessageType;
|
||||
metadata?: Record<string, unknown>;
|
||||
}
|
||||
|
||||
// 获取聊天会话列表请求接口
|
||||
export interface GetChatSessionsRequest {
|
||||
page?: number;
|
||||
limit?: number;
|
||||
}
|
||||
|
||||
// 获取聊天会话列表响应接口
|
||||
export interface GetChatSessionsResponse {
|
||||
sessions: ChatSession[];
|
||||
total: number;
|
||||
page: number;
|
||||
limit: number;
|
||||
}
|
||||
|
||||
// 获取聊天消息请求接口
|
||||
export interface GetChatMessagesRequest {
|
||||
sessionId: string;
|
||||
page?: number;
|
||||
limit?: number;
|
||||
before?: string; // 消息ID,获取该消息之前的消息
|
||||
after?: string; // 消息ID,获取该消息之后的消息
|
||||
}
|
||||
|
||||
// 获取聊天消息响应接口
|
||||
export interface GetChatMessagesResponse {
|
||||
messages: ChatMessage[];
|
||||
total: number;
|
||||
page: number;
|
||||
limit: number;
|
||||
hasMore: boolean;
|
||||
}
|
||||
|
||||
// 标记消息已读请求接口
|
||||
export interface MarkMessagesAsReadRequest {
|
||||
sessionId: string;
|
||||
messageIds: string[];
|
||||
}
|
||||
|
||||
// 标记消息已读响应接口
|
||||
export interface MarkMessagesAsReadResponse {
|
||||
success: boolean;
|
||||
markedMessageIds: string[]; // 成功标记的消息ID
|
||||
failedMessageIds?: string[]; // 失败的消息ID
|
||||
}
|
||||
|
||||
// 搜索聊天消息请求接口
|
||||
export interface SearchChatMessagesRequest {
|
||||
sessionId?: string;
|
||||
query: string;
|
||||
page?: number;
|
||||
limit?: number;
|
||||
}
|
||||
|
||||
// 搜索聊天消息响应接口
|
||||
export interface SearchChatMessagesResponse {
|
||||
messages: ChatMessage[];
|
||||
total: number;
|
||||
page: number;
|
||||
limit: number;
|
||||
}
|
||||
|
||||
// 搜索聊天会话请求接口
|
||||
export interface SearchChatSessionsRequest {
|
||||
query: string;
|
||||
page?: number;
|
||||
limit?: number;
|
||||
}
|
||||
|
||||
// 搜索聊天会话响应接口
|
||||
export interface SearchChatSessionsResponse {
|
||||
sessions: ChatSession[];
|
||||
total: number;
|
||||
page: number;
|
||||
limit: number;
|
||||
}
|
||||
45
types/chat/base.d.ts
vendored
Normal file
45
types/chat/base.d.ts
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
import type { User } from '../index';
|
||||
import type { ChatMessageType, ChatMessageStatus } from './enum';
|
||||
|
||||
// 聊天消息接口
|
||||
export interface ChatMessage {
|
||||
id: string;
|
||||
sessionId: string;
|
||||
sender: User;
|
||||
receiver: User;
|
||||
content: string;
|
||||
type: ChatMessageType;
|
||||
status: ChatMessageStatus;
|
||||
createdAt: Date;
|
||||
// 非文本消息类型的元数据
|
||||
metadata?: {
|
||||
fileName?: string;
|
||||
fileSize?: number;
|
||||
duration?: number;
|
||||
thumbnail?: string;
|
||||
[key: string]: unknown;
|
||||
};
|
||||
}
|
||||
|
||||
// 聊天会话接口
|
||||
export interface ChatSession {
|
||||
id: string;
|
||||
participant1Id: string;
|
||||
participant2Id: string;
|
||||
participant1: User;
|
||||
participant2: User;
|
||||
lastMessage?: {
|
||||
id: string;
|
||||
content: string;
|
||||
senderId: string;
|
||||
createdAt: Date;
|
||||
};
|
||||
unreadCount1: number; // 参与者1的未读消息数
|
||||
unreadCount2: number; // 参与者2的未读消息数
|
||||
createdAt: Date;
|
||||
updatedAt: Date;
|
||||
// 会话元数据(特殊标记、背景设置、自定义属性等等)
|
||||
metadata?: {
|
||||
[key: string]: unknown;
|
||||
};
|
||||
}
|
||||
19
types/chat/enum.d.ts
vendored
Normal file
19
types/chat/enum.d.ts
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
// 聊天消息类型枚举
|
||||
export enum ChatMessageType {
|
||||
TEXT = 'text',
|
||||
IMAGE = 'image',
|
||||
FILE = 'file',
|
||||
VOICE = 'voice',
|
||||
VIDEO = 'video',
|
||||
SYSTEM = 'system'
|
||||
}
|
||||
|
||||
// 聊天消息状态枚举
|
||||
export enum ChatMessageStatus {
|
||||
SENDING = 'sending',
|
||||
SENT = 'sent',
|
||||
DELIVERED = 'delivered',
|
||||
READ = 'read',
|
||||
FAILED = 'failed'
|
||||
}
|
||||
|
||||
3
types/chat/index.d.ts
vendored
Normal file
3
types/chat/index.d.ts
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
export * from './enum';
|
||||
export * from './base';
|
||||
export * from './api';
|
||||
Reference in New Issue
Block a user