@qvac/sdk 0.8.1 → 1.1.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 (601) hide show
  1. package/LICENSE +24 -1
  2. package/README.md +191 -373
  3. package/dist/client/api/cancel.d.ts +4 -22
  4. package/dist/client/api/cancel.js +6 -25
  5. package/dist/client/api/completion-stream.d.ts +30 -24
  6. package/dist/client/api/completion-stream.js +69 -118
  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 +2 -6
  13. package/dist/client/api/index.js +2 -6
  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 +11 -0
  19. package/dist/client/api/ping.js +18 -0
  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 -7
  29. package/dist/client/api/transcribe.js +9 -8
  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.d.ts +2 -0
  55. package/dist/examples/embed-hyperdrive.js +19 -0
  56. package/dist/examples/kv-cache-cleanup.js +2 -1
  57. package/dist/examples/kv-cache-custom-key.js +2 -16
  58. package/dist/examples/kv-cache-example.js +2 -1
  59. package/dist/examples/llamacpp-file-logging.d.ts +2 -0
  60. package/dist/examples/{logging-file-transport.js → llamacpp-file-logging.js} +8 -3
  61. package/dist/examples/llamacpp-filesystem.js +2 -2
  62. package/dist/examples/llamacpp-http.js +1 -0
  63. package/dist/examples/llamacpp-hyperdrive.d.ts +2 -0
  64. package/dist/examples/{llamacpp-p2p.js → llamacpp-hyperdrive.js} +2 -1
  65. package/dist/examples/llamacpp-multimodal.js +4 -3
  66. package/dist/examples/llamacpp-native-tools.js +30 -72
  67. package/dist/examples/multi-model-demo.js +3 -2
  68. package/dist/examples/parallel-download.js +14 -46
  69. package/dist/examples/rag/rag-chromadb.js +1 -0
  70. package/dist/examples/rag/rag-hyperdb-workspaces.d.ts +2 -0
  71. package/dist/examples/rag/rag-hyperdb-workspaces.js +107 -0
  72. package/dist/examples/rag/rag-hyperdb.d.ts +2 -0
  73. package/dist/examples/rag/{rag-hyperdb/ingest.js → rag-hyperdb.js} +5 -10
  74. package/dist/examples/rag/rag-lancedb.js +1 -0
  75. package/dist/examples/rag/rag-sqlite.js +1 -0
  76. package/dist/examples/seed-hyperdrive.d.ts +2 -0
  77. package/dist/examples/text-to-speech.d.ts +3 -0
  78. package/dist/examples/{tts/utils.js → text-to-speech.js} +63 -18
  79. package/dist/examples/translation/translation-indic.js +1 -4
  80. package/dist/examples/translation/translation-llm-context.js +1 -0
  81. package/dist/examples/translation/translation-llm.js +2 -2
  82. package/dist/examples/translation/translation-opus.js +3 -6
  83. package/dist/examples/translation/translation-stream.js +3 -3
  84. package/dist/examples/{transcription/whispercpp-filesystem.js → whispercpp-filesystem.js} +7 -2
  85. package/dist/examples/{transcription/whispercpp-microphone-record.js → whispercpp-microphone-record.js} +6 -1
  86. package/dist/examples/{transcription/whispercpp-prompt.js → whispercpp-prompt.js} +6 -2
  87. package/dist/expo/plugins/index.d.ts +0 -3
  88. package/dist/expo/plugins/index.js +0 -3
  89. package/dist/expo/plugins/withMobileBundle.d.ts +2 -5
  90. package/dist/expo/plugins/withMobileBundle.js +40 -121
  91. package/dist/expo/plugins/withQvacSDK.d.ts +0 -4
  92. package/dist/expo/plugins/withQvacSDK.js +1 -26
  93. package/dist/index.d.ts +4 -9
  94. package/dist/index.js +5 -11
  95. package/dist/logging/base-logger.js +16 -26
  96. package/dist/logging/index.d.ts +1 -7
  97. package/dist/logging/index.js +1 -7
  98. package/dist/logging/logger.d.ts +2 -0
  99. package/dist/logging/logger.js +6 -11
  100. package/dist/logging/stream-logger.d.ts +1 -1
  101. package/dist/logging/stream-logger.js +3 -6
  102. package/dist/logging/transport.js +2 -2
  103. package/dist/logging/types.d.ts +0 -2
  104. package/dist/logging/utils.d.ts +0 -2
  105. package/dist/logging/utils.js +0 -62
  106. package/dist/models/{registry → hyperdrive}/index.js +1 -1
  107. package/dist/models/hyperdrive/models.d.ts +795 -0
  108. package/dist/models/hyperdrive/models.js +891 -0
  109. package/dist/schemas/cancel.d.ts +0 -18
  110. package/dist/schemas/cancel.js +0 -7
  111. package/dist/schemas/common.d.ts +153 -2857
  112. package/dist/schemas/common.js +4 -27
  113. package/dist/schemas/completion-stream.d.ts +60 -31
  114. package/dist/schemas/completion-stream.js +44 -20
  115. package/dist/schemas/delegate.d.ts +0 -9
  116. package/dist/schemas/delegate.js +2 -6
  117. package/dist/schemas/download-asset.d.ts +3 -125
  118. package/dist/schemas/download-asset.js +5 -22
  119. package/dist/schemas/embed.d.ts +3 -3
  120. package/dist/schemas/embed.js +2 -9
  121. package/dist/schemas/index.d.ts +2 -20
  122. package/dist/schemas/index.js +2 -20
  123. package/dist/schemas/llamacpp-config.d.ts +12 -243
  124. package/dist/schemas/llamacpp-config.js +14 -50
  125. package/dist/schemas/load-model.d.ts +986 -14092
  126. package/dist/schemas/load-model.js +72 -325
  127. package/dist/schemas/logging-stream.d.ts +4 -11
  128. package/dist/schemas/logging-stream.js +3 -4
  129. package/dist/schemas/ping.d.ts +11 -0
  130. package/dist/schemas/ping.js +8 -0
  131. package/dist/schemas/rag.d.ts +52 -183
  132. package/dist/schemas/rag.js +23 -152
  133. package/dist/schemas/text-to-speech.d.ts +1 -692
  134. package/dist/schemas/text-to-speech.js +3 -35
  135. package/dist/schemas/translate.d.ts +23 -68
  136. package/dist/schemas/translate.js +11 -37
  137. package/dist/schemas/translation-config.d.ts +7 -810
  138. package/dist/schemas/translation-config.js +7 -113
  139. package/dist/schemas/unload-model.d.ts +0 -2
  140. package/dist/schemas/unload-model.js +0 -2
  141. package/dist/schemas/whispercpp-config.d.ts +74 -0
  142. package/dist/schemas/{transcription-config.js → whispercpp-config.js} +8 -31
  143. package/dist/server/bare/{ops → addons}/cancel.js +1 -2
  144. package/dist/server/bare/addons/index.d.ts +4 -0
  145. package/dist/server/bare/addons/index.js +3 -0
  146. package/dist/server/bare/addons/llamacpp/create-model.d.ts +5 -0
  147. package/dist/server/bare/addons/llamacpp/create-model.js +67 -0
  148. package/dist/server/bare/{plugins/llamacpp-completion/ops → addons/llamacpp/handlers}/completion-stream.d.ts +1 -2
  149. package/dist/server/bare/{plugins/llamacpp-completion/ops → addons/llamacpp/handlers}/completion-stream.js +49 -46
  150. package/dist/server/bare/addons/llamacpp/handlers/embed.d.ts +4 -0
  151. package/dist/server/bare/{ops → addons/llamacpp/handlers}/embed.js +7 -22
  152. package/dist/server/bare/addons/llamacpp/index.d.ts +4 -0
  153. package/dist/server/bare/addons/llamacpp/index.js +3 -0
  154. package/dist/server/bare/{ops → addons/llamacpp}/kv-cache-utils.d.ts +1 -4
  155. package/dist/server/bare/{ops → addons/llamacpp}/kv-cache-utils.js +19 -54
  156. package/dist/server/bare/addons/load-model.d.ts +3 -0
  157. package/dist/server/bare/addons/load-model.js +62 -0
  158. package/dist/server/bare/addons/translation/create-model.d.ts +4 -0
  159. package/dist/server/bare/addons/translation/create-model.js +45 -0
  160. package/dist/server/bare/addons/translation/handlers/translate.d.ts +3 -0
  161. package/dist/server/bare/{ops → addons/translation/handlers}/translate.js +14 -47
  162. package/dist/server/bare/addons/translation/index.d.ts +3 -0
  163. package/dist/server/bare/addons/translation/index.js +2 -0
  164. package/dist/server/bare/addons/tts/create-model.d.ts +6 -0
  165. package/dist/server/bare/addons/tts/create-model.js +40 -0
  166. package/dist/server/bare/{plugins/onnx-tts/ops → addons/tts/handlers}/text-to-speech.js +3 -25
  167. package/dist/server/bare/addons/tts/index.d.ts +3 -0
  168. package/dist/server/bare/addons/tts/index.js +2 -0
  169. package/dist/server/bare/addons/unload-model.js +20 -0
  170. package/dist/server/bare/addons/whispercpp/create-model.d.ts +6 -0
  171. package/dist/server/bare/addons/whispercpp/create-model.js +56 -0
  172. package/dist/server/bare/addons/whispercpp/handlers/transcribe-stream.d.ts +3 -0
  173. package/dist/server/bare/addons/whispercpp/handlers/transcribe-stream.js +62 -0
  174. package/dist/server/bare/addons/whispercpp/index.d.ts +3 -0
  175. package/dist/server/bare/addons/whispercpp/index.js +2 -0
  176. package/dist/server/bare/delegate-rpc-client.d.ts +0 -6
  177. package/dist/server/bare/delegate-rpc-client.js +45 -187
  178. package/dist/server/bare/hyperswarm.d.ts +0 -3
  179. package/dist/server/bare/hyperswarm.js +6 -29
  180. package/dist/server/bare/rag-hyperdb/handlers/delete-embeddings.d.ts +1 -1
  181. package/dist/server/bare/rag-hyperdb/handlers/delete-embeddings.js +10 -9
  182. package/dist/server/bare/rag-hyperdb/handlers/save-embeddings.d.ts +4 -7
  183. package/dist/server/bare/rag-hyperdb/handlers/save-embeddings.js +14 -13
  184. package/dist/server/bare/rag-hyperdb/handlers/search.js +10 -10
  185. package/dist/server/bare/rag-hyperdb/index.d.ts +1 -8
  186. package/dist/server/bare/rag-hyperdb/index.js +1 -8
  187. package/dist/server/bare/rag-hyperdb/rag-manager.d.ts +5 -0
  188. package/dist/server/bare/rag-hyperdb/rag-manager.js +65 -0
  189. package/dist/server/bare/registry/logging-stream-registry.d.ts +7 -24
  190. package/dist/server/bare/registry/logging-stream-registry.js +20 -99
  191. package/dist/server/bare/registry/model-registry.d.ts +26 -14
  192. package/dist/server/bare/registry/model-registry.js +15 -29
  193. package/dist/server/error-handlers.d.ts +2 -3
  194. package/dist/server/error-handlers.js +10 -15
  195. package/dist/server/http-server.d.ts +2 -0
  196. package/dist/server/http-server.js +189 -0
  197. package/dist/server/rpc/create-server.js +3 -5
  198. package/dist/server/rpc/handle-request.d.ts +9 -0
  199. package/dist/server/rpc/handle-request.js +242 -92
  200. package/dist/server/rpc/handlers/cancelHandler.js +3 -14
  201. package/dist/server/rpc/handlers/completion-stream-delegated.d.ts +1 -3
  202. package/dist/server/rpc/handlers/completion-stream-delegated.js +8 -20
  203. package/dist/server/rpc/handlers/completion-stream.js +43 -2
  204. package/dist/server/rpc/handlers/delete-cache.js +2 -4
  205. package/dist/server/rpc/handlers/download-asset.js +6 -59
  206. package/dist/server/rpc/handlers/embed.js +19 -2
  207. package/dist/server/rpc/handlers/index.d.ts +0 -13
  208. package/dist/server/rpc/handlers/index.js +0 -13
  209. package/dist/server/rpc/handlers/load-model/download-manager.d.ts +11 -12
  210. package/dist/server/rpc/handlers/load-model/download-manager.js +28 -43
  211. package/dist/server/rpc/handlers/load-model/http.d.ts +1 -2
  212. package/dist/server/rpc/handlers/load-model/http.js +59 -422
  213. package/dist/server/rpc/handlers/load-model/hyperdrive.d.ts +1 -2
  214. package/dist/server/rpc/handlers/load-model/hyperdrive.js +171 -364
  215. package/dist/server/rpc/handlers/load-model/index.d.ts +2 -2
  216. package/dist/server/rpc/handlers/load-model/index.js +2 -2
  217. package/dist/server/rpc/handlers/load-model/resolve.d.ts +1 -3
  218. package/dist/server/rpc/handlers/load-model/resolve.js +29 -110
  219. package/dist/server/rpc/handlers/load-model-delegated.d.ts +2 -6
  220. package/dist/server/rpc/handlers/load-model-delegated.js +20 -60
  221. package/dist/server/rpc/handlers/{load-model/handler.d.ts → load-model.d.ts} +2 -2
  222. package/dist/server/rpc/handlers/load-model.js +57 -0
  223. package/dist/server/rpc/handlers/logging-stream.js +4 -4
  224. package/dist/server/rpc/handlers/provideHandler/connection.js +10 -12
  225. package/dist/server/rpc/handlers/provideHandler/handler.js +17 -20
  226. package/dist/server/rpc/handlers/provideHandler/proxy.js +6 -8
  227. package/dist/server/rpc/handlers/rag.d.ts +2 -2
  228. package/dist/server/rpc/handlers/rag.js +43 -130
  229. package/dist/server/rpc/handlers/stopProvideHandler.js +2 -6
  230. package/dist/server/rpc/handlers/text-to-speech.js +5 -2
  231. package/dist/server/rpc/handlers/transcribe-stream.js +28 -2
  232. package/dist/server/rpc/handlers/translate.js +49 -2
  233. package/dist/server/rpc/handlers/unload-model.js +3 -12
  234. package/dist/server/rpc/index.d.ts +1 -1
  235. package/dist/server/utils/audio/decoder.d.ts +1 -2
  236. package/dist/server/utils/audio/decoder.js +12 -49
  237. package/dist/server/utils/cache.d.ts +8 -19
  238. package/dist/server/utils/cache.js +15 -100
  239. package/dist/server/utils/hash.d.ts +5 -0
  240. package/dist/server/utils/hash.js +11 -0
  241. package/dist/server/utils/index.d.ts +2 -7
  242. package/dist/server/utils/index.js +2 -7
  243. package/dist/server/worker.d.ts +5 -4
  244. package/dist/server/worker.js +89 -22
  245. package/package.json +41 -148
  246. package/NOTICE +0 -695
  247. package/bare-imports.json +0 -44
  248. package/dist/client/api/get-model-info.d.ts +0 -36
  249. package/dist/client/api/get-model-info.js +0 -14
  250. package/dist/client/api/heartbeat.d.ts +0 -30
  251. package/dist/client/api/heartbeat.js +0 -38
  252. package/dist/client/api/invoke-plugin.d.ts +0 -15
  253. package/dist/client/api/invoke-plugin.js +0 -38
  254. package/dist/client/api/ocr.d.ts +0 -31
  255. package/dist/client/api/ocr.js +0 -88
  256. package/dist/client/api/registry.d.ts +0 -14
  257. package/dist/client/api/registry.js +0 -37
  258. package/dist/client/config-loader/config-utils.d.ts +0 -5
  259. package/dist/client/config-loader/config-utils.js +0 -20
  260. package/dist/client/config-loader/resolve-config.bare.d.ts +0 -9
  261. package/dist/client/config-loader/resolve-config.bare.js +0 -87
  262. package/dist/client/config-loader/resolve-config.expo.d.ts +0 -11
  263. package/dist/client/config-loader/resolve-config.expo.js +0 -62
  264. package/dist/client/config-loader/resolve-config.node.d.ts +0 -10
  265. package/dist/client/config-loader/resolve-config.node.js +0 -145
  266. package/dist/client/init-hooks.d.ts +0 -21
  267. package/dist/client/init-hooks.js +0 -66
  268. package/dist/client/rpc/expo-device-info.d.ts +0 -6
  269. package/dist/client/rpc/expo-device-info.js +0 -32
  270. package/dist/client/rpc/profiling/index.d.ts +0 -2
  271. package/dist/client/rpc/profiling/index.js +0 -1
  272. package/dist/client/rpc/profiling/profiler.d.ts +0 -27
  273. package/dist/client/rpc/profiling/profiler.js +0 -139
  274. package/dist/constants/registry.d.ts +0 -2
  275. package/dist/constants/registry.js +0 -1
  276. package/dist/examples/cache-management.d.ts +0 -2
  277. package/dist/examples/cache-management.js +0 -97
  278. package/dist/examples/config/blind-relay/blind-relay.config.d.ts +0 -5
  279. package/dist/examples/config/blind-relay/blind-relay.config.js +0 -7
  280. package/dist/examples/config/default/default.config.d.ts +0 -8
  281. package/dist/examples/config/default/default.config.js +0 -6
  282. package/dist/examples/config/plugins/plugins.config.d.ts +0 -5
  283. package/dist/examples/config/plugins/plugins.config.js +0 -4
  284. package/dist/examples/config-reload.d.ts +0 -2
  285. package/dist/examples/config-reload.js +0 -49
  286. package/dist/examples/default-config-usage.d.ts +0 -17
  287. package/dist/examples/default-config-usage.js +0 -47
  288. package/dist/examples/delegated-inference/consumer-profiled.d.ts +0 -2
  289. package/dist/examples/delegated-inference/consumer-profiled.js +0 -67
  290. package/dist/examples/download-with-blind-relays.d.ts +0 -2
  291. package/dist/examples/download-with-blind-relays.js +0 -49
  292. package/dist/examples/embed-p2p.d.ts +0 -2
  293. package/dist/examples/embed-p2p.js +0 -54
  294. package/dist/examples/llamacpp-p2p.d.ts +0 -2
  295. package/dist/examples/llamacpp-sharded.d.ts +0 -2
  296. package/dist/examples/llamacpp-sharded.js +0 -53
  297. package/dist/examples/logging-file-transport.d.ts +0 -2
  298. package/dist/examples/logging-streaming.d.ts +0 -2
  299. package/dist/examples/logging-streaming.js +0 -75
  300. package/dist/examples/mcp-websearch.d.ts +0 -13
  301. package/dist/examples/mcp-websearch.js +0 -176
  302. package/dist/examples/ocr-fasttext.d.ts +0 -2
  303. package/dist/examples/ocr-fasttext.js +0 -52
  304. package/dist/examples/plugins.d.ts +0 -14
  305. package/dist/examples/plugins.js +0 -129
  306. package/dist/examples/profiling/basic.d.ts +0 -2
  307. package/dist/examples/profiling/basic.js +0 -71
  308. package/dist/examples/profiling/per-call.d.ts +0 -2
  309. package/dist/examples/profiling/per-call.js +0 -30
  310. package/dist/examples/quickstart.d.ts +0 -2
  311. package/dist/examples/quickstart.js +0 -28
  312. package/dist/examples/rag/rag-hyperdb/cancellation.d.ts +0 -2
  313. package/dist/examples/rag/rag-hyperdb/cancellation.js +0 -75
  314. package/dist/examples/rag/rag-hyperdb/ingest.d.ts +0 -2
  315. package/dist/examples/rag/rag-hyperdb/pipeline.d.ts +0 -2
  316. package/dist/examples/rag/rag-hyperdb/pipeline.js +0 -74
  317. package/dist/examples/rag/rag-hyperdb/workspaces.d.ts +0 -2
  318. package/dist/examples/rag/rag-hyperdb/workspaces.js +0 -178
  319. package/dist/examples/registry-query.d.ts +0 -2
  320. package/dist/examples/registry-query.js +0 -87
  321. package/dist/examples/seed-p2p.d.ts +0 -2
  322. package/dist/examples/transcription/parakeet-ctc-filesystem.d.ts +0 -2
  323. package/dist/examples/transcription/parakeet-ctc-filesystem.js +0 -40
  324. package/dist/examples/transcription/parakeet-microphone-record.d.ts +0 -2
  325. package/dist/examples/transcription/parakeet-microphone-record.js +0 -95
  326. package/dist/examples/transcription/parakeet-sortformer.d.ts +0 -2
  327. package/dist/examples/transcription/parakeet-sortformer.js +0 -115
  328. package/dist/examples/transcription/parakeet-tdt-filesystem.d.ts +0 -2
  329. package/dist/examples/transcription/parakeet-tdt-filesystem.js +0 -44
  330. package/dist/examples/translation/translation-bergamot-batch.d.ts +0 -2
  331. package/dist/examples/translation/translation-bergamot-batch.js +0 -49
  332. package/dist/examples/translation/translation-bergamot-pivot.d.ts +0 -2
  333. package/dist/examples/translation/translation-bergamot-pivot.js +0 -73
  334. package/dist/examples/translation/translation-bergamot.d.ts +0 -2
  335. package/dist/examples/translation/translation-bergamot.js +0 -39
  336. package/dist/examples/translation/translation-llm-afriquegemma.d.ts +0 -2
  337. package/dist/examples/translation/translation-llm-afriquegemma.js +0 -39
  338. package/dist/examples/tts/chatterbox.d.ts +0 -2
  339. package/dist/examples/tts/chatterbox.js +0 -59
  340. package/dist/examples/tts/supertonic.d.ts +0 -2
  341. package/dist/examples/tts/supertonic.js +0 -51
  342. package/dist/examples/tts/utils.d.ts +0 -17
  343. package/dist/expo/plugins/resolve-sdk-package-dir.d.ts +0 -15
  344. package/dist/expo/plugins/resolve-sdk-package-dir.js +0 -31
  345. package/dist/expo/plugins/withAndroidArchitecture.d.ts +0 -8
  346. package/dist/expo/plugins/withAndroidArchitecture.js +0 -52
  347. package/dist/expo/plugins/withAndroidNdkVersion.d.ts +0 -8
  348. package/dist/expo/plugins/withAndroidNdkVersion.js +0 -31
  349. package/dist/expo/plugins/withDeviceInfo.d.ts +0 -10
  350. package/dist/expo/plugins/withDeviceInfo.js +0 -48
  351. package/dist/logging/addon.d.ts +0 -6
  352. package/dist/logging/addon.js +0 -75
  353. package/dist/logging/client-logger.d.ts +0 -3
  354. package/dist/logging/client-logger.js +0 -24
  355. package/dist/logging/namespaces.d.ts +0 -6
  356. package/dist/logging/namespaces.js +0 -6
  357. package/dist/logging/registry.d.ts +0 -31
  358. package/dist/logging/registry.js +0 -62
  359. package/dist/logging/server-logger.d.ts +0 -3
  360. package/dist/logging/server-logger.js +0 -16
  361. package/dist/models/registry/models.d.ts +0 -10417
  362. package/dist/models/registry/models.js +0 -10757
  363. package/dist/models/update-models/codegen.d.ts +0 -3
  364. package/dist/models/update-models/codegen.js +0 -135
  365. package/dist/models/update-models/history.d.ts +0 -24
  366. package/dist/models/update-models/history.js +0 -107
  367. package/dist/models/update-models/index.d.ts +0 -2
  368. package/dist/models/update-models/index.js +0 -125
  369. package/dist/models/update-models/naming.d.ts +0 -4
  370. package/dist/models/update-models/naming.js +0 -370
  371. package/dist/models/update-models/processing.d.ts +0 -8
  372. package/dist/models/update-models/processing.js +0 -67
  373. package/dist/models/update-models/registry.d.ts +0 -4
  374. package/dist/models/update-models/registry.js +0 -67
  375. package/dist/models/update-models/shards.d.ts +0 -4
  376. package/dist/models/update-models/shards.js +0 -57
  377. package/dist/models/update-models/types.d.ts +0 -60
  378. package/dist/models/update-models/types.js +0 -1
  379. package/dist/models/update-models/utils.d.ts +0 -3
  380. package/dist/models/update-models/utils.js +0 -21
  381. package/dist/pear/pre.d.ts +0 -18
  382. package/dist/pear/pre.js +0 -433
  383. package/dist/profiling/aggregator.d.ts +0 -15
  384. package/dist/profiling/aggregator.js +0 -100
  385. package/dist/profiling/clock.d.ts +0 -12
  386. package/dist/profiling/clock.js +0 -51
  387. package/dist/profiling/controller.d.ts +0 -33
  388. package/dist/profiling/controller.js +0 -123
  389. package/dist/profiling/envelope.d.ts +0 -10
  390. package/dist/profiling/envelope.js +0 -36
  391. package/dist/profiling/events.d.ts +0 -20
  392. package/dist/profiling/events.js +0 -37
  393. package/dist/profiling/exporters.d.ts +0 -10
  394. package/dist/profiling/exporters.js +0 -236
  395. package/dist/profiling/index.d.ts +0 -36
  396. package/dist/profiling/index.js +0 -31
  397. package/dist/profiling/ring-buffer.d.ts +0 -19
  398. package/dist/profiling/ring-buffer.js +0 -83
  399. package/dist/profiling/types.d.ts +0 -47
  400. package/dist/profiling/types.js +0 -1
  401. package/dist/schemas/archive.d.ts +0 -9
  402. package/dist/schemas/archive.js +0 -17
  403. package/dist/schemas/engine-addon-map.d.ts +0 -5
  404. package/dist/schemas/engine-addon-map.js +0 -52
  405. package/dist/schemas/get-model-info.d.ts +0 -120
  406. package/dist/schemas/get-model-info.js +0 -58
  407. package/dist/schemas/heartbeat.d.ts +0 -17
  408. package/dist/schemas/heartbeat.js +0 -10
  409. package/dist/schemas/json-schema.d.ts +0 -16
  410. package/dist/schemas/json-schema.js +0 -2
  411. package/dist/schemas/mcp-adapter.d.ts +0 -47
  412. package/dist/schemas/mcp-adapter.js +0 -1
  413. package/dist/schemas/model-src-utils.d.ts +0 -148
  414. package/dist/schemas/model-src-utils.js +0 -35
  415. package/dist/schemas/model-types.d.ts +0 -183
  416. package/dist/schemas/model-types.js +0 -168
  417. package/dist/schemas/ocr.d.ts +0 -125
  418. package/dist/schemas/ocr.js +0 -57
  419. package/dist/schemas/path-validation.d.ts +0 -10
  420. package/dist/schemas/path-validation.js +0 -22
  421. package/dist/schemas/plugin.d.ts +0 -226
  422. package/dist/schemas/plugin.js +0 -158
  423. package/dist/schemas/profiling.d.ts +0 -105
  424. package/dist/schemas/profiling.js +0 -66
  425. package/dist/schemas/registry.d.ts +0 -356
  426. package/dist/schemas/registry.js +0 -93
  427. package/dist/schemas/reload-config.d.ts +0 -476
  428. package/dist/schemas/reload-config.js +0 -44
  429. package/dist/schemas/runtime-context.d.ts +0 -19
  430. package/dist/schemas/runtime-context.js +0 -7
  431. package/dist/schemas/sdk-config.d.ts +0 -2973
  432. package/dist/schemas/sdk-config.js +0 -136
  433. package/dist/schemas/sdk-errors-client.d.ts +0 -31
  434. package/dist/schemas/sdk-errors-client.js +0 -143
  435. package/dist/schemas/sdk-errors-registry.d.ts +0 -6
  436. package/dist/schemas/sdk-errors-registry.js +0 -8
  437. package/dist/schemas/sdk-errors-server.d.ts +0 -89
  438. package/dist/schemas/sdk-errors-server.js +0 -451
  439. package/dist/schemas/shard.d.ts +0 -21
  440. package/dist/schemas/shard.js +0 -17
  441. package/dist/schemas/tools.d.ts +0 -65
  442. package/dist/schemas/tools.js +0 -43
  443. package/dist/schemas/transcription-config.d.ts +0 -383
  444. package/dist/scripts/run-security-tests-bare.d.ts +0 -2
  445. package/dist/scripts/run-security-tests-bare.js +0 -78
  446. package/dist/scripts/run-security-tests.d.ts +0 -2
  447. package/dist/scripts/run-security-tests.js +0 -22
  448. package/dist/scripts/run-unit-tests.d.ts +0 -2
  449. package/dist/scripts/run-unit-tests.js +0 -17
  450. package/dist/server/bare/ops/embed.d.ts +0 -12
  451. package/dist/server/bare/ops/load-model.d.ts +0 -9
  452. package/dist/server/bare/ops/load-model.js +0 -85
  453. package/dist/server/bare/ops/transcribe.d.ts +0 -3
  454. package/dist/server/bare/ops/transcribe.js +0 -75
  455. package/dist/server/bare/ops/translate.d.ts +0 -5
  456. package/dist/server/bare/ops/unload-model.js +0 -41
  457. package/dist/server/bare/plugins/index.d.ts +0 -8
  458. package/dist/server/bare/plugins/index.js +0 -7
  459. package/dist/server/bare/plugins/llamacpp-completion/ops/cache-logger.d.ts +0 -6
  460. package/dist/server/bare/plugins/llamacpp-completion/ops/cache-logger.js +0 -34
  461. package/dist/server/bare/plugins/llamacpp-completion/plugin.d.ts +0 -220
  462. package/dist/server/bare/plugins/llamacpp-completion/plugin.js +0 -155
  463. package/dist/server/bare/plugins/llamacpp-embedding/plugin.d.ts +0 -54
  464. package/dist/server/bare/plugins/llamacpp-embedding/plugin.js +0 -87
  465. package/dist/server/bare/plugins/nmtcpp-translation/plugin.d.ts +0 -367
  466. package/dist/server/bare/plugins/nmtcpp-translation/plugin.js +0 -201
  467. package/dist/server/bare/plugins/onnx-ocr/ops/ocr-stream.d.ts +0 -10
  468. package/dist/server/bare/plugins/onnx-ocr/ops/ocr-stream.js +0 -110
  469. package/dist/server/bare/plugins/onnx-ocr/plugin.d.ts +0 -86
  470. package/dist/server/bare/plugins/onnx-ocr/plugin.js +0 -117
  471. package/dist/server/bare/plugins/onnx-tts/plugin.d.ts +0 -373
  472. package/dist/server/bare/plugins/onnx-tts/plugin.js +0 -182
  473. package/dist/server/bare/plugins/onnx-tts/wav-helper.d.ts +0 -14
  474. package/dist/server/bare/plugins/onnx-tts/wav-helper.js +0 -107
  475. package/dist/server/bare/plugins/parakeet-transcription/plugin.d.ts +0 -317
  476. package/dist/server/bare/plugins/parakeet-transcription/plugin.js +0 -154
  477. package/dist/server/bare/plugins/whispercpp-transcription/plugin.d.ts +0 -237
  478. package/dist/server/bare/plugins/whispercpp-transcription/plugin.js +0 -86
  479. package/dist/server/bare/rag-hyperdb/handlers/chunk.d.ts +0 -3
  480. package/dist/server/bare/rag-hyperdb/handlers/chunk.js +0 -7
  481. package/dist/server/bare/rag-hyperdb/handlers/close-workspace.d.ts +0 -3
  482. package/dist/server/bare/rag-hyperdb/handlers/close-workspace.js +0 -9
  483. package/dist/server/bare/rag-hyperdb/handlers/delete-workspace.d.ts +0 -3
  484. package/dist/server/bare/rag-hyperdb/handlers/delete-workspace.js +0 -14
  485. package/dist/server/bare/rag-hyperdb/handlers/ingest.d.ts +0 -9
  486. package/dist/server/bare/rag-hyperdb/handlers/ingest.js +0 -18
  487. package/dist/server/bare/rag-hyperdb/handlers/list-workspaces.d.ts +0 -3
  488. package/dist/server/bare/rag-hyperdb/handlers/list-workspaces.js +0 -4
  489. package/dist/server/bare/rag-hyperdb/handlers/reindex.d.ts +0 -9
  490. package/dist/server/bare/rag-hyperdb/handlers/reindex.js +0 -16
  491. package/dist/server/bare/rag-hyperdb/rag-operation-manager.d.ts +0 -7
  492. package/dist/server/bare/rag-hyperdb/rag-operation-manager.js +0 -39
  493. package/dist/server/bare/rag-hyperdb/rag-workspace-manager.d.ts +0 -15
  494. package/dist/server/bare/rag-hyperdb/rag-workspace-manager.js +0 -136
  495. package/dist/server/bare/registry/config-registry.d.ts +0 -14
  496. package/dist/server/bare/registry/config-registry.js +0 -82
  497. package/dist/server/bare/registry/model-config-registry.d.ts +0 -4
  498. package/dist/server/bare/registry/model-config-registry.js +0 -15
  499. package/dist/server/bare/registry/model-config-utils.d.ts +0 -15
  500. package/dist/server/bare/registry/model-config-utils.js +0 -112
  501. package/dist/server/bare/registry/registry-client.d.ts +0 -5
  502. package/dist/server/bare/registry/registry-client.js +0 -37
  503. package/dist/server/bare/registry/runtime-context-registry.d.ts +0 -7
  504. package/dist/server/bare/registry/runtime-context-registry.js +0 -26
  505. package/dist/server/bare/utils/audio-input.d.ts +0 -10
  506. package/dist/server/bare/utils/audio-input.js +0 -33
  507. package/dist/server/bare/utils/loader-adapter.d.ts +0 -7
  508. package/dist/server/bare/utils/loader-adapter.js +0 -9
  509. package/dist/server/env.d.ts +0 -22
  510. package/dist/server/env.js +0 -57
  511. package/dist/server/plugins/index.d.ts +0 -2
  512. package/dist/server/plugins/index.js +0 -1
  513. package/dist/server/plugins/registry.d.ts +0 -9
  514. package/dist/server/plugins/registry.js +0 -79
  515. package/dist/server/rpc/delegate-transport.d.ts +0 -19
  516. package/dist/server/rpc/delegate-transport.js +0 -236
  517. package/dist/server/rpc/delegate-utils.d.ts +0 -2
  518. package/dist/server/rpc/delegate-utils.js +0 -5
  519. package/dist/server/rpc/handler-registry.d.ts +0 -3
  520. package/dist/server/rpc/handler-registry.js +0 -113
  521. package/dist/server/rpc/handler-utils.d.ts +0 -23
  522. package/dist/server/rpc/handler-utils.js +0 -170
  523. package/dist/server/rpc/handlers/cancel-delegated.d.ts +0 -4
  524. package/dist/server/rpc/handlers/cancel-delegated.js +0 -71
  525. package/dist/server/rpc/handlers/get-model-info.d.ts +0 -3
  526. package/dist/server/rpc/handlers/get-model-info.js +0 -164
  527. package/dist/server/rpc/handlers/heartbeat-delegated.d.ts +0 -4
  528. package/dist/server/rpc/handlers/heartbeat-delegated.js +0 -32
  529. package/dist/server/rpc/handlers/heartbeat.d.ts +0 -3
  530. package/dist/server/rpc/handlers/heartbeat.js +0 -3
  531. package/dist/server/rpc/handlers/load-model/download-stats.d.ts +0 -6
  532. package/dist/server/rpc/handlers/load-model/download-stats.js +0 -87
  533. package/dist/server/rpc/handlers/load-model/handler.js +0 -187
  534. package/dist/server/rpc/handlers/load-model/registry.d.ts +0 -11
  535. package/dist/server/rpc/handlers/load-model/registry.js +0 -548
  536. package/dist/server/rpc/handlers/load-model/types.d.ts +0 -29
  537. package/dist/server/rpc/handlers/load-model/types.js +0 -1
  538. package/dist/server/rpc/handlers/ocr-stream.d.ts +0 -3
  539. package/dist/server/rpc/handlers/ocr-stream.js +0 -4
  540. package/dist/server/rpc/handlers/plugin-dispatch.d.ts +0 -15
  541. package/dist/server/rpc/handlers/plugin-dispatch.js +0 -59
  542. package/dist/server/rpc/handlers/plugin-invoke.d.ts +0 -4
  543. package/dist/server/rpc/handlers/plugin-invoke.js +0 -92
  544. package/dist/server/rpc/handlers/registry.d.ts +0 -5
  545. package/dist/server/rpc/handlers/registry.js +0 -157
  546. package/dist/server/rpc/handlers/unload-model-delegated.d.ts +0 -3
  547. package/dist/server/rpc/handlers/unload-model-delegated.js +0 -32
  548. package/dist/server/rpc/profiling/context.d.ts +0 -18
  549. package/dist/server/rpc/profiling/context.js +0 -38
  550. package/dist/server/rpc/profiling/delegation-profiler.d.ts +0 -32
  551. package/dist/server/rpc/profiling/delegation-profiler.js +0 -154
  552. package/dist/server/rpc/profiling/index.d.ts +0 -5
  553. package/dist/server/rpc/profiling/index.js +0 -4
  554. package/dist/server/rpc/profiling/operation-metrics.d.ts +0 -25
  555. package/dist/server/rpc/profiling/operation-metrics.js +0 -199
  556. package/dist/server/rpc/profiling/operation-wrappers.d.ts +0 -18
  557. package/dist/server/rpc/profiling/operation-wrappers.js +0 -124
  558. package/dist/server/rpc/profiling/profiler.d.ts +0 -13
  559. package/dist/server/rpc/profiling/profiler.js +0 -97
  560. package/dist/server/utils/archive.d.ts +0 -4
  561. package/dist/server/utils/archive.js +0 -179
  562. package/dist/server/utils/checksum.d.ts +0 -4
  563. package/dist/server/utils/checksum.js +0 -31
  564. package/dist/server/utils/config-transform.d.ts +0 -3
  565. package/dist/server/utils/config-transform.js +0 -23
  566. package/dist/server/utils/formatting.d.ts +0 -19
  567. package/dist/server/utils/formatting.js +0 -61
  568. package/dist/server/utils/gguf-tensor-extractor.d.ts +0 -15
  569. package/dist/server/utils/gguf-tensor-extractor.js +0 -314
  570. package/dist/server/utils/path-security.d.ts +0 -12
  571. package/dist/server/utils/path-security.js +0 -25
  572. package/dist/server/utils/shard-utils.d.ts +0 -48
  573. package/dist/server/utils/shard-utils.js +0 -125
  574. package/dist/server/worker-core.d.ts +0 -6
  575. package/dist/server/worker-core.js +0 -88
  576. package/dist/utils/errors-base.d.ts +0 -3
  577. package/dist/utils/errors-base.js +0 -13
  578. package/dist/utils/errors-client.d.ts +0 -137
  579. package/dist/utils/errors-client.js +0 -240
  580. package/dist/utils/errors-server.d.ts +0 -236
  581. package/dist/utils/errors-server.js +0 -412
  582. package/dist/utils/global-singleton.d.ts +0 -2
  583. package/dist/utils/global-singleton.js +0 -10
  584. package/dist/utils/mcp-adapter.d.ts +0 -12
  585. package/dist/utils/mcp-adapter.js +0 -103
  586. package/dist/utils/object.d.ts +0 -2
  587. package/dist/utils/object.js +0 -3
  588. package/dist/utils/path-sanitize.d.ts +0 -17
  589. package/dist/utils/path-sanitize.js +0 -54
  590. package/dist/utils/tool-helpers.d.ts +0 -25
  591. package/dist/utils/tool-helpers.js +0 -112
  592. package/expo/plugins/patches/android-link.mjs +0 -63
  593. package/expo/plugins/patches/ios-link.mjs +0 -63
  594. /package/dist/examples/{seed-p2p.js → seed-hyperdrive.js} +0 -0
  595. /package/dist/examples/{transcription/whispercpp-filesystem.d.ts → whispercpp-filesystem.d.ts} +0 -0
  596. /package/dist/examples/{transcription/whispercpp-microphone-record.d.ts → whispercpp-microphone-record.d.ts} +0 -0
  597. /package/dist/examples/{transcription/whispercpp-prompt.d.ts → whispercpp-prompt.d.ts} +0 -0
  598. /package/dist/models/{registry → hyperdrive}/index.d.ts +0 -0
  599. /package/dist/server/bare/{ops → addons}/cancel.d.ts +0 -0
  600. /package/dist/server/bare/{plugins/onnx-tts/ops → addons/tts/handlers}/text-to-speech.d.ts +0 -0
  601. /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
- }