@dofe/infra-shared-services 0.1.17 → 0.1.18

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 (267) hide show
  1. package/dist/agentx/agentx-client.module.d.ts.map +1 -1
  2. package/dist/agentx/agentx-client.module.js.map +1 -1
  3. package/dist/agentx/agentx-client.service.d.ts.map +1 -1
  4. package/dist/agentx/agentx-client.service.js.map +1 -1
  5. package/dist/agentx/agentx-file-client.service.d.ts.map +1 -1
  6. package/dist/agentx/agentx-file-client.service.js.map +1 -1
  7. package/dist/agentx/index.d.ts.map +1 -1
  8. package/dist/agentx/index.js.map +1 -1
  9. package/dist/agentx/interfaces/file.interface.d.ts.map +1 -1
  10. package/dist/agentx/interfaces/file.interface.js.map +1 -1
  11. package/dist/agentx/interfaces/task.interface.d.ts.map +1 -1
  12. package/dist/agentx/interfaces/task.interface.js.map +1 -1
  13. package/dist/email/dto/email.dto.d.ts +70 -0
  14. package/dist/email/dto/email.dto.d.ts.map +1 -0
  15. package/dist/email/dto/email.dto.js +58 -0
  16. package/dist/email/dto/email.dto.js.map +1 -0
  17. package/dist/email/email.module.d.ts.map +1 -1
  18. package/dist/email/email.module.js.map +1 -1
  19. package/dist/email/email.service.d.ts.map +1 -1
  20. package/dist/email/email.service.js.map +1 -1
  21. package/dist/email/index.d.ts +5 -0
  22. package/dist/email/index.d.ts.map +1 -0
  23. package/dist/email/index.js +26 -0
  24. package/dist/email/index.js.map +1 -0
  25. package/dist/file-cdn/dto/file-cdn.dto.d.ts.map +1 -1
  26. package/dist/file-cdn/dto/file-cdn.dto.js.map +1 -1
  27. package/dist/file-cdn/file-cdn.client.d.ts +1 -1
  28. package/dist/file-cdn/file-cdn.client.d.ts.map +1 -1
  29. package/dist/file-cdn/file-cdn.client.js +2 -2
  30. package/dist/file-cdn/file-cdn.client.js.map +1 -1
  31. package/dist/file-cdn/file-cdn.module.d.ts.map +1 -1
  32. package/dist/file-cdn/file-cdn.module.js +2 -2
  33. package/dist/file-cdn/file-cdn.module.js.map +1 -1
  34. package/dist/file-cdn/index.d.ts.map +1 -1
  35. package/dist/file-cdn/index.js.map +1 -1
  36. package/dist/file-storage/bucket-resolver.d.ts +1 -1
  37. package/dist/file-storage/bucket-resolver.d.ts.map +1 -1
  38. package/dist/file-storage/bucket-resolver.js.map +1 -1
  39. package/dist/file-storage/file-storage.factory.d.ts +1 -1
  40. package/dist/file-storage/file-storage.factory.d.ts.map +1 -1
  41. package/dist/file-storage/file-storage.factory.js +7 -7
  42. package/dist/file-storage/file-storage.factory.js.map +1 -1
  43. package/dist/file-storage/file-storage.module.d.ts.map +1 -1
  44. package/dist/file-storage/file-storage.module.js.map +1 -1
  45. package/dist/file-storage/file-storage.service.d.ts +1 -1
  46. package/dist/file-storage/file-storage.service.d.ts.map +1 -1
  47. package/dist/file-storage/file-storage.service.js.map +1 -1
  48. package/dist/file-storage/index.d.ts +1 -1
  49. package/dist/file-storage/index.d.ts.map +1 -1
  50. package/dist/file-storage/index.js.map +1 -1
  51. package/dist/file-storage/types.d.ts +1 -1
  52. package/dist/file-storage/types.d.ts.map +1 -1
  53. package/dist/file-storage/types.js.map +1 -1
  54. package/dist/index.d.ts +3 -0
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +3 -0
  57. package/dist/index.js.map +1 -1
  58. package/dist/ip-geo/continent-mapping.d.ts.map +1 -1
  59. package/dist/ip-geo/continent-mapping.js.map +1 -1
  60. package/dist/ip-geo/index.d.ts +33 -0
  61. package/dist/ip-geo/index.d.ts.map +1 -0
  62. package/dist/ip-geo/index.js +41 -0
  63. package/dist/ip-geo/index.js.map +1 -0
  64. package/dist/ip-geo/ip-geo.module.d.ts.map +1 -1
  65. package/dist/ip-geo/ip-geo.module.js.map +1 -1
  66. package/dist/ip-geo/ip-geo.service.d.ts.map +1 -1
  67. package/dist/ip-geo/ip-geo.service.js.map +1 -1
  68. package/dist/ip-info/index.d.ts +7 -0
  69. package/dist/ip-info/index.d.ts.map +1 -0
  70. package/dist/ip-info/index.js +13 -0
  71. package/dist/ip-info/index.js.map +1 -0
  72. package/dist/ip-info/ip-info.client.d.ts.map +1 -1
  73. package/dist/ip-info/ip-info.client.js.map +1 -1
  74. package/dist/ip-info/ip-info.module.d.ts.map +1 -1
  75. package/dist/ip-info/ip-info.module.js.map +1 -1
  76. package/dist/ip-info/ip-info.service.d.ts.map +1 -1
  77. package/dist/ip-info/ip-info.service.js +2 -3
  78. package/dist/ip-info/ip-info.service.js.map +1 -1
  79. package/dist/ip-info-client/dto/ip-info.dto.d.ts.map +1 -1
  80. package/dist/ip-info-client/dto/ip-info.dto.js.map +1 -1
  81. package/dist/ip-info-client/index.d.ts.map +1 -1
  82. package/dist/ip-info-client/index.js.map +1 -1
  83. package/dist/ip-info-client/ip-info.client.d.ts.map +1 -1
  84. package/dist/ip-info-client/ip-info.client.js.map +1 -1
  85. package/dist/ip-info-client/ip-info.module.d.ts.map +1 -1
  86. package/dist/ip-info-client/ip-info.module.js.map +1 -1
  87. package/dist/notification/index.d.ts.map +1 -1
  88. package/dist/notification/index.js.map +1 -1
  89. package/dist/notification/notification.module.d.ts.map +1 -1
  90. package/dist/notification/notification.module.js.map +1 -1
  91. package/dist/notification/notification.service.d.ts.map +1 -1
  92. package/dist/notification/notification.service.js.map +1 -1
  93. package/dist/notification/notification.types.d.ts.map +1 -1
  94. package/dist/notification/notification.types.js.map +1 -1
  95. package/dist/ocr/index.d.ts +33 -0
  96. package/dist/ocr/index.d.ts.map +1 -0
  97. package/dist/ocr/index.js +53 -0
  98. package/dist/ocr/index.js.map +1 -0
  99. package/dist/ocr/ocr.module.d.ts.map +1 -1
  100. package/dist/ocr/ocr.module.js.map +1 -1
  101. package/dist/ocr/ocr.service.d.ts.map +1 -1
  102. package/dist/ocr/ocr.service.js.map +1 -1
  103. package/dist/openspeech/index.d.ts +35 -0
  104. package/dist/openspeech/index.d.ts.map +1 -0
  105. package/dist/openspeech/index.js +56 -0
  106. package/dist/openspeech/index.js.map +1 -0
  107. package/dist/openspeech/openspeech.client.d.ts +304 -0
  108. package/dist/openspeech/openspeech.client.d.ts.map +1 -0
  109. package/dist/openspeech/openspeech.client.js +405 -0
  110. package/dist/openspeech/openspeech.client.js.map +1 -0
  111. package/dist/openspeech/openspeech.factory.d.ts +247 -0
  112. package/dist/openspeech/openspeech.factory.d.ts.map +1 -0
  113. package/dist/openspeech/openspeech.factory.js +406 -0
  114. package/dist/openspeech/openspeech.factory.js.map +1 -0
  115. package/dist/openspeech/openspeech.module.d.ts +45 -0
  116. package/dist/openspeech/openspeech.module.d.ts.map +1 -0
  117. package/dist/openspeech/openspeech.module.js +68 -0
  118. package/dist/openspeech/openspeech.module.js.map +1 -0
  119. package/dist/openspeech/providers/aliyun.provider.d.ts +125 -0
  120. package/dist/openspeech/providers/aliyun.provider.d.ts.map +1 -0
  121. package/dist/openspeech/providers/aliyun.provider.js +274 -0
  122. package/dist/openspeech/providers/aliyun.provider.js.map +1 -0
  123. package/dist/openspeech/providers/base.provider.d.ts +98 -0
  124. package/dist/openspeech/providers/base.provider.d.ts.map +1 -0
  125. package/dist/openspeech/providers/base.provider.js +87 -0
  126. package/dist/openspeech/providers/base.provider.js.map +1 -0
  127. package/dist/openspeech/providers/index.d.ts +10 -0
  128. package/dist/openspeech/providers/index.d.ts.map +1 -0
  129. package/dist/openspeech/providers/index.js +26 -0
  130. package/dist/openspeech/providers/index.js.map +1 -0
  131. package/dist/openspeech/providers/volcengine-streaming.provider.d.ts +291 -0
  132. package/dist/openspeech/providers/volcengine-streaming.provider.d.ts.map +1 -0
  133. package/dist/openspeech/providers/volcengine-streaming.provider.js +1358 -0
  134. package/dist/openspeech/providers/volcengine-streaming.provider.js.map +1 -0
  135. package/dist/openspeech/providers/volcengine.provider.d.ts +144 -0
  136. package/dist/openspeech/providers/volcengine.provider.d.ts.map +1 -0
  137. package/dist/openspeech/providers/volcengine.provider.js +337 -0
  138. package/dist/openspeech/providers/volcengine.provider.js.map +1 -0
  139. package/dist/openspeech/types.d.ts +408 -0
  140. package/dist/openspeech/types.d.ts.map +1 -0
  141. package/dist/openspeech/types.js +11 -0
  142. package/dist/openspeech/types.js.map +1 -0
  143. package/dist/sms/index.d.ts +5 -0
  144. package/dist/sms/index.d.ts.map +1 -0
  145. package/dist/sms/index.js +29 -0
  146. package/dist/sms/index.js.map +1 -0
  147. package/dist/sms/sms.factory.d.ts.map +1 -1
  148. package/dist/sms/sms.factory.js +6 -6
  149. package/dist/sms/sms.factory.js.map +1 -1
  150. package/dist/sms/sms.module.d.ts.map +1 -1
  151. package/dist/sms/sms.module.js.map +1 -1
  152. package/dist/sms/sms.service.d.ts.map +1 -1
  153. package/dist/sms/sms.service.js.map +1 -1
  154. package/dist/sms/types.d.ts.map +1 -1
  155. package/dist/sms/types.js.map +1 -1
  156. package/dist/streaming-asr/index.d.ts +45 -0
  157. package/dist/streaming-asr/index.d.ts.map +1 -0
  158. package/dist/streaming-asr/index.js +66 -0
  159. package/dist/streaming-asr/index.js.map +1 -0
  160. package/dist/streaming-asr/streaming-asr.module.d.ts.map +1 -1
  161. package/dist/streaming-asr/streaming-asr.module.js.map +1 -1
  162. package/dist/streaming-asr/streaming-asr.service.d.ts.map +1 -1
  163. package/dist/streaming-asr/streaming-asr.service.js.map +1 -1
  164. package/dist/streaming-asr/types.d.ts.map +1 -1
  165. package/dist/streaming-asr/types.js.map +1 -1
  166. package/dist/system-health/index.d.ts +7 -0
  167. package/dist/system-health/index.d.ts.map +1 -0
  168. package/dist/system-health/index.js +25 -0
  169. package/dist/system-health/index.js.map +1 -0
  170. package/dist/system-health/system-health.controller.d.ts.map +1 -1
  171. package/dist/system-health/system-health.controller.js.map +1 -1
  172. package/dist/system-health/system-health.module.d.ts.map +1 -1
  173. package/dist/system-health/system-health.module.js.map +1 -1
  174. package/dist/system-health/system-health.service.d.ts.map +1 -1
  175. package/dist/system-health/system-health.service.js.map +1 -1
  176. package/dist/transcode/config/aliyun-oss.config.d.ts +14 -0
  177. package/dist/transcode/config/aliyun-oss.config.d.ts.map +1 -0
  178. package/dist/transcode/config/aliyun-oss.config.js +3 -0
  179. package/dist/transcode/config/aliyun-oss.config.js.map +1 -0
  180. package/dist/transcode/config/transcode.config.d.ts +55 -0
  181. package/dist/transcode/config/transcode.config.d.ts.map +1 -0
  182. package/dist/transcode/config/transcode.config.js +97 -0
  183. package/dist/transcode/config/transcode.config.js.map +1 -0
  184. package/dist/transcode/index.d.ts +27 -0
  185. package/dist/transcode/index.d.ts.map +1 -0
  186. package/dist/transcode/index.js +55 -0
  187. package/dist/transcode/index.js.map +1 -0
  188. package/dist/transcode/modules/aliyun-imm/aliyun-imm.client.d.ts +157 -0
  189. package/dist/transcode/modules/aliyun-imm/aliyun-imm.client.d.ts.map +1 -0
  190. package/dist/transcode/modules/aliyun-imm/aliyun-imm.client.js +879 -0
  191. package/dist/transcode/modules/aliyun-imm/aliyun-imm.client.js.map +1 -0
  192. package/dist/transcode/modules/aliyun-imm/aliyun-imm.module.d.ts +3 -0
  193. package/dist/transcode/modules/aliyun-imm/aliyun-imm.module.d.ts.map +1 -0
  194. package/dist/transcode/modules/aliyun-imm/aliyun-imm.module.js +23 -0
  195. package/dist/transcode/modules/aliyun-imm/aliyun-imm.module.js.map +1 -0
  196. package/dist/transcode/modules/aliyun-oss/aliyun-oss-transcode.client.d.ts +252 -0
  197. package/dist/transcode/modules/aliyun-oss/aliyun-oss-transcode.client.d.ts.map +1 -0
  198. package/dist/transcode/modules/aliyun-oss/aliyun-oss-transcode.client.js +1368 -0
  199. package/dist/transcode/modules/aliyun-oss/aliyun-oss-transcode.client.js.map +1 -0
  200. package/dist/transcode/modules/aliyun-oss/aliyun-oss-transcode.module.d.ts +3 -0
  201. package/dist/transcode/modules/aliyun-oss/aliyun-oss-transcode.module.d.ts.map +1 -0
  202. package/dist/transcode/modules/aliyun-oss/aliyun-oss-transcode.module.js +25 -0
  203. package/dist/transcode/modules/aliyun-oss/aliyun-oss-transcode.module.js.map +1 -0
  204. package/dist/transcode/modules/transcode-strategy/transcode-strategy.client.d.ts +118 -0
  205. package/dist/transcode/modules/transcode-strategy/transcode-strategy.client.d.ts.map +1 -0
  206. package/dist/transcode/modules/transcode-strategy/transcode-strategy.client.js +565 -0
  207. package/dist/transcode/modules/transcode-strategy/transcode-strategy.client.js.map +1 -0
  208. package/dist/transcode/modules/transcode-strategy/transcode-strategy.module.d.ts +3 -0
  209. package/dist/transcode/modules/transcode-strategy/transcode-strategy.module.d.ts.map +1 -0
  210. package/dist/transcode/modules/transcode-strategy/transcode-strategy.module.js +33 -0
  211. package/dist/transcode/modules/transcode-strategy/transcode-strategy.module.js.map +1 -0
  212. package/dist/transcode/modules/volcengine-tos/volcengine-tos-transcode.client.d.ts +93 -0
  213. package/dist/transcode/modules/volcengine-tos/volcengine-tos-transcode.client.d.ts.map +1 -0
  214. package/dist/transcode/modules/volcengine-tos/volcengine-tos-transcode.client.js +487 -0
  215. package/dist/transcode/modules/volcengine-tos/volcengine-tos-transcode.client.js.map +1 -0
  216. package/dist/transcode/modules/volcengine-tos/volcengine-tos-transcode.dto.d.ts +505 -0
  217. package/dist/transcode/modules/volcengine-tos/volcengine-tos-transcode.dto.d.ts.map +1 -0
  218. package/dist/transcode/modules/volcengine-tos/volcengine-tos-transcode.dto.js +10 -0
  219. package/dist/transcode/modules/volcengine-tos/volcengine-tos-transcode.dto.js.map +1 -0
  220. package/dist/transcode/modules/volcengine-tos/volcengine-tos-transcode.module.d.ts +3 -0
  221. package/dist/transcode/modules/volcengine-tos/volcengine-tos-transcode.module.d.ts.map +1 -0
  222. package/dist/transcode/modules/volcengine-tos/volcengine-tos-transcode.module.js +31 -0
  223. package/dist/transcode/modules/volcengine-tos/volcengine-tos-transcode.module.js.map +1 -0
  224. package/dist/transcode/types/transcode.types.d.ts +93 -0
  225. package/dist/transcode/types/transcode.types.d.ts.map +1 -0
  226. package/dist/transcode/types/transcode.types.js +3 -0
  227. package/dist/transcode/types/transcode.types.js.map +1 -0
  228. package/dist/transcode/utils/file.validator.d.ts +43 -0
  229. package/dist/transcode/utils/file.validator.d.ts.map +1 -0
  230. package/dist/transcode/utils/file.validator.js +126 -0
  231. package/dist/transcode/utils/file.validator.js.map +1 -0
  232. package/dist/transcode/utils/transcode.helper.d.ts +42 -0
  233. package/dist/transcode/utils/transcode.helper.d.ts.map +1 -0
  234. package/dist/transcode/utils/transcode.helper.js +221 -0
  235. package/dist/transcode/utils/transcode.helper.js.map +1 -0
  236. package/dist/uploader/index.d.ts +3 -0
  237. package/dist/uploader/index.d.ts.map +1 -0
  238. package/dist/uploader/index.js +8 -0
  239. package/dist/uploader/index.js.map +1 -0
  240. package/dist/uploader/uploader.module.d.ts.map +1 -1
  241. package/dist/uploader/uploader.module.js.map +1 -1
  242. package/dist/uploader/uploader.service.d.ts +1 -1
  243. package/dist/uploader/uploader.service.d.ts.map +1 -1
  244. package/dist/uploader/uploader.service.js.map +1 -1
  245. package/dist/verify/index.d.ts.map +1 -1
  246. package/dist/verify/index.js.map +1 -1
  247. package/dist/verify/verify.client.d.ts.map +1 -1
  248. package/dist/verify/verify.client.js.map +1 -1
  249. package/dist/verify/verify.module.d.ts.map +1 -1
  250. package/dist/verify/verify.module.js.map +1 -1
  251. package/dist/volcengine-tts/dto/tts.dto.d.ts +52 -0
  252. package/dist/volcengine-tts/dto/tts.dto.d.ts.map +1 -0
  253. package/dist/volcengine-tts/dto/tts.dto.js +59 -0
  254. package/dist/volcengine-tts/dto/tts.dto.js.map +1 -0
  255. package/dist/volcengine-tts/index.d.ts +4 -0
  256. package/dist/volcengine-tts/index.d.ts.map +1 -0
  257. package/dist/volcengine-tts/index.js +20 -0
  258. package/dist/volcengine-tts/index.js.map +1 -0
  259. package/dist/volcengine-tts/volcengine-tts.client.d.ts +104 -0
  260. package/dist/volcengine-tts/volcengine-tts.client.d.ts.map +1 -0
  261. package/dist/volcengine-tts/volcengine-tts.client.js +690 -0
  262. package/dist/volcengine-tts/volcengine-tts.client.js.map +1 -0
  263. package/dist/volcengine-tts/volcengine-tts.module.d.ts +3 -0
  264. package/dist/volcengine-tts/volcengine-tts.module.d.ts.map +1 -0
  265. package/dist/volcengine-tts/volcengine-tts.module.js +34 -0
  266. package/dist/volcengine-tts/volcengine-tts.module.js.map +1 -0
  267. package/package.json +83 -9
