@tx5dr/contracts 1.7.3 → 1.7.5

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 (109) hide show
  1. package/dist/index.d.ts +4 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +6 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/schema/__tests__/ability.test.d.ts +2 -0
  6. package/dist/schema/__tests__/ability.test.d.ts.map +1 -0
  7. package/dist/schema/__tests__/ability.test.js +32 -0
  8. package/dist/schema/__tests__/ability.test.js.map +1 -0
  9. package/dist/schema/__tests__/cw-decoder.schema.test.d.ts +2 -0
  10. package/dist/schema/__tests__/cw-decoder.schema.test.d.ts.map +1 -0
  11. package/dist/schema/__tests__/cw-decoder.schema.test.js +114 -0
  12. package/dist/schema/__tests__/cw-decoder.schema.test.js.map +1 -0
  13. package/dist/schema/__tests__/device-ui.schema.test.d.ts +2 -0
  14. package/dist/schema/__tests__/device-ui.schema.test.d.ts.map +1 -0
  15. package/dist/schema/__tests__/device-ui.schema.test.js +111 -0
  16. package/dist/schema/__tests__/device-ui.schema.test.js.map +1 -0
  17. package/dist/schema/__tests__/process-monitor.schema.test.js +96 -0
  18. package/dist/schema/__tests__/process-monitor.schema.test.js.map +1 -1
  19. package/dist/schema/__tests__/radio.schema.test.d.ts +2 -0
  20. package/dist/schema/__tests__/radio.schema.test.d.ts.map +1 -0
  21. package/dist/schema/__tests__/radio.schema.test.js +143 -0
  22. package/dist/schema/__tests__/radio.schema.test.js.map +1 -0
  23. package/dist/schema/ability.d.ts +3 -1
  24. package/dist/schema/ability.d.ts.map +1 -1
  25. package/dist/schema/ability.js +11 -0
  26. package/dist/schema/ability.js.map +1 -1
  27. package/dist/schema/api-response.schema.d.ts +168 -1
  28. package/dist/schema/api-response.schema.d.ts.map +1 -1
  29. package/dist/schema/api-response.schema.js +22 -0
  30. package/dist/schema/api-response.schema.js.map +1 -1
  31. package/dist/schema/cpu-profile.schema.d.ts +6 -6
  32. package/dist/schema/cw-decoder.schema.d.ts +2501 -0
  33. package/dist/schema/cw-decoder.schema.d.ts.map +1 -0
  34. package/dist/schema/cw-decoder.schema.js +196 -0
  35. package/dist/schema/cw-decoder.schema.js.map +1 -0
  36. package/dist/schema/cw-keyer.schema.d.ts +368 -0
  37. package/dist/schema/cw-keyer.schema.d.ts.map +1 -0
  38. package/dist/schema/cw-keyer.schema.js +143 -0
  39. package/dist/schema/cw-keyer.schema.js.map +1 -0
  40. package/dist/schema/desktop-https.schema.js +1 -1
  41. package/dist/schema/desktop-https.schema.js.map +1 -1
  42. package/dist/schema/device-ui.schema.d.ts +1782 -0
  43. package/dist/schema/device-ui.schema.d.ts.map +1 -0
  44. package/dist/schema/device-ui.schema.js +156 -0
  45. package/dist/schema/device-ui.schema.js.map +1 -0
  46. package/dist/schema/mode.schema.d.ts +1 -0
  47. package/dist/schema/mode.schema.d.ts.map +1 -1
  48. package/dist/schema/mode.schema.js +8 -0
  49. package/dist/schema/mode.schema.js.map +1 -1
  50. package/dist/schema/plugin.schema.d.ts +905 -60
  51. package/dist/schema/plugin.schema.d.ts.map +1 -1
  52. package/dist/schema/plugin.schema.js +62 -2
  53. package/dist/schema/plugin.schema.js.map +1 -1
  54. package/dist/schema/process-monitor.schema.d.ts +1948 -261
  55. package/dist/schema/process-monitor.schema.d.ts.map +1 -1
  56. package/dist/schema/process-monitor.schema.js +11 -0
  57. package/dist/schema/process-monitor.schema.js.map +1 -1
  58. package/dist/schema/radio-capability.schema.d.ts +1 -1
  59. package/dist/schema/radio-capability.schema.d.ts.map +1 -1
  60. package/dist/schema/radio-capability.schema.js +41 -0
  61. package/dist/schema/radio-capability.schema.js.map +1 -1
  62. package/dist/schema/radio-power.schema.d.ts +6 -0
  63. package/dist/schema/radio-power.schema.d.ts.map +1 -1
  64. package/dist/schema/radio-profile.schema.d.ts +86 -0
  65. package/dist/schema/radio-profile.schema.d.ts.map +1 -1
  66. package/dist/schema/radio.schema.d.ts +160 -3
  67. package/dist/schema/radio.schema.d.ts.map +1 -1
  68. package/dist/schema/radio.schema.js +82 -0
  69. package/dist/schema/radio.schema.js.map +1 -1
  70. package/dist/schema/realtime.schema.d.ts +6 -6
  71. package/dist/schema/voice.schema.d.ts +1 -1
  72. package/dist/schema/voice.schema.d.ts.map +1 -1
  73. package/dist/schema/voice.schema.js +1 -1
  74. package/dist/schema/voice.schema.js.map +1 -1
  75. package/dist/schema/websocket.schema.d.ts +6071 -574
  76. package/dist/schema/websocket.schema.d.ts.map +1 -1
  77. package/dist/schema/websocket.schema.js +102 -2
  78. package/dist/schema/websocket.schema.js.map +1 -1
  79. package/dist/utils/__tests__/cwTiming.test.d.ts +2 -0
  80. package/dist/utils/__tests__/cwTiming.test.d.ts.map +1 -0
  81. package/dist/utils/__tests__/cwTiming.test.js +74 -0
  82. package/dist/utils/__tests__/cwTiming.test.js.map +1 -0
  83. package/dist/utils/cwTiming.d.ts +36 -0
  84. package/dist/utils/cwTiming.d.ts.map +1 -0
  85. package/dist/utils/cwTiming.js +155 -0
  86. package/dist/utils/cwTiming.js.map +1 -0
  87. package/package.json +1 -1
  88. package/src/index.ts +8 -0
  89. package/src/schema/__tests__/ability.test.ts +40 -0
  90. package/src/schema/__tests__/cw-decoder.schema.test.ts +127 -0
  91. package/src/schema/__tests__/device-ui.schema.test.ts +122 -0
  92. package/src/schema/__tests__/process-monitor.schema.test.ts +99 -0
  93. package/src/schema/__tests__/radio.schema.test.ts +160 -0
  94. package/src/schema/ability.ts +13 -0
  95. package/src/schema/api-response.schema.ts +22 -0
  96. package/src/schema/cw-decoder.schema.ts +234 -0
  97. package/src/schema/cw-keyer.schema.ts +177 -0
  98. package/src/schema/desktop-https.schema.ts +1 -1
  99. package/src/schema/device-ui.schema.ts +182 -0
  100. package/src/schema/mode.schema.ts +8 -0
  101. package/src/schema/plugin.schema.ts +80 -2
  102. package/src/schema/process-monitor.schema.ts +18 -0
  103. package/src/schema/radio-capability.schema.ts +41 -0
  104. package/src/schema/radio.schema.ts +97 -0
  105. package/src/schema/voice.schema.ts +1 -1
  106. package/src/schema/websocket.schema.ts +131 -2
  107. package/src/utils/__tests__/cwTiming.test.ts +91 -0
  108. package/src/utils/cwTiming.ts +203 -0
  109. package/test/plugin-slot-schema.test.ts +52 -0
