@qvac/sdk 0.8.0 → 1.0.0

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