@tx5dr/contracts 1.2.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 (180) hide show
  1. package/CLAUDE.md +41 -0
  2. package/dist/index.d.ts +55 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +86 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/schema/__tests__/plugin-runtime-log.schema.test.d.ts +2 -0
  7. package/dist/schema/__tests__/plugin-runtime-log.schema.test.d.ts.map +1 -0
  8. package/dist/schema/__tests__/plugin-runtime-log.schema.test.js +78 -0
  9. package/dist/schema/__tests__/plugin-runtime-log.schema.test.js.map +1 -0
  10. package/dist/schema/ability.d.ts +85 -0
  11. package/dist/schema/ability.d.ts.map +1 -0
  12. package/dist/schema/ability.js +119 -0
  13. package/dist/schema/ability.js.map +1 -0
  14. package/dist/schema/api-response.schema.d.ts +1017 -0
  15. package/dist/schema/api-response.schema.d.ts.map +1 -0
  16. package/dist/schema/api-response.schema.js +137 -0
  17. package/dist/schema/api-response.schema.js.map +1 -0
  18. package/dist/schema/audio-sidecar.schema.d.ts +106 -0
  19. package/dist/schema/audio-sidecar.schema.d.ts.map +1 -0
  20. package/dist/schema/audio-sidecar.schema.js +47 -0
  21. package/dist/schema/audio-sidecar.schema.js.map +1 -0
  22. package/dist/schema/audio.schema.d.ts +227 -0
  23. package/dist/schema/audio.schema.d.ts.map +1 -0
  24. package/dist/schema/audio.schema.js +56 -0
  25. package/dist/schema/audio.schema.js.map +1 -0
  26. package/dist/schema/auth.schema.d.ts +738 -0
  27. package/dist/schema/auth.schema.d.ts.map +1 -0
  28. package/dist/schema/auth.schema.js +161 -0
  29. package/dist/schema/auth.schema.js.map +1 -0
  30. package/dist/schema/cycle.schema.d.ts +33 -0
  31. package/dist/schema/cycle.schema.d.ts.map +1 -0
  32. package/dist/schema/cycle.schema.js +23 -0
  33. package/dist/schema/cycle.schema.js.map +1 -0
  34. package/dist/schema/desktop-https.schema.d.ts +146 -0
  35. package/dist/schema/desktop-https.schema.d.ts.map +1 -0
  36. package/dist/schema/desktop-https.schema.js +31 -0
  37. package/dist/schema/desktop-https.schema.js.map +1 -0
  38. package/dist/schema/ft8.schema.d.ts +1107 -0
  39. package/dist/schema/ft8.schema.d.ts.map +1 -0
  40. package/dist/schema/ft8.schema.js +268 -0
  41. package/dist/schema/ft8.schema.js.map +1 -0
  42. package/dist/schema/hello.schema.d.ts +10 -0
  43. package/dist/schema/hello.schema.d.ts.map +1 -0
  44. package/dist/schema/hello.schema.js +5 -0
  45. package/dist/schema/hello.schema.js.map +1 -0
  46. package/dist/schema/logbook.schema.d.ts +1472 -0
  47. package/dist/schema/logbook.schema.d.ts.map +1 -0
  48. package/dist/schema/logbook.schema.js +256 -0
  49. package/dist/schema/logbook.schema.js.map +1 -0
  50. package/dist/schema/mode.schema.d.ts +130 -0
  51. package/dist/schema/mode.schema.d.ts.map +1 -0
  52. package/dist/schema/mode.schema.js +141 -0
  53. package/dist/schema/mode.schema.js.map +1 -0
  54. package/dist/schema/openwebrx.schema.d.ts +352 -0
  55. package/dist/schema/openwebrx.schema.d.ts.map +1 -0
  56. package/dist/schema/openwebrx.schema.js +139 -0
  57. package/dist/schema/openwebrx.schema.js.map +1 -0
  58. package/dist/schema/operator.schema.d.ts +883 -0
  59. package/dist/schema/operator.schema.d.ts.map +1 -0
  60. package/dist/schema/operator.schema.js +97 -0
  61. package/dist/schema/operator.schema.js.map +1 -0
  62. package/dist/schema/plugin.schema.d.ts +1579 -0
  63. package/dist/schema/plugin.schema.d.ts.map +1 -0
  64. package/dist/schema/plugin.schema.js +336 -0
  65. package/dist/schema/plugin.schema.js.map +1 -0
  66. package/dist/schema/process-monitor.schema.d.ts +282 -0
  67. package/dist/schema/process-monitor.schema.d.ts.map +1 -0
  68. package/dist/schema/process-monitor.schema.js +31 -0
  69. package/dist/schema/process-monitor.schema.js.map +1 -0
  70. package/dist/schema/pskreporter.schema.d.ts +185 -0
  71. package/dist/schema/pskreporter.schema.d.ts.map +1 -0
  72. package/dist/schema/pskreporter.schema.js +80 -0
  73. package/dist/schema/pskreporter.schema.js.map +1 -0
  74. package/dist/schema/qso.schema.d.ts +419 -0
  75. package/dist/schema/qso.schema.d.ts.map +1 -0
  76. package/dist/schema/qso.schema.js +137 -0
  77. package/dist/schema/qso.schema.js.map +1 -0
  78. package/dist/schema/radio-capability.schema.d.ts +625 -0
  79. package/dist/schema/radio-capability.schema.d.ts.map +1 -0
  80. package/dist/schema/radio-capability.schema.js +191 -0
  81. package/dist/schema/radio-capability.schema.js.map +1 -0
  82. package/dist/schema/radio-power-support.d.ts +45 -0
  83. package/dist/schema/radio-power-support.d.ts.map +1 -0
  84. package/dist/schema/radio-power-support.js +64 -0
  85. package/dist/schema/radio-power-support.js.map +1 -0
  86. package/dist/schema/radio-power.schema.d.ts +319 -0
  87. package/dist/schema/radio-power.schema.d.ts.map +1 -0
  88. package/dist/schema/radio-power.schema.js +87 -0
  89. package/dist/schema/radio-power.schema.js.map +1 -0
  90. package/dist/schema/radio-profile.schema.d.ts +2694 -0
  91. package/dist/schema/radio-profile.schema.d.ts.map +1 -0
  92. package/dist/schema/radio-profile.schema.js +71 -0
  93. package/dist/schema/radio-profile.schema.js.map +1 -0
  94. package/dist/schema/radio.schema.d.ts +1438 -0
  95. package/dist/schema/radio.schema.d.ts.map +1 -0
  96. package/dist/schema/radio.schema.js +314 -0
  97. package/dist/schema/radio.schema.js.map +1 -0
  98. package/dist/schema/realtime.schema.d.ts +1299 -0
  99. package/dist/schema/realtime.schema.d.ts.map +1 -0
  100. package/dist/schema/realtime.schema.js +184 -0
  101. package/dist/schema/realtime.schema.js.map +1 -0
  102. package/dist/schema/rigctld.schema.d.ts +151 -0
  103. package/dist/schema/rigctld.schema.d.ts.map +1 -0
  104. package/dist/schema/rigctld.schema.js +42 -0
  105. package/dist/schema/rigctld.schema.js.map +1 -0
  106. package/dist/schema/server-message-keys.d.ts +21 -0
  107. package/dist/schema/server-message-keys.d.ts.map +1 -0
  108. package/dist/schema/server-message-keys.js +22 -0
  109. package/dist/schema/server-message-keys.js.map +1 -0
  110. package/dist/schema/slot-info.schema.d.ts +696 -0
  111. package/dist/schema/slot-info.schema.d.ts.map +1 -0
  112. package/dist/schema/slot-info.schema.js +144 -0
  113. package/dist/schema/slot-info.schema.js.map +1 -0
  114. package/dist/schema/spectrum.schema.d.ts +716 -0
  115. package/dist/schema/spectrum.schema.d.ts.map +1 -0
  116. package/dist/schema/spectrum.schema.js +128 -0
  117. package/dist/schema/spectrum.schema.js.map +1 -0
  118. package/dist/schema/station-info.schema.d.ts +202 -0
  119. package/dist/schema/station-info.schema.d.ts.map +1 -0
  120. package/dist/schema/station-info.schema.js +32 -0
  121. package/dist/schema/station-info.schema.js.map +1 -0
  122. package/dist/schema/system.schema.d.ts +113 -0
  123. package/dist/schema/system.schema.d.ts.map +1 -0
  124. package/dist/schema/system.schema.js +95 -0
  125. package/dist/schema/system.schema.js.map +1 -0
  126. package/dist/schema/transmission.schema.d.ts +413 -0
  127. package/dist/schema/transmission.schema.d.ts.map +1 -0
  128. package/dist/schema/transmission.schema.js +78 -0
  129. package/dist/schema/transmission.schema.js.map +1 -0
  130. package/dist/schema/voice.schema.d.ts +38 -0
  131. package/dist/schema/voice.schema.d.ts.map +1 -0
  132. package/dist/schema/voice.schema.js +24 -0
  133. package/dist/schema/voice.schema.js.map +1 -0
  134. package/dist/schema/websocket.schema.d.ts +16916 -0
  135. package/dist/schema/websocket.schema.d.ts.map +1 -0
  136. package/dist/schema/websocket.schema.js +1050 -0
  137. package/dist/schema/websocket.schema.js.map +1 -0
  138. package/dist/utils/grid.d.ts +13 -0
  139. package/dist/utils/grid.d.ts.map +1 -0
  140. package/dist/utils/grid.js +71 -0
  141. package/dist/utils/grid.js.map +1 -0
  142. package/eslint.config.js +15 -0
  143. package/package.json +28 -0
  144. package/src/index.ts +152 -0
  145. package/src/schema/__tests__/plugin-runtime-log.schema.test.ts +90 -0
  146. package/src/schema/ability.ts +205 -0
  147. package/src/schema/api-response.schema.ts +187 -0
  148. package/src/schema/audio-sidecar.schema.ts +53 -0
  149. package/src/schema/audio.schema.ts +73 -0
  150. package/src/schema/auth.schema.ts +224 -0
  151. package/src/schema/cycle.schema.ts +25 -0
  152. package/src/schema/desktop-https.schema.ts +43 -0
  153. package/src/schema/ft8.schema.ts +362 -0
  154. package/src/schema/hello.schema.ts +7 -0
  155. package/src/schema/logbook.schema.ts +310 -0
  156. package/src/schema/mode.schema.ts +158 -0
  157. package/src/schema/openwebrx.schema.ts +160 -0
  158. package/src/schema/operator.schema.ts +112 -0
  159. package/src/schema/plugin.schema.ts +503 -0
  160. package/src/schema/process-monitor.schema.ts +41 -0
  161. package/src/schema/pskreporter.schema.ts +102 -0
  162. package/src/schema/qso.schema.ts +173 -0
  163. package/src/schema/radio-capability.schema.ts +244 -0
  164. package/src/schema/radio-power-support.ts +107 -0
  165. package/src/schema/radio-power.schema.ts +101 -0
  166. package/src/schema/radio-profile.schema.ts +91 -0
  167. package/src/schema/radio.schema.ts +385 -0
  168. package/src/schema/realtime.schema.ts +262 -0
  169. package/src/schema/rigctld.schema.ts +51 -0
  170. package/src/schema/server-message-keys.ts +26 -0
  171. package/src/schema/slot-info.schema.ts +162 -0
  172. package/src/schema/spectrum.schema.ts +166 -0
  173. package/src/schema/station-info.schema.ts +40 -0
  174. package/src/schema/system.schema.ts +121 -0
  175. package/src/schema/transmission.schema.ts +105 -0
  176. package/src/schema/voice.schema.ts +28 -0
  177. package/src/schema/websocket.schema.ts +1480 -0
  178. package/src/utils/grid.ts +94 -0
  179. package/test/mode-schema.test.ts +48 -0
  180. package/tsconfig.json +9 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio.schema.d.ts","sourceRoot":"","sources":["../../src/schema/radio.schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,314 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * 预设频率Schema