package/dist/index.d.ts CHANGED
@@ -41,9 +41,12 @@ export * from './schema/auth.schema.js';
41
41
  export * from './schema/system.schema.js';
42
42
  export * from './schema/voice.schema.js';
43
43
  export * from './schema/voice-keyer.schema.js';
44
+ export * from './schema/cw-keyer.schema.js';
45
+ export * from './schema/cw-decoder.schema.js';
44
46
  export * from './schema/station-info.schema.js';
45
47
  export * from './utils/grid.js';
46
48
  export * from './utils/callsign.js';
49
+ export * from './utils/cwTiming.js';
47
50
  export * from './schema/process-monitor.schema.js';
48
51
  export * from './schema/cpu-profile.schema.js';
49
52
  export * from './schema/openwebrx.schema.js';
@@ -54,6 +57,7 @@ export * from './schema/audio-sidecar.schema.js';
54
57
  export * from './schema/rigctld.schema.js';
55
58
  export * from './schema/realtime.schema.js';
56
59
  export * from './schema/desktop-https.schema.js';
60
+ export * from './schema/device-ui.schema.js';
57
61
  export * from './schema/plugin.schema.js';
58
62
  export * from './schema/update.schema.js';
59
63
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AAGzC,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACf,MAAM,8BAA8B,CAAC;AAGtC,YAAY,EACV,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,QAAQ,EACT,MAAM,8BAA8B,CAAC;AAEtC,YAAY,EACV,cAAc,EACf,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,aAAa,EACd,MAAM,8BAA8B,CAAC;AAEtC,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,6BAA6B,EAC7B,2BAA2B,EAC3B,gCAAgC,EAChC,sCAAsC,EACtC,kCAAkC,GAEnC,MAAM,8BAA8B,CAAC;AAGtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AAGzC,cAAc,0BAA0B,CAAC;AAGzC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,0BAA0B,CAAC;AAGzC,cAAc,0BAA0B,CAAC;AAGzC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,0BAA0B,CAAC;AAGzC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,6BAA6B,CAAC;AAG5C,cAAc,wBAAwB,CAAC;AAGvC,cAAc,8BAA8B,CAAC;AAG7C,cAAc,8BAA8B,CAAC;AAG7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AAGzC,cAAc,iCAAiC,CAAC;AAGhD,cAAc,iCAAiC,CAAC;AAGhD,cAAc,gCAAgC,CAAC;AAG/C,cAAc,kCAAkC,CAAC;AAGjD,cAAc,qBAAqB,CAAC;AAGpC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,2BAA2B,CAAC;AAG1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAG/C,cAAc,iCAAiC,CAAC;AAGhD,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,oCAAoC,CAAC;AAGnD,cAAc,gCAAgC,CAAC;AAG/C,cAAc,8BAA8B,CAAC;AAG7C,cAAc,qCAAqC,CAAC;AAGpD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAGhD,cAAc,kCAAkC,CAAC;AAGjD,cAAc,4BAA4B,CAAC;AAG3C,cAAc,6BAA6B,CAAC;AAG5C,cAAc,kCAAkC,CAAC;AAGjD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AAGzC,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACf,MAAM,8BAA8B,CAAC;AAGtC,YAAY,EACV,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,QAAQ,EACT,MAAM,8BAA8B,CAAC;AAEtC,YAAY,EACV,cAAc,EACf,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,aAAa,EACd,MAAM,8BAA8B,CAAC;AAEtC,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,6BAA6B,EAC7B,2BAA2B,EAC3B,gCAAgC,EAChC,sCAAsC,EACtC,kCAAkC,GAEnC,MAAM,8BAA8B,CAAC;AAGtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AAGzC,cAAc,0BAA0B,CAAC;AAGzC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,0BAA0B,CAAC;AAGzC,cAAc,0BAA0B,CAAC;AAGzC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,0BAA0B,CAAC;AAGzC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,6BAA6B,CAAC;AAG5C,cAAc,wBAAwB,CAAC;AAGvC,cAAc,8BAA8B,CAAC;AAG7C,cAAc,8BAA8B,CAAC;AAG7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AAGzC,cAAc,iCAAiC,CAAC;AAGhD,cAAc,iCAAiC,CAAC;AAGhD,cAAc,gCAAgC,CAAC;AAG/C,cAAc,kCAAkC,CAAC;AAGjD,cAAc,qBAAqB,CAAC;AAGpC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,2BAA2B,CAAC;AAG1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAG/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAG9C,cAAc,iCAAiC,CAAC;AAGhD,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,oCAAoC,CAAC;AAGnD,cAAc,gCAAgC,CAAC;AAG/C,cAAc,8BAA8B,CAAC;AAG7C,cAAc,qCAAqC,CAAC;AAGpD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAGhD,cAAc,kCAAkC,CAAC;AAGjD,cAAc,4BAA4B,CAAC;AAG3C,cAAc,6BAA6B,CAAC;AAG5C,cAAc,kCAAkC,CAAC;AAGjD,cAAc,8BAA8B,CAAC;AAG7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC"}
package/dist/index.js CHANGED
@@ -61,11 +61,15 @@ export * from './schema/system.schema.js';
61
61
  // Voice Schema
