@qvac/sdk 0.8.0 → 0.8.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 (60) hide show
  1. package/NOTICE +337 -0
  2. package/README.md +2 -2
  3. package/dist/client/api/cancel.d.ts +9 -0
  4. package/dist/client/api/cancel.js +9 -0
  5. package/dist/client/api/heartbeat.d.ts +30 -0
  6. package/dist/client/api/heartbeat.js +38 -0
  7. package/dist/client/api/index.d.ts +1 -1
  8. package/dist/client/api/index.js +1 -1
  9. package/dist/examples/embed-p2p.d.ts +2 -0
  10. package/dist/examples/llamacpp-p2p.d.ts +2 -0
  11. package/dist/examples/seed-p2p.d.ts +2 -0
  12. package/dist/index.d.ts +1 -1
  13. package/dist/index.js +1 -1
  14. package/dist/models/registry/models.d.ts +64 -64
  15. package/dist/models/registry/models.js +108 -108
  16. package/dist/schemas/cancel.d.ts +12 -0
  17. package/dist/schemas/cancel.js +2 -0
  18. package/dist/schemas/common.d.ts +39 -2
  19. package/dist/schemas/common.js +4 -3
  20. package/dist/schemas/delegate.d.ts +8 -0
  21. package/dist/schemas/delegate.js +5 -2
  22. package/dist/schemas/heartbeat.d.ts +17 -0
  23. package/dist/schemas/heartbeat.js +10 -0
  24. package/dist/schemas/index.d.ts +1 -1
  25. package/dist/schemas/index.js +1 -1
  26. package/dist/schemas/load-model.d.ts +113 -0
  27. package/dist/server/bare/delegate-rpc-client.js +42 -11
  28. package/dist/server/bare/plugins/nmtcpp-translation/plugin.js +1 -4
  29. package/dist/server/bare/registry/model-registry.d.ts +2 -0
  30. package/dist/server/bare/registry/model-registry.js +2 -1
  31. package/dist/server/rpc/delegate-transport.js +65 -44
  32. package/dist/server/rpc/delegate-utils.d.ts +2 -0
  33. package/dist/server/rpc/delegate-utils.js +5 -0
  34. package/dist/server/rpc/handler-registry.js +26 -3
  35. package/dist/server/rpc/handler-utils.js +43 -1
  36. package/dist/server/rpc/handlers/cancel-delegated.d.ts +4 -0
  37. package/dist/server/rpc/handlers/cancel-delegated.js +71 -0
  38. package/dist/server/rpc/handlers/completion-stream-delegated.js +2 -2
  39. package/dist/server/rpc/handlers/heartbeat-delegated.d.ts +4 -0
  40. package/dist/server/rpc/handlers/heartbeat-delegated.js +32 -0
  41. package/dist/server/rpc/handlers/heartbeat.d.ts +3 -0
  42. package/dist/server/rpc/handlers/heartbeat.js +3 -0
  43. package/dist/server/rpc/handlers/index.d.ts +2 -2
  44. package/dist/server/rpc/handlers/index.js +2 -2
  45. package/dist/server/rpc/handlers/load-model/registry.js +25 -41
  46. package/dist/server/rpc/handlers/load-model-delegated.js +6 -4
  47. package/dist/server/rpc/handlers/unload-model-delegated.js +3 -3
  48. package/package.json +10 -3
  49. package/dist/client/api/ping.d.ts +0 -11
  50. package/dist/client/api/ping.js +0 -19
  51. package/dist/examples/embed-hyperdrive.d.ts +0 -2
  52. package/dist/examples/llamacpp-hyperdrive.d.ts +0 -2
  53. package/dist/examples/seed-hyperdrive.d.ts +0 -2
  54. package/dist/schemas/ping.d.ts +0 -11
  55. package/dist/schemas/ping.js +0 -8
  56. package/dist/server/rpc/handlers/ping.d.ts +0 -3
  57. package/dist/server/rpc/handlers/ping.js +0 -3
  58. /package/dist/examples/{embed-hyperdrive.js → embed-p2p.js} +0 -0
  59. /package/dist/examples/{llamacpp-hyperdrive.js → llamacpp-p2p.js} +0 -0
  60. /package/dist/examples/{seed-hyperdrive.js → seed-p2p.js} +0 -0
package/NOTICE CHANGED
@@ -206,10 +206,14 @@ Third-Party Model Licenses
206
206
 
