@qvac/sdk 0.7.0 → 0.8.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.
Files changed (218) hide show
  1. package/NOTICE +57 -331
  2. package/README.md +2 -2
  3. package/bare-imports.json +9 -0
  4. package/dist/client/api/completion-stream.d.ts +2 -1
  5. package/dist/client/api/completion-stream.js +2 -1
  6. package/dist/client/api/download-asset.d.ts +3 -2
  7. package/dist/client/api/download-asset.js +4 -3
  8. package/dist/client/api/embed.d.ts +5 -2
  9. package/dist/client/api/embed.js +2 -2
  10. package/dist/client/api/get-model-info.d.ts +1 -1
  11. package/dist/client/api/invoke-plugin.d.ts +3 -2
  12. package/dist/client/api/invoke-plugin.js +4 -4
  13. package/dist/client/api/load-model.d.ts +12 -10
  14. package/dist/client/api/load-model.js +3 -3
  15. package/dist/client/api/rag.d.ts +10 -10
  16. package/dist/client/api/rag.js +21 -21
  17. package/dist/client/api/text-to-speech.d.ts +2 -2
  18. package/dist/client/api/text-to-speech.js +3 -3
  19. package/dist/client/api/transcribe.d.ts +5 -3
  20. package/dist/client/api/transcribe.js +6 -4
  21. package/dist/client/api/translate.d.ts +2 -2
  22. package/dist/client/api/translate.js +3 -3
  23. package/dist/client/rpc/node-rpc-client.d.ts +2 -7
  24. package/dist/client/rpc/node-rpc-client.js +2 -39
  25. package/dist/client/rpc/profiling/index.d.ts +2 -0
  26. package/dist/client/rpc/profiling/index.js +1 -0
  27. package/dist/client/rpc/profiling/profiler.d.ts +27 -0
  28. package/dist/client/rpc/profiling/profiler.js +139 -0
  29. package/dist/client/rpc/rpc-client.d.ts +2 -2
  30. package/dist/client/rpc/rpc-client.js +174 -12
  31. package/dist/examples/delegated-inference/consumer-profiled.d.ts +2 -0
  32. package/dist/examples/delegated-inference/consumer-profiled.js +67 -0
  33. package/dist/examples/llamacpp-multimodal.js +1 -1
  34. package/dist/examples/parallel-download.js +45 -13
  35. package/dist/examples/profiling/basic.d.ts +2 -0
  36. package/dist/examples/profiling/basic.js +71 -0
  37. package/dist/examples/profiling/per-call.d.ts +2 -0
  38. package/dist/examples/profiling/per-call.js +30 -0
  39. package/dist/examples/transcription/parakeet-ctc-filesystem.d.ts +2 -0
  40. package/dist/examples/transcription/parakeet-ctc-filesystem.js +40 -0
  41. package/dist/examples/transcription/parakeet-microphone-record.d.ts +2 -0
  42. package/dist/examples/transcription/parakeet-microphone-record.js +95 -0
  43. package/dist/examples/transcription/parakeet-sortformer.d.ts +2 -0
  44. package/dist/examples/transcription/parakeet-sortformer.js +115 -0
  45. package/dist/examples/transcription/parakeet-tdt-filesystem.d.ts +2 -0
  46. package/dist/examples/transcription/parakeet-tdt-filesystem.js +44 -0
  47. package/dist/examples/translation/translation-bergamot-pivot.d.ts +2 -0
  48. package/dist/examples/translation/translation-bergamot-pivot.js +73 -0
  49. package/dist/examples/translation/translation-llm-afriquegemma.d.ts +2 -0
  50. package/dist/examples/translation/translation-llm-afriquegemma.js +39 -0
  51. package/dist/index.d.ts +3 -1
  52. package/dist/index.js +2 -0
  53. package/dist/logging/index.d.ts +1 -1
  54. package/dist/logging/index.js +1 -1
  55. package/dist/logging/namespaces.d.ts +3 -9
  56. package/dist/logging/namespaces.js +2 -8
  57. package/dist/logging/registry.js +15 -1
  58. package/dist/models/registry/models.d.ts +1606 -245
  59. package/dist/models/registry/models.js +2127 -721
  60. package/dist/models/update-models/codegen.js +2 -2
  61. package/dist/models/update-models/history.d.ts +11 -0
  62. package/dist/models/update-models/history.js +24 -5
  63. package/dist/models/update-models/index.js +17 -16
  64. package/dist/models/update-models/naming.js +56 -0
  65. package/dist/profiling/aggregator.d.ts +15 -0
  66. package/dist/profiling/aggregator.js +100 -0
  67. package/dist/profiling/clock.d.ts +12 -0
  68. package/dist/profiling/clock.js +51 -0
  69. package/dist/profiling/controller.d.ts +33 -0
  70. package/dist/profiling/controller.js +123 -0
  71. package/dist/profiling/envelope.d.ts +10 -0
  72. package/dist/profiling/envelope.js +36 -0
  73. package/dist/profiling/events.d.ts +20 -0
  74. package/dist/profiling/events.js +37 -0
  75. package/dist/profiling/exporters.d.ts +10 -0
  76. package/dist/profiling/exporters.js +236 -0
  77. package/dist/profiling/index.d.ts +36 -0
  78. package/dist/profiling/index.js +31 -0
  79. package/dist/profiling/ring-buffer.d.ts +19 -0
  80. package/dist/profiling/ring-buffer.js +83 -0
  81. package/dist/profiling/types.d.ts +47 -0
  82. package/dist/profiling/types.js +1 -0
  83. package/dist/schemas/common.d.ts +1888 -133
  84. package/dist/schemas/common.js +2 -0
  85. package/dist/schemas/completion-stream.d.ts +31 -0
  86. package/dist/schemas/completion-stream.js +13 -0
  87. package/dist/schemas/download-asset.d.ts +14 -3
  88. package/dist/schemas/download-asset.js +3 -1
  89. package/dist/schemas/engine-addon-map.js +9 -6
  90. package/dist/schemas/get-model-info.d.ts +2 -0
  91. package/dist/schemas/get-model-info.js +1 -0
  92. package/dist/schemas/index.d.ts +2 -1
  93. package/dist/schemas/index.js +2 -1
  94. package/dist/schemas/llamacpp-config.d.ts +140 -14
  95. package/dist/schemas/llamacpp-config.js +11 -7
  96. package/dist/schemas/load-model.d.ts +9649 -2515
  97. package/dist/schemas/load-model.js +142 -182
  98. package/dist/schemas/model-src-utils.d.ts +10 -2
  99. package/dist/schemas/model-types.d.ts +19 -1
  100. package/dist/schemas/model-types.js +11 -0
  101. package/dist/schemas/ocr.d.ts +37 -0
  102. package/dist/schemas/ocr.js +5 -0
  103. package/dist/schemas/plugin.d.ts +51 -5
  104. package/dist/schemas/plugin.js +26 -0
  105. package/dist/schemas/profiling.d.ts +105 -0
  106. package/dist/schemas/profiling.js +66 -0
  107. package/dist/schemas/registry.d.ts +18 -0
  108. package/dist/schemas/registry.js +2 -0
  109. package/dist/schemas/reload-config.d.ts +126 -6
  110. package/dist/schemas/reload-config.js +1 -1
  111. package/dist/schemas/sdk-config.d.ts +2280 -24
  112. package/dist/schemas/sdk-config.js +6 -1
  113. package/dist/schemas/sdk-errors-client.d.ts +1 -0
  114. package/dist/schemas/sdk-errors-client.js +7 -0
  115. package/dist/schemas/sdk-errors-server.d.ts +3 -0
  116. package/dist/schemas/sdk-errors-server.js +15 -0
  117. package/dist/schemas/text-to-speech.d.ts +90 -68
  118. package/dist/schemas/text-to-speech.js +16 -33
  119. package/dist/schemas/transcription-config.d.ts +383 -0
  120. package/dist/schemas/{whispercpp-config.js → transcription-config.js} +29 -1
  121. package/dist/schemas/translation-config.d.ts +463 -8
  122. package/dist/schemas/translation-config.js +35 -2
  123. package/dist/server/bare/delegate-rpc-client.js +11 -1
  124. package/dist/server/bare/ops/load-model.d.ts +7 -1
  125. package/dist/server/bare/ops/load-model.js +41 -42
  126. package/dist/server/bare/ops/transcribe.d.ts +3 -0
  127. package/dist/server/bare/ops/transcribe.js +75 -0
  128. package/dist/server/bare/ops/translate.d.ts +2 -0
  129. package/dist/server/bare/ops/translate.js +12 -4
  130. package/dist/server/bare/plugins/index.d.ts +1 -0
  131. package/dist/server/bare/plugins/index.js +1 -0
  132. package/dist/server/bare/plugins/llamacpp-completion/ops/completion-stream.d.ts +2 -1
  133. package/dist/server/bare/plugins/llamacpp-completion/ops/completion-stream.js +8 -6
  134. package/dist/server/bare/plugins/llamacpp-completion/plugin.d.ts +108 -3
  135. package/dist/server/bare/plugins/llamacpp-completion/plugin.js +19 -6
  136. package/dist/server/bare/plugins/llamacpp-embedding/plugin.d.ts +32 -2
  137. package/dist/server/bare/plugins/llamacpp-embedding/plugin.js +31 -17
  138. package/dist/server/bare/plugins/nmtcpp-translation/plugin.d.ts +325 -3
  139. package/dist/server/bare/plugins/nmtcpp-translation/plugin.js +117 -10
  140. package/dist/server/bare/plugins/onnx-ocr/plugin.d.ts +50 -2
  141. package/dist/server/bare/plugins/onnx-ocr/plugin.js +46 -5
  142. package/dist/server/bare/plugins/onnx-tts/plugin.d.ts +351 -4
  143. package/dist/server/bare/plugins/onnx-tts/plugin.js +81 -61
  144. package/dist/server/bare/plugins/parakeet-transcription/plugin.d.ts +317 -0
  145. package/dist/server/bare/plugins/parakeet-transcription/plugin.js +154 -0
  146. package/dist/server/bare/plugins/whispercpp-transcription/plugin.d.ts +209 -3
  147. package/dist/server/bare/plugins/whispercpp-transcription/plugin.js +21 -9
  148. package/dist/server/bare/rag-hyperdb/rag-workspace-manager.js +2 -2
  149. package/dist/server/bare/registry/model-config-utils.js +3 -1
  150. package/dist/server/bare/utils/audio-input.d.ts +10 -0
  151. package/dist/server/bare/utils/audio-input.js +33 -0
  152. package/dist/server/error-handlers.d.ts +3 -2
  153. package/dist/server/error-handlers.js +11 -8
  154. package/dist/server/plugins/registry.js +5 -1
  155. package/dist/server/rpc/delegate-transport.d.ts +11 -3
  156. package/dist/server/rpc/delegate-transport.js +158 -3
  157. package/dist/server/rpc/handle-request.js +43 -4
  158. package/dist/server/rpc/handler-registry.js +7 -1
  159. package/dist/server/rpc/handler-utils.d.ts +5 -4
  160. package/dist/server/rpc/handler-utils.js +72 -31
  161. package/dist/server/rpc/handlers/completion-stream-delegated.d.ts +3 -1
  162. package/dist/server/rpc/handlers/completion-stream-delegated.js +11 -2
  163. package/dist/server/rpc/handlers/download-asset.js +55 -3
  164. package/dist/server/rpc/handlers/load-model/download-stats.d.ts +6 -0
  165. package/dist/server/rpc/handlers/load-model/download-stats.js +87 -0
  166. package/dist/server/rpc/handlers/load-model/handler.js +108 -123
  167. package/dist/server/rpc/handlers/load-model/http.d.ts +2 -1
  168. package/dist/server/rpc/handlers/load-model/http.js +21 -5
  169. package/dist/server/rpc/handlers/load-model/hyperdrive.d.ts +2 -1
  170. package/dist/server/rpc/handlers/load-model/hyperdrive.js +19 -14
  171. package/dist/server/rpc/handlers/load-model/registry.d.ts +2 -1
  172. package/dist/server/rpc/handlers/load-model/registry.js +123 -130
  173. package/dist/server/rpc/handlers/load-model/resolve.d.ts +2 -0
  174. package/dist/server/rpc/handlers/load-model/resolve.js +55 -22
  175. package/dist/server/rpc/handlers/load-model/types.d.ts +29 -0
  176. package/dist/server/rpc/handlers/load-model/types.js +1 -0
  177. package/dist/server/rpc/handlers/load-model-delegated.d.ts +5 -1
  178. package/dist/server/rpc/handlers/load-model-delegated.js +35 -7
  179. package/dist/server/rpc/handlers/plugin-dispatch.js +15 -10
  180. package/dist/server/rpc/handlers/plugin-invoke.js +56 -51
  181. package/dist/server/rpc/handlers/rag.js +24 -0
  182. package/dist/server/rpc/handlers/unload-model-delegated.d.ts +3 -0
  183. package/dist/server/rpc/handlers/unload-model-delegated.js +32 -0
  184. package/dist/server/rpc/profiling/context.d.ts +18 -0
  185. package/dist/server/rpc/profiling/context.js +38 -0
  186. package/dist/server/rpc/profiling/delegation-profiler.d.ts +32 -0
  187. package/dist/server/rpc/profiling/delegation-profiler.js +154 -0
  188. package/dist/server/rpc/profiling/index.d.ts +5 -0
  189. package/dist/server/rpc/profiling/index.js +4 -0
  190. package/dist/server/rpc/profiling/operation-metrics.d.ts +25 -0
  191. package/dist/server/rpc/profiling/operation-metrics.js +199 -0
  192. package/dist/server/rpc/profiling/operation-wrappers.d.ts +18 -0
  193. package/dist/server/rpc/profiling/operation-wrappers.js +124 -0
  194. package/dist/server/rpc/profiling/profiler.d.ts +13 -0
  195. package/dist/server/rpc/profiling/profiler.js +97 -0
  196. package/dist/server/utils/cache.d.ts +2 -1
  197. package/dist/server/utils/cache.js +5 -1
  198. package/dist/server/utils/checksum.d.ts +2 -0
  199. package/dist/server/utils/checksum.js +7 -0
  200. package/dist/server/utils/formatting.d.ts +6 -0
  201. package/dist/server/utils/formatting.js +35 -0
  202. package/dist/server/worker.js +2 -1
  203. package/dist/utils/errors-client.d.ts +3 -0
  204. package/dist/utils/errors-client.js +6 -0
  205. package/dist/utils/errors-server.d.ts +9 -0
  206. package/dist/utils/errors-server.js +15 -0
  207. package/dist/utils/global-singleton.d.ts +2 -0
  208. package/dist/utils/global-singleton.js +10 -0
  209. package/package.json +14 -17
  210. package/dist/schemas/whispercpp-config.d.ts +0 -70
  211. package/dist/server/bare/plugins/whispercpp-transcription/ops/transcribe-stream.d.ts +0 -3
  212. package/dist/server/bare/plugins/whispercpp-transcription/ops/transcribe-stream.js +0 -81
  213. /package/dist/examples/{whispercpp-filesystem.d.ts → transcription/whispercpp-filesystem.d.ts} +0 -0
  214. /package/dist/examples/{whispercpp-filesystem.js → transcription/whispercpp-filesystem.js} +0 -0
  215. /package/dist/examples/{whispercpp-microphone-record.d.ts → transcription/whispercpp-microphone-record.d.ts} +0 -0
  216. /package/dist/examples/{whispercpp-microphone-record.js → transcription/whispercpp-microphone-record.js} +0 -0
  217. /package/dist/examples/{whispercpp-prompt.d.ts → transcription/whispercpp-prompt.d.ts} +0 -0
  218. /package/dist/examples/{whispercpp-prompt.js → transcription/whispercpp-prompt.js} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qvac/sdk",