62
62
  export * from './schema/voice.schema.js';
63
63
  export * from './schema/voice-keyer.schema.js';
64
+ // CW Keyer Schema
65
+ export * from './schema/cw-keyer.schema.js';
66
+ export * from './schema/cw-decoder.schema.js';
64
67
  // Station Info Schema
65
68
  export * from './schema/station-info.schema.js';
66
69
  // Grid Utils
67
70
  export * from './utils/grid.js';
68
71
  export * from './utils/callsign.js';
72
+ export * from './utils/cwTiming.js';
69
73
  // Process Monitor Schema
70
74
  export * from './schema/process-monitor.schema.js';
71
75
  // CPU Profile Schema
@@ -85,6 +89,8 @@ export * from './schema/rigctld.schema.js';
85
89
  export * from './schema/realtime.schema.js';
86
90
  // Desktop HTTPS Schema
87
91
  export * from './schema/desktop-https.schema.js';
92
+ // Device UI Schema
93
+ export * from './schema/device-ui.schema.js';
88
94
  // Plugin Schema
89
95
  export * from './schema/plugin.schema.js';
90
96
  export * from './schema/update.schema.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AAEzC,oDAAoD;AACpD,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACf,MAAM,8BAA8B,CAAC;AAetC,OAAO,EACL,aAAa,EACd,MAAM,8BAA8B,CAAC;AActC,mBAAmB;AACnB,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AAEzC,WAAW;AACX,cAAc,0BAA0B,CAAC;AAEzC,YAAY;AACZ,cAAc,yBAAyB,CAAC;AAExC,eAAe;AACf,cAAc,0BAA0B,CAAC;AAEzC,eAAe;AACf,cAAc,0BAA0B,CAAC;AAEzC,aAAa;AACb,cAAc,wBAAwB,CAAC;AAEvC,eAAe;AACf,cAAc,0BAA0B,CAAC;AAEzC,cAAc;AACd,cAAc,yBAAyB,CAAC;AAExC,kBAAkB;AAClB,cAAc,6BAA6B,CAAC;AAE5C,eAAe;AACf,cAAc,wBAAwB,CAAC;AAEvC,mBAAmB;AACnB,cAAc,8BAA8B,CAAC;AAE7C,mBAAmB;AACnB,cAAc,8BAA8B,CAAC;AAE7C,iBAAiB;AACjB,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AAEzC,sBAAsB;AACtB,cAAc,iCAAiC,CAAC;AAEhD,+BAA+B;AAC/B,cAAc,iCAAiC,CAAC;AAEhD,qBAAqB;AACrB,cAAc,gCAAgC,CAAC;AAE/C,uBAAuB;AACvB,cAAc,kCAAkC,CAAC;AAEjD,oEAAoE;AACpE,cAAc,qBAAqB,CAAC;AAEpC,cAAc;AACd,cAAc,yBAAyB,CAAC;AAExC,gBAAgB;AAChB,cAAc,2BAA2B,CAAC;AAE1C,eAAe;AACf,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAE/C,sBAAsB;AACtB,cAAc,iCAAiC,CAAC;AAEhD,aAAa;AACb,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AAEpC,yBAAyB;AACzB,cAAc,oCAAoC,CAAC;AAEnD,qBAAqB;AACrB,cAAc,gCAAgC,CAAC;AAE/C,mBAAmB;AACnB,cAAc,8BAA8B,CAAC;AAE7C,0BAA0B;AAC1B,cAAc,qCAAqC,CAAC;AAEpD,qBAAqB;AACrB,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAEhD,uBAAuB;AACvB,cAAc,kCAAkC,CAAC;AAEjD,wBAAwB;AACxB,cAAc,4BAA4B,CAAC;AAE3C,kBAAkB;AAClB,cAAc,6BAA6B,CAAC;AAE5C,uBAAuB;AACvB,cAAc,kCAAkC,CAAC;AAEjD,gBAAgB;AAChB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AAEzC,oDAAoD;AACpD,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACf,MAAM,8BAA8B,CAAC;AAetC,OAAO,EACL,aAAa,EACd,MAAM,8BAA8B,CAAC;AActC,mBAAmB;AACnB,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AAEzC,WAAW;AACX,cAAc,0BAA0B,CAAC;AAEzC,YAAY;AACZ,cAAc,yBAAyB,CAAC;AAExC,eAAe;AACf,cAAc,0BAA0B,CAAC;AAEzC,eAAe;AACf,cAAc,0BAA0B,CAAC;AAEzC,aAAa;AACb,cAAc,wBAAwB,CAAC;AAEvC,eAAe;AACf,cAAc,0BAA0B,CAAC;AAEzC,cAAc;AACd,cAAc,yBAAyB,CAAC;AAExC,kBAAkB;AAClB,cAAc,6BAA6B,CAAC;AAE5C,eAAe;AACf,cAAc,wBAAwB,CAAC;AAEvC,mBAAmB;AACnB,cAAc,8BAA8B,CAAC;AAE7C,mBAAmB;AACnB,cAAc,8BAA8B,CAAC;AAE7C,iBAAiB;AACjB,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AAEzC,sBAAsB;AACtB,cAAc,iCAAiC,CAAC;AAEhD,+BAA+B;AAC/B,cAAc,iCAAiC,CAAC;AAEhD,qBAAqB;AACrB,cAAc,gCAAgC,CAAC;AAE/C,uBAAuB;AACvB,cAAc,kCAAkC,CAAC;AAEjD,oEAAoE;AACpE,cAAc,qBAAqB,CAAC;AAEpC,cAAc;AACd,cAAc,yBAAyB,CAAC;AAExC,gBAAgB;AAChB,cAAc,2BAA2B,CAAC;AAE1C,eAAe;AACf,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAE/C,kBAAkB;AAClB,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAE9C,sBAAsB;AACtB,cAAc,iCAAiC,CAAC;AAEhD,aAAa;AACb,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AAEpC,yBAAyB;AACzB,cAAc,oCAAoC,CAAC;AAEnD,qBAAqB;AACrB,cAAc,gCAAgC,CAAC;AAE/C,mBAAmB;AACnB,cAAc,8BAA8B,CAAC;AAE7C,0BAA0B;AAC1B,cAAc,qCAAqC,CAAC;AAEpD,qBAAqB;AACrB,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAEhD,uBAAuB;AACvB,cAAc,kCAAkC,CAAC;AAEjD,wBAAwB;AACxB,cAAc,4BAA4B,CAAC;AAE3C,kBAAkB;AAClB,cAAc,6BAA6B,CAAC;AAE5C,uBAAuB;AACvB,cAAc,kCAAkC,CAAC;AAEjD,mBAAmB;AACnB,cAAc,8BAA8B,CAAC;AAE7C,gBAAgB;AAChB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ability.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ability.test.d.ts","sourceRoot":"","sources":["../../../src/schema/__tests__/ability.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,32 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { buildAbilityRules, Permission, PERMISSION_GROUPS, PERMISSION_RULE_MAP, } from '../ability.js';