207
207
  AfriqueGemma-4B-GGUF
208
208
  https://huggingface.co/mradermacher/AfriqueGemma-4B-GGUF
209
+ decoder_joint_int8
210
+ https://huggingface.co/nasedkinpv/parakeet-tdt-0.6b-v3-onnx-int8
209
211
  decoder_joint-model
210
212
  https://huggingface.co/istupakov/parakeet-tdt-0.6b-v3-onnx
211
213
  diar_streaming_sortformer_4spk-v2-onnx
212
214
  https://huggingface.co/cgus/diar_streaming_sortformer_4spk-v2-onnx
215
+ encoder_int8
216
+ https://huggingface.co/nasedkinpv/parakeet-tdt-0.6b-v3-onnx-int8
213
217
  encoder-model
214
218
  https://huggingface.co/istupakov/parakeet-tdt-0.6b-v3-onnx
215
219
  ggml-opus-en-de
@@ -228,6 +232,8 @@ Third-Party Model Licenses
228
232
  https://huggingface.co/istupakov/parakeet-tdt-0.6b-v3-onnx
229
233
  preprocessor
230
234
  https://huggingface.co/istupakov/parakeet-tdt-0.6b-v3-onnx
235
+ sortformer_int8
236
+ https://huggingface.co/nvidia/diar_streaming_sortformer_4spk-v2
231
237
 
232
238
  --- gemma (Gemma Terms of Use) ---
233
239
 
@@ -356,3 +362,334 @@ the underlying models.
356
362
 
357
363
  Source URLs for original weights are recorded in each model's
358
364
  metadata entry within the registry.
