@qvac/sdk 0.16.0 → 0.17.1

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 (581) hide show
  1. package/NOTICE +118 -96
  2. package/README.md +65 -0
  3. package/dist/client/api/audio-gen-result.d.ts +4 -0
  4. package/dist/client/api/audio-gen-result.js +132 -0
  5. package/dist/client/api/audio-gen.d.ts +29 -0
  6. package/dist/client/api/audio-gen.js +31 -0
  7. package/dist/client/api/batch-completion.d.ts +2 -2
  8. package/dist/client/api/batch-completion.js +2 -2
  9. package/dist/client/api/bci-transcribe.d.ts +1 -1
  10. package/dist/client/api/bci-transcribe.js +3 -3
  11. package/dist/client/api/cancel.d.ts +1 -1
  12. package/dist/client/api/cancel.js +1 -1
  13. package/dist/client/api/classify.d.ts +1 -1
  14. package/dist/client/api/classify.js +1 -1
  15. package/dist/client/api/completion-stream.d.ts +3 -3
  16. package/dist/client/api/completion-stream.js +3 -3
  17. package/dist/client/api/delete-cache.js +1 -1
  18. package/dist/client/api/diffusion.d.ts +1 -1
  19. package/dist/client/api/diffusion.js +1 -1
  20. package/dist/client/api/download-asset.d.ts +1 -1
  21. package/dist/client/api/download-asset.js +3 -3
  22. package/dist/client/api/embed.d.ts +1 -1
  23. package/dist/client/api/embed.js +2 -2
  24. package/dist/client/api/finetune.d.ts +1 -1
  25. package/dist/client/api/finetune.js +2 -2
  26. package/dist/client/api/get-loaded-model-info.d.ts +2 -2
  27. package/dist/client/api/get-loaded-model-info.js +1 -1
  28. package/dist/client/api/get-model-info.d.ts +2 -2
  29. package/dist/client/api/get-model-info.js +1 -1
  30. package/dist/client/api/get-system-resources.d.ts +3 -0
  31. package/dist/client/api/get-system-resources.js +16 -0
  32. package/dist/client/api/heartbeat.d.ts +2 -2
  33. package/dist/client/api/heartbeat.js +1 -1
  34. package/dist/client/api/index.d.ts +35 -33
  35. package/dist/client/api/index.js +2 -0
  36. package/dist/client/api/invoke-plugin.d.ts +1 -1
  37. package/dist/client/api/invoke-plugin.js +1 -1
  38. package/dist/client/api/load-model.d.ts +2 -2
  39. package/dist/client/api/load-model.js +4 -4
  40. package/dist/client/api/logging-stream.d.ts +1 -1
  41. package/dist/client/api/logging-stream.js +1 -1
  42. package/dist/client/api/ocr.d.ts +1 -1
  43. package/dist/client/api/ocr.js +1 -1
  44. package/dist/client/api/provide.d.ts +1 -1
  45. package/dist/client/api/provide.js +1 -1
  46. package/dist/client/api/rag.d.ts +1 -1
  47. package/dist/client/api/rag.js +2 -2
  48. package/dist/client/api/registry.d.ts +1 -1
  49. package/dist/client/api/registry.js +1 -1
  50. package/dist/client/api/resume.js +1 -1
  51. package/dist/client/api/state.d.ts +1 -1
  52. package/dist/client/api/state.js +1 -1
  53. package/dist/client/api/stop-provider.js +1 -1
  54. package/dist/client/api/subscribe-logs.d.ts +1 -1
  55. package/dist/client/api/suspend.js +1 -1
  56. package/dist/client/api/text-to-speech.d.ts +3 -2
  57. package/dist/client/api/text-to-speech.js +31 -9
  58. package/dist/client/api/transcribe.d.ts +1 -1
  59. package/dist/client/api/transcribe.js +2 -2
  60. package/dist/client/api/translate.d.ts +3 -3
  61. package/dist/client/api/translate.js +3 -3
  62. package/dist/client/api/unload-model.d.ts +1 -1
  63. package/dist/client/api/unload-model.js +2 -2
  64. package/dist/client/api/upscale.d.ts +1 -1
  65. package/dist/client/api/upscale.js +1 -1
  66. package/dist/client/api/video.d.ts +1 -1
  67. package/dist/client/api/video.js +2 -2
  68. package/dist/client/api/vla.d.ts +1 -1
  69. package/dist/client/config-loader/config-utils.d.ts +1 -1
  70. package/dist/client/config-loader/resolve-config.bare.d.ts +1 -1
  71. package/dist/client/config-loader/resolve-config.expo.d.ts +1 -1
  72. package/dist/client/config-loader/resolve-config.node.d.ts +1 -1
  73. package/dist/client/index.d.ts +1 -1
  74. package/dist/client/init-hooks.d.ts +1 -1
  75. package/dist/client/logging-stream-registry.d.ts +1 -1
  76. package/dist/client/plugins-factory.d.ts +2 -2
  77. package/dist/client/plugins-factory.js +1 -1
  78. package/dist/client/rpc/bare-client.d.ts +1 -1
  79. package/dist/client/rpc/bare-client.js +3 -3
  80. package/dist/client/rpc/expo-rpc-client.js +3 -3
  81. package/dist/client/rpc/node-rpc-client.js +2 -2
  82. package/dist/client/rpc/profiling/index.d.ts +1 -1
  83. package/dist/client/rpc/profiling/profiler.d.ts +2 -2
  84. package/dist/client/rpc/profiling/profiler.js +4 -0
  85. package/dist/client/rpc/rpc-client.d.ts +1 -1
  86. package/dist/client/rpc/rpc-client.js +7 -4
  87. package/dist/client/rpc/rpc-error.d.ts +1 -1
  88. package/dist/commands/bundle/bare-pack.d.ts +1 -1
  89. package/dist/commands/bundle/constants.js +1 -0
  90. package/dist/commands/bundle/entry-gen.js +1 -1
  91. package/dist/commands/bundle/index.js +6 -6
  92. package/dist/commands/bundle/manifest.d.ts +1 -1
  93. package/dist/commands/bundle/plugins.d.ts +2 -2
  94. package/dist/commands/bundle/plugins.js +1 -1
  95. package/dist/commands/index.d.ts +4 -4
  96. package/dist/commands/index.js +2 -2
  97. package/dist/commands/verify/abi.d.ts +1 -1
  98. package/dist/commands/verify/abi.js +1 -1
  99. package/dist/commands/verify/bundle-source.d.ts +1 -1
  100. package/dist/commands/verify/bundle-source.js +2 -2
  101. package/dist/commands/verify/index.d.ts +3 -3
  102. package/dist/commands/verify/index.js +5 -5
  103. package/dist/commands/verify/node-modules-source.d.ts +1 -1
  104. package/dist/commands/verify/node-modules-source.js +1 -1
  105. package/dist/commands/verify/prebuilds.d.ts +2 -1
  106. package/dist/commands/verify/prebuilds.js +8 -11
  107. package/dist/commands/verify/resource-collectors.d.ts +88 -0
  108. package/dist/commands/verify/resource-collectors.js +261 -0
  109. package/dist/constants/audio.js +1 -1
  110. package/dist/constants/index.d.ts +2 -2
  111. package/dist/examples/{transcription → asr}/parakeet-ctc-filesystem.js +2 -3
  112. package/dist/examples/{transcription → asr}/parakeet-microphone-record.js +2 -2
  113. package/dist/examples/{transcription → asr}/parakeet-microphone-stream.js +2 -2
  114. package/dist/examples/{transcription → asr}/parakeet-sortformer-streaming.js +2 -2
  115. package/dist/examples/{transcription → asr}/parakeet-sortformer.js +1 -1
  116. package/dist/examples/{transcription → asr}/parakeet-tdt-filesystem-chunked.js +2 -2
  117. package/dist/examples/{transcription → asr}/parakeet-tdt-filesystem.js +2 -2
  118. package/dist/examples/{transcription → asr}/whispercpp-filesystem-streaming.js +1 -1
  119. package/dist/examples/{transcription → asr}/whispercpp-filesystem.js +1 -1
  120. package/dist/examples/{transcription → asr}/whispercpp-microphone-conversation.js +1 -1
  121. package/dist/examples/{transcription → asr}/whispercpp-microphone-record.js +2 -2
  122. package/dist/examples/{transcription → asr}/whispercpp-prompt.js +1 -1
  123. package/dist/examples/audiogen/generate-music.d.ts +2 -0
  124. package/dist/examples/audiogen/generate-music.js +112 -0
  125. package/dist/examples/cache-management.js +1 -1
  126. package/dist/examples/config-reload.js +1 -1
  127. package/dist/examples/diffusion-txt2vid-wan22.d.ts +2 -0
  128. package/dist/examples/diffusion-txt2vid-wan22.js +96 -0
  129. package/dist/examples/quickstart.bare.js +1 -1
  130. package/dist/examples/rag/rag-mongodb.d.ts +2 -0
  131. package/dist/examples/rag/rag-mongodb.js +180 -0
  132. package/dist/examples/tools/llamacpp-tools-auto-dialect.d.ts +2 -0
  133. package/dist/examples/tools/llamacpp-tools-auto-dialect.js +77 -0
  134. package/dist/examples/tts/parler.d.ts +2 -0
  135. package/dist/examples/tts/parler.js +51 -0
  136. package/dist/examples/vla-groot.js +6 -4
  137. package/dist/examples/voice-assistant/voice-assistant.js +2 -2
  138. package/dist/expo/plugins/index.d.ts +11 -11
  139. package/dist/expo/plugins/withDeviceInfo.js +2 -2
  140. package/dist/expo/plugins/withMobileBundle.js +3 -3
  141. package/dist/index.d.ts +16 -16
  142. package/dist/index.js +4 -4
  143. package/dist/logging/addon.d.ts +1 -1
  144. package/dist/logging/base-logger.d.ts +1 -1
  145. package/dist/logging/base-logger.js +1 -1
  146. package/dist/logging/client-logger.d.ts +1 -1
  147. package/dist/logging/index.d.ts +9 -9
  148. package/dist/logging/logger.d.ts +1 -1
  149. package/dist/logging/namespaces.d.ts +1 -1
  150. package/dist/logging/registry.d.ts +1 -1
  151. package/dist/logging/server-logger.d.ts +1 -1
  152. package/dist/logging/stream-logger.d.ts +1 -1
  153. package/dist/logging/transport.d.ts +1 -1
  154. package/dist/logging/utils.d.ts +1 -1
  155. package/dist/logging/utils.js +1 -1
  156. package/dist/models/registry/index.d.ts +1 -1
  157. package/dist/models/registry/models.d.ts +1226 -689
  158. package/dist/models/registry/models.js +3114 -2557
  159. package/dist/models/update-models/codegen.d.ts +1 -1
  160. package/dist/models/update-models/companions.d.ts +1 -1
  161. package/dist/models/update-models/history.d.ts +1 -1
  162. package/dist/models/update-models/history.js +4 -4
  163. package/dist/models/update-models/naming.d.ts +1 -1
  164. package/dist/models/update-models/naming.js +7 -1
  165. package/dist/models/update-models/processing.d.ts +1 -1
  166. package/dist/models/update-models/processing.js +1 -1
  167. package/dist/models/update-models/registry.d.ts +2 -2
  168. package/dist/models/update-models/shards.d.ts +1 -1
  169. package/dist/models/update-models/types.d.ts +1 -1
  170. package/dist/pear/pre.js +2 -0
  171. package/dist/profiling/aggregator.d.ts +1 -1
  172. package/dist/profiling/backend-diagnostics.d.ts +8 -0
  173. package/dist/profiling/backend-diagnostics.js +21 -0
  174. package/dist/profiling/controller.d.ts +4 -2
  175. package/dist/profiling/controller.js +8 -0
  176. package/dist/profiling/envelope.d.ts +3 -2
  177. package/dist/profiling/envelope.js +13 -2
  178. package/dist/profiling/events.d.ts +2 -2
  179. package/dist/profiling/exporters.d.ts +1 -1
  180. package/dist/profiling/index.d.ts +9 -8
  181. package/dist/profiling/index.js +3 -2
  182. package/dist/profiling/types.d.ts +6 -0
  183. package/dist/schemas/audio-gen.d.ts +253 -0
  184. package/dist/schemas/audio-gen.js +69 -0
  185. package/dist/schemas/batch-completion-stream.d.ts +7 -2
  186. package/dist/schemas/bci-config.d.ts +2 -0
  187. package/dist/schemas/bci.d.ts +1 -1
  188. package/dist/schemas/cancel.d.ts +5 -0
  189. package/dist/schemas/cancel.js +1 -0
  190. package/dist/schemas/common.d.ts +1553 -54
  191. package/dist/schemas/common.js +6 -0
  192. package/dist/schemas/completion-event.d.ts +5 -2
  193. package/dist/schemas/completion-event.js +3 -0
  194. package/dist/schemas/completion-stream.d.ts +9 -1
  195. package/dist/schemas/completion-stream.js +5 -2
  196. package/dist/schemas/constants-registry.d.ts +2 -0
  197. package/dist/schemas/constants-registry.js +2 -1
  198. package/dist/schemas/download-asset.d.ts +8 -4
  199. package/dist/schemas/engine-addon-map.d.ts +2 -1
  200. package/dist/schemas/engine-addon-map.js +5 -1
  201. package/dist/schemas/get-loaded-model-info.d.ts +2 -0
  202. package/dist/schemas/get-model-info.d.ts +2 -0
  203. package/dist/schemas/get-model-info.js +1 -0
  204. package/dist/schemas/index.d.ts +53 -51
  205. package/dist/schemas/index.js +4 -2
  206. package/dist/schemas/llamacpp-config.d.ts +6 -2
  207. package/dist/schemas/load-model.d.ts +6178 -2763
  208. package/dist/schemas/load-model.js +39 -3
  209. package/dist/schemas/mcp-adapter.d.ts +1 -1
  210. package/dist/schemas/model-src-utils.d.ts +10 -2
  211. package/dist/schemas/model-types.d.ts +19 -1
  212. package/dist/schemas/model-types.js +11 -0
  213. package/dist/schemas/ocr.d.ts +2 -0
  214. package/dist/schemas/plugin.d.ts +13 -4
  215. package/dist/schemas/plugin.js +12 -2
  216. package/dist/schemas/profiling.d.ts +587 -0
  217. package/dist/schemas/profiling.js +22 -0
  218. package/dist/schemas/registry.d.ts +18 -0
  219. package/dist/schemas/registry.js +2 -0
  220. package/dist/schemas/reload-config.d.ts +10 -2
  221. package/dist/schemas/sdcpp-config.d.ts +57 -0
  222. package/dist/schemas/sdcpp-config.js +53 -11
  223. package/dist/schemas/sdk-config.d.ts +168 -0
  224. package/dist/schemas/system-resources.d.ts +3967 -0
  225. package/dist/schemas/system-resources.js +149 -0
  226. package/dist/schemas/text-to-speech.d.ts +326 -6
  227. package/dist/schemas/text-to-speech.js +126 -13
  228. package/dist/schemas/transcription-config.d.ts +2 -0
  229. package/dist/schemas/translate.d.ts +2 -2
  230. package/dist/schemas/translation-config.d.ts +30 -10
  231. package/dist/scripts/check-resource-collectors-packaging.d.ts +33 -0
  232. package/dist/scripts/check-resource-collectors-packaging.js +136 -0
  233. package/dist/scripts/contract/build-contract.d.ts +1 -1
  234. package/dist/scripts/contract/build-models-registry.d.ts +1 -1
  235. package/dist/scripts/contract/plugin-contract.d.ts +1 -1
  236. package/dist/scripts/contract/plugin-contract.js +1 -1
  237. package/dist/scripts/export-contract.js +1 -1
  238. package/dist/scripts/export-plugin-contract.js +1 -1
  239. package/dist/server/bare/delegate-rpc-client.d.ts +1 -1
  240. package/dist/server/bare/delegate-rpc-client.js +3 -3
  241. package/dist/server/bare/hyperswarm.d.ts +1 -1
  242. package/dist/server/bare/hyperswarm.js +2 -2
  243. package/dist/server/bare/ops/bci-transcribe.d.ts +1 -1
  244. package/dist/server/bare/ops/bci-transcribe.js +4 -4
  245. package/dist/server/bare/ops/cancel.d.ts +2 -2
  246. package/dist/server/bare/ops/cancel.js +2 -2
  247. package/dist/server/bare/ops/embed.d.ts +1 -1
  248. package/dist/server/bare/ops/embed.js +3 -3
  249. package/dist/server/bare/ops/kv-cache-retention.d.ts +12 -0
  250. package/dist/server/bare/ops/kv-cache-retention.js +121 -0
  251. package/dist/server/bare/ops/kv-cache-utils.d.ts +2 -1
  252. package/dist/server/bare/ops/kv-cache-utils.js +26 -5
  253. package/dist/server/bare/ops/load-model.d.ts +2 -2
  254. package/dist/server/bare/ops/load-model.js +7 -5
  255. package/dist/server/bare/ops/transcribe.d.ts +2 -2
  256. package/dist/server/bare/ops/transcribe.js +20 -40
  257. package/dist/server/bare/ops/translate.d.ts +1 -1
  258. package/dist/server/bare/ops/translate.js +5 -9
  259. package/dist/server/bare/ops/unload-model.d.ts +1 -1
  260. package/dist/server/bare/ops/unload-model.js +5 -5
  261. package/dist/server/bare/plugins/asr-ggml/config.d.ts +32 -0
  262. package/dist/server/bare/plugins/asr-ggml/config.js +46 -0
  263. package/dist/server/bare/plugins/asr-ggml/logging.d.ts +11 -0
  264. package/dist/server/bare/plugins/asr-ggml/logging.js +12 -0
  265. package/dist/server/bare/plugins/audiogen-ggml/config.d.ts +18 -0
  266. package/dist/server/bare/plugins/audiogen-ggml/config.js +23 -0
  267. package/dist/server/bare/plugins/audiogen-ggml/ops/audio-gen-stream.d.ts +3 -0
  268. package/dist/server/bare/plugins/audiogen-ggml/ops/audio-gen-stream.js +162 -0
  269. package/dist/server/bare/plugins/audiogen-ggml/plugin.d.ts +213 -0
  270. package/dist/server/bare/plugins/audiogen-ggml/plugin.js +58 -0
  271. package/dist/server/bare/plugins/bci-whispercpp-transcription/plugin.d.ts +6 -4
  272. package/dist/server/bare/plugins/bci-whispercpp-transcription/plugin.js +4 -4
  273. package/dist/server/bare/plugins/bci-whispercpp-transcription/resolve-config.d.ts +1 -1
  274. package/dist/server/bare/plugins/ggml-classification/ops/classify.d.ts +1 -1
  275. package/dist/server/bare/plugins/ggml-classification/ops/classify.js +1 -1
  276. package/dist/server/bare/plugins/ggml-classification/plugin.d.ts +2 -2
  277. package/dist/server/bare/plugins/ggml-classification/plugin.js +1 -1
  278. package/dist/server/bare/plugins/ggml-ocr/ops/ocr-stream.d.ts +1 -1
  279. package/dist/server/bare/plugins/ggml-ocr/ops/ocr-stream.js +2 -2
  280. package/dist/server/bare/plugins/ggml-ocr/plugin.d.ts +4 -2
  281. package/dist/server/bare/plugins/ggml-ocr/plugin.js +3 -3
  282. package/dist/server/bare/plugins/ggml-ocr/resolve-config.d.ts +1 -1
  283. package/dist/server/bare/plugins/ggml-vla/ops/vla-hparams.d.ts +1 -1
  284. package/dist/server/bare/plugins/ggml-vla/ops/vla-hparams.js +1 -1
  285. package/dist/server/bare/plugins/ggml-vla/ops/vla-run.d.ts +1 -1
  286. package/dist/server/bare/plugins/ggml-vla/ops/vla-run.js +1 -1
  287. package/dist/server/bare/plugins/ggml-vla/plugin.d.ts +3 -3
  288. package/dist/server/bare/plugins/index.d.ts +12 -11
  289. package/dist/server/bare/plugins/index.js +1 -0
  290. package/dist/server/bare/plugins/llamacpp-completion/ops/batch-completion-stream.d.ts +3 -3
  291. package/dist/server/bare/plugins/llamacpp-completion/ops/batch-completion-stream.js +5 -5
  292. package/dist/server/bare/plugins/llamacpp-completion/ops/completion-stats.d.ts +11 -1
  293. package/dist/server/bare/plugins/llamacpp-completion/ops/completion-stats.js +16 -0
  294. package/dist/server/bare/plugins/llamacpp-completion/ops/completion-stream.d.ts +3 -3
  295. package/dist/server/bare/plugins/llamacpp-completion/ops/completion-stream.js +16 -14
  296. package/dist/server/bare/plugins/llamacpp-completion/ops/finetune.d.ts +1 -1
  297. package/dist/server/bare/plugins/llamacpp-completion/ops/finetune.js +3 -3
  298. package/dist/server/bare/plugins/llamacpp-completion/ops/kv-cache-session.d.ts +20 -10
  299. package/dist/server/bare/plugins/llamacpp-completion/ops/kv-cache-session.js +217 -80
  300. package/dist/server/bare/plugins/llamacpp-completion/plugin.d.ts +12 -5
  301. package/dist/server/bare/plugins/llamacpp-completion/plugin.js +16 -16
  302. package/dist/server/bare/plugins/llamacpp-completion/transform.d.ts +1 -1
  303. package/dist/server/bare/plugins/llamacpp-embedding/plugin.d.ts +2 -2
  304. package/dist/server/bare/plugins/llamacpp-embedding/plugin.js +5 -5
  305. package/dist/server/bare/plugins/nmtcpp-translation/plugin.d.ts +12 -2
  306. package/dist/server/bare/plugins/nmtcpp-translation/plugin.js +3 -3
  307. package/dist/server/bare/plugins/nmtcpp-translation/resolve-vocab.d.ts +1 -1
  308. package/dist/server/bare/plugins/parakeet-transcription/plugin.d.ts +6 -6
  309. package/dist/server/bare/plugins/parakeet-transcription/plugin.js +13 -20
  310. package/dist/server/bare/plugins/sdcpp-generation/ops/diffusion.d.ts +1 -1
  311. package/dist/server/bare/plugins/sdcpp-generation/ops/diffusion.js +1 -1
  312. package/dist/server/bare/plugins/sdcpp-generation/ops/upscale.d.ts +1 -1
  313. package/dist/server/bare/plugins/sdcpp-generation/ops/upscale.js +1 -1
  314. package/dist/server/bare/plugins/sdcpp-generation/ops/video.d.ts +2 -1
  315. package/dist/server/bare/plugins/sdcpp-generation/ops/video.js +13 -7
  316. package/dist/server/bare/plugins/sdcpp-generation/plugin.d.ts +26 -4
  317. package/dist/server/bare/plugins/sdcpp-generation/plugin.js +18 -4
  318. package/dist/server/bare/plugins/tts-ggml/ops/parler-options.d.ts +7 -0
  319. package/dist/server/bare/plugins/tts-ggml/ops/parler-options.js +30 -0
  320. package/dist/server/bare/plugins/tts-ggml/ops/text-to-speech-stream.d.ts +2 -2
  321. package/dist/server/bare/plugins/tts-ggml/ops/text-to-speech-stream.js +8 -5
  322. package/dist/server/bare/plugins/tts-ggml/ops/text-to-speech.d.ts +2 -2
  323. package/dist/server/bare/plugins/tts-ggml/ops/text-to-speech.js +14 -6
  324. package/dist/server/bare/plugins/tts-ggml/plugin.d.ts +114 -5
  325. package/dist/server/bare/plugins/tts-ggml/plugin.js +61 -5
  326. package/dist/server/bare/plugins/whispercpp-transcription/plugin.d.ts +8 -6
  327. package/dist/server/bare/plugins/whispercpp-transcription/plugin.js +17 -25
  328. package/dist/server/bare/rag-hyperdb/handlers/chunk.d.ts +1 -1
  329. package/dist/server/bare/rag-hyperdb/handlers/close-workspace.d.ts +1 -1
  330. package/dist/server/bare/rag-hyperdb/handlers/close-workspace.js +1 -1
  331. package/dist/server/bare/rag-hyperdb/handlers/delete-embeddings.d.ts +1 -1
  332. package/dist/server/bare/rag-hyperdb/handlers/delete-embeddings.js +1 -1
  333. package/dist/server/bare/rag-hyperdb/handlers/delete-workspace.d.ts +1 -1
  334. package/dist/server/bare/rag-hyperdb/handlers/delete-workspace.js +1 -1
  335. package/dist/server/bare/rag-hyperdb/handlers/ingest.d.ts +1 -1
  336. package/dist/server/bare/rag-hyperdb/handlers/ingest.js +2 -2
  337. package/dist/server/bare/rag-hyperdb/handlers/list-workspaces.d.ts +1 -1
  338. package/dist/server/bare/rag-hyperdb/handlers/list-workspaces.js +1 -1
  339. package/dist/server/bare/rag-hyperdb/handlers/reindex.d.ts +1 -1
  340. package/dist/server/bare/rag-hyperdb/handlers/reindex.js +1 -1
  341. package/dist/server/bare/rag-hyperdb/handlers/save-embeddings.d.ts +1 -1
  342. package/dist/server/bare/rag-hyperdb/handlers/save-embeddings.js +1 -1
  343. package/dist/server/bare/rag-hyperdb/handlers/search.d.ts +1 -1
  344. package/dist/server/bare/rag-hyperdb/handlers/search.js +2 -2
  345. package/dist/server/bare/rag-hyperdb/index.d.ts +11 -11
  346. package/dist/server/bare/rag-hyperdb/index.js +11 -11
  347. package/dist/server/bare/rag-hyperdb/rag-operation-manager.js +1 -1
  348. package/dist/server/bare/rag-hyperdb/rag-workspace-manager.js +4 -4
  349. package/dist/server/bare/registry/config-registry.d.ts +1 -1
  350. package/dist/server/bare/registry/config-registry.js +1 -1
  351. package/dist/server/bare/registry/model-config-registry.d.ts +2 -2
  352. package/dist/server/bare/registry/model-config-registry.js +4 -4
  353. package/dist/server/bare/registry/model-config-utils.d.ts +1 -1
  354. package/dist/server/bare/registry/model-config-utils.js +3 -0
  355. package/dist/server/bare/registry/model-registry.d.ts +15 -4
  356. package/dist/server/bare/registry/registry-client.js +2 -2
  357. package/dist/server/bare/registry/runtime-context-registry.d.ts +1 -1
  358. package/dist/server/bare/resources/collector.d.ts +644 -0
  359. package/dist/server/bare/resources/collector.js +226 -0
  360. package/dist/server/bare/resources/native.d.ts +3 -0
  361. package/dist/server/bare/resources/native.js +35 -0
  362. package/dist/server/bare/resources/normalize.d.ts +13 -0
  363. package/dist/server/bare/resources/normalize.js +73 -0
  364. package/dist/server/bare/resources/types.d.ts +66 -0
  365. package/dist/server/bare/resources/types.js +1 -0
  366. package/dist/server/bare/resources/worker-collector.d.ts +5 -0
  367. package/dist/server/bare/resources/worker-collector.js +15 -0
  368. package/dist/server/bare/runtime/index.d.ts +7 -7
  369. package/dist/server/bare/runtime/index.js +3 -3
  370. package/dist/server/bare/runtime/request-context.d.ts +2 -2
  371. package/dist/server/bare/runtime/request-registry-singleton.d.ts +1 -1
  372. package/dist/server/bare/runtime/request-registry-singleton.js +11 -1
  373. package/dist/server/bare/runtime/request-registry.d.ts +2 -2
  374. package/dist/server/bare/runtime/request-registry.js +1 -1
  375. package/dist/server/bare/runtime/with-request-context.d.ts +1 -1
  376. package/dist/server/bare/runtime-lifecycle.d.ts +1 -1
  377. package/dist/server/bare/types/addon-responses.d.ts +6 -34
  378. package/dist/server/bare/utils/asr-events.d.ts +15 -0
  379. package/dist/server/bare/utils/asr-events.js +30 -0
  380. package/dist/server/bare/utils/audio-input.d.ts +1 -1
  381. package/dist/server/bare/utils/audio-input.js +1 -1
  382. package/dist/server/bare/utils/transcribe-metadata.d.ts +1 -1
  383. package/dist/server/bare/utils/tts-stats.d.ts +1 -1
  384. package/dist/server/error-handlers.d.ts +1 -1
  385. package/dist/server/plugins/index.d.ts +1 -1
  386. package/dist/server/plugins/registry.d.ts +1 -1
  387. package/dist/server/plugins/registry.js +35 -8
  388. package/dist/server/rpc/delegate-transport.d.ts +2 -2
  389. package/dist/server/rpc/delegate-transport.js +5 -10
  390. package/dist/server/rpc/handle-request.js +3 -3
  391. package/dist/server/rpc/handler-registry.d.ts +1 -1
  392. package/dist/server/rpc/handler-registry.js +41 -37
  393. package/dist/server/rpc/handler-selection.d.ts +2 -2
  394. package/dist/server/rpc/handler-utils.d.ts +2 -2
  395. package/dist/server/rpc/handler-utils.js +5 -5
  396. package/dist/server/rpc/handlers/audio-gen-stream.d.ts +3 -0
  397. package/dist/server/rpc/handlers/audio-gen-stream.js +4 -0
  398. package/dist/server/rpc/handlers/batch-completion-stream.d.ts +3 -1
  399. package/dist/server/rpc/handlers/batch-completion-stream.js +1 -1
  400. package/dist/server/rpc/handlers/bci-transcribe-stream.d.ts +1 -1
  401. package/dist/server/rpc/handlers/bci-transcribe-stream.js +1 -1
  402. package/dist/server/rpc/handlers/bci-transcribe.d.ts +1 -1
  403. package/dist/server/rpc/handlers/bci-transcribe.js +1 -1
  404. package/dist/server/rpc/handlers/cancel-delegated.d.ts +2 -2
  405. package/dist/server/rpc/handlers/cancel-delegated.js +3 -3
  406. package/dist/server/rpc/handlers/cancelHandler.d.ts +1 -1
  407. package/dist/server/rpc/handlers/cancelHandler.js +3 -3
  408. package/dist/server/rpc/handlers/classify.d.ts +1 -1
  409. package/dist/server/rpc/handlers/classify.js +1 -1
  410. package/dist/server/rpc/handlers/completion-orchestrate.d.ts +2 -2
  411. package/dist/server/rpc/handlers/completion-orchestrate.js +1 -1
  412. package/dist/server/rpc/handlers/completion-stream-delegated.d.ts +2 -2
  413. package/dist/server/rpc/handlers/completion-stream-delegated.js +3 -3
  414. package/dist/server/rpc/handlers/completion-stream.d.ts +1 -1
  415. package/dist/server/rpc/handlers/completion-stream.js +1 -1
  416. package/dist/server/rpc/handlers/delete-cache.d.ts +1 -1
  417. package/dist/server/rpc/handlers/delete-cache.js +1 -1
  418. package/dist/server/rpc/handlers/diffusion-stream.d.ts +1 -1
  419. package/dist/server/rpc/handlers/diffusion-stream.js +1 -1
  420. package/dist/server/rpc/handlers/download-asset.d.ts +1 -1
  421. package/dist/server/rpc/handlers/download-asset.js +4 -4
  422. package/dist/server/rpc/handlers/embed.d.ts +1 -1
  423. package/dist/server/rpc/handlers/embed.js +1 -1
  424. package/dist/server/rpc/handlers/finetune.d.ts +1 -1
  425. package/dist/server/rpc/handlers/finetune.js +2 -2
  426. package/dist/server/rpc/handlers/get-loaded-model-info.d.ts +1 -1
  427. package/dist/server/rpc/handlers/get-loaded-model-info.js +3 -3
  428. package/dist/server/rpc/handlers/get-model-info.d.ts +1 -1
  429. package/dist/server/rpc/handlers/get-model-info.js +4 -4
  430. package/dist/server/rpc/handlers/get-system-resources.d.ts +3 -0
  431. package/dist/server/rpc/handlers/get-system-resources.js +53 -0
  432. package/dist/server/rpc/handlers/heartbeat-delegated.d.ts +2 -2
  433. package/dist/server/rpc/handlers/heartbeat-delegated.js +2 -2
  434. package/dist/server/rpc/handlers/heartbeat.d.ts +1 -1
  435. package/dist/server/rpc/handlers/index.d.ts +37 -33
  436. package/dist/server/rpc/handlers/index.js +4 -0
  437. package/dist/server/rpc/handlers/load-model/download-manager.d.ts +3 -3
  438. package/dist/server/rpc/handlers/load-model/download-manager.js +1 -1
  439. package/dist/server/rpc/handlers/load-model/download-stats.d.ts +3 -3
  440. package/dist/server/rpc/handlers/load-model/handler.d.ts +1 -1
  441. package/dist/server/rpc/handlers/load-model/handler.js +12 -8
  442. package/dist/server/rpc/handlers/load-model/http.d.ts +2 -2
  443. package/dist/server/rpc/handlers/load-model/http.js +4 -4
  444. package/dist/server/rpc/handlers/load-model/hyperdrive.d.ts +2 -2
  445. package/dist/server/rpc/handlers/load-model/hyperdrive.js +5 -5
  446. package/dist/server/rpc/handlers/load-model/index.d.ts +2 -2
  447. package/dist/server/rpc/handlers/load-model/registry-client-options.d.ts +1 -1
  448. package/dist/server/rpc/handlers/load-model/registry-companion-set.d.ts +3 -3
  449. package/dist/server/rpc/handlers/load-model/registry-companion-set.js +3 -3
  450. package/dist/server/rpc/handlers/load-model/registry-download-utils.d.ts +4 -4
  451. package/dist/server/rpc/handlers/load-model/registry-download-utils.js +3 -3
  452. package/dist/server/rpc/handlers/load-model/registry-metadata.d.ts +1 -1
  453. package/dist/server/rpc/handlers/load-model/registry.d.ts +3 -3
  454. package/dist/server/rpc/handlers/load-model/registry.js +6 -6
  455. package/dist/server/rpc/handlers/load-model/resolve-session.d.ts +2 -2
  456. package/dist/server/rpc/handlers/load-model/resolve-session.js +3 -3
  457. package/dist/server/rpc/handlers/load-model/resolve.d.ts +2 -2
  458. package/dist/server/rpc/handlers/load-model/resolve.js +2 -2
  459. package/dist/server/rpc/handlers/load-model/types.d.ts +2 -2
  460. package/dist/server/rpc/handlers/load-model-delegated.d.ts +2 -2
  461. package/dist/server/rpc/handlers/load-model-delegated.js +3 -3
  462. package/dist/server/rpc/handlers/logging-stream.d.ts +1 -1
  463. package/dist/server/rpc/handlers/logging-stream.js +1 -1
  464. package/dist/server/rpc/handlers/ocr-stream.d.ts +1 -1
  465. package/dist/server/rpc/handlers/ocr-stream.js +1 -1
  466. package/dist/server/rpc/handlers/plugin-dispatch.js +3 -3
  467. package/dist/server/rpc/handlers/plugin-invoke.d.ts +1 -1
  468. package/dist/server/rpc/handlers/plugin-invoke.js +3 -3
  469. package/dist/server/rpc/handlers/provideHandler/connection.js +1 -1
  470. package/dist/server/rpc/handlers/provideHandler/handler.d.ts +1 -1
  471. package/dist/server/rpc/handlers/provideHandler/handler.js +1 -1
  472. package/dist/server/rpc/handlers/provideHandler/proxy.js +1 -1
  473. package/dist/server/rpc/handlers/provideHandler.d.ts +1 -1
  474. package/dist/server/rpc/handlers/rag.d.ts +1 -1
  475. package/dist/server/rpc/handlers/rag.js +4 -4
  476. package/dist/server/rpc/handlers/registry.d.ts +1 -1
  477. package/dist/server/rpc/handlers/registry.js +1 -1
  478. package/dist/server/rpc/handlers/resume.d.ts +1 -1
  479. package/dist/server/rpc/handlers/resume.js +1 -1
  480. package/dist/server/rpc/handlers/state.d.ts +1 -1
  481. package/dist/server/rpc/handlers/state.js +1 -1
  482. package/dist/server/rpc/handlers/stopProvideHandler.d.ts +1 -1
  483. package/dist/server/rpc/handlers/stopProvideHandler.js +1 -1
  484. package/dist/server/rpc/handlers/suspend.d.ts +1 -1
  485. package/dist/server/rpc/handlers/suspend.js +1 -1
  486. package/dist/server/rpc/handlers/text-to-speech-stream.d.ts +1 -1
  487. package/dist/server/rpc/handlers/text-to-speech-stream.js +1 -1
  488. package/dist/server/rpc/handlers/text-to-speech.d.ts +1 -1
  489. package/dist/server/rpc/handlers/text-to-speech.js +1 -1
  490. package/dist/server/rpc/handlers/transcribe-stream.d.ts +1 -1
  491. package/dist/server/rpc/handlers/transcribe-stream.js +1 -1
  492. package/dist/server/rpc/handlers/transcribe.d.ts +1 -1
  493. package/dist/server/rpc/handlers/transcribe.js +1 -1
  494. package/dist/server/rpc/handlers/translate.d.ts +1 -1
  495. package/dist/server/rpc/handlers/translate.js +1 -1
  496. package/dist/server/rpc/handlers/unload-model-delegated.d.ts +1 -1
  497. package/dist/server/rpc/handlers/unload-model-delegated.js +5 -5
  498. package/dist/server/rpc/handlers/unload-model.d.ts +1 -1
  499. package/dist/server/rpc/handlers/unload-model.js +3 -3
  500. package/dist/server/rpc/handlers/upscale-stream.d.ts +1 -1
  501. package/dist/server/rpc/handlers/upscale-stream.js +1 -1
  502. package/dist/server/rpc/handlers/video-stream.d.ts +1 -1
  503. package/dist/server/rpc/handlers/video-stream.js +1 -1
  504. package/dist/server/rpc/index.d.ts +2 -2
  505. package/dist/server/rpc/method-shapes.d.ts +2 -0
  506. package/dist/server/rpc/method-shapes.js +2 -0
  507. package/dist/server/rpc/profiling/backend-diagnostics.d.ts +3 -0
  508. package/dist/server/rpc/profiling/backend-diagnostics.js +16 -0
  509. package/dist/server/rpc/profiling/context.d.ts +1 -1
  510. package/dist/server/rpc/profiling/delegation-profiler.d.ts +2 -2
  511. package/dist/server/rpc/profiling/index.d.ts +4 -4
  512. package/dist/server/rpc/profiling/operation-metrics.d.ts +2 -2
  513. package/dist/server/rpc/profiling/operation-metrics.js +9 -1
  514. package/dist/server/rpc/profiling/operation-wrappers.d.ts +1 -1
  515. package/dist/server/rpc/profiling/operation-wrappers.js +51 -13
  516. package/dist/server/rpc/profiling/profiler.d.ts +2 -2
  517. package/dist/server/rpc/transport-selector.d.ts +1 -1
  518. package/dist/server/utils/archive.js +1 -1
  519. package/dist/server/utils/audio/decoder.d.ts +1 -1
  520. package/dist/server/utils/audio/decoder.js +1 -1
  521. package/dist/server/utils/cache/auto-history.d.ts +1 -1
  522. package/dist/server/utils/cache/paths.d.ts +1 -1
  523. package/dist/server/utils/cache/paths.js +6 -6
  524. package/dist/server/utils/checksum.d.ts +1 -1
  525. package/dist/server/utils/completion-normalizer.d.ts +2 -1
  526. package/dist/server/utils/completion-normalizer.js +31 -1
  527. package/dist/server/utils/config-transform.d.ts +1 -1
  528. package/dist/server/utils/config-transform.js +5 -7
  529. package/dist/server/utils/index.d.ts +11 -11
  530. package/dist/server/utils/path-security.d.ts +1 -1
  531. package/dist/server/utils/qvac-paths.js +1 -1
  532. package/dist/server/utils/response-format.d.ts +1 -1
  533. package/dist/server/utils/shard-utils.d.ts +1 -1
  534. package/dist/server/utils/tool-integration.d.ts +1 -1
  535. package/dist/server/utils/tool-integration.js +2 -2
  536. package/dist/server/utils/tools/dialect.d.ts +1 -1
  537. package/dist/server/utils/tools/dialect.js +2 -0
  538. package/dist/server/utils/tools/index.d.ts +2 -2
  539. package/dist/server/utils/tools/parser.d.ts +1 -1
  540. package/dist/server/utils/tools/parser.js +16 -8
  541. package/dist/server/utils/tools/parsers/dsml.d.ts +4 -0
  542. package/dist/server/utils/tools/parsers/dsml.js +176 -0
  543. package/dist/server/utils/tools/parsers/gemma4native.d.ts +2 -2
  544. package/dist/server/utils/tools/parsers/gemma4native.js +1 -1
  545. package/dist/server/utils/tools/parsers/harmony.d.ts +2 -2
  546. package/dist/server/utils/tools/parsers/harmony.js +1 -1
  547. package/dist/server/utils/tools/parsers/hermes.d.ts +2 -2
  548. package/dist/server/utils/tools/parsers/hermes.js +1 -1
  549. package/dist/server/utils/tools/parsers/json.d.ts +2 -2
  550. package/dist/server/utils/tools/parsers/json.js +1 -1
  551. package/dist/server/utils/tools/parsers/pythonic.d.ts +2 -2
  552. package/dist/server/utils/tools/parsers/pythonic.js +1 -1
  553. package/dist/server/utils/tools/parsers/qwen35.d.ts +2 -2
  554. package/dist/server/utils/tools/parsers/qwen35.js +1 -1
  555. package/dist/server/utils/tools/shared.d.ts +1 -1
  556. package/dist/server/utils/worker-lock.js +1 -1
  557. package/dist/server/worker-core.js +14 -10
  558. package/dist/server/worker.js +4 -3
  559. package/dist/utils/aggregate-events.d.ts +2 -2
  560. package/dist/utils/aggregate-events.js +2 -2
  561. package/dist/utils/errors-client.d.ts +0 -3
  562. package/dist/utils/errors-client.js +0 -5
  563. package/dist/utils/errors-server.d.ts +1 -1
  564. package/dist/utils/mcp-adapter.d.ts +4 -4
  565. package/dist/utils/mcp-adapter.js +1 -1
  566. package/dist/utils/tool-helpers.d.ts +1 -1
  567. package/dist/utils/tool-helpers.js +1 -1
  568. package/docs/system-resources-support-matrix.md +103 -0
  569. package/package.json +33 -18
  570. /package/dist/examples/{transcription → asr}/parakeet-ctc-filesystem.d.ts +0 -0
  571. /package/dist/examples/{transcription → asr}/parakeet-microphone-record.d.ts +0 -0
  572. /package/dist/examples/{transcription → asr}/parakeet-microphone-stream.d.ts +0 -0
  573. /package/dist/examples/{transcription → asr}/parakeet-sortformer-streaming.d.ts +0 -0
  574. /package/dist/examples/{transcription → asr}/parakeet-sortformer.d.ts +0 -0
  575. /package/dist/examples/{transcription → asr}/parakeet-tdt-filesystem-chunked.d.ts +0 -0
  576. /package/dist/examples/{transcription → asr}/parakeet-tdt-filesystem.d.ts +0 -0
  577. /package/dist/examples/{transcription → asr}/whispercpp-filesystem-streaming.d.ts +0 -0
  578. /package/dist/examples/{transcription → asr}/whispercpp-filesystem.d.ts +0 -0
  579. /package/dist/examples/{transcription → asr}/whispercpp-microphone-conversation.d.ts +0 -0
  580. /package/dist/examples/{transcription → asr}/whispercpp-microphone-record.d.ts +0 -0
  581. /package/dist/examples/{transcription → asr}/whispercpp-prompt.d.ts +0 -0