3
- "version": "0.7.0",
3
+ "version": "0.8.0",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -28,6 +28,10 @@
28
28
  "types": "./dist/server/bare/plugins/whispercpp-transcription/plugin.d.ts",
29
29
  "import": "./dist/server/bare/plugins/whispercpp-transcription/plugin.js"
30
30
  },
31
+ "./parakeet-transcription/plugin": {
32
+ "types": "./dist/server/bare/plugins/parakeet-transcription/plugin.d.ts",
33
+ "import": "./dist/server/bare/plugins/parakeet-transcription/plugin.js"
34
+ },
31
35
  "./nmtcpp-translation/plugin": {
32
36
  "types": "./dist/server/bare/plugins/nmtcpp-translation/plugin.d.ts",
33
37
  "import": "./dist/server/bare/plugins/nmtcpp-translation/plugin.js"
@@ -100,30 +104,26 @@
100
104
  "bare:ensureprebuilds": "bun run bare:ensureprebuilds:llamacpp && bun run bare:ensureprebuilds:whispercpp && bun run bare:ensureprebuilds:embeddings",
101
105
  "prepare:husky": "bun run husky",
102
106
  "bare:example": "bare ./scripts/bare-bootstrap.js",
103
- "docs_api:website": "typedoc --out ./docs/api/website --entryPoints index.ts --entryPointStrategy expand --readme none",
104
- "docs_api:markdown": "typedoc --plugin typedoc-plugin-markdown --out ./docs/api/markdown --entryPoints index.ts --entryPointStrategy expand --readme none && sed -i '1,4d' ./docs/api/markdown/README.md",
105
- "docs_api": "bun run docs_api:website && bun run docs_api:markdown",
106
107
  "check-models": "tsx ./models/update-models/index.ts --check",
107
108
  "check-models:hook": "tsx ./models/update-models/index.ts --check --non-blocking",
108
109
  "update-models": "tsx ./models/update-models/index.ts",
109
- "changelog:generate": "node ../../scripts/sdk/generate-changelog-sdk-pod.cjs --package=qvac-sdk && prettier --write changelog",
110
- "docs:gen-pages": "remark \"docs/*.mdx\" --output .docs-build",
111
- "docs:gen-api": "typedoc --options docs/typedoc.jsonc"
110
+ "changelog:generate": "node ../../scripts/sdk/generate-changelog-sdk-pod.cjs --package=sdk && prettier --write changelog"
112
111
  },
