@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":"realtime.schema.d.ts","sourceRoot":"","sources":["../../src/schema/realtime.schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,184 @@
1
+ import { z } from 'zod';
2
+ export const RealtimeScopeSchema = z.enum(['radio', 'openwebrx-preview']);
3
+ export const RealtimeParticipantKindSchema = z.enum(['listener', 'publisher', 'bridge']);
4
+ export const RealtimeTransportKindSchema = z.enum(['livekit', 'ws-compat']);
5
+ export const RealtimeSessionDirectionSchema = z.enum(['recv', 'send']);
6
+ export const RealtimeConnectivityErrorCodeSchema = z.enum([
7
+ 'TOKEN_REQUEST_FAILED',
8
+ 'SIGNALING_UNREACHABLE',
9
+ 'PUBLIC_URL_MISCONFIGURED',
10
+ 'ICE_CONNECTION_FAILED',
11
+ 'NO_AUDIO_TRACK',
12
+ 'AUDIO_PLAYBACK_BLOCKED',
13
+ 'SESSION_EXPIRED_OR_INVALID',
14
+ 'MEDIA_DEVICE_PERMISSION_DENIED',
15
+ 'UNKNOWN_REALTIME_ERROR',
16
+ ]);
17
+ export const RealtimeConnectivityHintsSchema = z.object({
18
+ signalingUrl: z.string(),
19
+ signalingPort: z.number().int().positive(),
20
+ rtcTcpPort: z.number().int().positive(),
21
+ udpPortRange: z.string(),
22
+ publicUrlOverrideActive: z.boolean(),
23
+ });
24
+ export const RealtimeConnectivityIssueSchema = z.object({
25
+ code: RealtimeConnectivityErrorCodeSchema,
26
+ scope: RealtimeScopeSchema,
27
+ stage: z.enum(['token', 'connect', 'publish', 'subscribe', 'runtime']),
28
+ userMessage: z.string(),
29
+ suggestions: z.array(z.string()),
30
+ technicalDetails: z.string().optional(),
31
+ context: z.record(z.string()).optional(),
32
+ });
33
+ export const RealtimeTokenRequestSchema = z.object({
34
+ scope: RealtimeScopeSchema,
35
+ publish: z.boolean().optional(),
36
+ previewSessionId: z.string().optional(),
37
+ });
38
+ export const RealtimeSessionRequestSchema = z.object({
39
+ scope: RealtimeScopeSchema,
40
+ direction: RealtimeSessionDirectionSchema,
41
+ previewSessionId: z.string().optional(),
42
+ transportOverride: RealtimeTransportKindSchema.optional(),
43
+ });
44
+ export const RealtimeParticipantMetadataSchema = z.object({
45
+ role: z.string(),
46
+ tokenId: z.string().nullable().optional(),
47
+ operatorIds: z.array(z.string()).optional(),
48
+ clientKind: z.string(),
49
+ participantKind: RealtimeParticipantKindSchema,
50
+ scope: RealtimeScopeSchema,
51
+ previewSessionId: z.string().optional(),
52
+ });
53
+ export const RealtimeTokenResponseSchema = z.object({
54
+ url: z.string(),
55
+ roomName: z.string(),
56
+ token: z.string(),
57
+ participantIdentity: z.string(),
58
+ participantName: z.string(),
59
+ participantMetadata: RealtimeParticipantMetadataSchema,
60
+ connectivityHints: RealtimeConnectivityHintsSchema,
61
+ });
62
+ export const RealtimeTransportOfferSchema = z.object({
63
+ transport: RealtimeTransportKindSchema,
64
+ direction: RealtimeSessionDirectionSchema,
65
+ url: z.string(),
66
+ token: z.string(),
67
+ participantIdentity: z.string().nullable().optional(),
68
+ participantName: z.string().nullable().optional(),
69
+ roomName: z.string().nullable().optional(),
70
+ });
71
+ export const RealtimeTransportPolicySchema = z.enum(['auto', 'force-compat']);
72
+ export const LiveKitNetworkModeSchema = z.enum(['lan', 'internet-auto', 'internet-manual']);
73
+ export const RealtimeSessionResponseSchema = z.object({
74
+ scope: RealtimeScopeSchema,
75
+ direction: RealtimeSessionDirectionSchema,
76
+ preferredTransport: RealtimeTransportKindSchema,
77
+ effectiveTransportPolicy: RealtimeTransportPolicySchema,
78
+ selectionReason: z.enum([
79
+ 'client-override',
80
+ 'server-policy',
81
+ 'bridge-unhealthy',
82
+ 'livekit-disabled',
83
+ 'runtime-unavailable',
84
+ 'default-livekit',
85
+ ]),
86
+ forcedCompatibilityMode: z.boolean(),
87
+ offers: z.array(RealtimeTransportOfferSchema).min(1),
88
+ connectivityHints: RealtimeConnectivityHintsSchema,
89
+ });
90
+ export const RealtimeSettingsSchema = z.object({
91
+ publicWsUrl: z.string().url().nullable().optional(),
92
+ transportPolicy: RealtimeTransportPolicySchema.optional(),
93
+ networkMode: LiveKitNetworkModeSchema.optional(),
94
+ nodeIp: z.string().nullable().optional(),
95
+ });
96
+ export const RealtimeCredentialSourceSchema = z.enum(['managed-file', 'environment-override', 'missing']);
97
+ export const RealtimeCredentialStatusSchema = z.object({
98
+ initialized: z.boolean(),
99
+ source: RealtimeCredentialSourceSchema,
100
+ filePath: z.string().nullable(),
101
+ apiKeyPreview: z.string().nullable(),
102
+ createdAt: z.string().nullable(),
103
+ rotatedAt: z.string().nullable(),
104
+ });
105
+ export const RealtimeSettingsRuntimeSchema = z.object({
106
+ liveKitEnabled: z.boolean(),
107
+ connectivityHints: RealtimeConnectivityHintsSchema,
108
+ radioReceiveTransport: RealtimeTransportKindSchema,
109
+ radioBridgeHealthy: z.boolean(),
110
+ radioBridgeIssueCode: RealtimeConnectivityErrorCodeSchema.nullable(),
111
+ credentialStatus: RealtimeCredentialStatusSchema,
112
+ });
113
+ export const RealtimeSettingsResponseDataSchema = RealtimeSettingsSchema.extend({
114
+ runtime: RealtimeSettingsRuntimeSchema.optional(),
115
+ });
116
+ export const RealtimeSourceStatsSchema = z.object({
117
+ latencyMs: z.number(),
118
+ bufferFillPercent: z.number(),
119
+ isActive: z.boolean(),
120
+ audioLevel: z.number().optional(),
121
+ droppedSamples: z.number().optional(),
122
+ sampleRate: z.number(),
123
+ });
124
+ export const RealtimeStatsRequestSchema = z.object({
125
+ scope: RealtimeScopeSchema,
126
+ previewSessionId: z.string().optional(),
127
+ });
128
+ export const RealtimeStatsResponseSchema = z.object({
129
+ scope: RealtimeScopeSchema,
130
+ previewSessionId: z.string().nullable().optional(),
131
+ source: RealtimeSourceStatsSchema.nullable(),
132
+ transport: RealtimeTransportKindSchema.nullable().optional(),
133
+ });
134
+ export const RealtimeVoiceTxMetricWindowSchema = z.object({
135
+ current: z.number().nullable(),
136
+ rolling: z.number().nullable(),
137
+ peak: z.number().nullable(),
138
+ });
139
+ export const RealtimeVoiceTxBottleneckStageSchema = z.enum([
140
+ 'client-capture',
141
+ 'transport',
142
+ 'server-ingress',
143
+ 'server-queue',
144
+ 'server-output',
145
+ ]);
146
+ export const RealtimeVoiceTxSummarySchema = z.object({
147
+ active: z.boolean(),
148
+ transport: RealtimeTransportKindSchema.nullable(),
149
+ bottleneckStage: RealtimeVoiceTxBottleneckStageSchema.nullable(),
150
+ startedAt: z.number().nullable(),
151
+ updatedAt: z.number().nullable(),
152
+ clientId: z.string().nullable(),
153
+ label: z.string().nullable(),
154
+ });
155
+ export const RealtimeVoiceTxTransportStatsSchema = z.object({
156
+ receivedFrames: z.number().int().nonnegative(),
157
+ sequenceGaps: z.number().int().nonnegative(),
158
+ lastSequence: z.number().int().nullable(),
159
+ clientToServerMs: RealtimeVoiceTxMetricWindowSchema,
160
+ });
161
+ export const RealtimeVoiceTxServerIngressStatsSchema = z.object({
162
+ frameIntervalMs: RealtimeVoiceTxMetricWindowSchema,
163
+ queueDepthFrames: z.number().int().nonnegative(),
164
+ queuedAudioMs: z.number().nonnegative(),
165
+ droppedFrames: z.number().int().nonnegative(),
166
+ });
167
+ export const RealtimeVoiceTxServerOutputStatsSchema = z.object({
168
+ resampleMs: RealtimeVoiceTxMetricWindowSchema,
169
+ queueWaitMs: RealtimeVoiceTxMetricWindowSchema,
170
+ writeMs: RealtimeVoiceTxMetricWindowSchema,
171
+ endToEndMs: RealtimeVoiceTxMetricWindowSchema,
172
+ outputBufferedMs: RealtimeVoiceTxMetricWindowSchema,
173
+ outputSampleRate: z.number().nullable(),
174
+ outputBufferSize: z.number().nullable(),
175
+ writeFailures: z.number().int().nonnegative(),
176
+ });
177
+ export const RealtimeVoiceTxStatsResponseSchema = z.object({
178
+ scope: RealtimeScopeSchema,
179
+ summary: RealtimeVoiceTxSummarySchema,
180
+ transport: RealtimeVoiceTxTransportStatsSchema,
181
+ serverIngress: RealtimeVoiceTxServerIngressStatsSchema,
182
+ serverOutput: RealtimeVoiceTxServerOutputStatsSchema,
183
+ });
184
+ //# sourceMappingURL=realtime.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"realtime.schema.js","sourceRoot":"","sources":["../../src/schema/realtime.schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,151 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * rigctld-compatible TCP bridge configuration.
4
+ *
5
+ * Disabled by default — opening a TCP port that accepts CAT control without
6
+ * authentication is a sensitive default, so users must opt in.
7
+ */
8
+ export declare const RigctldBridgeConfigSchema: z.ZodObject<{
9
+ enabled: z.ZodDefault<z.ZodBoolean>;
10
+ bindAddress: z.ZodDefault<z.ZodString>;
11
+ port: z.ZodDefault<z.ZodNumber>;
12
+ /**
13
+ * When true (default), the bridge rejects every write command
14
+ * (`F`/`M`/`T`/`S`/`L`/`set_*`) with `RPRT -11` and only allows reads.
15
+ * Covers the safe "N1MM records QSOs while the operator tunes manually"
16
+ * workflow. Disable only when you need software like N1MM / WSJT-X to
17
+ * actively control the rig (set frequency, PTT, split).
18
+ */
19
+ readOnly: z.ZodDefault<z.ZodBoolean>;
20
+ }, "strip", z.ZodTypeAny, {
21
+ enabled: boolean;
22
+ port: number;
23
+ bindAddress: string;
24
+ readOnly: boolean;
25
+ }, {
26
+ enabled?: boolean | undefined;
27
+ port?: number | undefined;
28
+ bindAddress?: string | undefined;
29
+ readOnly?: boolean | undefined;
30
+ }>;
31
+ export type RigctldBridgeConfig = z.infer<typeof RigctldBridgeConfigSchema>;
32
+ export declare const DEFAULT_RIGCTLD_BRIDGE_CONFIG: RigctldBridgeConfig;
33
+ /** Per-connection client snapshot used by the status API and UI. */
34
+ export declare const RigctldClientSnapshotSchema: z.ZodObject<{
35
+ id: z.ZodNumber;
36
+ peer: z.ZodString;
37
+ connectedAt: z.ZodNumber;
38
+ lastCommand: z.ZodOptional<z.ZodString>;
39
+ lastCommandAt: z.ZodOptional<z.ZodNumber>;
40
+ }, "strip", z.ZodTypeAny, {
41
+ id: number;
42
+ peer: string;
43
+ connectedAt: number;
44
+ lastCommand?: string | undefined;
45
+ lastCommandAt?: number | undefined;
46
+ }, {
47
+ id: number;
48
+ peer: string;
49
+ connectedAt: number;
50
+ lastCommand?: string | undefined;
51
+ lastCommandAt?: number | undefined;
52
+ }>;
53
+ export type RigctldClientSnapshot = z.infer<typeof RigctldClientSnapshotSchema>;
54
+ export declare const RigctldStatusSchema: z.ZodObject<{
55
+ config: z.ZodObject<{
56
+ enabled: z.ZodDefault<z.ZodBoolean>;
57
+ bindAddress: z.ZodDefault<z.ZodString>;
58
+ port: z.ZodDefault<z.ZodNumber>;
59
+ /**
60
+ * When true (default), the bridge rejects every write command
61
+ * (`F`/`M`/`T`/`S`/`L`/`set_*`) with `RPRT -11` and only allows reads.
62
+ * Covers the safe "N1MM records QSOs while the operator tunes manually"
63
+ * workflow. Disable only when you need software like N1MM / WSJT-X to
64
+ * actively control the rig (set frequency, PTT, split).
65
+ */
66
+ readOnly: z.ZodDefault<z.ZodBoolean>;
67
+ }, "strip", z.ZodTypeAny, {
68
+ enabled: boolean;
69
+ port: number;
70
+ bindAddress: string;
71
+ readOnly: boolean;
72
+ }, {
73
+ enabled?: boolean | undefined;
74
+ port?: number | undefined;
75
+ bindAddress?: string | undefined;
76
+ readOnly?: boolean | undefined;
77
+ }>;
78
+ running: z.ZodBoolean;
79
+ address: z.ZodOptional<z.ZodObject<{
80
+ host: z.ZodString;
81
+ port: z.ZodNumber;
82
+ }, "strip", z.ZodTypeAny, {
83
+ host: string;
84
+ port: number;
85
+ }, {
86
+ host: string;
87
+ port: number;
88
+ }>>;
89
+ clients: z.ZodArray<z.ZodObject<{
90
+ id: z.ZodNumber;
91
+ peer: z.ZodString;
92
+ connectedAt: z.ZodNumber;
93
+ lastCommand: z.ZodOptional<z.ZodString>;
94
+ lastCommandAt: z.ZodOptional<z.ZodNumber>;
95
+ }, "strip", z.ZodTypeAny, {
96
+ id: number;
97
+ peer: string;
98
+ connectedAt: number;
99
+ lastCommand?: string | undefined;
100
+ lastCommandAt?: number | undefined;
101
+ }, {
102
+ id: number;
103
+ peer: string;
104
+ connectedAt: number;
105
+ lastCommand?: string | undefined;
106
+ lastCommandAt?: number | undefined;
107
+ }>, "many">;
108
+ error: z.ZodOptional<z.ZodString>;
109
+ }, "strip", z.ZodTypeAny, {
110
+ config: {
111
+ enabled: boolean;
112
+ port: number;
113
+ bindAddress: string;
114
+ readOnly: boolean;
115
+ };
116
+ running: boolean;
117
+ clients: {
118
+ id: number;
119
+ peer: string;
120
+ connectedAt: number;
121
+ lastCommand?: string | undefined;
122
+ lastCommandAt?: number | undefined;
123
+ }[];
124
+ error?: string | undefined;
125
+ address?: {
126
+ host: string;
127
+ port: number;
128
+ } | undefined;
129
+ }, {
130
+ config: {
131
+ enabled?: boolean | undefined;
132
+ port?: number | undefined;
133
+ bindAddress?: string | undefined;
134
+ readOnly?: boolean | undefined;
135
+ };
136
+ running: boolean;
137
+ clients: {
138
+ id: number;
139
+ peer: string;
140
+ connectedAt: number;
141
+ lastCommand?: string | undefined;
142
+ lastCommandAt?: number | undefined;
143
+ }[];
144
+ error?: string | undefined;
145
+ address?: {
146
+ host: string;
147
+ port: number;
148
+ } | undefined;
149
+ }>;
150
+ export type RigctldStatus = z.infer<typeof RigctldStatusSchema>;
151
+ //# sourceMappingURL=rigctld.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rigctld.schema.d.ts","sourceRoot":"","sources":["../../src/schema/rigctld.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB;;;;IAIpC;;;;;;OAMG;;;;;;;;;;;;EAEH,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,6BAA6B,EAAE,mBAK3C,CAAC;AAEF,oEAAoE;AACpE,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;EAMtC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,mBAAmB;;;;;QA9B9B;;;;;;WAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BH,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * rigctld-compatible TCP bridge configuration.
4
+ *
5
+ * Disabled by default — opening a TCP port that accepts CAT control without
6
+ * authentication is a sensitive default, so users must opt in.
7
+ */
8
+ export const RigctldBridgeConfigSchema = z.object({
9
+ enabled: z.boolean().default(false),
10
+ bindAddress: z.string().default('0.0.0.0'),
11
+ port: z.number().int().min(1).max(65535).default(4532),
12
+ /**
13
+ * When true (default), the bridge rejects every write command
14
+ * (`F`/`M`/`T`/`S`/`L`/`set_*`) with `RPRT -11` and only allows reads.
15
+ * Covers the safe "N1MM records QSOs while the operator tunes manually"
16
+ * workflow. Disable only when you need software like N1MM / WSJT-X to
17
+ * actively control the rig (set frequency, PTT, split).
18
+ */
19
+ readOnly: z.boolean().default(true),
20
+ });
21
+ export const DEFAULT_RIGCTLD_BRIDGE_CONFIG = {
22
+ enabled: false,
23
+ bindAddress: '0.0.0.0',
24
+ port: 4532,
25
+ readOnly: true,
26
+ };
27
+ /** Per-connection client snapshot used by the status API and UI. */
28
+ export const RigctldClientSnapshotSchema = z.object({
29
+ id: z.number().int(),
30
+ peer: z.string(),
31
+ connectedAt: z.number().int(),
32
+ lastCommand: z.string().optional(),
33
+ lastCommandAt: z.number().int().optional(),
34
+ });
35
+ export const RigctldStatusSchema = z.object({
36
+ config: RigctldBridgeConfigSchema,
37
+ running: z.boolean(),
38
+ address: z.object({ host: z.string(), port: z.number().int() }).optional(),
39
+ clients: z.array(RigctldClientSnapshotSchema),
40
+ error: z.string().optional(),
41
+ });
42
+ //# sourceMappingURL=rigctld.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rigctld.schema.js","sourceRoot":"","sources":["../../src/schema/rigctld.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;GAKG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACnC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACtD;;;;;;OAMG;IACH,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CACpC,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,6BAA6B,GAAwB;IAChE,OAAO,EAAE,KAAK;IACd,WAAW,EAAE,SAAS;IACtB,IAAI,EAAE,IAAI;IACV,QAAQ,EAAE,IAAI;CACf,CAAC;AAEF,oEAAoE;AACpE,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAC7B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,MAAM,EAAE,yBAAyB;IACjC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC1E,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,2BAA2B,CAAC;IAC7C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * 服务端推送的文本消息 key 枚举
3
+ * 前端根据 key 查找对应翻译,兜底显示 title/text 原始值
4
+ */
5
+ export declare enum ServerMessageKey {
6
+ /** 时序告警:操作员自动决策可能赶不上此发射时隙的编码 */
7
+ TIMING_ALERT = "timingAlert",
8
+ /** 电台已连接 */
9
+ RADIO_CONNECTED = "radioConnected",
10
+ /** QSO 已记录 */
11
+ QSO_LOGGED = "qsoLogged",
12
+ /** QSO 已更新 */
13
+ QSO_UPDATED = "qsoUpdated",
14
+ /** 实时语音连接异常 */
15
+ REALTIME_CONNECTIVITY_WARNING = "realtimeConnectivityWarning",
16
+ /** 服务端实时语音桥接异常 */
17
+ REALTIME_BRIDGE_DOWN = "realtimeBridgeDown",
18
+ /** 实时语音链路无音频数据 */
19
+ REALTIME_NO_AUDIO = "realtimeNoAudio"
20
+ }
21
+ //# sourceMappingURL=server-message-keys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-message-keys.d.ts","sourceRoot":"","sources":["../../src/schema/server-message-keys.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,gBAAgB;IAC1B,gCAAgC;IAChC,YAAY,gBAAgB;IAE5B,YAAY;IACZ,eAAe,mBAAmB;IAElC,cAAc;IACd,UAAU,cAAc;IAExB,cAAc;IACd,WAAW,eAAe;IAE1B,eAAe;IACf,6BAA6B,gCAAgC;IAE7D,kBAAkB;IAClB,oBAAoB,uBAAuB;IAE3C,kBAAkB;IAClB,iBAAiB,oBAAoB;CACtC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * 服务端推送的文本消息 key 枚举
3
+ * 前端根据 key 查找对应翻译,兜底显示 title/text 原始值
4
+ */
5
+ export var ServerMessageKey;
6
+ (function (ServerMessageKey) {
7
+ /** 时序告警:操作员自动决策可能赶不上此发射时隙的编码 */
8
+ ServerMessageKey["TIMING_ALERT"] = "timingAlert";
9
+ /** 电台已连接 */
10
+ ServerMessageKey["RADIO_CONNECTED"] = "radioConnected";
11
+ /** QSO 已记录 */
12
+ ServerMessageKey["QSO_LOGGED"] = "qsoLogged";
13
+ /** QSO 已更新 */
14
+ ServerMessageKey["QSO_UPDATED"] = "qsoUpdated";
15
+ /** 实时语音连接异常 */
16
+ ServerMessageKey["REALTIME_CONNECTIVITY_WARNING"] = "realtimeConnectivityWarning";
17
+ /** 服务端实时语音桥接异常 */
18
+ ServerMessageKey["REALTIME_BRIDGE_DOWN"] = "realtimeBridgeDown";
19
+ /** 实时语音链路无音频数据 */
20
+ ServerMessageKey["REALTIME_NO_AUDIO"] = "realtimeNoAudio";
21
+ })(ServerMessageKey || (ServerMessageKey = {}));
22
+ //# sourceMappingURL=server-message-keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-message-keys.js","sourceRoot":"","sources":["../../src/schema/server-message-keys.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAN,IAAY,gBAqBX;AArBD,WAAY,gBAAgB;IAC1B,gCAAgC;IAChC,gDAA4B,CAAA;IAE5B,YAAY;IACZ,sDAAkC,CAAA;IAElC,cAAc;IACd,4CAAwB,CAAA;IAExB,cAAc;IACd,8CAA0B,CAAA;IAE1B,eAAe;IACf,iFAA6D,CAAA;IAE7D,kBAAkB;IAClB,+DAA2C,CAAA;IAE3C,kBAAkB;IAClB,yDAAqC,CAAA;AACvC,CAAC,EArBW,gBAAgB,KAAhB,gBAAgB,QAqB3B"}