@@ -1,3 +1,3 @@
1
- import type { HandlerEntry } from './handler-utils';
1
+ import type { HandlerEntry } from './handler-utils.js';
2
2
  export declare function shouldUseStreamErrorTransport(entry: HandlerEntry | undefined, rawRequest: Record<string, unknown> | undefined): boolean;
3
3
  //# sourceMappingURL=transport-selector.d.ts.map
@@ -5,7 +5,7 @@ import { createGunzip } from 'bare-zlib';
5
5
  import tarStream from 'tar-stream';
6
6
  import { detectShardedModel, generateShardFilenames, extractTensorsFromShards, validateShardedModelCache } from './shard-utils.js';
7
7
  import { ModelLoadFailedError, ArchiveExtractionFailedError, ArchiveUnsupportedTypeError, ArchiveMissingShardsError, DownloadCancelledError } from '../../utils/errors-server.js';
8
- import { isPathWithinBase } from './path-security.js';
8
+ import { isPathWithinBase } from '../../server/utils/path-security.js';
9
9
  import { getServerLogger } from '../../logging/index.js';
10
10
  import { SUPPORTED_ARCHIVE_EXTENSIONS, filenameToArchiveTypeSchema } from '../../schemas/archive.js';
11
11
  const logger = getServerLogger();