3
+ import { UserRole } from '../auth.schema.js';
4
+ describe('ability contracts', () => {
5
+ it('maps CW decoder permissions to separate control and config capabilities', () => {
6
+ expect(PERMISSION_RULE_MAP[Permission.CW_DECODER_CONTROL]).toEqual({
7
+ action: 'execute',
8
+ subject: 'CWDecoder',
9
+ });
10
+ expect(PERMISSION_RULE_MAP[Permission.CW_DECODER_CONFIG]).toEqual({
11
+ action: 'update',
12
+ subject: 'CWDecoderConfig',
13
+ });
14
+ });
15
+ it('keeps CW decoder permissions delegatable instead of granting them to every operator', () => {
16
+ expect(buildAbilityRules({ role: UserRole.OPERATOR, operatorIds: ['op1'] }))
17
+ .not.toContainEqual({ action: 'execute', subject: 'CWDecoder' });
18
+ expect(buildAbilityRules({
19
+ role: UserRole.OPERATOR,
20
+ operatorIds: ['op1'],
21
+ permissionGrants: [{ permission: Permission.CW_DECODER_CONTROL }],
22
+ })).toContainEqual({ action: 'execute', subject: 'CWDecoder' });
23
+ });
24
+ it('exposes CW permissions in the token permission groups', () => {
25
+ const cwGroup = PERMISSION_GROUPS.find(group => group.key === 'cw');
26
+ expect(cwGroup?.permissions).toEqual([
27
+ Permission.CW_DECODER_CONTROL,
28
+ Permission.CW_DECODER_CONFIG,
29
+ ]);
30
+ });
31
+ });
32
+ //# sourceMappingURL=ability.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ability.test.js","sourceRoot":"","sources":["../../../src/schema/__tests__/ability.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;QACjF,MAAM,CAAC,mBAAmB,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC;YACjE,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,WAAW;SACrB,CAAC,CAAC;QACH,MAAM,CAAC,mBAAmB,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC;YAChE,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,iBAAiB;SAC3B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qFAAqF,EAAE,GAAG,EAAE;QAC7F,MAAM,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aACzE,GAAG,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;QAEnE,MAAM,CAAC,iBAAiB,CAAC;YACvB,IAAI,EAAE,QAAQ,CAAC,QAAQ;YACvB,WAAW,EAAE,CAAC,KAAK,CAAC;YACpB,gBAAgB,EAAE,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,kBAAkB,EAAE,CAAC;SAClE,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;QACpE,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,OAAO,CAAC;YACnC,UAAU,CAAC,kBAAkB;YAC7B,UAAU,CAAC,iBAAiB;SAC7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cw-decoder.schema.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cw-decoder.schema.test.d.ts","sourceRoot":"","sources":["../../../src/schema/__tests__/cw-decoder.schema.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,114 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { CWDecoderConfigSchema, CWDecoderEventSchema, CWDecoderStatusSchema, CWDecoderTuningUpdateSchema, } from '../cw-decoder.schema.js';
3
+ describe('CW decoder contracts', () => {
4
+ it('parses v1 defaults', () => {
5
+ expect(CWDecoderConfigSchema.parse({})).toMatchObject({
6
+ enabled: false,
7
+ backend: 'deepcw-onnx',
8
+ runtimeBackend: 'cpu',
9
+ modelSize: 'tiny',
10
+ language: 'en',
11
+ mode: 'streaming',
12
+ targetFreqHz: 800,
13
+ filterWidthHz: 800,
14
+ windowSeconds: 12,
15
+ decodeIntervalMs: 1000,
16
+ muteWhileTransmitting: true,
17
+ workerCount: 1,
18
+ minCommitChars: 1,
19
+ commitStability: 2,
20
+ maxPendingAgeMs: 4000,
21
+ });
22
+ });
23
+ it('accepts pending and commit transcript events', () => {
24
+ expect(CWDecoderEventSchema.parse({
25
+ kind: 'pending',
26
+ text: 'CQ TEST',
27
+ confidence: 0.8,
28
+ timestamp: 1,
29
+ })).toMatchObject({ kind: 'pending', text: 'CQ TEST' });
30
+ expect(CWDecoderEventSchema.parse({
31
+ kind: 'commit',
32
+ text: 'CQ TEST',
33
+ confidence: 0.9,
34
+ timestamp: 2,
35
+ segment: {
36
+ id: 'seg-1',
37
+ sessionId: 'session-1',
38
+ sequence: 1,
39
+ text: 'CQ TEST',
40
+ startedAt: 1,
41
+ updatedAt: 2,
42
+ endedAt: 2,
43
+ confidence: 0.9,
44
+ finalized: true,
45
+ prependSpace: true,
46
+ },
47
+ })).toMatchObject({ kind: 'commit', segment: { finalized: true } });
48
+ });
49
+ it('accepts structured transcript reset, pending, and commit events', () => {
50
+ expect(CWDecoderEventSchema.parse({
51
+ kind: 'transcript_reset',
52
+ sessionId: 'session-1',
53
+ timestamp: 1,
54
+ })).toMatchObject({ kind: 'transcript_reset', sessionId: 'session-1' });
55
+ expect(CWDecoderEventSchema.parse({
56
+ kind: 'transcript_pending',
57
+ pending: {
58
+ sessionId: 'session-1',
59
+ version: 1,
60
+ text: 'CQ TE',
61
+ plainText: 'CQ TE',
62
+ finalized: false,
63
+ confidence: 0.7,
64
+ targetFreqHz: 800,
65
+ filterWidthHz: 800,
66
+ updatedAt: 2,
67
+ },
68
+ timestamp: 2,
69
+ })).toMatchObject({ kind: 'transcript_pending', pending: { finalized: false, version: 1 } });
70
+ expect(CWDecoderEventSchema.parse({
71
+ kind: 'transcript_commit',
72
+ segment: {
73
+ id: 'seg-1',
74
+ sessionId: 'session-1',
75
+ sequence: 1,
76
+ text: 'CQ TEST',
77
+ plainText: 'CQ TEST',
78
+ finalized: true,
79
+ prependSpace: false,
80
+ confidence: 0.9,
81
+ targetFreqHz: 800,
82
+ filterWidthHz: 800,
83
+ characterSpans: [{ char: 'C', startFrame: 1, endFrame: 2 }],
84
+ wordSpaceSpans: [{ startFrame: 10, endFrame: 12 }],
85
+ startedAt: 1,
86
+ endedAt: 3,
87
+ updatedAt: 3,
88
+ },
89
+ timestamp: 3,
90
+ })).toMatchObject({ kind: 'transcript_commit', segment: { sequence: 1, prependSpace: false } });
91
+ });
92
+ it('rejects model sizes that are not packaged in v1', () => {
93
+ expect(() => CWDecoderConfigSchema.parse({ modelSize: 'base' })).toThrow();
94
+ });
95
+ it('validates runtime tuning updates', () => {
96
+ expect(CWDecoderTuningUpdateSchema.parse({ targetFreqHz: 650 })).toEqual({ targetFreqHz: 650 });
97
+ expect(CWDecoderTuningUpdateSchema.parse({ filterWidthHz: 250 })).toEqual({ filterWidthHz: 250 });
98
+ expect(() => CWDecoderTuningUpdateSchema.parse({})).toThrow();
99
+ expect(() => CWDecoderTuningUpdateSchema.parse({ targetFreqHz: 50 })).toThrow();
100
+ expect(() => CWDecoderTuningUpdateSchema.parse({ filterWidthHz: 900 })).toThrow();
101
+ });
102
+ it('represents muted listening state', () => {
103
+ const config = CWDecoderConfigSchema.parse({ enabled: true });
104
+ expect(CWDecoderStatusSchema.parse({
105
+ enabled: true,
106
+ state: 'muted',
107
+ config,
108
+ muted: true,
109
+ active: false,
110
+ updatedAt: 3,
111
+ })).toMatchObject({ state: 'muted', muted: true });
112
+ });
113
+ });
114
+ //# sourceMappingURL=cw-decoder.schema.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cw-decoder.schema.test.js","sourceRoot":"","sources":["../../../src/schema/__tests__/cw-decoder.schema.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=device-ui.schema.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device-ui.schema.test.d.ts","sourceRoot":"","sources":["../../../src/schema/__tests__/device-ui.schema.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,111 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { DeviceUiBootstrapSnapshotSchema, DeviceUiWsEventSchema, DeviceUiJwtPayloadSchema, DeviceUiSessionRequestSchema, DeviceUiSessionResponseSchema, } from '../device-ui.schema.js';
3
+ describe('device UI schemas', () => {
4
+ it('accepts the dedicated device UI JWT payload only', () => {
5
+ expect(DeviceUiJwtPayloadSchema.parse({
6
+ typ: 'device-ui',
7
+ aud: 'tx5dr-device-ui',
8
+ deviceId: 'panel-1',
9
+ sessionId: 'session-1',
10
+ iat: 1,
11
+ exp: 2,
12
+ }).aud).toBe('tx5dr-device-ui');
13
+ expect(() => DeviceUiJwtPayloadSchema.parse({
14
+ typ: 'access',
15
+ aud: 'tx5dr-device-ui',
16
+ deviceId: 'panel-1',
17
+ sessionId: 'session-1',
18
+ iat: 1,
19
+ exp: 2,
20
+ })).toThrow();
21
+ });
22
+ it('describes session request and response contracts', () => {
23
+ expect(DeviceUiSessionRequestSchema.parse({ deviceId: 'panel-1', sessionToken: 'secret' }).deviceId).toBe('panel-1');
24
+ expect(DeviceUiSessionResponseSchema.parse({
25
+ jwt: 'jwt',
26
+ deviceId: 'panel-1',
27
+ sessionId: 'session-1',
28
+ expiresAt: 1_700_000_001_000,
29
+ }).sessionId).toBe('session-1');
30
+ });
31
+ it('describes the mode-aware bootstrap snapshot and WS event', () => {
32
+ const snapshot = DeviceUiBootstrapSnapshotSchema.parse({
33
+ server: { status: 'ok', version: 'test', webPort: 8076 },
34
+ station: { callsign: 'BG5DRB', callsigns: ['BG5DRB', 'BG5AAA'] },
35
+ operators: [{ id: 'op1', callsign: 'BG5AAA', active: true, transmitting: false, ptt: false }],
36
+ engine: { running: true, mode: 'digital', currentMode: { name: 'FT8', slotMs: 15000 }, state: 'running' },
37
+ radio: { connected: true, frequency: 7074000, radioMode: 'USB-D', ptt: false, tx: false },
38
+ ft8: {
39
+ slot: null,
40
+ utc: null,
41
+ cycle: null,
42
+ periodMs: 15000,
43
+ recentDecodeRawMessages: ['CQ TEST AA00'],
44
+ lastDecodeRawMessage: 'CQ TEST AA00',
45
+ recentFramesSlotId: 'FT8-1',
46
+ recentFramesSlotStartMs: 1_700_000_000_000,
47
+ recentFrames: [{
48
+ slotId: 'FT8-1',
49
+ slotStartMs: 1_700_000_000_000,
50
+ snr: -10,
51
+ freq: 1200,
52
+ dt: 0.1,
53
+ message: 'CQ TEST AA00',
54
+ operatorId: null,
55
+ countryZh: '测试地区',
56
+ countryEn: 'Test Region',
57
+ }],
58
+ currentTx: { active: false, operatorIds: [], messages: [], lastMessage: null, slotStartMs: null },
59
+ },
60
+ voice: {
61
+ active: false,
62
+ radioMode: null,
63
+ pttLocked: false,
64
+ pttLockedByLabel: null,
65
+ keyerActive: false,
66
+ keyerMode: null,
67
+ keyerSlotId: null,
68
+ },
69
+ cw: {
70
+ decoder: {
71
+ enabled: false,
72
+ active: false,
73
+ state: 'disabled',
74
+ muted: false,
75
+ pendingText: '',
76
+ committedText: '',
77
+ lastDecodeAt: null,
78
+ updatedAt: 1,
79
+ },
80
+ keyer: {
81
+ active: false,
82
+ mode: null,
83
+ messageId: null,
84
+ currentText: null,
85
+ lastText: null,
86
+ },
87
+ currentTx: {
88
+ active: false,
89
+ messages: [],
90
+ lastMessage: null,
91
+ },
92
+ },
93
+ access: { localUrl: 'http://192.168.1.10:8076', localUrls: ['http://192.168.1.10:8076'] },
94
+ updatedAt: 1,
95
+ });
96
+ expect(snapshot.station.callsign).toBe('BG5DRB');
97
+ expect(snapshot.station.callsigns).toEqual(['BG5DRB', 'BG5AAA']);
98
+ expect(snapshot.operators[0]?.callsign).toBe('BG5AAA');
99
+ expect(snapshot.ft8.recentFramesSlotId).toBe('FT8-1');
100
+ expect(snapshot.ft8.recentFrames[0]?.slotId).toBe('FT8-1');
101
+ expect(snapshot.ft8.recentFrames[0]?.countryZh).toBe('测试地区');
102
+ expect(snapshot.ft8.lastDecodeRawMessage).toBe('CQ TEST AA00');
103
+ expect(snapshot.cw.decoder.state).toBe('disabled');
104
+ expect(DeviceUiWsEventSchema.parse({
105
+ type: 'snapshot',
106
+ payload: snapshot,
107
+ timestamp: '2026-05-14T00:00:00.000Z',
108
+ }).payload.server.status).toBe('ok');
109
+ });
110
+ });
111
+ //# sourceMappingURL=device-ui.schema.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device-ui.schema.test.js","sourceRoot":"","sources":["../../../src/schema/__tests__/device-ui.schema.test.ts"],"names":[],"mappings":"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"}
@@ -135,5 +135,101 @@ describe('ProcessSnapshotSchema', () => {
135
135
  expect(parsed.decodeWorkers?.summary.status).toBe('stopped');
136
136
  expect(parsed.decodeWorkers?.summary.lastError).toBeUndefined();
137
137
  });
