@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
@@ -2,6 +2,7 @@ import { z } from "zod";
2
2
  export declare const MARIAN_LANGUAGES: readonly ["en", "de", "es", "it", "ru", "ja"];
3
3
  export declare const BERGAMOT_LANGUAGES: readonly ["en", "ar", "bg", "ca", "cs", "de", "es", "et", "fi", "fr", "hu", "is", "it", "ja", "ko", "lt", "lv", "nl", "pl", "pt", "ru", "sk", "sl", "uk", "zh"];
4
4
  export declare const INDICTRANS_LANGUAGES: readonly ["asm_Beng", "ben_Beng", "brx_Deva", "doi_Deva", "eng_Latn", "gom_Deva", "guj_Gujr", "hin_Deva", "kan_Knda", "kas_Arab", "kas_Deva", "mai_Deva", "mal_Mlym", "mar_Deva", "mni_Beng", "mni_Mtei", "npi_Deva", "ory_Orya", "pan_Guru", "san_Deva", "sat_Olck", "snd_Arab", "snd_Deva", "tam_Taml", "tel_Telu", "urd_Arab"];
5
+ export declare const AFRICAN_LANGUAGES_MAP: Map<string, string>;
5
6
  export declare const NMT_LANGUAGES: readonly ["en", "de", "es", "it", "ru", "ja", "en", "ar", "bg", "ca", "cs", "de", "es", "et", "fi", "fr", "hu", "is", "it", "ja", "ko", "lt", "lv", "nl", "pl", "pt", "ru", "sk", "sl", "uk", "zh", "asm_Beng", "ben_Beng", "brx_Deva", "doi_Deva", "eng_Latn", "gom_Deva", "guj_Gujr", "hin_Deva", "kan_Knda", "kas_Arab", "kas_Deva", "mai_Deva", "mal_Mlym", "mar_Deva", "mni_Beng", "mni_Mtei", "npi_Deva", "ory_Orya", "pan_Guru", "san_Deva", "sat_Olck", "snd_Arab", "snd_Deva", "tam_Taml", "tel_Telu", "urd_Arab"];
6
7
  export declare const NMT_ENGINES: readonly ["Opus", "Bergamot", "IndicTrans"];
7
8
  export type NmtEngine = (typeof NMT_ENGINES)[number];
@@ -101,9 +102,161 @@ export declare const nmtConfigBaseSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
101
102
  uk: "uk";
102
103
  zh: "zh";
103
104
  }>;
104
- srcVocabPath: z.ZodOptional<z.ZodString>;
105
- dstVocabPath: z.ZodOptional<z.ZodString>;
105
+ srcVocabSrc: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
106
+ src: z.ZodString;
107
+ name: z.ZodOptional<z.ZodString>;
108
+ modelId: z.ZodOptional<z.ZodString>;
109
+ registryPath: z.ZodOptional<z.ZodString>;
110
+ registrySource: z.ZodOptional<z.ZodString>;
111
+ blobCoreKey: z.ZodOptional<z.ZodString>;
112
+ blobIndex: z.ZodOptional<z.ZodNumber>;
113
+ engine: z.ZodOptional<z.ZodString>;
114
+ expectedSize: z.ZodOptional<z.ZodNumber>;
115
+ sha256Checksum: z.ZodOptional<z.ZodString>;
116
+ addon: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
117
+ "llamacpp-completion": "llamacpp-completion";
118
+ "whispercpp-transcription": "whispercpp-transcription";
119
+ "llamacpp-embedding": "llamacpp-embedding";
120
+ "nmtcpp-translation": "nmtcpp-translation";
121
+ "onnx-tts": "onnx-tts";
122
+ "parakeet-transcription": "parakeet-transcription";
123
+ "onnx-ocr": "onnx-ocr";
124
+ llm: "llm";
125
+ whisper: "whisper";
126
+ embeddings: "embeddings";
127
+ nmt: "nmt";
128
+ parakeet: "parakeet";
129
+ tts: "tts";
130
+ ocr: "ocr";
131
+ }>, z.ZodLiteral<"vad">]>>;
132
+ }, z.core.$strip>]>>;
133
+ dstVocabSrc: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
134
+ src: z.ZodString;
135
+ name: z.ZodOptional<z.ZodString>;
136
+ modelId: z.ZodOptional<z.ZodString>;
137
+ registryPath: z.ZodOptional<z.ZodString>;
138
+ registrySource: z.ZodOptional<z.ZodString>;
139
+ blobCoreKey: z.ZodOptional<z.ZodString>;
140
+ blobIndex: z.ZodOptional<z.ZodNumber>;
141
+ engine: z.ZodOptional<z.ZodString>;
142
+ expectedSize: z.ZodOptional<z.ZodNumber>;
143
+ sha256Checksum: z.ZodOptional<z.ZodString>;
144
+ addon: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
145
+ "llamacpp-completion": "llamacpp-completion";
146
+ "whispercpp-transcription": "whispercpp-transcription";
147
+ "llamacpp-embedding": "llamacpp-embedding";
148
+ "nmtcpp-translation": "nmtcpp-translation";
149
+ "onnx-tts": "onnx-tts";
150
+ "parakeet-transcription": "parakeet-transcription";
151
+ "onnx-ocr": "onnx-ocr";
152
+ llm: "llm";
153
+ whisper: "whisper";
154
+ embeddings: "embeddings";
155
+ nmt: "nmt";
156
+ parakeet: "parakeet";
157
+ tts: "tts";
158
+ ocr: "ocr";
159
+ }>, z.ZodLiteral<"vad">]>>;
160
+ }, z.core.$strip>]>>;
106
161
  normalize: z.ZodOptional<z.ZodNumber>;