365
+
366
+ =========================================================================
367
+ JavaScript Dependencies
368
+ =========================================================================
369
+
370
+ --- apache-2.0 (Apache License 2.0) ---
371
+
372
+ @hyperswarm/secret-stream@6.9.1
373
+ https://github.com/holepunchto/hyperswarm-secret-stream
374
+ @qvac/decoder-audio@0.3.3
375
+ @qvac/dl-base@0.2.0
376
+ @qvac/dl-filesystem@0.2.0
377
+ @qvac/dl-hyperdrive@0.2.0
378
+ @qvac/embed-llamacpp@0.12.0
379
+ https://github.com/tetherto/qvac-lib-infer-llamacpp-embed
380
+ @qvac/error@0.1.1
381
+ @qvac/infer-base@0.1.1
382
+ @qvac/infer-base@0.2.2
383
+ @qvac/langdetect-text@0.1.1
384
+ @qvac/llm-llamacpp@0.12.2
385
+ https://github.com/tetherto/qvac-lib-infer-llamacpp-llm
386
+ @qvac/logging@0.1.0
387
+ @qvac/ocr-onnx@0.2.0
388
+ https://github.com/tetherto/qvac-lib-inference-addon-onnx-ocr-fasttext
389
+ @qvac/rag@0.4.2
390
+ @qvac/registry-client@0.2.1
391
+ @qvac/registry-schema@0.1.1
392
+ @qvac/response@0.1.2
393
+ @qvac/transcription-parakeet@0.2.0
394
+ https://github.com/tetherto/qvac
395
+ @qvac/transcription-whispercpp@0.5.0
396
+ https://github.com/tetherto/qvac
397
+ @qvac/translation-nmtcpp@0.6.1
398
+ https://github.com/tetherto/qvac-lib-infer-nmtcpp
399
+ @qvac/tts-onnx@0.6.1
400
+ adaptive-timeout@1.0.1
401
+ https://github.com/holepunchto/adaptive-timeout
402
+ b4a@1.7.5
403
+ https://github.com/holepunchto/b4a
404
+ bare-abort-controller@1.0.0
405
+ https://github.com/holepunchto/bare-abort-controller
406
+ bare-addon-resolve@1.10.0
407
+ https://github.com/holepunchto/bare-addon-resolve
408
+ bare-ansi-escapes@2.2.3
409
+ https://github.com/holepunchto/bare-ansi-escapes
410
+ bare-assert@1.2.0
411
+ https://github.com/holepunchto/bare-assert
412
+ bare-buffer@3.4.4
413
+ https://github.com/holepunchto/bare-buffer
414
+ bare-bundle@1.10.0
415
+ https://github.com/holepunchto/bare-bundle
416
+ bare-channel@5.2.3
417
+ https://github.com/holepunchto/bare-channel
418
+ bare-crypto@1.13.0
419
+ https://github.com/holepunchto/bare-crypto
420
+ bare-dns@2.1.4
421
+ https://github.com/holepunchto/bare-dns
422
+ bare-env@3.0.0
423
+ https://github.com/holepunchto/bare-env
424
+ bare-events@2.4.2
425
+ https://github.com/holepunchto/bare-events
426
+ bare-events@2.8.2
427
+ https://github.com/holepunchto/bare-events
428
+ bare-fetch@2.5.1
429
+ https://github.com/holepunchto/bare-fetch
430
+ bare-ffmpeg@1.1.0
431
+ https://github.com/holepunchto/bare-ffmpeg
432
+ bare-form-data@1.1.6
433
+ https://github.com/holepunchto/bare-form-data
434
+ bare-fs@4.5.4
435
+ https://github.com/holepunchto/bare-fs
436
+ bare-hrtime@2.1.1
437
+ https://github.com/holepunchto/bare-hrtime
438
+ bare-http-parser@1.0.1
439
+ https://github.com/holepunchto/bare-http-parser
440
+ bare-http1@4.2.3
441
+ https://github.com/holepunchto/bare-http1
442
+ bare-https@2.1.2
443
+ https://github.com/holepunchto/bare-https
444
+ bare-inspect@3.1.4
445
+ https://github.com/holepunchto/bare-inspect
446
+ bare-lief@0.1.4
447
+ https://github.com/holepunchto/bare-lief
448
+ bare-link@2.1.10
449
+ https://github.com/holepunchto/bare-link
450
+ bare-module@6.1.3
451
+ https://github.com/holepunchto/bare-module
452
+ bare-module-lexer@1.4.7
453
+ https://github.com/holepunchto/bare-module-lexer
454
+ bare-module-resolve@1.12.1
455
+ https://github.com/holepunchto/bare-module-resolve
456
+ bare-module-traverse@2.0.1
457
+ https://github.com/holepunchto/bare-module-traverse
458
+ bare-net@2.2.0
459
+ https://github.com/holepunchto/bare-net
460
+ bare-node-stream@1.0.0
461
+ https://github.com/holepunchto/bare-node
462
+ bare-node-worker-threads@1.0.0
463
+ https://github.com/holepunchto/bare-node
464
+ bare-os@3.6.2
465
+ https://github.com/holepunchto/bare-os
466
+ bare-path@3.0.0
467
+ https://github.com/holepunchto/bare-path
468
+ bare-pipe@4.1.3
469
+ https://github.com/holepunchto/bare-pipe
470
+ bare-process@4.2.2
471
+ https://github.com/holepunchto/bare-process
472
+ bare-rpc@1.1.0
473
+ https://github.com/holepunchto/bare-rpc
474
+ bare-runtime@1.27.0
475
+ https://github.com/holepunchto/bare-runtime
476
+ bare-runtime-darwin-arm64@1.27.0
477
+ https://github.com/holepunchto/bare-runtime
478
+ bare-semver@1.0.2
479
+ https://github.com/holepunchto/bare-semver
480
+ bare-signals@4.2.0
481
+ https://github.com/holepunchto/bare-signals
482
+ bare-stream@2.8.0
483
+ https://github.com/holepunchto/bare-stream
484
+ bare-structured-clone@1.5.2
485
+ https://github.com/holepunchto/bare-structured-clone
486
+ bare-subprocess@5.2.2
487
+ https://github.com/holepunchto/bare-subprocess
488
+ bare-tcp@2.2.7
489
+ https://github.com/holepunchto/bare-tcp
490
+ bare-thread@1.1.6
491
+ https://github.com/holepunchto/bare-thread
492
+ bare-tls@2.1.7
493
+ https://github.com/holepunchto/bare-tls
494
+ bare-tty@5.0.3
495
+ https://github.com/holepunchto/bare-tty
496
+ bare-type@1.1.0
497
+ https://github.com/holepunchto/bare-type
498
+ bare-url@2.3.2
499
+ https://github.com/holepunchto/bare-url
500
+ bare-worker@4.1.6
501
+ https://github.com/holepunchto/bare-worker
502
+ bare-zlib@1.3.1
503
+ https://github.com/holepunchto/bare-zlib
504
+ blind-relay@1.4.0
505
+ https://github.com/holepunchto/blind-relay
506
+ compact-encoding@2.19.0
507
+ https://github.com/compact-encoding/compact-encoding
508
+ device-file@2.3.1
509
+ https://github.com/holepunchto/device-file
510
+ events-universal@1.0.1
511
+ https://github.com/holepunchto/events-universal
512
+ fd-lock@2.1.1
513
+ https://github.com/holepunchto/fd-lock
514
+ fs-native-extensions@1.4.5
515
+ https://github.com/holepunchto/fs-native-extensions
516
+ hyperblobs@2.9.0
517
+ https://github.com/holepunchto/hyperblobs
518
+ hypercore-errors@1.5.0
519
+ https://github.com/holepunchto/hypercore-errors
520
+ hypercore-id-encoding@1.3.0
521
+ https://github.com/holepunchto/hypercore-id-encoding
522
+ hypercore-storage@2.4.1
523
+ hyperdb@4.22.3
524
+ https://github.com/holepunchto/hyperdb
525
+ hyperdispatch@1.4.4
526
+ https://github.com/holepunchto/hyperdispatch
527
+ hyperdrive@13.3.0
528
+ https://github.com/holepunchto/hyperdrive
529
+ hyperschema@1.20.1
530
+ https://github.com/holepunchto/hyperschema
531
+ index-encoder@3.4.0
532
+ https://github.com/holepunchto/index-encoder
533
+ mirror-drive@1.12.0
534
+ https://github.com/holepunchto/mirror-drive
535
+ noise-handshake@4.2.0
536
+ https://github.com/holepunchto/noise-handshake
537
+ paparam@1.10.0
538
+ https://github.com/holepunchto/paparam
539
+ quickbit-native@2.4.8
540
+ https://github.com/holepunchto/quickbit-native
541
+ rache@1.0.0
542
+ https://github.com/holepunchto/rache
543
+ refcounter@1.0.0
544
+ https://github.com/holepunchto/refcounter
545
+ require-addon@1.2.0
546
+ https://github.com/holepunchto/require-addon
547
+ require-asset@1.2.1
548
+ https://github.com/holepunchto/require-asset
549
+ resource-on-exit@1.0.0
550
+ https://github.com/holepunchto/bare-teardown
551
+ rocksdb-native@3.13.0
552
+ https://github.com/holepunchto/rocksdb-native
553
+ scope-lock@1.2.4
554
+ https://github.com/holepunchto/scope-lock
555
+ simdle-native@1.3.9
556
+ https://github.com/holepunchto/simdle-native
557
+ sub-encoder@2.1.3
558
+ https://github.com/holepunchto/sub-encoder
559
+ text-decoder@1.2.7
560
+ https://github.com/holepunchto/text-decoder
561
+ udx-native@1.19.2
562
+ https://github.com/holepunchto/udx-native
563
+ unslab@1.3.0
564
+ https://github.com/holepunchto/unslab
565
+ which-runtime@1.3.2
566
+ https://github.com/holepunchto/which-runtime
567
+
568
+ --- isc (ISC License) ---
569
+
570
+ bits-to-bytes@1.3.0
571
+ https://github.com/holepunchto/bits-to-bytes
572
+ compact-encoding-bitfield@1.0.0
573
+ https://github.com/compact-encoding/compact-encoding-bitfield
574
+ compact-encoding-net@1.2.0
575
+ https://github.com/compact-encoding/compact-encoding-net
576
+ nanoassert@2.0.0
577
+ https://github.com/emilbayes/nanoassert
578
+ noise-curve-ed@2.1.0
579
+ https://github.com/chm-diederichs/noise-curve-ed
580
+ quickbit-universal@2.2.0
581
+ https://github.com/holepunchto/quickbit-universal
582
+ simdle-universal@1.1.2
583
+ https://github.com/holepunchto/simdle-universal
584
+
585
+ --- mit (MIT License) ---
586
+
587
+ big-sparse-array@1.0.3
588
+ https://github.com/mafintosh/big-sparse-array
589
+ binary-stream-equals@1.0.0
590
+ https://github.com/mafintosh/binary-stream-equals
591
+ bogon@1.2.0
592
+ https://github.com/mafintosh/bogon
593
+ codecs@3.1.0
594
+ https://github.com/mafintosh/codecs
595
+ corestore@7.8.0
596
+ https://github.com/holepunchto/corestore
597
+ debounceify@1.1.0
598
+ https://github.com/mafintosh/debounceify
599
+ dht-rpc@6.26.2
600
+ https://github.com/mafintosh/dht-rpc
601
+ events@3.3.0
602
+ https://github.com/Gozala/events
603
+ fast-fifo@1.3.2
604
+ https://github.com/mafintosh/fast-fifo
605
+ fast-safe-stringify@2.1.1
606
+ https://github.com/davidmarkclements/fast-safe-stringify
607
+ flat-tree@1.13.0
608
+ https://github.com/mafintosh/flat-tree
609
+ generate-object-property@2.0.0
610
+ https://github.com/mafintosh/generate-object-property
611
+ generate-string@1.0.1
612
+ https://github.com/mafintosh/generate-string
613
+ hyperbee@2.27.3
614
+ https://github.com/holepunchto/hyperbee
615
+ hypercore@11.26.0
616
+ https://github.com/holepunchto/hypercore
617
+ hypercore-crypto@3.6.1
618
+ https://github.com/mafintosh/hypercore-crypto
619
+ hyperdht@6.29.0
620
+ https://github.com/holepunchto/hyperdht
621
+ hyperswarm@4.16.0
622
+ https://github.com/holepunchto/hyperswarm
623
+ is-options@1.0.2
624
+ https://github.com/mafintosh/is-options
625
+ is-property@1.0.2
626
+ https://github.com/mikolalysenko/is-property
627
+ kademlia-routing-table@1.0.6
628
+ https://github.com/mafintosh/kademlia-routing-table
629
+ llm-splitter@0.2.0
630
+ https://github.com/nearform/llm-splitter
631
+ mutexify@1.4.0
632
+ https://github.com/mafintosh/mutexify
633
+ nat-sampler@1.0.1
634
+ https://github.com/mafintosh/nat-sampler
635
+ protocol-buffers-encodings@1.2.0
636
+ https://github.com/mafintosh/protocol-buffers-encodings
637
+ protomux@3.10.1
638
+ https://github.com/mafintosh/protomux
639
+ queue-tick@1.0.1
640
+ https://github.com/mafintosh/queue-tick
641
+ random-array-iterator@1.0.0
642
+ https://github.com/mafintosh/random-array-iterator
643
+ ready-resource@1.2.0
644
+ https://github.com/holepunchto/ready-resource
645
+ record-cache@1.2.0
646
+ https://github.com/mafintosh/record-cache
647
+ resolve-reject-promise@1.1.0
648
+ https://github.com/mafintosh/resolve-reject-promise
649
+ safety-catch@1.0.2
650
+ https://github.com/mafintosh/safety-catch
651
+ same-data@1.0.0
652
+ https://github.com/mafintosh/same-data
653
+ shuffled-priority-queue@2.1.0
654
+ https://github.com/mafintosh/shuffled-priority-queue
655
+ signal-promise@1.0.3
656
+ https://github.com/mafintosh/signal-promise
657
+ signed-varint@2.0.1
658
+ https://github.com/dominictarr/signed-varint
659
+ sodium-native@5.0.10
660
+ https://github.com/holepunchto/sodium-native
661
+ sodium-secretstream@1.2.0
662
+ https://github.com/mafintosh/sodium-secretstream
663
+ sodium-universal@5.0.1
664
+ https://github.com/holepunchto/sodium-universal
665
+ speedometer@1.1.0
666
+ https://github.com/mafintosh/speedometer
667
+ streamx@2.23.0
668
+ https://github.com/mafintosh/streamx
669
+ tar-stream@3.1.7
670
+ https://github.com/mafintosh/tar-stream
671
+ teex@1.0.1
672
+ https://github.com/mafintosh/teex
673
+ test-tmp@1.4.0
674
+ https://github.com/mafintosh/test-tmp
675
+ time-ordered-set@2.0.1
676
+ https://github.com/mafintosh/time-ordered-set
677
+ timeout-refresh@2.0.1
678
+ https://github.com/mafintosh/timeout-refresh
679
+ tinyld@1.3.4
680
+ https://github.com/komodojp/tinyld
681
+ unix-path-resolve@1.0.2
682
+ https://github.com/mafintosh/unix-path-resolve
683
+ unordered-set@2.0.1
684
+ https://github.com/mafintosh/unordered-set
685
+ uuid-random@1.3.2
686
+ https://github.com/jchook/uuid-random
687
+ varint@5.0.0
688
+ https://github.com/chrisdickinson/varint
689
+ xache@1.2.1
690
+ https://github.com/mafintosh/xache
691
+ z32@1.1.0
692
+ https://github.com/mafintosh/z32
693
+ zod@4.3.6
694
+ https://github.com/colinhacks/zod
695
+
package/README.md CHANGED
@@ -167,7 +167,7 @@ bun run examples/path/to/example.ts
167
167
  ### Completion