4
+ */
5
+ export const PresetFrequencySchema = z.object({
6
+ band: z.string(),
7
+ mode: z.string(), // 协议模式,如 FT8, FT4
8
+ radioMode: z.string().optional(), // 电台调制模式,如 USB, LSB, AM, FM
9
+ frequency: z.number(),
10
+ description: z.string().optional(),
11
+ });
12
+ /**
13
+ * 频率列表响应Schema
14
+ */
15
+ export const FrequencyListResponseSchema = z.object({
16
+ success: z.boolean(),
17
+ presets: z.array(PresetFrequencySchema),
18
+ });
19
+ /**
20
+ * 串口配置参数Schema
21
+ */
22
+ export const SerialConfigSchema = z.object({
23
+ // 基础串口设置
24
+ data_bits: z.enum(['5', '6', '7', '8']).optional(),
25
+ stop_bits: z.enum(['1', '2']).optional(),
26
+ serial_parity: z.enum(['None', 'Even', 'Odd', 'Mark', 'Space']).optional(),
27
+ serial_handshake: z.enum(['None', 'Hardware', 'Software']).optional(),
28
+ // 控制信号
29
+ rts_state: z.enum(['ON', 'OFF', 'UNSET']).optional(),
30
+ dtr_state: z.enum(['ON', 'OFF', 'UNSET']).optional(),
31
+ // 通信设置
32
+ rate: z.number().int().min(150).max(4000000).optional(), // 波特率
33
+ timeout: z.number().int().min(0).optional(), // 超时时间(ms)
34
+ retry: z.number().int().min(0).optional(), // 重试次数
35
+ // 时序控制
36
+ write_delay: z.number().int().min(0).optional(), // 字节间延迟(ms)
37
+ post_write_delay: z.number().int().min(0).optional(), // 命令间延迟(ms)
38
+ });
39
+ export const HamlibBackendConfigSchema = z.record(z.string());
40
+ export const HamlibConfigFieldTypeSchema = z.enum([
41
+ 'string',
42
+ 'combo',
43
+ 'numeric',
44
+ 'checkbutton',
45
+ 'button',
46
+ 'binary',
47
+ 'int',
48
+ 'unknown',
49
+ ]);
50
+ export const HamlibConfigFieldSchema = z.object({
51
+ token: z.number().int(),
52
+ name: z.string(),
53
+ label: z.string(),
54
+ tooltip: z.string(),
55
+ defaultValue: z.string(),
56
+ effectiveDefaultValue: z.string().optional(),
57
+ effectiveDefaultSource: z.enum(['hamlib-schema', 'rig-caps']).optional(),
58
+ type: HamlibConfigFieldTypeSchema,
59
+ numeric: z.object({
60
+ min: z.number(),
61
+ max: z.number(),
62
+ step: z.number(),
63
+ }).optional(),
64
+ options: z.array(z.string()).optional(),
65
+ });
66
+ export const RigEndpointKindSchema = z.enum([
67
+ 'serial-port',
68
+ 'network-address',
69
+ 'device-path',
70
+ ]);
71
+ /**
72
+ * 网络 RigCtld 连接配置Schema
73
+ */
74
+ export const NetworkConfigSchema = z.object({
75
+ host: z.string(),
76
+ port: z.number().int().min(1).max(65535),
77
+ });
78
+ /**
79
+ * ICOM WLAN 连接配置Schema
80
+ */
81
+ export const IcomWlanConfigSchema = z.object({
82
+ ip: z.string(),
83
+ port: z.number().int().min(1).max(65535),
84
+ userName: z.string().optional(),
85
+ password: z.string().optional(),
86
+ /**
87
+ * 数据模式(Data Mode)
88
+ * 启用时使用 USB-D 等数字模式,适用于 FT8/FT4 等数字通信
89
+ * 默认值: true
90
+ */
91
+ dataMode: z.boolean().optional().default(true),
92
+ });
93
+ /**
94
+ * 串口连接配置Schema
95
+ */
96
+ export const SerialConnectionConfigSchema = z.object({
97
+ path: z.string(),
98
+ rigModel: z.number().int(),
99
+ serialConfig: SerialConfigSchema.optional(),
100
+ backendConfig: HamlibBackendConfigSchema.optional(),
101
+ });
102
+ export const HamlibSpectrumConfigSchema = z.object({
103
+ speed: z.number().int().min(0).max(255).optional(),
104
+ });
105
+ /**
106
+ * PTT (Push-to-Talk) 方法Schema
107
+ *
108
+ * - cat: 通过 CAT 命令控制 PTT(Hamlib RIG 类型,推荐)
109
+ * - vox: 不主动控制 PTT,电台通过检测音频信号自动发射(适用于 SignaLink USB 等)
110
+ * - dtr: 通过 RS-232 DTR 引脚控制 PTT(适用于古老电台或外部功放)
111
+ * - rts: 通过 RS-232 RTS 引脚控制 PTT(适用于古老电台或外部功放)
112
+ */
113
+ export const PttMethodSchema = z.enum(['cat', 'vox', 'dtr', 'rts']);
114
+ /**
115
+ * Hamlib配置Schema - 嵌套对象结构
116
+ *
117
+ * 设计理念:
118
+ * - type: 当前使用的连接类型
119
+ * - network/icomWlan/serial: 各连接类型的独立配置对象
120
+ * - 所有配置对象共存,切换连接类型时保留历史配置
121
+ * - 根据 type 字段读取对应的配置对象
122
+ */
123
+ export const HamlibConfigSchema = z.object({
124
+ type: z.enum(['none', 'network', 'serial', 'icom-wlan']),
125
+ // 网络模式配置
126
+ network: NetworkConfigSchema.optional(),
127
+ // ICOM WLAN 模式配置
128
+ icomWlan: IcomWlanConfigSchema.optional(),
129
+ // 串口模式配置
130
+ serial: SerialConnectionConfigSchema.optional(),
131
+ // Hamlib 频谱配置(当前仅用于官方频谱流 speed)
132
+ spectrum: HamlibSpectrumConfigSchema.optional(),
133
+ // 发射时序补偿(毫秒)- 用于补偿电台和网络的处理延迟
134
+ // 正值表示提前发射,负值表示延后发射
135
+ // 范围限制:-1000~1000ms,适用于各种网络和设备延迟场景
136
+ transmitCompensationMs: z.number().int().min(-1000).max(1000).optional(),
137
+ // PTT 方法(默认 'cat',即 Hamlib RIG 类型)
138
+ // 仅对 network 和 serial 连接类型有效,icom-wlan 固定使用 CI-V PTT
139
+ pttMethod: PttMethodSchema.optional(),
140
+ // PTT 独立串口路径(仅当 pttMethod 为 dtr/rts 时有效)
141
+ // 留空则复用 CAT 同一串口
142
+ pttPort: z.string().optional(),
143
+ });
144
+ /**
145
+ * 电台配置响应Schema
146
+ */
147
+ export const RadioConfigResponseSchema = z.object({
148
+ success: z.boolean(),
149
+ config: HamlibConfigSchema,
150
+ });
151
+ /**
152
+ * 支持的电台型号Schema
153
+ */
154
+ export const SupportedRigSchema = z.object({
155
+ rigModel: z.number(),
156
+ mfgName: z.string(),
157
+ modelName: z.string(),
158
+ });
159
+ /**
160
+ * 支持的电台列表响应Schema
161
+ */
162
+ export const SupportedRigsResponseSchema = z.object({
163
+ rigs: z.array(SupportedRigSchema),
164
+ });
165
+ export const RigConfigSchemaResponseSchema = z.object({
166
+ rigModel: z.number().int(),
167
+ portType: z.string(),
168
+ endpointKind: RigEndpointKindSchema,
169
+ fields: z.array(HamlibConfigFieldSchema),
170
+ });
171
+ /**
172
+ * 电台信息Schema
173
+ * 用于描述当前连接的电台的详细信息
174
+ */
175
+ export const RadioInfoSchema = z.object({
176
+ /** 制造商名称,如 "Yaesu", "ICOM", "Network" */
177
+ manufacturer: z.string(),
178
+ /** 型号名称,如 "FT-991A", "IC-705", "RigCtrl" */
179
+ model: z.string(),
180
+ /** Hamlib 电台型号 ID (serial/network 模式使用,icom-wlan 模式可选) */
181
+ rigModel: z.number().optional(),
182
+ /** 连接类型 */
183
+ connectionType: z.enum(['serial', 'network', 'icom-wlan']),
184
+ /** 固件版本 (如果可获取) */
185
+ firmwareVersion: z.string().optional(),
186
+ /** 序列号 (如果可获取) */
187
+ serialNumber: z.string().optional(),
188
+ });
189
+ /**
190
+ * 串口信息Schema
191
+ */
192
+ export const SerialPortSchema = z.object({
193
+ path: z.string(),
194
+ manufacturer: z.string().optional(),
195
+ serialNumber: z.string().optional(),
196
+ pnpId: z.string().optional(),
197
+ locationId: z.string().optional(),
198
+ productId: z.string().optional(),
199
+ vendorId: z.string().optional(),
200
+ });
201
+ /**
202
+ * 串口列表响应Schema
203
+ */
204
+ export const SerialPortsResponseSchema = z.object({
205
+ ports: z.array(SerialPortSchema),
206
+ });
207
+ /**
208
+ * 测试响应Schema
209
+ */
210
+ export const TestResponseSchema = z.object({
211
+ success: z.boolean(),
212
+ message: z.string().optional(),
213
+ });
214
+ /**
215
+ * 天调能力Schema
216
+ * 描述电台的天线调谐器功能支持情况
217
+ */
218
+ export const TunerCapabilitiesSchema = z.object({
219
+ /** 是否支持天调功能 */
220
+ supported: z.boolean(),
221
+ /** 是否支持开关控制 */
222
+ hasSwitch: z.boolean(),
223
+ /** 是否支持手动调谐 */
224
+ hasManualTune: z.boolean(),
225
+ });
226
+ /**
227
+ * 天调状态Schema
228
+ * 描述天线调谐器的当前状态
229
+ */
230
+ export const TunerStatusSchema = z.object({
231
+ /** 天调是否已启用 */
232
+ enabled: z.boolean(),
233
+ /** 是否正在调谐中 */
234
+ active: z.boolean(),
235
+ /** 驻波比 (SWR) 值 */
236
+ swr: z.number().optional(),
237
+ /** 调谐状态 */
238
+ status: z.enum(['idle', 'tuning', 'success', 'failed']).optional(),
239
+ });
240
+ /**
241
+ * 天调能力响应Schema
242
+ */
243
+ export const TunerCapabilitiesResponseSchema = z.object({
244
+ success: z.boolean(),
245
+ capabilities: TunerCapabilitiesSchema,
246
+ });
247
+ /**
248
+ * 天调状态响应Schema
249
+ */
250
+ export const TunerStatusResponseSchema = z.object({
251
+ success: z.boolean(),
252
+ status: TunerStatusSchema,
253
+ });
254
+ /**
255
+ * 电台连接状态枚举
256
+ * 精细化的连接状态,贯穿 server → contracts → web
257
+ */
258
+ export var RadioConnectionStatus;
259
+ (function (RadioConnectionStatus) {
260
+ /** 未配置电台 (type=none) */
261
+ RadioConnectionStatus["NOT_CONFIGURED"] = "not_configured";
262
+ /** 已断开 (type!=none, 但未连接/初始状态) */
263
+ RadioConnectionStatus["DISCONNECTED"] = "disconnected";
264
+ /** 连接中 */
265
+ RadioConnectionStatus["CONNECTING"] = "connecting";
266
+ /** 已连接 */
267
+ RadioConnectionStatus["CONNECTED"] = "connected";
268
+ /** 自动重连中(运行中断线后自动重连) */
269
+ RadioConnectionStatus["RECONNECTING"] = "reconnecting";
270
+ /** 连接丢失(重连耗尽或运行中断连后停止重连) */
271
+ RadioConnectionStatus["CONNECTION_LOST"] = "connection_lost";
272
+ })(RadioConnectionStatus || (RadioConnectionStatus = {}));
273
+ /**
274
+ * 重连进度信息
275
+ */
276
+ export const ReconnectProgressSchema = z.object({
277
+ attempt: z.number(),
278
+ maxAttempts: z.number(),
279
+ nextRetryMs: z.number().optional(),
280
+ });
281
+ export const RadioConnectionStatusSchema = z.nativeEnum(RadioConnectionStatus);
282
+ /**
283
+ * 核心电台能力
284
+ * 用于描述主流程是否仍可继续使用某项核心读写能力。
285
+ *
286
+ * 语义:
287
+ * - true: 当前连接仍可继续尝试该能力(已确认支持,或尚未确认不支持)
288
+ * - false: 已明确确认当前电台/连接不支持该能力,后续不再重复访问底层
289
+ */
290
+ export const CoreRadioCapabilitiesSchema = z.object({
291
+ readFrequency: z.boolean(),
292
+ writeFrequency: z.boolean(),
293
+ readRadioMode: z.boolean(),
294
+ writeRadioMode: z.boolean(),
295
+ });
296
+ export const CoreCapabilityDiagnosticSchema = z.object({
297
+ capability: z.enum(['readFrequency', 'writeFrequency', 'readRadioMode', 'writeRadioMode']),
298
+ message: z.string(),
299
+ stack: z.string(),
300
+ recordedAt: z.number(),
301
+ });
302
+ export const CoreCapabilityDiagnosticsSchema = z.object({
303
+ readFrequency: CoreCapabilityDiagnosticSchema.optional(),
304
+ writeFrequency: CoreCapabilityDiagnosticSchema.optional(),
305
+ readRadioMode: CoreCapabilityDiagnosticSchema.optional(),
306
+ writeRadioMode: CoreCapabilityDiagnosticSchema.optional(),
307
+ });
308
+ /**
309
+ * 自定义频率预设设置Schema
310
+ */
311
+ export const CustomFrequencyPresetsSchema = z.object({
312
+ presets: z.array(PresetFrequencySchema).min(1),
313
+ });
314
+ //# sourceMappingURL=radio.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio.schema.js","sourceRoot":"","sources":["../../src/schema/radio.schema.ts"],"names":[],"mappings":"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"}