@@ -1,5 +1,5 @@
1
1
  import { Readable } from 'bare-stream';
2
- import { type AudioFormat } from '../../../schemas/index';
2
+ import { type AudioFormat } from '../../../schemas/index.js';
3
3
  export declare function needsDecoding(filePath: string): boolean;
4
4
  export declare function decodeAudioToStream(inputPath: string, audioFormat?: AudioFormat): Promise<Readable>;
5
5
  //# sourceMappingURL=decoder.d.ts.map
@@ -1,7 +1,7 @@
1
1
  import fs from 'bare-fs';
2
2
  import path from 'bare-path';
3
3
  import { FFmpegDecoder } from '@qvac/decoder-audio';
4
- import { FORMATS_NEEDING_DECODE } from '@qvac/decoder-audio/constants.js';
4
+ import { FORMATS_NEEDING_DECODE } from '@qvac/decoder-audio/constants';
5
5
  import { Readable } from 'bare-stream';
6
6
  import { getServerLogger } from '../../../logging/index.js';
7
7
  import {} from '../../../schemas/index.js';
@@ -1,4 +1,4 @@
1
- import type { CacheMessage } from './types';
1
+ import type { CacheMessage } from './types.js';
2
2
  export declare function getAutoCacheLookupHistory(currentHistory: CacheMessage[]): CacheMessage[];