168
168
 
169
169
  - `llama.cpp` with local files: [`examples/llamacpp-filesystem.ts`](examples/llamacpp-filesystem.ts)
170
- - `llama.cpp` with Hyperdrive: [`examples/llamacpp-hyperdrive.ts`](examples/llamacpp-hyperdrive.ts)
170
+ - `llama.cpp` with P2P registry: [`examples/llamacpp-p2p.ts`](examples/llamacpp-p2p.ts)
171
171
  - `llama.cpp` with HTTP: [`examples/llamacpp-http.ts`](examples/llamacpp-http.ts)
172
172
  - `llama.cpp` with tools/function calls: [`examples/llamacpp-native-tools.ts`](examples/llamacpp-native-tools.ts)
173
173
  - `llama.cpp` with multimodal inference: [`examples/llamacpp-multimodal.ts`](examples/llamacpp-multimodal.ts)
@@ -180,7 +180,7 @@ bun run examples/path/to/example.ts
180
180
 
181
181
  ### Embeddings
182
182
 
183
- - Single and batch embeddings: [`examples/embed-hyperdrive.ts`](examples/embed-hyperdrive.ts)
183
+ - Single and batch embeddings: [`examples/embed-p2p.ts`](examples/embed-p2p.ts)
184
184
 
185
185
  **RAG with HyperDB** (cross-platform):
