@tx5dr/contracts 1.7.0 → 1.7.1
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.
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/schema/__tests__/audio.schema.test.d.ts +2 -0
- package/dist/schema/__tests__/audio.schema.test.d.ts.map +1 -0
- package/dist/schema/__tests__/audio.schema.test.js +126 -0
- package/dist/schema/__tests__/audio.schema.test.js.map +1 -0
- package/dist/schema/api-response.schema.d.ts +30 -30
- package/dist/schema/audio.schema.d.ts +1292 -0
- package/dist/schema/audio.schema.d.ts.map +1 -1
- package/dist/schema/audio.schema.js +33 -0
- package/dist/schema/audio.schema.js.map +1 -1
- package/dist/schema/cpu-profile.schema.d.ts +4 -4
- package/dist/schema/ft8.schema.d.ts +4 -4
- package/dist/schema/logbook.schema.d.ts +22 -0
- package/dist/schema/logbook.schema.d.ts.map +1 -1
- package/dist/schema/logbook.schema.js +8 -0
- package/dist/schema/logbook.schema.js.map +1 -1
- package/dist/schema/plugin.schema.d.ts +16 -16
- package/dist/schema/qso.schema.d.ts +2 -2
- package/dist/schema/radio-power.schema.d.ts +6 -6
- package/dist/schema/radio-profile.schema.d.ts +280 -108
- package/dist/schema/radio-profile.schema.d.ts.map +1 -1
- package/dist/schema/radio.schema.d.ts +18 -18
- package/dist/schema/realtime.schema.d.ts +22 -22
- package/dist/schema/slot-info.schema.d.ts +18 -18
- package/dist/schema/spectrum.schema.d.ts +6 -6
- package/dist/schema/system.schema.d.ts +11 -0
- package/dist/schema/system.schema.d.ts.map +1 -1
- package/dist/schema/system.schema.js +4 -0
- package/dist/schema/system.schema.js.map +1 -1
- package/dist/schema/transmission.schema.d.ts +8 -8
- package/dist/schema/update.schema.d.ts +62 -0
- package/dist/schema/update.schema.d.ts.map +1 -0
- package/dist/schema/update.schema.js +28 -0
- package/dist/schema/update.schema.js.map +1 -0
- package/dist/schema/websocket.schema.d.ts +364 -128
- package/dist/schema/websocket.schema.d.ts.map +1 -1
- package/dist/schema/websocket.schema.js +38 -0
- package/dist/schema/websocket.schema.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +1 -0
- package/src/schema/__tests__/audio.schema.test.ts +142 -0
- package/src/schema/audio.schema.ts +44 -1
- package/src/schema/logbook.schema.ts +8 -0
- package/src/schema/system.schema.ts +6 -0
- package/src/schema/update.schema.ts +33 -0
- package/src/schema/websocket.schema.ts +52 -0
|
@@ -191,6 +191,14 @@ export const LogBookExportOptionsSchema = z.object({
|
|
|
191
191
|
startDate: z.string().optional(),
|
|
192
192
|
endDate: z.string().optional(),
|
|
193
193
|
callsign: z.string().optional(),
|
|
194
|
+
grid: z.string().optional(),
|
|
195
|
+
band: z.string().optional(),
|
|
196
|
+
mode: z.string().optional(),
|
|
197
|
+
dxccStatus: z.enum(['deleted']).optional(),
|
|
198
|
+
qslFlow: z.enum(['two_way_confirmed', 'not_two_way_confirmed']).optional(),
|
|
199
|
+
/** 排除的模式列表,逗号分隔,如 "FT8,FT4" */
|
|
200
|
+
excludeModes: z.string().optional(),
|
|
201
|
+
qslStatus: z.enum(['confirmed', 'uploaded', 'none']).optional(),
|
|
194
202
|
});
|
|
195
203
|
|
|
196
204
|
export const LogBookImportFormatSchema = z.enum(['adif', 'csv']);
|
|
@@ -37,6 +37,7 @@ export const ClockStatusDetailSchema = ClockStatusSummarySchema.extend({
|
|
|
37
37
|
syncState: ClockSyncStateSchema,
|
|
38
38
|
serverUsed: z.string().nullable(),
|
|
39
39
|
errorMessage: z.string().nullable(),
|
|
40
|
+
autoApplyOffset: z.boolean(),
|
|
40
41
|
});
|
|
41
42
|
export type ClockStatusDetail = z.infer<typeof ClockStatusDetailSchema>;
|
|
42
43
|
|
|
@@ -45,6 +46,11 @@ export const SetClockOffsetRequestSchema = z.object({
|
|
|
45
46
|
});
|
|
46
47
|
export type SetClockOffsetRequest = z.infer<typeof SetClockOffsetRequestSchema>;
|
|
47
48
|
|
|
49
|
+
export const SetClockAutoApplyRequestSchema = z.object({
|
|
50
|
+
enabled: z.boolean(),
|
|
51
|
+
});
|
|
52
|
+
export type SetClockAutoApplyRequest = z.infer<typeof SetClockAutoApplyRequestSchema>;
|
|
53
|
+
|
|
48
54
|
// ===== NTP server list settings =====
|
|
49
55
|
|
|
50
56
|
function isValidIPv4Address(value: string): boolean {
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { PluginDistributionSchema } from './plugin.schema.js';
|
|
3
|
+
|
|
4
|
+
export const SystemUpdateTargetSchema = z.enum([
|
|
5
|
+
'electron-app',
|
|
6
|
+
'linux-server',
|
|
7
|
+
'docker',
|
|
8
|
+
]);
|
|
9
|
+
export type SystemUpdateTarget = z.infer<typeof SystemUpdateTargetSchema>;
|
|
10
|
+
|
|
11
|
+
export const SystemUpdateChannelSchema = z.enum(['release', 'nightly']);
|
|
12
|
+
export type SystemUpdateChannel = z.infer<typeof SystemUpdateChannelSchema>;
|
|
13
|
+
|
|
14
|
+
export const SystemUpdateStatusSchema = z.object({
|
|
15
|
+
target: SystemUpdateTargetSchema,
|
|
16
|
+
distribution: PluginDistributionSchema,
|
|
17
|
+
channel: SystemUpdateChannelSchema,
|
|
18
|
+
currentVersion: z.string(),
|
|
19
|
+
currentCommit: z.string().nullable(),
|
|
20
|
+
currentDigest: z.string().nullable().optional(),
|
|
21
|
+
latestVersion: z.string().nullable(),
|
|
22
|
+
latestCommit: z.string().nullable(),
|
|
23
|
+
latestDigest: z.string().nullable().optional(),
|
|
24
|
+
latestCommitTitle: z.string().nullable(),
|
|
25
|
+
publishedAt: z.string().nullable(),
|
|
26
|
+
releaseNotes: z.string().nullable(),
|
|
27
|
+
updateAvailable: z.boolean(),
|
|
28
|
+
identity: z.string().nullable(),
|
|
29
|
+
websiteUrl: z.string().url(),
|
|
30
|
+
metadataSource: z.enum(['oss', 'github']).nullable(),
|
|
31
|
+
errorMessage: z.string().nullable(),
|
|
32
|
+
});
|
|
33
|
+
export type SystemUpdateStatus = z.infer<typeof SystemUpdateStatusSchema>;
|
|
@@ -113,6 +113,9 @@ export enum WSMessageType {
|
|
|
113
113
|
PTT_STATUS_CHANGED = 'pttStatusChanged',
|
|
114
114
|
FORCE_STOP_TRANSMISSION = 'forceStopTransmission',
|
|
115
115
|
REMOVE_OPERATOR_FROM_TRANSMISSION = 'removeOperatorFromTransmission',
|
|
116
|
+
START_TUNE_TONE = 'startTuneTone',
|
|
117
|
+
STOP_TUNE_TONE = 'stopTuneTone',
|
|
118
|
+
TUNE_TONE_STATUS_CHANGED = 'tuneToneStatusChanged',
|
|
116
119
|
|
|
117
120
|
// ===== 电台数值表 =====
|
|
118
121
|
METER_DATA = 'meterData',
|
|
@@ -267,6 +270,21 @@ export const PTTStatusSchema = z.object({
|
|
|
267
270
|
operatorIds: z.array(z.string()),
|
|
268
271
|
});
|
|
269
272
|
|
|
273
|
+
export const TuneToneStartPayloadSchema = z.object({
|
|
274
|
+
operatorId: z.string().optional(),
|
|
275
|
+
toneHz: z.number().min(100).max(3000).optional(),
|
|
276
|
+
});
|
|
277
|
+
export type TuneToneStartPayload = z.infer<typeof TuneToneStartPayloadSchema>;
|
|
278
|
+
|
|
279
|
+
export const TuneToneStatusSchema = z.object({
|
|
280
|
+
active: z.boolean(),
|
|
281
|
+
toneHz: z.number().nullable(),
|
|
282
|
+
startedAt: z.number().nullable(),
|
|
283
|
+
maxDurationMs: z.number(),
|
|
284
|
+
error: z.string().optional(),
|
|
285
|
+
});
|
|
286
|
+
export type TuneToneStatus = z.infer<typeof TuneToneStatusSchema>;
|
|
287
|
+
|
|
270
288
|
export const SquelchStatusSchema = z.object({
|
|
271
289
|
supported: z.boolean(),
|
|
272
290
|
open: z.boolean().nullable(),
|
|
@@ -1022,6 +1040,36 @@ export const WSRemoveOperatorFromTransmissionMessageSchema = WSBaseMessageSchema
|
|
|
1022
1040
|
|
|
1023
1041
|
export type WSRemoveOperatorFromTransmissionMessage = z.infer<typeof WSRemoveOperatorFromTransmissionMessageSchema>;
|
|
1024
1042
|
|
|
1043
|
+
/**
|
|
1044
|
+
* 启动外接天调单音调谐(客户端到服务端)
|
|
1045
|
+
*/
|
|
1046
|
+
export const WSStartTuneToneMessageSchema = WSBaseMessageSchema.extend({
|
|
1047
|
+
type: z.literal(WSMessageType.START_TUNE_TONE),
|
|
1048
|
+
data: TuneToneStartPayloadSchema.optional(),
|
|
1049
|
+
});
|
|
1050
|
+
|
|
1051
|
+
export type WSStartTuneToneMessage = z.infer<typeof WSStartTuneToneMessageSchema>;
|
|
1052
|
+
|
|
1053
|
+
/**
|
|
1054
|
+
* 停止外接天调单音调谐(客户端到服务端)
|
|
1055
|
+
*/
|
|
1056
|
+
export const WSStopTuneToneMessageSchema = WSBaseMessageSchema.extend({
|
|
1057
|
+
type: z.literal(WSMessageType.STOP_TUNE_TONE),
|
|
1058
|
+
data: z.object({}).optional(),
|
|
1059
|
+
});
|
|
1060
|
+
|
|
1061
|
+
export type WSStopTuneToneMessage = z.infer<typeof WSStopTuneToneMessageSchema>;
|
|
1062
|
+
|
|
1063
|
+
/**
|
|
1064
|
+
* 外接天调单音调谐状态(服务端到客户端)
|
|
1065
|
+
*/
|
|
1066
|
+
export const WSTuneToneStatusChangedMessageSchema = WSBaseMessageSchema.extend({
|
|
1067
|
+
type: z.literal(WSMessageType.TUNE_TONE_STATUS_CHANGED),
|
|
1068
|
+
data: TuneToneStatusSchema,
|
|
1069
|
+
});
|
|
1070
|
+
|
|
1071
|
+
export type WSTuneToneStatusChangedMessage = z.infer<typeof WSTuneToneStatusChangedMessageSchema>;
|
|
1072
|
+
|
|
1025
1073
|
/**
|
|
1026
1074
|
* 电台数值表数据消息(服务端到客户端)
|
|
1027
1075
|
*/
|
|
@@ -1286,6 +1334,9 @@ export const WSMessageSchema = z.discriminatedUnion('type', [
|
|
|
1286
1334
|
WSPTTStatusChangedMessageSchema,
|
|
1287
1335
|
WSForceStopTransmissionMessageSchema,
|
|
1288
1336
|
WSRemoveOperatorFromTransmissionMessageSchema,
|
|
1337
|
+
WSStartTuneToneMessageSchema,
|
|
1338
|
+
WSStopTuneToneMessageSchema,
|
|
1339
|
+
WSTuneToneStatusChangedMessageSchema,
|
|
1289
1340
|
|
|
1290
1341
|
// 电台数值表消息
|
|
1291
1342
|
WSMeterDataMessageSchema,
|
|
@@ -1420,6 +1471,7 @@ export interface DigitalRadioEngineEvents {
|
|
|
1420
1471
|
|
|
1421
1472
|
// PTT状态控制事件
|
|
1422
1473
|
pttStatusChanged: (data: PTTStatus) => void;
|
|
1474
|
+
tuneToneStatusChanged: (data: TuneToneStatus) => void;
|
|
1423
1475
|
|
|
1424
1476
|
// 电台数值表事件
|
|
1425
1477
|
meterData: (data: MeterData) => void;
|