113
112
  "dependencies": {
114
113
  "@qvac/decoder-audio": "^0.3.3",
115
114
  "@qvac/dl-filesystem": "^0.2.0",
116
- "@qvac/embed-llamacpp": "^0.10.7",
115
+ "@qvac/embed-llamacpp": "^0.12.0",
117
116
  "@qvac/error": "^0.1.1",
118
117
  "@qvac/langdetect-text": "^0.1.0",
119
- "@qvac/llm-llamacpp": "^0.8.9",
118
+ "@qvac/llm-llamacpp": "^0.12.1",
120
119
  "@qvac/logging": "^0.1.0",
121
- "@qvac/ocr-onnx": "^0.1.5",
120
+ "@qvac/ocr-onnx": "^0.2.0",
122
121
  "@qvac/rag": "^0.4.2",
123
- "@qvac/transcription-whispercpp": "^0.3.17",
124
- "@qvac/translation-nmtcpp": "^0.3.9",
125
- "@qvac/tts-onnx": "^0.5.4",
126
- "@qvac/registry-client": "^0.2.0",
122
+ "@qvac/registry-client": "^0.2.1",
123
+ "@qvac/transcription-parakeet": "^0.2.0",
124
+ "@qvac/transcription-whispercpp": "^0.5.0",
125
+ "@qvac/translation-nmtcpp": "^0.6.1",
126
+ "@qvac/tts-onnx": "^0.6.1",
127
127
  "fast-safe-stringify": "2.1.1",
128
128
  "which-runtime": "^1.3.2",
129
129
  "zod": "^4.0.17"
@@ -159,9 +159,6 @@
159
159
  "remark-frontmatter": "^5.0.0",
160
160
  "remark-mdx": "^3.1.1",
161
161
  "tsx": "^4.21.0",
162
- "typedoc": "^0.28.11",
163
- "typedoc-plugin-frontmatter": "^1.3.1",
164
- "typedoc-plugin-markdown": "^4.8.1",
165
162
  "typescript": "^5.9.2",
166
163
  "typescript-eslint": "^8.39.0"
167
164
  },
