pcm-agents 1.0.10-beta.0 → 1.0.10

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.
Files changed (134) hide show
  1. package/dist/cjs/components-chat-message_33.cjs.entry.js +2 -2
  2. package/dist/cjs/components-oem-virtual-chat-modal.cjs.entry.js +1 -1
  3. package/dist/cjs/{conversation-utils-DQiNVeCN.js → conversation-utils-BFOgKiU9.js} +3 -3
  4. package/dist/cjs/{conversation-utils-DQiNVeCN.js.map → conversation-utils-BFOgKiU9.js.map} +1 -1
  5. package/dist/cjs/index-C_qhED9Z.js.map +1 -1
  6. package/dist/cjs/{index-a47Ewe4p.js → index-DPUL2SrQ.js} +5 -5
  7. package/dist/cjs/{index-a47Ewe4p.js.map → index-DPUL2SrQ.js.map} +1 -1
  8. package/dist/cjs/index.cjs.js +1 -1
  9. package/dist/cjs/oem-htws-modal.cjs.entry.js +1 -1
  10. package/dist/cjs/oem-jd-modal.cjs.entry.js +1 -1
  11. package/dist/cjs/oem-jlpp-modal.cjs.entry.js +1 -1
  12. package/dist/cjs/oem-jlzz-modal.cjs.entry.js +1 -1
  13. package/dist/cjs/oem-mnct-modal.cjs.entry.js +1 -1
  14. package/dist/cjs/oem-mnms-modal.cjs.entry.js +1 -1
  15. package/dist/cjs/oem-qgqjl-modal.cjs.entry.js +2 -2
  16. package/dist/cjs/pcm-hr-chat-modal.cjs.entry.js +1 -1
  17. package/dist/cjs/pcm-jlsx-modal.cjs.entry.js +1 -1
  18. package/dist/components/components-chat-message.js +1 -1
  19. package/dist/components/components-digital-human.js +1 -1
  20. package/dist/components/components-export-records-modal.js +1 -1
  21. package/dist/components/components-mobile-input-btn.js +1 -1
  22. package/dist/components/components-mobile-upload-btn.js +1 -1
  23. package/dist/components/components-oem-virtual-chat-modal.js +1 -1
  24. package/dist/components/components-position-selector.js +1 -1
  25. package/dist/components/components-thousand-resume-wrapper.js +1 -1
  26. package/dist/components/components-upload.js +1 -1
  27. package/dist/components/components-voice-input-btn.js +1 -1
  28. package/dist/components/index.js +1 -1
  29. package/dist/components/oem-htws-modal.js +5 -5
  30. package/dist/components/oem-jd-modal.js +5 -5
  31. package/dist/components/oem-jlpp-modal.js +7 -7
  32. package/dist/components/oem-jlsx-modal.js +5 -5
  33. package/dist/components/oem-jlzz-modal.js +5 -5
  34. package/dist/components/oem-mnct-modal.js +7 -7
  35. package/dist/components/oem-mnms-modal.js +8 -8
  36. package/dist/components/oem-qgqjl-modal.js +9 -9
  37. package/dist/components/oem-zygh-modal.js +5 -5
  38. package/dist/components/{p-4cH8lpxV.js → p-0fzePoJn.js} +3 -3
  39. package/dist/components/{p-4cH8lpxV.js.map → p-0fzePoJn.js.map} +1 -1
  40. package/dist/components/{p-CBvY92_l.js → p-B3q6cecq.js} +3 -3
  41. package/dist/components/{p-CBvY92_l.js.map → p-B3q6cecq.js.map} +1 -1
  42. package/dist/components/{p-CwiRXzmz.js → p-BN61oJT1.js} +3 -3
  43. package/dist/components/{p-CwiRXzmz.js.map → p-BN61oJT1.js.map} +1 -1
  44. package/dist/components/{p-DeIaTwe0.js → p-BXGLTGVf.js} +5 -5
  45. package/dist/components/{p-DeIaTwe0.js.map → p-BXGLTGVf.js.map} +1 -1
  46. package/dist/components/{p-BpZYnmde.js → p-BwcYA8iD.js} +3 -3
  47. package/dist/components/{p-BpZYnmde.js.map → p-BwcYA8iD.js.map} +1 -1
  48. package/dist/components/p-CR7WLzmM.js.map +1 -1
  49. package/dist/components/{p-DaTn77_9.js → p-Cg_P6vo8.js} +3 -3
  50. package/dist/components/{p-DaTn77_9.js.map → p-Cg_P6vo8.js.map} +1 -1
  51. package/dist/components/{p-CHfls5lB.js → p-Cvt4rRFN.js} +3 -3
  52. package/dist/components/{p-CHfls5lB.js.map → p-Cvt4rRFN.js.map} +1 -1
  53. package/dist/components/{p-BEeMMmmh.js → p-DIlC3lJq.js} +3 -3
  54. package/dist/components/{p-BEeMMmmh.js.map → p-DIlC3lJq.js.map} +1 -1
  55. package/dist/components/{p-XAbfe-Eo.js → p-DgZsYjMm.js} +3 -3
  56. package/dist/components/{p-XAbfe-Eo.js.map → p-DgZsYjMm.js.map} +1 -1
  57. package/dist/components/{p-DrSY-qKH.js → p-DwGZ2_wi.js} +4 -4
  58. package/dist/components/{p-DrSY-qKH.js.map → p-DwGZ2_wi.js.map} +1 -1
  59. package/dist/components/{p-1Og82Ep0.js → p-KQnj3srV.js} +5 -5
  60. package/dist/components/{p-1Og82Ep0.js.map → p-KQnj3srV.js.map} +1 -1
  61. package/dist/components/{p-B67bLHro.js → p-QSCAjKlj.js} +3 -3
  62. package/dist/components/{p-B67bLHro.js.map → p-QSCAjKlj.js.map} +1 -1
  63. package/dist/components/{p-DLNuvdhM.js → p-TSyfSbD9.js} +3 -3
  64. package/dist/components/{p-DLNuvdhM.js.map → p-TSyfSbD9.js.map} +1 -1
  65. package/dist/components/{p-D1ef9m4W.js → p-wq5UXLw2.js} +3 -3
  66. package/dist/components/{p-D1ef9m4W.js.map → p-wq5UXLw2.js.map} +1 -1
  67. package/dist/components/pcm-1zhanshi-mnms-modal.js +5 -5
  68. package/dist/components/pcm-app-chat-modal.js +1 -1
  69. package/dist/components/pcm-ats-mnms-modal.js +5 -5
  70. package/dist/components/pcm-card.js +1 -1
  71. package/dist/components/pcm-hr-chat-modal.js +2 -2
  72. package/dist/components/pcm-htws-modal.js +8 -8
  73. package/dist/components/pcm-hyzj-modal.js +5 -5
  74. package/dist/components/pcm-jd-modal.js +6 -6
  75. package/dist/components/pcm-jlpp-modal.js +8 -8
  76. package/dist/components/pcm-jlsx-modal.js +5 -5
  77. package/dist/components/pcm-jlzz-modal.js +6 -6
  78. package/dist/components/pcm-mnct-modal.js +7 -7
  79. package/dist/components/pcm-mnms-modal.js +8 -8
  80. package/dist/components/pcm-mnms-zp-modal.js +8 -8
  81. package/dist/components/pcm-msbg-modal.js +5 -5
  82. package/dist/components/pcm-qgqjl-modal.js +9 -9
  83. package/dist/components/pcm-virtual-chat-modal.js +1 -1
  84. package/dist/components/pcm-zsk-chat-modal.js +2 -2
  85. package/dist/components/pcm-zygh-modal.js +7 -7
  86. package/dist/components/pcm-zygh-v2-modal.js +7 -7
  87. package/dist/esm/components-chat-message_33.entry.js +2 -2
  88. package/dist/esm/components-oem-virtual-chat-modal.entry.js +1 -1
  89. package/dist/esm/{conversation-utils-CJWMre9Q.js → conversation-utils-BgbMdhOM.js} +3 -3
  90. package/dist/esm/{conversation-utils-CJWMre9Q.js.map → conversation-utils-BgbMdhOM.js.map} +1 -1
  91. package/dist/esm/{index-CqLNn7P_.js → index-D06V7rA2.js} +5 -5
  92. package/dist/esm/{index-CqLNn7P_.js.map → index-D06V7rA2.js.map} +1 -1
  93. package/dist/esm/index-DA8Myhft.js.map +1 -1
  94. package/dist/esm/index.js +1 -1
  95. package/dist/esm/oem-htws-modal.entry.js +1 -1
  96. package/dist/esm/oem-jd-modal.entry.js +1 -1
  97. package/dist/esm/oem-jlpp-modal.entry.js +1 -1
  98. package/dist/esm/oem-jlzz-modal.entry.js +1 -1
  99. package/dist/esm/oem-mnct-modal.entry.js +1 -1
  100. package/dist/esm/oem-mnms-modal.entry.js +1 -1
  101. package/dist/esm/oem-qgqjl-modal.entry.js +2 -2
  102. package/dist/esm/pcm-hr-chat-modal.entry.js +1 -1
  103. package/dist/esm/pcm-jlsx-modal.entry.js +1 -1
  104. package/dist/pcm-agents/index.esm.js +1 -1
  105. package/dist/pcm-agents/{p-3aaca407.entry.js → p-014cac4c.entry.js} +2 -2
  106. package/dist/pcm-agents/{p-a9a575de.entry.js → p-226f9aa2.entry.js} +2 -2
  107. package/dist/pcm-agents/{p-a219b078.entry.js → p-2e770223.entry.js} +2 -2
  108. package/dist/pcm-agents/{p-34cd25b4.entry.js → p-37f941c3.entry.js} +2 -2
  109. package/dist/pcm-agents/{p-12a7de69.entry.js → p-6b1cb9dc.entry.js} +2 -2
  110. package/dist/pcm-agents/{p-923201ed.entry.js → p-6d1d4e9a.entry.js} +2 -2
  111. package/dist/pcm-agents/{p-beef4af4.entry.js → p-72965871.entry.js} +2 -2
  112. package/dist/pcm-agents/{p-4bc79fbc.entry.js → p-8a051368.entry.js} +2 -2
  113. package/dist/pcm-agents/{p-DY_GOKt4.js → p-C8zOW1UI.js} +2 -2
  114. package/dist/pcm-agents/{p-DY_GOKt4.js.map → p-C8zOW1UI.js.map} +1 -1
  115. package/dist/pcm-agents/p-DA8Myhft.js.map +1 -1
  116. package/dist/pcm-agents/p-DUk2E9rx.js +2 -0
  117. package/dist/pcm-agents/{p-B45ym-nq.js.map → p-DUk2E9rx.js.map} +1 -1
  118. package/dist/pcm-agents/{p-cc810fd2.entry.js → p-cd22b43b.entry.js} +2 -2
  119. package/dist/pcm-agents/{p-2c09a5e8.entry.js → p-cf4fd1f9.entry.js} +2 -2
  120. package/dist/pcm-agents/{p-eb8a3a6a.entry.js → p-d131c26e.entry.js} +2 -2
  121. package/dist/pcm-agents/pcm-agents.esm.js +1 -1
  122. package/package.json +1 -1
  123. package/dist/pcm-agents/p-B45ym-nq.js +0 -2
  124. /package/dist/pcm-agents/{p-3aaca407.entry.js.map → p-014cac4c.entry.js.map} +0 -0
  125. /package/dist/pcm-agents/{p-a9a575de.entry.js.map → p-226f9aa2.entry.js.map} +0 -0
  126. /package/dist/pcm-agents/{p-a219b078.entry.js.map → p-2e770223.entry.js.map} +0 -0
  127. /package/dist/pcm-agents/{p-34cd25b4.entry.js.map → p-37f941c3.entry.js.map} +0 -0
  128. /package/dist/pcm-agents/{p-12a7de69.entry.js.map → p-6b1cb9dc.entry.js.map} +0 -0
  129. /package/dist/pcm-agents/{p-923201ed.entry.js.map → p-6d1d4e9a.entry.js.map} +0 -0
  130. /package/dist/pcm-agents/{p-beef4af4.entry.js.map → p-72965871.entry.js.map} +0 -0
  131. /package/dist/pcm-agents/{p-4bc79fbc.entry.js.map → p-8a051368.entry.js.map} +0 -0
  132. /package/dist/pcm-agents/{p-cc810fd2.entry.js.map → p-cd22b43b.entry.js.map} +0 -0
  133. /package/dist/pcm-agents/{p-2c09a5e8.entry.js.map → p-cf4fd1f9.entry.js.map} +0 -0
  134. /package/dist/pcm-agents/{p-eb8a3a6a.entry.js.map → p-d131c26e.entry.js.map} +0 -0