3
3
  export declare function buildAutoCacheSaveHistory(currentHistory: CacheMessage[], assistantResponse: string): CacheMessage[];
4
4
  //# sourceMappingURL=auto-history.d.ts.map
@@ -1,4 +1,4 @@
1
- import type { ShardFileMetadata } from '../../../schemas/index';
1
+ import type { ShardFileMetadata } from '../../../schemas/index.js';
2
2
  export declare function getCacheDir(subDir: string): string;
3
3
  export declare function getModelsCacheDir(): string;
4
4
  export declare function getKVCacheDir(): string;
@@ -1,13 +1,13 @@
1
1
  import fs, { promises as fsPromises } from 'bare-fs';
2
2
  import path from 'bare-path';
3
- import { getConfiguredCacheDir } from '../../bare/registry/config-registry.js';
4
- import { getQvacPath } from '../qvac-paths.js';
5
- import { calculateFileChecksum } from '../checksum.js';
6
- import { validateAndJoinPath } from '../path-security.js';
7
- import { generateShortHash } from '../formatting.js';
3
+ import { getConfiguredCacheDir } from '../../../server/bare/registry/config-registry.js';
4
+ import { getQvacPath } from '../../../server/utils/qvac-paths.js';
5
+ import { calculateFileChecksum } from '../../../server/utils/checksum.js';
6
+ import { validateAndJoinPath } from '../../../server/utils/path-security.js';
7
+ import { generateShortHash } from '../../../server/utils/formatting.js';
8
8
  import { getServerLogger } from '../../../logging/index.js';