186
186
 
@@ -7,6 +7,7 @@ import { type CancelParams } from "../../schemas/index";
7
7
  * @param params.modelId - The model ID (required for inference cancellation)
8
8
  * @param params.downloadKey - The download key (required for download cancellation)
9
9
  * @param params.clearCache - If true, deletes the partial download file (default: false)
10
+ * @param params.delegate - Delegation target for remote download cancellation (optional)
10
11
  * @param params.workspace - The RAG workspace to cancel (optional, defaults to "default")
11
12
  * @throws {QvacErrorBase} When the response type is invalid or when the cancellation fails
12
13
  *
@@ -23,6 +24,14 @@ import { type CancelParams } from "../../schemas/index";
23
24
  * await cancel({ operation: "downloadAsset", downloadKey: "download-key", clearCache: true });
24
25
  *
25
26
  * @example
27
+ * // Cancel delegated remote download
28
+ * await cancel({
29
+ * operation: "downloadAsset",
30
+ * downloadKey: "download-key",
31
+ * delegate: { topic: "topicHex", providerPublicKey: "peerHex" },
32
+ * });
33
+ *
34
+ * @example
26
35
  * // Cancel RAG operation on default workspace
27
36
  * await cancel({ operation: "rag" });
28
37
  *
@@ -9,6 +9,7 @@ import { InvalidResponseError, CancelFailedError } from "../../utils/errors-clie
9
9
  * @param params.modelId - The model ID (required for inference cancellation)
