@qvac/sdk 0.8.0 → 1.0.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 (588) hide show
  1. package/LICENSE +24 -1
  2. package/README.md +191 -373
  3. package/dist/client/api/cancel.d.ts +4 -13
  4. package/dist/client/api/cancel.js +6 -16
  5. package/dist/client/api/completion-stream.d.ts +30 -24
  6. package/dist/client/api/completion-stream.js +70 -121
  7. package/dist/client/api/delete-cache.js +2 -3
  8. package/dist/client/api/download-asset.d.ts +5 -6
  9. package/dist/client/api/download-asset.js +20 -16
  10. package/dist/client/api/embed.d.ts +4 -21
  11. package/dist/client/api/embed.js +14 -4
  12. package/dist/client/api/index.d.ts +1 -5
  13. package/dist/client/api/index.js +1 -5
  14. package/dist/client/api/load-model.d.ts +21 -49
  15. package/dist/client/api/load-model.js +134 -40
  16. package/dist/client/api/logging-stream.d.ts +4 -7
  17. package/dist/client/api/logging-stream.js +5 -9
  18. package/dist/client/api/ping.d.ts +1 -1
  19. package/dist/client/api/ping.js +2 -3
  20. package/dist/client/api/provide.d.ts +1 -1
  21. package/dist/client/api/provide.js +3 -4
  22. package/dist/client/api/rag.d.ts +21 -216
  23. package/dist/client/api/rag.js +36 -396
  24. package/dist/client/api/stop-provider.d.ts +1 -1
  25. package/dist/client/api/stop-provider.js +3 -4
  26. package/dist/client/api/text-to-speech.d.ts +2 -2
  27. package/dist/client/api/text-to-speech.js +3 -3
  28. package/dist/client/api/transcribe.d.ts +5 -9
  29. package/dist/client/api/transcribe.js +9 -11
  30. package/dist/client/api/translate.d.ts +3 -3
  31. package/dist/client/api/translate.js +15 -15
  32. package/dist/client/api/unload-model.d.ts +1 -5
  33. package/dist/client/api/unload-model.js +4 -17
  34. package/dist/client/index.d.ts +1 -1
  35. package/dist/client/index.js +1 -1
  36. package/dist/client/logging-stream-registry.d.ts +1 -1
  37. package/dist/client/logging-stream-registry.js +13 -14
  38. package/dist/client/rpc/bare-client.d.ts +139 -3
  39. package/dist/client/rpc/bare-client.js +16 -117
  40. package/dist/client/rpc/bare-rpc-client.d.ts +4 -0
  41. package/dist/client/rpc/bare-rpc-client.js +87 -0
  42. package/dist/client/rpc/expo-rpc-client.d.ts +1 -2
  43. package/dist/client/rpc/expo-rpc-client.js +14 -57
  44. package/dist/client/rpc/node-rpc-client.d.ts +8 -3
  45. package/dist/client/rpc/node-rpc-client.js +62 -218
  46. package/dist/client/rpc/rpc-client.d.ts +2 -3
  47. package/dist/client/rpc/rpc-client.js +49 -184
  48. package/dist/constants/audio.d.ts +2 -1
  49. package/dist/constants/audio.js +17 -1
  50. package/dist/constants/index.d.ts +0 -1
  51. package/dist/constants/index.js +0 -1
  52. package/dist/examples/delegated-inference/consumer.js +2 -3
  53. package/dist/examples/download-with-cancel.js +4 -3
  54. package/dist/examples/embed-hyperdrive.js +4 -39
  55. package/dist/examples/kv-cache-cleanup.js +2 -1
  56. package/dist/examples/kv-cache-custom-key.js +2 -16
  57. package/dist/examples/kv-cache-example.js +2 -1
  58. package/dist/examples/llamacpp-file-logging.d.ts +2 -0
  59. package/dist/examples/{logging-file-transport.js → llamacpp-file-logging.js} +8 -3
  60. package/dist/examples/llamacpp-filesystem.js +2 -2
  61. package/dist/examples/llamacpp-http.js +1 -0
  62. package/dist/examples/llamacpp-hyperdrive.js +2 -1
  63. package/dist/examples/llamacpp-multimodal.js +4 -3
  64. package/dist/examples/llamacpp-native-tools.js +30 -72
  65. package/dist/examples/multi-model-demo.js +3 -2
  66. package/dist/examples/parallel-download.js +14 -46
  67. package/dist/examples/rag/rag-chromadb.js +1 -0
  68. package/dist/examples/rag/rag-hyperdb-workspaces.d.ts +2 -0
  69. package/dist/examples/rag/rag-hyperdb-workspaces.js +107 -0
  70. package/dist/examples/rag/rag-hyperdb.d.ts +2 -0
  71. package/dist/examples/rag/{rag-hyperdb/ingest.js → rag-hyperdb.js} +5 -10
  72. package/dist/examples/rag/rag-lancedb.js +1 -0
  73. package/dist/examples/rag/rag-sqlite.js +1 -0
  74. package/dist/examples/text-to-speech.d.ts +3 -0
  75. package/dist/examples/{tts/utils.js → text-to-speech.js} +63 -18
  76. package/dist/examples/translation/translation-indic.js +1 -4
  77. package/dist/examples/translation/translation-llm-context.js +1 -0
  78. package/dist/examples/translation/translation-llm.js +2 -2
  79. package/dist/examples/translation/translation-opus.js +3 -6
  80. package/dist/examples/translation/translation-stream.js +3 -3
  81. package/dist/examples/whispercpp-filesystem.js +43 -0
  82. package/dist/examples/{transcription/whispercpp-microphone-record.js → whispercpp-microphone-record.js} +9 -8
  83. package/dist/expo/plugins/index.d.ts +0 -3
  84. package/dist/expo/plugins/index.js +0 -3
  85. package/dist/expo/plugins/withMobileBundle.d.ts +2 -5
  86. package/dist/expo/plugins/withMobileBundle.js +40 -121
  87. package/dist/expo/plugins/withQvacSDK.d.ts +0 -4
  88. package/dist/expo/plugins/withQvacSDK.js +1 -26
  89. package/dist/index.d.ts +4 -9
  90. package/dist/index.js +5 -11
  91. package/dist/logging/base-logger.js +16 -26
  92. package/dist/logging/index.d.ts +1 -7
  93. package/dist/logging/index.js +1 -7
  94. package/dist/logging/logger.d.ts +2 -0
  95. package/dist/logging/logger.js +6 -11
  96. package/dist/logging/stream-logger.d.ts +1 -1
  97. package/dist/logging/stream-logger.js +3 -6
  98. package/dist/logging/transport.js +2 -2
  99. package/dist/logging/types.d.ts +0 -2
  100. package/dist/logging/utils.d.ts +0 -2
  101. package/dist/logging/utils.js +0 -62
  102. package/dist/models/{registry → hyperdrive}/index.js +1 -1
  103. package/dist/models/hyperdrive/models.d.ts +619 -0
  104. package/dist/models/hyperdrive/models.js +693 -0
  105. package/dist/schemas/cancel.d.ts +0 -6
  106. package/dist/schemas/cancel.js +0 -5
  107. package/dist/schemas/common.d.ts +164 -2973
  108. package/dist/schemas/common.js +1 -23
  109. package/dist/schemas/completion-stream.d.ts +60 -31
  110. package/dist/schemas/completion-stream.js +44 -20
  111. package/dist/schemas/delegate.d.ts +0 -1
  112. package/dist/schemas/delegate.js +0 -1
  113. package/dist/schemas/download-asset.d.ts +3 -125
  114. package/dist/schemas/download-asset.js +5 -22
  115. package/dist/schemas/embed.d.ts +3 -3
  116. package/dist/schemas/embed.js +2 -9
  117. package/dist/schemas/index.d.ts +1 -19
  118. package/dist/schemas/index.js +1 -19
  119. package/dist/schemas/llamacpp-config.d.ts +12 -243
  120. package/dist/schemas/llamacpp-config.js +14 -50
  121. package/dist/schemas/load-model.d.ts +893 -14358
  122. package/dist/schemas/load-model.js +72 -325
  123. package/dist/schemas/logging-stream.d.ts +4 -11
  124. package/dist/schemas/logging-stream.js +3 -4
  125. package/dist/schemas/rag.d.ts +52 -183
  126. package/dist/schemas/rag.js +23 -152
  127. package/dist/schemas/text-to-speech.d.ts +1 -692
  128. package/dist/schemas/text-to-speech.js +3 -35
  129. package/dist/schemas/transcription.d.ts +0 -3
  130. package/dist/schemas/transcription.js +0 -1
  131. package/dist/schemas/translate.d.ts +23 -68
  132. package/dist/schemas/translate.js +11 -37
  133. package/dist/schemas/translation-config.d.ts +7 -810
  134. package/dist/schemas/translation-config.js +7 -113
  135. package/dist/schemas/unload-model.d.ts +0 -2
  136. package/dist/schemas/unload-model.js +0 -2
  137. package/dist/schemas/whispercpp-config.d.ts +25 -0
  138. package/dist/schemas/whispercpp-config.js +18 -0
  139. package/dist/server/bare/{ops → addons}/cancel.js +1 -2
  140. package/dist/server/bare/addons/index.d.ts +4 -0
  141. package/dist/server/bare/addons/index.js +3 -0
  142. package/dist/server/bare/addons/llamacpp/create-model.d.ts +5 -0
  143. package/dist/server/bare/addons/llamacpp/create-model.js +67 -0
  144. package/dist/server/bare/{plugins/llamacpp-completion/ops → addons/llamacpp/handlers}/completion-stream.d.ts +1 -2
  145. package/dist/server/bare/{plugins/llamacpp-completion/ops → addons/llamacpp/handlers}/completion-stream.js +87 -54
  146. package/dist/server/bare/addons/llamacpp/handlers/embed.d.ts +4 -0
  147. package/dist/server/bare/{ops → addons/llamacpp/handlers}/embed.js +7 -22
  148. package/dist/server/bare/addons/llamacpp/index.d.ts +4 -0
  149. package/dist/server/bare/addons/llamacpp/index.js +3 -0
  150. package/dist/server/bare/{ops → addons/llamacpp}/kv-cache-utils.d.ts +1 -4
  151. package/dist/server/bare/{ops → addons/llamacpp}/kv-cache-utils.js +19 -54
  152. package/dist/server/bare/addons/load-model.d.ts +3 -0
  153. package/dist/server/bare/addons/load-model.js +62 -0
  154. package/dist/server/bare/addons/translation/create-model.d.ts +4 -0
  155. package/dist/server/bare/addons/translation/create-model.js +45 -0
  156. package/dist/server/bare/addons/translation/handlers/translate.d.ts +3 -0
  157. package/dist/server/bare/{ops → addons/translation/handlers}/translate.js +14 -47
  158. package/dist/server/bare/addons/translation/index.d.ts +3 -0
  159. package/dist/server/bare/addons/translation/index.js +2 -0
  160. package/dist/server/bare/addons/tts/create-model.d.ts +6 -0
  161. package/dist/server/bare/addons/tts/create-model.js +40 -0
  162. package/dist/server/bare/{plugins/onnx-tts/ops → addons/tts/handlers}/text-to-speech.js +3 -25
  163. package/dist/server/bare/addons/tts/index.d.ts +3 -0
  164. package/dist/server/bare/addons/tts/index.js +2 -0
  165. package/dist/server/bare/addons/unload-model.js +20 -0
  166. package/dist/server/bare/addons/whispercpp/create-model.d.ts +6 -0
  167. package/dist/server/bare/addons/whispercpp/create-model.js +55 -0
  168. package/dist/server/bare/addons/whispercpp/handlers/transcribe-stream.d.ts +3 -0
  169. package/dist/server/bare/addons/whispercpp/handlers/transcribe-stream.js +48 -0
  170. package/dist/server/bare/addons/whispercpp/index.d.ts +3 -0
  171. package/dist/server/bare/addons/whispercpp/index.js +2 -0
  172. package/dist/server/bare/delegate-rpc-client.d.ts +0 -6
  173. package/dist/server/bare/delegate-rpc-client.js +46 -157
  174. package/dist/server/bare/hyperswarm.d.ts +0 -3
  175. package/dist/server/bare/hyperswarm.js +6 -29
  176. package/dist/server/bare/rag-hyperdb/handlers/delete-embeddings.d.ts +1 -1
  177. package/dist/server/bare/rag-hyperdb/handlers/delete-embeddings.js +10 -9
  178. package/dist/server/bare/rag-hyperdb/handlers/save-embeddings.d.ts +4 -7
  179. package/dist/server/bare/rag-hyperdb/handlers/save-embeddings.js +14 -13
  180. package/dist/server/bare/rag-hyperdb/handlers/search.js +10 -10
  181. package/dist/server/bare/rag-hyperdb/index.d.ts +1 -8
  182. package/dist/server/bare/rag-hyperdb/index.js +1 -8
  183. package/dist/server/bare/rag-hyperdb/rag-manager.d.ts +5 -0
  184. package/dist/server/bare/rag-hyperdb/rag-manager.js +65 -0
  185. package/dist/server/bare/registry/logging-stream-registry.d.ts +7 -24
  186. package/dist/server/bare/registry/logging-stream-registry.js +20 -99
  187. package/dist/server/bare/registry/model-registry.d.ts +26 -14
  188. package/dist/server/bare/registry/model-registry.js +12 -32
  189. package/dist/server/error-handlers.d.ts +2 -3
  190. package/dist/server/error-handlers.js +10 -15
  191. package/dist/server/http-server.d.ts +2 -0
  192. package/dist/server/http-server.js +189 -0
  193. package/dist/server/rpc/create-server.js +3 -5
  194. package/dist/server/rpc/handle-request.d.ts +9 -0
  195. package/dist/server/rpc/handle-request.js +242 -92
  196. package/dist/server/rpc/handlers/cancelHandler.js +3 -14
  197. package/dist/server/rpc/handlers/completion-stream-delegated.d.ts +1 -3
  198. package/dist/server/rpc/handlers/completion-stream-delegated.js +6 -18
  199. package/dist/server/rpc/handlers/completion-stream.js +41 -2
  200. package/dist/server/rpc/handlers/delete-cache.js +2 -4
  201. package/dist/server/rpc/handlers/download-asset.js +6 -59
  202. package/dist/server/rpc/handlers/embed.js +19 -2
  203. package/dist/server/rpc/handlers/index.d.ts +0 -13
  204. package/dist/server/rpc/handlers/index.js +0 -13
  205. package/dist/server/rpc/handlers/load-model/download-manager.d.ts +11 -12
  206. package/dist/server/rpc/handlers/load-model/download-manager.js +28 -43
  207. package/dist/server/rpc/handlers/load-model/http.d.ts +1 -2
  208. package/dist/server/rpc/handlers/load-model/http.js +55 -424
  209. package/dist/server/rpc/handlers/load-model/hyperdrive.d.ts +1 -2
  210. package/dist/server/rpc/handlers/load-model/hyperdrive.js +171 -364
  211. package/dist/server/rpc/handlers/load-model/index.d.ts +2 -2
  212. package/dist/server/rpc/handlers/load-model/index.js +2 -2
  213. package/dist/server/rpc/handlers/load-model/resolve.d.ts +1 -3
  214. package/dist/server/rpc/handlers/load-model/resolve.js +29 -110
  215. package/dist/server/rpc/handlers/load-model-delegated.d.ts +2 -6
  216. package/dist/server/rpc/handlers/load-model-delegated.js +21 -59
  217. package/dist/server/rpc/handlers/{load-model/handler.d.ts → load-model.d.ts} +2 -2
  218. package/dist/server/rpc/handlers/load-model.js +57 -0
  219. package/dist/server/rpc/handlers/logging-stream.js +4 -4
  220. package/dist/server/rpc/handlers/provideHandler/connection.js +10 -12
  221. package/dist/server/rpc/handlers/provideHandler/handler.js +17 -20
  222. package/dist/server/rpc/handlers/provideHandler/proxy.js +6 -8
  223. package/dist/server/rpc/handlers/rag.d.ts +2 -2
  224. package/dist/server/rpc/handlers/rag.js +43 -130
  225. package/dist/server/rpc/handlers/stopProvideHandler.js +2 -6
  226. package/dist/server/rpc/handlers/text-to-speech.js +5 -2
  227. package/dist/server/rpc/handlers/transcribe-stream.js +24 -2
  228. package/dist/server/rpc/handlers/translate.js +49 -2
  229. package/dist/server/rpc/handlers/unload-model.js +3 -12
  230. package/dist/server/rpc/index.d.ts +1 -1
  231. package/dist/server/utils/audio/decoder.d.ts +1 -2
  232. package/dist/server/utils/audio/decoder.js +12 -49
  233. package/dist/server/utils/cache.d.ts +8 -19
  234. package/dist/server/utils/cache.js +15 -100
  235. package/dist/server/utils/hash.d.ts +5 -0
  236. package/dist/server/utils/hash.js +11 -0
  237. package/dist/server/utils/index.d.ts +2 -7
  238. package/dist/server/utils/index.js +2 -7
  239. package/dist/server/utils/tool-parser.js +14 -28
  240. package/dist/server/worker.d.ts +5 -4
  241. package/dist/server/worker.js +89 -22
  242. package/package.json +41 -141
  243. package/NOTICE +0 -358
  244. package/bare-imports.json +0 -44
  245. package/dist/client/api/get-model-info.d.ts +0 -36
  246. package/dist/client/api/get-model-info.js +0 -14
  247. package/dist/client/api/invoke-plugin.d.ts +0 -15
  248. package/dist/client/api/invoke-plugin.js +0 -38
  249. package/dist/client/api/ocr.d.ts +0 -31
  250. package/dist/client/api/ocr.js +0 -88
  251. package/dist/client/api/registry.d.ts +0 -14
  252. package/dist/client/api/registry.js +0 -37
  253. package/dist/client/config-loader/config-utils.d.ts +0 -5
  254. package/dist/client/config-loader/config-utils.js +0 -20
  255. package/dist/client/config-loader/resolve-config.bare.d.ts +0 -9
  256. package/dist/client/config-loader/resolve-config.bare.js +0 -87
  257. package/dist/client/config-loader/resolve-config.expo.d.ts +0 -11
  258. package/dist/client/config-loader/resolve-config.expo.js +0 -62
  259. package/dist/client/config-loader/resolve-config.node.d.ts +0 -10
  260. package/dist/client/config-loader/resolve-config.node.js +0 -145
  261. package/dist/client/init-hooks.d.ts +0 -21
  262. package/dist/client/init-hooks.js +0 -66
  263. package/dist/client/rpc/expo-device-info.d.ts +0 -6
  264. package/dist/client/rpc/expo-device-info.js +0 -32
  265. package/dist/client/rpc/profiling/index.d.ts +0 -2
  266. package/dist/client/rpc/profiling/index.js +0 -1
  267. package/dist/client/rpc/profiling/profiler.d.ts +0 -27
  268. package/dist/client/rpc/profiling/profiler.js +0 -139
  269. package/dist/constants/registry.d.ts +0 -2
  270. package/dist/constants/registry.js +0 -1
  271. package/dist/examples/cache-management.d.ts +0 -2
  272. package/dist/examples/cache-management.js +0 -97
  273. package/dist/examples/config/blind-relay/blind-relay.config.d.ts +0 -5
  274. package/dist/examples/config/blind-relay/blind-relay.config.js +0 -7
  275. package/dist/examples/config/default/default.config.d.ts +0 -8
  276. package/dist/examples/config/default/default.config.js +0 -6
  277. package/dist/examples/config/plugins/plugins.config.d.ts +0 -5
  278. package/dist/examples/config/plugins/plugins.config.js +0 -4
  279. package/dist/examples/config-reload.d.ts +0 -2
  280. package/dist/examples/config-reload.js +0 -49
  281. package/dist/examples/default-config-usage.d.ts +0 -17
  282. package/dist/examples/default-config-usage.js +0 -47
  283. package/dist/examples/delegated-inference/consumer-profiled.d.ts +0 -2
  284. package/dist/examples/delegated-inference/consumer-profiled.js +0 -67
  285. package/dist/examples/download-with-blind-relays.d.ts +0 -2
  286. package/dist/examples/download-with-blind-relays.js +0 -49
  287. package/dist/examples/llamacpp-sharded.d.ts +0 -2
  288. package/dist/examples/llamacpp-sharded.js +0 -53
  289. package/dist/examples/logging-file-transport.d.ts +0 -2
  290. package/dist/examples/logging-streaming.d.ts +0 -2
  291. package/dist/examples/logging-streaming.js +0 -75
  292. package/dist/examples/mcp-websearch.d.ts +0 -13
  293. package/dist/examples/mcp-websearch.js +0 -176
  294. package/dist/examples/ocr-fasttext.d.ts +0 -2
  295. package/dist/examples/ocr-fasttext.js +0 -52
  296. package/dist/examples/plugins.d.ts +0 -14
  297. package/dist/examples/plugins.js +0 -129
  298. package/dist/examples/profiling/basic.d.ts +0 -2
  299. package/dist/examples/profiling/basic.js +0 -71
  300. package/dist/examples/profiling/per-call.d.ts +0 -2
  301. package/dist/examples/profiling/per-call.js +0 -30
  302. package/dist/examples/quickstart.d.ts +0 -2
  303. package/dist/examples/quickstart.js +0 -28
  304. package/dist/examples/rag/rag-hyperdb/cancellation.d.ts +0 -2
  305. package/dist/examples/rag/rag-hyperdb/cancellation.js +0 -75
  306. package/dist/examples/rag/rag-hyperdb/ingest.d.ts +0 -2
  307. package/dist/examples/rag/rag-hyperdb/pipeline.d.ts +0 -2
  308. package/dist/examples/rag/rag-hyperdb/pipeline.js +0 -74
  309. package/dist/examples/rag/rag-hyperdb/workspaces.d.ts +0 -2
  310. package/dist/examples/rag/rag-hyperdb/workspaces.js +0 -178
  311. package/dist/examples/registry-query.d.ts +0 -2
  312. package/dist/examples/registry-query.js +0 -87
  313. package/dist/examples/transcription/parakeet-ctc-filesystem.d.ts +0 -2
  314. package/dist/examples/transcription/parakeet-ctc-filesystem.js +0 -40
  315. package/dist/examples/transcription/parakeet-microphone-record.d.ts +0 -2
  316. package/dist/examples/transcription/parakeet-microphone-record.js +0 -95
  317. package/dist/examples/transcription/parakeet-sortformer.d.ts +0 -2
  318. package/dist/examples/transcription/parakeet-sortformer.js +0 -115
  319. package/dist/examples/transcription/parakeet-tdt-filesystem.d.ts +0 -2
  320. package/dist/examples/transcription/parakeet-tdt-filesystem.js +0 -44
  321. package/dist/examples/transcription/whispercpp-filesystem.js +0 -69
  322. package/dist/examples/transcription/whispercpp-prompt.d.ts +0 -2
  323. package/dist/examples/transcription/whispercpp-prompt.js +0 -67
  324. package/dist/examples/translation/translation-bergamot-batch.d.ts +0 -2
  325. package/dist/examples/translation/translation-bergamot-batch.js +0 -49
  326. package/dist/examples/translation/translation-bergamot-pivot.d.ts +0 -2
  327. package/dist/examples/translation/translation-bergamot-pivot.js +0 -73
  328. package/dist/examples/translation/translation-bergamot.d.ts +0 -2
  329. package/dist/examples/translation/translation-bergamot.js +0 -39
  330. package/dist/examples/translation/translation-llm-afriquegemma.d.ts +0 -2
  331. package/dist/examples/translation/translation-llm-afriquegemma.js +0 -39
  332. package/dist/examples/tts/chatterbox.d.ts +0 -2
  333. package/dist/examples/tts/chatterbox.js +0 -59
  334. package/dist/examples/tts/supertonic.d.ts +0 -2
  335. package/dist/examples/tts/supertonic.js +0 -51
  336. package/dist/examples/tts/utils.d.ts +0 -17
  337. package/dist/expo/plugins/resolve-sdk-package-dir.d.ts +0 -15
  338. package/dist/expo/plugins/resolve-sdk-package-dir.js +0 -31
  339. package/dist/expo/plugins/withAndroidArchitecture.d.ts +0 -8
  340. package/dist/expo/plugins/withAndroidArchitecture.js +0 -52
  341. package/dist/expo/plugins/withAndroidNdkVersion.d.ts +0 -8
  342. package/dist/expo/plugins/withAndroidNdkVersion.js +0 -31
  343. package/dist/expo/plugins/withDeviceInfo.d.ts +0 -10
  344. package/dist/expo/plugins/withDeviceInfo.js +0 -48
  345. package/dist/logging/addon.d.ts +0 -6
  346. package/dist/logging/addon.js +0 -75
  347. package/dist/logging/client-logger.d.ts +0 -3
  348. package/dist/logging/client-logger.js +0 -24
  349. package/dist/logging/namespaces.d.ts +0 -6
  350. package/dist/logging/namespaces.js +0 -6
  351. package/dist/logging/registry.d.ts +0 -31
  352. package/dist/logging/registry.js +0 -62
  353. package/dist/logging/server-logger.d.ts +0 -3
  354. package/dist/logging/server-logger.js +0 -16
  355. package/dist/models/registry/models.d.ts +0 -10417
  356. package/dist/models/registry/models.js +0 -10757
  357. package/dist/models/update-models/codegen.d.ts +0 -3
  358. package/dist/models/update-models/codegen.js +0 -135
  359. package/dist/models/update-models/history.d.ts +0 -24
  360. package/dist/models/update-models/history.js +0 -107
  361. package/dist/models/update-models/index.d.ts +0 -2
  362. package/dist/models/update-models/index.js +0 -125
  363. package/dist/models/update-models/naming.d.ts +0 -4
  364. package/dist/models/update-models/naming.js +0 -370
  365. package/dist/models/update-models/processing.d.ts +0 -8
  366. package/dist/models/update-models/processing.js +0 -67
  367. package/dist/models/update-models/registry.d.ts +0 -4
  368. package/dist/models/update-models/registry.js +0 -67
  369. package/dist/models/update-models/shards.d.ts +0 -4
  370. package/dist/models/update-models/shards.js +0 -57
  371. package/dist/models/update-models/types.d.ts +0 -60
  372. package/dist/models/update-models/types.js +0 -1
  373. package/dist/models/update-models/utils.d.ts +0 -3
  374. package/dist/models/update-models/utils.js +0 -21
  375. package/dist/pear/pre.d.ts +0 -18
  376. package/dist/pear/pre.js +0 -433
  377. package/dist/profiling/aggregator.d.ts +0 -15
  378. package/dist/profiling/aggregator.js +0 -100
  379. package/dist/profiling/clock.d.ts +0 -12
  380. package/dist/profiling/clock.js +0 -51
  381. package/dist/profiling/controller.d.ts +0 -33
  382. package/dist/profiling/controller.js +0 -123
  383. package/dist/profiling/envelope.d.ts +0 -10
  384. package/dist/profiling/envelope.js +0 -36
  385. package/dist/profiling/events.d.ts +0 -20
  386. package/dist/profiling/events.js +0 -37
  387. package/dist/profiling/exporters.d.ts +0 -10
  388. package/dist/profiling/exporters.js +0 -236
  389. package/dist/profiling/index.d.ts +0 -36
  390. package/dist/profiling/index.js +0 -31
  391. package/dist/profiling/ring-buffer.d.ts +0 -19
  392. package/dist/profiling/ring-buffer.js +0 -83
  393. package/dist/profiling/types.d.ts +0 -47
  394. package/dist/profiling/types.js +0 -1
  395. package/dist/schemas/archive.d.ts +0 -9
  396. package/dist/schemas/archive.js +0 -17
  397. package/dist/schemas/engine-addon-map.d.ts +0 -5
  398. package/dist/schemas/engine-addon-map.js +0 -52
  399. package/dist/schemas/get-model-info.d.ts +0 -120
  400. package/dist/schemas/get-model-info.js +0 -58
  401. package/dist/schemas/json-schema.d.ts +0 -16
  402. package/dist/schemas/json-schema.js +0 -2
  403. package/dist/schemas/mcp-adapter.d.ts +0 -47
  404. package/dist/schemas/mcp-adapter.js +0 -1
  405. package/dist/schemas/model-src-utils.d.ts +0 -148
  406. package/dist/schemas/model-src-utils.js +0 -35
  407. package/dist/schemas/model-types.d.ts +0 -183
  408. package/dist/schemas/model-types.js +0 -168
  409. package/dist/schemas/ocr.d.ts +0 -125
  410. package/dist/schemas/ocr.js +0 -57
  411. package/dist/schemas/path-validation.d.ts +0 -10
  412. package/dist/schemas/path-validation.js +0 -22
  413. package/dist/schemas/plugin.d.ts +0 -226
  414. package/dist/schemas/plugin.js +0 -158
  415. package/dist/schemas/profiling.d.ts +0 -105
  416. package/dist/schemas/profiling.js +0 -66
  417. package/dist/schemas/registry.d.ts +0 -356
  418. package/dist/schemas/registry.js +0 -93
  419. package/dist/schemas/reload-config.d.ts +0 -476
  420. package/dist/schemas/reload-config.js +0 -44
  421. package/dist/schemas/runtime-context.d.ts +0 -19
  422. package/dist/schemas/runtime-context.js +0 -7
  423. package/dist/schemas/sdk-config.d.ts +0 -2973
  424. package/dist/schemas/sdk-config.js +0 -136
  425. package/dist/schemas/sdk-errors-client.d.ts +0 -31
  426. package/dist/schemas/sdk-errors-client.js +0 -143
  427. package/dist/schemas/sdk-errors-registry.d.ts +0 -6
  428. package/dist/schemas/sdk-errors-registry.js +0 -8
  429. package/dist/schemas/sdk-errors-server.d.ts +0 -89
  430. package/dist/schemas/sdk-errors-server.js +0 -451
  431. package/dist/schemas/shard.d.ts +0 -21
  432. package/dist/schemas/shard.js +0 -17
  433. package/dist/schemas/tools.d.ts +0 -65
  434. package/dist/schemas/tools.js +0 -43
  435. package/dist/schemas/transcription-config.d.ts +0 -383
  436. package/dist/schemas/transcription-config.js +0 -95
  437. package/dist/scripts/run-security-tests-bare.d.ts +0 -2
  438. package/dist/scripts/run-security-tests-bare.js +0 -78
  439. package/dist/scripts/run-security-tests.d.ts +0 -2
  440. package/dist/scripts/run-security-tests.js +0 -22
  441. package/dist/scripts/run-unit-tests.d.ts +0 -2
  442. package/dist/scripts/run-unit-tests.js +0 -17
  443. package/dist/server/bare/ops/embed.d.ts +0 -12
  444. package/dist/server/bare/ops/load-model.d.ts +0 -9
  445. package/dist/server/bare/ops/load-model.js +0 -85
  446. package/dist/server/bare/ops/transcribe.d.ts +0 -3
  447. package/dist/server/bare/ops/transcribe.js +0 -75
  448. package/dist/server/bare/ops/translate.d.ts +0 -5
  449. package/dist/server/bare/ops/unload-model.js +0 -41
  450. package/dist/server/bare/plugins/index.d.ts +0 -8
  451. package/dist/server/bare/plugins/index.js +0 -7
  452. package/dist/server/bare/plugins/llamacpp-completion/ops/cache-logger.d.ts +0 -6
  453. package/dist/server/bare/plugins/llamacpp-completion/ops/cache-logger.js +0 -34
  454. package/dist/server/bare/plugins/llamacpp-completion/plugin.d.ts +0 -220
  455. package/dist/server/bare/plugins/llamacpp-completion/plugin.js +0 -155
  456. package/dist/server/bare/plugins/llamacpp-embedding/plugin.d.ts +0 -54
  457. package/dist/server/bare/plugins/llamacpp-embedding/plugin.js +0 -87
  458. package/dist/server/bare/plugins/nmtcpp-translation/plugin.d.ts +0 -367
  459. package/dist/server/bare/plugins/nmtcpp-translation/plugin.js +0 -204
  460. package/dist/server/bare/plugins/onnx-ocr/ops/ocr-stream.d.ts +0 -10
  461. package/dist/server/bare/plugins/onnx-ocr/ops/ocr-stream.js +0 -110
  462. package/dist/server/bare/plugins/onnx-ocr/plugin.d.ts +0 -86
  463. package/dist/server/bare/plugins/onnx-ocr/plugin.js +0 -117
  464. package/dist/server/bare/plugins/onnx-tts/plugin.d.ts +0 -373
  465. package/dist/server/bare/plugins/onnx-tts/plugin.js +0 -182
  466. package/dist/server/bare/plugins/onnx-tts/wav-helper.d.ts +0 -14
  467. package/dist/server/bare/plugins/onnx-tts/wav-helper.js +0 -107
  468. package/dist/server/bare/plugins/parakeet-transcription/plugin.d.ts +0 -317
  469. package/dist/server/bare/plugins/parakeet-transcription/plugin.js +0 -154
  470. package/dist/server/bare/plugins/whispercpp-transcription/plugin.d.ts +0 -237
  471. package/dist/server/bare/plugins/whispercpp-transcription/plugin.js +0 -86
  472. package/dist/server/bare/rag-hyperdb/handlers/chunk.d.ts +0 -3
  473. package/dist/server/bare/rag-hyperdb/handlers/chunk.js +0 -7
  474. package/dist/server/bare/rag-hyperdb/handlers/close-workspace.d.ts +0 -3
  475. package/dist/server/bare/rag-hyperdb/handlers/close-workspace.js +0 -9
  476. package/dist/server/bare/rag-hyperdb/handlers/delete-workspace.d.ts +0 -3
  477. package/dist/server/bare/rag-hyperdb/handlers/delete-workspace.js +0 -14
  478. package/dist/server/bare/rag-hyperdb/handlers/ingest.d.ts +0 -9
  479. package/dist/server/bare/rag-hyperdb/handlers/ingest.js +0 -18
  480. package/dist/server/bare/rag-hyperdb/handlers/list-workspaces.d.ts +0 -3
  481. package/dist/server/bare/rag-hyperdb/handlers/list-workspaces.js +0 -4
  482. package/dist/server/bare/rag-hyperdb/handlers/reindex.d.ts +0 -9
  483. package/dist/server/bare/rag-hyperdb/handlers/reindex.js +0 -16
  484. package/dist/server/bare/rag-hyperdb/rag-operation-manager.d.ts +0 -7
  485. package/dist/server/bare/rag-hyperdb/rag-operation-manager.js +0 -39
  486. package/dist/server/bare/rag-hyperdb/rag-workspace-manager.d.ts +0 -15
  487. package/dist/server/bare/rag-hyperdb/rag-workspace-manager.js +0 -136
  488. package/dist/server/bare/registry/config-registry.d.ts +0 -14
  489. package/dist/server/bare/registry/config-registry.js +0 -82
  490. package/dist/server/bare/registry/model-config-registry.d.ts +0 -4
  491. package/dist/server/bare/registry/model-config-registry.js +0 -15
  492. package/dist/server/bare/registry/model-config-utils.d.ts +0 -15
  493. package/dist/server/bare/registry/model-config-utils.js +0 -112
  494. package/dist/server/bare/registry/registry-client.d.ts +0 -5
  495. package/dist/server/bare/registry/registry-client.js +0 -37
  496. package/dist/server/bare/registry/runtime-context-registry.d.ts +0 -7
  497. package/dist/server/bare/registry/runtime-context-registry.js +0 -26
  498. package/dist/server/bare/utils/audio-input.d.ts +0 -10
  499. package/dist/server/bare/utils/audio-input.js +0 -33
  500. package/dist/server/bare/utils/loader-adapter.d.ts +0 -7
  501. package/dist/server/bare/utils/loader-adapter.js +0 -9
  502. package/dist/server/env.d.ts +0 -22
  503. package/dist/server/env.js +0 -57
  504. package/dist/server/plugins/index.d.ts +0 -2
  505. package/dist/server/plugins/index.js +0 -1
  506. package/dist/server/plugins/registry.d.ts +0 -9
  507. package/dist/server/plugins/registry.js +0 -79
  508. package/dist/server/rpc/delegate-transport.d.ts +0 -19
  509. package/dist/server/rpc/delegate-transport.js +0 -215
  510. package/dist/server/rpc/handler-registry.d.ts +0 -3
  511. package/dist/server/rpc/handler-registry.js +0 -90
  512. package/dist/server/rpc/handler-utils.d.ts +0 -23
  513. package/dist/server/rpc/handler-utils.js +0 -128
  514. package/dist/server/rpc/handlers/get-model-info.d.ts +0 -3
  515. package/dist/server/rpc/handlers/get-model-info.js +0 -164
  516. package/dist/server/rpc/handlers/load-model/download-stats.d.ts +0 -6
  517. package/dist/server/rpc/handlers/load-model/download-stats.js +0 -87
  518. package/dist/server/rpc/handlers/load-model/handler.js +0 -187
  519. package/dist/server/rpc/handlers/load-model/registry.d.ts +0 -11
  520. package/dist/server/rpc/handlers/load-model/registry.js +0 -564
  521. package/dist/server/rpc/handlers/load-model/types.d.ts +0 -29
  522. package/dist/server/rpc/handlers/load-model/types.js +0 -1
  523. package/dist/server/rpc/handlers/ocr-stream.d.ts +0 -3
  524. package/dist/server/rpc/handlers/ocr-stream.js +0 -4
  525. package/dist/server/rpc/handlers/ping.d.ts +0 -3
  526. package/dist/server/rpc/handlers/ping.js +0 -3
  527. package/dist/server/rpc/handlers/plugin-dispatch.d.ts +0 -15
  528. package/dist/server/rpc/handlers/plugin-dispatch.js +0 -59
  529. package/dist/server/rpc/handlers/plugin-invoke.d.ts +0 -4
  530. package/dist/server/rpc/handlers/plugin-invoke.js +0 -92
  531. package/dist/server/rpc/handlers/registry.d.ts +0 -5
  532. package/dist/server/rpc/handlers/registry.js +0 -157
  533. package/dist/server/rpc/handlers/unload-model-delegated.d.ts +0 -3
  534. package/dist/server/rpc/handlers/unload-model-delegated.js +0 -32
  535. package/dist/server/rpc/profiling/context.d.ts +0 -18
  536. package/dist/server/rpc/profiling/context.js +0 -38
  537. package/dist/server/rpc/profiling/delegation-profiler.d.ts +0 -32
  538. package/dist/server/rpc/profiling/delegation-profiler.js +0 -154
  539. package/dist/server/rpc/profiling/index.d.ts +0 -5
  540. package/dist/server/rpc/profiling/index.js +0 -4
  541. package/dist/server/rpc/profiling/operation-metrics.d.ts +0 -25
  542. package/dist/server/rpc/profiling/operation-metrics.js +0 -199
  543. package/dist/server/rpc/profiling/operation-wrappers.d.ts +0 -18
  544. package/dist/server/rpc/profiling/operation-wrappers.js +0 -124
  545. package/dist/server/rpc/profiling/profiler.d.ts +0 -13
  546. package/dist/server/rpc/profiling/profiler.js +0 -97
  547. package/dist/server/utils/archive.d.ts +0 -4
  548. package/dist/server/utils/archive.js +0 -179
  549. package/dist/server/utils/checksum.d.ts +0 -4
  550. package/dist/server/utils/checksum.js +0 -31
  551. package/dist/server/utils/config-transform.d.ts +0 -3
  552. package/dist/server/utils/config-transform.js +0 -23
  553. package/dist/server/utils/formatting.d.ts +0 -19
  554. package/dist/server/utils/formatting.js +0 -61
  555. package/dist/server/utils/gguf-tensor-extractor.d.ts +0 -15
  556. package/dist/server/utils/gguf-tensor-extractor.js +0 -314
  557. package/dist/server/utils/path-security.d.ts +0 -12
  558. package/dist/server/utils/path-security.js +0 -25
  559. package/dist/server/utils/shard-utils.d.ts +0 -48
  560. package/dist/server/utils/shard-utils.js +0 -125
  561. package/dist/server/utils/tool-integration.d.ts +0 -13
  562. package/dist/server/utils/tool-integration.js +0 -43
  563. package/dist/server/worker-core.d.ts +0 -6
  564. package/dist/server/worker-core.js +0 -88
  565. package/dist/utils/errors-base.d.ts +0 -3
  566. package/dist/utils/errors-base.js +0 -13
  567. package/dist/utils/errors-client.d.ts +0 -137
  568. package/dist/utils/errors-client.js +0 -240
  569. package/dist/utils/errors-server.d.ts +0 -236
  570. package/dist/utils/errors-server.js +0 -412
  571. package/dist/utils/global-singleton.d.ts +0 -2
  572. package/dist/utils/global-singleton.js +0 -10
  573. package/dist/utils/mcp-adapter.d.ts +0 -12
  574. package/dist/utils/mcp-adapter.js +0 -103
  575. package/dist/utils/object.d.ts +0 -2
  576. package/dist/utils/object.js +0 -3
  577. package/dist/utils/path-sanitize.d.ts +0 -17
  578. package/dist/utils/path-sanitize.js +0 -54
  579. package/dist/utils/tool-helpers.d.ts +0 -25
  580. package/dist/utils/tool-helpers.js +0 -112
  581. package/expo/plugins/patches/android-link.mjs +0 -63
  582. package/expo/plugins/patches/ios-link.mjs +0 -63
  583. /package/dist/examples/{transcription/whispercpp-filesystem.d.ts → whispercpp-filesystem.d.ts} +0 -0
  584. /package/dist/examples/{transcription/whispercpp-microphone-record.d.ts → whispercpp-microphone-record.d.ts} +0 -0
  585. /package/dist/models/{registry → hyperdrive}/index.d.ts +0 -0
  586. /package/dist/server/bare/{ops → addons}/cancel.d.ts +0 -0
  587. /package/dist/server/bare/{plugins/onnx-tts/ops → addons/tts/handlers}/text-to-speech.d.ts +0 -0
  588. /package/dist/server/bare/{ops → addons}/unload-model.d.ts +0 -0