@@ -1,70 +0,0 @@
1
- import { z } from "zod";
2
- export declare const audioFormatSchema: z.ZodEnum<{
3
- f32le: "f32le";
4
- s16le: "s16le";
5
- }>;
6
- export type AudioFormat = z.infer<typeof audioFormatSchema>;
7
- export declare const whisperConfigSchema: z.ZodObject<{
8
- strategy: z.ZodOptional<z.ZodEnum<{
9
- greedy: "greedy";
10
- beam_search: "beam_search";
11
- }>>;
12
- n_threads: z.ZodOptional<z.ZodNumber>;
13
- n_max_text_ctx: z.ZodOptional<z.ZodNumber>;
14
- offset_ms: z.ZodOptional<z.ZodNumber>;
15
- duration_ms: z.ZodOptional<z.ZodNumber>;
16
- audio_ctx: z.ZodOptional<z.ZodNumber>;
17
- translate: z.ZodOptional<z.ZodBoolean>;
18
- no_context: z.ZodOptional<z.ZodBoolean>;
19
- no_timestamps: z.ZodOptional<z.ZodBoolean>;
20
- single_segment: z.ZodOptional<z.ZodBoolean>;
21
- print_special: z.ZodOptional<z.ZodBoolean>;
22
- print_progress: z.ZodOptional<z.ZodBoolean>;
23
- print_realtime: z.ZodOptional<z.ZodBoolean>;
24
- print_timestamps: z.ZodOptional<z.ZodBoolean>;
25
- token_timestamps: z.ZodOptional<z.ZodBoolean>;
26
- thold_pt: z.ZodOptional<z.ZodNumber>;
27
- thold_ptsum: z.ZodOptional<z.ZodNumber>;
28
- max_len: z.ZodOptional<z.ZodNumber>;
29
- split_on_word: z.ZodOptional<z.ZodBoolean>;
30
- max_tokens: z.ZodOptional<z.ZodNumber>;
31
- debug_mode: z.ZodOptional<z.ZodBoolean>;
32
- tdrz_enable: z.ZodOptional<z.ZodBoolean>;
33
- suppress_regex: z.ZodOptional<z.ZodString>;
34
- initial_prompt: z.ZodOptional<z.ZodString>;
35
- language: z.ZodOptional<z.ZodString>;
36
- detect_language: z.ZodOptional<z.ZodBoolean>;
37
- suppress_blank: z.ZodOptional<z.ZodBoolean>;
38
- suppress_nst: z.ZodOptional<z.ZodBoolean>;
39
- temperature: z.ZodOptional<z.ZodNumber>;
40
- length_penalty: z.ZodOptional<z.ZodNumber>;
41
- temperature_inc: z.ZodOptional<z.ZodNumber>;
42
- entropy_thold: z.ZodOptional<z.ZodNumber>;
43
- logprob_thold: z.ZodOptional<z.ZodNumber>;
44
- greedy_best_of: z.ZodOptional<z.ZodNumber>;
45
- beam_search_beam_size: z.ZodOptional<z.ZodNumber>;
46
- vad_model_path: z.ZodOptional<z.ZodString>;
47
- vad_params: z.ZodOptional<z.ZodObject<{
48
- threshold: z.ZodOptional<z.ZodNumber>;
49
- min_speech_duration_ms: z.ZodOptional<z.ZodNumber>;
50
- min_silence_duration_ms: z.ZodOptional<z.ZodNumber>;
51
- max_speech_duration_s: z.ZodOptional<z.ZodNumber>;
52
- speech_pad_ms: z.ZodOptional<z.ZodNumber>;
53
- samples_overlap: z.ZodOptional<z.ZodNumber>;
54
- }, z.core.$strip>>;
55
- audio_format: z.ZodOptional<z.ZodEnum<{
56
- f32le: "f32le";
57
- s16le: "s16le";
58
- }>>;
59
- contextParams: z.ZodOptional<z.ZodObject<{
60
- model: z.ZodOptional<z.ZodString>;
61
- use_gpu: z.ZodOptional<z.ZodBoolean>;
62
- flash_attn: z.ZodOptional<z.ZodBoolean>;
63
- gpu_device: z.ZodOptional<z.ZodNumber>;
64
- }, z.core.$strip>>;
65
- miscConfig: z.ZodOptional<z.ZodObject<{
66
- caption_enabled: z.ZodOptional<z.ZodBoolean>;
67
- }, z.core.$strip>>;
68
- }, z.core.$strip>;
69
- export type WhisperConfig = z.infer<typeof whisperConfigSchema>;
70
- //# sourceMappingURL=whispercpp-config.d.ts.map
@@ -1,3 +0,0 @@
1
- import type { TranscribeParams } from "../../../../../schemas/index";
2
- export declare function transcribe(params: TranscribeParams): AsyncGenerator<string, void, void>;
3
- //# sourceMappingURL=transcribe-stream.d.ts.map
@@ -1,81 +0,0 @@
1
- import { getModel, getModelConfig, } from "../../../registry/model-registry.js";
2
- import { Readable } from "bare-stream";
3
- import fs from "bare-fs";
4
- import { needsDecoding, decodeAudioToStream, } from "../../../../utils/audio/decoder.js";
5
- import { AudioFileNotFoundError, InvalidAudioChunkError, } from "../../../../../utils/errors-server.js";
6
- import { getServerLogger } from "../../../../../logging/index.js";
7
- const logger = getServerLogger();
8
- export async function* transcribe(params) {
9
- const model = getModel(params.modelId);
10
- const modelConfig = getModelConfig(params.modelId);
11
- let originalConfig = null;
12
- const audioFormat = modelConfig.audio_format || "s16le";
13
- if (params.prompt && typeof model.reload === "function") {
14
- originalConfig = modelConfig;
15
- const updatedConfig = {
16
- ...originalConfig,
17
- initial_prompt: params.prompt,
18
- };
19
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
20
- const { contextParams: _, miscConfig, ...whisperParams } = updatedConfig;
21
- await model.reload({
22
- whisperConfig: whisperParams,
23
- ...(miscConfig && { miscConfig }),
24
- });
25
- }
26
- try {
27
- let audioStream;
28
- const audioChunk = params.audioChunk;
29
- switch (audioChunk.type) {
30
- case "base64": {
31
- const audioBuffer = Buffer.from(audioChunk.value, "base64");
32
- audioStream = Readable.from([audioBuffer]);
33
- break;
34
- }
35
- case "filePath": {
36
- const filePath = audioChunk.value;
37
- try {
38
- fs.accessSync(filePath);
39
- }
40
- catch (error) {
41
- throw new AudioFileNotFoundError(filePath, error);
42
- }
43
- if (needsDecoding(filePath)) {
44
- audioStream = await decodeAudioToStream(filePath, audioFormat);
45
- }
46
- else {
47
- audioStream = fs.createReadStream(filePath);
48
- }
49
- break;
50
- }
51
- default:
52
- throw new InvalidAudioChunkError();
53
- }
54
- // Run transcription with streaming enabled
55
- const response = await model.run(audioStream);
56
- for await (const output of response.iterate()) {
57
- logger.debug("Streaming Transcription Update:", output);
58
- // Filter out blank audio chunks and process the text
59
- const text = output
60
- .filter((chunk) => !chunk.text.includes("[BLANK_AUDIO]"))
61
- .map((chunk) => chunk.text)
62
- .join("");
63
- if (text.trim()) {
64
- yield text;
65
- }
66
- }
67
- }
68
- finally {
69
- if (originalConfig && typeof model.reload === "function") {
70
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
71
- const { contextParams: _, miscConfig, ...whisperParams } = originalConfig;
72
- await model.reload({
73
- whisperConfig: {
74
- ...whisperParams,
75
- initial_prompt: "",
76
- },
77
- ...(miscConfig && { miscConfig }),
78
- });
79
- }
80
- }
81
- }