@@ -0,0 +1,304 @@
1
+ /**
2
+ * @fileoverview OpenSpeech 语音识别服务客户端
3
+ *
4
+ * 本文件是语音识别服务的统一入口(Facade 模式),提供了简洁的 API 接口,
5
+ * 内部通过工厂模式委托给具体的云服务商实现。
6
+ *
7
+ * 架构说明:
8
+ * ```
9
+ * ┌─────────────────────────────────────────────────────────────┐
10
+ * │ OpenspeechClient │
11
+ * │ (Facade 门面) │
12
+ * └─────────────────────────────┬───────────────────────────────┘
13
+ * │
14
+ * ▼
15
+ * ┌─────────────────────────────────────────────────────────────┐
16
+ * │ OpenspeechProviderFactory │
17
+ * │ (工厂模式) │
18
+ * └──────────────┬──────────────────────────────┬───────────────┘
19
+ * │ │
20
+ * ▼ ▼
21
+ * ┌──────────────────────────┐ ┌──────────────────────────────┐
22
+ * │ AliyunOpenspeechProvider │ │ VolcengineOpenspeechProvider │
23
+ * │ (阿里云实现) │ │ (火山引擎实现) │
24
+ * └──────────────────────────┘ └──────────────────────────────┘
25
+ * ```
26
+ *
27
+ * @module openspeech/client
28
+ */
29
+ import { Logger } from 'winston';
30
+ import { FileBucketVendor, FileSource } from '@prisma/client';
31
+ import { FileStorageService } from '../file-storage/file-storage.service';
32
+ import { OpenspeechProviderFactory } from './openspeech.factory';
33
+ import { SubmitTaskResult, TaskStatusResult, StreamingConnectParams, StreamingAsrCallbacks, StreamingAsrStatus, IStreamingAsrProvider } from './types';
34
+ /**
35
+ * OpenSpeech 语音识别服务客户端
36
+ *
37
+ * @description 作为语音识别服务的统一门面,提供以下核心功能:
38
+ *
39
+ * 1. **任务提交** - `submitTranscribeTask`
40
+ * 根据 FileKey 自动选择云服务商,提交语音识别任务
41
+ *
42
+ * 2. **状态查询** - `queryTranscribeTaskStatus`
43
+ * 查询指定任务的处理状态和结果
44
+ *
45
+ * 3. **同步识别** - `transcribeFromFileKey`
46
+ * 提交任务并轮询等待结果(阻塞式,向后兼容)
47
+ *
48
+ * 云服务商选择逻辑:
49
+ * - 优先使用 `preferVendor` 参数指定的云服务商
50
+ * - 默认根据 FileKey 的 vendor 字段选择
51
+ * - oss -> 阿里云, tos -> 火山引擎
52
+ *
53
+ * @class OpenspeechClient
54
+ *
55
+ * @example
56
+ * ```typescript
57
+ * // 注入客户端
58
+ * @Injectable()
59
+ * class VideoService {
60
+ * constructor(private readonly openspeech: OpenspeechClient) {}
61
+ *
62
+ * // 异步任务模式(推荐)
63
+ * async startTranscription(fileKey: FileKey) {
64
+ * const { vendor, vendorTaskId } = await this.openspeech.submitTranscribeTask(fileKey);
65
+ * // 保存 vendorTaskId,通过回调或轮询获取结果
66
+ * return { vendor, vendorTaskId };
67
+ * }
68
+ *
69
+ * // 查询任务状态
70
+ * async checkStatus(vendor: FileBucketVendor, taskId: string) {
71
+ * return await this.openspeech.queryTranscribeTaskStatus(vendor, taskId);
72
+ * }
73
+ *
74
+ * // 同步模式(阻塞等待,适用于简单场景)
75
+ * async transcribeSync(fileKey: FileKey) {
76
+ * return await this.openspeech.transcribeFromFileKey(fileKey);
77
+ * }
78
+ * }
79
+ * ```
80
+ */
81
+ export declare class OpenspeechClient {
82
+ private readonly fileApi;
83
+ private readonly providerFactory;
84
+ private readonly logger;
85
+ /**
86
+ * 构造函数
87
+ *
88
+ * @param {FileStorageService} fileApi - 文件存储服务
89
+ * @param {OpenspeechProviderFactory} providerFactory - 提供商工厂
90
+ * @param {Logger} logger - Winston 日志记录器
91
+ */
92
+ constructor(fileApi: FileStorageService, providerFactory: OpenspeechProviderFactory, logger: Logger);
93
+ /**
94
+ * 根据 FileKey 提交语音识别任务
95
+ *
96
+ * @description 根据文件信息自动选择云服务商并提交识别任务。
97
+ *
98
+ * 处理流程:
99
+ * 1. 验证 FileKey 的必要字段
100
+ * 2. 根据视频 key 推导音频 key
101
+ * 3. 获取存储桶配置,拼接音频 HTTP URL
102
+ * 4. 选择云服务商(优先级:preferVendor > vendor)
103
+ * 5. 调用对应提供商提交任务
104
+ *
105
+ * @param {Partial<FileKey>} fileKey - 文件信息
106
+ * @param {FileBucketVendor} [fileKey.vendor] - 存储服务商(必填)
107
+ * @param {string} [fileKey.bucket] - 存储桶名称(必填)
108
+ * @param {string} [fileKey.key] - 文件路径(必填)
109
+ * @param {FileBucketVendor} [(fileKey as any).preferVendor] - 优先使用的云服务商
110
+ * @returns {Promise<SubmitTaskResult>} 任务提交结果
111
+ * @throws {Error} FileKey 无效或提交失败时抛出异常
112
+ *
113
+ * @example
114
+ * ```typescript
115
+ * // 基本用法
116
+ * const result = await client.submitTranscribeTask({
117
+ * vendor: 'oss',
118
+ * bucket: 'my-bucket',
119
+ * key: 'videos/example.mp4',
120
+ * });
121
+ * console.log('Task ID:', result.vendorTaskId);
122
+ *
123
+ * // 指定使用火山引擎
124
+ * const result = await client.submitTranscribeTask({
125
+ * vendor: 'oss',
126
+ * bucket: 'my-bucket',
127
+ * key: 'videos/example.mp4',
128
+ * preferVendor: 'tos',
129
+ * } as any);
130
+ * ```
131
+ */
132
+ submitTranscribeTask(fileKey: Partial<FileSource>): Promise<SubmitTaskResult>;
133
+ /**
134
+ * 查询语音识别任务状态
135
+ *
136
+ * @description 根据云服务商和任务 ID 查询识别任务的状态和结果。
137
+ *
138
+ * 返回状态说明:
139
+ * - `processing`: 任务正在处理中,需要继续轮询
140
+ * - `success`: 识别成功,text 字段包含识别结果
141
+ * - `error`: 识别失败,error 字段包含错误信息
142
+ *
143
+ * @param {FileBucketVendor} vendor - 云服务商类型
144
+ * @param {string} vendorTaskId - 云服务商返回的任务 ID
145
+ * @returns {Promise<TaskStatusResult>} 任务状态和结果
146
+ * @throws {Error} 不支持的 vendor 类型时抛出异常
147
+ *
148
+ * @example
149
+ * ```typescript
150
+ * const result = await client.queryTranscribeTaskStatus('oss', 'task-123');
151
+ *
152
+ * if (result.status === 'success') {
153
+ * console.log('识别文本:', result.text);
154
+ * } else if (result.status === 'processing') {
155
+ * // 稍后重试
156
+ * setTimeout(() => this.checkStatus(), 3000);
157
+ * } else {
158
+ * console.error('识别失败:', result.error);
159
+ * }
160
+ * ```
161
+ */
162
+ queryTranscribeTaskStatus(vendor: FileBucketVendor, vendorTaskId: string): Promise<TaskStatusResult>;
163
+ /**
164
+ * 根据 FileKey 进行语音识别(同步阻塞模式)
165
+ *
166
+ * @description 提交任务并轮询等待结果,直到识别完成或失败。
167
+ * 此方法会阻塞直到获得最终结果,适用于简单场景。
168
+ *
169
+ * **注意**:对于生产环境,建议使用异步模式:
170
+ * 1. 调用 `submitTranscribeTask` 提交任务
171
+ * 2. 配置回调 URL 接收结果,或定时调用 `queryTranscribeTaskStatus` 查询
172
+ *
173
+ * @deprecated 建议使用异步模式(submitTranscribeTask + queryTranscribeTaskStatus)
174
+ * @param {Partial<FileKey>} fileKey - 文件信息
175
+ * @returns {Promise<string>} 识别出的文本内容
176
+ * @throws {Error} 识别失败时抛出异常
177
+ *
178
+ * @example
179
+ * ```typescript
180
+ * try {
181
+ * const text = await client.transcribeFromFileKey({
182
+ * vendor: 'oss',
183
+ * bucket: 'my-bucket',
184
+ * key: 'videos/example.mp4',
185
+ * });
186
+ * console.log('识别结果:', text);
187
+ * } catch (error) {
188
+ * console.error('识别失败:', error.message);
189
+ * }
190
+ * ```
191
+ */
192
+ transcribeFromFileKey(fileKey: Partial<FileSource>): Promise<string>;
193
+ /**
194
+ * 建立流式语音识别连接
195
+ *
196
+ * @description 建立 WebSocket 连接用于实时语音识别。
197
+ * 目前仅支持火山引擎 (tos) 流式识别。
198
+ *
199
+ * @param {FileBucketVendor} vendor - 云服务商类型(目前仅支持 'tos')
200
+ * @param {StreamingConnectParams} params - 连接参数
201
+ * @param {StreamingAsrCallbacks} callbacks - 事件回调
202
+ * @returns {Promise<string>} 连接 ID
203
+ * @throws {Error} 不支持的 vendor 类型或连接失败时抛出异常
204
+ *
205
+ * @example
206
+ * ```typescript
207
+ * const connectionId = await client.connectStreaming(
208
+ * 'tos',
209
+ * { sessionId: 'session-123', audioFormat: 'pcm' },
210
+ * {
211
+ * onResult: (result) => console.log('识别结果:', result.text),
212
+ * onConnected: () => console.log('已连接'),
213
+ * onError: (error) => console.error('错误:', error),
214
+ * }
215
+ * );
216
+ * ```
217
+ */
218
+ connectStreaming(vendor: FileBucketVendor, params: StreamingConnectParams, callbacks: StreamingAsrCallbacks): Promise<string>;
219
+ /**
220
+ * 发送音频数据到流式识别连接
221
+ *
222
+ * @description 将音频数据发送到已建立的流式识别连接。
223
+ *
224
+ * @param {FileBucketVendor} vendor - 云服务商类型
225
+ * @param {string} connectionId - 连接 ID
226
+ * @param {Buffer} audioData - 音频数据
227
+ * @param {boolean} [isLast=false] - 是否为最后一帧
228
+ * @throws {Error} 连接不存在或发送失败时抛出异常
229
+ *
230
+ * @example
231
+ * ```typescript
232
+ * // 发送音频数据
233
+ * await client.sendStreamingAudio('tos', connectionId, audioBuffer);
234
+ *
235
+ * // 发送最后一帧
236
+ * await client.sendStreamingAudio('tos', connectionId, lastBuffer, true);
237
+ * ```
238
+ */
239
+ sendStreamingAudio(vendor: FileBucketVendor, connectionId: string, audioData: Buffer, isLast?: boolean): Promise<void>;
240
+ /**
241
+ * 关闭流式识别连接
242
+ *
243
+ * @param {FileBucketVendor} vendor - 云服务商类型
244
+ * @param {string} connectionId - 连接 ID
245
+ *
246
+ * @example
247
+ * ```typescript
248
+ * await client.disconnectStreaming('tos', connectionId);
249
+ * ```
250
+ */
251
+ disconnectStreaming(vendor: FileBucketVendor, connectionId: string): Promise<void>;
252
+ /**
253
+ * 获取流式识别连接状态
254
+ *
255
+ * @param {FileBucketVendor} vendor - 云服务商类型
256
+ * @param {string} connectionId - 连接 ID
257
+ * @returns {StreamingAsrStatus} 连接状态
258
+ *
259
+ * @example
260
+ * ```typescript
261
+ * const status = client.getStreamingStatus('tos', connectionId);
262
+ * if (status === 'streaming') {
263
+ * // 正在识别中
264
+ * }
265
+ * ```
266
+ */
267
+ getStreamingStatus(vendor: FileBucketVendor, connectionId: string): StreamingAsrStatus;
268
+ /**
269
+ * 获取流式识别提供商实例
270
+ *
271
+ * @description 直接获取流式识别提供商,用于高级操作。
272
+ *
273
+ * @param {FileBucketVendor} vendor - 云服务商类型
274
+ * @returns {IStreamingAsrProvider} 流式识别提供商实例
275
+ *
276
+ * @example
277
+ * ```typescript
278
+ * const provider = client.getStreamingProvider('tos');
279
+ * const transcript = provider.getTranscript(connectionId);
280
+ * ```
281
+ */
282
+ getStreamingProvider(vendor: FileBucketVendor): IStreamingAsrProvider;
283
+ /**
284
+ * 检查指定云服务商是否支持流式识别
285
+ *
286
+ * @param {FileBucketVendor} vendor - 云服务商类型
287
+ * @returns {boolean} 是否支持流式识别
288
+ *
289
+ * @example
290
+ * ```typescript
291
+ * if (client.isStreamingAvailable('tos')) {
292
+ * // 使用流式识别
293
+ * }
294
+ * ```
295
+ */
296
+ isStreamingAvailable(vendor: FileBucketVendor): boolean;
297
+ /**
298
+ * 获取所有支持流式识别的云服务商列表
299
+ *
300
+ * @returns {FileBucketVendor[]} 支持流式识别的云服务商列表
301
+ */
302
+ getStreamingAvailableVendors(): FileBucketVendor[];
303
+ }
304
+ //# sourceMappingURL=openspeech.client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openspeech.client.d.ts","sourceRoot":"","sources":["../../src/openspeech/openspeech.client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAIH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,qBACa,gBAAgB;IASzB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,eAAe;IACC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAV1D;;;;;;OAMG;gBAEgB,OAAO,EAAE,kBAAkB,EAC3B,eAAe,EAAE,yBAAyB,EACT,MAAM,EAAE,MAAM;IAGlE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;IACG,oBAAoB,CACxB,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,GAC3B,OAAO,CAAC,gBAAgB,CAAC;IAuC5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACG,yBAAyB,CAC7B,MAAM,EAAE,gBAAgB,EACxB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,gBAAgB,CAAC;IAK5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACG,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IA0B1E;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,gBAAgB,CACpB,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,sBAAsB,EAC9B,SAAS,EAAE,qBAAqB,GAC/B,OAAO,CAAC,MAAM,CAAC;IAWlB;;;;;;;;;;;;;;;;;;;OAmBG;IACG,kBAAkB,CACtB,MAAM,EAAE,gBAAgB,EACxB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,OAAe,GACtB,OAAO,CAAC,IAAI,CAAC;IAKhB;;;;;;;;;;OAUG;IACG,mBAAmB,CACvB,MAAM,EAAE,gBAAgB,EACxB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IAUhB;;;;;;;;;;;;;;OAcG;IACH,kBAAkB,CAChB,MAAM,EAAE,gBAAgB,EACxB,YAAY,EAAE,MAAM,GACnB,kBAAkB;IAKrB;;;;;;;;;;;;;OAaG;IACH,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,GAAG,qBAAqB;IAIrE;;;;;;;;;;;;OAYG;IACH,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO;IAIvD;;;;OAIG;IACH,4BAA4B,IAAI,gBAAgB,EAAE;CAGnD"}