@tx5dr/contracts 1.7.12 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (255) hide show
  1. package/dist/index.d.ts +7 -1
  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__/android-operator-audio.schema.test.d.ts +2 -0
  6. package/dist/schema/__tests__/android-operator-audio.schema.test.d.ts.map +1 -0
  7. package/dist/schema/__tests__/android-operator-audio.schema.test.js +27 -0
  8. package/dist/schema/__tests__/android-operator-audio.schema.test.js.map +1 -0
  9. package/dist/schema/__tests__/assisted-queue.schema.test.d.ts +2 -0
  10. package/dist/schema/__tests__/assisted-queue.schema.test.d.ts.map +1 -0
  11. package/dist/schema/__tests__/assisted-queue.schema.test.js +114 -0
  12. package/dist/schema/__tests__/assisted-queue.schema.test.js.map +1 -0
  13. package/dist/schema/__tests__/audio-sidecar.schema.test.d.ts +2 -0
  14. package/dist/schema/__tests__/audio-sidecar.schema.test.d.ts.map +1 -0
  15. package/dist/schema/__tests__/audio-sidecar.schema.test.js +42 -0
  16. package/dist/schema/__tests__/audio-sidecar.schema.test.js.map +1 -0
  17. package/dist/schema/__tests__/audio.schema.test.js +92 -1
  18. package/dist/schema/__tests__/audio.schema.test.js.map +1 -1
  19. package/dist/schema/__tests__/diagnostics.schema.test.d.ts +2 -0
  20. package/dist/schema/__tests__/diagnostics.schema.test.d.ts.map +1 -0
  21. package/dist/schema/__tests__/diagnostics.schema.test.js +31 -0
  22. package/dist/schema/__tests__/diagnostics.schema.test.js.map +1 -0
  23. package/dist/schema/__tests__/logbook-health.schema.test.d.ts +2 -0
  24. package/dist/schema/__tests__/logbook-health.schema.test.d.ts.map +1 -0
  25. package/dist/schema/__tests__/logbook-health.schema.test.js +104 -0
  26. package/dist/schema/__tests__/logbook-health.schema.test.js.map +1 -0
  27. package/dist/schema/__tests__/meter.schema.test.d.ts +2 -0
  28. package/dist/schema/__tests__/meter.schema.test.d.ts.map +1 -0
  29. package/dist/schema/__tests__/meter.schema.test.js +27 -0
  30. package/dist/schema/__tests__/meter.schema.test.js.map +1 -0
  31. package/dist/schema/__tests__/observability.schema.test.d.ts +2 -0
  32. package/dist/schema/__tests__/observability.schema.test.d.ts.map +1 -0
  33. package/dist/schema/__tests__/observability.schema.test.js +12 -0
  34. package/dist/schema/__tests__/observability.schema.test.js.map +1 -0
  35. package/dist/schema/__tests__/operator-context-report.schema.test.d.ts +2 -0
  36. package/dist/schema/__tests__/operator-context-report.schema.test.d.ts.map +1 -0
  37. package/dist/schema/__tests__/operator-context-report.schema.test.js +70 -0
  38. package/dist/schema/__tests__/operator-context-report.schema.test.js.map +1 -0
  39. package/dist/schema/__tests__/operator.schema.test.js +9 -3
  40. package/dist/schema/__tests__/operator.schema.test.js.map +1 -1
  41. package/dist/schema/__tests__/plugin-market.schema.test.js +149 -3
  42. package/dist/schema/__tests__/plugin-market.schema.test.js.map +1 -1
  43. package/dist/schema/__tests__/qso.schema.test.d.ts +2 -0
  44. package/dist/schema/__tests__/qso.schema.test.d.ts.map +1 -0
  45. package/dist/schema/__tests__/qso.schema.test.js +70 -0
  46. package/dist/schema/__tests__/qso.schema.test.js.map +1 -0
  47. package/dist/schema/__tests__/radio-power-support.test.js +15 -0
  48. package/dist/schema/__tests__/radio-power-support.test.js.map +1 -1
  49. package/dist/schema/__tests__/radio-profile.schema.test.d.ts +2 -0
  50. package/dist/schema/__tests__/radio-profile.schema.test.d.ts.map +1 -0
  51. package/dist/schema/__tests__/radio-profile.schema.test.js +36 -0
  52. package/dist/schema/__tests__/radio-profile.schema.test.js.map +1 -0
  53. package/dist/schema/__tests__/radio.schema.test.js +92 -1
  54. package/dist/schema/__tests__/radio.schema.test.js.map +1 -1
  55. package/dist/schema/__tests__/realtime-settings.schema.test.js +2 -1
  56. package/dist/schema/__tests__/realtime-settings.schema.test.js.map +1 -1
  57. package/dist/schema/__tests__/remote-access.schema.test.d.ts +2 -0
  58. package/dist/schema/__tests__/remote-access.schema.test.d.ts.map +1 -0
  59. package/dist/schema/__tests__/remote-access.schema.test.js +18 -0
  60. package/dist/schema/__tests__/remote-access.schema.test.js.map +1 -0
  61. package/dist/schema/__tests__/spectrum.schema.test.d.ts +2 -0
  62. package/dist/schema/__tests__/spectrum.schema.test.d.ts.map +1 -0
  63. package/dist/schema/__tests__/spectrum.schema.test.js +107 -0
  64. package/dist/schema/__tests__/spectrum.schema.test.js.map +1 -0
  65. package/dist/schema/__tests__/strategy-transmission.schema.test.d.ts +2 -0
  66. package/dist/schema/__tests__/strategy-transmission.schema.test.d.ts.map +1 -0
  67. package/dist/schema/__tests__/strategy-transmission.schema.test.js +95 -0
  68. package/dist/schema/__tests__/strategy-transmission.schema.test.js.map +1 -0
  69. package/dist/schema/android-operator-audio.schema.d.ts +174 -0
  70. package/dist/schema/android-operator-audio.schema.d.ts.map +1 -0
  71. package/dist/schema/android-operator-audio.schema.js +38 -0
  72. package/dist/schema/android-operator-audio.schema.js.map +1 -0
  73. package/dist/schema/api-response.schema.d.ts +503 -44
  74. package/dist/schema/api-response.schema.d.ts.map +1 -1
  75. package/dist/schema/api-response.schema.js +9 -0
  76. package/dist/schema/api-response.schema.js.map +1 -1
  77. package/dist/schema/audio-sidecar.schema.d.ts +75 -0
  78. package/dist/schema/audio-sidecar.schema.d.ts.map +1 -1
  79. package/dist/schema/audio-sidecar.schema.js +32 -0
  80. package/dist/schema/audio-sidecar.schema.js.map +1 -1
  81. package/dist/schema/audio.schema.d.ts +4749 -3
  82. package/dist/schema/audio.schema.d.ts.map +1 -1
  83. package/dist/schema/audio.schema.js +101 -2
  84. package/dist/schema/audio.schema.js.map +1 -1
  85. package/dist/schema/auth.schema.d.ts +173 -14
  86. package/dist/schema/auth.schema.d.ts.map +1 -1
  87. package/dist/schema/auth.schema.js +65 -1
  88. package/dist/schema/auth.schema.js.map +1 -1
  89. package/dist/schema/cpu-profile.schema.d.ts +2 -2
  90. package/dist/schema/cw-decoder.schema.d.ts +74 -74
  91. package/dist/schema/cw-keyer.schema.d.ts +20 -14
  92. package/dist/schema/cw-keyer.schema.d.ts.map +1 -1
  93. package/dist/schema/cw-keyer.schema.js +3 -0
  94. package/dist/schema/cw-keyer.schema.js.map +1 -1
  95. package/dist/schema/desktop-https.schema.d.ts +6 -6
  96. package/dist/schema/device-ui.schema.d.ts +16 -16
  97. package/dist/schema/diagnostics.schema.d.ts +163 -0
  98. package/dist/schema/diagnostics.schema.d.ts.map +1 -0
  99. package/dist/schema/diagnostics.schema.js +46 -0
  100. package/dist/schema/diagnostics.schema.js.map +1 -0
  101. package/dist/schema/ft8.schema.d.ts +12 -2
  102. package/dist/schema/ft8.schema.d.ts.map +1 -1
  103. package/dist/schema/ft8.schema.js +8 -0
  104. package/dist/schema/ft8.schema.js.map +1 -1
  105. package/dist/schema/image-radio.schema.d.ts +2597 -0
  106. package/dist/schema/image-radio.schema.d.ts.map +1 -0
  107. package/dist/schema/image-radio.schema.js +283 -0
  108. package/dist/schema/image-radio.schema.js.map +1 -0
  109. package/dist/schema/logbook.schema.d.ts +2128 -18
  110. package/dist/schema/logbook.schema.d.ts.map +1 -1
  111. package/dist/schema/logbook.schema.js +159 -1
  112. package/dist/schema/logbook.schema.js.map +1 -1
  113. package/dist/schema/mode.schema.d.ts +4 -6
  114. package/dist/schema/mode.schema.d.ts.map +1 -1
  115. package/dist/schema/mode.schema.js +18 -6
  116. package/dist/schema/mode.schema.js.map +1 -1
  117. package/dist/schema/observability.schema.d.ts +66 -0
  118. package/dist/schema/observability.schema.d.ts.map +1 -0
  119. package/dist/schema/observability.schema.js +20 -0
  120. package/dist/schema/observability.schema.js.map +1 -0
  121. package/dist/schema/openwebrx.schema.d.ts +2 -2
  122. package/dist/schema/operator.schema.d.ts +2682 -6
  123. package/dist/schema/operator.schema.d.ts.map +1 -1
  124. package/dist/schema/operator.schema.js +10 -20
  125. package/dist/schema/operator.schema.js.map +1 -1
  126. package/dist/schema/plugin.schema.d.ts +1977 -492
  127. package/dist/schema/plugin.schema.d.ts.map +1 -1
  128. package/dist/schema/plugin.schema.js +165 -14
  129. package/dist/schema/plugin.schema.js.map +1 -1
  130. package/dist/schema/process-monitor.schema.d.ts +132 -132
  131. package/dist/schema/pskreporter.schema.d.ts +1 -3
  132. package/dist/schema/pskreporter.schema.d.ts.map +1 -1
  133. package/dist/schema/pskreporter.schema.js +1 -3
  134. package/dist/schema/pskreporter.schema.js.map +1 -1
  135. package/dist/schema/qso.schema.d.ts +246 -1
  136. package/dist/schema/qso.schema.d.ts.map +1 -1
  137. package/dist/schema/qso.schema.js +68 -0
  138. package/dist/schema/qso.schema.js.map +1 -1
  139. package/dist/schema/radio-capability.schema.d.ts +31 -40
  140. package/dist/schema/radio-capability.schema.d.ts.map +1 -1
  141. package/dist/schema/radio-capability.schema.js +8 -15
  142. package/dist/schema/radio-capability.schema.js.map +1 -1
  143. package/dist/schema/radio-power-support.d.ts.map +1 -1
  144. package/dist/schema/radio-power-support.js +3 -0
  145. package/dist/schema/radio-power-support.js.map +1 -1
  146. package/dist/schema/radio-power.schema.d.ts +102 -13
  147. package/dist/schema/radio-power.schema.d.ts.map +1 -1
  148. package/dist/schema/radio-power.schema.js +15 -8
  149. package/dist/schema/radio-power.schema.js.map +1 -1
  150. package/dist/schema/radio-profile.schema.d.ts +1491 -97
  151. package/dist/schema/radio-profile.schema.d.ts.map +1 -1
  152. package/dist/schema/radio-profile.schema.js +7 -0
  153. package/dist/schema/radio-profile.schema.js.map +1 -1
  154. package/dist/schema/radio.schema.d.ts +442 -48
  155. package/dist/schema/radio.schema.d.ts.map +1 -1
  156. package/dist/schema/radio.schema.js +75 -7
  157. package/dist/schema/radio.schema.js.map +1 -1
  158. package/dist/schema/realtime.schema.d.ts +60 -52
  159. package/dist/schema/realtime.schema.d.ts.map +1 -1
  160. package/dist/schema/realtime.schema.js +9 -1
  161. package/dist/schema/realtime.schema.js.map +1 -1
  162. package/dist/schema/rigctld.schema.d.ts +6 -6
  163. package/dist/schema/slot-info.schema.d.ts +28 -9
  164. package/dist/schema/slot-info.schema.d.ts.map +1 -1
  165. package/dist/schema/slot-info.schema.js +17 -10
  166. package/dist/schema/slot-info.schema.js.map +1 -1
  167. package/dist/schema/spectrum-config.schema.d.ts +638 -0
  168. package/dist/schema/spectrum-config.schema.d.ts.map +1 -0
  169. package/dist/schema/spectrum-config.schema.js +129 -0
  170. package/dist/schema/spectrum-config.schema.js.map +1 -0
  171. package/dist/schema/spectrum.schema.d.ts +1323 -30
  172. package/dist/schema/spectrum.schema.d.ts.map +1 -1
  173. package/dist/schema/spectrum.schema.js +72 -0
  174. package/dist/schema/spectrum.schema.js.map +1 -1
  175. package/dist/schema/station-info.schema.d.ts +5 -0
  176. package/dist/schema/station-info.schema.d.ts.map +1 -1
  177. package/dist/schema/station-info.schema.js +5 -0
  178. package/dist/schema/station-info.schema.js.map +1 -1
  179. package/dist/schema/system.schema.d.ts +56 -6
  180. package/dist/schema/system.schema.d.ts.map +1 -1
  181. package/dist/schema/system.schema.js +22 -0
  182. package/dist/schema/system.schema.js.map +1 -1
  183. package/dist/schema/transmission.schema.d.ts +8 -7
  184. package/dist/schema/transmission.schema.d.ts.map +1 -1
  185. package/dist/schema/transmission.schema.js +2 -7
  186. package/dist/schema/transmission.schema.js.map +1 -1
  187. package/dist/schema/tx-audio-input.schema.d.ts +8 -0
  188. package/dist/schema/tx-audio-input.schema.d.ts.map +1 -0
  189. package/dist/schema/tx-audio-input.schema.js +19 -0
  190. package/dist/schema/tx-audio-input.schema.js.map +1 -0
  191. package/dist/schema/voice-keyer.schema.d.ts +16 -16
  192. package/dist/schema/voice.schema.d.ts +1 -1
  193. package/dist/schema/voice.schema.d.ts.map +1 -1
  194. package/dist/schema/voice.schema.js +1 -1
  195. package/dist/schema/voice.schema.js.map +1 -1
  196. package/dist/schema/websocket.schema.d.ts +35811 -7829
  197. package/dist/schema/websocket.schema.d.ts.map +1 -1
  198. package/dist/schema/websocket.schema.js +453 -9
  199. package/dist/schema/websocket.schema.js.map +1 -1
  200. package/package.json +6 -1
  201. package/src/index.ts +7 -0
  202. package/src/schema/__tests__/android-operator-audio.schema.test.ts +31 -0
  203. package/src/schema/__tests__/assisted-queue.schema.test.ts +122 -0
  204. package/src/schema/__tests__/audio-sidecar.schema.test.ts +48 -0
  205. package/src/schema/__tests__/audio.schema.test.ts +102 -0
  206. package/src/schema/__tests__/diagnostics.schema.test.ts +32 -0
  207. package/src/schema/__tests__/logbook-health.schema.test.ts +117 -0
  208. package/src/schema/__tests__/meter.schema.test.ts +28 -0
  209. package/src/schema/__tests__/observability.schema.test.ts +15 -0
  210. package/src/schema/__tests__/operator-context-report.schema.test.ts +77 -0
  211. package/src/schema/__tests__/operator.schema.test.ts +11 -3
  212. package/src/schema/__tests__/plugin-market.schema.test.ts +165 -2
  213. package/src/schema/__tests__/qso.schema.test.ts +91 -0
  214. package/src/schema/__tests__/radio-power-support.test.ts +17 -0
  215. package/src/schema/__tests__/radio-profile.schema.test.ts +44 -0
  216. package/src/schema/__tests__/radio.schema.test.ts +108 -1
  217. package/src/schema/__tests__/realtime-settings.schema.test.ts +2 -1
  218. package/src/schema/__tests__/remote-access.schema.test.ts +22 -0
  219. package/src/schema/__tests__/spectrum.schema.test.ts +119 -0
  220. package/src/schema/__tests__/strategy-transmission.schema.test.ts +106 -0
  221. package/src/schema/android-operator-audio.schema.ts +49 -0
  222. package/src/schema/api-response.schema.ts +11 -0
  223. package/src/schema/audio-sidecar.schema.ts +35 -0
  224. package/src/schema/audio.schema.ts +115 -2
  225. package/src/schema/auth.schema.ts +79 -1
  226. package/src/schema/cw-keyer.schema.ts +5 -0
  227. package/src/schema/diagnostics.schema.ts +55 -0
  228. package/src/schema/ft8.schema.ts +8 -0
  229. package/src/schema/image-radio.schema.ts +342 -0
  230. package/src/schema/logbook.schema.ts +205 -1
  231. package/src/schema/mode.schema.ts +18 -6
  232. package/src/schema/observability.schema.ts +26 -0
  233. package/src/schema/operator.schema.ts +11 -20
  234. package/src/schema/plugin.schema.ts +186 -15
  235. package/src/schema/pskreporter.schema.ts +1 -3
  236. package/src/schema/qso.schema.ts +78 -0
  237. package/src/schema/radio-capability.schema.ts +8 -15
  238. package/src/schema/radio-power-support.ts +3 -0
  239. package/src/schema/radio-power.schema.ts +15 -8
  240. package/src/schema/radio-profile.schema.ts +7 -0
  241. package/src/schema/radio.schema.ts +90 -7
  242. package/src/schema/realtime.schema.ts +9 -1
  243. package/src/schema/slot-info.schema.ts +18 -11
  244. package/src/schema/spectrum-config.schema.ts +156 -0
  245. package/src/schema/spectrum.schema.ts +89 -0
  246. package/src/schema/station-info.schema.ts +5 -0
  247. package/src/schema/system.schema.ts +29 -0
  248. package/src/schema/transmission.schema.ts +2 -7
  249. package/src/schema/tx-audio-input.schema.ts +22 -0
  250. package/src/schema/voice.schema.ts +1 -1
  251. package/src/schema/websocket.schema.ts +601 -13
  252. package/test/image-radio-schema.test.ts +107 -0
  253. package/test/plugin-slot-schema.test.ts +31 -0
  254. package/test/radio-capability-schema.test.ts +44 -0
  255. package/CLAUDE.md +0 -41