162
+ pivotModel: z.ZodOptional<z.ZodObject<{
163
+ mode: z.ZodOptional<z.ZodEnum<{
164
+ full: "full";
165
+ }>>;
166
+ beamsize: z.ZodOptional<z.ZodNumber>;
167
+ lengthpenalty: z.ZodOptional<z.ZodNumber>;
168
+ maxlength: z.ZodOptional<z.ZodNumber>;
169
+ repetitionpenalty: z.ZodOptional<z.ZodNumber>;
170
+ norepeatngramsize: z.ZodOptional<z.ZodNumber>;
171
+ temperature: z.ZodOptional<z.ZodNumber>;
172
+ topk: z.ZodOptional<z.ZodNumber>;
173
+ topp: z.ZodOptional<z.ZodNumber>;
174
+ modelSrc: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
175
+ src: z.ZodString;
176
+ name: z.ZodOptional<z.ZodString>;
177
+ modelId: z.ZodOptional<z.ZodString>;
178
+ registryPath: z.ZodOptional<z.ZodString>;
179
+ registrySource: z.ZodOptional<z.ZodString>;
180
+ blobCoreKey: z.ZodOptional<z.ZodString>;
181
+ blobIndex: z.ZodOptional<z.ZodNumber>;
182
+ engine: z.ZodOptional<z.ZodString>;
183
+ expectedSize: z.ZodOptional<z.ZodNumber>;
184
+ sha256Checksum: z.ZodOptional<z.ZodString>;
185
+ addon: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
186
+ "llamacpp-completion": "llamacpp-completion";
187
+ "whispercpp-transcription": "whispercpp-transcription";
188
+ "llamacpp-embedding": "llamacpp-embedding";
189
+ "nmtcpp-translation": "nmtcpp-translation";
190
+ "onnx-tts": "onnx-tts";
191
+ "parakeet-transcription": "parakeet-transcription";
192
+ "onnx-ocr": "onnx-ocr";
193
+ llm: "llm";
194
+ whisper: "whisper";
195
+ embeddings: "embeddings";
196
+ nmt: "nmt";
197
+ parakeet: "parakeet";
198
+ tts: "tts";
199
+ ocr: "ocr";
200
+ }>, z.ZodLiteral<"vad">]>>;
201
+ }, z.core.$strip>]>;
202
+ srcVocabSrc: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
203
+ src: z.ZodString;
204
+ name: z.ZodOptional<z.ZodString>;
205
+ modelId: z.ZodOptional<z.ZodString>;
206
+ registryPath: z.ZodOptional<z.ZodString>;
207
+ registrySource: z.ZodOptional<z.ZodString>;
208
+ blobCoreKey: z.ZodOptional<z.ZodString>;
209
+ blobIndex: z.ZodOptional<z.ZodNumber>;
210
+ engine: z.ZodOptional<z.ZodString>;
211
+ expectedSize: z.ZodOptional<z.ZodNumber>;
212
+ sha256Checksum: z.ZodOptional<z.ZodString>;
213
+ addon: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
214
+ "llamacpp-completion": "llamacpp-completion";
215
+ "whispercpp-transcription": "whispercpp-transcription";
216
+ "llamacpp-embedding": "llamacpp-embedding";
217
+ "nmtcpp-translation": "nmtcpp-translation";
218
+ "onnx-tts": "onnx-tts";
219
+ "parakeet-transcription": "parakeet-transcription";
220
+ "onnx-ocr": "onnx-ocr";
221
+ llm: "llm";
222
+ whisper: "whisper";
223
+ embeddings: "embeddings";
224
+ nmt: "nmt";
225
+ parakeet: "parakeet";
226
+ tts: "tts";
227
+ ocr: "ocr";
228
+ }>, z.ZodLiteral<"vad">]>>;
229
+ }, z.core.$strip>]>>;
230
+ dstVocabSrc: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
231
+ src: z.ZodString;
232
+ name: z.ZodOptional<z.ZodString>;
233
+ modelId: z.ZodOptional<z.ZodString>;
234
+ registryPath: z.ZodOptional<z.ZodString>;
235
+ registrySource: z.ZodOptional<z.ZodString>;
236
+ blobCoreKey: z.ZodOptional<z.ZodString>;
237
+ blobIndex: z.ZodOptional<z.ZodNumber>;
238
+ engine: z.ZodOptional<z.ZodString>;
239
+ expectedSize: z.ZodOptional<z.ZodNumber>;
240
+ sha256Checksum: z.ZodOptional<z.ZodString>;
241
+ addon: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
242
+ "llamacpp-completion": "llamacpp-completion";
243
+ "whispercpp-transcription": "whispercpp-transcription";
244
+ "llamacpp-embedding": "llamacpp-embedding";
245
+ "nmtcpp-translation": "nmtcpp-translation";
246
+ "onnx-tts": "onnx-tts";
247
+ "parakeet-transcription": "parakeet-transcription";
248
+ "onnx-ocr": "onnx-ocr";
249
+ llm: "llm";
250
+ whisper: "whisper";
251
+ embeddings: "embeddings";
252
+ nmt: "nmt";
253
+ parakeet: "parakeet";
254
+ tts: "tts";
255
+ ocr: "ocr";
256
+ }>, z.ZodLiteral<"vad">]>>;
257
+ }, z.core.$strip>]>>;
258
+ normalize: z.ZodOptional<z.ZodNumber>;
259
+ }, z.core.$strip>>;
107
260
  }, z.core.$strip>, z.ZodObject<{
108
261
  mode: z.ZodOptional<z.ZodEnum<{
109
262
  full: "full";
@@ -270,9 +423,161 @@ export declare const nmtConfigSchema: z.ZodPipe<z.ZodDiscriminatedUnion<[z.ZodOb
270
423
  uk: "uk";
271
424
  zh: "zh";
272
425
  }>;
273
- srcVocabPath: z.ZodOptional<z.ZodString>;
274
- dstVocabPath: z.ZodOptional<z.ZodString>;
426
+ srcVocabSrc: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
427
+ src: z.ZodString;
428
+ name: z.ZodOptional<z.ZodString>;
429
+ modelId: z.ZodOptional<z.ZodString>;
430
+ registryPath: z.ZodOptional<z.ZodString>;
431
+ registrySource: z.ZodOptional<z.ZodString>;
432
+ blobCoreKey: z.ZodOptional<z.ZodString>;
433
+ blobIndex: z.ZodOptional<z.ZodNumber>;
434
+ engine: z.ZodOptional<z.ZodString>;
435
+ expectedSize: z.ZodOptional<z.ZodNumber>;
436
+ sha256Checksum: z.ZodOptional<z.ZodString>;
437
+ addon: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
438
+ "llamacpp-completion": "llamacpp-completion";
439
+ "whispercpp-transcription": "whispercpp-transcription";
440
+ "llamacpp-embedding": "llamacpp-embedding";
441
+ "nmtcpp-translation": "nmtcpp-translation";
442
+ "onnx-tts": "onnx-tts";
443
+ "parakeet-transcription": "parakeet-transcription";
444
+ "onnx-ocr": "onnx-ocr";
445
+ llm: "llm";
446
+ whisper: "whisper";
447
+ embeddings: "embeddings";
448
+ nmt: "nmt";
449
+ parakeet: "parakeet";
450
+ tts: "tts";
451
+ ocr: "ocr";
452
+ }>, z.ZodLiteral<"vad">]>>;
453
+ }, z.core.$strip>]>>;
454
+ dstVocabSrc: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
455
+ src: z.ZodString;
456
+ name: z.ZodOptional<z.ZodString>;
457
+ modelId: z.ZodOptional<z.ZodString>;
458
+ registryPath: z.ZodOptional<z.ZodString>;
459
+ registrySource: z.ZodOptional<z.ZodString>;
460
+ blobCoreKey: z.ZodOptional<z.ZodString>;
461
+ blobIndex: z.ZodOptional<z.ZodNumber>;
462
+ engine: z.ZodOptional<z.ZodString>;
463
+ expectedSize: z.ZodOptional<z.ZodNumber>;
464
+ sha256Checksum: z.ZodOptional<z.ZodString>;
465
+ addon: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
466
+ "llamacpp-completion": "llamacpp-completion";
467
+ "whispercpp-transcription": "whispercpp-transcription";
468
+ "llamacpp-embedding": "llamacpp-embedding";
469
+ "nmtcpp-translation": "nmtcpp-translation";
470
+ "onnx-tts": "onnx-tts";
471
+ "parakeet-transcription": "parakeet-transcription";
472
+ "onnx-ocr": "onnx-ocr";
473
+ llm: "llm";
474
+ whisper: "whisper";
475
+ embeddings: "embeddings";
476
+ nmt: "nmt";
477
+ parakeet: "parakeet";
478
+ tts: "tts";
479
+ ocr: "ocr";
480
+ }>, z.ZodLiteral<"vad">]>>;
481
+ }, z.core.$strip>]>>;
275
482
  normalize: z.ZodOptional<z.ZodNumber>;
