@qvac/harness 0.8.5 → 0.8.6

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 (53) hide show
  1. package/CHANGELOG.md +55 -1
  2. package/README.md +49 -0
  3. package/dist-lib/index.d.ts +31 -2
  4. package/dist-lib/index.js +365 -53
  5. package/dist-lib/lib/audio-transcode-bare.d.ts +1 -1
  6. package/dist-lib/lib/audio-transcode-bare.js +22 -25
  7. package/dist-lib/lib/audio-transcode-node.d.ts +1 -1
  8. package/dist-lib/lib/audio-transcode-node.js +1 -3
  9. package/dist-lib/lib/capabilities/audio-resample.d.ts +1 -1
  10. package/dist-lib/lib/capabilities/audio-resample.js +7 -8
  11. package/dist-lib/lib/capabilities/completion.d.ts +5 -2
  12. package/dist-lib/lib/capabilities/completion.js +22 -4
  13. package/dist-lib/lib/capabilities/download.d.ts +3 -1
  14. package/dist-lib/lib/capabilities/download.js +1 -1
  15. package/dist-lib/lib/capabilities/preview-model-source.d.ts +1 -0
  16. package/dist-lib/lib/capabilities/preview-model-source.js +1 -0
  17. package/dist-lib/lib/capabilities/usage-breakdown.js +4 -1
  18. package/dist-lib/lib/capabilities/voice.d.ts +5 -1
  19. package/dist-lib/lib/capabilities/voice.js +94 -26
  20. package/dist-lib/lib/connect.d.ts +4 -1
  21. package/dist-lib/lib/connect.js +14 -1
  22. package/dist-lib/lib/contract-types.d.ts +10 -0
  23. package/dist-lib/lib/models/download-gate.d.ts +20 -0
  24. package/dist-lib/lib/models/download-gate.js +73 -0
  25. package/dist-lib/lib/models/memory-cap.d.ts +13 -0
  26. package/dist-lib/lib/models/memory-cap.js +21 -0
  27. package/dist-lib/lib/models/model-catalog-constants.d.ts +3 -1
  28. package/dist-lib/lib/models/model-catalog-constants.js +9 -1
  29. package/dist-lib/lib/models/model-catalog.d.ts +6 -2
  30. package/dist-lib/lib/models/model-catalog.js +35 -3
  31. package/dist-lib/lib/models/model-handle.d.ts +8 -1
  32. package/dist-lib/lib/models/model-handle.js +20 -2
  33. package/dist-lib/lib/models/model-list.d.ts +8 -1
  34. package/dist-lib/lib/models/model-list.js +23 -0
  35. package/dist-lib/lib/models/model-pool.d.ts +33 -5
  36. package/dist-lib/lib/models/model-pool.js +97 -29
  37. package/dist-lib/lib/serve.js +18 -2
  38. package/dist-lib/lib/tools/generate-image.d.ts +4 -2
  39. package/dist-lib/lib/tools/generate-image.js +5 -2
  40. package/dist-lib/lib/tools/generate-music.d.ts +4 -2
  41. package/dist-lib/lib/tools/generate-music.js +5 -2
  42. package/dist-lib/lib/tools/translate.d.ts +3 -1
  43. package/dist-lib/lib/tools/translate.js +6 -1
  44. package/dist-lib/schema/harness.js +41 -3
  45. package/dist-lib/spec/bind.js +9 -0
  46. package/dist-lib/spec/calls.js +3 -0
  47. package/dist-lib/spec/hrpc/hrpc.json +39 -0
  48. package/dist-lib/spec/hrpc/index.js +39 -3
  49. package/dist-lib/spec/hrpc/messages.js +93 -10
  50. package/dist-lib/spec/hyperschema/index.js +93 -10
  51. package/dist-lib/spec/hyperschema/schema.json +57 -1
  52. package/dist-lib/spec/hyperschema/types.d.ts +19 -2
  53. package/package.json +4 -4
