@seaverse/conversation-sdk 0.2.4 → 0.3.0

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 CHANGED
@@ -282,15 +282,28 @@ interface ConversationResponse {
282
282
 
283
283
  ### Message
284
284
 
285
+ 消息模型采用「全量透传」策略,完全对齐 `runtime-plugins/conversations` 的 `getMessages` 返回结构。
286
+ 当 `content` 是 JSON 对象时,其所有字段都会被展开透传;下方列出的是已知字段,未知字段也会保留。
287
+
285
288
  ```typescript
286
289
  interface Message {
287
290
  id: string;
288
- role?: 'user' | 'assistant' | 'system'; // tips messages don't have role
289
- content?: string; // tips messages don't return this field
291
+ role?: 'user' | 'assistant' | 'system';
292
+ content?: string;
290
293
  timestamp: number; // Unix timestamp in seconds
291
- type?: 'text' | 'conversation_tips' | string;
292
- tips?: string[]; // Specific to conversation_tips type
293
- toolCalls?: ToolCall[]; // Tool call information
294
+ type?: 'text' | 'media' | 'conversation_tips' | 'app_creation_detected' | string;
295
+ tips?: string[]; // conversation_tips 类型专用
296
+ toolCalls?: ToolCall[]; // 工具调用信息
297
+ media?: MessageMedia; // 媒体资源(图片/音频/视频)
298
+ todos?: TodoItem[]; // 待办事项列表
299
+ attachments?: MessageAttachment[]; // 文件附件
300
+ metadata_json?: string | null; // 元数据 JSON(用于去重判断等)
301
+ // app_creation_detected 类型专用
302
+ app_id?: string;
303
+ app_name?: string;
304
+ app_description?: string;
305
+ // 索引签名:允许透传 content JSON 中的未知字段
306
+ [key: string]: unknown;
294
307
  }
295
308
  ```
296
309
 
@@ -306,6 +319,56 @@ interface Message {
306
319
  }
307
320
  ```
308
321
 
322
+ **Media Message Format**:
323
+ ```typescript
324
+ {
325
+ id: string;
326
+ role: "assistant";
327
+ content: "";
328
+ timestamp: number;
329
+ type: "media";
330
+ media: {
331
+ images?: string[];
332
+ audios?: string[];
333
+ videos?: string[];
334
+ }
335
+ }
336
+ ```
337
+
338
+ ### MessageMedia
339
+
340
+ ```typescript
341
+ interface MessageMedia {
342
+ images?: string[];
343
+ audios?: string[];
344
+ videos?: string[];
345
+ }
346
+ ```
347
+
348
+ ### TodoItem
349
+
350
+ ```typescript
351
+ interface TodoItem {
352
+ id: string;
353
+ content: string;
354
+ status: 'pending' | 'in_progress' | 'completed' | 'cancelled' | string;
355
+ }
356
+ ```
357
+
358
+ ### MessageAttachment
359
+
360
+ ```typescript
361
+ interface MessageAttachment {
362
+ type: 'image' | 'document' | string;
363
+ media_type?: string;
364
+ file_id?: string;
365
+ filename?: string;
366
+ url?: string;
367
+ size?: number;
368
+ path?: string;
369
+ }
370
+ ```
371
+
309
372
  ### ToolCall
310
373
 
311
374
  ```typescript
@@ -426,10 +489,21 @@ if (conversationId) {
426
489
 
427
490
  // Handle different message types
428
491
  messagesResult.messages.forEach(msg => {
429
- if (msg.type === 'conversation_tips') {
430
- console.log('Tips:', msg.tips);
431
- } else {
432
- console.log('Message:', msg.content);
492
+ switch (msg.type) {
493
+ case 'conversation_tips':
494
+ console.log('Tips:', msg.tips);
495
+ break;
496
+ case 'media':
497
+ console.log('Media:', msg.media); // { images, audios, videos }
498
+ break;
499
+ case 'app_creation_detected':
500
+ console.log('App created:', msg.app_id, msg.app_name);
501
+ break;
502
+ default:
503
+ console.log('Message:', msg.content);
504
+ if (msg.toolCalls) console.log('Tool calls:', msg.toolCalls);
505
+ if (msg.todos) console.log('Todos:', msg.todos);
506
+ if (msg.attachments) console.log('Attachments:', msg.attachments);
433
507
  }
434
508
  });
435
509
  }
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { initConversationSdk } from './functional-api.js';
2
2
  export type { ConversationClientConfig } from './types/config.types.js';
3
- export type { Conversation, ConversationResponse, Message, ToolCall, } from './types/index.js';
3
+ export type { Conversation, ConversationResponse, Message, MessageMedia, MessageAttachment, TodoItem, ToolCall, } from './types/index.js';
4
4
  export type { CreateConversationData } from './resources/ConversationsResource.js';
5
5
  export { BaseError, NetworkError, AuthError, TimeoutError, ProtocolError, } from './errors/index.js';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,YAAY,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAKxE,YAAY,EAEV,YAAY,EACZ,oBAAoB,EAEpB,OAAO,EACP,QAAQ,GACT,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAKnF,OAAO,EACL,SAAS,EACT,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,aAAa,GACd,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,YAAY,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAKxE,YAAY,EAEV,YAAY,EACZ,oBAAoB,EAEpB,OAAO,EACP,YAAY,EACZ,iBAAiB,EACjB,QAAQ,EACR,QAAQ,GACT,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAKnF,OAAO,EACL,SAAS,EACT,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,aAAa,GACd,MAAM,mBAAmB,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,QAAQ;AACR,0CAA0C;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAiB1D,0CAA0C;AAC1C,gBAAgB;AAChB,0CAA0C;AAC1C,OAAO,EACL,SAAS,EACT,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,aAAa,GACd,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,QAAQ;AACR,0CAA0C;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAoB1D,0CAA0C;AAC1C,gBAAgB;AAChB,0CAA0C;AAC1C,OAAO,EACL,SAAS,EACT,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,aAAa,GACd,MAAM,mBAAmB,CAAC"}
@@ -44,7 +44,8 @@ export declare class MessagesResource {
44
44
  * 去重媒体消息
45
45
  * 如果两条消息具有相同的 role、content、timestamp 和 media 内容,只保留第一条
46
46
  *
47
- * 参考 runtime-plugins/conversations/src/handlers/messages.ts
47
+ * 对齐 runtime-plugins/conversations/src/handlers/messages.ts 的去重逻辑:
48
+ * 直接检查消息顶层的 type 和 media 字段(而非 metadata)
48
49
  */
49
50
  private deduplicateMediaMessages;
50
51
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"MessagesResource.d.ts","sourceRoot":"","sources":["../../src/resources/MessagesResource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAY,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAIvF;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;CAE7D;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,QAAQ;IAEzC;;OAEG;IACG,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IA8BxG;;OAEG;IACG,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAUrD;;OAEG;IACG,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IAa/E;;OAEG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAanF;;OAEG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAgChC;;;OAGG;IACH,OAAO,CAAC,cAAc;CAiBvB"}
1
+ {"version":3,"file":"MessagesResource.d.ts","sourceRoot":"","sources":["../../src/resources/MessagesResource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAY,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAIvF;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;CAE7D;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,QAAQ;IAEzC;;OAEG;IACG,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IA8BxG;;OAEG;IACG,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAUrD;;OAEG;IACG,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IAa/E;;OAEG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAanF;;OAEG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C;;;;;;OAMG;IACH,OAAO,CAAC,wBAAwB;IAiChC;;;OAGG;IACH,OAAO,CAAC,cAAc;CAiBvB"}
@@ -76,18 +76,20 @@ export class MessagesResource {
76
76
  * 去重媒体消息
77
77
  * 如果两条消息具有相同的 role、content、timestamp 和 media 内容,只保留第一条
78
78
  *
79
- * 参考 runtime-plugins/conversations/src/handlers/messages.ts
79
+ * 对齐 runtime-plugins/conversations/src/handlers/messages.ts 的去重逻辑:
80
+ * 直接检查消息顶层的 type 和 media 字段(而非 metadata)
80
81
  */
81
82
  deduplicateMediaMessages(messages) {
82
83
  const result = [];
83
84
  const seenMedia = new Set();
84
85
  for (const msg of messages) {
85
- // 检查消息的 metadata 中是否包含 media 字段(需要通过 any 类型访问)
86
- const metadata = msg.metadata;
87
- const hasMedia = metadata?.type === 'media' && metadata?.media;
86
+ // 检查消息是否是 media 类型且包含 media 数据
87
+ // 对齐 runtime-plugins 的逻辑:检查 msg.type === 'media' && msg.media
88
+ const isMediaType = msg.type === 'media';
89
+ const hasMedia = isMediaType && msg.media;
88
90
  if (hasMedia) {
89
91
  // 创建去重键(基于 content、role、timestamp 和 media)
90
- const mediaKey = this.createMediaKey(msg.content || '', msg.role || 'unknown', msg.timestamp, metadata.media);
92
+ const mediaKey = this.createMediaKey(msg.content || '', msg.role || 'unknown', msg.timestamp, msg.media);
91
93
  // 如果已经见过这个媒体内容,跳过
92
94
  if (seenMedia.has(mediaKey)) {
93
95
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"MessagesResource.js","sourceRoot":"","sources":["../../src/resources/MessagesResource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MessagesResource.js","sourceRoot":"","sources":["../../src/resources/MessagesResource.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,29 @@
1
1
  import type { Message, DbSchema } from '../types/models.types.js';
2
2
  /**
3
3
  * 转换数据库消息对象为前端模型
4
+ *
5
+ * 完全对齐 runtime-plugins/conversations getMessages 的「全量透传」行为:
6
+ * - content 是合法 JSON 对象 → 直接展开整个 JSON,再用确定性字段覆盖
7
+ * - content 不是 JSON → 返回 { id, role, content, timestamp } 基础结构
8
+ *
9
+ * 额外增强(SDK 比 runtime-plugins 多做的部分):
10
+ * - 透传 metadata_json(数据库列),用于前端 isDuplicateMessage 去重
11
+ * - 从 metadata(JSONB 列)中补充缺失字段(作为 fallback)
12
+ * - conversation_tips 类型自动注入 conversation_id
13
+ *
14
+ * @see runtime-plugins/conversations/src/handlers/messages.ts getMessages()
4
15
  */
5
16
  export declare function transformMessage(dbMsg: DbSchema.Message): Message;
6
17
  /**
7
18
  * 转换前端消息对象为数据库格式
19
+ *
20
+ * 接受任意包含消息字段的对象,从中提取数据库需要的字段
8
21
  */
9
- export declare function toDbMessage(msg: Partial<Message> & {
22
+ export declare function toDbMessage(msg: {
23
+ id?: string;
24
+ conversationId?: string;
25
+ role?: string;
26
+ content?: string;
10
27
  metadata?: Record<string, unknown>;
11
28
  }): Partial<DbSchema.Message>;
12
29
  //# sourceMappingURL=message.transform.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"message.transform.d.ts","sourceRoot":"","sources":["../../src/transforms/message.transform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAYlE;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,GAAG,OAAO,CAqGjE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAUrH"}
1
+ {"version":3,"file":"message.transform.d.ts","sourceRoot":"","sources":["../../src/transforms/message.transform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAYlE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,GAAG,OAAO,CA6FjE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAU5B"}
@@ -10,97 +10,108 @@ function toSeconds(seconds) {
10
10
  }
11
11
  /**
12
12
  * 转换数据库消息对象为前端模型
13
+ *
14
+ * 完全对齐 runtime-plugins/conversations getMessages 的「全量透传」行为:
15
+ * - content 是合法 JSON 对象 → 直接展开整个 JSON,再用确定性字段覆盖
16
+ * - content 不是 JSON → 返回 { id, role, content, timestamp } 基础结构
17
+ *
18
+ * 额外增强(SDK 比 runtime-plugins 多做的部分):
19
+ * - 透传 metadata_json(数据库列),用于前端 isDuplicateMessage 去重
20
+ * - 从 metadata(JSONB 列)中补充缺失字段(作为 fallback)
21
+ * - conversation_tips 类型自动注入 conversation_id
22
+ *
23
+ * @see runtime-plugins/conversations/src/handlers/messages.ts getMessages()
13
24
  */
14
25
  export function transformMessage(dbMsg) {
15
26
  // 获取消息 ID(兼容 message_id 和 id 字段)
16
27
  const dbId = dbMsg.message_id || dbMsg.id || '';
17
- // 解析 content 字段(可能是 JSON 字符串)
28
+ // ================================================================
29
+ // 1. 尝试将 content 解析为 JSON(对齐 runtime-plugins 行为)
30
+ // ================================================================
18
31
  let parsedContent = null;
19
- let actualContent = dbMsg.content;
20
- let actualRole = dbMsg.role;
21
- let actualId = dbId;
22
32
  try {
23
- // 尝试解析 content 为 JSON(如果它是 JSON 字符串)
24
33
  if (typeof dbMsg.content === 'string' && dbMsg.content.trim().startsWith('{')) {
25
- parsedContent = JSON.parse(dbMsg.content);
26
- // 如果解析成功,使用解析后的内容
27
- if (parsedContent && typeof parsedContent === 'object') {
28
- // 优先使用解析后的字段
29
- if (parsedContent.content !== undefined) {
30
- actualContent = parsedContent.content;
31
- }
32
- if (parsedContent.role !== undefined) {
33
- actualRole = parsedContent.role;
34
- }
35
- if (parsedContent.id !== undefined) {
36
- actualId = parsedContent.id;
37
- }
34
+ const json = JSON.parse(dbMsg.content);
35
+ // 仅在结果是普通对象时使用(与 runtime-plugins 一致:排除数组和原始类型)
36
+ if (json && typeof json === 'object' && !Array.isArray(json)) {
37
+ parsedContent = json;
38
38
  }
39
39
  }
40
40
  }
41
41
  catch {
42
- // 解析失败,使用原始 content
42
+ // 解析失败,走 fallback 路径
43
43
  }
44
- // 基础字段 - 不包含 conversationId
45
- const base = {
46
- id: actualId,
47
- role: actualRole,
48
- content: actualContent,
49
- timestamp: toSeconds(dbMsg.created_at),
50
- };
51
- // 解析 metadata 中的扩展字段,或从解析后的 content 中提取
52
- let meta = dbMsg.metadata;
53
- // 如果 content 被解析了,优先使用解析后的数据
44
+ // ================================================================
45
+ // 2. 构建消息对象
46
+ // ================================================================
47
+ let result;
54
48
  if (parsedContent) {
55
- // 提取 type(消息类型)
56
- if (parsedContent.type) {
57
- base.type = parsedContent.type;
58
- // 对于 conversation_tips 类型,添加 conversation_id 字段
59
- if (parsedContent.type === 'conversation_tips') {
60
- base.conversation_id = dbMsg.conversation_id;
61
- }
62
- }
63
- // 提取 tips(用于 conversation_tips 类型)
64
- if (parsedContent.tips && Array.isArray(parsedContent.tips)) {
65
- base.tips = parsedContent.tips;
66
- // 确保 tips 消息有 conversation_id
67
- base.conversation_id = dbMsg.conversation_id;
68
- // tips 消息不返回 content 字段
69
- delete base.content;
70
- }
71
- // 提取 toolCalls(工具调用信息)
72
- if (parsedContent.toolCalls && Array.isArray(parsedContent.toolCalls)) {
73
- base.toolCalls = parsedContent.toolCalls;
74
- }
49
+ // ── JSON content 路径(全量透传) ──
50
+ // 先展开整个 parsedContent,保留所有字段(含未来新增的未知字段)
51
+ // 再用确定性字段覆盖,确保 id / timestamp 取值正确
52
+ result = {
53
+ ...parsedContent,
54
+ // id: parsedContent 中的 id 优先,否则用 DB 的 message_id/id
55
+ id: parsedContent.id ?? dbId,
56
+ // role: parsedContent 中的 role 优先,否则用 DB 的 role
57
+ role: parsedContent.role ?? dbMsg.role,
58
+ // content: parsedContent 中的 content 优先,否则保持原始 DB content
59
+ // 注意:parsedContent.content 可能为空字符串(合法值),所以用 ?? 而非 ||
60
+ content: parsedContent.content ?? dbMsg.content,
61
+ // timestamp: 始终用 DB 的 created_at(秒级),保持一致
62
+ timestamp: toSeconds(dbMsg.created_at),
63
+ };
64
+ }
65
+ else {
66
+ // ── Fallback 路径(纯文本 content) ──
67
+ // runtime-plugins 的 catch/fallback 分支完全一致
68
+ result = {
69
+ id: dbId,
70
+ role: dbMsg.role,
71
+ content: dbMsg.content,
72
+ timestamp: toSeconds(dbMsg.created_at),
73
+ };
75
74
  }
76
- // 如果 metadata 存在,也尝试从中提取字段
77
- if (meta) {
78
- // 如果还没有设置 type,从 metadata 中提取
79
- if (!base.type && meta.type) {
80
- base.type = meta.type;
81
- // 对于 conversation_tips 类型,添加 conversation_id 字段
82
- if (meta.type === 'conversation_tips') {
83
- base.conversation_id = dbMsg.conversation_id;
75
+ // ================================================================
76
+ // 3. 从 metadata(JSONB 列)中补充缺失字段
77
+ // runtime-plugins 不做这一步,但 SDK fallback 以覆盖更多场景
78
+ // ================================================================
79
+ const meta = dbMsg.metadata;
80
+ if (meta && typeof meta === 'object') {
81
+ // 遍历 metadata 的所有字段,仅补充 result 中不存在的
82
+ for (const key of Object.keys(meta)) {
83
+ if (result[key] === undefined || result[key] === null) {
84
+ result[key] = meta[key];
84
85
  }
85
86
  }
86
- // 如果还没有设置 tips,从 metadata 中提取
87
- if (!base.tips && meta.tips && Array.isArray(meta.tips)) {
88
- base.tips = meta.tips;
89
- // 确保 tips 消息有 conversation_id
90
- base.conversation_id = dbMsg.conversation_id;
91
- // tips 消息不返回 content 字段
92
- delete base.content;
93
- }
94
- // 如果还没有设置 toolCalls,从 metadata 中提取
95
- if (!base.toolCalls && meta.toolCalls && Array.isArray(meta.toolCalls)) {
96
- base.toolCalls = meta.toolCalls;
87
+ }
88
+ // ================================================================
89
+ // 4. 特殊类型处理
90
+ // ================================================================
91
+ // conversation_tips 类型:注入 conversation_id,移除 content
92
+ if (result.type === 'conversation_tips') {
93
+ result.conversation_id = dbMsg.conversation_id;
94
+ if (result.tips && Array.isArray(result.tips)) {
95
+ delete result.content;
97
96
  }
98
- // 不保留 metadata 字段(旧 API 格式)
99
97
  }
100
- return base;
98
+ // toolCalls / tool_calls 兼容:确保 toolCalls 字段存在
99
+ if (!result.toolCalls && result.tool_calls) {
100
+ result.toolCalls = result.tool_calls;
101
+ }
102
+ // ================================================================
103
+ // 5. 透传 metadata_json(DB 列,用于前端 isDuplicateMessage 去重)
104
+ // runtime-plugins 不返回此字段,SDK 增强
105
+ // ================================================================
106
+ if (dbMsg.metadata_json !== undefined) {
107
+ result.metadata_json = dbMsg.metadata_json;
108
+ }
109
+ return result;
101
110
  }
102
111
  /**
103
112
  * 转换前端消息对象为数据库格式
113
+ *
114
+ * 接受任意包含消息字段的对象,从中提取数据库需要的字段
104
115
  */
105
116
  export function toDbMessage(msg) {
106
117
  const result = {};
@@ -1 +1 @@
1
- {"version":3,"file":"message.transform.js","sourceRoot":"","sources":["../../src/transforms/message.transform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message.transform.js","sourceRoot":"","sources":["../../src/transforms/message.transform.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export type { ConversationClientConfig } from './config.types.js';
2
- export type { Conversation, ConversationResponse, Message, ToolCall, App, AppWithConversations, ListAppsWithConversationsResult, } from './models.types.js';
2
+ export type { Conversation, ConversationResponse, Message, MessageMedia, MessageAttachment, TodoItem, ToolCall, App, AppWithConversations, ListAppsWithConversationsResult, } from './models.types.js';
3
3
  export type { PaginationMeta, PaginatedResult, PaginationOptions, } from './pagination.types.js';
4
4
  export type { ListConversationsOptions, CreateConversationData, UpdateConversationData, } from '../resources/ConversationsResource.js';
5
5
  export type { ListMessagesOptions, CreateMessageData, } from '../resources/MessagesResource.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAGlE,YAAY,EACV,YAAY,EACZ,oBAAoB,EACpB,OAAO,EACP,QAAQ,EACR,GAAG,EACH,oBAAoB,EACpB,+BAA+B,GAChC,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EACV,cAAc,EACd,eAAe,EACf,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAG/B,YAAY,EACV,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,uCAAuC,CAAC;AAE/C,YAAY,EACV,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,kCAAkC,CAAC;AAE1C,YAAY,EACV,eAAe,GAChB,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAGlE,YAAY,EACV,YAAY,EACZ,oBAAoB,EACpB,OAAO,EACP,YAAY,EACZ,iBAAiB,EACjB,QAAQ,EACR,QAAQ,EACR,GAAG,EACH,oBAAoB,EACpB,+BAA+B,GAChC,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EACV,cAAc,EACd,eAAe,EACf,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAG/B,YAAY,EACV,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,uCAAuC,CAAC;AAE/C,YAAY,EACV,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,kCAAkC,CAAC;AAE1C,YAAY,EACV,eAAe,GAChB,MAAM,8BAA8B,CAAC"}
@@ -39,8 +39,43 @@ export interface ToolCall {
39
39
  toolInput: Record<string, unknown>;
40
40
  isCompleted: boolean;
41
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
+ }
42
71
  /**
43
72
  * 消息模型(兼容旧 API 格式)
73
+ *
74
+ * 采用「全量透传」策略,完全对齐 runtime-plugins/conversations getMessages 行为:
75
+ * content 中的 JSON 对象会被整体展开,所有字段都保留。
76
+ *
77
+ * 下方显式声明的是已知字段(提供类型安全和 IDE 提示),
78
+ * 索引签名 [key: string] 允许透传未来新增的未知字段。
44
79
  */
45
80
  export interface Message {
46
81
  id: string;
@@ -48,9 +83,18 @@ export interface Message {
48
83
  role?: 'user' | 'assistant' | 'system';
49
84
  content?: string;
50
85
  timestamp: number;
51
- type?: 'text' | 'conversation_tips' | string;
86
+ type?: 'text' | 'media' | 'conversation_tips' | 'app_creation_detected' | string;
52
87
  tips?: string[];
53
88
  toolCalls?: ToolCall[];
89
+ media?: MessageMedia;
90
+ todos?: TodoItem[];
91
+ attachments?: MessageAttachment[];
92
+ metadata_json?: string | null;
93
+ app_id?: string;
94
+ app_name?: string;
95
+ app_description?: string;
96
+ /** 索引签名:允许透传 content JSON 中的未知字段 */
97
+ [key: string]: unknown;
54
98
  }
55
99
  /**
56
100
  * 应用模型(仅包含实际使用的字段)
@@ -109,6 +153,7 @@ export declare namespace DbSchema {
109
153
  content: string;
110
154
  created_at: number;
111
155
  metadata?: unknown;
156
+ metadata_json?: string | null;
112
157
  }
113
158
  interface App {
114
159
  app_id?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"models.types.d.ts","sourceRoot":"","sources":["../../src/types/models.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"models.types.d.ts","sourceRoot":"","sources":["../../src/types/models.types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seaverse/conversation-sdk",
3
- "version": "0.2.4",
3
+ "version": "0.3.0",
4
4
  "description": "SeaVerse Conversation SDK - SDK for conversations and messages management",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",