483
+ pivotModel: z.ZodOptional<z.ZodObject<{
484
+ mode: z.ZodOptional<z.ZodEnum<{
485
+ full: "full";
486
+ }>>;
487
+ beamsize: z.ZodOptional<z.ZodNumber>;
488
+ lengthpenalty: z.ZodOptional<z.ZodNumber>;
489
+ maxlength: z.ZodOptional<z.ZodNumber>;
490
+ repetitionpenalty: z.ZodOptional<z.ZodNumber>;
491
+ norepeatngramsize: z.ZodOptional<z.ZodNumber>;
492
+ temperature: z.ZodOptional<z.ZodNumber>;
493
+ topk: z.ZodOptional<z.ZodNumber>;
494
+ topp: z.ZodOptional<z.ZodNumber>;
495
+ modelSrc: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
496
+ src: z.ZodString;
497
+ name: z.ZodOptional<z.ZodString>;
498
+ modelId: z.ZodOptional<z.ZodString>;
499
+ registryPath: z.ZodOptional<z.ZodString>;
500
+ registrySource: z.ZodOptional<z.ZodString>;
501
+ blobCoreKey: z.ZodOptional<z.ZodString>;
502
+ blobIndex: z.ZodOptional<z.ZodNumber>;
503
+ engine: z.ZodOptional<z.ZodString>;
504
+ expectedSize: z.ZodOptional<z.ZodNumber>;
505
+ sha256Checksum: z.ZodOptional<z.ZodString>;
506
+ addon: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
507
+ "llamacpp-completion": "llamacpp-completion";
508
+ "whispercpp-transcription": "whispercpp-transcription";
509
+ "llamacpp-embedding": "llamacpp-embedding";
510
+ "nmtcpp-translation": "nmtcpp-translation";
511
+ "onnx-tts": "onnx-tts";
512
+ "parakeet-transcription": "parakeet-transcription";
513
+ "onnx-ocr": "onnx-ocr";
514
+ llm: "llm";
515
+ whisper: "whisper";
516
+ embeddings: "embeddings";
517
+ nmt: "nmt";
518
+ parakeet: "parakeet";
519
+ tts: "tts";
520
+ ocr: "ocr";
521
+ }>, z.ZodLiteral<"vad">]>>;
522
+ }, z.core.$strip>]>;
523
+ srcVocabSrc: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
524
+ src: z.ZodString;
525
+ name: z.ZodOptional<z.ZodString>;
526
+ modelId: z.ZodOptional<z.ZodString>;
527
+ registryPath: z.ZodOptional<z.ZodString>;
528
+ registrySource: z.ZodOptional<z.ZodString>;
529
+ blobCoreKey: z.ZodOptional<z.ZodString>;
530
+ blobIndex: z.ZodOptional<z.ZodNumber>;
531
+ engine: z.ZodOptional<z.ZodString>;
532
+ expectedSize: z.ZodOptional<z.ZodNumber>;
533
+ sha256Checksum: z.ZodOptional<z.ZodString>;
534
+ addon: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
535
+ "llamacpp-completion": "llamacpp-completion";
536
+ "whispercpp-transcription": "whispercpp-transcription";
537
+ "llamacpp-embedding": "llamacpp-embedding";
538
+ "nmtcpp-translation": "nmtcpp-translation";
539
+ "onnx-tts": "onnx-tts";
540
+ "parakeet-transcription": "parakeet-transcription";
541
+ "onnx-ocr": "onnx-ocr";
542
+ llm: "llm";
543
+ whisper: "whisper";
544
+ embeddings: "embeddings";
545
+ nmt: "nmt";
546
+ parakeet: "parakeet";
547
+ tts: "tts";
548
+ ocr: "ocr";
549
+ }>, z.ZodLiteral<"vad">]>>;
550
+ }, z.core.$strip>]>>;
551
+ dstVocabSrc: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
552
+ src: z.ZodString;
553
+ name: z.ZodOptional<z.ZodString>;
554
+ modelId: z.ZodOptional<z.ZodString>;
555
+ registryPath: z.ZodOptional<z.ZodString>;
556
+ registrySource: z.ZodOptional<z.ZodString>;
557
+ blobCoreKey: z.ZodOptional<z.ZodString>;
558
+ blobIndex: z.ZodOptional<z.ZodNumber>;
559
+ engine: z.ZodOptional<z.ZodString>;
560
+ expectedSize: z.ZodOptional<z.ZodNumber>;
561
+ sha256Checksum: z.ZodOptional<z.ZodString>;
562
+ addon: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
563
+ "llamacpp-completion": "llamacpp-completion";
564
+ "whispercpp-transcription": "whispercpp-transcription";
565
+ "llamacpp-embedding": "llamacpp-embedding";
566
+ "nmtcpp-translation": "nmtcpp-translation";
567
+ "onnx-tts": "onnx-tts";
568
+ "parakeet-transcription": "parakeet-transcription";
569
+ "onnx-ocr": "onnx-ocr";
570
+ llm: "llm";
571
+ whisper: "whisper";
572
+ embeddings: "embeddings";
573
+ nmt: "nmt";
574
+ parakeet: "parakeet";
575
+ tts: "tts";
576
+ ocr: "ocr";
577
+ }>, z.ZodLiteral<"vad">]>>;
578
+ }, z.core.$strip>]>>;
579
+ normalize: z.ZodOptional<z.ZodNumber>;
580
+ }, z.core.$strip>>;
276
581
  }, z.core.$strip>, z.ZodObject<{
277
582
  mode: z.ZodOptional<z.ZodEnum<{
278
583
  full: "full";
@@ -368,9 +673,84 @@ export declare const nmtConfigSchema: z.ZodPipe<z.ZodDiscriminatedUnion<[z.ZodOb
368
673
  engine: "Bergamot";
369
674
  from: "en" | "de" | "es" | "it" | "ru" | "ja" | "ar" | "bg" | "ca" | "cs" | "et" | "fi" | "fr" | "hu" | "is" | "ko" | "lt" | "lv" | "nl" | "pl" | "pt" | "sk" | "sl" | "uk" | "zh";
370
675
  to: "en" | "de" | "es" | "it" | "ru" | "ja" | "ar" | "bg" | "ca" | "cs" | "et" | "fi" | "fr" | "hu" | "is" | "ko" | "lt" | "lv" | "nl" | "pl" | "pt" | "sk" | "sl" | "uk" | "zh";
371
- srcVocabPath?: string | undefined;
372
- dstVocabPath?: string | undefined;
676
+ srcVocabSrc?: string | {
677
+ src: string;
678
+ name?: string | undefined;
679
+ modelId?: string | undefined;
680
+ registryPath?: string | undefined;
681
+ registrySource?: string | undefined;
682
+ blobCoreKey?: string | undefined;
683
+ blobIndex?: number | undefined;
684
+ engine?: string | undefined;
685
+ expectedSize?: number | undefined;
686
+ sha256Checksum?: string | undefined;
687
+ addon?: "llamacpp-completion" | "whispercpp-transcription" | "llamacpp-embedding" | "nmtcpp-translation" | "onnx-tts" | "parakeet-transcription" | "onnx-ocr" | "llm" | "whisper" | "embeddings" | "nmt" | "parakeet" | "tts" | "ocr" | "vad" | undefined;
688
+ } | undefined;
689
+ dstVocabSrc?: string | {
690
+ src: string;
691
+ name?: string | undefined;
692
+ modelId?: string | undefined;
693
+ registryPath?: string | undefined;
694
+ registrySource?: string | undefined;
695
+ blobCoreKey?: string | undefined;
696
+ blobIndex?: number | undefined;
697
+ engine?: string | undefined;
698
+ expectedSize?: number | undefined;
699
+ sha256Checksum?: string | undefined;
700
+ addon?: "llamacpp-completion" | "whispercpp-transcription" | "llamacpp-embedding" | "nmtcpp-translation" | "onnx-tts" | "parakeet-transcription" | "onnx-ocr" | "llm" | "whisper" | "embeddings" | "nmt" | "parakeet" | "tts" | "ocr" | "vad" | undefined;
701
+ } | undefined;
373
702
  normalize?: number | undefined;
703
+ pivotModel?: {
704
+ modelSrc: string | {
705
+ src: string;
706
+ name?: string | undefined;
707
+ modelId?: string | undefined;
708
+ registryPath?: string | undefined;
709
+ registrySource?: string | undefined;
710
+ blobCoreKey?: string | undefined;
711
+ blobIndex?: number | undefined;
712
+ engine?: string | undefined;
713
+ expectedSize?: number | undefined;
714
+ sha256Checksum?: string | undefined;
715
+ addon?: "llamacpp-completion" | "whispercpp-transcription" | "llamacpp-embedding" | "nmtcpp-translation" | "onnx-tts" | "parakeet-transcription" | "onnx-ocr" | "llm" | "whisper" | "embeddings" | "nmt" | "parakeet" | "tts" | "ocr" | "vad" | undefined;
716
+ };
717
+ mode?: "full" | undefined;
718
+ beamsize?: number | undefined;
719
+ lengthpenalty?: number | undefined;
720
+ maxlength?: number | undefined;
721
+ repetitionpenalty?: number | undefined;
722
+ norepeatngramsize?: number | undefined;
723
+ temperature?: number | undefined;
724
+ topk?: number | undefined;
725
+ topp?: number | undefined;
726
+ srcVocabSrc?: string | {
727
+ src: string;
728
+ name?: string | undefined;
729
+ modelId?: string | undefined;
730
+ registryPath?: string | undefined;
731
+ registrySource?: string | undefined;
732
+ blobCoreKey?: string | undefined;
733
+ blobIndex?: number | undefined;
734
+ engine?: string | undefined;
735
+ expectedSize?: number | undefined;
736
+ sha256Checksum?: string | undefined;
737
+ addon?: "llamacpp-completion" | "whispercpp-transcription" | "llamacpp-embedding" | "nmtcpp-translation" | "onnx-tts" | "parakeet-transcription" | "onnx-ocr" | "llm" | "whisper" | "embeddings" | "nmt" | "parakeet" | "tts" | "ocr" | "vad" | undefined;
738
+ } | undefined;
739
+ dstVocabSrc?: string | {
740
+ src: string;
741
+ name?: string | undefined;
742
+ modelId?: string | undefined;
743
+ registryPath?: string | undefined;
744
+ registrySource?: string | undefined;
745
+ blobCoreKey?: string | undefined;
746
+ blobIndex?: number | undefined;
747
+ engine?: string | undefined;
748
+ expectedSize?: number | undefined;
749
+ sha256Checksum?: string | undefined;
750
+ addon?: "llamacpp-completion" | "whispercpp-transcription" | "llamacpp-embedding" | "nmtcpp-translation" | "onnx-tts" | "parakeet-transcription" | "onnx-ocr" | "llm" | "whisper" | "embeddings" | "nmt" | "parakeet" | "tts" | "ocr" | "vad" | undefined;
751
+ } | undefined;
752
+ normalize?: number | undefined;
753
+ } | undefined;
374
754
  } | {
375
755
  mode: "full";
376
756
  beamsize: number;
@@ -410,9 +790,84 @@ export declare const nmtConfigSchema: z.ZodPipe<z.ZodDiscriminatedUnion<[z.ZodOb
410
790
  temperature?: number | undefined;
411
791
  topk?: number | undefined;
412
792
  topp?: number | undefined;
413
- srcVocabPath?: string | undefined;
414
- dstVocabPath?: string | undefined;
793
+ srcVocabSrc?: string | {
794
+ src: string;
795
+ name?: string | undefined;
796
+ modelId?: string | undefined;
797
+ registryPath?: string | undefined;
798
+ registrySource?: string | undefined;
799
+ blobCoreKey?: string | undefined;
800
+ blobIndex?: number | undefined;
801
+ engine?: string | undefined;
802
+ expectedSize?: number | undefined;
803
+ sha256Checksum?: string | undefined;
804
+ addon?: "llamacpp-completion" | "whispercpp-transcription" | "llamacpp-embedding" | "nmtcpp-translation" | "onnx-tts" | "parakeet-transcription" | "onnx-ocr" | "llm" | "whisper" | "embeddings" | "nmt" | "parakeet" | "tts" | "ocr" | "vad" | undefined;
805
+ } | undefined;
806
+ dstVocabSrc?: string | {
807
+ src: string;
808
+ name?: string | undefined;
809
+ modelId?: string | undefined;
810
+ registryPath?: string | undefined;
811
+ registrySource?: string | undefined;
812
+ blobCoreKey?: string | undefined;
813
+ blobIndex?: number | undefined;
814
+ engine?: string | undefined;
815
+ expectedSize?: number | undefined;
816
+ sha256Checksum?: string | undefined;
817
+ addon?: "llamacpp-completion" | "whispercpp-transcription" | "llamacpp-embedding" | "nmtcpp-translation" | "onnx-tts" | "parakeet-transcription" | "onnx-ocr" | "llm" | "whisper" | "embeddings" | "nmt" | "parakeet" | "tts" | "ocr" | "vad" | undefined;
818
+ } | undefined;
415
819
  normalize?: number | undefined;
820
+ pivotModel?: {
821
+ modelSrc: string | {
822
+ src: string;
823
+ name?: string | undefined;
824
+ modelId?: string | undefined;
825
+ registryPath?: string | undefined;
826
+ registrySource?: string | undefined;
827
+ blobCoreKey?: string | undefined;
828
+ blobIndex?: number | undefined;
829
+ engine?: string | undefined;
830
+ expectedSize?: number | undefined;
831
+ sha256Checksum?: string | undefined;
832
+ addon?: "llamacpp-completion" | "whispercpp-transcription" | "llamacpp-embedding" | "nmtcpp-translation" | "onnx-tts" | "parakeet-transcription" | "onnx-ocr" | "llm" | "whisper" | "embeddings" | "nmt" | "parakeet" | "tts" | "ocr" | "vad" | undefined;
833
+ };
834
+ mode?: "full" | undefined;
835
+ beamsize?: number | undefined;
836
+ lengthpenalty?: number | undefined;
837
+ maxlength?: number | undefined;
838
+ repetitionpenalty?: number | undefined;
839
+ norepeatngramsize?: number | undefined;
840
+ temperature?: number | undefined;
841
+ topk?: number | undefined;
842
+ topp?: number | undefined;
843
+ srcVocabSrc?: string | {
844
+ src: string;
845
+ name?: string | undefined;
846
+ modelId?: string | undefined;
847
+ registryPath?: string | undefined;
848
+ registrySource?: string | undefined;
849
+ blobCoreKey?: string | undefined;
850
+ blobIndex?: number | undefined;
851
+ engine?: string | undefined;
852
+ expectedSize?: number | undefined;
853
+ sha256Checksum?: string | undefined;
854
+ addon?: "llamacpp-completion" | "whispercpp-transcription" | "llamacpp-embedding" | "nmtcpp-translation" | "onnx-tts" | "parakeet-transcription" | "onnx-ocr" | "llm" | "whisper" | "embeddings" | "nmt" | "parakeet" | "tts" | "ocr" | "vad" | undefined;
855
+ } | undefined;
856
+ dstVocabSrc?: string | {
857
+ src: string;
858
+ name?: string | undefined;
859
+ modelId?: string | undefined;
860
+ registryPath?: string | undefined;
861
+ registrySource?: string | undefined;
862
+ blobCoreKey?: string | undefined;
863
+ blobIndex?: number | undefined;
864
+ engine?: string | undefined;
865
+ expectedSize?: number | undefined;
866
+ sha256Checksum?: string | undefined;
867
+ addon?: "llamacpp-completion" | "whispercpp-transcription" | "llamacpp-embedding" | "nmtcpp-translation" | "onnx-tts" | "parakeet-transcription" | "onnx-ocr" | "llm" | "whisper" | "embeddings" | "nmt" | "parakeet" | "tts" | "ocr" | "vad" | undefined;
868
+ } | undefined;
869
+ normalize?: number | undefined;
870
+ } | undefined;
416
871
  } | {
417
872
  engine: "IndicTrans";
418
873
  from: "asm_Beng" | "ben_Beng" | "brx_Deva" | "doi_Deva" | "eng_Latn" | "gom_Deva" | "guj_Gujr" | "hin_Deva" | "kan_Knda" | "kas_Arab" | "kas_Deva" | "mai_Deva" | "mal_Mlym" | "mar_Deva" | "mni_Beng" | "mni_Mtei" | "npi_Deva" | "ory_Orya" | "pan_Guru" | "san_Deva" | "sat_Olck" | "snd_Arab" | "snd_Deva" | "tam_Taml" | "tel_Telu" | "urd_Arab";
@@ -1,4 +1,5 @@
1
1
  import { z } from "zod";
2
+ import { modelSrcInputSchema } from "./model-src-utils.js";
2
3
  // Marian/Opus model languages
3
4
  export const MARIAN_LANGUAGES = ["en", "de", "es", "it", "ru", "ja"];
4
5
  // Bergamot supports many more language pairs
@@ -58,6 +59,28 @@ export const INDICTRANS_LANGUAGES = [
58
59
  "tel_Telu", // Telugu
59
60
  "urd_Arab", // Urdu
60
61
  ];
62
+ export const AFRICAN_LANGUAGES_MAP = new Map([
63
+ ["afr_Latn", "Afrikaans"],
64
+ ["swh_Latn", "Swahili"],
65
+ ["ary_Arab", "Moroccan Arabic"],
66
+ ["som_Latn", "Somali"],
67
+ ["amh_Ethi", "Amharic"],
68
+ ["arz_Arab", "Egyptian Arabic"],
69
+ ["hau_Latn", "Hausa"],
70
+ ["kin_Latn", "Kinyarwanda"],
71
+ ["zul_Latn", "Zulu"],
72
+ ["ibo_Latn", "Igbo"],
73
+ ["plt_Latn", "Plateau Malagasy"],
74
+ ["xho_Latn", "Xhosa"],
75
+ ["sna_Latn", "Shona"],
76
+ ["yor_Latn", "Yoruba"],
77
+ ["nya_Latn", "Nyanja"],
78
+ ["sot_Latn", "Southern Sotho"],
79
+ ["tir_Ethi", "Tigrinya"],
80
+ ["aeb_Arab", "Tunisian Arabic"],
81
+ ["gaz_Latn", "Oromo"],
82
+ ["tsn_Latn", "Tswana"],
83
+ ]);
61
84
  // Union of all NMT languages (for general type usage)
62
85
  export const NMT_LANGUAGES = [
63
86
  ...MARIAN_LANGUAGES,
@@ -83,14 +106,24 @@ const opusConfigSchema = nmtGenerationParamsSchema.extend({
83
106
  from: z.enum(MARIAN_LANGUAGES),
84
107
  to: z.enum(MARIAN_LANGUAGES),
85
108
  });
109
+ // Pivot model configuration for Bergamot (for translation via intermediate language)
110
+ const bergamotPivotModelSchema = nmtGenerationParamsSchema
111
+ .extend({
112
+ modelSrc: modelSrcInputSchema,
113
+ srcVocabSrc: modelSrcInputSchema.optional(),
114
+ dstVocabSrc: modelSrcInputSchema.optional(),
115
+ normalize: z.number().optional(),
116
+ })
117
+ .optional();
86
118
  // Bergamot engine config - supports BERGAMOT_LANGUAGES
87
119
  const bergamotConfigSchema = nmtGenerationParamsSchema.extend({
88
120
  engine: z.literal("Bergamot"),
89
121
  from: z.enum(BERGAMOT_LANGUAGES),
90
122
  to: z.enum(BERGAMOT_LANGUAGES),
91
- srcVocabPath: z.string().optional(),
92
- dstVocabPath: z.string().optional(),
123
+ srcVocabSrc: modelSrcInputSchema.optional(),
124
+ dstVocabSrc: modelSrcInputSchema.optional(),
93
125
  normalize: z.number().optional(),
126
+ pivotModel: bergamotPivotModelSchema,
94
127
  });
95
128
  // IndicTrans engine config - supports INDICTRANS_LANGUAGES
96
129
  const indicTransConfigSchema = nmtGenerationParamsSchema.extend({
@@ -3,6 +3,8 @@ import RPC from "bare-rpc";
3
3
  import { withTimeout } from "../../utils/withTimeout.js";
4
4
  import { DelegateConnectionFailedError } from "../../utils/errors-server.js";
5
5
  import { getServerLogger } from "../../logging/index.js";
6
+ import { nowMs } from "../../profiling/index.js";
7
+ import { cacheDelegationConnectionTime, clearPeerConnectionTracking, } from "../rpc/profiling/delegation-profiler.js";
6
8
  const logger = getServerLogger();
7
9
  // Map of active RPC instances by public key
8
10
  const activeRPCs = new Map();
@@ -36,11 +38,13 @@ function ensureConnectionHandler() {
36
38
  logger.debug(`Connection closed for peer: ${peerPubkey}`);
37
39
  activeRPCs.delete(peerPubkey);
38
40
  activeConnections.delete(peerPubkey);
41
+ clearPeerConnectionTracking(peerPubkey);
39
42
  });
40
43
  conn.on("error", (err) => {
41
44
  logger.error(`Connection error for peer ${peerPubkey}:`, err);
42
45
  activeRPCs.delete(peerPubkey);
43
46
  activeConnections.delete(peerPubkey);
47
+ clearPeerConnectionTracking(peerPubkey);
44
48
  });
45
49
  });
46
50
  }
@@ -60,6 +64,7 @@ async function closeConnection(publicKey) {
60
64
  });
61
65
  activeConnections.delete(publicKey);
62
66
  activeRPCs.delete(publicKey);
67
+ clearPeerConnectionTracking(publicKey);
63
68
  }
64
69
  }