10
10
  * @param params.downloadKey - The download key (required for download cancellation)
11
11
  * @param params.clearCache - If true, deletes the partial download file (default: false)
12
+ * @param params.delegate - Delegation target for remote download cancellation (optional)
12
13
  * @param params.workspace - The RAG workspace to cancel (optional, defaults to "default")
13
14
  * @throws {QvacErrorBase} When the response type is invalid or when the cancellation fails
14
15
  *
@@ -25,6 +26,14 @@ import { InvalidResponseError, CancelFailedError } from "../../utils/errors-clie
25
26
  * await cancel({ operation: "downloadAsset", downloadKey: "download-key", clearCache: true });
26
27
  *
27
28
  * @example
29
+ * // Cancel delegated remote download
30
+ * await cancel({
31
+ * operation: "downloadAsset",
32
+ * downloadKey: "download-key",
33
+ * delegate: { topic: "topicHex", providerPublicKey: "peerHex" },
34
+ * });
35
+ *
36
+ * @example
28
37
  * // Cancel RAG operation on default workspace
29
38
  * await cancel({ operation: "rag" });
30
39
  *
@@ -0,0 +1,30 @@
1
+ import { type HeartbeatResponse } from "../../schemas/index";
2
+ import type { DelegateBase } from "../../schemas/delegate";
3
+ /**
4
+ * Checks if a delegated provider is online by sending a heartbeat round-trip.
5
+ * Can also be used to check if the local SDK worker is responsive.
6
+ *
7
+ * @param params - Delegation target to check
8
+ * @param params.delegate - The provider to check (topic + publicKey + optional timeout)
9
+ * @returns A promise that resolves to a heartbeat response if the provider is reachable.
10
+ * @throws {QvacErrorBase} When the provider is unreachable or the response is invalid.
11
+ *
12
+ * @example
13
+ * // Check if a delegated provider is online
14
+ * try {
15
+ * await heartbeat({
16
+ * delegate: { topic: "topicHex", providerPublicKey: "peerHex", timeout: 3000 },
17
+ * });
18
+ * console.log("Provider is online");
19
+ * } catch {
20
+ * console.log("Provider is offline");
21
+ * }
22
+ *
23
+ * @example
24
+ * // Check if the local SDK worker is responsive
25
+ * await heartbeat();
26
+ */
27
+ export declare function heartbeat(params?: {
28
+ delegate?: DelegateBase;
29
+ }): Promise<HeartbeatResponse>;
30
+ //# sourceMappingURL=heartbeat.d.ts.map
@@ -0,0 +1,38 @@
1
+ import {} from "../../schemas/index.js";
2
+ import { send } from "../rpc/rpc-client.js";
3
+ import { InvalidResponseError } from "../../utils/errors-client.js";
4
+ /**
5
+ * Checks if a delegated provider is online by sending a heartbeat round-trip.
6
+ * Can also be used to check if the local SDK worker is responsive.
7
+ *
8
+ * @param params - Delegation target to check
9
+ * @param params.delegate - The provider to check (topic + publicKey + optional timeout)
10
+ * @returns A promise that resolves to a heartbeat response if the provider is reachable.
11
+ * @throws {QvacErrorBase} When the provider is unreachable or the response is invalid.
12
+ *
13
+ * @example
14
+ * // Check if a delegated provider is online
15
+ * try {
16
+ * await heartbeat({
17
+ * delegate: { topic: "topicHex", providerPublicKey: "peerHex", timeout: 3000 },
18
+ * });
19
+ * console.log("Provider is online");
20
+ * } catch {
21
+ * console.log("Provider is offline");
22
+ * }
23
+ *
24
+ * @example
25
+ * // Check if the local SDK worker is responsive
26
+ * await heartbeat();
27
+ */
28
+ export async function heartbeat(params) {
29
+ const request = {
30
+ type: "heartbeat",
31
+ ...(params?.delegate && { delegate: params.delegate }),
32
+ };
33
+ const response = await send(request);
34
+ if (response.type !== "heartbeat") {
35
+ throw new InvalidResponseError("heartbeat");
36
+ }
37
+ return response;
38
+ }
@@ -4,7 +4,7 @@ export { completion } from "./completion-stream";
4
4
  export { deleteCache } from "./delete-cache";