@@ -2,13 +2,13 @@
2
2
 
3
3
  var index$1 = require('./index-C_qhED9Z.js');
4
4
  var index = require('./index-D5RimYc5.js');
5
- var index$2 = require('./index-a47Ewe4p.js');
5
+ var index$2 = require('./index-DPUL2SrQ.js');
6
6
  var errorEvent = require('./error-event-J_ZWIqWF.js');
7
7
  var sentryReporter = require('./sentry-reporter-uulX7WVC.js');
8
8
  var message_service = require('./message.service-BLgUOl2N.js');
9
9
  var config_store = require('./config.store-BIjicJY9.js');
10
10
  var messageUtils = require('./message-utils-C8eJnzLy.js');
11
- var conversationUtils = require('./conversation-utils-DQiNVeCN.js');
11
+ var conversationUtils = require('./conversation-utils-BFOgKiU9.js');
12
12
  require('./exports-Dc-pQh4A.js');
13
13
 
14
14
  var clipboard$1 = {exports: {}};
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('./index-C_qhED9Z.js');
4
- var index$1 = require('./index-a47Ewe4p.js');
4
+ var index$1 = require('./index-DPUL2SrQ.js');
5
5
  var messageUtils = require('./message-utils-C8eJnzLy.js');
6
6
  var errorEvent = require('./error-event-J_ZWIqWF.js');