65
70
  // Establish RPC connection to a peer if not already connected
@@ -70,6 +75,7 @@ async function ensureRPCConnection(topic, publicKey, timeout) {
70
75
  return existingRpc;
71
76
  }
72
77
  const swarm = getSwarm();
78
+ const connectionStart = nowMs();
73
79
  // Track the listener so we can clean it up on timeout
74
80
  let onConnection = () => { };
75
81
  try {
@@ -126,7 +132,10 @@ async function ensureRPCConnection(topic, publicKey, timeout) {
126
132
  logger.debug(`⏳ Peer not connected after flush, waiting for connection event...`);
127
133
  });
128
134
  });
129
- return await withTimeout(connectionPromise, timeout);
135
+ const rpc = await withTimeout(connectionPromise, timeout);
136
+ const connectionDuration = nowMs() - connectionStart;
137
+ cacheDelegationConnectionTime(publicKey, connectionDuration);
138
+ return rpc;
130
139
  }
131
140
  catch (error) {
132
141
  // Clean up the per-request connection listener
@@ -168,4 +177,5 @@ export function cleanupStaleConnection(publicKey) {
168
177
  conn.destroy();
169
178
  activeConnections.delete(publicKey);
170
179
  }
180
+ clearPeerConnectionTracking(publicKey);
171
181
  }
@@ -1,3 +1,9 @@
1
1
  import { type LoadModelServerParams } from "../../../schemas/index";
2
- export declare function loadModel(params: LoadModelServerParams): Promise<void>;
2
+ import type { LoadTimingStats } from "../../../profiling/types";
3
+ export interface LoadModelResult {
4
+ timing?: LoadTimingStats;
5
+ }
6
+ export declare function loadModel(params: LoadModelServerParams, options?: {
7
+ collectTiming?: boolean;
8
+ }): Promise<LoadModelResult>;
3
9
  //# sourceMappingURL=load-model.d.ts.map