@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,185 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * PSKReporter 统计信息 Schema
4
+ */
5
+ export declare const PSKReporterStatsSchema: z.ZodObject<{
6
+ /** 最后成功上报时间 (Unix毫秒) */
7
+ lastReportTime: z.ZodOptional<z.ZodNumber>;
8
+ /** 今日上报数量 */
9
+ todayReportCount: z.ZodDefault<z.ZodNumber>;
10
+ /** 总上报数量 */
11
+ totalReportCount: z.ZodDefault<z.ZodNumber>;
12
+ /** 最后错误信息 */
13
+ lastError: z.ZodOptional<z.ZodString>;
14
+ /** 连续失败次数 */
15
+ consecutiveFailures: z.ZodDefault<z.ZodNumber>;
16
+ }, "strip", z.ZodTypeAny, {
17
+ todayReportCount: number;
18
+ totalReportCount: number;
19
+ consecutiveFailures: number;
20
+ lastError?: string | undefined;
21
+ lastReportTime?: number | undefined;
22
+ }, {
23
+ lastError?: string | undefined;
24
+ lastReportTime?: number | undefined;
25
+ todayReportCount?: number | undefined;
26
+ totalReportCount?: number | undefined;
27
+ consecutiveFailures?: number | undefined;
28
+ }>;
29
+ /**
30
+ * PSKReporter 配置 Schema
31
+ */
32
+ export declare const PSKReporterConfigSchema: z.ZodObject<{
33
+ /** 是否启用 PSKReporter 上报 */
34
+ enabled: z.ZodDefault<z.ZodBoolean>;
35
+ /** 接收电台呼号 (可选,留空时使用第一个操作员的呼号) */
36
+ receiverCallsign: z.ZodDefault<z.ZodString>;
37
+ /** 接收电台网格 (可选,留空时使用第一个操作员的网格) */
38
+ receiverLocator: z.ZodDefault<z.ZodString>;
39
+ /** 解码软件名称 (自动填充) */
40
+ decodingSoftware: z.ZodDefault<z.ZodString>;
41
+ /** 天线信息 (可选,会显示在 PSKReporter 地图上) */
42
+ antennaInformation: z.ZodDefault<z.ZodString>;
43
+ /** 上报间隔(秒),最小10秒,最大60秒,默认30秒 */
44
+ reportIntervalSeconds: z.ZodDefault<z.ZodNumber>;
45
+ /** 是否使用测试服务器(仅用于开发调试) */
46
+ useTestServer: z.ZodDefault<z.ZodBoolean>;
47
+ /** 上报统计 */
48
+ stats: z.ZodDefault<z.ZodObject<{
49
+ /** 最后成功上报时间 (Unix毫秒) */
50
+ lastReportTime: z.ZodOptional<z.ZodNumber>;
51
+ /** 今日上报数量 */
52
+ todayReportCount: z.ZodDefault<z.ZodNumber>;
53
+ /** 总上报数量 */
54
+ totalReportCount: z.ZodDefault<z.ZodNumber>;
55
+ /** 最后错误信息 */
56
+ lastError: z.ZodOptional<z.ZodString>;
57
+ /** 连续失败次数 */
58
+ consecutiveFailures: z.ZodDefault<z.ZodNumber>;
59
+ }, "strip", z.ZodTypeAny, {
60
+ todayReportCount: number;
61
+ totalReportCount: number;
62
+ consecutiveFailures: number;
63
+ lastError?: string | undefined;
64
+ lastReportTime?: number | undefined;
65
+ }, {
66
+ lastError?: string | undefined;
67
+ lastReportTime?: number | undefined;
68
+ todayReportCount?: number | undefined;
69
+ totalReportCount?: number | undefined;
70
+ consecutiveFailures?: number | undefined;
71
+ }>>;
72
+ }, "strip", z.ZodTypeAny, {
73
+ stats: {
74
+ todayReportCount: number;
75
+ totalReportCount: number;
76
+ consecutiveFailures: number;
77
+ lastError?: string | undefined;
78
+ lastReportTime?: number | undefined;
79
+ };
80
+ enabled: boolean;
81
+ receiverCallsign: string;
82
+ receiverLocator: string;
83
+ decodingSoftware: string;
84
+ antennaInformation: string;
85
+ reportIntervalSeconds: number;
86
+ useTestServer: boolean;
87
+ }, {
88
+ stats?: {
89
+ lastError?: string | undefined;
90
+ lastReportTime?: number | undefined;
91
+ todayReportCount?: number | undefined;
92
+ totalReportCount?: number | undefined;
93
+ consecutiveFailures?: number | undefined;
94
+ } | undefined;
95
+ enabled?: boolean | undefined;
96
+ receiverCallsign?: string | undefined;
97
+ receiverLocator?: string | undefined;
98
+ decodingSoftware?: string | undefined;
99
+ antennaInformation?: string | undefined;
100
+ reportIntervalSeconds?: number | undefined;
101
+ useTestServer?: boolean | undefined;
102
+ }>;
103
+ /**
104
+ * PSKReporter 上报记录 Schema (用于收集待上报数据)
105
+ */
106
+ export declare const PSKReporterSpotSchema: z.ZodObject<{
107
+ /** 发送电台呼号 (必填) */
108
+ senderCallsign: z.ZodString;
109
+ /** 频率 (Hz,可选) */
110
+ frequency: z.ZodOptional<z.ZodNumber>;
111
+ /** 模式 (FT8, FT4 等) */
112
+ mode: z.ZodString;
113
+ /** 信噪比 (可选) */
114
+ snr: z.ZodOptional<z.ZodNumber>;
115
+ /** 接收时间戳 (Unix 秒) */
116
+ flowStartSeconds: z.ZodNumber;
117
+ /** 发送电台网格 (可选,从消息中解析) */
118
+ senderLocator: z.ZodOptional<z.ZodString>;
119
+ /** 信息源 (1 = automatic) */
120
+ informationSource: z.ZodDefault<z.ZodNumber>;
121
+ }, "strip", z.ZodTypeAny, {
122
+ mode: string;
123
+ senderCallsign: string;
124
+ flowStartSeconds: number;
125
+ informationSource: number;
126
+ frequency?: number | undefined;
127
+ snr?: number | undefined;
128
+ senderLocator?: string | undefined;
129
+ }, {
130
+ mode: string;
131
+ senderCallsign: string;
132
+ flowStartSeconds: number;
133
+ frequency?: number | undefined;
134
+ snr?: number | undefined;
135
+ senderLocator?: string | undefined;
136
+ informationSource?: number | undefined;
137
+ }>;
138
+ /**
139
+ * PSKReporter 上报状态 Schema
140
+ */
141
+ export declare const PSKReporterStatusSchema: z.ZodObject<{
142
+ /** 是否已启用 */
143
+ enabled: z.ZodBoolean;
144
+ /** 是否配置有效 */
145
+ configValid: z.ZodBoolean;
146
+ /** 当前使用的呼号 */
147
+ activeCallsign: z.ZodOptional<z.ZodString>;
148
+ /** 当前使用的网格 */
149
+ activeLocator: z.ZodOptional<z.ZodString>;
150
+ /** 待上报记录数 */
151
+ pendingSpots: z.ZodNumber;
152
+ /** 最后上报时间 (Unix毫秒) */
153
+ lastReportTime: z.ZodOptional<z.ZodNumber>;
154
+ /** 距离下次上报秒数 */
155
+ nextReportIn: z.ZodOptional<z.ZodNumber>;
156
+ /** 是否正在上报 */
157
+ isReporting: z.ZodBoolean;
158
+ /** 最后错误 */
159
+ lastError: z.ZodOptional<z.ZodString>;
160
+ }, "strip", z.ZodTypeAny, {
161
+ enabled: boolean;
162
+ configValid: boolean;
163
+ pendingSpots: number;
164
+ isReporting: boolean;
165
+ lastError?: string | undefined;
166
+ lastReportTime?: number | undefined;
167
+ activeCallsign?: string | undefined;
168
+ activeLocator?: string | undefined;
169
+ nextReportIn?: number | undefined;
170
+ }, {
171
+ enabled: boolean;
172
+ configValid: boolean;
173
+ pendingSpots: number;
174
+ isReporting: boolean;
175
+ lastError?: string | undefined;
176
+ lastReportTime?: number | undefined;
177
+ activeCallsign?: string | undefined;
178
+ activeLocator?: string | undefined;
179
+ nextReportIn?: number | undefined;
180
+ }>;
181
+ export type PSKReporterStats = z.infer<typeof PSKReporterStatsSchema>;
182
+ export type PSKReporterConfig = z.infer<typeof PSKReporterConfigSchema>;
183
+ export type PSKReporterSpot = z.infer<typeof PSKReporterSpotSchema>;
184
+ export type PSKReporterStatus = z.infer<typeof PSKReporterStatusSchema>;
185
+ //# sourceMappingURL=pskreporter.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pskreporter.schema.d.ts","sourceRoot":"","sources":["../../src/schema/pskreporter.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,sBAAsB;IACjC,wBAAwB;;IAExB,aAAa;;IAEb,YAAY;;IAEZ,aAAa;;IAEb,aAAa;;;;;;;;;;;;;;EAEb,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,uBAAuB;IAClC,0BAA0B;;IAG1B,iCAAiC;;IAGjC,iCAAiC;;IAGjC,oBAAoB;;IAGpB,qCAAqC;;IAGrC,gCAAgC;;IAGhC,yBAAyB;;IAGzB,WAAW;;QArCX,wBAAwB;;QAExB,aAAa;;QAEb,YAAY;;QAEZ,aAAa;;QAEb,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+Bb,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,qBAAqB;IAChC,kBAAkB;;IAGlB,iBAAiB;;IAGjB,sBAAsB;;IAGtB,eAAe;;IAGf,qBAAqB;;IAGrB,yBAAyB;;IAGzB,0BAA0B;;;;;;;;;;;;;;;;;;EAE1B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,uBAAuB;IAClC,YAAY;;IAEZ,aAAa;;IAEb,cAAc;;IAEd,cAAc;;IAEd,aAAa;;IAEb,sBAAsB;;IAEtB,eAAe;;IAEf,aAAa;;IAEb,WAAW;;;;;;;;;;;;;;;;;;;;;;EAEX,CAAC;AAGH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
@@ -0,0 +1,80 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * PSKReporter 统计信息 Schema
4
+ */
5
+ export const PSKReporterStatsSchema = z.object({
6
+ /** 最后成功上报时间 (Unix毫秒) */
7
+ lastReportTime: z.number().optional(),
8
+ /** 今日上报数量 */
9
+ todayReportCount: z.number().default(0),
10
+ /** 总上报数量 */
11
+ totalReportCount: z.number().default(0),
12
+ /** 最后错误信息 */
13
+ lastError: z.string().optional(),
14
+ /** 连续失败次数 */
15
+ consecutiveFailures: z.number().default(0),
16
+ });
17
+ /**
18
+ * PSKReporter 配置 Schema
19
+ */
20
+ export const PSKReporterConfigSchema = z.object({
21
+ /** 是否启用 PSKReporter 上报 */
22
+ enabled: z.boolean().default(false),
23
+ /** 接收电台呼号 (可选,留空时使用第一个操作员的呼号) */
24
+ receiverCallsign: z.string().default(''),
25
+ /** 接收电台网格 (可选,留空时使用第一个操作员的网格) */
26
+ receiverLocator: z.string().default(''),
27
+ /** 解码软件名称 (自动填充) */
28
+ decodingSoftware: z.string().default('TX-5DR'),
29
+ /** 天线信息 (可选,会显示在 PSKReporter 地图上) */
30
+ antennaInformation: z.string().max(64, '天线信息不能超过64字符').default(''),
31
+ /** 上报间隔(秒),最小10秒,最大60秒,默认30秒 */
32
+ reportIntervalSeconds: z.number().min(10).max(60).default(30),
33
+ /** 是否使用测试服务器(仅用于开发调试) */
34
+ useTestServer: z.boolean().default(false),
35
+ /** 上报统计 */
36
+ stats: PSKReporterStatsSchema.default({}),
37
+ });
38
+ /**
39
+ * PSKReporter 上报记录 Schema (用于收集待上报数据)
40
+ */
41
+ export const PSKReporterSpotSchema = z.object({
42
+ /** 发送电台呼号 (必填) */
43
+ senderCallsign: z.string(),
44
+ /** 频率 (Hz,可选) */
45
+ frequency: z.number().optional(),
46
+ /** 模式 (FT8, FT4 等) */
47
+ mode: z.string(),
48
+ /** 信噪比 (可选) */
49
+ snr: z.number().optional(),
50
+ /** 接收时间戳 (Unix 秒) */
51
+ flowStartSeconds: z.number(),
52
+ /** 发送电台网格 (可选,从消息中解析) */
53
+ senderLocator: z.string().optional(),
54
+ /** 信息源 (1 = automatic) */
55
+ informationSource: z.number().default(1),
56
+ });
57
+ /**
58
+ * PSKReporter 上报状态 Schema
59
+ */
60
+ export const PSKReporterStatusSchema = z.object({
61
+ /** 是否已启用 */
62
+ enabled: z.boolean(),
63
+ /** 是否配置有效 */
64
+ configValid: z.boolean(),
65
+ /** 当前使用的呼号 */
66
+ activeCallsign: z.string().optional(),
67
+ /** 当前使用的网格 */
68
+ activeLocator: z.string().optional(),
69
+ /** 待上报记录数 */
70
+ pendingSpots: z.number(),
71
+ /** 最后上报时间 (Unix毫秒) */
72
+ lastReportTime: z.number().optional(),
73
+ /** 距离下次上报秒数 */
74
+ nextReportIn: z.number().optional(),
75
+ /** 是否正在上报 */
76
+ isReporting: z.boolean(),
77
+ /** 最后错误 */
78
+ lastError: z.string().optional(),
79
+ });
80
+ //# sourceMappingURL=pskreporter.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pskreporter.schema.js","sourceRoot":"","sources":["../../src/schema/pskreporter.schema.ts"],"names":[],"mappings":"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"}