@seaverse/conversation-sdk 0.4.0 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/aggregated/apps-with-conversations.d.ts +1 -1
- package/dist/aggregated/index.d.ts +3 -0
- package/dist/client/ConversationClient.d.ts +24 -0
- package/dist/client/ConversationsClient.d.ts +31 -0
- package/dist/client/ConversationsClient.js +50 -0
- package/dist/client/ConversationsClient.js.map +1 -0
- package/dist/client/EnvironmentConfig.d.ts +12 -0
- package/dist/client/EnvironmentConfig.d.ts.map +1 -0
- package/dist/client/EnvironmentConfig.js +21 -0
- package/dist/client/EnvironmentConfig.js.map +1 -0
- package/dist/client/MessagesClient.d.ts +31 -0
- package/dist/client/MessagesClient.js +57 -0
- package/dist/client/MessagesClient.js.map +1 -0
- package/dist/client/index.d.ts +3 -0
- package/dist/client/index.js +3 -0
- package/dist/client/index.js.map +1 -0
- package/dist/data/DbClient.d.ts +76 -0
- package/dist/data/DbClient.d.ts.map +1 -0
- package/dist/data/DbClient.js +107 -0
- package/dist/data/DbClient.js.map +1 -0
- package/dist/data/index.d.ts +2 -0
- package/dist/data/index.d.ts.map +1 -0
- package/dist/data/index.js +2 -0
- package/dist/data/index.js.map +1 -0
- package/dist/data/postgrest-headers.d.ts +10 -0
- package/dist/data/postgrest-headers.d.ts.map +1 -0
- package/dist/data/postgrest-headers.js +58 -0
- package/dist/data/postgrest-headers.js.map +1 -0
- package/dist/data/query.types.d.ts +62 -0
- package/dist/data/query.types.d.ts.map +1 -0
- package/dist/data/query.types.js +2 -0
- package/dist/data/query.types.js.map +1 -0
- package/dist/errors/AuthError.d.ts +8 -0
- package/dist/errors/AuthError.d.ts.map +1 -0
- package/dist/errors/AuthError.js +10 -0
- package/dist/errors/AuthError.js.map +1 -0
- package/dist/errors/BaseError.d.ts +17 -0
- package/dist/errors/BaseError.d.ts.map +1 -0
- package/dist/errors/BaseError.js +26 -0
- package/dist/errors/BaseError.js.map +1 -0
- package/dist/errors/NetworkError.d.ts +8 -0
- package/dist/errors/NetworkError.d.ts.map +1 -0
- package/dist/errors/NetworkError.js +10 -0
- package/dist/errors/NetworkError.js.map +1 -0
- package/dist/errors/ProtocolError.d.ts +8 -0
- package/dist/errors/ProtocolError.d.ts.map +1 -0
- package/dist/errors/ProtocolError.js +10 -0
- package/dist/errors/ProtocolError.js.map +1 -0
- package/dist/errors/TimeoutError.d.ts +8 -0
- package/dist/errors/TimeoutError.d.ts.map +1 -0
- package/dist/errors/TimeoutError.js +10 -0
- package/dist/errors/TimeoutError.js.map +1 -0
- package/dist/errors/index.d.ts +6 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +6 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/resources/AppsResource.d.ts +37 -0
- package/dist/resources/AppsResource.d.ts.map +1 -0
- package/dist/resources/AppsResource.js +51 -0
- package/dist/resources/AppsResource.js.map +1 -0
- package/dist/resources/ConversationsResource.d.ts +87 -0
- package/dist/resources/MessagesResource.d.ts +57 -0
- package/dist/resources/MessagesResource.d.ts.map +1 -0
- package/dist/resources/MessagesResource.js +117 -0
- package/dist/resources/MessagesResource.js.map +1 -0
- package/dist/session/session-token.d.ts +2 -2
- package/dist/session/session-token.js +2 -2
- package/dist/session/session-token.js.map +1 -1
- package/dist/transforms/app.transform.d.ts +6 -0
- package/dist/transforms/app.transform.d.ts.map +1 -0
- package/dist/transforms/app.transform.js +39 -0
- package/dist/transforms/app.transform.js.map +1 -0
- package/dist/transforms/conversation.transform.d.ts +14 -0
- package/dist/transforms/conversation.transform.d.ts.map +1 -0
- package/dist/transforms/conversation.transform.js +64 -0
- package/dist/transforms/conversation.transform.js.map +1 -0
- package/dist/transforms/message.transform.d.ts +32 -0
- package/dist/transforms/message.transform.d.ts.map +1 -0
- package/dist/transforms/message.transform.js +132 -0
- package/dist/transforms/message.transform.js.map +1 -0
- package/dist/transport/HttpClient.d.ts +34 -0
- package/dist/transport/HttpClient.d.ts.map +1 -0
- package/dist/transport/HttpClient.js +158 -0
- package/dist/transport/HttpClient.js.map +1 -0
- package/dist/transport/config.types.d.ts +40 -0
- package/dist/transport/config.types.d.ts.map +1 -0
- package/dist/transport/config.types.js +2 -0
- package/dist/transport/config.types.js.map +1 -0
- package/dist/transport/index.d.ts +10 -0
- package/dist/transport/index.d.ts.map +1 -0
- package/dist/transport/index.js +11 -0
- package/dist/transport/index.js.map +1 -0
- package/dist/transport/timeout.d.ts +12 -0
- package/dist/transport/timeout.d.ts.map +1 -0
- package/dist/transport/timeout.js +29 -0
- package/dist/transport/timeout.js.map +1 -0
- package/dist/types/common.types.d.ts +24 -0
- package/dist/types/common.types.d.ts.map +1 -0
- package/dist/types/common.types.js +5 -0
- package/dist/types/common.types.js.map +1 -0
- package/dist/types/config.types.d.ts +28 -0
- package/dist/types/config.types.d.ts.map +1 -0
- package/dist/types/config.types.js +2 -0
- package/dist/types/config.types.js.map +1 -0
- package/dist/types/http.types.d.ts +47 -0
- package/dist/types/http.types.d.ts.map +1 -0
- package/dist/types/http.types.js +2 -0
- package/dist/types/http.types.js.map +1 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/models.types.d.ts +178 -0
- package/dist/types/models.types.d.ts.map +1 -0
- package/dist/types/models.types.js +5 -0
- package/dist/types/models.types.js.map +1 -0
- package/dist/types/pagination.types.d.ts +69 -0
- package/dist/types/pagination.types.d.ts.map +1 -0
- package/dist/types/pagination.types.js +24 -0
- package/dist/types/pagination.types.js.map +1 -0
- package/dist/types/token.types.d.ts +6 -0
- package/dist/types/token.types.d.ts.map +1 -0
- package/dist/types/token.types.js +2 -0
- package/dist/types/token.types.js.map +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeout.js","sourceRoot":"","sources":["../../src/transport/timeout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAAiB;IAIpD,IAAI,SAAwC,CAAC;IAE7C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;QAC/C,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAC1B,MAAM,CAAC,IAAI,YAAY,CAAC,yBAAyB,SAAS,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;QAC9E,CAAC,EAAE,SAAS,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1B,CAAC,CAAC;IAEF,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAmB,EACnB,SAAiB;IAEjB,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAE5E,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;IACvD,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC;IACX,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Common utility types
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Make specific properties optional
|
|
6
|
+
*/
|
|
7
|
+
export type PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
|
|
8
|
+
/**
|
|
9
|
+
* Make specific properties required
|
|
10
|
+
*/
|
|
11
|
+
export type RequiredBy<T, K extends keyof T> = Omit<T, K> & Required<Pick<T, K>>;
|
|
12
|
+
/**
|
|
13
|
+
* Deep partial type
|
|
14
|
+
*/
|
|
15
|
+
export type DeepPartial<T> = {
|
|
16
|
+
[P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Prettify type for better IDE display
|
|
20
|
+
*/
|
|
21
|
+
export type Prettify<T> = {
|
|
22
|
+
[K in keyof T]: T[K];
|
|
23
|
+
} & {};
|
|
24
|
+
//# sourceMappingURL=common.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.types.d.ts","sourceRoot":"","sources":["../../src/types/common.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAE/E;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEjF;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;KAC1B,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAChE,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KACvB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACrB,GAAG,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.types.js","sourceRoot":"","sources":["../../src/types/common.types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { TokenProvider } from './token.types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Conversation SDK 客户端配置
|
|
4
|
+
*/
|
|
5
|
+
export interface ConversationClientConfig {
|
|
6
|
+
/**
|
|
7
|
+
* 环境(自动映射到对应的服务 URL)
|
|
8
|
+
*/
|
|
9
|
+
environment: 'dev' | 'prod';
|
|
10
|
+
/**
|
|
11
|
+
* 访问 token(必需)
|
|
12
|
+
*/
|
|
13
|
+
token: string;
|
|
14
|
+
/**
|
|
15
|
+
* Token 提供函数(可选,优先级高于 token)
|
|
16
|
+
*/
|
|
17
|
+
getToken?: TokenProvider;
|
|
18
|
+
/**
|
|
19
|
+
* 自定义 fetch 实现
|
|
20
|
+
*/
|
|
21
|
+
fetch?: typeof fetch;
|
|
22
|
+
/**
|
|
23
|
+
* 请求超时(毫秒)
|
|
24
|
+
* @default 30000
|
|
25
|
+
*/
|
|
26
|
+
timeout?: number;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=config.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.types.d.ts","sourceRoot":"","sources":["../../src/types/config.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,WAAW,EAAE,KAAK,GAAG,MAAM,CAAC;IAE5B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAC;IAEzB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IAErB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.types.js","sourceRoot":"","sources":["../../src/types/config.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTTP request configuration
|
|
3
|
+
*/
|
|
4
|
+
export interface HttpRequestConfig {
|
|
5
|
+
method?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
|
|
6
|
+
headers?: Record<string, string>;
|
|
7
|
+
body?: unknown;
|
|
8
|
+
signal?: AbortSignal;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* HTTP response type
|
|
12
|
+
*/
|
|
13
|
+
export interface HttpResponse<T = unknown> {
|
|
14
|
+
data: T;
|
|
15
|
+
status: number;
|
|
16
|
+
statusText: string;
|
|
17
|
+
headers: Headers;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* HTTP request hook - called before request is sent
|
|
21
|
+
*/
|
|
22
|
+
export type OnRequestHook = (config: {
|
|
23
|
+
url: string;
|
|
24
|
+
method: string;
|
|
25
|
+
headers: Record<string, string>;
|
|
26
|
+
body?: unknown;
|
|
27
|
+
}) => void | Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* HTTP response hook - called after response is received
|
|
30
|
+
*/
|
|
31
|
+
export type OnResponseHook = (response: {
|
|
32
|
+
url: string;
|
|
33
|
+
status: number;
|
|
34
|
+
statusText: string;
|
|
35
|
+
headers: Headers;
|
|
36
|
+
data: unknown;
|
|
37
|
+
}) => void | Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* HTTP error hook - called when request fails
|
|
40
|
+
*/
|
|
41
|
+
export type OnErrorHook = (error: {
|
|
42
|
+
url: string;
|
|
43
|
+
message: string;
|
|
44
|
+
statusCode?: number;
|
|
45
|
+
details?: unknown;
|
|
46
|
+
}) => void | Promise<void>;
|
|
47
|
+
//# sourceMappingURL=http.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.types.d.ts","sourceRoot":"","sources":["../../src/types/http.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO;IACvC,IAAI,EAAE,CAAC,CAAC;IACR,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE3B;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;CACf,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE3B;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.types.js","sourceRoot":"","sources":["../../src/types/http.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export type { ConversationClientConfig } from './config.types.js';
|
|
2
|
+
export type { Conversation, ConversationResponse, Message, MessageMedia, MessageAttachment, TodoItem, ToolCall, App, AppWithConversations, ListAppsWithConversationsResult, } from './models.types.js';
|
|
3
|
+
export type { PaginationMeta, PaginatedResult, PaginationOptions, } from './pagination.types.js';
|
|
4
|
+
export type { ListConversationsOptions, CreateConversationData, UpdateConversationData, } from '../resources/ConversationsResource.js';
|
|
5
|
+
export type { ListMessagesOptions, CreateMessageData, } from '../resources/MessagesResource.js';
|
|
6
|
+
export type { ListAppsOptions, } from '../resources/AppsResource.js';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 前端业务模型(camelCase 格式)
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* 会话模型(camelCase,内部使用)
|
|
6
|
+
*/
|
|
7
|
+
export interface Conversation {
|
|
8
|
+
id: string;
|
|
9
|
+
title: string;
|
|
10
|
+
appId: string | null;
|
|
11
|
+
userId: string;
|
|
12
|
+
createdAt: number;
|
|
13
|
+
updatedAt: number;
|
|
14
|
+
lastActiveAt: number;
|
|
15
|
+
messageCount?: number;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* 会话响应模型(snake_case,匹配 runtime-plugins 格式)
|
|
19
|
+
*/
|
|
20
|
+
export interface ConversationResponse {
|
|
21
|
+
conversation_id: string;
|
|
22
|
+
app_id: string | null;
|
|
23
|
+
backend: string;
|
|
24
|
+
backend_session_id: string | null;
|
|
25
|
+
title: string;
|
|
26
|
+
created_at: number;
|
|
27
|
+
updated_at: number;
|
|
28
|
+
message_count: number;
|
|
29
|
+
skills_json: any | null;
|
|
30
|
+
metadata: Record<string, unknown>;
|
|
31
|
+
user_id: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* 工具调用信息
|
|
35
|
+
*/
|
|
36
|
+
export interface ToolCall {
|
|
37
|
+
id: string;
|
|
38
|
+
toolName: string;
|
|
39
|
+
toolInput: Record<string, unknown>;
|
|
40
|
+
isCompleted: boolean;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* 媒体资源(API 格式:{ images, audios, videos })
|
|
44
|
+
* 前端 normalizeMedia 会将其转换为 MediaItem[] 格式
|
|
45
|
+
*/
|
|
46
|
+
export interface MessageMedia {
|
|
47
|
+
images?: string[];
|
|
48
|
+
audios?: string[];
|
|
49
|
+
videos?: string[];
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* 待办事项
|
|
53
|
+
*/
|
|
54
|
+
export interface TodoItem {
|
|
55
|
+
id: string;
|
|
56
|
+
content: string;
|
|
57
|
+
status: 'pending' | 'in_progress' | 'completed' | 'cancelled' | string;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* 消息附件
|
|
61
|
+
*/
|
|
62
|
+
export interface MessageAttachment {
|
|
63
|
+
type: 'image' | 'document' | string;
|
|
64
|
+
media_type?: string;
|
|
65
|
+
file_id?: string;
|
|
66
|
+
filename?: string;
|
|
67
|
+
url?: string;
|
|
68
|
+
size?: number;
|
|
69
|
+
path?: string;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* 消息模型(兼容旧 API 格式)
|
|
73
|
+
*
|
|
74
|
+
* 采用「全量透传」策略,完全对齐 runtime-plugins/conversations getMessages 行为:
|
|
75
|
+
* content 中的 JSON 对象会被整体展开,所有字段都保留。
|
|
76
|
+
*
|
|
77
|
+
* 下方显式声明的是已知字段(提供类型安全和 IDE 提示),
|
|
78
|
+
* 索引签名 [key: string] 允许透传未来新增的未知字段。
|
|
79
|
+
*/
|
|
80
|
+
export interface Message {
|
|
81
|
+
id: string;
|
|
82
|
+
conversationId?: string;
|
|
83
|
+
role?: 'user' | 'assistant' | 'system';
|
|
84
|
+
content?: string;
|
|
85
|
+
timestamp: number;
|
|
86
|
+
type?: 'text' | 'media' | 'conversation_tips' | 'app_creation_detected' | string;
|
|
87
|
+
tips?: string[];
|
|
88
|
+
toolCalls?: ToolCall[];
|
|
89
|
+
media?: MessageMedia;
|
|
90
|
+
todos?: TodoItem[];
|
|
91
|
+
attachments?: MessageAttachment[];
|
|
92
|
+
app_id?: string;
|
|
93
|
+
app_name?: string;
|
|
94
|
+
app_description?: string;
|
|
95
|
+
/** 索引签名:允许透传 content JSON 中的未知字段 */
|
|
96
|
+
[key: string]: unknown;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* 应用模型(仅包含实际使用的字段)
|
|
100
|
+
*/
|
|
101
|
+
export interface App {
|
|
102
|
+
id: string;
|
|
103
|
+
name: string;
|
|
104
|
+
displayName: string;
|
|
105
|
+
description: string;
|
|
106
|
+
thumbnailUrls: string[];
|
|
107
|
+
userName: string;
|
|
108
|
+
version: string;
|
|
109
|
+
tags: string[] | null;
|
|
110
|
+
status: 'draft' | 'published' | 'archived';
|
|
111
|
+
positiveCount: number;
|
|
112
|
+
forkCount: number;
|
|
113
|
+
commentCount: number;
|
|
114
|
+
createdAt: number;
|
|
115
|
+
updatedAt: number;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* 应用与会话聚合结果
|
|
119
|
+
*/
|
|
120
|
+
export interface AppWithConversations {
|
|
121
|
+
app: App;
|
|
122
|
+
conversations: Conversation[];
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* 列表查询结果
|
|
126
|
+
*/
|
|
127
|
+
export interface ListAppsWithConversationsResult {
|
|
128
|
+
apps: AppWithConversations[];
|
|
129
|
+
hasMore: boolean;
|
|
130
|
+
url_session_token: string | null;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* 数据库原始模型(snake_case 格式,内部使用)
|
|
134
|
+
*/
|
|
135
|
+
export declare namespace DbSchema {
|
|
136
|
+
interface Conversation {
|
|
137
|
+
conversation_id?: string;
|
|
138
|
+
id?: string;
|
|
139
|
+
app_id: string | null;
|
|
140
|
+
user_id: string;
|
|
141
|
+
title: string;
|
|
142
|
+
created_at: number;
|
|
143
|
+
updated_at: number;
|
|
144
|
+
last_message_created_at?: number;
|
|
145
|
+
message_count?: number;
|
|
146
|
+
}
|
|
147
|
+
interface Message {
|
|
148
|
+
message_id?: string;
|
|
149
|
+
id?: string;
|
|
150
|
+
conversation_id: string;
|
|
151
|
+
role: 'user' | 'assistant' | 'system';
|
|
152
|
+
content: string;
|
|
153
|
+
created_at: number;
|
|
154
|
+
metadata?: unknown;
|
|
155
|
+
}
|
|
156
|
+
interface App {
|
|
157
|
+
app_id?: string;
|
|
158
|
+
app_name?: string;
|
|
159
|
+
description?: string;
|
|
160
|
+
template?: string;
|
|
161
|
+
created_at?: string | number;
|
|
162
|
+
updated_at?: string | number;
|
|
163
|
+
metadata?: Record<string, unknown>;
|
|
164
|
+
user_id?: string;
|
|
165
|
+
id?: string;
|
|
166
|
+
name?: string;
|
|
167
|
+
display_name?: string;
|
|
168
|
+
thumbnail_urls?: string[];
|
|
169
|
+
user_name?: string;
|
|
170
|
+
version?: string;
|
|
171
|
+
tags?: string[] | null;
|
|
172
|
+
status?: 'draft' | 'published' | 'archived';
|
|
173
|
+
positive_count?: number;
|
|
174
|
+
fork_count?: number;
|
|
175
|
+
comment_count?: number;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
//# sourceMappingURL=models.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.types.d.ts","sourceRoot":"","sources":["../../src/types/models.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.types.js","sourceRoot":"","sources":["../../src/types/models.types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 分页元数据
|
|
3
|
+
*/
|
|
4
|
+
export interface PaginationMeta {
|
|
5
|
+
/**
|
|
6
|
+
* 总记录数
|
|
7
|
+
*/
|
|
8
|
+
total: number;
|
|
9
|
+
/**
|
|
10
|
+
* 当前页码(从 1 开始)
|
|
11
|
+
*/
|
|
12
|
+
page: number;
|
|
13
|
+
/**
|
|
14
|
+
* 每页数量
|
|
15
|
+
*/
|
|
16
|
+
pageSize: number;
|
|
17
|
+
/**
|
|
18
|
+
* 总页数
|
|
19
|
+
*/
|
|
20
|
+
totalPages: number;
|
|
21
|
+
/**
|
|
22
|
+
* 是否有下一页
|
|
23
|
+
*/
|
|
24
|
+
hasNextPage: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* 是否有上一页
|
|
27
|
+
*/
|
|
28
|
+
hasPreviousPage: boolean;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* 分页结果
|
|
32
|
+
*/
|
|
33
|
+
export interface PaginatedResult<T> {
|
|
34
|
+
/**
|
|
35
|
+
* 数据列表
|
|
36
|
+
*/
|
|
37
|
+
data: T[];
|
|
38
|
+
/**
|
|
39
|
+
* 分页元数据
|
|
40
|
+
*/
|
|
41
|
+
pagination: PaginationMeta;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* 分页选项(基于 page/pageSize)
|
|
45
|
+
*/
|
|
46
|
+
export interface PaginationOptions {
|
|
47
|
+
/**
|
|
48
|
+
* 页码(从 1 开始)
|
|
49
|
+
* @default 1
|
|
50
|
+
*/
|
|
51
|
+
page?: number;
|
|
52
|
+
/**
|
|
53
|
+
* 每页数量
|
|
54
|
+
* @default 20
|
|
55
|
+
*/
|
|
56
|
+
pageSize?: number;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* 计算分页元数据
|
|
60
|
+
*/
|
|
61
|
+
export declare function calculatePaginationMeta(total: number, page: number, pageSize: number): PaginationMeta;
|
|
62
|
+
/**
|
|
63
|
+
* 将 page/pageSize 转换为 limit/offset
|
|
64
|
+
*/
|
|
65
|
+
export declare function pageToOffset(page: number, pageSize: number): {
|
|
66
|
+
limit: number;
|
|
67
|
+
offset: number;
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=pagination.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.types.d.ts","sourceRoot":"","sources":["../../src/types/pagination.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC;;OAEG;IACH,IAAI,EAAE,CAAC,EAAE,CAAC;IAEV;;OAEG;IACH,UAAU,EAAE,cAAc,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,cAAc,CAWhB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAK9F"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 计算分页元数据
|
|
3
|
+
*/
|
|
4
|
+
export function calculatePaginationMeta(total, page, pageSize) {
|
|
5
|
+
const totalPages = Math.ceil(total / pageSize);
|
|
6
|
+
return {
|
|
7
|
+
total,
|
|
8
|
+
page,
|
|
9
|
+
pageSize,
|
|
10
|
+
totalPages,
|
|
11
|
+
hasNextPage: page < totalPages,
|
|
12
|
+
hasPreviousPage: page > 1,
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* 将 page/pageSize 转换为 limit/offset
|
|
17
|
+
*/
|
|
18
|
+
export function pageToOffset(page, pageSize) {
|
|
19
|
+
return {
|
|
20
|
+
limit: pageSize,
|
|
21
|
+
offset: (page - 1) * pageSize,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=pagination.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.types.js","sourceRoot":"","sources":["../../src/types/pagination.types.ts"],"names":[],"mappings":"AAmEA;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACrC,KAAa,EACb,IAAY,EACZ,QAAgB;IAEhB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC;IAE/C,OAAO;QACL,KAAK;QACL,IAAI;QACJ,QAAQ;QACR,UAAU;QACV,WAAW,EAAE,IAAI,GAAG,UAAU;QAC9B,eAAe,EAAE,IAAI,GAAG,CAAC;KAC1B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,QAAgB;IACzD,OAAO;QACL,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ;KAC9B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token.types.d.ts","sourceRoot":"","sources":["../../src/types/token.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token.types.js","sourceRoot":"","sources":["../../src/types/token.types.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seaverse/conversation-sdk",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.2",
|
|
4
4
|
"description": "SeaVerse Conversation SDK - SDK for conversations and messages management",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -17,9 +17,9 @@
|
|
|
17
17
|
"README.md"
|
|
18
18
|
],
|
|
19
19
|
"scripts": {
|
|
20
|
-
"build": "tsc",
|
|
20
|
+
"build": "tsc -b --force",
|
|
21
21
|
"typecheck": "tsc --noEmit",
|
|
22
|
-
"clean": "rm -rf dist"
|
|
22
|
+
"clean": "rm -rf dist tsconfig.tsbuildinfo"
|
|
23
23
|
},
|
|
24
24
|
"keywords": [
|
|
25
25
|
"seaverse",
|