pcm-agents 1.0.5-beta.1 → 1.0.5

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 (130) hide show
  1. package/dist/cjs/components-chat-message_34.cjs.entry.js +2 -2
  2. package/dist/cjs/{conversation-utils-D5CrhLD7.js → conversation-utils-CtqfWyjk.js} +3 -3
  3. package/dist/cjs/{conversation-utils-D5CrhLD7.js.map → conversation-utils-CtqfWyjk.js.map} +1 -1
  4. package/dist/cjs/index-C_qhED9Z.js.map +1 -1
  5. package/dist/cjs/{index-DpSE7XRf.js → index-DjwiIxrh.js} +5 -5
  6. package/dist/cjs/{index-DpSE7XRf.js.map → index-DjwiIxrh.js.map} +1 -1
  7. package/dist/cjs/index.cjs.js +1 -1
  8. package/dist/cjs/oem-htws-modal.cjs.entry.js +1 -1
  9. package/dist/cjs/oem-jd-modal.cjs.entry.js +1 -1
  10. package/dist/cjs/oem-jlpp-modal.cjs.entry.js +1 -1
  11. package/dist/cjs/oem-jlzz-modal.cjs.entry.js +1 -1
  12. package/dist/cjs/oem-mnct-modal.cjs.entry.js +1 -1
  13. package/dist/cjs/oem-qgqjl-modal.cjs.entry.js +2 -2
  14. package/dist/cjs/pcm-hr-chat-modal.cjs.entry.js +1 -1
  15. package/dist/cjs/pcm-jlsx-modal.cjs.entry.js +1 -1
  16. package/dist/cjs/pcm-mnms-modal.cjs.entry.js +1 -1
  17. package/dist/components/components-chat-message.js +1 -1
  18. package/dist/components/components-digital-human.js +1 -1
  19. package/dist/components/components-export-records-modal.js +1 -1
  20. package/dist/components/components-mobile-input-btn.js +1 -1
  21. package/dist/components/components-mobile-upload-btn.js +1 -1
  22. package/dist/components/components-oem-virtual-chat-modal.js +1 -1
  23. package/dist/components/components-position-selector.js +1 -1
  24. package/dist/components/components-thousand-resume-wrapper.js +1 -1
  25. package/dist/components/components-upload.js +1 -1
  26. package/dist/components/components-voice-input-btn.js +1 -1
  27. package/dist/components/index.js +1 -1
  28. package/dist/components/oem-htws-modal.js +5 -5
  29. package/dist/components/oem-jd-modal.js +5 -5
  30. package/dist/components/oem-jlpp-modal.js +7 -7
  31. package/dist/components/oem-jlsx-modal.js +5 -5
  32. package/dist/components/oem-jlzz-modal.js +5 -5
  33. package/dist/components/oem-mnct-modal.js +7 -7
  34. package/dist/components/oem-mnms-modal.js +8 -8
  35. package/dist/components/oem-qgqjl-modal.js +9 -9
  36. package/dist/components/oem-zygh-modal.js +5 -5
  37. package/dist/components/{p-DUoBBltG.js → p-6DFSErLz.js} +5 -5
  38. package/dist/components/{p-DUoBBltG.js.map → p-6DFSErLz.js.map} +1 -1
  39. package/dist/components/{p-By4CoWQH.js → p-BUsDMuD3.js} +3 -3
  40. package/dist/components/{p-By4CoWQH.js.map → p-BUsDMuD3.js.map} +1 -1
  41. package/dist/components/{p-BXU2Qwef.js → p-BfGmWNQl.js} +5 -5
  42. package/dist/components/{p-BXU2Qwef.js.map → p-BfGmWNQl.js.map} +1 -1
  43. package/dist/components/{p-C079ESAf.js → p-BrqabR-j.js} +3 -3
  44. package/dist/components/{p-C079ESAf.js.map → p-BrqabR-j.js.map} +1 -1
  45. package/dist/components/{p-BoHBom3E.js → p-ByhieQTZ.js} +3 -3
  46. package/dist/components/{p-BoHBom3E.js.map → p-ByhieQTZ.js.map} +1 -1
  47. package/dist/components/{p-DBsfmY3j.js → p-CNvgKUkT.js} +3 -3
  48. package/dist/components/{p-DBsfmY3j.js.map → p-CNvgKUkT.js.map} +1 -1
  49. package/dist/components/p-CR7WLzmM.js.map +1 -1
  50. package/dist/components/{p-CbPAsd_A.js → p-CUB7SkgT.js} +3 -3
  51. package/dist/components/{p-CbPAsd_A.js.map → p-CUB7SkgT.js.map} +1 -1
  52. package/dist/components/{p-Cj2qF_F6.js → p-CuSvTsR9.js} +3 -3
  53. package/dist/components/{p-Cj2qF_F6.js.map → p-CuSvTsR9.js.map} +1 -1
  54. package/dist/components/{p-DKtvIN3X.js → p-DCXGgFU_.js} +3 -3
  55. package/dist/components/{p-DKtvIN3X.js.map → p-DCXGgFU_.js.map} +1 -1
  56. package/dist/components/{p-DvTOKP4U.js → p-DQT6Eu_k.js} +3 -3
  57. package/dist/components/{p-DvTOKP4U.js.map → p-DQT6Eu_k.js.map} +1 -1
  58. package/dist/components/{p-CgBSZhWt.js → p-DSjCE1H5.js} +3 -3
  59. package/dist/components/{p-CgBSZhWt.js.map → p-DSjCE1H5.js.map} +1 -1
  60. package/dist/components/{p-BBJ8ifqL.js → p-Dev2ejUC.js} +3 -3
  61. package/dist/components/{p-BBJ8ifqL.js.map → p-Dev2ejUC.js.map} +1 -1
  62. package/dist/components/{p-B7aMYLBX.js → p-QTkJYrid.js} +4 -4
  63. package/dist/components/{p-B7aMYLBX.js.map → p-QTkJYrid.js.map} +1 -1
  64. package/dist/components/{p-CRI-wT6y.js → p-l6-kVCwa.js} +3 -3
  65. package/dist/components/{p-CRI-wT6y.js.map → p-l6-kVCwa.js.map} +1 -1
  66. package/dist/components/pcm-1zhanshi-mnms-modal.js +5 -5
  67. package/dist/components/pcm-app-chat-modal.js +1 -1
  68. package/dist/components/pcm-ats-mnms-modal.js +5 -5
  69. package/dist/components/pcm-card.js +1 -1
  70. package/dist/components/pcm-hr-chat-modal.js +2 -2
  71. package/dist/components/pcm-htws-modal.js +8 -8
  72. package/dist/components/pcm-hyzj-modal.js +5 -5
  73. package/dist/components/pcm-jd-modal.js +6 -6
  74. package/dist/components/pcm-jlpp-modal.js +8 -8
  75. package/dist/components/pcm-jlsx-modal.js +5 -5
  76. package/dist/components/pcm-jlzz-modal.js +6 -6
  77. package/dist/components/pcm-mnct-modal.js +7 -7
  78. package/dist/components/pcm-mnms-modal.js +8 -8
  79. package/dist/components/pcm-mnms-zp-modal.js +8 -8
  80. package/dist/components/pcm-msbg-modal.js +5 -5
  81. package/dist/components/pcm-qgqjl-modal.js +9 -9
  82. package/dist/components/pcm-virtual-chat-modal.js +1 -1
  83. package/dist/components/pcm-zsk-chat-modal.js +2 -2
  84. package/dist/components/pcm-zygh-modal.js +7 -7
  85. package/dist/components/pcm-zygh-v2-modal.js +7 -7
  86. package/dist/esm/components-chat-message_34.entry.js +2 -2
  87. package/dist/esm/{conversation-utils-z8g0C3w_.js → conversation-utils-CYf3kXhY.js} +3 -3
  88. package/dist/esm/{conversation-utils-z8g0C3w_.js.map → conversation-utils-CYf3kXhY.js.map} +1 -1
  89. package/dist/esm/{index-BAgZPzYy.js → index-Bz5Co8pj.js} +5 -5
  90. package/dist/esm/{index-BAgZPzYy.js.map → index-Bz5Co8pj.js.map} +1 -1
  91. package/dist/esm/index-DA8Myhft.js.map +1 -1
  92. package/dist/esm/index.js +1 -1
  93. package/dist/esm/oem-htws-modal.entry.js +1 -1
  94. package/dist/esm/oem-jd-modal.entry.js +1 -1
  95. package/dist/esm/oem-jlpp-modal.entry.js +1 -1
  96. package/dist/esm/oem-jlzz-modal.entry.js +1 -1
  97. package/dist/esm/oem-mnct-modal.entry.js +1 -1
  98. package/dist/esm/oem-qgqjl-modal.entry.js +2 -2
  99. package/dist/esm/pcm-hr-chat-modal.entry.js +1 -1
  100. package/dist/esm/pcm-jlsx-modal.entry.js +1 -1
  101. package/dist/esm/pcm-mnms-modal.entry.js +1 -1
  102. package/dist/pcm-agents/index.esm.js +1 -1
  103. package/dist/pcm-agents/{p-653ae4d8.entry.js → p-0617e6f1.entry.js} +2 -2
  104. package/dist/pcm-agents/{p-36a4e407.entry.js → p-1a01b4fc.entry.js} +2 -2
  105. package/dist/pcm-agents/{p-b0fe7f71.entry.js → p-372e7a6f.entry.js} +2 -2
  106. package/dist/pcm-agents/{p-ea33c537.entry.js → p-486793b9.entry.js} +2 -2
  107. package/dist/pcm-agents/{p-8650017e.entry.js → p-6f82d6c6.entry.js} +2 -2
  108. package/dist/pcm-agents/{p-41c29e35.entry.js → p-9259b43e.entry.js} +2 -2
  109. package/dist/pcm-agents/p-BPY4JZY3.js +2 -0
  110. package/dist/pcm-agents/{p-BwQEepqV.js.map → p-BPY4JZY3.js.map} +1 -1
  111. package/dist/pcm-agents/p-DA8Myhft.js.map +1 -1
  112. package/dist/pcm-agents/{p-bfdb9795.entry.js → p-bc894cc5.entry.js} +2 -2
  113. package/dist/pcm-agents/{p-14e71311.entry.js → p-c2de4bf9.entry.js} +2 -2
  114. package/dist/pcm-agents/{p-C3_seZTj.js → p-dDgC2F6T.js} +2 -2
  115. package/dist/pcm-agents/{p-C3_seZTj.js.map → p-dDgC2F6T.js.map} +1 -1
  116. package/dist/pcm-agents/{p-6bf0918f.entry.js → p-df3fd806.entry.js} +2 -2
  117. package/dist/pcm-agents/{p-6fafa52c.entry.js → p-e22e39c0.entry.js} +2 -2
  118. package/dist/pcm-agents/pcm-agents.esm.js +1 -1
  119. package/package.json +1 -1
  120. package/dist/pcm-agents/p-BwQEepqV.js +0 -2
  121. /package/dist/pcm-agents/{p-653ae4d8.entry.js.map → p-0617e6f1.entry.js.map} +0 -0
  122. /package/dist/pcm-agents/{p-36a4e407.entry.js.map → p-1a01b4fc.entry.js.map} +0 -0
  123. /package/dist/pcm-agents/{p-b0fe7f71.entry.js.map → p-372e7a6f.entry.js.map} +0 -0
  124. /package/dist/pcm-agents/{p-ea33c537.entry.js.map → p-486793b9.entry.js.map} +0 -0
  125. /package/dist/pcm-agents/{p-8650017e.entry.js.map → p-6f82d6c6.entry.js.map} +0 -0
  126. /package/dist/pcm-agents/{p-41c29e35.entry.js.map → p-9259b43e.entry.js.map} +0 -0
  127. /package/dist/pcm-agents/{p-bfdb9795.entry.js.map → p-bc894cc5.entry.js.map} +0 -0
  128. /package/dist/pcm-agents/{p-14e71311.entry.js.map → p-c2de4bf9.entry.js.map} +0 -0
  129. /package/dist/pcm-agents/{p-6bf0918f.entry.js.map → p-df3fd806.entry.js.map} +0 -0
  130. /package/dist/pcm-agents/{p-6fafa52c.entry.js.map → p-e22e39c0.entry.js.map} +0 -0