5
5
  export { unloadModel } from "./unload-model";
6
6
  export { loggingStream } from "./logging-stream";
7
- export { ping } from "./ping";
7
+ export { heartbeat } from "./heartbeat";
8
8
  export { transcribe, transcribeStream } from "./transcribe";
9
9
  export { embed } from "./embed";
10
10
  export { translate } from "./translate";
@@ -4,7 +4,7 @@ export { completion } from "./completion-stream.js";
4
4
  export { deleteCache } from "./delete-cache.js";
5
5
  export { unloadModel } from "./unload-model.js";
6
6
  export { loggingStream } from "./logging-stream.js";
7
- export { ping } from "./ping.js";
7
+ export { heartbeat } from "./heartbeat.js";
8
8
  export { transcribe, transcribeStream } from "./transcribe.js";
9
9
  export { embed } from "./embed.js";
10
10
  export { translate } from "./translate.js";
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=embed-p2p.d.ts.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=llamacpp-p2p.d.ts.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=seed-p2p.d.ts.map
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { completion, deleteCache, loadModel, downloadAsset, ping, startQVACProvider, stopQVACProvider, unloadModel, transcribe, transcribeStream, embed, translate, cancel, ragChunk, ragIngest, ragSaveEmbeddings, ragSearch, ragDeleteEmbeddings, ragReindex, ragListWorkspaces, ragCloseWorkspace, ragDeleteWorkspace, textToSpeech, getModelInfo, loggingStream, ocr, invokePlugin, invokePluginStream, modelRegistryList, modelRegistrySearch, modelRegistryGetModel, type ModelRegistrySearchParams, } from "./client/api/index";
1
+ export { completion, deleteCache, loadModel, downloadAsset, heartbeat, startQVACProvider, stopQVACProvider, unloadModel, transcribe, transcribeStream, embed, translate, cancel, ragChunk, ragIngest, ragSaveEmbeddings, ragSearch, ragDeleteEmbeddings, ragReindex, ragListWorkspaces, ragCloseWorkspace, ragDeleteWorkspace, textToSpeech, getModelInfo, loggingStream, ocr, invokePlugin, invokePluginStream, modelRegistryList, modelRegistrySearch, modelRegistryGetModel, type ModelRegistrySearchParams, } from "./client/api/index";
2
2
  export { close } from "./client/index";