@@ -1,370 +0,0 @@
1
- import { getAddonFromEngine } from "../../schemas/engine-addon-map";
2
- import { detectShardedModel } from "./shards.js";
3
- // Normalizes a name part to a valid JS export name fragment.
4
- // Strips ggml/gguf prefixes, shortens "instruct" to "inst",
5
- // and uppercases with underscore separators.
6
- export function cleanPart(p) {
7
- if (!p)
8
- return "";
9
- return p
10
- .replace(/ggml-?/gi, "")
11
- .replace(/gguf-?/gi, "")
12
- .replace(/instruct/gi, "inst")
13
- .replace(/^-+|-+$/g, "")
14
- .toUpperCase()
15
- .replace(/[^A-Z0-9]+/g, "_");
16
- }
17
- // Generates a unique export constant name for a model based on its
18
- // registry metadata, engine type, tags, and filename.
19
- export function generateExportName({ path: registryPath, engine, name: modelName, quantization, params, tags, usedNames, }) {
20
- let addon = getAddonFromEngine(engine);
21
- // Override addon classification when tags clearly indicate a different type.
22
- // e.g. SmolVLM2 f16 uses translation-llamacpp engine (→nmt) but is actually a multimodal LLM.
23
- if (addon === "nmt" &&
24
- tags.some((t) => t === "generation" || t === "multimodal")) {
25
- addon = "llm";
26
- }
27
- let exportName = "";
28
- const filename = decodeURIComponent(registryPath.split("/").pop() || registryPath);
29
- const lowerFilename = filename.toLowerCase();
30
- const lowerPath = registryPath.toLowerCase();
31
- // Extract structured info from tags array.
32
- // Tags typically contain: [function, type, modelName, langPair/other]
33
- const tagType = tags[1] || "";
34
- const tagName = tags[2] || "";
35
- const tagExtra = tags[3] || "";
36
- exportName = generateBaseName({
37
- addon,
38
- engine,
39
- filename,
40
- lowerFilename,
41
- lowerPath,
42
- modelName,
43
- quantization,
44
- params,
45
- tagType,
46
- tagName,
47
- tagExtra,
48
- tags,
49
- });
50
- exportName = exportName.replace(/^_+|_+$/g, "").replace(/_+/g, "_");
51
- // Add suffix for metadata files (tensors.txt are shard metadata, not actual models)
52
- if (lowerFilename.endsWith(".tensors.txt")) {
53
- exportName = `${exportName}_TENSORS`;
54
- }
55
- // Add SHARD suffix for sharded models
56
- if (detectShardedModel(filename).isSharded) {
57
- exportName = `${exportName}_SHARD`;
58
- }
59
- return resolveCollision(exportName, quantization, usedNames);
60
- }
61
- // Resolves name collisions by appending quantization or a sequential counter.
62
- function resolveCollision(exportName, quantization, usedNames) {
63
- let finalName = exportName || "UNKNOWN_MODEL";
64
- if (usedNames.has(finalName) && quantization) {
65
- const cleanedQuant = cleanPart(quantization);
66
- // Only append quantization if it's not already at the end of the name
67
- if (cleanedQuant && !exportName.endsWith(cleanedQuant)) {
68
- const withQuant = `${exportName}_${cleanedQuant}`;
69
- if (!usedNames.has(withQuant)) {
70
- finalName = withQuant;
71
- }
72
- }
73
- }
74
- let counter = 1;
75
- while (usedNames.has(finalName)) {
76
- finalName = `${exportName}_${counter++}`;
77
- }
78
- usedNames.add(finalName);
79
- return finalName;
80
- }
81
- function generateBaseName(input) {
82
- const { addon, lowerFilename } = input;
83
- // Detect VAD Silero before whisper (same engine, different model type)
84
- if (lowerFilename.includes("silero")) {
85
- return generateVadSileroName(input);
86
- }
87
- switch (addon) {
88
- case "whisper":
89
- return generateWhisperName(input);
90
- case "vad":
91
- return generateVadName(input);
92
- case "nmt":
93
- return generateNmtName(input);
94
- case "llm":
95
- return generateLlmName(input);
96
- case "embeddings":
97
- return generateEmbeddingsName(input);
98
- case "tts":
99
- return generateTtsName(input);
100
- case "ocr":
101
- return generateOcrName(input);
102
- case "parakeet":
103
- return generateParakeetName(input);
104
- default:
105
- return cleanPart(input.filename.replace(/\.\w+$/, ""));
106
- }
107
- }
108
- function generateVadSileroName({ filename }) {
109
- const versionMatch = filename.match(/v(\d+\.\d+\.\d+)/i);
110
- const version = versionMatch ? versionMatch[1] : "";
111
- const nameParts = ["SILERO", version].filter((p) => p && p !== "");
112
- return `VAD_${nameParts.map(cleanPart).join("_")}`;
113
- }
114
- function generateWhisperName({ filename, lowerFilename, quantization, }) {
115
- // Extract language from filename prefix (e.g. "de-tiny-ggml-model-f16.bin")
116
- const langPrefixMatch = filename.match(/^([a-z]{2})-/i);
117
- // Detect English-only models from ".en" or ".en-" in filename
118
- const isEnglishOnly = /\.en[-.]/.test(lowerFilename) || lowerFilename.endsWith(".en.bin");
119
- // Extract size from filename
120
- const sizeMatch = filename.match(/\b(tiny|base|small|medium|large(?:-v[0-9]+)?(?:-turbo)?)\b/i);
121
- const modelSize = sizeMatch ? sizeMatch[1] : "";
122
- // Extract quant from filename (f16, q8_0, etc.)
123
- const quantMatch = filename.match(/[-_](f16|q[0-9]+[_][0-9]+|q8)\b/i);
124
- const fileQuant = quantMatch ? quantMatch[1] : quantization;
125
- const nameParts = [];
126
- if (langPrefixMatch) {
127
- const langCode = langPrefixMatch[1].toLowerCase();
128
- const langMap = {
129
- de: "GERMAN",
130
- es: "SPANISH",
131
- fr: "FRENCH",
132
- it: "ITALIAN",
133
- ja: "JAPANESE",
134
- pt: "PORTUGUESE",
135
- ru: "RUSSIAN",
136
- nb: "NORWEGIAN",
137
- en: "ENGLISH",
138
- };
139
- const langName = langMap[langCode] || langCode.toUpperCase();
140
- nameParts.push(langName);
141
- }
142
- else if (isEnglishOnly) {
143
- nameParts.push("EN");
144
- }
145
- if (modelSize)
146
- nameParts.push(modelSize);
147
- if (fileQuant)
148
- nameParts.push(fileQuant);
149
- return `WHISPER_${nameParts.map(cleanPart).join("_")}`;
150
- }
151
- function generateVadName({ filename, tagType, tagName, }) {
152
- const versionMatch = filename.match(/v(\d+\.\d+\.\d+)/i);
153
- const version = versionMatch ? versionMatch[1] : "";
154
- const typeName = tagType || tagName || "SILERO";
155
- const nameParts = [typeName, version].filter((p) => p && p !== "");
156
- return `VAD_${nameParts.map(cleanPart).join("_")}`;
157
- }
158
- function generateNmtName(input) {
159
- const { lowerPath, lowerFilename } = input;
160
- if (lowerPath.includes("salamandra") ||
161
- lowerFilename.includes("salamandra")) {
162
- return generateNmtSalamandraName(input);
163
- }
164
- if (lowerPath.includes("indictrans") ||
165
- lowerFilename.includes("indictrans")) {
166
- return generateNmtIndictransName(input);
167
- }
168
- if (lowerPath.includes("opus") || lowerFilename.includes("opus")) {
169
- return generateNmtOpusName(input);
170
- }
171
- if (lowerPath.includes("bergamot") || lowerFilename.includes("bergamot")) {
172
- return generateNmtBergamotName(input);
173
- }
174
- const nameParts = [input.modelName, input.quantization].filter((p) => p && p !== "");
175
- return `NMT_${nameParts.map(cleanPart).join("_")}`;
176
- }
177
- function generateNmtSalamandraName({ filename }) {
178
- const base = filename.replace(/\.\w+$/, "").replace(/-\d{5}-of-\d{5}/, "");
179
- return cleanPart(base);
180
- }
181
- function generateNmtIndictransName({ filename, quantization, }) {
182
- const langMatch = filename.match(/(en-indic|indic-en|indic-indic)/i);
183
- const langDir = langMatch ? langMatch[1] : "";
184
- const langMap = {
185
- "en-indic": "EN_HI",
186
- "indic-en": "HI_EN",
187
- "indic-indic": "HI_HI",
188
- };
189
- const langPair = langMap[langDir.toLowerCase()] || cleanPart(langDir);
190
- const sizeMatch = filename.match(/(\d+[MB])/i);
191
- const size = sizeMatch ? sizeMatch[1] : "";
192
- const nameParts = [langPair, "INDIC", size, quantization].filter((p) => p && p !== "");
193
- return `MARIAN_${nameParts.map(cleanPart).join("_")}`;
194
- }
195
- function generateNmtOpusName({ filename, quantization, tagExtra, }) {
196
- const langMatch = filename.match(/-([a-z]{2,3})-([a-z]{2,3})\./i);
197
- let langPair = "";
198
- if (langMatch) {
199
- langPair = `${langMatch[1].toUpperCase()}_${langMatch[2].toUpperCase()}`;
200
- }
201
- else {
202
- const tagLang = tagExtra || "";
203
- if (tagLang.match(/^[a-z]{2}-[a-z]{2}$/i)) {
204
- const [src, tgt] = tagLang.split("-");
205
- langPair = `${src.toUpperCase()}_${tgt.toUpperCase()}`;
206
- }
207
- }
208
- if (!langPair) {
209
- const roaMatch = filename.match(/-([a-z]{2,3})-([a-z]{2,3})-f16/i);
210
- if (roaMatch) {
211
- langPair = `${roaMatch[1].toUpperCase()}_${roaMatch[2].toUpperCase()}`;
212
- }
213
- }
214
- const nameParts = [langPair, quantization].filter((p) => p && p !== "");
215
- return `MARIAN_OPUS_${nameParts.map(cleanPart).join("_")}`;
216
- }
217
- function generateNmtBergamotName({ filename }) {
218
- const langMatch = filename.match(/[.]([a-z]{2,4})[.]/i);
219
- let langPair = "";
220
- if (langMatch) {
221
- const code = langMatch[1];
222
- if (code.length === 4) {
223
- langPair = `${code.slice(0, 2).toUpperCase()}_${code.slice(2).toUpperCase()}`;
224
- }
225
- else {
226
- langPair = code.toUpperCase();
227
- }
228
- }
229
- let suffix = "";
230
- if (filename.startsWith("model.")) {
231
- suffix = "";
232
- }
233
- else if (filename.match(/^vocab\./)) {
234
- suffix = "_VOCAB";
235
- }
236
- else if (filename.match(/^srcvocab\./)) {
237
- suffix = "_SRCVOCAB";
238
- }
239
- else if (filename.match(/^trgvocab\./)) {
240
- suffix = "_TRGVOCAB";
241
- }
242
- else if (filename.startsWith("lex.")) {
243
- suffix = "_LEX";
244
- }
245
- else if (filename === "metadata.json") {
246
- suffix = "_METADATA";
247
- }
248
- return `BERGAMOT_${langPair}${suffix}`;
249
- }
250
- function generateLlmName({ filename, tagType, tagName, modelName, quantization, params, }) {
251
- const type = tagType || "";
252
- const name = tagName || modelName || "";
253
- const isMMProj = filename.includes("mmproj");
254
- // Try to extract model family from filename to recover version info
255
- // that tags may omit (e.g., tag "qwen" but filename "Qwen3-1.7B-...")
256
- let familyName = name;
257
- if (params) {
258
- const parseFn = filename
259
- .replace(/^mmproj[-_]/i, "")
260
- .replace(/\.tensors\.txt$/, "")
261
- .replace(/\.\w+$/, "")
262
- .replace(/-\d{5}-of-\d{5}/, "");
263
- const paramsEsc = params.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
264
- const familyMatch = parseFn.match(new RegExp(`^(.+?)[-_]${paramsEsc}`, "i"));
265
- if (familyMatch?.[1]) {
266
- const candidate = familyMatch[1];
267
- // Use filename family only if it extends the tag name
268
- // Strip common engine/format suffixes from tag before comparing
269
- const tagCore = name.replace(/[-_](ggml|cpp|onnx|llamacpp|metal)$/i, "");
270
- const cleanedCandidate = candidate.replace(/[-_.]/g, "").toLowerCase();
271
- const cleanedTagCore = tagCore.replace(/[-_.]/g, "").toLowerCase();
272
- if (cleanedCandidate.startsWith(cleanedTagCore) &&
273
- cleanedCandidate.length >= cleanedTagCore.length) {
274
- familyName = candidate;
275
- }
276
- }
277
- }
278
- const nameParts = [familyName, params, type, quantization].filter((p) => p && p !== "");
279
- let exportName = nameParts.map(cleanPart).join("_");
280
- if (isMMProj) {
281
- exportName = "MMPROJ_" + exportName;
282
- }
283
- return exportName;
284
- }
285
- function generateEmbeddingsName({ tagName, modelName, params, quantization, }) {
286
- const name = tagName || modelName || "";
287
- const nameParts = [name, params, quantization].filter((p) => p && p !== "");
288
- return nameParts.map(cleanPart).join("_");
289
- }
290
- function generateTtsName({ filename, tagName, modelName, tagExtra, tagType, quantization, }) {
291
- const name = tagName || modelName || "";
292
- const language = tagExtra || "";
293
- const type = tagType || "";
294
- const nameParts = [name, language, type, quantization].filter((p) => p && p !== "");
295
- let exportName = `TTS_${nameParts.map(cleanPart).join("_")}`;
296
- if (filename.endsWith(".onnx.json") || filename.includes("config.json")) {
297
- exportName = exportName + "_CONFIG";
298
- }
299
- if (filename.endsWith(".onnx_data")) {
300
- exportName = exportName + "_DATA";
301
- }
302
- return exportName;
303
- }
304
- function generateOcrName({ filename, tagName, modelName, tagExtra, }) {
305
- const name = tagName || modelName || "";
306
- const language = tagExtra || "";
307
- let fileType = "";
308
- if (filename.includes("detector")) {
309
- fileType = "DETECTOR";
310
- }
311
- else if (filename.includes("recognizer")) {
312
- fileType = "RECOGNIZER";
313
- }
314
- const nameParts = [name, language, fileType].filter((p) => p && p !== "");
315
- return `OCR_${nameParts.map(cleanPart).join("_")}`;
316
- }
317
- function generateParakeetName({ filename, lowerPath, quantization, }) {
318
- const lower = filename.toLowerCase();
319
- // Detect model variant from registry path
320
- let variant = "";
321
- if (lowerPath.includes("parakeet-tdt") || lowerPath.includes("parakeet/")) {
322
- variant = "TDT";
323
- }
324
- else if (lowerPath.includes("parakeet-ctc")) {
325
- variant = "CTC";
326
- }
327
- else if (lowerPath.includes("eou") || lowerPath.includes("parakeet-rs")) {
328
- variant = "EOU";
329
- }
330
- else if (lowerPath.includes("sortformer")) {
331
- variant = "SORTFORMER";
332
- }
333
- // Detect file role from filename
334
- let fileRole = "";
335
- if (lower.includes("encoder") && (lower.endsWith(".data") || lower.endsWith(".onnx.data"))) {
336
- fileRole = "ENCODER_DATA";
337
- }
338
- else if (lower.includes("encoder")) {
339
- fileRole = "ENCODER";
340
- }
341
- else if (lower.includes("decoder")) {
342
- fileRole = "DECODER";
343
- }
344
- else if (lower.includes("vocab")) {
345
- fileRole = "VOCAB";
346
- }
347
- else if (lower.includes("tokenizer")) {
348
- fileRole = "TOKENIZER";
349
- }
350
- else if (lower.includes("preprocessor") || lower.includes("nemo")) {
351
- fileRole = "PREPROCESSOR";
352
- }
353
- else if (lower === "config.json") {
354
- fileRole = "CONFIG";
355
- }
356
- else if (lower.endsWith(".onnx.data") || lower.endsWith(".onnx_data")) {
357
- fileRole = "DATA";
358
- }
359
- else if (lower.includes("sortformer")) {
360
- fileRole = "";
361
- }
362
- else if (lower.endsWith(".onnx") || lower.endsWith(".int8.onnx")) {
363
- fileRole = "";
364
- }
365
- else {
366
- fileRole = cleanPart(filename.replace(/\.\w+$/, ""));
367
- }
368
- const nameParts = [variant, fileRole, quantization].filter((p) => p && p !== "");
369
- return `PARAKEET_${nameParts.map(cleanPart).join("_")}`;
370
- }
@@ -1,8 +0,0 @@
1
- import type { QVACModelEntry } from "@qvac/registry-client";
2
- import type { ProcessedModel } from "./types";
3
- export declare function toHexString(value: Buffer | string | {
4
- data: number[];
5
- } | undefined): string;
6
- export declare function extractModelName(registryPath: string): string;
7
- export declare function processRegistryModel(model: QVACModelEntry): ProcessedModel | null;
8
- //# sourceMappingURL=processing.d.ts.map
@@ -1,67 +0,0 @@
1
- import { getAddonFromEngine, resolveCanonicalEngine, } from "../../schemas/engine-addon-map";
2
- import { detectShardedModel } from "./shards.js";
3
- export function toHexString(value) {
4
- if (!value)
5
- return "";
6
- if (Buffer.isBuffer(value))
7
- return value.toString("hex");
8
- if (typeof value === "string")
9
- return value;
10
- if (typeof value === "object" && "data" in value) {
11
- return Buffer.from(value.data).toString("hex");
12
- }
13
- return "";
14
- }
15
- export function extractModelName(registryPath) {
16
- const parts = registryPath.split("/");
17
- if (parts.length >= 2) {
18
- return parts[1] || parts[0] || "";
19
- }
20
- return (registryPath
21
- .split("/")
22
- .pop()
23
- ?.replace(/\.\w+$/, "") || "");
24
- }
25
- export function processRegistryModel(model) {
26
- const engine = resolveCanonicalEngine(model.engine);
27
- if (!engine) {
28
- console.warn(`⚠️ Skipping model with unknown engine "${model.engine}": ${model.path}`);
29
- return null;
30
- }
31
- const filename = model.path.split("/").pop() || model.path;
32
- const blobBinding = model.blobBinding;
33
- const blobCoreKey = toHexString(blobBinding?.coreKey);
34
- const blobBlockOffset = blobBinding?.blockOffset ?? 0;
35
- const blobBlockLength = blobBinding?.blockLength ?? 0;
36
- const blobByteOffset = blobBinding?.byteOffset ?? 0;
37
- const expectedSize = blobBinding?.byteLength ?? 0;
38
- // The sha256 lives on blobBinding at runtime (per the hyperschema),
39
- // even though the TS types define it on QVACModelEntry. Try blobBinding first.
40
- const sha256Checksum = blobBinding?.["sha256"] ||
41
- model.sha256 ||
42
- "";
43
- const addon = getAddonFromEngine(engine);
44
- const result = {
45
- registryPath: model.path,
46
- registrySource: model.source,
47
- blobCoreKey,
48
- blobBlockOffset,
49
- blobBlockLength,
50
- blobByteOffset,
51
- modelId: filename,
52
- addon,
53
- expectedSize,
54
- sha256Checksum,
55
- engine,
56
- modelName: extractModelName(model.path),
57
- quantization: model.quantization || "",
58
- params: model.params || "",
59
- tags: model.tags || [],
60
- };
61
- const shardDetection = detectShardedModel(filename);
62
- if (shardDetection.isSharded) {
63
- result.isShardPart = true;
64
- result.shardInfo = shardDetection;
65
- }
66
- return result;
67
- }
@@ -1,4 +0,0 @@
1
- import type { CollectOptions, ProcessedModel } from "./types";
2
- export { processRegistryModel, extractModelName, toHexString, } from "./processing";
3
- export declare function collectModels(options?: CollectOptions): Promise<ProcessedModel[]>;
4
- //# sourceMappingURL=registry.d.ts.map
@@ -1,67 +0,0 @@
1
- import { QVACRegistryClient } from "@qvac/registry-client";
2
- import { groupShardedModels } from "./shards.js";
3
- import { processRegistryModel } from "./processing.js";
4
- import { DEFAULT_REGISTRY_CORE_KEY } from "../../constants/index.js";
5
- // Re-export for backward compat
6
- export { processRegistryModel, extractModelName, toHexString, } from "./processing.js";
7
- export async function collectModels(options = {}) {
8
- const { showDuplicates = false, noDedup = false } = options;
9
- const models = [];
10
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
11
- const registryCoreKey = process.env["QVAC_REGISTRY_CORE_KEY"] ?? DEFAULT_REGISTRY_CORE_KEY;
12
- const client = new QVACRegistryClient({ registryCoreKey });
13
- try {
14
- await client.ready();
15
- const registryModels = await client.findModels({});
16
- console.log(`📦 Found ${registryModels.length} entries in registry`);
17
- for (const registryModel of registryModels) {
18
- const processed = processRegistryModel(registryModel);
19
- if (processed)
20
- models.push(processed);
21
- }
22
- }
23
- finally {
24
- await client.close();
25
- }
26
- const groupedModels = groupShardedModels(models);
27
- if (noDedup) {
28
- console.log(`\n⏭️ Skipping deduplication (--no-dedup flag set)`);
29
- return groupedModels;
30
- }
31
- return deduplicateModels(groupedModels, showDuplicates);
32
- }
33
- function deduplicateModels(models, showDuplicates) {
34
- const seenChecksums = new Map();
35
- const dedupedModels = [];
36
- const skipped = [];
37
- for (const model of models) {
38
- if (!model.sha256Checksum || model.sha256Checksum === "") {
39
- dedupedModels.push(model);
40
- continue;
41
- }
42
- if (seenChecksums.has(model.sha256Checksum)) {
43
- skipped.push({
44
- name: model.registryPath,
45
- checksum: model.sha256Checksum,
46
- reason: `Duplicate of ${seenChecksums.get(model.sha256Checksum)}`,
47
- });
48
- continue;
49
- }
50
- seenChecksums.set(model.sha256Checksum, model.registryPath);
51
- dedupedModels.push(model);
52
- }
53
- if (skipped.length > 0) {
54
- console.log(`\n🧹 Removed ${skipped.length} duplicate model(s)`);
55
- if (showDuplicates) {
56
- skipped.forEach(({ name, checksum, reason }) => {
57
- console.log(` - ${name}`);
58
- console.log(` Checksum: ${checksum}`);
59
- console.log(` ${reason}`);
60
- });
61
- }
62
- else {
63
- console.log(` Use --show-duplicates to see details`);
64
- }
65
- }
66
- return dedupedModels;
67
- }
@@ -1,4 +0,0 @@
1
- import type { ProcessedModel, ShardDetection } from "./types";
2
- export declare function detectShardedModel(filename: string): ShardDetection;
3
- export declare function groupShardedModels(models: ProcessedModel[]): ProcessedModel[];
4
- //# sourceMappingURL=shards.d.ts.map
@@ -1,57 +0,0 @@
1
- export function detectShardedModel(filename) {
2
- const shardPattern = /^(.+)-(\d{5})-of-(\d{5})(\.\w+)$/;
3
- const match = filename.match(shardPattern);
4
- if (match) {
5
- return {
6
- isSharded: true,
7
- baseFilename: match[1],
8
- currentShard: parseInt(match[2], 10),
9
- totalShards: parseInt(match[3], 10),
10
- extension: match[4],
11
- };
12
- }
13
- return { isSharded: false };
14
- }
15
- export function groupShardedModels(models) {
16
- const shardGroups = new Map();
17
- const nonShardedModels = [];
18
- for (const model of models) {
19
- if (model.isShardPart && model.shardInfo) {
20
- const baseKey = `${model.registrySource}:${model.shardInfo.baseFilename}`;
21
- if (!shardGroups.has(baseKey)) {
22
- shardGroups.set(baseKey, []);
23
- }
24
- shardGroups.get(baseKey).push(model);
25
- }
26
- else {
27
- nonShardedModels.push(model);
28
- }
29
- }
30
- const processedShards = [];
31
- for (const [baseKey, shards] of shardGroups) {
32
- shards.sort((a, b) => (a.shardInfo?.currentShard ?? 0) - (b.shardInfo?.currentShard ?? 0));
33
- const firstShard = shards[0];
34
- const totalExpectedShards = firstShard.shardInfo?.totalShards ?? 0;
35
- if (shards.length !== totalExpectedShards) {
36
- console.warn(`⚠️ Expected ${totalExpectedShards} shards but found ${shards.length} for ${baseKey}`);
37
- }
38
- const totalSize = shards.reduce((sum, s) => sum + s.expectedSize, 0);
39
- const shardMetadata = shards.map((s) => ({
40
- filename: s.modelId,
41
- expectedSize: s.expectedSize,
42
- sha256Checksum: s.sha256Checksum,
43
- blobCoreKey: s.blobCoreKey,
44
- blobBlockOffset: s.blobBlockOffset,
45
- blobBlockLength: s.blobBlockLength,
46
- blobByteOffset: s.blobByteOffset,
47
- }));
48
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
49
- const { isShardPart: _shard, shardInfo: _info, ...rest } = firstShard;
50
- processedShards.push({
51
- ...rest,
52
- expectedSize: totalSize,
53
- shardMetadata,
54
- });
55
- }
56
- return [...nonShardedModels, ...processedShards];
57
- }
@@ -1,60 +0,0 @@
1
- import type { ModelRegistryEntryAddon, ModelRegistryEngine } from "../../schemas/registry";
2
- export interface ShardInfo {
3
- isSharded: true;
4
- baseFilename: string;
5
- currentShard: number;
6
- totalShards: number;
7
- extension: string;
8
- }
9
- export interface NotSharded {
10
- isSharded: false;
11
- }
12
- export type ShardDetection = ShardInfo | NotSharded;
13
- export interface ShardMetadataEntry {
14
- filename: string;
15
- expectedSize: number;
16
- sha256Checksum: string;
17
- blobCoreKey: string;
18
- blobBlockOffset: number;
19
- blobBlockLength: number;
20
- blobByteOffset: number;
21
- }
22
- export interface ProcessedModel {
23
- registryPath: string;
24
- registrySource: string;
25
- blobCoreKey: string;
26
- blobBlockOffset: number;
27
- blobBlockLength: number;
28
- blobByteOffset: number;
29
- modelId: string;
30
- addon: ModelRegistryEntryAddon;
31
- expectedSize: number;
32
- sha256Checksum: string;
33
- engine: ModelRegistryEngine;
34
- modelName: string;
35
- quantization: string;
36
- params: string;
37
- tags: string[];
38
- isShardPart?: boolean;
39
- shardInfo?: ShardInfo;
40
- shardMetadata?: ShardMetadataEntry[];
41
- name?: string;
42
- }
43
- export interface CurrentModel {
44
- name: string;
45
- registryPath: string;
46
- }
47
- export interface CollectOptions {
48
- showDuplicates?: boolean;
49
- noDedup?: boolean;
50
- }
51
- export interface ExportNameInput {
52
- path: string;
53
- engine: ModelRegistryEngine;
54
- name: string;
55
- quantization: string;
56
- params: string;
57
- tags: string[];
58
- usedNames: Set<string>;
59
- }
60
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- export {};
@@ -1,3 +0,0 @@
1
- export declare function formatSize(bytes: number): string;
2
- export declare function getCommitHash(short?: boolean): string;
3
- //# sourceMappingURL=utils.d.ts.map
@@ -1,21 +0,0 @@
1
- import { execSync } from "child_process";
2
- export function formatSize(bytes) {
3
- if (bytes < 1024)
4
- return `${bytes}B`;
5
- if (bytes < 1024 * 1024)
6
- return `${(bytes / 1024).toFixed(1)}KB`;
7
- if (bytes < 1024 * 1024 * 1024)
8
- return `${(bytes / (1024 * 1024)).toFixed(1)}MB`;
9
- return `${(bytes / (1024 * 1024 * 1024)).toFixed(1)}GB`;
10
- }
11
- export function getCommitHash(short = false) {
12
- try {
13
- const cmd = short ? "git rev-parse --short HEAD" : "git rev-parse HEAD";
14
- return execSync(cmd, { encoding: "utf-8" }).trim();
15
- }
16
- catch (error) {
17
- throw new Error("Git is required to generate history file", {
18
- cause: error,
19
- });
20
- }
21
- }