@@ -2,12 +2,12 @@
2
2
 
3
3
  var index = require('./index-C_qhED9Z.js');
4
4
  var messageUtils = require('./message-utils-DbTqMOA1.js');
5
- var index$1 = require('./index-DpSE7XRf.js');
5
+ var index$1 = require('./index-DjwiIxrh.js');
6
6
  var errorEvent = require('./error-event-J_ZWIqWF.js');
7
7
  var sentryReporter = require('./sentry-reporter-uulX7WVC.js');
8
8
  var config_store = require('./config.store-BIjicJY9.js');
9
9
  var message_service = require('./message.service-BLgUOl2N.js');
10
- var conversationUtils = require('./conversation-utils-D5CrhLD7.js');
10
+ var conversationUtils = require('./conversation-utils-CtqfWyjk.js');
11
11
  require('./exports-Dc-pQh4A.js');
12
12
 
13
13
  var clipboard$1 = {exports: {}};
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-DpSE7XRf.js');
3
+ var index = require('./index-DjwiIxrh.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-D5CrhLD7.js.map
105
+ //# sourceMappingURL=conversation-utils-CtqfWyjk.js.map
106
106
 
107
- //# sourceMappingURL=conversation-utils-D5CrhLD7.js.map
107
+ //# sourceMappingURL=conversation-utils-CtqfWyjk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-utils-D5CrhLD7.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-CtqfWyjk.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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"}