@qvac/sdk 0.8.1 → 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 (608) 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 +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 +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 -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.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/whispercpp-filesystem.js +43 -0
  85. package/dist/examples/{transcription/whispercpp-microphone-record.js → whispercpp-microphone-record.js} +9 -8
  86. package/dist/expo/plugins/index.d.ts +0 -3
  87. package/dist/expo/plugins/index.js +0 -3
  88. package/dist/expo/plugins/withMobileBundle.d.ts +2 -5
  89. package/dist/expo/plugins/withMobileBundle.js +40 -121
  90. package/dist/expo/plugins/withQvacSDK.d.ts +0 -4
  91. package/dist/expo/plugins/withQvacSDK.js +1 -26
  92. package/dist/index.d.ts +4 -9
  93. package/dist/index.js +5 -11
  94. package/dist/logging/base-logger.js +16 -26
  95. package/dist/logging/index.d.ts +1 -7
  96. package/dist/logging/index.js +1 -7
  97. package/dist/logging/logger.d.ts +2 -0
  98. package/dist/logging/logger.js +6 -11
  99. package/dist/logging/stream-logger.d.ts +1 -1
  100. package/dist/logging/stream-logger.js +3 -6
  101. package/dist/logging/transport.js +2 -2
  102. package/dist/logging/types.d.ts +0 -2
  103. package/dist/logging/utils.d.ts +0 -2
  104. package/dist/logging/utils.js +0 -62
  105. package/dist/models/{registry → hyperdrive}/index.js +1 -1
  106. package/dist/models/hyperdrive/models.d.ts +619 -0
  107. package/dist/models/hyperdrive/models.js +693 -0
  108. package/dist/schemas/cancel.d.ts +0 -18
  109. package/dist/schemas/cancel.js +0 -7
  110. package/dist/schemas/common.d.ts +166 -3012
  111. package/dist/schemas/common.js +4 -27
  112. package/dist/schemas/completion-stream.d.ts +60 -31
  113. package/dist/schemas/completion-stream.js +44 -20
  114. package/dist/schemas/delegate.d.ts +0 -9
  115. package/dist/schemas/delegate.js +2 -6
  116. package/dist/schemas/download-asset.d.ts +3 -125
  117. package/dist/schemas/download-asset.js +5 -22
  118. package/dist/schemas/embed.d.ts +3 -3
  119. package/dist/schemas/embed.js +2 -9
  120. package/dist/schemas/index.d.ts +2 -20
  121. package/dist/schemas/index.js +2 -20
  122. package/dist/schemas/llamacpp-config.d.ts +12 -243
  123. package/dist/schemas/llamacpp-config.js +14 -50
  124. package/dist/schemas/load-model.d.ts +893 -14471
  125. package/dist/schemas/load-model.js +72 -325
  126. package/dist/schemas/logging-stream.d.ts +4 -11
  127. package/dist/schemas/logging-stream.js +3 -4
  128. package/dist/schemas/ping.d.ts +11 -0
  129. package/dist/schemas/ping.js +8 -0
  130. package/dist/schemas/rag.d.ts +52 -183
  131. package/dist/schemas/rag.js +23 -152
  132. package/dist/schemas/text-to-speech.d.ts +1 -692
  133. package/dist/schemas/text-to-speech.js +3 -35
  134. package/dist/schemas/transcription.d.ts +0 -3
  135. package/dist/schemas/transcription.js +0 -1
  136. package/dist/schemas/translate.d.ts +23 -68
  137. package/dist/schemas/translate.js +11 -37
  138. package/dist/schemas/translation-config.d.ts +7 -810
  139. package/dist/schemas/translation-config.js +7 -113
  140. package/dist/schemas/unload-model.d.ts +0 -2
  141. package/dist/schemas/unload-model.js +0 -2
  142. package/dist/schemas/whispercpp-config.d.ts +25 -0
  143. package/dist/schemas/whispercpp-config.js +18 -0
  144. package/dist/server/bare/{ops → addons}/cancel.js +1 -2
  145. package/dist/server/bare/addons/index.d.ts +4 -0
  146. package/dist/server/bare/addons/index.js +3 -0
  147. package/dist/server/bare/addons/llamacpp/create-model.d.ts +5 -0
  148. package/dist/server/bare/addons/llamacpp/create-model.js +67 -0
  149. package/dist/server/bare/{plugins/llamacpp-completion/ops → addons/llamacpp/handlers}/completion-stream.d.ts +1 -2
  150. package/dist/server/bare/{plugins/llamacpp-completion/ops → addons/llamacpp/handlers}/completion-stream.js +87 -54
  151. package/dist/server/bare/addons/llamacpp/handlers/embed.d.ts +4 -0
  152. package/dist/server/bare/{ops → addons/llamacpp/handlers}/embed.js +7 -22
  153. package/dist/server/bare/addons/llamacpp/index.d.ts +4 -0
  154. package/dist/server/bare/addons/llamacpp/index.js +3 -0
  155. package/dist/server/bare/{ops → addons/llamacpp}/kv-cache-utils.d.ts +1 -4
  156. package/dist/server/bare/{ops → addons/llamacpp}/kv-cache-utils.js +19 -54
  157. package/dist/server/bare/addons/load-model.d.ts +3 -0
  158. package/dist/server/bare/addons/load-model.js +62 -0
  159. package/dist/server/bare/addons/translation/create-model.d.ts +4 -0
  160. package/dist/server/bare/addons/translation/create-model.js +45 -0
  161. package/dist/server/bare/addons/translation/handlers/translate.d.ts +3 -0
  162. package/dist/server/bare/{ops → addons/translation/handlers}/translate.js +14 -47
  163. package/dist/server/bare/addons/translation/index.d.ts +3 -0
  164. package/dist/server/bare/addons/translation/index.js +2 -0
  165. package/dist/server/bare/addons/tts/create-model.d.ts +6 -0
  166. package/dist/server/bare/addons/tts/create-model.js +40 -0
  167. package/dist/server/bare/{plugins/onnx-tts/ops → addons/tts/handlers}/text-to-speech.js +3 -25
  168. package/dist/server/bare/addons/tts/index.d.ts +3 -0
  169. package/dist/server/bare/addons/tts/index.js +2 -0
  170. package/dist/server/bare/addons/unload-model.js +20 -0
  171. package/dist/server/bare/addons/whispercpp/create-model.d.ts +6 -0
  172. package/dist/server/bare/addons/whispercpp/create-model.js +55 -0
  173. package/dist/server/bare/addons/whispercpp/handlers/transcribe-stream.d.ts +3 -0
  174. package/dist/server/bare/addons/whispercpp/handlers/transcribe-stream.js +48 -0
  175. package/dist/server/bare/addons/whispercpp/index.d.ts +3 -0
  176. package/dist/server/bare/addons/whispercpp/index.js +2 -0
  177. package/dist/server/bare/delegate-rpc-client.d.ts +0 -6
  178. package/dist/server/bare/delegate-rpc-client.js +45 -187
  179. package/dist/server/bare/hyperswarm.d.ts +0 -3
  180. package/dist/server/bare/hyperswarm.js +6 -29
  181. package/dist/server/bare/rag-hyperdb/handlers/delete-embeddings.d.ts +1 -1
  182. package/dist/server/bare/rag-hyperdb/handlers/delete-embeddings.js +10 -9
  183. package/dist/server/bare/rag-hyperdb/handlers/save-embeddings.d.ts +4 -7
  184. package/dist/server/bare/rag-hyperdb/handlers/save-embeddings.js +14 -13
  185. package/dist/server/bare/rag-hyperdb/handlers/search.js +10 -10
  186. package/dist/server/bare/rag-hyperdb/index.d.ts +1 -8
  187. package/dist/server/bare/rag-hyperdb/index.js +1 -8
  188. package/dist/server/bare/rag-hyperdb/rag-manager.d.ts +5 -0
  189. package/dist/server/bare/rag-hyperdb/rag-manager.js +65 -0
  190. package/dist/server/bare/registry/logging-stream-registry.d.ts +7 -24
  191. package/dist/server/bare/registry/logging-stream-registry.js +20 -99
  192. package/dist/server/bare/registry/model-registry.d.ts +26 -16
  193. package/dist/server/bare/registry/model-registry.js +13 -34
  194. package/dist/server/error-handlers.d.ts +2 -3
  195. package/dist/server/error-handlers.js +10 -15
  196. package/dist/server/http-server.d.ts +2 -0
  197. package/dist/server/http-server.js +189 -0
  198. package/dist/server/rpc/create-server.js +3 -5
  199. package/dist/server/rpc/handle-request.d.ts +9 -0
  200. package/dist/server/rpc/handle-request.js +242 -92
  201. package/dist/server/rpc/handlers/cancelHandler.js +3 -14
  202. package/dist/server/rpc/handlers/completion-stream-delegated.d.ts +1 -3
  203. package/dist/server/rpc/handlers/completion-stream-delegated.js +8 -20
  204. package/dist/server/rpc/handlers/completion-stream.js +41 -2
  205. package/dist/server/rpc/handlers/delete-cache.js +2 -4
  206. package/dist/server/rpc/handlers/download-asset.js +6 -59
  207. package/dist/server/rpc/handlers/embed.js +19 -2
  208. package/dist/server/rpc/handlers/index.d.ts +0 -13
  209. package/dist/server/rpc/handlers/index.js +0 -13
  210. package/dist/server/rpc/handlers/load-model/download-manager.d.ts +11 -12
  211. package/dist/server/rpc/handlers/load-model/download-manager.js +28 -43
  212. package/dist/server/rpc/handlers/load-model/http.d.ts +1 -2
  213. package/dist/server/rpc/handlers/load-model/http.js +55 -424
  214. package/dist/server/rpc/handlers/load-model/hyperdrive.d.ts +1 -2
  215. package/dist/server/rpc/handlers/load-model/hyperdrive.js +171 -364
  216. package/dist/server/rpc/handlers/load-model/index.d.ts +2 -2
  217. package/dist/server/rpc/handlers/load-model/index.js +2 -2
  218. package/dist/server/rpc/handlers/load-model/resolve.d.ts +1 -3
  219. package/dist/server/rpc/handlers/load-model/resolve.js +29 -110
  220. package/dist/server/rpc/handlers/load-model-delegated.d.ts +2 -6
  221. package/dist/server/rpc/handlers/load-model-delegated.js +20 -60
  222. package/dist/server/rpc/handlers/{load-model/handler.d.ts → load-model.d.ts} +2 -2
  223. package/dist/server/rpc/handlers/load-model.js +57 -0
  224. package/dist/server/rpc/handlers/logging-stream.js +4 -4
  225. package/dist/server/rpc/handlers/provideHandler/connection.js +10 -12
  226. package/dist/server/rpc/handlers/provideHandler/handler.js +17 -20
  227. package/dist/server/rpc/handlers/provideHandler/proxy.js +6 -8
  228. package/dist/server/rpc/handlers/rag.d.ts +2 -2
  229. package/dist/server/rpc/handlers/rag.js +43 -130
  230. package/dist/server/rpc/handlers/stopProvideHandler.js +2 -6
  231. package/dist/server/rpc/handlers/text-to-speech.js +5 -2
  232. package/dist/server/rpc/handlers/transcribe-stream.js +24 -2
  233. package/dist/server/rpc/handlers/translate.js +49 -2
  234. package/dist/server/rpc/handlers/unload-model.js +3 -12
  235. package/dist/server/rpc/index.d.ts +1 -1
  236. package/dist/server/utils/audio/decoder.d.ts +1 -2
  237. package/dist/server/utils/audio/decoder.js +12 -49
  238. package/dist/server/utils/cache.d.ts +8 -19
  239. package/dist/server/utils/cache.js +15 -100
  240. package/dist/server/utils/hash.d.ts +5 -0
  241. package/dist/server/utils/hash.js +11 -0
  242. package/dist/server/utils/index.d.ts +2 -7
  243. package/dist/server/utils/index.js +2 -7
  244. package/dist/server/utils/tool-parser.js +14 -28
  245. package/dist/server/worker.d.ts +5 -4
  246. package/dist/server/worker.js +89 -22
  247. package/package.json +41 -148
  248. package/NOTICE +0 -695
  249. package/bare-imports.json +0 -44
  250. package/dist/client/api/get-model-info.d.ts +0 -36
  251. package/dist/client/api/get-model-info.js +0 -14
  252. package/dist/client/api/heartbeat.d.ts +0 -30
  253. package/dist/client/api/heartbeat.js +0 -38
  254. package/dist/client/api/invoke-plugin.d.ts +0 -15
  255. package/dist/client/api/invoke-plugin.js +0 -38
  256. package/dist/client/api/ocr.d.ts +0 -31
  257. package/dist/client/api/ocr.js +0 -88
  258. package/dist/client/api/registry.d.ts +0 -14
  259. package/dist/client/api/registry.js +0 -37
  260. package/dist/client/config-loader/config-utils.d.ts +0 -5
  261. package/dist/client/config-loader/config-utils.js +0 -20
  262. package/dist/client/config-loader/resolve-config.bare.d.ts +0 -9
  263. package/dist/client/config-loader/resolve-config.bare.js +0 -87
  264. package/dist/client/config-loader/resolve-config.expo.d.ts +0 -11
  265. package/dist/client/config-loader/resolve-config.expo.js +0 -62
  266. package/dist/client/config-loader/resolve-config.node.d.ts +0 -10
  267. package/dist/client/config-loader/resolve-config.node.js +0 -145
  268. package/dist/client/init-hooks.d.ts +0 -21
  269. package/dist/client/init-hooks.js +0 -66
  270. package/dist/client/rpc/expo-device-info.d.ts +0 -6
  271. package/dist/client/rpc/expo-device-info.js +0 -32
  272. package/dist/client/rpc/profiling/index.d.ts +0 -2
  273. package/dist/client/rpc/profiling/index.js +0 -1
  274. package/dist/client/rpc/profiling/profiler.d.ts +0 -27
  275. package/dist/client/rpc/profiling/profiler.js +0 -139
  276. package/dist/constants/registry.d.ts +0 -2
  277. package/dist/constants/registry.js +0 -1
  278. package/dist/examples/cache-management.d.ts +0 -2
  279. package/dist/examples/cache-management.js +0 -97
  280. package/dist/examples/config/blind-relay/blind-relay.config.d.ts +0 -5
  281. package/dist/examples/config/blind-relay/blind-relay.config.js +0 -7
  282. package/dist/examples/config/default/default.config.d.ts +0 -8
  283. package/dist/examples/config/default/default.config.js +0 -6
  284. package/dist/examples/config/plugins/plugins.config.d.ts +0 -5
  285. package/dist/examples/config/plugins/plugins.config.js +0 -4
  286. package/dist/examples/config-reload.d.ts +0 -2
  287. package/dist/examples/config-reload.js +0 -49
  288. package/dist/examples/default-config-usage.d.ts +0 -17
  289. package/dist/examples/default-config-usage.js +0 -47
  290. package/dist/examples/delegated-inference/consumer-profiled.d.ts +0 -2
  291. package/dist/examples/delegated-inference/consumer-profiled.js +0 -67
  292. package/dist/examples/download-with-blind-relays.d.ts +0 -2
  293. package/dist/examples/download-with-blind-relays.js +0 -49
  294. package/dist/examples/embed-p2p.d.ts +0 -2
  295. package/dist/examples/embed-p2p.js +0 -54
  296. package/dist/examples/llamacpp-p2p.d.ts +0 -2
  297. package/dist/examples/llamacpp-sharded.d.ts +0 -2
  298. package/dist/examples/llamacpp-sharded.js +0 -53
  299. package/dist/examples/logging-file-transport.d.ts +0 -2
  300. package/dist/examples/logging-streaming.d.ts +0 -2
  301. package/dist/examples/logging-streaming.js +0 -75
  302. package/dist/examples/mcp-websearch.d.ts +0 -13
  303. package/dist/examples/mcp-websearch.js +0 -176
  304. package/dist/examples/ocr-fasttext.d.ts +0 -2
  305. package/dist/examples/ocr-fasttext.js +0 -52
  306. package/dist/examples/plugins.d.ts +0 -14
  307. package/dist/examples/plugins.js +0 -129
  308. package/dist/examples/profiling/basic.d.ts +0 -2
  309. package/dist/examples/profiling/basic.js +0 -71
  310. package/dist/examples/profiling/per-call.d.ts +0 -2
  311. package/dist/examples/profiling/per-call.js +0 -30
  312. package/dist/examples/quickstart.d.ts +0 -2
  313. package/dist/examples/quickstart.js +0 -28
  314. package/dist/examples/rag/rag-hyperdb/cancellation.d.ts +0 -2
  315. package/dist/examples/rag/rag-hyperdb/cancellation.js +0 -75
  316. package/dist/examples/rag/rag-hyperdb/ingest.d.ts +0 -2
  317. package/dist/examples/rag/rag-hyperdb/pipeline.d.ts +0 -2
  318. package/dist/examples/rag/rag-hyperdb/pipeline.js +0 -74
  319. package/dist/examples/rag/rag-hyperdb/workspaces.d.ts +0 -2
  320. package/dist/examples/rag/rag-hyperdb/workspaces.js +0 -178
  321. package/dist/examples/registry-query.d.ts +0 -2
  322. package/dist/examples/registry-query.js +0 -87
  323. package/dist/examples/seed-p2p.d.ts +0 -2
  324. package/dist/examples/transcription/parakeet-ctc-filesystem.d.ts +0 -2
  325. package/dist/examples/transcription/parakeet-ctc-filesystem.js +0 -40
  326. package/dist/examples/transcription/parakeet-microphone-record.d.ts +0 -2
  327. package/dist/examples/transcription/parakeet-microphone-record.js +0 -95
  328. package/dist/examples/transcription/parakeet-sortformer.d.ts +0 -2
  329. package/dist/examples/transcription/parakeet-sortformer.js +0 -115
  330. package/dist/examples/transcription/parakeet-tdt-filesystem.d.ts +0 -2
  331. package/dist/examples/transcription/parakeet-tdt-filesystem.js +0 -44
  332. package/dist/examples/transcription/whispercpp-filesystem.js +0 -69
  333. package/dist/examples/transcription/whispercpp-prompt.d.ts +0 -2
  334. package/dist/examples/transcription/whispercpp-prompt.js +0 -67
  335. package/dist/examples/translation/translation-bergamot-batch.d.ts +0 -2
  336. package/dist/examples/translation/translation-bergamot-batch.js +0 -49
  337. package/dist/examples/translation/translation-bergamot-pivot.d.ts +0 -2
  338. package/dist/examples/translation/translation-bergamot-pivot.js +0 -73
  339. package/dist/examples/translation/translation-bergamot.d.ts +0 -2
  340. package/dist/examples/translation/translation-bergamot.js +0 -39
  341. package/dist/examples/translation/translation-llm-afriquegemma.d.ts +0 -2
  342. package/dist/examples/translation/translation-llm-afriquegemma.js +0 -39
  343. package/dist/examples/tts/chatterbox.d.ts +0 -2
  344. package/dist/examples/tts/chatterbox.js +0 -59
  345. package/dist/examples/tts/supertonic.d.ts +0 -2
  346. package/dist/examples/tts/supertonic.js +0 -51
  347. package/dist/examples/tts/utils.d.ts +0 -17
  348. package/dist/expo/plugins/resolve-sdk-package-dir.d.ts +0 -15
  349. package/dist/expo/plugins/resolve-sdk-package-dir.js +0 -31
  350. package/dist/expo/plugins/withAndroidArchitecture.d.ts +0 -8
  351. package/dist/expo/plugins/withAndroidArchitecture.js +0 -52
  352. package/dist/expo/plugins/withAndroidNdkVersion.d.ts +0 -8
  353. package/dist/expo/plugins/withAndroidNdkVersion.js +0 -31
  354. package/dist/expo/plugins/withDeviceInfo.d.ts +0 -10
  355. package/dist/expo/plugins/withDeviceInfo.js +0 -48
  356. package/dist/logging/addon.d.ts +0 -6
  357. package/dist/logging/addon.js +0 -75
  358. package/dist/logging/client-logger.d.ts +0 -3
  359. package/dist/logging/client-logger.js +0 -24
  360. package/dist/logging/namespaces.d.ts +0 -6
  361. package/dist/logging/namespaces.js +0 -6
  362. package/dist/logging/registry.d.ts +0 -31
  363. package/dist/logging/registry.js +0 -62
  364. package/dist/logging/server-logger.d.ts +0 -3
  365. package/dist/logging/server-logger.js +0 -16
  366. package/dist/models/registry/models.d.ts +0 -10417
  367. package/dist/models/registry/models.js +0 -10757
  368. package/dist/models/update-models/codegen.d.ts +0 -3
  369. package/dist/models/update-models/codegen.js +0 -135
  370. package/dist/models/update-models/history.d.ts +0 -24
  371. package/dist/models/update-models/history.js +0 -107
  372. package/dist/models/update-models/index.d.ts +0 -2
  373. package/dist/models/update-models/index.js +0 -125
  374. package/dist/models/update-models/naming.d.ts +0 -4
  375. package/dist/models/update-models/naming.js +0 -370
  376. package/dist/models/update-models/processing.d.ts +0 -8
  377. package/dist/models/update-models/processing.js +0 -67
  378. package/dist/models/update-models/registry.d.ts +0 -4
  379. package/dist/models/update-models/registry.js +0 -67
  380. package/dist/models/update-models/shards.d.ts +0 -4
  381. package/dist/models/update-models/shards.js +0 -57
  382. package/dist/models/update-models/types.d.ts +0 -60
  383. package/dist/models/update-models/types.js +0 -1
  384. package/dist/models/update-models/utils.d.ts +0 -3
  385. package/dist/models/update-models/utils.js +0 -21
  386. package/dist/pear/pre.d.ts +0 -18
  387. package/dist/pear/pre.js +0 -433
  388. package/dist/profiling/aggregator.d.ts +0 -15
  389. package/dist/profiling/aggregator.js +0 -100
  390. package/dist/profiling/clock.d.ts +0 -12
  391. package/dist/profiling/clock.js +0 -51
  392. package/dist/profiling/controller.d.ts +0 -33
  393. package/dist/profiling/controller.js +0 -123
  394. package/dist/profiling/envelope.d.ts +0 -10
  395. package/dist/profiling/envelope.js +0 -36
  396. package/dist/profiling/events.d.ts +0 -20
  397. package/dist/profiling/events.js +0 -37
  398. package/dist/profiling/exporters.d.ts +0 -10
  399. package/dist/profiling/exporters.js +0 -236
  400. package/dist/profiling/index.d.ts +0 -36
  401. package/dist/profiling/index.js +0 -31
  402. package/dist/profiling/ring-buffer.d.ts +0 -19
  403. package/dist/profiling/ring-buffer.js +0 -83
  404. package/dist/profiling/types.d.ts +0 -47
  405. package/dist/profiling/types.js +0 -1
  406. package/dist/schemas/archive.d.ts +0 -9
  407. package/dist/schemas/archive.js +0 -17
  408. package/dist/schemas/engine-addon-map.d.ts +0 -5
  409. package/dist/schemas/engine-addon-map.js +0 -52
  410. package/dist/schemas/get-model-info.d.ts +0 -120
  411. package/dist/schemas/get-model-info.js +0 -58
  412. package/dist/schemas/heartbeat.d.ts +0 -17
  413. package/dist/schemas/heartbeat.js +0 -10
  414. package/dist/schemas/json-schema.d.ts +0 -16
  415. package/dist/schemas/json-schema.js +0 -2
  416. package/dist/schemas/mcp-adapter.d.ts +0 -47
  417. package/dist/schemas/mcp-adapter.js +0 -1
  418. package/dist/schemas/model-src-utils.d.ts +0 -148
  419. package/dist/schemas/model-src-utils.js +0 -35
  420. package/dist/schemas/model-types.d.ts +0 -183
  421. package/dist/schemas/model-types.js +0 -168
  422. package/dist/schemas/ocr.d.ts +0 -125
  423. package/dist/schemas/ocr.js +0 -57
  424. package/dist/schemas/path-validation.d.ts +0 -10
  425. package/dist/schemas/path-validation.js +0 -22
  426. package/dist/schemas/plugin.d.ts +0 -226
  427. package/dist/schemas/plugin.js +0 -158
  428. package/dist/schemas/profiling.d.ts +0 -105
  429. package/dist/schemas/profiling.js +0 -66
  430. package/dist/schemas/registry.d.ts +0 -356
  431. package/dist/schemas/registry.js +0 -93
  432. package/dist/schemas/reload-config.d.ts +0 -476
  433. package/dist/schemas/reload-config.js +0 -44
  434. package/dist/schemas/runtime-context.d.ts +0 -19
  435. package/dist/schemas/runtime-context.js +0 -7
  436. package/dist/schemas/sdk-config.d.ts +0 -2973
  437. package/dist/schemas/sdk-config.js +0 -136
  438. package/dist/schemas/sdk-errors-client.d.ts +0 -31
  439. package/dist/schemas/sdk-errors-client.js +0 -143
  440. package/dist/schemas/sdk-errors-registry.d.ts +0 -6
  441. package/dist/schemas/sdk-errors-registry.js +0 -8
  442. package/dist/schemas/sdk-errors-server.d.ts +0 -89
  443. package/dist/schemas/sdk-errors-server.js +0 -451
  444. package/dist/schemas/shard.d.ts +0 -21
  445. package/dist/schemas/shard.js +0 -17
  446. package/dist/schemas/tools.d.ts +0 -65
  447. package/dist/schemas/tools.js +0 -43
  448. package/dist/schemas/transcription-config.d.ts +0 -383
  449. package/dist/schemas/transcription-config.js +0 -95
  450. package/dist/scripts/run-security-tests-bare.d.ts +0 -2
  451. package/dist/scripts/run-security-tests-bare.js +0 -78
  452. package/dist/scripts/run-security-tests.d.ts +0 -2
  453. package/dist/scripts/run-security-tests.js +0 -22
  454. package/dist/scripts/run-unit-tests.d.ts +0 -2
  455. package/dist/scripts/run-unit-tests.js +0 -17
  456. package/dist/server/bare/ops/embed.d.ts +0 -12
  457. package/dist/server/bare/ops/load-model.d.ts +0 -9
  458. package/dist/server/bare/ops/load-model.js +0 -85
  459. package/dist/server/bare/ops/transcribe.d.ts +0 -3
  460. package/dist/server/bare/ops/transcribe.js +0 -75
  461. package/dist/server/bare/ops/translate.d.ts +0 -5
  462. package/dist/server/bare/ops/unload-model.js +0 -41
  463. package/dist/server/bare/plugins/index.d.ts +0 -8
  464. package/dist/server/bare/plugins/index.js +0 -7
  465. package/dist/server/bare/plugins/llamacpp-completion/ops/cache-logger.d.ts +0 -6
  466. package/dist/server/bare/plugins/llamacpp-completion/ops/cache-logger.js +0 -34
  467. package/dist/server/bare/plugins/llamacpp-completion/plugin.d.ts +0 -220
  468. package/dist/server/bare/plugins/llamacpp-completion/plugin.js +0 -155
  469. package/dist/server/bare/plugins/llamacpp-embedding/plugin.d.ts +0 -54
  470. package/dist/server/bare/plugins/llamacpp-embedding/plugin.js +0 -87
  471. package/dist/server/bare/plugins/nmtcpp-translation/plugin.d.ts +0 -367
  472. package/dist/server/bare/plugins/nmtcpp-translation/plugin.js +0 -201
  473. package/dist/server/bare/plugins/onnx-ocr/ops/ocr-stream.d.ts +0 -10
  474. package/dist/server/bare/plugins/onnx-ocr/ops/ocr-stream.js +0 -110
  475. package/dist/server/bare/plugins/onnx-ocr/plugin.d.ts +0 -86
  476. package/dist/server/bare/plugins/onnx-ocr/plugin.js +0 -117
  477. package/dist/server/bare/plugins/onnx-tts/plugin.d.ts +0 -373
  478. package/dist/server/bare/plugins/onnx-tts/plugin.js +0 -182
  479. package/dist/server/bare/plugins/onnx-tts/wav-helper.d.ts +0 -14
  480. package/dist/server/bare/plugins/onnx-tts/wav-helper.js +0 -107
  481. package/dist/server/bare/plugins/parakeet-transcription/plugin.d.ts +0 -317
  482. package/dist/server/bare/plugins/parakeet-transcription/plugin.js +0 -154
  483. package/dist/server/bare/plugins/whispercpp-transcription/plugin.d.ts +0 -237
  484. package/dist/server/bare/plugins/whispercpp-transcription/plugin.js +0 -86
  485. package/dist/server/bare/rag-hyperdb/handlers/chunk.d.ts +0 -3
  486. package/dist/server/bare/rag-hyperdb/handlers/chunk.js +0 -7
  487. package/dist/server/bare/rag-hyperdb/handlers/close-workspace.d.ts +0 -3
  488. package/dist/server/bare/rag-hyperdb/handlers/close-workspace.js +0 -9
  489. package/dist/server/bare/rag-hyperdb/handlers/delete-workspace.d.ts +0 -3
  490. package/dist/server/bare/rag-hyperdb/handlers/delete-workspace.js +0 -14
  491. package/dist/server/bare/rag-hyperdb/handlers/ingest.d.ts +0 -9
  492. package/dist/server/bare/rag-hyperdb/handlers/ingest.js +0 -18
  493. package/dist/server/bare/rag-hyperdb/handlers/list-workspaces.d.ts +0 -3
  494. package/dist/server/bare/rag-hyperdb/handlers/list-workspaces.js +0 -4
  495. package/dist/server/bare/rag-hyperdb/handlers/reindex.d.ts +0 -9
  496. package/dist/server/bare/rag-hyperdb/handlers/reindex.js +0 -16
  497. package/dist/server/bare/rag-hyperdb/rag-operation-manager.d.ts +0 -7
  498. package/dist/server/bare/rag-hyperdb/rag-operation-manager.js +0 -39
  499. package/dist/server/bare/rag-hyperdb/rag-workspace-manager.d.ts +0 -15
  500. package/dist/server/bare/rag-hyperdb/rag-workspace-manager.js +0 -136
  501. package/dist/server/bare/registry/config-registry.d.ts +0 -14
  502. package/dist/server/bare/registry/config-registry.js +0 -82
  503. package/dist/server/bare/registry/model-config-registry.d.ts +0 -4
  504. package/dist/server/bare/registry/model-config-registry.js +0 -15
  505. package/dist/server/bare/registry/model-config-utils.d.ts +0 -15
  506. package/dist/server/bare/registry/model-config-utils.js +0 -112
  507. package/dist/server/bare/registry/registry-client.d.ts +0 -5
  508. package/dist/server/bare/registry/registry-client.js +0 -37
  509. package/dist/server/bare/registry/runtime-context-registry.d.ts +0 -7
  510. package/dist/server/bare/registry/runtime-context-registry.js +0 -26
  511. package/dist/server/bare/utils/audio-input.d.ts +0 -10
  512. package/dist/server/bare/utils/audio-input.js +0 -33
  513. package/dist/server/bare/utils/loader-adapter.d.ts +0 -7
  514. package/dist/server/bare/utils/loader-adapter.js +0 -9
  515. package/dist/server/env.d.ts +0 -22
  516. package/dist/server/env.js +0 -57
  517. package/dist/server/plugins/index.d.ts +0 -2
  518. package/dist/server/plugins/index.js +0 -1
  519. package/dist/server/plugins/registry.d.ts +0 -9
  520. package/dist/server/plugins/registry.js +0 -79
  521. package/dist/server/rpc/delegate-transport.d.ts +0 -19
  522. package/dist/server/rpc/delegate-transport.js +0 -236
  523. package/dist/server/rpc/delegate-utils.d.ts +0 -2
  524. package/dist/server/rpc/delegate-utils.js +0 -5
  525. package/dist/server/rpc/handler-registry.d.ts +0 -3
  526. package/dist/server/rpc/handler-registry.js +0 -113
  527. package/dist/server/rpc/handler-utils.d.ts +0 -23
  528. package/dist/server/rpc/handler-utils.js +0 -170
  529. package/dist/server/rpc/handlers/cancel-delegated.d.ts +0 -4
  530. package/dist/server/rpc/handlers/cancel-delegated.js +0 -71
  531. package/dist/server/rpc/handlers/get-model-info.d.ts +0 -3
  532. package/dist/server/rpc/handlers/get-model-info.js +0 -164
  533. package/dist/server/rpc/handlers/heartbeat-delegated.d.ts +0 -4
  534. package/dist/server/rpc/handlers/heartbeat-delegated.js +0 -32
  535. package/dist/server/rpc/handlers/heartbeat.d.ts +0 -3
  536. package/dist/server/rpc/handlers/heartbeat.js +0 -3
  537. package/dist/server/rpc/handlers/load-model/download-stats.d.ts +0 -6
  538. package/dist/server/rpc/handlers/load-model/download-stats.js +0 -87
  539. package/dist/server/rpc/handlers/load-model/handler.js +0 -187
  540. package/dist/server/rpc/handlers/load-model/registry.d.ts +0 -11
  541. package/dist/server/rpc/handlers/load-model/registry.js +0 -548
  542. package/dist/server/rpc/handlers/load-model/types.d.ts +0 -29
  543. package/dist/server/rpc/handlers/load-model/types.js +0 -1
  544. package/dist/server/rpc/handlers/ocr-stream.d.ts +0 -3
  545. package/dist/server/rpc/handlers/ocr-stream.js +0 -4
  546. package/dist/server/rpc/handlers/plugin-dispatch.d.ts +0 -15
  547. package/dist/server/rpc/handlers/plugin-dispatch.js +0 -59
  548. package/dist/server/rpc/handlers/plugin-invoke.d.ts +0 -4
  549. package/dist/server/rpc/handlers/plugin-invoke.js +0 -92
  550. package/dist/server/rpc/handlers/registry.d.ts +0 -5
  551. package/dist/server/rpc/handlers/registry.js +0 -157
  552. package/dist/server/rpc/handlers/unload-model-delegated.d.ts +0 -3
  553. package/dist/server/rpc/handlers/unload-model-delegated.js +0 -32
  554. package/dist/server/rpc/profiling/context.d.ts +0 -18
  555. package/dist/server/rpc/profiling/context.js +0 -38
  556. package/dist/server/rpc/profiling/delegation-profiler.d.ts +0 -32
  557. package/dist/server/rpc/profiling/delegation-profiler.js +0 -154
  558. package/dist/server/rpc/profiling/index.d.ts +0 -5
  559. package/dist/server/rpc/profiling/index.js +0 -4
  560. package/dist/server/rpc/profiling/operation-metrics.d.ts +0 -25
  561. package/dist/server/rpc/profiling/operation-metrics.js +0 -199
  562. package/dist/server/rpc/profiling/operation-wrappers.d.ts +0 -18
  563. package/dist/server/rpc/profiling/operation-wrappers.js +0 -124
  564. package/dist/server/rpc/profiling/profiler.d.ts +0 -13
  565. package/dist/server/rpc/profiling/profiler.js +0 -97
  566. package/dist/server/utils/archive.d.ts +0 -4
  567. package/dist/server/utils/archive.js +0 -179
  568. package/dist/server/utils/checksum.d.ts +0 -4
  569. package/dist/server/utils/checksum.js +0 -31
  570. package/dist/server/utils/config-transform.d.ts +0 -3
  571. package/dist/server/utils/config-transform.js +0 -23
  572. package/dist/server/utils/formatting.d.ts +0 -19
  573. package/dist/server/utils/formatting.js +0 -61
  574. package/dist/server/utils/gguf-tensor-extractor.d.ts +0 -15
  575. package/dist/server/utils/gguf-tensor-extractor.js +0 -314
  576. package/dist/server/utils/path-security.d.ts +0 -12
  577. package/dist/server/utils/path-security.js +0 -25
  578. package/dist/server/utils/shard-utils.d.ts +0 -48
  579. package/dist/server/utils/shard-utils.js +0 -125
  580. package/dist/server/utils/tool-integration.d.ts +0 -13
  581. package/dist/server/utils/tool-integration.js +0 -43
  582. package/dist/server/worker-core.d.ts +0 -6
  583. package/dist/server/worker-core.js +0 -88
  584. package/dist/utils/errors-base.d.ts +0 -3
  585. package/dist/utils/errors-base.js +0 -13
  586. package/dist/utils/errors-client.d.ts +0 -137
  587. package/dist/utils/errors-client.js +0 -240
  588. package/dist/utils/errors-server.d.ts +0 -236
  589. package/dist/utils/errors-server.js +0 -412
  590. package/dist/utils/global-singleton.d.ts +0 -2
  591. package/dist/utils/global-singleton.js +0 -10
  592. package/dist/utils/mcp-adapter.d.ts +0 -12
  593. package/dist/utils/mcp-adapter.js +0 -103
  594. package/dist/utils/object.d.ts +0 -2
  595. package/dist/utils/object.js +0 -3
  596. package/dist/utils/path-sanitize.d.ts +0 -17
  597. package/dist/utils/path-sanitize.js +0 -54
  598. package/dist/utils/tool-helpers.d.ts +0 -25
  599. package/dist/utils/tool-helpers.js +0 -112
  600. package/expo/plugins/patches/android-link.mjs +0 -63
  601. package/expo/plugins/patches/ios-link.mjs +0 -63
  602. /package/dist/examples/{seed-p2p.js → seed-hyperdrive.js} +0 -0
  603. /package/dist/examples/{transcription/whispercpp-filesystem.d.ts → whispercpp-filesystem.d.ts} +0 -0
  604. /package/dist/examples/{transcription/whispercpp-microphone-record.d.ts → whispercpp-microphone-record.d.ts} +0 -0
  605. /package/dist/models/{registry → hyperdrive}/index.d.ts +0 -0
  606. /package/dist/server/bare/{ops → addons}/cancel.d.ts +0 -0
  607. /package/dist/server/bare/{plugins/onnx-tts/ops → addons/tts/handlers}/text-to-speech.d.ts +0 -0
  608. /package/dist/server/bare/{ops → addons}/unload-model.d.ts +0 -0