@@ -1,12 +1,12 @@
1
1
  // This file is autogenerated by the hyperschema compiler
2
- // Schema Version: 18
2
+ // Schema Version: 19
3
3
  /* eslint-disable camelcase */
4
4
  /* eslint-disable quotes */
5
5
  /* eslint-disable space-before-function-paren */
6
6
 
7
7
  import { c } from 'hyperschema/runtime'
8
8
 
9
- const VERSION = 18
9
+ const VERSION = 19
10
10
 
11
11
  // eslint-disable-next-line no-unused-vars
12
12
  let version = VERSION
@@ -918,13 +918,14 @@ const encoding14_enum = {
918
918
  error: 'error',
919
919
  unloading: 'unloading',
920
920
  unloaded: 'unloaded',
921
- downloaded: 'downloaded'
921
+ downloaded: 'downloaded',
922
+ held: 'held'
922
923
  }
923
924
 
924
925
  // @harness/model-event-status enum
925
926
  const encoding14 = {
926
927
  preencode (state, m) {
927
- state.end++ // max enum is 7 so always one byte
928
+ state.end++ // max enum is 8 so always one byte
928
929
  },
929
930
  encode (state, m) {
930
931
  switch (m) {
@@ -949,6 +950,9 @@ const encoding14 = {
949
950
  case 'downloaded':
950
951
  c.uint.encode(state, 7)
951
952
  break
953
+ case 'held':
954
+ c.uint.encode(state, 8)
955
+ break
952
956
  default:
953
957
  throw new Error('Unknown enum')
954
958
  }
@@ -969,6 +973,8 @@ const encoding14 = {
969
973
  return 'unloaded'
970
974
  case 7:
971
975
  return 'downloaded'
976
+ case 8:
977
+ return 'held'
972
978
  default: return null
973
979
  }
974
980
  }
@@ -1001,8 +1007,18 @@ const encoding16_4 = c.array(c.frame(encoding15))
1001
1007
  // @harness/model-event
1002
1008
  const encoding16 = {
1003
1009
  preencode(state, m) {
1010
+ const flags =
1011
+ (m.model ? 1 : 0) |
1012
+ (m.percentage ? 2 : 0) |
1013
+ (m.message ? 4 : 0) |
1014
+ (m.loaded ? 8 : 0) |
1015
+ (m.catalogChanged ? 16 : 0) |
1016
+ ((version >= 5 && m.downloaded) ? 32 : 0) |
1017
+ ((version >= 5 && m.total) ? 64 : 0) |
1018
+ ((version >= 19 && m.addon) ? 128 : 0)
1019
+
1004
1020
  encoding14.preencode(state, m.status)
1005
- state.end++ // max flag is 64 so always one byte
1021
+ c.uint.preencode(state, flags)
1006
1022
 
1007
1023
  if (m.model) c.string.preencode(state, m.model)
1008
1024
  if (m.percentage) c.uint.preencode(state, m.percentage)
@@ -1010,6 +1026,7 @@ const encoding16 = {
1010
1026
  if (m.loaded) encoding16_4.preencode(state, m.loaded)
1011
1027
  if (version >= 5 && m.downloaded) c.uint.preencode(state, m.downloaded)
1012
1028
  if (version >= 5 && m.total) c.uint.preencode(state, m.total)
1029
+ if (version >= 19 && m.addon) c.string.preencode(state, m.addon)
1013
1030
  },
1014
1031
  encode(state, m) {
1015
1032
  const flags =
@@ -1019,7 +1036,8 @@ const encoding16 = {
1019
1036
  (m.loaded ? 8 : 0) |
1020
1037
  (m.catalogChanged ? 16 : 0) |
1021
1038
  ((version >= 5 && m.downloaded) ? 32 : 0) |
1022
- ((version >= 5 && m.total) ? 64 : 0)
1039
+ ((version >= 5 && m.total) ? 64 : 0) |
1040
+ ((version >= 19 && m.addon) ? 128 : 0)
1023
1041
 
1024
1042
  encoding14.encode(state, m.status)
1025
1043
  c.uint.encode(state, flags)
@@ -1030,6 +1048,7 @@ const encoding16 = {
1030
1048
  if (m.loaded) encoding16_4.encode(state, m.loaded)
1031
1049
  if (version >= 5 && m.downloaded) c.uint.encode(state, m.downloaded)
1032
1050
  if (version >= 5 && m.total) c.uint.encode(state, m.total)
1051
+ if (version >= 19 && m.addon) c.string.encode(state, m.addon)
1033
1052
  },
1034
1053
  decode(state) {
1035
1054
  const r0 = encoding14.decode(state)
@@ -1043,7 +1062,8 @@ const encoding16 = {
1043
1062
  loaded: (flags & 8) !== 0 ? encoding16_4.decode(state) : null,
1044
1063
  catalogChanged: (flags & 16) !== 0,
1045
1064
  downloaded: (version >= 5 && (flags & 32) !== 0) ? c.uint.decode(state) : 0,
1046
- total: (version >= 5 && (flags & 64) !== 0) ? c.uint.decode(state) : 0
1065
+ total: (version >= 5 && (flags & 64) !== 0) ? c.uint.decode(state) : 0,
1066
+ addon: (version >= 19 && (flags & 128) !== 0) ? c.string.decode(state) : null
1047
1067
  }
1048
1068
  }
1049
1069
  }
@@ -1610,11 +1630,12 @@ const encoding31 = {
1610
1630
  c.string.preencode(state, m.type)
1611
1631
  c.string.preencode(state, m.registryPath)
1612
1632
  c.string.preencode(state, m.registrySource)
1613
- state.end++ // max flag is 32 so always one byte
1633
+ state.end++ // max flag is 64 so always one byte
1614
1634
  c.uint.preencode(state, m.expectedSize)
1615
1635
 
1616
1636
  if (m.actualSize) c.uint.preencode(state, m.actualSize)
1617
1637
  if (version >= 15 && m.label) c.string.preencode(state, m.label)
1638
+ if (version >= 19 && m.memoryBytes) c.uint.preencode(state, m.memoryBytes)
1618
1639
  },
1619
1640
  encode(state, m) {
1620
1641
  const flags =
@@ -1623,7 +1644,8 @@ const encoding31 = {
1623
1644
  (m.supportsImages ? 4 : 0) |
1624
1645
  (m.actualSize ? 8 : 0) |
1625
1646
  ((version >= 15 && m.label) ? 16 : 0) |
1626
- ((version >= 18 && m.isLoading) ? 32 : 0)
1647
+ ((version >= 18 && m.isLoading) ? 32 : 0) |
1648
+ ((version >= 19 && m.memoryBytes) ? 64 : 0)
1627
1649
 
1628
1650
  c.string.encode(state, m.name)
1629
1651
  c.string.encode(state, m.type)
@@ -1634,6 +1656,7 @@ const encoding31 = {
1634
1656
 
1635
1657
  if (m.actualSize) c.uint.encode(state, m.actualSize)
1636
1658
  if (version >= 15 && m.label) c.string.encode(state, m.label)
1659
+ if (version >= 19 && m.memoryBytes) c.uint.encode(state, m.memoryBytes)
1637
1660
  },
1638
1661
  decode(state) {
1639
1662
  const r0 = c.string.decode(state)
@@ -1653,7 +1676,8 @@ const encoding31 = {
1653
1676
  expectedSize: c.uint.decode(state),
1654
1677
  actualSize: (flags & 8) !== 0 ? c.uint.decode(state) : 0,
1655
1678
  label: (version >= 15 && (flags & 16) !== 0) ? c.string.decode(state) : null,
1656
- isLoading: (version >= 18 && (flags & 32) !== 0)
1679
+ isLoading: (version >= 18 && (flags & 32) !== 0),
1680
+ memoryBytes: (version >= 19 && (flags & 64) !== 0) ? c.uint.decode(state) : 0
1657
1681
  }
1658
1682
  }
1659
1683
  }
@@ -3428,6 +3452,59 @@ const encoding91 = {
3428
3452
  }
3429
3453
  }
3430
3454
 
3455
+ // @harness/set-model-memory-cap-request
3456
+ const encoding92 = {
3457
+ preencode(state, m) {
3458
+ c.uint.preencode(state, m.percent)
3459
+ },
3460
+ encode(state, m) {
3461
+ c.uint.encode(state, m.percent)
3462
+ },
3463
+ decode(state) {
3464
+ const r0 = c.uint.decode(state)
3465
+
3466
+ return {
3467
+ percent: r0
3468
+ }
3469
+ }
3470
+ }
3471
+
3472
+ // @harness/memory-usage
3473
+ const encoding93 = {
3474
+ preencode(state, m) {
3475
+ c.uint.preencode(state, m.usedBytes)
3476
+ },
3477
+ encode(state, m) {
3478
+ c.uint.encode(state, m.usedBytes)
3479
+ },
3480
+ decode(state) {
3481
+ const r0 = c.uint.decode(state)
3482
+
3483
+ return {
3484
+ usedBytes: r0
3485
+ }
3486
+ }
3487
+ }
3488
+
3489
+ // @harness/set-downloads-allowed-request
3490
+ const encoding94 = {
3491
+ preencode(state, m) {
3492
+ state.end++ // max flag is 1 so always one byte
3493
+ },
3494
+ encode(state, m) {
3495
+ const flags = (version >= 19 && m.allowed) ? 1 : 0
3496
+
3497
+ c.uint.encode(state, flags)
3498
+ },
3499
+ decode(state) {
3500
+ const flags = c.uint.decode(state)
3501
+
3502
+ return {
3503
+ allowed: (version >= 19 && (flags & 1) !== 0)
3504
+ }
3505
+ }
3506
+ }
3507
+
3431
3508
  // @harness/completion-frame.grantedDrives, deferred due to recusive use
3432
3509
  const encoding11_23 = c.array(c.frame(encoding60))
3433
3510
  // @harness/skill.setupV2, deferred due to recusive use
@@ -3674,6 +3751,12 @@ function getEncoding(name) {
3674
3751
  return encoding90
3675
3752
  case '@harness/unload-model-response':
3676
3753
  return encoding91
3754
+ case '@harness/set-model-memory-cap-request':
3755
+ return encoding92
3756
+ case '@harness/memory-usage':
3757
+ return encoding93
3758
+ case '@harness/set-downloads-allowed-request':
3759
+ return encoding94
3677
3760
  default:
3678
3761
  throw new Error('Encoder not found ' + name)
3679
3762
  }
@@ -1,12 +1,12 @@
1
1
  // This file is autogenerated by the hyperschema compiler
2
- // Schema Version: 18
2
+ // Schema Version: 19
3
3
  /* eslint-disable camelcase */
4
4
  /* eslint-disable quotes */
5
5
  /* eslint-disable space-before-function-paren */
6
6
 
7
7
  import { c } from 'hyperschema/runtime'
8
8
 
9
- const VERSION = 18
9
+ const VERSION = 19
10
10
 
11
11
  // eslint-disable-next-line no-unused-vars
12
12
  let version = VERSION
@@ -918,13 +918,14 @@ const encoding14_enum = {
918
918
  error: 'error',
919
919
  unloading: 'unloading',
920
920
  unloaded: 'unloaded',
921
- downloaded: 'downloaded'
921
+ downloaded: 'downloaded',
922
+ held: 'held'
922
923
  }
923
924
 
924
925
  // @harness/model-event-status enum
925
926
  const encoding14 = {
926
927
  preencode (state, m) {
927
- state.end++ // max enum is 7 so always one byte
928
+ state.end++ // max enum is 8 so always one byte
928
929
  },
929
930
  encode (state, m) {
930
931
  switch (m) {
@@ -949,6 +950,9 @@ const encoding14 = {
949
950
  case 'downloaded':
950
951
  c.uint.encode(state, 7)
951
952
  break
953
+ case 'held':
954
+ c.uint.encode(state, 8)
955
+ break
952
956
  default:
953
957
  throw new Error('Unknown enum')
954
958
  }
@@ -969,6 +973,8 @@ const encoding14 = {
969
973
  return 'unloaded'
970
974
  case 7:
971
975
  return 'downloaded'
976
+ case 8:
977
+ return 'held'
972
978
  default: return null
973
979
  }
974
980
  }
@@ -1001,8 +1007,18 @@ const encoding16_4 = c.array(c.frame(encoding15))
1001
1007
  // @harness/model-event
1002
1008
  const encoding16 = {
1003
1009
  preencode(state, m) {
1010
+ const flags =
1011
+ (m.model ? 1 : 0) |
1012
+ (m.percentage ? 2 : 0) |
1013
+ (m.message ? 4 : 0) |
1014
+ (m.loaded ? 8 : 0) |
1015
+ (m.catalogChanged ? 16 : 0) |
1016
+ ((version >= 5 && m.downloaded) ? 32 : 0) |
1017
+ ((version >= 5 && m.total) ? 64 : 0) |
1018
+ ((version >= 19 && m.addon) ? 128 : 0)
1019
+
1004
1020
  encoding14.preencode(state, m.status)
1005
- state.end++ // max flag is 64 so always one byte
1021
+ c.uint.preencode(state, flags)
1006
1022
 
1007
1023
  if (m.model) c.string.preencode(state, m.model)
1008
1024
  if (m.percentage) c.uint.preencode(state, m.percentage)
@@ -1010,6 +1026,7 @@ const encoding16 = {
1010
1026
  if (m.loaded) encoding16_4.preencode(state, m.loaded)
1011
1027
  if (version >= 5 && m.downloaded) c.uint.preencode(state, m.downloaded)
1012
1028
  if (version >= 5 && m.total) c.uint.preencode(state, m.total)
1029
+ if (version >= 19 && m.addon) c.string.preencode(state, m.addon)
1013
1030
  },
1014
1031
  encode(state, m) {
1015
1032
  const flags =
@@ -1019,7 +1036,8 @@ const encoding16 = {
1019
1036
  (m.loaded ? 8 : 0) |
1020
1037
  (m.catalogChanged ? 16 : 0) |
1021
1038
  ((version >= 5 && m.downloaded) ? 32 : 0) |
1022
- ((version >= 5 && m.total) ? 64 : 0)
1039
+ ((version >= 5 && m.total) ? 64 : 0) |
1040
+ ((version >= 19 && m.addon) ? 128 : 0)
1023
1041
 
1024
1042
  encoding14.encode(state, m.status)
1025
1043
  c.uint.encode(state, flags)
@@ -1030,6 +1048,7 @@ const encoding16 = {
1030
1048
  if (m.loaded) encoding16_4.encode(state, m.loaded)
1031
1049
  if (version >= 5 && m.downloaded) c.uint.encode(state, m.downloaded)
1032
1050
  if (version >= 5 && m.total) c.uint.encode(state, m.total)
1051
+ if (version >= 19 && m.addon) c.string.encode(state, m.addon)
1033
1052
  },
1034
1053
  decode(state) {
1035
1054
  const r0 = encoding14.decode(state)
@@ -1043,7 +1062,8 @@ const encoding16 = {
1043
1062
  loaded: (flags & 8) !== 0 ? encoding16_4.decode(state) : null,
1044
1063
  catalogChanged: (flags & 16) !== 0,
1045
1064
  downloaded: (version >= 5 && (flags & 32) !== 0) ? c.uint.decode(state) : 0,
1046
- total: (version >= 5 && (flags & 64) !== 0) ? c.uint.decode(state) : 0
1065
+ total: (version >= 5 && (flags & 64) !== 0) ? c.uint.decode(state) : 0,
1066
+ addon: (version >= 19 && (flags & 128) !== 0) ? c.string.decode(state) : null
1047
1067
  }
1048
1068
  }
1049
1069
  }
@@ -1610,11 +1630,12 @@ const encoding31 = {
1610
1630
  c.string.preencode(state, m.type)
1611
1631
  c.string.preencode(state, m.registryPath)
1612
1632
  c.string.preencode(state, m.registrySource)
1613
- state.end++ // max flag is 32 so always one byte
1633
+ state.end++ // max flag is 64 so always one byte
1614
1634
  c.uint.preencode(state, m.expectedSize)
1615
1635
 
1616
1636
  if (m.actualSize) c.uint.preencode(state, m.actualSize)
1617
1637
  if (version >= 15 && m.label) c.string.preencode(state, m.label)
1638
+ if (version >= 19 && m.memoryBytes) c.uint.preencode(state, m.memoryBytes)
1618
1639
  },
1619
1640
  encode(state, m) {
1620
1641
  const flags =
@@ -1623,7 +1644,8 @@ const encoding31 = {
1623
1644
  (m.supportsImages ? 4 : 0) |
1624
1645
  (m.actualSize ? 8 : 0) |
1625
1646
  ((version >= 15 && m.label) ? 16 : 0) |
1626
- ((version >= 18 && m.isLoading) ? 32 : 0)
1647
+ ((version >= 18 && m.isLoading) ? 32 : 0) |
1648
+ ((version >= 19 && m.memoryBytes) ? 64 : 0)
1627
1649
 
1628
1650
  c.string.encode(state, m.name)
1629
1651
  c.string.encode(state, m.type)
@@ -1634,6 +1656,7 @@ const encoding31 = {
1634
1656
 
1635
1657
  if (m.actualSize) c.uint.encode(state, m.actualSize)
1636
1658
  if (version >= 15 && m.label) c.string.encode(state, m.label)
1659
+ if (version >= 19 && m.memoryBytes) c.uint.encode(state, m.memoryBytes)
1637
1660
  },
1638
1661
  decode(state) {
1639
1662
  const r0 = c.string.decode(state)
@@ -1653,7 +1676,8 @@ const encoding31 = {
1653
1676
  expectedSize: c.uint.decode(state),
1654
1677
  actualSize: (flags & 8) !== 0 ? c.uint.decode(state) : 0,
1655
1678
  label: (version >= 15 && (flags & 16) !== 0) ? c.string.decode(state) : null,
1656
- isLoading: (version >= 18 && (flags & 32) !== 0)
1679
+ isLoading: (version >= 18 && (flags & 32) !== 0),
1680
+ memoryBytes: (version >= 19 && (flags & 64) !== 0) ? c.uint.decode(state) : 0
1657
1681
  }
1658
1682
  }
1659
1683
  }
@@ -3428,6 +3452,59 @@ const encoding91 = {
3428
3452
  }
3429
3453
  }
3430
3454
 
3455
+ // @harness/set-model-memory-cap-request
3456
+ const encoding92 = {
3457
+ preencode(state, m) {
3458
+ c.uint.preencode(state, m.percent)
3459
+ },
3460
+ encode(state, m) {
3461
+ c.uint.encode(state, m.percent)
3462
+ },
3463
+ decode(state) {
3464
+ const r0 = c.uint.decode(state)
3465
+
3466
+ return {
3467
+ percent: r0
3468
+ }
3469
+ }
3470
+ }
3471
+
3472
+ // @harness/memory-usage
3473
+ const encoding93 = {
3474
+ preencode(state, m) {
3475
+ c.uint.preencode(state, m.usedBytes)
3476
+ },
3477
+ encode(state, m) {
3478
+ c.uint.encode(state, m.usedBytes)
3479
+ },
3480
+ decode(state) {
3481
+ const r0 = c.uint.decode(state)
3482
+
3483
+ return {
3484
+ usedBytes: r0
3485
+ }
3486
+ }
3487
+ }
3488
+
3489
+ // @harness/set-downloads-allowed-request
3490
+ const encoding94 = {
3491
+ preencode(state, m) {
3492
+ state.end++ // max flag is 1 so always one byte
3493
+ },
3494
+ encode(state, m) {
3495
+ const flags = (version >= 19 && m.allowed) ? 1 : 0
3496
+
3497
+ c.uint.encode(state, flags)
3498
+ },
3499
+ decode(state) {
3500
+ const flags = c.uint.decode(state)
3501
+
3502
+ return {
3503
+ allowed: (version >= 19 && (flags & 1) !== 0)
3504
+ }
3505
+ }
3506
+ }
3507
+
3431
3508
  // @harness/completion-frame.grantedDrives, deferred due to recusive use
3432
3509
  const encoding11_23 = c.array(c.frame(encoding60))
3433
3510
  // @harness/skill.setupV2, deferred due to recusive use
@@ -3674,6 +3751,12 @@ function getEncoding(name) {
3674
3751
  return encoding90
3675
3752
  case '@harness/unload-model-response':
3676
3753
  return encoding91
3754
+ case '@harness/set-model-memory-cap-request':
3755
+ return encoding92
3756
+ case '@harness/memory-usage':
3757
+ return encoding93
3758
+ case '@harness/set-downloads-allowed-request':
3759
+ return encoding94
3677
3760
  default:
3678
3761
  throw new Error('Encoder not found ' + name)
3679
3762
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": 18,
2
+ "version": 19,
3
3
  "schema": [
4
4
  {
5
5
  "name": "empty",
@@ -739,6 +739,10 @@
739
739
  {
740
740
  "key": "downloaded",
741
741
  "version": 8
742
+ },
743
+ {
744
+ "key": "held",
745
+ "version": 19
742
746
  }
743
747
  ],
744
748
  "strings": true
@@ -810,6 +814,11 @@
810
814
  "name": "total",
811
815
  "type": "uint",
812
816
  "version": 5
817
+ },
818
+ {
819
+ "name": "addon",
820
+ "type": "string",
821
+ "version": 19
813
822
  }
814
823
  ]
815
824
  },
@@ -1346,6 +1355,11 @@
1346
1355
  "name": "isLoading",
1347
1356
  "type": "bool",
1348
1357
  "version": 18
1358
+ },
1359
+ {
1360
+ "name": "memoryBytes",
1361
+ "type": "uint",
1362
+ "version": 19
1349
1363
  }
1350
1364
  ]
1351
1365
  },
@@ -2774,6 +2788,48 @@
2774
2788
  "version": 16
2775
2789
  }
2776
2790
  ]
2791
+ },
2792
+ {
2793
+ "name": "set-model-memory-cap-request",
2794
+ "namespace": "harness",
2795
+ "compact": false,
2796
+ "flagsPosition": -1,
2797
+ "fields": [
2798
+ {
2799
+ "name": "percent",
2800
+ "required": true,
2801
+ "type": "uint",
2802
+ "version": 19
2803
+ }
2804
+ ]
2805
+ },
2806
+ {
2807
+ "name": "memory-usage",
2808
+ "namespace": "harness",
2809
+ "compact": false,
2810
+ "flagsPosition": -1,
2811
+ "fields": [
2812
+ {
2813
+ "name": "usedBytes",
2814
+ "required": true,
2815
+ "type": "uint",
2816
+ "version": 19
2817
+ }
2818
+ ]
2819
+ },
2820
+ {
2821
+ "name": "set-downloads-allowed-request",
2822
+ "namespace": "harness",
2823
+ "compact": false,
2824
+ "flagsPosition": 0,
2825
+ "fields": [
2826
+ {
2827
+ "name": "allowed",
2828
+ "required": false,
2829
+ "type": "bool",
2830
+ "version": 19
2831
+ }
2832
+ ]
2777
2833
  }
2778
2834
  ]
2779
2835
  }
@@ -1,5 +1,5 @@
1
1
  // This file is autogenerated by hyperschema-ts
2
- // Schema version: 18
2
+ // Schema version: 19
3
3
  // Do not edit manually.
4
4
 
5
5
  export interface HarnessEmpty {
@@ -126,7 +126,7 @@ export interface HarnessCompletionEvent {
126
126
  rawCall?: string | null
127
127
  }
128
128
 
129
- export type HarnessModelEventStatus = "loading" | "downloading" | "ready" | "error" | "unloading" | "unloaded" | "downloaded"
129
+ export type HarnessModelEventStatus = "loading" | "downloading" | "ready" | "error" | "unloading" | "unloaded" | "downloaded" | "held"
130
130
 
131
131
  export interface HarnessLoadedModel {
132
132
  model: string
@@ -142,6 +142,7 @@ export interface HarnessModelEvent {
142
142
  catalogChanged?: boolean
143
143
  downloaded?: number
144
144
  total?: number
145
+ addon?: string | null
145
146
  }
146
147
 
147
148
  export interface HarnessDownloadRequest {
@@ -258,6 +259,7 @@ export interface HarnessModelInfo {
258
259
  actualSize?: number
259
260
  label?: string | null
260
261
  isLoading?: boolean
262
+ memoryBytes?: number
261
263
  }
262
264
 
263
265
  export interface HarnessListModelsRequest {
@@ -583,6 +585,18 @@ export interface HarnessUnloadModelResponse {
583
585
  unloaded?: boolean
584
586
  }
585
587
 
588
+ export interface HarnessSetModelMemoryCapRequest {
589
+ percent: number
590
+ }
591
+
592
+ export interface HarnessMemoryUsage {
593
+ usedBytes: number
594
+ }
595
+
596
+ export interface HarnessSetDownloadsAllowedRequest {
597
+ allowed?: boolean
598
+ }
599
+
586
600
  export interface SchemaTypes {
587
601
  "@harness/empty": HarnessEmpty
588
602
  "@harness/ok-response": HarnessOkResponse
@@ -676,4 +690,7 @@ export interface SchemaTypes {
676
690
  "@harness/load-model-response": HarnessLoadModelResponse
677
691
  "@harness/unload-model-request": HarnessUnloadModelRequest
678
692
  "@harness/unload-model-response": HarnessUnloadModelResponse
693
+ "@harness/set-model-memory-cap-request": HarnessSetModelMemoryCapRequest
694
+ "@harness/memory-usage": HarnessMemoryUsage
695
+ "@harness/set-downloads-allowed-request": HarnessSetDownloadsAllowedRequest
679
696
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qvac/harness",
3
- "version": "0.8.5",
3
+ "version": "0.8.6",
4
4
  "type": "module",
5
5
  "engines": {
6
6
  "bare": ">=1.34.0"
@@ -744,9 +744,9 @@
744
744
  }
745
745
  },
746
746
  "dependencies": {
747
- "@qvac/inference": "0.20.0",
747
+ "@qvac/inference": "0.21.0",
748
748
  "@qvac/langdetect-text": "0.1.2",
749
- "@qvac/sdk": "0.20.0",
749
+ "@qvac/sdk": "0.21.0",
750
750
  "@qvac/skills": "0.1.12",
751
751
  "@xmldom/xmldom": "^0.9.12",
752
752
  "asenion": "^0.1.0",
@@ -821,7 +821,7 @@
821
821
  "localwatch@1.4.3": "patches/localwatch@1.4.3.patch",
822
822
  "hypercore-blob-server@1.15.0": "patches/hypercore-blob-server@1.15.0.patch",
823
823
  "bare-stow@0.1.5": "patches/bare-stow@0.1.5.patch",
824
- "@qvac/inference@0.20.0": "patches/@qvac%2Finference@0.20.0.patch"
824
+ "@qvac/inference@0.21.0": "patches/@qvac%2Finference@0.21.0.patch"
825
825
  },
826
826
  "repository": {
827
827
  "type": "git",