138
+ it('accepts generic worker pool telemetry while preserving decodeWorkers compatibility', () => {
139
+ const decodeWorkerTelemetry = {
140
+ summary: {
141
+ status: 'ready',
142
+ workerCount: 1,
143
+ desiredWorkers: 1,
144
+ readyCount: 1,
145
+ busyCount: 0,
146
+ totalRss: 256,
147
+ totalCpu: 12,
148
+ nativeThreadsPerWorker: 2,
149
+ pendingJobs: 0,
150
+ activeJobs: 0,
151
+ },
152
+ workers: [
153
+ {
154
+ workerId: 1,
155
+ pid: 1234,
156
+ ready: true,
157
+ busy: false,
158
+ nativeThreads: 2,
159
+ uptimeSeconds: 30,
160
+ memory: {
161
+ heapUsed: 100,
162
+ heapTotal: 200,
163
+ rss: 256,
164
+ external: 20,
165
+ arrayBuffers: 10,
166
+ },
167
+ cpu: {
168
+ user: 10,
169
+ system: 2,
170
+ total: 12,
171
+ },
172
+ lastSeenAt: 2,
173
+ },
174
+ ],
175
+ };
176
+ const parsed = ProcessSnapshotSchema.parse({
177
+ ...createBaseSnapshot(),
178
+ decodeWorkers: decodeWorkerTelemetry,
179
+ workerPools: [
180
+ {
181
+ id: 'ft8-decode',
182
+ name: 'FT8 Decode Workers',
183
+ kind: 'decode',
184
+ ...decodeWorkerTelemetry,
185
+ },
186
+ {
187
+ id: 'cw-decoder',
188
+ name: 'CW Decoder Workers',
189
+ kind: 'cw-decoder',
190
+ summary: {
191
+ status: 'ready',
192
+ workerCount: 1,
193
+ desiredWorkers: 1,
194
+ readyCount: 1,
195
+ busyCount: 0,
196
+ totalRss: 512,
197
+ totalCpu: 4,
198
+ nativeThreadsPerWorker: 1,
199
+ pendingJobs: 0,
200
+ activeJobs: 0,
201
+ },
202
+ workers: [
203
+ {
204
+ workerId: 1,
205
+ pid: 5678,
206
+ ready: true,
207
+ busy: false,
208
+ nativeThreads: 1,
209
+ uptimeSeconds: 8,
210
+ memory: {
211
+ heapUsed: 120,
212
+ heapTotal: 220,
213
+ rss: 512,
214
+ external: 30,
215
+ arrayBuffers: 15,
216
+ },
217
+ cpu: {
218
+ user: 3,
219
+ system: 1,
220
+ total: 4,
221
+ },
222
+ lastSeenAt: 3,
223
+ },
224
+ ],
225
+ },
226
+ ],
227
+ });
228
+ expect(parsed.decodeWorkers?.summary.workerCount).toBe(1);
229
+ expect(parsed.workerPools?.map((pool) => pool.id)).toEqual(['ft8-decode', 'cw-decoder']);
230
+ expect(parsed.workerPools?.[0].workers[0].workerId).toBe(1);
231
+ expect(parsed.workerPools?.[1].summary.totalRss).toBe(512);
232
+ expect(parsed.workerPools?.[1].workers[0].pid).toBe(5678);
233
+ });
138
234
  });
139
235
  //# sourceMappingURL=process-monitor.schema.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"process-monitor.schema.test.js","sourceRoot":"","sources":["../../../src/schema/__tests__/process-monitor.schema.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"process-monitor.schema.test.js","sourceRoot":"","sources":["../../../src/schema/__tests__/process-monitor.schema.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=radio.schema.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio.schema.test.d.ts","sourceRoot":"","sources":["../../../src/schema/__tests__/radio.schema.test.ts"],"names":[],"mappings":""}