3
3
  export { type ModelProgressUpdate, type LoadModelOptions, type DownloadAssetOptions, type Tool, type ToolCall, type ToolCallWithCall, type ToolCallError, type ToolCallEvent, type CompletionStats, VERBOSITY, type Attachment, type CompletionParams, type RagSearchResult, type RagSaveEmbeddingsResult, type RagReindexResult, type RagEmbeddedDoc, type RagDoc, type RagWorkspaceInfo, type RagCloseWorkspaceParams, type RagDeleteWorkspaceParams, type RagIngestStage, type RagReindexStage, type RagSaveStage, SDK_CLIENT_ERROR_CODES, SDK_SERVER_ERROR_CODES, type QvacConfig, type ModelInfo, type GetModelInfoParams, type LoadedInstance, type CacheFileInfo, toolSchema, type McpClient, type McpClientInput, type OCRClientParams, type OCRTextBlock, type OCROptions, definePlugin, defineHandler, type QvacPlugin, type CreateModelParams, type PluginModelResult, type ModelRegistryEntry, type ModelRegistryEntryAddon, PLUGIN_LLM, PLUGIN_EMBEDDING, PLUGIN_WHISPER, PLUGIN_NMT, PLUGIN_TTS, PLUGIN_OCR, SDK_DEFAULT_PLUGINS, type BuiltinPlugin, type ProfilerMode, } from "./schemas/index";
4
4
  export { type ToolInput, type ToolHandler } from "./utils/tool-helpers";
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // Public API exports only
2
- export { completion, deleteCache, loadModel, downloadAsset, ping, startQVACProvider, stopQVACProvider, unloadModel, transcribe, transcribeStream, embed, translate, cancel, ragChunk, ragIngest, ragSaveEmbeddings, ragSearch, ragDeleteEmbeddings, ragReindex, ragListWorkspaces, ragCloseWorkspace, ragDeleteWorkspace, textToSpeech, getModelInfo, loggingStream, ocr, invokePlugin, invokePluginStream, modelRegistryList, modelRegistrySearch, modelRegistryGetModel, } from "./client/api/index.js";
2
+ export { completion, deleteCache, loadModel, downloadAsset, heartbeat, startQVACProvider, stopQVACProvider, unloadModel, transcribe, transcribeStream, embed, translate, cancel, ragChunk, ragIngest, ragSaveEmbeddings, ragSearch, ragDeleteEmbeddings, ragReindex, ragListWorkspaces, ragCloseWorkspace, ragDeleteWorkspace, textToSpeech, getModelInfo, loggingStream, ocr, invokePlugin, invokePluginStream, modelRegistryList, modelRegistrySearch, modelRegistryGetModel, } from "./client/api/index.js";
3
3
  export { close } from "./client/index.js";
4
4
  export { VERBOSITY, SDK_CLIENT_ERROR_CODES, SDK_SERVER_ERROR_CODES, toolSchema, definePlugin, defineHandler, PLUGIN_LLM, PLUGIN_EMBEDDING, PLUGIN_WHISPER, PLUGIN_NMT, PLUGIN_TTS, PLUGIN_OCR, SDK_DEFAULT_PLUGINS, } from "./schemas/index.js";
5
5
  export {} from "./utils/tool-helpers.js";