9
9
  import { nowMs } from '../../../profiling/index.js';
10
- import { resolveClearStorageTarget } from '../clear-storage.js';
10
+ import { resolveClearStorageTarget } from '../../../server/utils/clear-storage.js';
11
11
  const logger = getServerLogger();
12
12
  export function getCacheDir(subDir) {
13
13
  const cacheDir = getQvacPath(subDir);
@@ -1,4 +1,4 @@
1
- import type { DownloadHooks } from '../rpc/handlers/load-model/types';
1
+ import type { DownloadHooks } from '../../server/rpc/handlers/load-model/types.js';
2
2
  export declare function calculateFileChecksum(filePath: string): Promise<string>;
3
3
  export declare function measureChecksum(filePath: string, hooks?: DownloadHooks): Promise<string>;
4
4
  //# sourceMappingURL=checksum.d.ts.map
@@ -1,4 +1,5 @@
1
- import type { CompletionEvent, CompletionError, CompletionStats, NormalizerConfig, StopReason, ToolCall } from '../../schemas/index';
1
+ import type { CompletionEvent, CompletionError, CompletionStats, NormalizerConfig, StopReason, ToolCall } from '../../schemas/index.js';
2
+ export declare const MAX_TOOL_FRAME_CHARS = 1048576;
2
3
  export type CompletionNormalizer = ReturnType<typeof createCompletionNormalizer>;
3
4
  export declare function createCompletionNormalizer(config: NormalizerConfig): {
4
5
  push: (token: string) => CompletionEvent[];
@@ -1,4 +1,9 @@
1
- import { parseToolCalls } from './tools/index.js';
1
+ import { parseToolCalls } from '../../server/utils/tools/index.js';
2
+ export const MAX_TOOL_FRAME_CHARS = 1_048_576;
3
+ const DSML_INVOKE_FRAMES = [' ', '\n', '\t', '\r'].map((sep) => ({
4
+ open: `<|DSML|invoke${sep}`,
5
+ close: '</|DSML|invoke>'
6
+ }));
2
7
  const DIALECT_SPECS = {
3
8
  hermes: {
4
9
  toolFrames: [{ open: '<tool_call>', close: '</tool_call>' }]
@@ -41,6 +46,13 @@ const DIALECT_SPECS = {
41
46
  gemma4: {
42
47
  toolFrames: [{ open: '<|tool_call>', close: '<tool_call|>' }],
43
48
  thinkingFrames: [{ open: '<|channel>thought', close: '<channel|>' }]
49
+ },
50
+ dsml: {
51
+ toolFrames: [
52
+ { open: '<|DSML|tool_calls>', close: '</|DSML|tool_calls>' },
53
+ { open: '<|DSML|function_calls>', close: '</|DSML|function_calls>' },
54
+ ...DSML_INVOKE_FRAMES
55
+ ]
44
56
  }
45
57
  };
46
58
  // Capture-gated reasoning marker — the generic `<think>...</think>`
@@ -217,6 +229,22 @@ export function createCompletionNormalizer(config) {
217
229
  emitContent(events, raw);
218
230
  }
219
231
  }
232
+ function abandonToolFrame(events) {
233
+ const raw = toolCallBuffer + toolFramingTail;
234
+ toolCallBuffer = '';
235
+ toolFramingTail = '';
236
+ activeToolFrame = null;
237
+ state = 'content';
238
+ events.push({
239
+ type: 'toolError',
240
+ seq: nextSeq(),
241
+ error: {
242
+ code: 'PARSE_ERROR',
243
+ message: `Tool call frame exceeded ${MAX_TOOL_FRAME_CHARS} characters without a close marker`
244
+ }
245
+ });
246
+ emitContent(events, raw);
247
+ }
220
248
  function getStateTail() {
221
249
  switch (state) {
222
250
  case 'content':
@@ -254,6 +282,8 @@ export function createCompletionNormalizer(config) {
254
282
  toolCallBuffer += buf.slice(0, safeLen);
255
283
  toolFramingTail = buf.slice(safeLen);
256
284
  buf = '';
285
+ if (toolCallBuffer.length > MAX_TOOL_FRAME_CHARS)
286
+ abandonToolFrame(events);
257
287
  continue;
258
288
  }
259
289
  if (state === 'thinkingFraming') {
@@ -1,3 +1,3 @@
1
- import { type ModelTypeInput } from '../../schemas/index';
1
+ import { type ModelTypeInput } from '../../schemas/index.js';
2
2
  export declare function transformConfigForReload(modelType: ModelTypeInput, config: unknown): unknown;
3
3
  //# sourceMappingURL=config-transform.d.ts.map
@@ -1,15 +1,13 @@
1
1
  import { normalizeModelType, ModelType } from '../../schemas/index.js';
2
+ import { buildParakeetReloadConfig, buildWhisperReloadConfig } from '../../server/bare/plugins/asr-ggml/config.js';
2
3
  export function transformConfigForReload(modelType, config) {
3
4
  const canonicalType = normalizeModelType(modelType);
4
5
  switch (canonicalType) {
5
6
  case ModelType.whispercppTranscription: {
6
- const whisperConfig = config;
7
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
8
- const { contextParams, miscConfig, ...whisperParams } = whisperConfig;
9
- return {
10
- whisperConfig: whisperParams,
11
- ...(miscConfig && { miscConfig })
12
- };
7
+ return buildWhisperReloadConfig(config);
8
+ }
9
+ case ModelType.parakeetTranscription: {
10
+ return buildParakeetReloadConfig(config);
13
11
  }
14
12
  case ModelType.llamacppCompletion:
15
13
  case ModelType.llamacppEmbedding:
@@ -1,12 +1,12 @@
1
- export * from './archive';
2
- export * from './cache/types';
3
- export * from './cache/auto-history';
4
- export * from './cache/paths';
5
- export * from './checksum';
6
- export * from './config-transform';
7
- export * from './expand-gguf-shards';
8
- export * from './formatting';
9
- export * from './gguf-tensor-extractor';
10
- export * from './path-security';
11
- export * from './shard-utils';
1
+ export * from './archive.js';
2
+ export * from './cache/types.js';
3
+ export * from './cache/auto-history.js';
4
+ export * from './cache/paths.js';
5
+ export * from './checksum.js';
6
+ export * from './config-transform.js';
7
+ export * from './expand-gguf-shards.js';
8
+ export * from './formatting.js';
9
+ export * from './gguf-tensor-extractor.js';
10
+ export * from './path-security.js';
11
+ export * from './shard-utils.js';
12
12
  //# sourceMappingURL=index.d.ts.map
@@ -1,4 +1,4 @@
1
- export { sanitizePathComponent } from '../../utils/path-sanitize';
1
+ export { sanitizePathComponent } from '../../utils/path-sanitize.js';
2
2
  /**
3
3
  * Check whether a target path is contained within a base directory.
4
4
  * Both paths are resolved to absolute before comparison.
@@ -1,5 +1,5 @@
1
1
  import path from 'bare-path';
2
- import { getEnv } from '../env.js';
2
+ import { getEnv } from '../../server/env.js';
3
3
  export function getQvacPath(...subPaths) {
4
4
  return path.join(getEnv().HOME_DIR, '.qvac', ...subPaths);
5
5
  }
@@ -1,3 +1,3 @@
1
- import type { ResponseFormat } from '../../schemas/index';
1
+ import type { ResponseFormat } from '../../schemas/index.js';
2
2
  export declare function getResponseFormatJsonSchema(responseFormat: ResponseFormat): string | undefined;
3
3
  //# sourceMappingURL=response-format.d.ts.map
@@ -1,4 +1,4 @@
1
- import type { ShardPatternInfo, ShardUrl } from '../../schemas/index';
1
+ import type { ShardPatternInfo, ShardUrl } from '../../schemas/index.js';
2
2
  /**
3
3
  * Detect if model filename follows shard pattern (00001-of-0000x)
4
4
  */
@@ -1,4 +1,4 @@
1
- import type { Tool, ToolDialect } from '../../schemas/index';
1
+ import type { Tool, ToolDialect } from '../../schemas/index.js';
2
2
  interface HistoryMessage {
3
3
  role: string;
4
4
  content: string;
@@ -1,5 +1,5 @@
1
- import { detectToolDialectFromName } from './tools/index.js';
2
- import { getModelInfo } from '../bare/registry/model-registry.js';
1
+ import { detectToolDialectFromName } from '../../server/utils/tools/index.js';
2
+ import { getModelInfo } from '../../server/bare/registry/model-registry.js';
3
3
  /**
4
4
  * Static tools mode: prepend tools right after the system message (or at the
5
5
  * very start when no system message is present). The tool block stays in the
@@ -1,4 +1,4 @@
1
- import type { ToolDialect } from '../../../schemas/index';
1
+ import type { ToolDialect } from '../../../schemas/index.js';
2
2
  /**
3
3
  * Detects the tool-call dialect from a model's registry name and file path.
4
4
  * Defaults to "hermes" (its parser chain also covers unknown JSON-payload
@@ -12,6 +12,8 @@ export function detectToolDialectFromName(name, path) {
12
12
  return 'gemma4';
13
13
  if (/gpt[_-]?oss/.test(tag))
14
14
  return 'harmony';
15
+ if (/deepseek[-_. ]?v(?:4|3[._-]?2)(?![0-9])/.test(tag))
16
+ return 'dsml';
15
17
  if (/lfm[_-]?\d/.test(tag))
16
18
  return 'pythonic';
17
19
  return 'hermes';
@@ -1,3 +1,3 @@
1
- export { detectToolDialectFromName } from './dialect';
2
- export { parseToolCalls } from './parser';
1
+ export { detectToolDialectFromName } from './dialect.js';
2
+ export { parseToolCalls } from './parser.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1,4 +1,4 @@
1
- import type { Tool, ToolCall, ToolCallError, ToolDialect } from '../../../schemas/index';
1
+ import type { Tool, ToolCall, ToolCallError, ToolDialect } from '../../../schemas/index.js';
2
2
  export declare function parseToolCalls(text: string, tools: Tool[], dialect?: ToolDialect): {
3
3
  toolCalls: ToolCall[];
4
4
  errors: ToolCallError[];
@@ -1,10 +1,11 @@
1
- import { stripThinkingBlocks } from './shared.js';
2
- import { parseGemmaFormat, parseGenericFormat, parseLlamacppFormat } from './parsers/json.js';
3
- import { parseHermesFormat } from './parsers/hermes.js';
4
- import { parsePythonicFormat } from './parsers/pythonic.js';
5
- import { parseHarmonyFormat } from './parsers/harmony.js';
6
- import { parseQwen35Format } from './parsers/qwen35.js';
7
- import { parseGemma4NativeFormat } from './parsers/gemma4native.js';
1
+ import { stripThinkingBlocks } from '../../../server/utils/tools/shared.js';
2
+ import { parseGemmaFormat, parseGenericFormat, parseLlamacppFormat } from '../../../server/utils/tools/parsers/json.js';
3
+ import { parseHermesFormat } from '../../../server/utils/tools/parsers/hermes.js';
4
+ import { parsePythonicFormat } from '../../../server/utils/tools/parsers/pythonic.js';
5
+ import { parseHarmonyFormat } from '../../../server/utils/tools/parsers/harmony.js';
6
+ import { parseQwen35Format } from '../../../server/utils/tools/parsers/qwen35.js';
7
+ import { parseGemma4NativeFormat } from '../../../server/utils/tools/parsers/gemma4native.js';
8
+ import { parseDsmlFormat } from '../../../server/utils/tools/parsers/dsml.js';
8
9
  function pickFormatParsers(dialect) {
9
10
  switch (dialect) {
10
11
  case 'pythonic':
@@ -25,8 +26,14 @@ function pickFormatParsers(dialect) {
25
26
  // No JSON fallback: Gemma4 emits only its native channel-thought dialect
26
27
  // and never falls back to JSON-envelope formats.
27
28
  return [parseGemma4NativeFormat];
29
+ case 'dsml':
30
+ // Hermes fallback: DeepSeek templates fall back to OpenAI-style JSON when
31
+ // the DSML block fails to materialise.
32
+ return [parseDsmlFormat, parseHermesFormat, parseLlamacppFormat];
28
33
  default:
29
- // Gemma4 first: `<|tool_call>` is uniquely distinctive and can't
34
+ // DSML first: the `<|DSML|` token is unique to DeepSeek and can't
35
+ // false-match another dialect.
36
+ // Gemma4 next: `<|tool_call>` is uniquely distinctive and can't
30
37
  // false-match other dialects.
31
38
  // Harmony next: `to=functions.` is also uniquely Harmony.
32
39
  // Qwen35 before Hermes: defers to Hermes when JSON is inside <tool_call>,
@@ -34,6 +41,7 @@ function pickFormatParsers(dialect) {
34
41
  // Pythonic last: its bare `[name(...)]` form can match payloads that
35
42
  // look like other dialects.
36
43
  return [
44
+ parseDsmlFormat,
37
45
  parseGemma4NativeFormat,
38
46
  parseHarmonyFormat,
39
47
  parseQwen35Format,
@@ -0,0 +1,4 @@
1
+ import type { Tool } from '../../../../schemas/index.js';
2
+ import { type ParserResult } from '../../../../server/utils/tools/shared.js';
3
+ export declare function parseDsmlFormat(text: string, tools: Tool[]): ParserResult;
4
+ //# sourceMappingURL=dsml.d.ts.map
@@ -0,0 +1,176 @@
1
+ import { generateStableToolCallId, validateToolArguments } from '../../../../server/utils/tools/shared.js';
2
+ // DeepSeek marks DSML tags with a fullwidth vertical line (U+FF5C `|`), not
3
+ // the ASCII pipe used by the visually similar `<|...|>` markers of the harmony
4
+ // and gemma4 dialects — the two must not be conflated. V4 wraps calls in
5
+ // `tool_calls`; V3.2 used `function_calls`. Both carry the same invoke/
6
+ // parameter grammar, so only the wrapper name differs.
7
+ const OPENER_REGEX = /<|DSML|(?:tool_calls|function_calls|invoke)/;
8
+ const INVOKE_OPEN_REGEX = /<|DSML|invoke([ \t\r\n][^>]*)?>/g;
9
+ const INVOKE_CLOSE_TAG = '</|DSML|invoke>';
10
+ const PARAMETER_REGEX = /<|DSML|parameter([ \t\r\n][^>]*)?>([\s\S]*?)<\/|DSML|parameter>/g;
11
+ const NAME_ATTR_REGEX = /(?:^|\s)name="([^"]*)"/;
12
+ const STRING_ATTR_REGEX = /(?:^|\s)string="(true|false)"/i;
13
+ const FALLBACK_DIALECT_REGEX = /<tool_call>|"name"\s*:/;
14
+ function coerceBySchemaType(value, type) {
15
+ switch (type) {
16
+ case 'number': {
17
+ const n = Number(value);
18
+ if (value.length === 0 || Number.isNaN(n))
19
+ throw new Error(`invalid number value: "${value}"`);
20
+ return n;
21
+ }
22
+ case 'integer': {
23
+ const n = Number(value);
24
+ if (value.length === 0 || Number.isNaN(n) || !Number.isInteger(n))
25
+ throw new Error(`invalid integer value: "${value}"`);
26
+ return n;
27
+ }
28
+ case 'boolean': {
29
+ const v = value.toLowerCase();
30
+ if (v === 'true')
31
+ return true;
32
+ if (v === 'false')
33
+ return false;
34
+ throw new Error(`invalid boolean value: "${value}"`);
35
+ }
36
+ case 'array':
37
+ case 'object':
38
+ return JSON.parse(value);
39
+ default:
40
+ return value;
41
+ }
42
+ }
43
+ function coerceParamValue(raw, isString, type) {
44
+ const trimmed = raw.trim();
45
+ if (isString === undefined)
46
+ return coerceBySchemaType(trimmed, type);
47
+ if (isString === 'true')
48
+ return trimmed;
49
+ try {
50
+ return JSON.parse(trimmed);
51
+ }
52
+ catch (err) {
53
+ throw new Error(`invalid JSON for string="false" parameter: ${err instanceof Error ? err.message : String(err)}`);
54
+ }
55
+ }
56
+ function collectInvokes(text) {
57
+ const openers = Array.from(text.matchAll(INVOKE_OPEN_REGEX));
58
+ return openers.map((opener, i) => {
59
+ const start = opener.index;
60
+ const bodyStart = start + opener[0].length;
61
+ const limit = openers[i + 1]?.index ?? text.length;
62
+ const rel = text.slice(bodyStart, limit).indexOf(INVOKE_CLOSE_TAG);
63
+ const closed = rel !== -1;
64
+ const closeAt = bodyStart + rel;
65
+ const end = closed ? closeAt + INVOKE_CLOSE_TAG.length : limit;
66
+ return {
67
+ attrs: opener[1] ?? '',
68
+ body: closed ? text.slice(bodyStart, closeAt) : '',
69
+ closed,
70
+ start,
71
+ consumedEnd: closed ? end : bodyStart,
72
+ raw: text.slice(start, end).trim()
73
+ };
74
+ });
75
+ }
76
+ function textOutsideInvokes(text, invokes) {
77
+ const parts = [];
78
+ let cursor = 0;
79
+ for (const invoke of invokes) {
80
+ parts.push(text.slice(cursor, invoke.start));
81
+ cursor = invoke.consumedEnd;
82
+ }
83
+ parts.push(text.slice(cursor));
84
+ return parts.join('\n');
85
+ }
86
+ // Parses DeepSeek's DSML tool-call dialect (V3.2 / V4):
87
+ // <|DSML|tool_calls>
88
+ // <|DSML|invoke name="NAME">
89
+ // <|DSML|parameter name="KEY" string="true">VALUE</|DSML|parameter>
90
+ // </|DSML|invoke>
91
+ // </|DSML|tool_calls>
92
+ export function parseDsmlFormat(text, tools) {
93
+ const toolCalls = [];
94
+ const errors = [];
95
+ if (!OPENER_REGEX.test(text)) {
96
+ return { matched: false, toolCalls, errors };
97
+ }
98
+ // Invokes are collected from the whole text rather than per block: a block
99
+ // cut off before its close tag still carries complete invokes, and a single
100
+ // pass recovers them without re-counting the ones inside closed blocks.
101
+ const invokes = collectInvokes(text);
102
+ if (invokes.length === 0) {
103
+ if (FALLBACK_DIALECT_REGEX.test(text)) {
104
+ return { matched: false, toolCalls, errors };
105
+ }
106
+ return {
107
+ matched: true,
108
+ toolCalls,
109
+ errors: [
110
+ {
111
+ code: 'PARSE_ERROR',
112
+ message: 'DSML tool call block contains no <|DSML|invoke name="NAME"> element',
113
+ raw: text.trim()
114
+ }
115
+ ]
116
+ };
117
+ }
118
+ for (const invoke of invokes) {
119
+ const raw = invoke.raw;
120
+ if (!invoke.closed) {
121
+ errors.push({
122
+ code: 'PARSE_ERROR',
123
+ message: `DSML invoke is missing its ${INVOKE_CLOSE_TAG} close tag`,
124
+ raw
125
+ });
126
+ continue;
127
+ }
128
+ const name = NAME_ATTR_REGEX.exec(invoke.attrs)?.[1]?.trim();
129
+ if (!name) {
130
+ errors.push({
131
+ code: 'PARSE_ERROR',
132
+ message: 'DSML invoke is missing a name attribute',
133
+ raw
134
+ });
135
+ continue;
136
+ }
137
+ const properties = tools.find((t) => t.name === name)?.parameters?.properties ?? {};
138
+ const args = {};
139
+ let parseError;
140
+ for (const param of invoke.body.matchAll(PARAMETER_REGEX)) {
141
+ const attrs = param[1] ?? '';
142
+ const key = NAME_ATTR_REGEX.exec(attrs)?.[1]?.trim();
143
+ if (!key) {
144
+ parseError = 'DSML parameter is missing a name attribute';
145
+ break;
146
+ }
147
+ const isString = STRING_ATTR_REGEX.exec(attrs)?.[1]?.toLowerCase();
148
+ try {
149
+ args[key] = coerceParamValue(param[2], isString, properties[key]?.type);
150
+ }
151
+ catch (err) {
152
+ parseError = `${key}: ${err instanceof Error ? err.message : String(err)}`;
153
+ break;
154
+ }
155
+ }
156
+ if (parseError !== undefined) {
157
+ errors.push({ code: 'PARSE_ERROR', message: parseError, raw });
158
+ continue;
159
+ }
160
+ const validation = validateToolArguments(name, args, tools);
161
+ if (!validation.isValid && validation.error) {
162
+ errors.push({ ...validation.error, raw });
163
+ continue;
164
+ }
165
+ toolCalls.push({
166
+ id: generateStableToolCallId(name, args),
167
+ name,
168
+ arguments: args,
169
+ raw
170
+ });
171
+ }
172
+ if (toolCalls.length === 0 && FALLBACK_DIALECT_REGEX.test(textOutsideInvokes(text, invokes))) {
173
+ return { matched: false, toolCalls: [], errors: [] };
174
+ }
175
+ return { matched: true, toolCalls, errors };
176
+ }
@@ -1,4 +1,4 @@
1
- import type { Tool } from '../../../../schemas/index';
2
- import { type ParserResult } from '../shared';
1
+ import type { Tool } from '../../../../schemas/index.js';
2
+ import { type ParserResult } from '../../../../server/utils/tools/shared.js';
3
3
  export declare function parseGemma4NativeFormat(text: string, tools: Tool[]): ParserResult;
4
4
  //# sourceMappingURL=gemma4native.d.ts.map
@@ -1,4 +1,4 @@
1
- import { generateStableToolCallId, validateToolArguments } from '../shared.js';
1
+ import { generateStableToolCallId, validateToolArguments } from '../../../../server/utils/tools/shared.js';
2
2
  // Transliterates Gemma 4's JS-literal argument body to valid JSON so it can
3
3
  // be parsed with JSON.parse. The body uses:
4
4
  // - <|"|>...<|"|> instead of "..." for string values
@@ -1,4 +1,4 @@
1
- import type { Tool } from '../../../../schemas/index';
2
- import { type ParserResult } from '../shared';
1
+ import type { Tool } from '../../../../schemas/index.js';
2
+ import { type ParserResult } from '../../../../server/utils/tools/shared.js';
3
3
  export declare function parseHarmonyFormat(text: string, tools: Tool[]): ParserResult;
4
4
  //# sourceMappingURL=harmony.d.ts.map
@@ -1,4 +1,4 @@
1
- import { generateStableToolCallId, validateToolArguments } from '../shared.js';
1
+ import { generateStableToolCallId, validateToolArguments } from '../../../../server/utils/tools/shared.js';
2
2
  const HARMONY_FRAME_RE = /to=functions\.([\w-]+)\s+<\|constrain\|>json<\|message\|>([\s\S]*?)(?=<\|call\|>|$)/g;
3
3
  export function parseHarmonyFormat(text, tools) {
4
4
  const toolCalls = [];
@@ -1,4 +1,4 @@
1
- import type { Tool } from '../../../../schemas/index';
2
- import { type ParserResult } from '../shared';
1
+ import type { Tool } from '../../../../schemas/index.js';
2
+ import { type ParserResult } from '../../../../server/utils/tools/shared.js';
3
3
  export declare function parseHermesFormat(text: string, tools: Tool[]): ParserResult;
4
4
  //# sourceMappingURL=hermes.d.ts.map
@@ -1,4 +1,4 @@
1
- import { generateStableToolCallId, isValidToolCall, validateToolArguments } from '../shared.js';
1
+ import { generateStableToolCallId, isValidToolCall, validateToolArguments } from '../../../../server/utils/tools/shared.js';
2
2
  // Qwen3.5/3.6 can fuse its two tool templates into one frame, embedding the
3
3
  // XML `<function=NAME>` token as a bare string key inside the JSON envelope:
4
4
  // {"function=NAME","arguments":{...}} (invalid JSON, not parseable as-is)
@@ -1,5 +1,5 @@
1
- import type { Tool } from '../../../../schemas/index';
2
- import { type ParserResult } from '../shared';
1
+ import type { Tool } from '../../../../schemas/index.js';
2
+ import { type ParserResult } from '../../../../server/utils/tools/shared.js';
3
3
  export declare function parseGemmaFormat(text: string, tools: Tool[]): ParserResult;
4
4
  export declare function parseLlamacppFormat(text: string, tools: Tool[]): ParserResult;
5
5
  export declare function parseGenericFormat(text: string, tools: Tool[]): ParserResult;
@@ -1,4 +1,4 @@
1
- import { generateStableToolCallId, isValidToolCall, validateToolArguments } from '../shared.js';
1
+ import { generateStableToolCallId, isValidToolCall, validateToolArguments } from '../../../../server/utils/tools/shared.js';
2
2
  export function parseGemmaFormat(text, tools) {
3
3
  const toolCalls = [];
4
4
  const errors = [];
@@ -1,4 +1,4 @@
1
- import type { Tool } from '../../../../schemas/index';
2
- import { type ParserResult } from '../shared';
1
+ import type { Tool } from '../../../../schemas/index.js';
2
+ import { type ParserResult } from '../../../../server/utils/tools/shared.js';
3
3
  export declare function parsePythonicFormat(text: string, tools: Tool[]): ParserResult;
4
4
  //# sourceMappingURL=pythonic.d.ts.map
@@ -1,4 +1,4 @@
1
- import { generateStableToolCallId, validateToolArguments } from '../shared.js';
1
+ import { generateStableToolCallId, validateToolArguments } from '../../../../server/utils/tools/shared.js';
2
2
  // Pythonic `[name(k=v), ...]` arrays. LFM 2.x is auto-routed; Llama-style
3
3
  // tokens are kept for callers that opt in via `completion({ toolDialect:
4
4
  // "pythonic" })` for a model known to emit Pythonic. Pure string parsing —
@@ -1,4 +1,4 @@
1
- import type { Tool } from '../../../../schemas/index';
2
- import { type ParserResult } from '../shared';
1
+ import type { Tool } from '../../../../schemas/index.js';
2
+ import { type ParserResult } from '../../../../server/utils/tools/shared.js';
3
3
  export declare function parseQwen35Format(text: string, tools: Tool[]): ParserResult;
4
4
  //# sourceMappingURL=qwen35.d.ts.map
@@ -1,4 +1,4 @@
1
- import { generateStableToolCallId, validateToolArguments } from '../shared.js';
1
+ import { generateStableToolCallId, validateToolArguments } from '../../../../server/utils/tools/shared.js';
2
2
  // Coerce raw parameter text to the type declared in the tool's JSON schema.
3
3
  // String values are raw (not JSON-quoted); arrays/objects are valid JSON.
4
4
  function coerceParamValue(raw, schema) {
@@ -1,4 +1,4 @@
1
- import type { Tool, ToolCall, ToolCallError } from '../../../schemas/index';
1
+ import type { Tool, ToolCall, ToolCallError } from '../../../schemas/index.js';
2
2
  export type ParserResult = {
3
3
  matched: boolean;
4
4
  toolCalls: ToolCall[];
@@ -2,7 +2,7 @@ import fs from 'bare-fs';
2
2
  import path from 'bare-path';
3
3
  import os from 'bare-os';
4
4
  import { getServerLogger } from '../../logging/index.js';
5
- import { getQvacPath } from './qvac-paths.js';
5
+ import { getQvacPath } from '../../server/utils/qvac-paths.js';
6
6
  const logger = getServerLogger();
7
7
  const LOCK_FILENAME = '.worker.lock';
8
8
  function getLockFilePath() {