@@ -31,9 +31,7 @@ export type CapabilityUpdateMode = z.infer<typeof CapabilityUpdateModeSchema>;
31
31
  */
32
32
  export declare const CapabilityOptionValueSchema: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
33
33
  export type CapabilityOptionValue = z.infer<typeof CapabilityOptionValueSchema>;
34
- /**
35
- * 运行时能力值。
36
- */
34
+ /** Runtime value carried by a radio capability state. */
37
35
  export declare const CapabilityValueSchema: z.ZodUnion<[z.ZodBoolean, z.ZodNumber, z.ZodString]>;
38
36
  export type CapabilityValue = z.infer<typeof CapabilityValueSchema>;
39
37
  export declare const CapabilityAvailabilitySchema: z.ZodEnum<["available", "unavailable", "unknown"]>;
@@ -84,10 +82,7 @@ export declare const CapabilityDisplaySchema: z.ZodObject<{
84
82
  signed?: boolean | undefined;
85
83
  }>;
86
84
  export type CapabilityDisplay = z.infer<typeof CapabilityDisplaySchema>;
87
- /**
88
- * 能力描述符
89
- * 由服务端在运行时下发,作为当前连接会话的真源。
90
- */
85
+ /** Host-provided descriptor that defines one capability for the current session. */
91
86
  export declare const CapabilityDescriptorSchema: z.ZodObject<{
92
87
  /** 全局唯一能力 ID,如 'tuner_switch', 'rf_power', 'lock_mode' */
93
88
  id: z.ZodString;
@@ -194,11 +189,11 @@ export declare const CapabilityDescriptorSchema: z.ZodObject<{
194
189
  surfaceGroup: z.ZodOptional<z.ZodString>;
195
190
  }, "strip", z.ZodTypeAny, {
196
191
  id: string;
197
- labelI18nKey: string;
198
- category: "audio" | "system" | "antenna" | "rf" | "operation";
199
- valueType: "number" | "boolean" | "action" | "enum";
200
192
  readable: boolean;
201
193
  writable: boolean;
194
+ labelI18nKey: string;
195
+ category: "audio" | "system" | "operation" | "antenna" | "rf";
196
+ valueType: "number" | "boolean" | "action" | "enum";
202
197
  updateMode: "none" | "polling" | "event";
203
198
  hasSurfaceControl: boolean;
204
199
  options?: {
@@ -229,11 +224,11 @@ export declare const CapabilityDescriptorSchema: z.ZodObject<{
229
224
  surfaceGroup?: string | undefined;
230
225
  }, {
231
226
  id: string;
232
- labelI18nKey: string;
233
- category: "audio" | "system" | "antenna" | "rf" | "operation";
234
- valueType: "number" | "boolean" | "action" | "enum";
235
227
  readable: boolean;
236
228
  writable: boolean;
229
+ labelI18nKey: string;
230
+ category: "audio" | "system" | "operation" | "antenna" | "rf";
231
+ valueType: "number" | "boolean" | "action" | "enum";
237
232
  updateMode: "none" | "polling" | "event";
238
233
  hasSurfaceControl: boolean;
239
234
  options?: {
@@ -264,10 +259,7 @@ export declare const CapabilityDescriptorSchema: z.ZodObject<{
264
259
  surfaceGroup?: string | undefined;
265
260
  }>;
266
261
  export type CapabilityDescriptor = z.infer<typeof CapabilityDescriptorSchema>;
267
- /**
268
- * 能力运行时状态
269
- * 动态数据,通过 WebSocket 实时同步到前端。
270
- */
262
+ /** Dynamic support, availability and value state for one capability. */
271
263
  export declare const CapabilityStateSchema: z.ZodObject<{
272
264
  /** 能力 ID,与 CapabilityDescriptor.id 对应 */
273
265
  id: z.ZodString;
@@ -302,7 +294,7 @@ export declare const CapabilityStateSchema: z.ZodObject<{
302
294
  id: string;
303
295
  supported: boolean;
304
296
  updatedAt: number;
305
- availability?: "unknown" | "available" | "unavailable" | undefined;
297
+ availability?: "unknown" | "unavailable" | "available" | undefined;
306
298
  meta?: Record<string, unknown> | undefined;
307
299
  lastError?: string | undefined;
308
300
  availabilityReason?: "unknown" | "runtime_error" | "busy" | "unsupported_by_current_mode" | "radio_reported_unavailable" | undefined;
@@ -311,15 +303,13 @@ export declare const CapabilityStateSchema: z.ZodObject<{
311
303
  id: string;
312
304
  supported: boolean;
313
305
  updatedAt: number;
314
- availability?: "unknown" | "available" | "unavailable" | undefined;
306
+ availability?: "unknown" | "unavailable" | "available" | undefined;
315
307
  meta?: Record<string, unknown> | undefined;
316
308
  lastError?: string | undefined;
317
309
  availabilityReason?: "unknown" | "runtime_error" | "busy" | "unsupported_by_current_mode" | "radio_reported_unavailable" | undefined;
318
310
  }>;
319
311
  export type CapabilityState = z.infer<typeof CapabilityStateSchema>;
320
- /**
321
- * 能力列表快照(radioCapabilityList WS 消息 / REST 响应的 data 部分)
322
- */
312
+ /** Complete descriptor/state snapshot returned by radio capability APIs. */
323
313
  export declare const CapabilityListSchema: z.ZodObject<{
324
314
  descriptors: z.ZodArray<z.ZodObject<{
325
315
  /** 全局唯一能力 ID,如 'tuner_switch', 'rf_power', 'lock_mode' */
@@ -427,11 +417,11 @@ export declare const CapabilityListSchema: z.ZodObject<{
427
417
  surfaceGroup: z.ZodOptional<z.ZodString>;
428
418
  }, "strip", z.ZodTypeAny, {
429
419
  id: string;
430
- labelI18nKey: string;
431
- category: "audio" | "system" | "antenna" | "rf" | "operation";
432
- valueType: "number" | "boolean" | "action" | "enum";
433
420
  readable: boolean;
434
421
  writable: boolean;
422
+ labelI18nKey: string;
423
+ category: "audio" | "system" | "operation" | "antenna" | "rf";
424
+ valueType: "number" | "boolean" | "action" | "enum";
435
425
  updateMode: "none" | "polling" | "event";
436
426
  hasSurfaceControl: boolean;
437
427
  options?: {
@@ -462,11 +452,11 @@ export declare const CapabilityListSchema: z.ZodObject<{
462
452
  surfaceGroup?: string | undefined;
463
453
  }, {
464
454
  id: string;
465
- labelI18nKey: string;
466
- category: "audio" | "system" | "antenna" | "rf" | "operation";
467
- valueType: "number" | "boolean" | "action" | "enum";
468
455
  readable: boolean;
469
456
  writable: boolean;
457
+ labelI18nKey: string;
458
+ category: "audio" | "system" | "operation" | "antenna" | "rf";
459
+ valueType: "number" | "boolean" | "action" | "enum";
470
460
  updateMode: "none" | "polling" | "event";
471
461
  hasSurfaceControl: boolean;
472
462
  options?: {
@@ -530,7 +520,7 @@ export declare const CapabilityListSchema: z.ZodObject<{
530
520
  id: string;
531
521
  supported: boolean;
532
522
  updatedAt: number;
533
- availability?: "unknown" | "available" | "unavailable" | undefined;
523
+ availability?: "unknown" | "unavailable" | "available" | undefined;
534
524
  meta?: Record<string, unknown> | undefined;
535
525
  lastError?: string | undefined;
536
526
  availabilityReason?: "unknown" | "runtime_error" | "busy" | "unsupported_by_current_mode" | "radio_reported_unavailable" | undefined;
@@ -539,7 +529,7 @@ export declare const CapabilityListSchema: z.ZodObject<{
539
529
  id: string;
540
530
  supported: boolean;
541
531
  updatedAt: number;
542
- availability?: "unknown" | "available" | "unavailable" | undefined;
532
+ availability?: "unknown" | "unavailable" | "available" | undefined;
543
533
  meta?: Record<string, unknown> | undefined;
544
534
  lastError?: string | undefined;
545
535
  availabilityReason?: "unknown" | "runtime_error" | "busy" | "unsupported_by_current_mode" | "radio_reported_unavailable" | undefined;
@@ -550,18 +540,18 @@ export declare const CapabilityListSchema: z.ZodObject<{
550
540
  id: string;
551
541
  supported: boolean;
552
542
  updatedAt: number;
553
- availability?: "unknown" | "available" | "unavailable" | undefined;
543
+ availability?: "unknown" | "unavailable" | "available" | undefined;
554
544
  meta?: Record<string, unknown> | undefined;
555
545
  lastError?: string | undefined;
556
546
  availabilityReason?: "unknown" | "runtime_error" | "busy" | "unsupported_by_current_mode" | "radio_reported_unavailable" | undefined;
557
547
  }[];
558
548
  descriptors: {
559
549
  id: string;
560
- labelI18nKey: string;
561
- category: "audio" | "system" | "antenna" | "rf" | "operation";
562
- valueType: "number" | "boolean" | "action" | "enum";
563
550
  readable: boolean;
564
551
  writable: boolean;
552
+ labelI18nKey: string;
553
+ category: "audio" | "system" | "operation" | "antenna" | "rf";
554
+ valueType: "number" | "boolean" | "action" | "enum";
565
555
  updateMode: "none" | "polling" | "event";
566
556
  hasSurfaceControl: boolean;
567
557
  options?: {
@@ -597,18 +587,18 @@ export declare const CapabilityListSchema: z.ZodObject<{
597
587
  id: string;
598
588
  supported: boolean;
599
589
  updatedAt: number;
600
- availability?: "unknown" | "available" | "unavailable" | undefined;
590
+ availability?: "unknown" | "unavailable" | "available" | undefined;
601
591
  meta?: Record<string, unknown> | undefined;
602
592
  lastError?: string | undefined;
603
593
  availabilityReason?: "unknown" | "runtime_error" | "busy" | "unsupported_by_current_mode" | "radio_reported_unavailable" | undefined;
604
594
  }[];
605
595
  descriptors: {
606
596
  id: string;
607
- labelI18nKey: string;
608
- category: "audio" | "system" | "antenna" | "rf" | "operation";
609
- valueType: "number" | "boolean" | "action" | "enum";
610
597
  readable: boolean;
611
598
  writable: boolean;
599
+ labelI18nKey: string;
600
+ category: "audio" | "system" | "operation" | "antenna" | "rf";
601
+ valueType: "number" | "boolean" | "action" | "enum";
612
602
  updateMode: "none" | "polling" | "event";
613
603
  hasSurfaceControl: boolean;
614
604
  options?: {
@@ -641,7 +631,8 @@ export declare const CapabilityListSchema: z.ZodObject<{
641
631
  }>;
642
632
  export type CapabilityList = z.infer<typeof CapabilityListSchema>;
643
633
  /**
644
- * 写命令负载(writeRadioCapability WS 命令的 data 部分)
634
+ * Legacy WebSocket payload for writing a generic radio capability.
635
+ * Plugin API v2 uses explicit radio/tuner command ports instead.
645
636
  */
646
637
  export declare const WriteCapabilityPayloadSchema: z.ZodObject<{
647
638
  /** 能力 ID */
@@ -660,6 +651,6 @@ export declare const WriteCapabilityPayloadSchema: z.ZodObject<{
660
651
  action?: boolean | undefined;
661
652
  }>;
662
653
  export type WriteCapabilityPayload = z.infer<typeof WriteCapabilityPayloadSchema>;
663
- export declare const CAPABILITY_IDS: readonly ["tuner_switch", "tuner_tune", "rf_power", "af_gain", "sql", "mic_gain", "compressor", "compressor_level", "monitor_gain", "monitor_enabled", "apf_enabled", "apf_level", "nb", "nb_level", "nr", "nr_level", "rf_gain", "if_shift", "pbt_in", "pbt_out", "cw_pitch", "key_speed", "notch_raw", "agc_time", "balance", "drive_gain", "digi_sel_enabled", "digi_sel_level", "lock_mode", "mute", "vox", "vox_gain", "anti_vox", "vox_delay", "break_in_delay", "auto_notch", "manual_notch", "rit_enabled", "xit_enabled", "tone_enabled", "tone_squelch_enabled", "beep_enabled", "break_in_mode", "agc_mode", "preamp", "attenuator", "mode_bandwidth", "split_enabled", "vfo_select", "audio_if_mode", "rit_offset", "xit_offset", "tuning_step", "repeater_shift", "repeater_offset", "ctcss_tone", "spectrum_data_output", "spectrum_hold", "spectrum_speed", "spectrum_ref", "spectrum_average", "spectrum_vbw", "spectrum_rbw", "spectrum_during_tx", "spectrum_center_type", "dcs_code"];
654
+ export declare const CAPABILITY_IDS: readonly ["tuner_switch", "tuner_tune", "rf_power", "af_gain", "sql", "mic_gain", "compressor", "compressor_level", "monitor_gain", "monitor_enabled", "apf_enabled", "apf_level", "nb", "nb_level", "nr", "nr_level", "rf_gain", "if_shift", "pbt_in", "pbt_out", "cw_pitch", "key_speed", "notch_raw", "agc_time", "balance", "drive_gain", "digi_sel_enabled", "digi_sel_level", "lock_mode", "mute", "vox", "vox_gain", "anti_vox", "vox_delay", "break_in_delay", "auto_notch", "manual_notch", "rit_enabled", "xit_enabled", "tone_enabled", "tone_squelch_enabled", "beep_enabled", "break_in_mode", "agc_mode", "preamp", "attenuator", "radio_mode", "mode_bandwidth", "split_enabled", "vfo_select", "audio_if_mode", "rit_offset", "xit_offset", "tuning_step", "repeater_shift", "repeater_offset", "ctcss_tone", "spectrum_data_output", "spectrum_hold", "spectrum_speed", "spectrum_ref", "spectrum_average", "spectrum_vbw", "spectrum_rbw", "spectrum_during_tx", "spectrum_center_type", "tci_iq_sample_rate", "dcs_code"];
664
655
  export type CapabilityId = (typeof CAPABILITY_IDS)[number];
665
656
  //# sourceMappingURL=radio-capability.schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"radio-capability.schema.d.ts","sourceRoot":"","sources":["../../src/schema/radio-capability.schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"radio-capability.schema.d.ts","sourceRoot":"","sources":["../../src/schema/radio-capability.schema.ts"],"names":[],"mappings":"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"}
@@ -27,9 +27,7 @@ export const CapabilityUpdateModeSchema = z.enum(['polling', 'event', 'none']);
27
27
  * 枚举项可用值类型。
28
28
  */
29
29
  export const CapabilityOptionValueSchema = z.union([z.string(), z.number()]);
30
- /**
31
- * 运行时能力值。
32
- */
30
+ /** Runtime value carried by a radio capability state. */
33
31
  export const CapabilityValueSchema = z.union([z.boolean(), z.number(), z.string()]);
34
32
  export const CapabilityAvailabilitySchema = z.enum(['available', 'unavailable', 'unknown']);
35
33
  export const CapabilityAvailabilityReasonSchema = z.enum([
@@ -61,10 +59,7 @@ export const CapabilityDisplaySchema = z.object({
61
59
  decimals: z.number().int().min(0).optional(),
62
60
  signed: z.boolean().optional(),
63
61
  });
64
- /**
65
- * 能力描述符
66
- * 由服务端在运行时下发,作为当前连接会话的真源。
67
- */
62
+ /** Host-provided descriptor that defines one capability for the current session. */
68
63
  export const CapabilityDescriptorSchema = z.object({
69
64
  /** 全局唯一能力 ID,如 'tuner_switch', 'rf_power', 'lock_mode' */
70
65
  id: z.string(),
@@ -123,10 +118,7 @@ export const CapabilityDescriptorSchema = z.object({
123
118
  */
124
119
  surfaceGroup: z.string().optional(),
125
120
  });
126
- /**
127
- * 能力运行时状态
128
- * 动态数据,通过 WebSocket 实时同步到前端。
129
- */
121
+ /** Dynamic support, availability and value state for one capability. */
130
122
  export const CapabilityStateSchema = z.object({
131
123
  /** 能力 ID,与 CapabilityDescriptor.id 对应 */
132
124
  id: z.string(),
@@ -157,15 +149,14 @@ export const CapabilityStateSchema = z.object({
157
149
  /** 最后更新时间戳(ms) */
158
150
  updatedAt: z.number(),
159
151
  });
160
- /**
161
- * 能力列表快照(radioCapabilityList WS 消息 / REST 响应的 data 部分)
162
- */
152
+ /** Complete descriptor/state snapshot returned by radio capability APIs. */
163
153
  export const CapabilityListSchema = z.object({
164
154
  descriptors: z.array(CapabilityDescriptorSchema),
165
155
  capabilities: z.array(CapabilityStateSchema),
166
156
  });
167
157
  /**
168
- * 写命令负载(writeRadioCapability WS 命令的 data 部分)
158
+ * Legacy WebSocket payload for writing a generic radio capability.
159
+ * Plugin API v2 uses explicit radio/tuner command ports instead.
169
160
  */
170
161
  export const WriteCapabilityPayloadSchema = z.object({
171
162
  /** 能力 ID */
@@ -225,6 +216,7 @@ export const CAPABILITY_IDS = [
225
216
  'agc_mode',
226
217
  'preamp',
227
218
  'attenuator',
219
+ 'radio_mode',
228
220
  'mode_bandwidth',
229
221
  'split_enabled',
230
222
  'vfo_select',
@@ -244,6 +236,7 @@ export const CAPABILITY_IDS = [
244
236
  'spectrum_rbw',
245
237
  'spectrum_during_tx',
246
238
  'spectrum_center_type',
239
+ 'tci_iq_sample_rate',
247
240
  'dcs_code',
248
241
  ];
249
242
  //# sourceMappingURL=radio-capability.schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"radio-capability.schema.js","sourceRoot":"","sources":["../../src/schema/radio-capability.schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"radio-capability.schema.js","sourceRoot":"","sources":["../../src/schema/radio-capability.schema.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"radio-power-support.d.ts","sourceRoot":"","sources":["../../src/schema/radio-power-support.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB;;;OAGG;IACH,eAAe,CAAC,EAAE,aAAa,CAAC,SAAS,GAAG,SAAS,GAAG,KAAK,CAAC,CAAC;CAChE;AAED,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC,oBAAoB,CAoBlE,CAAC;AAEF,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAChB,oBAAoB,GAAG,SAAS,CAYlC;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAElF;AAED,MAAM,MAAM,kBAAkB,GAC1B,mBAAmB,GACnB,sBAAsB,GACtB,WAAW,CAAC;AAEhB,MAAM,WAAW,oBAAoB;IACnC,0DAA0D;IAC1D,UAAU,EAAE,OAAO,CAAC;IACpB,2DAA2D;IAC3D,WAAW,EAAE,OAAO,CAAC;IACrB,+DAA+D;IAC/D,eAAe,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,GAAG,KAAK,CAAC,CAAC;IACtD,0DAA0D;IAC1D,MAAM,CAAC,EAAE,kBAAkB,CAAC;CAC7B;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC/C,oBAAoB,CA+BtB"}
1
+ {"version":3,"file":"radio-power-support.d.ts","sourceRoot":"","sources":["../../src/schema/radio-power-support.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB;;;OAGG;IACH,eAAe,CAAC,EAAE,aAAa,CAAC,SAAS,GAAG,SAAS,GAAG,KAAK,CAAC,CAAC;CAChE;AAED,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC,oBAAoB,CAoBlE,CAAC;AAEF,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAChB,oBAAoB,GAAG,SAAS,CAYlC;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAElF;AAED,MAAM,MAAM,kBAAkB,GAC1B,mBAAmB,GACnB,sBAAsB,GACtB,WAAW,CAAC;AAEhB,MAAM,WAAW,oBAAoB;IACnC,0DAA0D;IAC1D,UAAU,EAAE,OAAO,CAAC;IACpB,2DAA2D;IAC3D,WAAW,EAAE,OAAO,CAAC;IACrB,+DAA+D;IAC/D,eAAe,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,GAAG,KAAK,CAAC,CAAC;IACtD,0DAA0D;IAC1D,MAAM,CAAC,EAAE,kBAAkB,CAAC;CAC7B;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC/C,oBAAoB,CAkCtB"}
@@ -56,6 +56,9 @@ export function decidePowerSupport(config, rigInfo) {
56
56
  // ICOM WLAN 的 CI-V-over-UDP 通道在电台关机后无法维持;即便已连接
57
57
  // 发送 powerstat(off) 也不能可靠恢复。整体不暴露电源控制。
58
58
  return { canPowerOn: false, canPowerOff: false, supportedStates: [], reason: 'model-unsupported' };
59
+ case 'tci':
60
+ // TCI/ExpertSDR does not expose a safe physical power-on path here.
61
+ return { canPowerOn: false, canPowerOff: false, supportedStates: [], reason: 'model-unsupported' };
59
62
  case 'serial': {
60
63
  if (!rigInfo) {
61
64
  return { canPowerOn: false, canPowerOff: false, supportedStates: [], reason: 'model-unsupported' };
@@ -1 +1 @@
1
- {"version":3,"file":"radio-power-support.js","sourceRoot":"","sources":["../../src/schema/radio-power-support.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"radio-power-support.js","sourceRoot":"","sources":["../../src/schema/radio-power-support.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,9 @@ export type RadioPowerState = z.infer<typeof RadioPowerStateSchema>;
18
18
  export declare const RadioPowerStageSchema: z.ZodEnum<["idle", "sending_command", "waiting_ready", "waiting_standby_disconnect", "starting_engine", "stopping_engine", "disconnecting"]>;
19
19
  export type RadioPowerStage = z.infer<typeof RadioPowerStageSchema>;
20
20
  /**
21
- * WS event payload: server client.
21
+ * Last known power transition state exposed through WebSocket events and
22
+ * `ctx.radioPower.getState()`. `state` is the controller's high-level state;
23
+ * `stage` is finer progress; errors use a localized key plus diagnostic detail.
22
24
  */
23
25
  export declare const RadioPowerStateEventSchema: z.ZodObject<{
24
26
  profileId: z.ZodOptional<z.ZodString>;
@@ -43,11 +45,16 @@ export declare const RadioPowerStateEventSchema: z.ZodObject<{
43
45
  }>;
44
46
  export type RadioPowerStateEvent = z.infer<typeof RadioPowerStateEventSchema>;
45
47
  /**
46
- * REST request body: POST /api/radio/power
48
+ * Power targets accepted by Host commands. `on`/`off` control physical power;
49
+ * `standby`/`operate` switch a responding radio between controller states.
47
50
  */
48
- /** Allowed physical radio target states for a power request. */
49
51
  export declare const RadioPowerTargetSchema: z.ZodEnum<["on", "off", "standby", "operate"]>;
50
52
  export type RadioPowerTarget = z.infer<typeof RadioPowerTargetSchema>;
53
+ /**
54
+ * Request to transition one radio profile to a physical/controller power state.
55
+ * `profileId` selects the profile, `state` is the requested target, and
56
+ * `autoEngine` controls whether TX-5DR starts after a successful power-on.
57
+ */
51
58
  export declare const RadioPowerRequestSchema: z.ZodObject<{
52
59
  profileId: z.ZodString;
53
60
  /** Physical radio power target. This is not the TX-5DR software engine state. */
@@ -64,9 +71,7 @@ export declare const RadioPowerRequestSchema: z.ZodObject<{
64
71
  autoEngine?: boolean | undefined;
65
72
  }>;
66
73
  export type RadioPowerRequest = z.infer<typeof RadioPowerRequestSchema>;
67
- /**
68
- * REST response: POST /api/radio/power
69
- */
74
+ /** Result returned by the REST endpoint and `ctx.radioPowerCommands.submit()`. */
70
75
  export declare const RadioPowerResponseSchema: z.ZodObject<{
71
76
  success: z.ZodBoolean;
72
77
  target: z.ZodEnum<["on", "off", "standby", "operate"]>;
@@ -82,8 +87,10 @@ export declare const RadioPowerResponseSchema: z.ZodObject<{
82
87
  }>;
83
88
  export type RadioPowerResponse = z.infer<typeof RadioPowerResponseSchema>;
84
89
  /**
85
- * REST response: GET /api/radio/power/support?profileId=xxx
86
- * The server resolves mfgName/modelName internally via HamLib.getSupportedRigs().
90
+ * Power operations supported by one radio profile, returned by REST and
91
+ * `ctx.radioPower.getSupport()`. `reason` explains why wake is unavailable;
92
+ * `supportedStates` lists connected-state transitions the Host may accept.
93
+ * The Host resolves manufacturer/model names through Hamlib.
87
94
  */
88
95
  export declare const RadioPowerSupportInfoSchema: z.ZodObject<{
89
96
  profileId: z.ZodString;
@@ -129,7 +136,7 @@ export declare const RadioPowerSupportInfoSchema: z.ZodObject<{
129
136
  export type RadioPowerSupportInfo = z.infer<typeof RadioPowerSupportInfoSchema>;
130
137
  /** Convenience re-export so callers can validate a full config blob. */
131
138
  export declare const RadioPowerProfileConfigSchema: z.ZodObject<{
132
- type: z.ZodEnum<["none", "network", "serial", "icom-wlan"]>;
139
+ type: z.ZodEnum<["none", "network", "serial", "icom-wlan", "tci"]>;
133
140
  network: z.ZodOptional<z.ZodObject<{
134
141
  host: z.ZodString;
135
142
  port: z.ZodNumber;
@@ -159,8 +166,43 @@ export declare const RadioPowerProfileConfigSchema: z.ZodObject<{
159
166
  password?: string | undefined;
160
167
  dataMode?: boolean | undefined;
161
168
  }>>;
169
+ tci: z.ZodOptional<z.ZodObject<{
170
+ host: z.ZodDefault<z.ZodString>;
171
+ port: z.ZodDefault<z.ZodNumber>;
172
+ url: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
173
+ dialect: z.ZodDefault<z.ZodEnum<["auto", "expertsdr-1.4", "expertsdr-1.5-1.8", "expertsdr-1.9-2.0", "aethersdr-1.5", "thetis-2.0", "generic-observed"]>>;
174
+ autoDiscoverPorts: z.ZodDefault<z.ZodBoolean>;
175
+ receiver: z.ZodDefault<z.ZodNumber>;
176
+ trx: z.ZodDefault<z.ZodNumber>;
177
+ vfo: z.ZodDefault<z.ZodNumber>;
178
+ audioEnabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
179
+ audioSampleRate: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
180
+ }, "strip", z.ZodTypeAny, {
181
+ host: string;
182
+ port: number;
183
+ dialect: "auto" | "expertsdr-1.4" | "expertsdr-1.5-1.8" | "expertsdr-1.9-2.0" | "aethersdr-1.5" | "thetis-2.0" | "generic-observed";
184
+ autoDiscoverPorts: boolean;
185
+ receiver: number;
186
+ trx: number;
187
+ vfo: number;
188
+ audioEnabled: boolean;
189
+ audioSampleRate: number;
190
+ url?: string | undefined;
191
+ }, {
192
+ url?: string | undefined;
193
+ host?: string | undefined;
194
+ port?: number | undefined;
195
+ dialect?: "auto" | "expertsdr-1.4" | "expertsdr-1.5-1.8" | "expertsdr-1.9-2.0" | "aethersdr-1.5" | "thetis-2.0" | "generic-observed" | undefined;
196
+ autoDiscoverPorts?: boolean | undefined;
197
+ receiver?: number | undefined;
198
+ trx?: number | undefined;
199
+ vfo?: number | undefined;
200
+ audioEnabled?: boolean | undefined;
201
+ audioSampleRate?: number | undefined;
202
+ }>>;
162
203
  serial: z.ZodOptional<z.ZodObject<{
163
204
  path: z.ZodString;
205
+ serialNumber: z.ZodOptional<z.ZodString>;
164
206
  rigModel: z.ZodNumber;
165
207
  serialConfig: z.ZodOptional<z.ZodObject<{
166
208
  data_bits: z.ZodOptional<z.ZodEnum<["5", "6", "7", "8"]>>;
@@ -203,6 +245,7 @@ export declare const RadioPowerProfileConfigSchema: z.ZodObject<{
203
245
  }, "strip", z.ZodTypeAny, {
204
246
  path: string;
205
247
  rigModel: number;
248
+ serialNumber?: string | undefined;
206
249
  serialConfig?: {
207
250
  data_bits?: "5" | "6" | "7" | "8" | undefined;
208
251
  stop_bits?: "1" | "2" | undefined;
@@ -220,6 +263,7 @@ export declare const RadioPowerProfileConfigSchema: z.ZodObject<{
220
263
  }, {
221
264
  path: string;
222
265
  rigModel: number;
266
+ serialNumber?: string | undefined;
223
267
  serialConfig?: {
224
268
  data_bits?: "5" | "6" | "7" | "8" | undefined;
225
269
  stop_bits?: "1" | "2" | undefined;
@@ -242,13 +286,34 @@ export declare const RadioPowerProfileConfigSchema: z.ZodObject<{
242
286
  }, {
243
287
  speed?: number | undefined;
244
288
  }>>;
289
+ digitalModeRadioMode: z.ZodOptional<z.ZodEnum<["none", "usb", "usb-data"]>>;
245
290
  transmitCompensationMs: z.ZodOptional<z.ZodNumber>;
291
+ fakeFrequency: z.ZodOptional<z.ZodObject<{
292
+ enabled: z.ZodBoolean;
293
+ }, "strip", z.ZodTypeAny, {
294
+ enabled: boolean;
295
+ }, {
296
+ enabled: boolean;
297
+ }>>;
246
298
  pttMethod: z.ZodOptional<z.ZodEnum<["cat", "vox", "dtr", "rts"]>>;
247
299
  pttPort: z.ZodOptional<z.ZodString>;
248
300
  cwKeyPort: z.ZodOptional<z.ZodString>;
249
301
  cwKeyMethod: z.ZodOptional<z.ZodEnum<["dtr", "rts"]>>;
302
+ cwKeyActiveLevel: z.ZodOptional<z.ZodEnum<["high", "low"]>>;
250
303
  }, "strip", z.ZodTypeAny, {
251
- type: "none" | "network" | "serial" | "icom-wlan";
304
+ type: "icom-wlan" | "tci" | "network" | "none" | "serial";
305
+ tci?: {
306
+ host: string;
307
+ port: number;
308
+ dialect: "auto" | "expertsdr-1.4" | "expertsdr-1.5-1.8" | "expertsdr-1.9-2.0" | "aethersdr-1.5" | "thetis-2.0" | "generic-observed";
309
+ autoDiscoverPorts: boolean;
310
+ receiver: number;
311
+ trx: number;
312
+ vfo: number;
313
+ audioEnabled: boolean;
314
+ audioSampleRate: number;
315
+ url?: string | undefined;
316
+ } | undefined;
252
317
  network?: {
253
318
  host: string;
254
319
  port: number;
@@ -256,6 +321,7 @@ export declare const RadioPowerProfileConfigSchema: z.ZodObject<{
256
321
  serial?: {
257
322
  path: string;
258
323
  rigModel: number;
324
+ serialNumber?: string | undefined;
259
325
  serialConfig?: {
260
326
  data_bits?: "5" | "6" | "7" | "8" | undefined;
261
327
  stop_bits?: "1" | "2" | undefined;
@@ -281,13 +347,30 @@ export declare const RadioPowerProfileConfigSchema: z.ZodObject<{
281
347
  userName?: string | undefined;
282
348
  password?: string | undefined;
283
349
  } | undefined;
350
+ digitalModeRadioMode?: "usb" | "none" | "usb-data" | undefined;
284
351
  transmitCompensationMs?: number | undefined;
285
- pttMethod?: "cat" | "vox" | "dtr" | "rts" | undefined;
352
+ fakeFrequency?: {
353
+ enabled: boolean;
354
+ } | undefined;
355
+ pttMethod?: "cat" | "dtr" | "rts" | "vox" | undefined;
286
356
  pttPort?: string | undefined;
287
357
  cwKeyPort?: string | undefined;
288
358
  cwKeyMethod?: "dtr" | "rts" | undefined;
359
+ cwKeyActiveLevel?: "high" | "low" | undefined;
289
360
  }, {
290
- type: "none" | "network" | "serial" | "icom-wlan";
361
+ type: "icom-wlan" | "tci" | "network" | "none" | "serial";
362
+ tci?: {
363
+ url?: string | undefined;
364
+ host?: string | undefined;
365
+ port?: number | undefined;
366
+ dialect?: "auto" | "expertsdr-1.4" | "expertsdr-1.5-1.8" | "expertsdr-1.9-2.0" | "aethersdr-1.5" | "thetis-2.0" | "generic-observed" | undefined;
367
+ autoDiscoverPorts?: boolean | undefined;
368
+ receiver?: number | undefined;
369
+ trx?: number | undefined;
370
+ vfo?: number | undefined;
371
+ audioEnabled?: boolean | undefined;
372
+ audioSampleRate?: number | undefined;
373
+ } | undefined;
291
374
  network?: {
292
375
  host: string;
293
376
  port: number;
@@ -295,6 +378,7 @@ export declare const RadioPowerProfileConfigSchema: z.ZodObject<{
295
378
  serial?: {
296
379
  path: string;
297
380
  rigModel: number;
381
+ serialNumber?: string | undefined;
298
382
  serialConfig?: {
299
383
  data_bits?: "5" | "6" | "7" | "8" | undefined;
300
384
  stop_bits?: "1" | "2" | undefined;
@@ -320,10 +404,15 @@ export declare const RadioPowerProfileConfigSchema: z.ZodObject<{
320
404
  password?: string | undefined;
321
405
  dataMode?: boolean | undefined;
322
406
  } | undefined;
407
+ digitalModeRadioMode?: "usb" | "none" | "usb-data" | undefined;
323
408
  transmitCompensationMs?: number | undefined;
324
- pttMethod?: "cat" | "vox" | "dtr" | "rts" | undefined;
409
+ fakeFrequency?: {
410
+ enabled: boolean;
411
+ } | undefined;
412
+ pttMethod?: "cat" | "dtr" | "rts" | "vox" | undefined;
325
413
  pttPort?: string | undefined;
326
414
  cwKeyPort?: string | undefined;
327
415
  cwKeyMethod?: "dtr" | "rts" | undefined;
416
+ cwKeyActiveLevel?: "high" | "low" | undefined;
328
417
  }>;
329
418
  //# sourceMappingURL=radio-power.schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"radio-power.schema.d.ts","sourceRoot":"","sources":["../../src/schema/radio-power.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB,sFAOhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;;GAGG;AACH,eAAO,MAAM,qBAAqB,8IAQhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;;IAIrC,uFAAuF;;IAEvF,wDAAwD;;;;;;;;;;;;;;EAExD,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E;;GAEG;AACH,gEAAgE;AAChE,eAAO,MAAM,sBAAsB,gDAA8C,CAAC;AAClF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,uBAAuB;;IAElC,iFAAiF;;IAEjF,gFAAgF;;;;;;;;;;EAEhF,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;EAInC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E;;;GAGG;AACH,eAAO,MAAM,2BAA2B;;;;IAItC;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASH,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,wEAAwE;AACxE,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAqB,CAAC"}
1
+ {"version":3,"file":"radio-power.schema.d.ts","sourceRoot":"","sources":["../../src/schema/radio-power.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB,sFAOhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;;GAGG;AACH,eAAO,MAAM,qBAAqB,8IAQhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;;;GAIG;AACH,eAAO,MAAM,0BAA0B;;;;IAIrC,uFAAuF;;IAEvF,wDAAwD;;;;;;;;;;;;;;EAExD,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E;;;GAGG;AACH,eAAO,MAAM,sBAAsB,gDAA8C,CAAC;AAClF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;;GAIG;AACH,eAAO,MAAM,uBAAuB;;IAElC,iFAAiF;;IAEjF,gFAAgF;;;;;;;;;;EAEhF,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,kFAAkF;AAClF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;EAInC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B;;;;IAItC;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASH,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,wEAAwE;AACxE,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAqB,CAAC"}
@@ -32,7 +32,9 @@ export const RadioPowerStageSchema = z.enum([
32
32
  'disconnecting',
33
33
  ]);
34
34
  /**
35
- * WS event payload: server client.
35
+ * Last known power transition state exposed through WebSocket events and
36
+ * `ctx.radioPower.getState()`. `state` is the controller's high-level state;
37
+ * `stage` is finer progress; errors use a localized key plus diagnostic detail.
36
38
  */
37
39
  export const RadioPowerStateEventSchema = z.object({
38
40
  profileId: z.string().optional(),
@@ -44,10 +46,15 @@ export const RadioPowerStateEventSchema = z.object({
44
46
  errorDetail: z.string().optional(),
45
47
  });
46
48
  /**
47
- * REST request body: POST /api/radio/power
49
+ * Power targets accepted by Host commands. `on`/`off` control physical power;
50
+ * `standby`/`operate` switch a responding radio between controller states.
48
51
  */
49
- /** Allowed physical radio target states for a power request. */
50
52
  export const RadioPowerTargetSchema = z.enum(['on', 'off', 'standby', 'operate']);
53
+ /**
54
+ * Request to transition one radio profile to a physical/controller power state.
55
+ * `profileId` selects the profile, `state` is the requested target, and
56
+ * `autoEngine` controls whether TX-5DR starts after a successful power-on.
57
+ */
51
58
  export const RadioPowerRequestSchema = z.object({
52
59
  profileId: z.string().min(1),
53
60
  /** Physical radio power target. This is not the TX-5DR software engine state. */
@@ -55,17 +62,17 @@ export const RadioPowerRequestSchema = z.object({
55
62
  /** Automatically start the TX-5DR engine after successful physical power-on. */
56
63
  autoEngine: z.boolean().optional().default(true),
57
64
  });
58
- /**
59
- * REST response: POST /api/radio/power
60
- */
65
+ /** Result returned by the REST endpoint and `ctx.radioPowerCommands.submit()`. */
61
66
  export const RadioPowerResponseSchema = z.object({
62
67
  success: z.boolean(),
63
68
  target: RadioPowerTargetSchema,
64
69
  state: RadioPowerStateSchema,
65
70
  });
66
71
  /**
67
- * REST response: GET /api/radio/power/support?profileId=xxx
68
- * The server resolves mfgName/modelName internally via HamLib.getSupportedRigs().
72
+ * Power operations supported by one radio profile, returned by REST and
73
+ * `ctx.radioPower.getSupport()`. `reason` explains why wake is unavailable;
74
+ * `supportedStates` lists connected-state transitions the Host may accept.
75
+ * The Host resolves manufacturer/model names through Hamlib.
69
76
  */
70
77
  export const RadioPowerSupportInfoSchema = z.object({
71
78
  profileId: z.string(),