@@ -1,199 +0,0 @@
1
- /**
2
- * Declarative extraction of operation-level metrics from request/response data.
3
- * Used by operation wrappers to capture handler-specific profiling events.
4
- */
5
- const metricsRegistry = new Map();
6
- function extractDownloadStatsGauges(stats, gauges) {
7
- if (stats?.downloadTimeMs !== undefined) {
8
- gauges["downloadTime"] = stats.downloadTimeMs;
9
- }
10
- if (stats?.totalBytesDownloaded !== undefined) {
11
- gauges["totalBytesDownloaded"] = stats.totalBytesDownloaded;
12
- }
13
- if (stats?.downloadSpeedBps !== undefined) {
14
- gauges["downloadSpeedBps"] = stats.downloadSpeedBps;
15
- }
16
- }
17
- export function registerOperationMetrics(config) {
18
- metricsRegistry.set(config.op, config);
19
- }
20
- export function buildOperationEvent(op, profileId, ts, executionMs, request, finalResponse, ttfb) {
21
- const config = metricsRegistry.get(op);
22
- if (!config) {
23
- return {
24
- ts,
25
- op,
26
- kind: "handler",
27
- profileId,
28
- ms: executionMs,
29
- };
30
- }
31
- const gauges = {};
32
- if (ttfb !== undefined) {
33
- gauges["ttfb"] = ttfb;
34
- }
35
- if (config.fromRequest && request) {
36
- const extracted = config.fromRequest(request);
37
- if (extracted)
38
- Object.assign(gauges, extracted);
39
- }
40
- if (config.fromFinalChunk && finalResponse) {
41
- const extracted = config.fromFinalChunk(finalResponse);
42
- if (extracted)
43
- Object.assign(gauges, extracted);
44
- }
45
- if (config.fromResult && finalResponse) {
46
- const extracted = config.fromResult(finalResponse);
47
- if (extracted)
48
- Object.assign(gauges, extracted);
49
- }
50
- const requestTags = config.getTags?.(request);
51
- const resultTags = config.getTagsFromResult?.(finalResponse);
52
- const tags = { ...requestTags, ...resultTags };
53
- const hasGauges = Object.keys(gauges).length > 0;
54
- const hasTags = Object.keys(tags).length > 0;
55
- const event = {
56
- ts,
57
- op: config.op,
58
- kind: config.kind,
59
- profileId,
60
- ms: executionMs,
61
- };
62
- if (hasGauges) {
63
- event.gauges = gauges;
64
- }
65
- if (hasTags) {
66
- event.tags = tags;
67
- }
68
- return event;
69
- }
70
- registerOperationMetrics({
71
- op: "completionStream",
72
- kind: "handler",
73
- getTags: (req) => (req.modelId ? { modelId: req.modelId } : {}),
74
- fromFinalChunk: (res) => {
75
- if (!res.stats)
76
- return undefined;
77
- const gauges = {};
78
- if (res.stats.timeToFirstToken !== undefined)
79
- gauges["timeToFirstToken"] = res.stats.timeToFirstToken;
80
- if (res.stats.tokensPerSecond !== undefined)
81
- gauges["tokensPerSecond"] = res.stats.tokensPerSecond;
82
- if (res.stats.cacheTokens !== undefined)
83
- gauges["cacheTokens"] = res.stats.cacheTokens;
84
- return Object.keys(gauges).length > 0 ? gauges : undefined;
85
- },
86
- });
87
- registerOperationMetrics({
88
- op: "translate",
89
- kind: "handler",
90
- getTags: (req) => (req.modelId ? { modelId: req.modelId } : {}),
91
- fromFinalChunk: (res) => {
92
- if (!res.stats)
93
- return undefined;
94
- const gauges = {};
95
- if (res.stats.processedTokens !== undefined)
96
- gauges["processedTokens"] = res.stats.processedTokens;
97
- if (res.stats.processingTime !== undefined)
98
- gauges["processingTime"] = res.stats.processingTime;
99
- return Object.keys(gauges).length > 0 ? gauges : undefined;
100
- },
101
- });
102
- registerOperationMetrics({
103
- op: "transcribeStream",
104
- kind: "handler",
105
- getTags: (req) => (req.modelId ? { modelId: req.modelId } : {}),
106
- });
107
- registerOperationMetrics({
108
- op: "textToSpeech",
109
- kind: "handler",
110
- getTags: (req) => (req.modelId ? { modelId: req.modelId } : {}),
111
- });
112
- registerOperationMetrics({
113
- op: "embed",
114
- kind: "handler",
115
- getTags: (req) => (req.modelId ? { modelId: req.modelId } : {}),
116
- });
117
- registerOperationMetrics({
118
- op: "ocrStream",
119
- kind: "handler",
120
- getTags: (req) => (req.modelId ? { modelId: req.modelId } : {}),
121
- fromFinalChunk: (res) => {
122
- if (!res.stats)
123
- return undefined;
124
- const gauges = {};
125
- if (res.stats.detectionTime !== undefined)
126
- gauges["detectionTime"] = res.stats.detectionTime;
127
- if (res.stats.recognitionTime !== undefined)
128
- gauges["recognitionTime"] = res.stats.recognitionTime;
129
- if (res.stats.totalTime !== undefined)
130
- gauges["totalTime"] = res.stats.totalTime;
131
- return Object.keys(gauges).length > 0 ? gauges : undefined;
132
- },
133
- });
134
- registerOperationMetrics({
135
- op: "pluginInvoke",
136
- kind: "handler",
137
- getTags: (req) => {
138
- const tags = {};
139
- if (req.modelId)
140
- tags["modelId"] = req.modelId;
141
- if (req.handler)
142
- tags["handler"] = req.handler;
143
- return tags;
144
- },
145
- });
146
- registerOperationMetrics({
147
- op: "pluginInvokeStream",
148
- kind: "handler",
149
- getTags: (req) => {
150
- const tags = {};
151
- if (req.modelId)
152
- tags["modelId"] = req.modelId;
153
- if (req.handler)
154
- tags["handler"] = req.handler;
155
- return tags;
156
- },
157
- });
158
- registerOperationMetrics({
159
- op: "loadModel",
160
- kind: "handler",
161
- getTags: (req) => (req.modelType ? { modelType: req.modelType } : {}),
162
- getTagsFromResult: (res) => {
163
- const sourceType = res.__profilingMeta?.sourceType;
164
- return sourceType ? { sourceType } : undefined;
165
- },
166
- fromResult: (res) => {
167
- const meta = res.__profilingMeta;
168
- if (!meta)
169
- return undefined;
170
- const gauges = {};
171
- extractDownloadStatsGauges(meta.downloadStats, gauges);
172
- if (meta.modelInitializationTimeMs !== undefined) {
173
- gauges["modelInitializationTime"] = meta.modelInitializationTimeMs;
174
- }
175
- if (meta.totalLoadTimeMs !== undefined) {
176
- gauges["totalLoadTime"] = meta.totalLoadTimeMs;
177
- }
178
- return Object.keys(gauges).length > 0 ? gauges : undefined;
179
- },
180
- });
181
- registerOperationMetrics({
182
- op: "downloadAsset",
183
- kind: "handler",
184
- getTagsFromResult: (res) => {
185
- const sourceType = res.__profilingMeta?.sourceType;
186
- return sourceType ? { sourceType } : undefined;
187
- },
188
- fromResult: (res) => {
189
- const meta = res.__profilingMeta;
190
- if (!meta)
191
- return undefined;
192
- const gauges = {};
193
- extractDownloadStatsGauges(meta.downloadStats, gauges);
194
- if (meta.totalDownloadTimeMs !== undefined) {
195
- gauges["totalDownloadTime"] = meta.totalDownloadTimeMs;
196
- }
197
- return Object.keys(gauges).length > 0 ? gauges : undefined;
198
- },
199
- });
@@ -1,18 +0,0 @@
1
- /**
2
- * Generic wrappers for profiling handler execution.
3
- * Used to wrap dispatch/invoke functions with timing capture.
4
- */
5
- import { type PerCallProfiling } from "../../../schemas/index";
6
- export interface ProfiledReplyOptions<TRequest> {
7
- op: string;
8
- request: TRequest;
9
- perCall?: PerCallProfiling;
10
- }
11
- export interface ProfiledStreamOptions<TRequest> {
12
- op: string;
13
- request: TRequest;
14
- perCall?: PerCallProfiling;
15
- }
16
- export declare function profileReplyHandler<TRequest, TResponse>(options: ProfiledReplyOptions<TRequest>, handler: () => Promise<TResponse>): Promise<TResponse>;
17
- export declare function profileStreamHandler<TRequest, TResponse>(options: ProfiledStreamOptions<TRequest>, handler: () => AsyncGenerator<TResponse>): AsyncGenerator<TResponse>;
18
- //# sourceMappingURL=operation-wrappers.d.ts.map
@@ -1,124 +0,0 @@
1
- /**
2
- * Generic wrappers for profiling handler execution.
3
- * Used to wrap dispatch/invoke functions with timing capture.
4
- */
5
- import { PROFILING_KEY, } from "../../../schemas/index.js";
6
- import { nowMs, generateProfileId } from "../../../profiling/clock.js";
7
- import { record, shouldProfile } from "../../../profiling/controller.js";
8
- import { buildOperationEvent } from "./operation-metrics.js";
9
- function getRequestProfilingMeta(request) {
10
- if (!request || typeof request !== "object") {
11
- return undefined;
12
- }
13
- const meta = request[PROFILING_KEY];
14
- if (!meta || typeof meta !== "object") {
15
- return undefined;
16
- }
17
- return meta;
18
- }
19
- function resolvePerCallProfiling(options) {
20
- if (options.perCall) {
21
- return options.perCall;
22
- }
23
- const meta = getRequestProfilingMeta(options.request);
24
- if (!meta) {
25
- return undefined;
26
- }
27
- if (meta.enabled === false) {
28
- return { enabled: false };
29
- }
30
- return {
31
- enabled: true,
32
- includeServerBreakdown: meta.includeServer,
33
- mode: meta.mode,
34
- };
35
- }
36
- function recordOperationEvent(params) {
37
- const event = buildOperationEvent(params.options.op, params.profileId, params.startTs, params.executionMs, params.options.request, params.finalResponse, params.ttfb);
38
- if (!event)
39
- return;
40
- if (params.errored) {
41
- event.tags = { ...event.tags, error: "true" };
42
- }
43
- if (params.count !== undefined && params.count > 0) {
44
- event.count = params.count;
45
- }
46
- record(event);
47
- }
48
- export async function profileReplyHandler(options, handler) {
49
- const perCall = resolvePerCallProfiling(options);
50
- if (!shouldProfile(options.op, perCall)) {
51
- return handler();
52
- }
53
- const profileId = generateProfileId();
54
- const startTs = nowMs();
55
- try {
56
- const result = await handler();
57
- const executionMs = nowMs() - startTs;
58
- recordOperationEvent({
59
- options,
60
- profileId,
61
- startTs,
62
- executionMs,
63
- finalResponse: result,
64
- });
65
- return result;
66
- }
67
- catch (error) {
68
- const executionMs = nowMs() - startTs;
69
- recordOperationEvent({
70
- options,
71
- profileId,
72
- startTs,
73
- executionMs,
74
- errored: true,
75
- });
76
- throw error;
77
- }
78
- }
79
- export async function* profileStreamHandler(options, handler) {
80
- const perCall = resolvePerCallProfiling(options);
81
- if (!shouldProfile(options.op, perCall)) {
82
- yield* handler();
83
- return;
84
- }
85
- const profileId = generateProfileId();
86
- const startTs = nowMs();
87
- let ttfb;
88
- let lastChunk;
89
- let chunkCount = 0;
90
- try {
91
- for await (const chunk of handler()) {
92
- if (ttfb === undefined) {
93
- ttfb = nowMs() - startTs;
94
- }
95
- chunkCount++;
96
- lastChunk = chunk;
97
- yield chunk;
98
- }
99
- const executionMs = nowMs() - startTs;
100
- recordOperationEvent({
101
- options,
102
- profileId,
103
- startTs,
104
- executionMs,
105
- finalResponse: lastChunk,
106
- ttfb,
107
- count: chunkCount,
108
- });
109
- }
110
- catch (error) {
111
- const executionMs = nowMs() - startTs;
112
- recordOperationEvent({
113
- options,
114
- profileId,
115
- startTs,
116
- executionMs,
117
- finalResponse: lastChunk,
118
- ttfb,
119
- count: chunkCount,
120
- errored: true,
121
- });
122
- throw error;
123
- }
124
- }
@@ -1,13 +0,0 @@
1
- import { type Response, type ProfilingRequestMeta } from "../../../schemas/index";
2
- import { type ServerProfilingContext } from "./context";
3
- export type ServerProfiler = {
4
- markRequestParsed: (ms: number) => void;
5
- markRequestValidated: (ms: number) => void;
6
- startHandler: () => void;
7
- endHandler: () => void;
8
- serialize: (response?: Response, final?: boolean) => string;
9
- serializeError: (json: string) => string;
10
- getContext: () => ServerProfilingContext | undefined;
11
- };
12
- export declare function createServerProfiler(meta?: ProfilingRequestMeta): ServerProfiler;
13
- //# sourceMappingURL=profiler.d.ts.map
@@ -1,97 +0,0 @@
1
- import { nowMs } from "../../../profiling/index.js";
2
- import { responseSchema, DELEGATION_BREAKDOWN_KEY, OPERATION_EVENT_KEY, PROFILING_TRAILER_KEY, } from "../../../schemas/index.js";
3
- import { createProfilingContext, injectProfilingIntoString, } from "./context.js";
4
- const noopProfiler = {
5
- markRequestParsed: () => { },
6
- markRequestValidated: () => { },
7
- startHandler: () => { },
8
- endHandler: () => { },
9
- serialize: (response) => {
10
- if (!response)
11
- return "";
12
- const extended = response;
13
- const delegation = extended[DELEGATION_BREAKDOWN_KEY];
14
- const operation = extended[OPERATION_EVENT_KEY];
15
- const json = JSON.stringify(responseSchema.parse(response));
16
- if (delegation || operation) {
17
- const opts = {};
18
- if (delegation)
19
- opts.delegation = delegation;
20
- if (operation)
21
- opts.operation = operation;
22
- return injectProfilingIntoString(json, opts);
23
- }
24
- return json;
25
- },
26
- serializeError: (json) => json,
27
- getContext: () => undefined,
28
- };
29
- function createActiveProfiler(meta) {
30
- const ctx = createProfilingContext(meta);
31
- let handlerStart = 0;
32
- let handlerEnded = false;
33
- let cachedDelegation;
34
- let cachedOperation;
35
- return {
36
- markRequestParsed: (ms) => {
37
- ctx.jsonParseMs = ms;
38
- },
39
- markRequestValidated: (ms) => {
40
- ctx.zodValidationMs = ms;
41
- },
42
- startHandler: () => {
43
- handlerStart = nowMs();
44
- handlerEnded = false;
45
- },
46
- endHandler: () => {
47
- if (handlerEnded)
48
- return;
49
- handlerEnded = true;
50
- ctx.handlerExecutionMs = nowMs() - handlerStart;
51
- },
52
- serialize: (response, final = true) => {
53
- if (!response) {
54
- const opts = { ctx };
55
- if (cachedDelegation)
56
- opts.delegation = cachedDelegation;
57
- if (cachedOperation)
58
- opts.operation = cachedOperation;
59
- return injectProfilingIntoString(`{"${PROFILING_TRAILER_KEY}":true}`, opts);
60
- }
61
- const extended = response;
62
- const delegation = extended[DELEGATION_BREAKDOWN_KEY];
63
- const operation = extended[OPERATION_EVENT_KEY];
64
- if (delegation)
65
- cachedDelegation = delegation;
66
- if (operation)
67
- cachedOperation = operation;
68
- const zodStart = nowMs();
69
- const validated = responseSchema.parse(response);
70
- ctx.responseZodValidationMs =
71
- (ctx.responseZodValidationMs ?? 0) + (nowMs() - zodStart);
72
- const stringifyStart = nowMs();
73
- const json = JSON.stringify(validated);
74
- ctx.responseStringifyMs =
75
- (ctx.responseStringifyMs ?? 0) + (nowMs() - stringifyStart);
76
- if (final) {
77
- const opts = { ctx };
78
- if (delegation)
79
- opts.delegation = delegation;
80
- if (operation)
81
- opts.operation = operation;
82
- return injectProfilingIntoString(json, opts);
83
- }
84
- return json;
85
- },
86
- serializeError: (json) => injectProfilingIntoString(json, { ctx }),
87
- getContext: () => ctx,
88
- };
89
- }
90
- export function createServerProfiler(meta) {
91
- if (meta?.includeServer &&
92
- typeof meta.id === "string" &&
93
- meta.id.length > 0) {
94
- return createActiveProfiler(meta);
95
- }
96
- return noopProfiler;
97
- }
@@ -1,4 +0,0 @@
1
- export declare function isArchiveUrl(url: string): boolean;
2
- export declare function extractTarStream(archivePath: string, extractDir: string, useGunzip: boolean, signal?: AbortSignal): Promise<void>;
3
- export declare function extractAndValidateShardedArchive(archivePath: string, extractDir: string, signal?: AbortSignal): Promise<string>;
4
- //# sourceMappingURL=archive.d.ts.map
@@ -1,179 +0,0 @@
1
- import { promises as fsPromises } from "bare-fs";
2
- import path from "bare-path";
3
- import fs from "bare-fs";
4
- import { createGunzip } from "bare-zlib";
5
- import tarStream from "tar-stream";
6
- import { detectShardedModel, generateShardFilenames, extractTensorsFromShards, validateShardedModelCache, } from "./shard-utils.js";
7
- import { ModelLoadFailedError, ArchiveExtractionFailedError, ArchiveUnsupportedTypeError, ArchiveMissingShardsError, DownloadCancelledError, } from "../../utils/errors-server.js";
8
- import { isPathWithinBase } from "./path-security.js";
9
- import { getServerLogger } from "../../logging/index.js";
10
- import { SUPPORTED_ARCHIVE_EXTENSIONS, filenameToArchiveTypeSchema, } from "../../schemas/archive.js";
11
- const logger = getServerLogger();
12
- // Gzip magic bytes: 1f 8b 08
13
- const GZIP_MAGIC_0 = 0x1f;
14
- const GZIP_MAGIC_1 = 0x8b;
15
- const GZIP_MAGIC_2 = 0x08;
16
- export function isArchiveUrl(url) {
17
- const filename = url.split("/").pop()?.split("?")[0]?.toLowerCase() || "";
18
- return SUPPORTED_ARCHIVE_EXTENSIONS.some((ext) => filename.endsWith(ext));
19
- }
20
- // Whitelist of model file extensions to extract from archives
21
- const ALLOWED_MODEL_EXTENSIONS = [".gguf", ".tensors.txt"];
22
- function isModelFile(entryName) {
23
- const basename = path.basename(entryName);
24
- // Skip resource forks (._filename)
25
- if (basename.startsWith("._")) {
26
- return false;
27
- }
28
- return ALLOWED_MODEL_EXTENSIONS.some((ext) => basename.toLowerCase().endsWith(ext));
29
- }
30
- async function isGzip(archivePath) {
31
- return new Promise((resolve, reject) => {
32
- const stream = fs.createReadStream(archivePath, { start: 0, end: 2 });
33
- const chunks = [];
34
- stream.on("data", (chunk) => {
35
- chunks.push(chunk);
36
- });
37
- stream.on("end", () => {
38
- stream.destroy();
39
- const buffer = Buffer.concat(chunks);
40
- // Check for gzip magic bytes
41
- const isGzipped = buffer[0] === GZIP_MAGIC_0 &&
42
- buffer[1] === GZIP_MAGIC_1 &&
43
- buffer[2] === GZIP_MAGIC_2;
44
- resolve(isGzipped);
45
- });
46
- stream.on("error", reject);
47
- });
48
- }
49
- async function extractArchive(archivePath, extractDir, signal) {
50
- const parseResult = filenameToArchiveTypeSchema.safeParse(archivePath);
51
- const extensionType = parseResult.success ? parseResult.data : null;
52
- if (!extensionType) {
53
- throw new ArchiveUnsupportedTypeError(archivePath);
54
- }
55
- if (signal?.aborted) {
56
- throw new DownloadCancelledError();
57
- }
58
- // Detect actual format from magic bytes (extension might be wrong)
59
- const isGzipped = await isGzip(archivePath);
60
- const actualType = isGzipped ? "tar.gz" : "tar";
61
- if (actualType !== extensionType) {
62
- logger.warn(`⚠️ Archive extension suggests ${extensionType} but content is ${actualType}`);
63
- }
64
- await fsPromises.mkdir(extractDir, { recursive: true });
65
- await extractTarStream(archivePath, extractDir, isGzipped, signal);
66
- }
67
- export async function extractTarStream(archivePath, extractDir, useGunzip, signal) {
68
- const extract = tarStream.extract();
69
- const gunzip = useGunzip ? createGunzip() : null;
70
- return new Promise((resolve, reject) => {
71
- let aborted = false;
72
- let readStream = null;
73
- const cleanup = () => {
74
- aborted = true;
75
- readStream?.destroy();
76
- gunzip?.destroy();
77
- extract.destroy();
78
- };
79
- if (signal) {
80
- signal.addEventListener("abort", () => {
81
- cleanup();
82
- reject(new DownloadCancelledError());
83
- });
84
- }
85
- extract.on("entry", (header, stream, next) => {
86
- if (aborted) {
87
- stream.resume();
88
- return;
89
- }
90
- if (!isModelFile(header.name)) {
91
- stream.resume();
92
- next();
93
- return;
94
- }
95
- // Prevent zip-slip: reject entries that escape extractDir (CWE-22)
96
- const filePath = path.resolve(path.join(extractDir, header.name));
97
- if (!isPathWithinBase(extractDir, filePath)) {
98
- logger.warn(`⚠️ Skipping archive entry with path traversal: ${header.name}`);
99
- stream.resume();
100
- next();
101
- return;
102
- }
103
- if (header.type === "file") {
104
- const dir = path.dirname(filePath);
105
- fs.mkdirSync(dir, { recursive: true });
106
- const writeStream = fs.createWriteStream(filePath);
107
- stream.pipe(writeStream);
108
- writeStream.on("finish", next);
109
- writeStream.on("error", reject);
110
- }
111
- else {
112
- stream.on("end", next);
113
- stream.resume();
114
- }
115
- });
116
- extract.on("finish", resolve);
117
- extract.on("error", reject);
118
- if (gunzip) {
119
- gunzip.on("error", reject);
120
- }
121
- readStream = fs.createReadStream(archivePath);
122
- if (gunzip) {
123
- readStream.pipe(gunzip).pipe(extract);
124
- }
125
- else {
126
- readStream.pipe(extract);
127
- }
128
- });
129
- }
130
- export async function extractAndValidateShardedArchive(archivePath, extractDir, signal) {
131
- // Check if shards already extracted
132
- try {
133
- const existingFiles = await fsPromises.readdir(extractDir);
134
- const existingShard = existingFiles.find((f) => detectShardedModel(String(f)).isSharded);
135
- if (existingShard) {
136
- const isComplete = await validateShardedModelCache(extractDir, String(existingShard));
137
- if (isComplete) {
138
- logger.info(`✅ Archive already extracted: ${extractDir}`);
139
- const shardFilenames = generateShardFilenames(String(existingShard));
140
- return path.join(extractDir, shardFilenames[0]);
141
- }
142
- logger.warn(`⚠️ Incomplete extraction found, re-extracting archive`);
143
- }
144
- }
145
- catch {
146
- // Directory doesn't exist, proceed with extraction
147
- }
148
- logger.info(`Extracting archive: ${path.basename(archivePath)}`);
149
- try {
150
- await extractArchive(archivePath, extractDir, signal);
151
- }
152
- catch (error) {
153
- throw new ArchiveExtractionFailedError(archivePath, error);
154
- }
155
- const files = await fsPromises.readdir(extractDir);
156
- const shardedFile = files.find((f) => detectShardedModel(String(f)).isSharded);
157
- if (!shardedFile) {
158
- throw new ModelLoadFailedError(`No sharded model files found in archive. Expected pattern: *-00001-of-0000X.*`);
159
- }
160
- const shardedFileName = String(shardedFile);
161
- const shardInfo = detectShardedModel(shardedFileName);
162
- if (!shardInfo.baseFilename) {
163
- throw new ModelLoadFailedError(`Could not extract base filename from sharded model: ${shardedFileName}`);
164
- }
165
- const shardFilenames = generateShardFilenames(shardedFileName);
166
- for (const shardFilename of shardFilenames) {
167
- const filePath = path.join(extractDir, shardFilename);
168
- try {
169
- await fsPromises.access(filePath);
170
- }
171
- catch {
172
- throw new ArchiveMissingShardsError(shardFilename);
173
- }
174
- }
175
- // Generate tensors.txt if it doesn't exist
176
- await extractTensorsFromShards(extractDir, shardedFileName);
177
- logger.info(`Archive extracted to ${extractDir} successfully: ${files.length} files`);
178
- return path.join(extractDir, shardFilenames[0]);
179
- }
@@ -1,4 +0,0 @@
1
- import type { DownloadMetricsHooks } from "../rpc/handlers/load-model/types";
2
- export declare function calculateFileChecksum(filePath: string): Promise<string>;
3
- export declare function measureChecksum(filePath: string, hooks?: DownloadMetricsHooks): Promise<string>;
4
- //# sourceMappingURL=checksum.d.ts.map
@@ -1,31 +0,0 @@
1
- import fs from "bare-fs";
2
- import crypto from "bare-crypto";
3
- import { nowMs } from "../../profiling/index.js";
4
- export async function calculateFileChecksum(filePath) {
5
- return new Promise((resolve, reject) => {
6
- try {
7
- const hash = crypto.createHash("sha256");
8
- const stream = fs.createReadStream(filePath);
9
- stream.on("data", (chunk) => {
10
- hash.update(chunk);
11
- });
12
- stream.on("end", () => {
13
- resolve(hash.digest("hex"));
14
- });
15
- stream.on("error", (error) => {
16
- reject(new Error(`Checksum calculation error: ${error.message}`));
17
- });
18
- }
19
- catch (error) {
20
- reject(error instanceof Error
21
- ? error
22
- : new Error(`Checksum calculation error: ${String(error)}`));
23
- }
24
- });
25
- }
26
- export async function measureChecksum(filePath, hooks) {
27
- const start = nowMs();
28
- const checksum = await calculateFileChecksum(filePath);
29
- hooks?.addChecksumValidationTimeMs(nowMs() - start);
30
- return checksum;
31
- }
@@ -1,3 +0,0 @@
1
- import { type ModelTypeInput } from "../../schemas/index";
2
- export declare function transformConfigForReload(modelType: ModelTypeInput, config: unknown): unknown;
3
- //# sourceMappingURL=config-transform.d.ts.map