7
7
  var config_store = require('./config.store-BIjicJY9.js');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-a47Ewe4p.js');
3
+ var index = require('./index-DPUL2SrQ.js');
4
4
  var sentryReporter = require('./sentry-reporter-uulX7WVC.js');
5
5
  var errorEvent = require('./error-event-J_ZWIqWF.js');
6
6
 
@@ -102,6 +102,6 @@ async function fetchHistoryConversations(botId, componentName, lastId = '', limi
102
102
  }
103
103
 
104
104
  exports.fetchHistoryConversations = fetchHistoryConversations;
105
- //# sourceMappingURL=conversation-utils-DQiNVeCN.js.map
105
+ //# sourceMappingURL=conversation-utils-BFOgKiU9.js.map
106
106
 
107
- //# sourceMappingURL=conversation-utils-DQiNVeCN.js.map
107
+ //# sourceMappingURL=conversation-utils-BFOgKiU9.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-utils-DQiNVeCN.js","sources":["src/utils/conversation-utils.ts"],"sourcesContent":["import { sendHttpRequest } from './utils';\r\nimport { SentryReporter } from './sentry-reporter';\r\nimport { ErrorEventBus } from './error-event';\r\nimport { ConversationItem, ConversationPageResult, ConversationDetail } from '../interfaces/chat';\r\n\r\ninterface ConversationApiItem {\r\n id: string;\r\n name?: string;\r\n created_at: number | string;\r\n updated_at: number | string;\r\n status?: string;\r\n message_count?: number;\r\n inputs?: any;\r\n}\r\n\r\ninterface ConversationApiData {\r\n data?: ConversationApiItem[];\r\n items?: ConversationApiItem[];\r\n has_more?: boolean;\r\n}\r\n\r\n/**\r\n * 格式化会话时间戳为可读字符串\r\n */\r\nfunction formatConversationTime(createdAt: number | string): string {\r\n try {\r\n const timestamp = typeof createdAt === 'string' ? parseInt(createdAt, 10) : createdAt;\r\n if (isNaN(timestamp) || timestamp <= 0) {\r\n return '未知时间';\r\n }\r\n\r\n const createdTime = new Date(timestamp * 1000);\r\n if (isNaN(createdTime.getTime())) {\r\n return '未知时间';\r\n }\r\n\r\n const now = new Date();\r\n const diffDays = Math.floor((now.getTime() - createdTime.getTime()) / (1000 * 60 * 60 * 24));\r\n const hh = createdTime.getHours().toString().padStart(2, '0');\r\n const mm = createdTime.getMinutes().toString().padStart(2, '0');\r\n const month = (createdTime.getMonth() + 1).toString().padStart(2, '0');\r\n const day = createdTime.getDate().toString().padStart(2, '0');\r\n\r\n if (diffDays === 0) {\r\n return `今天 ${hh}:${mm}`;\r\n }\r\n\r\n if (diffDays === 1) {\r\n return `昨天 ${hh}:${mm}`;\r\n }\r\n\r\n if (diffDays > 1 && diffDays < 7) {\r\n const weekdays = ['周日', '周一', '周二', '周三', '周四', '周五', '周六'];\r\n return `${weekdays[createdTime.getDay()]} ${hh}:${mm}`;\r\n }\r\n\r\n return `${month}-${day} ${hh}:${mm}`;\r\n } catch {\r\n return '时间解析失败';\r\n }\r\n}\r\n\r\n/**\r\n * 获取历史会话列表\r\n * @param botId 机器人 ID\r\n * @param componentName 调用组件名称\r\n * @param lastId 上一页最后一条会话 ID,空字符串表示第一页\r\n * @param limit 每页数量\r\n * @returns 游标分页结果\r\n */\r\nexport async function fetchHistoryConversations(\r\n botId: string,\r\n componentName: string,\r\n lastId: string = '',\r\n limit: number = 20,\r\n): Promise<ConversationPageResult> {\r\n try {\r\n const result = await sendHttpRequest<ConversationApiData>({\r\n url: '/sdk/v1/chat/conversations',\r\n method: 'GET',\r\n data: {\r\n bot_id: botId,\r\n last_id: lastId,\r\n limit,\r\n },\r\n });\r\n\r\n if (result.success && result.data) {\r\n const rawConversations: ConversationApiItem[] = result.data.data || result.data.items || [];\r\n const hasMore = typeof result.data.has_more === 'boolean'\r\n ? result.data.has_more\r\n : rawConversations.length > limit;\r\n const conversations: ConversationItem[] = rawConversations.slice(0, limit).map((conv: ConversationApiItem) => ({\r\n id: conv.id,\r\n name: conv.name || '新会话',\r\n created_at: Number(conv.created_at),\r\n updated_at: Number(conv.updated_at),\r\n status: conv.status,\r\n message_count: conv.message_count || 0,\r\n timeDisplay: formatConversationTime(conv.created_at),\r\n inputs: conv.inputs,\r\n }));\r\n\r\n return {\r\n items: conversations,\r\n hasMore,\r\n nextCursor: conversations.length > 0 ? conversations[conversations.length - 1].id : '',\r\n };\r\n }\r\n\r\n return {\r\n items: [],\r\n hasMore: false,\r\n nextCursor: '',\r\n };\r\n } catch (error) {\r\n console.error('获取历史会话失败:', error);\r\n SentryReporter.captureError(error, {\r\n action: 'fetchHistoryConversations',\r\n component: componentName,\r\n title: '获取历史会话失败',\r\n });\r\n ErrorEventBus.emitError({ error, message: '获取历史会话失败' });\r\n\r\n return {\r\n items: [],\r\n hasMore: false,\r\n nextCursor: '',\r\n };\r\n }\r\n}\r\n\r\n/**\r\n * 获取单个会话详情\r\n * @param conversationId 会话 ID\r\n * @param componentName 调用组件名称\r\n * @returns 会话详情\r\n */\r\nexport async function fetchConversationDetail(\r\n conversationId: string,\r\n componentName: string,\r\n): Promise<ConversationDetail | null> {\r\n try {\r\n const result = await sendHttpRequest<{ data: ConversationDetail }>({\r\n url: '/sdk/v1/chat/conversation',\r\n method: 'GET',\r\n data: {\r\n conversation_id: conversationId,\r\n },\r\n });\r\n\r\n if (result.success && result.data?.data) {\r\n return result.data.data;\r\n }\r\n\r\n return null;\r\n } catch (error) {\r\n console.error('获取会话详情失败:', error);\r\n SentryReporter.captureError(error, {\r\n action: 'fetchConversationDetail',\r\n component: componentName,\r\n title: '获取会话详情失败',\r\n });\r\n ErrorEventBus.emitError({ error, message: '获取会话详情失败' });\r\n\r\n return null;\r\n }\r\n}\r\n"],"names":["sendHttpRequest","SentryReporter","ErrorEventBus"],"mappings":"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"}
1
+ {"version":3,"file":"conversation-utils-BFOgKiU9.js","sources":["src/utils/conversation-utils.ts"],"sourcesContent":["import { sendHttpRequest } from './utils';\r\nimport { SentryReporter } from './sentry-reporter';\r\nimport { ErrorEventBus } from './error-event';\r\nimport { ConversationItem, ConversationPageResult, ConversationDetail } from '../interfaces/chat';\r\n\r\ninterface ConversationApiItem {\r\n id: string;\r\n name?: string;\r\n created_at: number | string;\r\n updated_at: number | string;\r\n status?: string;\r\n message_count?: number;\r\n inputs?: any;\r\n}\r\n\r\ninterface ConversationApiData {\r\n data?: ConversationApiItem[];\r\n items?: ConversationApiItem[];\r\n has_more?: boolean;\r\n}\r\n\r\n/**\r\n * 格式化会话时间戳为可读字符串\r\n */\r\nfunction formatConversationTime(createdAt: number | string): string {\r\n try {\r\n const timestamp = typeof createdAt === 'string' ? parseInt(createdAt, 10) : createdAt;\r\n if (isNaN(timestamp) || timestamp <= 0) {\r\n return '未知时间';\r\n }\r\n\r\n const createdTime = new Date(timestamp * 1000);\r\n if (isNaN(createdTime.getTime())) {\r\n return '未知时间';\r\n }\r\n\r\n const now = new Date();\r\n const diffDays = Math.floor((now.getTime() - createdTime.getTime()) / (1000 * 60 * 60 * 24));\r\n const hh = createdTime.getHours().toString().padStart(2, '0');\r\n const mm = createdTime.getMinutes().toString().padStart(2, '0');\r\n const month = (createdTime.getMonth() + 1).toString().padStart(2, '0');\r\n const day = createdTime.getDate().toString().padStart(2, '0');\r\n\r\n if (diffDays === 0) {\r\n return `今天 ${hh}:${mm}`;\r\n }\r\n\r\n if (diffDays === 1) {\r\n return `昨天 ${hh}:${mm}`;\r\n }\r\n\r\n if (diffDays > 1 && diffDays < 7) {\r\n const weekdays = ['周日', '周一', '周二', '周三', '周四', '周五', '周六'];\r\n return `${weekdays[createdTime.getDay()]} ${hh}:${mm}`;\r\n }\r\n\r\n return `${month}-${day} ${hh}:${mm}`;\r\n } catch {\r\n return '时间解析失败';\r\n }\r\n}\r\n\r\n/**\r\n * 获取历史会话列表\r\n * @param botId 机器人 ID\r\n * @param componentName 调用组件名称\r\n * @param lastId 上一页最后一条会话 ID,空字符串表示第一页\r\n * @param limit 每页数量\r\n * @returns 游标分页结果\r\n */\r\nexport async function fetchHistoryConversations(\r\n botId: string,\r\n componentName: string,\r\n lastId: string = '',\r\n limit: number = 20,\r\n): Promise<ConversationPageResult> {\r\n try {\r\n const result = await sendHttpRequest<ConversationApiData>({\r\n url: '/sdk/v1/chat/conversations',\r\n method: 'GET',\r\n data: {\r\n bot_id: botId,\r\n last_id: lastId,\r\n limit,\r\n },\r\n });\r\n\r\n if (result.success && result.data) {\r\n const rawConversations: ConversationApiItem[] = result.data.data || result.data.items || [];\r\n const hasMore = typeof result.data.has_more === 'boolean'\r\n ? result.data.has_more\r\n : rawConversations.length > limit;\r\n const conversations: ConversationItem[] = rawConversations.slice(0, limit).map((conv: ConversationApiItem) => ({\r\n id: conv.id,\r\n name: conv.name || '新会话',\r\n created_at: Number(conv.created_at),\r\n updated_at: Number(conv.updated_at),\r\n status: conv.status,\r\n message_count: conv.message_count || 0,\r\n timeDisplay: formatConversationTime(conv.created_at),\r\n inputs: conv.inputs,\r\n }));\r\n\r\n return {\r\n items: conversations,\r\n hasMore,\r\n nextCursor: conversations.length > 0 ? conversations[conversations.length - 1].id : '',\r\n };\r\n }\r\n\r\n return {\r\n items: [],\r\n hasMore: false,\r\n nextCursor: '',\r\n };\r\n } catch (error) {\r\n console.error('获取历史会话失败:', error);\r\n SentryReporter.captureError(error, {\r\n action: 'fetchHistoryConversations',\r\n component: componentName,\r\n title: '获取历史会话失败',\r\n });\r\n ErrorEventBus.emitError({ error, message: '获取历史会话失败' });\r\n\r\n return {\r\n items: [],\r\n hasMore: false,\r\n nextCursor: '',\r\n };\r\n }\r\n}\r\n\r\n/**\r\n * 获取单个会话详情\r\n * @param conversationId 会话 ID\r\n * @param componentName 调用组件名称\r\n * @returns 会话详情\r\n */\r\nexport async function fetchConversationDetail(\r\n conversationId: string,\r\n componentName: string,\r\n): Promise<ConversationDetail | null> {\r\n try {\r\n const result = await sendHttpRequest<{ data: ConversationDetail }>({\r\n url: '/sdk/v1/chat/conversation',\r\n method: 'GET',\r\n data: {\r\n conversation_id: conversationId,\r\n },\r\n });\r\n\r\n if (result.success && result.data?.data) {\r\n return result.data.data;\r\n }\r\n\r\n return null;\r\n } catch (error) {\r\n console.error('获取会话详情失败:', error);\r\n SentryReporter.captureError(error, {\r\n action: 'fetchConversationDetail',\r\n component: componentName,\r\n title: '获取会话详情失败',\r\n });\r\n ErrorEventBus.emitError({ error, message: '获取会话详情失败' });\r\n\r\n return null;\r\n }\r\n}\r\n"],"names":["sendHttpRequest","SentryReporter","ErrorEventBus"],"mappings":"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"}