@thejrsoft/subway-protocol 1.7.4 → 1.7.6

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.
@@ -1 +1 @@
1
- {"version":3,"file":"message-validator.js","sourceRoot":"","sources":["../src/message-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message-validator.js","sourceRoot":"","sources":["../src/message-validator.ts"],"names":[],"mappings":"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"}
@@ -557,7 +557,7 @@ interface ProgramParameters {
557
557
  taskId: string; // Snowflake ID
558
558
  programId: string; // Snowflake ID
559
559
  programName: string;
560
- programNumber: number; // 1-10
560
+ programNo: number; // 1-10
561
561
  programType: 'DYNAMIC' | 'STATIC';
562
562
  width: number;
563
563
  height: number;
@@ -584,7 +584,7 @@ interface ProgramParameters {
584
584
  "taskId": "7423847329847329847",
585
585
  "programId": "7423847329847329848",
586
586
  "programName": "春节促销广告",
587
- "programNumber": 1,
587
+ "programNo": 1,
588
588
  "programType": "DYNAMIC",
589
589
  "fileUrl": "https://storage.example.com/programs/spring-festival.zip",
590
590
  "fileHash": "d41d8cd98f00b204e9800998ecf8427e",
@@ -628,7 +628,7 @@ interface ProgramResponseMessage extends BaseMessage {
628
628
  "taskId": "7423847329847329847",
629
629
  "programId": "7423847329847329848",
630
630
  "programName": "春节促销广告",
631
- "programNumber": 1,
631
+ "programNo": 1,
632
632
  "programType": "DYNAMIC"
633
633
  },
634
634
  "report": {
@@ -612,7 +612,7 @@ Gateway->Backend: program_response
612
612
  "taskId": "1234567890123456789", // Snowflake ID
613
613
  "programId": "1234567890123456788", // Snowflake ID
614
614
  "programName": "春节活动广告",
615
- "programNumber": 3, // 1-10
615
+ "programNo": 3, // 1-10
616
616
  "programType": "DYNAMIC", // dynamic|static
617
617
  "width": 800,
618
618
  "height": 480,
@@ -647,7 +647,7 @@ Gateway->Backend: program_response
647
647
  "taskId": "1234567890123456789",
648
648
  "programId": "1234567890123456788",
649
649
  "programName": "春节活动广告",
650
- "programNumber": 3,
650
+ "programNo": 3,
651
651
  "programType": "DYNAMIC"
652
652
  },
653
653
  "command": { // 可选:设备操作记录
@@ -698,7 +698,7 @@ Gateway->Backend: program_response
698
698
  | taskId | string | 任务ID (Snowflake ID) |
699
699
  | programId | string | 程序ID (Snowflake ID) |
700
700
  | programName | string | 程序名称 |
701
- | programNumber | number | 程序编号 (1-10) |
701
+ | programNo | number | 程序编号 (1-10) |
702
702
  | programType | string | 程序类型:dynamic(动态)或 static(静态)|
703
703
 
704
704
  **日志信息字段说明:**
@@ -722,7 +722,7 @@ Gateway->Backend: program_response
722
722
  "taskId": "1234567890123456789",
723
723
  "programId": "1234567890123456788",
724
724
  "programName": "春节活动广告",
725
- "programNumber": 3,
725
+ "programNo": 3,
726
726
  "programType": "DYNAMIC"
727
727
  },
728
728
  "report": { // 可选:日志信息
@@ -1045,7 +1045,7 @@ const command = createLedSwitchCommand(
1045
1045
  "taskId": "1234567890123456789",
1046
1046
  "programId": "1234567890123456788",
1047
1047
  "programName": "春节活动广告",
1048
- "programNumber": 1,
1048
+ "programNo": 1,
1049
1049
  "programType": "DYNAMIC",
1050
1050
  "width": 1920,
1051
1051
  "height": 1080,
@@ -1080,7 +1080,7 @@ const command = createLedSwitchCommand(
1080
1080
  "taskId": "1234567890123456789",
1081
1081
  "programId": "1234567890123456788",
1082
1082
  "programName": "春节活动广告",
1083
- "programNumber": 3,
1083
+ "programNo": 3,
1084
1084
  "programType": "DYNAMIC"
1085
1085
  },
1086
1086
  "report": {
@@ -1192,7 +1192,7 @@ const command = createLedSwitchCommand(
1192
1192
  "taskId": "1234567890123456789",
1193
1193
  "programId": "1234567890123456788",
1194
1194
  "programName": "春节活动广告",
1195
- "programNumber": 3,
1195
+ "programNo": 3,
1196
1196
  "programType": "DYNAMIC"
1197
1197
  },
1198
1198
  "command": {
@@ -1263,7 +1263,7 @@ const command = createLedSwitchCommand(
1263
1263
  "operationType": "WRITE",
1264
1264
  "result": {
1265
1265
  "programId": "1234567890123456788",
1266
- "programNumber": 1,
1266
+ "programNo": 1,
1267
1267
  "totalFrames": 7200,
1268
1268
  "checksum": "a1b2c3d4e5f6..."
1269
1269
  }
@@ -1295,7 +1295,7 @@ const command = createLedSwitchCommand(
1295
1295
  "taskId": "1234567890123456789",
1296
1296
  "programId": "1234567890123456788",
1297
1297
  "programName": "春节活动广告",
1298
- "programNumber": 3,
1298
+ "programNo": 3,
1299
1299
  "programType": "DYNAMIC"
1300
1300
  },
1301
1301
  "report": {
@@ -1318,7 +1318,7 @@ const command = createLedSwitchCommand(
1318
1318
  "taskId": "1234567890123456789",
1319
1319
  "programId": "1234567890123456788",
1320
1320
  "programName": "春节活动广告",
1321
- "programNumber": 3,
1321
+ "programNo": 3,
1322
1322
  "programType": "DYNAMIC"
1323
1323
  },
1324
1324
  "report": {
@@ -345,7 +345,7 @@ class ProgramUploadHandler {
345
345
  taskId: parameters.taskId,
346
346
  programId: parameters.programId,
347
347
  programName: parameters.programName,
348
- programNumber: parameters.programNumber,
348
+ programNo: parameters.programNo,
349
349
  programType: parameters.programType
350
350
  };
351
351
 
@@ -472,7 +472,7 @@ class ProgramUploadHandler {
472
472
 
473
473
  const uploadResult = await this.uploadToDevice(
474
474
  frames,
475
- parameters.programNumber,
475
+ parameters.programNo,
476
476
  (uploadProgress) => {
477
477
  this.reportProgress(gateway, program.requestRef, {
478
478
  phase: ProgressPhase.UPLOAD,
@@ -363,7 +363,7 @@ export interface ProgramContext {
363
363
  taskId: string;
364
364
  programId: string;
365
365
  programName: string;
366
- programNumber: number;
366
+ programNo: number;
367
367
  programType: ProgramType;
368
368
  }
369
369
  ```
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@thejrsoft/subway-protocol",
3
- "version": "1.7.4",
4
- "description": "Shared WebSocket protocol definitions for JRSoft Subway - v1.7.4 patch: EXPLICIT_META SYNC_MONITORING_TABLE_READ_PARTIAL_SUCCESS + rename PROGRAM_PARTIALLY_SUCCEEDED→PROGRAM_PARTIAL_SUCCESS (副词→形容词命名 sweep) + ReportMessage.messageEn 字段 (dead spec) + OperationType 缩 READ/WRITE 二值 (Scenario B 全删 QUERY/UPDATE/CONTROL dead spec) + check-dead-spec.js 加 Stage 3 doc↔protocol coverage hook",
3
+ "version": "1.7.6",
4
+ "description": "Shared WebSocket protocol definitions for JRSoft Subway - v1.7.6 patch: SUFFIX_RULES 新增 _READ_SUCCESS / _WRITE_SUCCESS 终态规则 ( SIMPLE 命令终态响应被误判 IN_PROGRESS 的 v1.7.0-v1.7.5 协议大坑, wire 联调 req_1778811285514_oan6qa 暴露). PROTOCOL_VERSION 1.7.4→1.7.5.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "scripts": {
@@ -0,0 +1,134 @@
1
+ /**
2
+ * v1.7.6 — _READ_SUCCESS / _WRITE_SUCCESS SIMPLE 命令终态后缀回归测试
3
+ *
4
+ * 触发:v1.7.5 wire 联调 req_1778811285514_oan6qa (SYNC_FUNCTIONS_SWITCH_READ_SUCCESS)
5
+ * 设备端 0.7s 内返回 status: COMPLETED 但 SUFFIX_RULES 缺规则
6
+ * → 命中 _SUCCESS 误判 IN_PROGRESS → Edge 协议校验拒收 → 30s 假 timeout
7
+ *
8
+ * 修复:新增 _READ_SUCCESS / _WRITE_SUCCESS 终态后缀规则(优先级 > _SUCCESS)
9
+ */
10
+ import { resolveCodeMeta, isKnownCode, MessageStatus } from '../code-meta';
11
+
12
+ describe('v1.7.6 — _READ_SUCCESS / _WRITE_SUCCESS SIMPLE 终态后缀', () => {
13
+ describe('SIMPLE READ 命令终态', () => {
14
+ test('SYNC_FUNCTIONS_SWITCH_READ_SUCCESS 落终态成功(修复 wire 联调)', () => {
15
+ const meta = resolveCodeMeta('SYNC_FUNCTIONS_SWITCH_READ_SUCCESS');
16
+ expect(meta.isTerminal).toBe(true);
17
+ expect(meta.status).toBe(MessageStatus.COMPLETED);
18
+ expect(meta.semantic).toBe('success');
19
+ expect(meta.level).toBe('INFO');
20
+ expect(meta.requiresErrorBlock).toBe(false);
21
+ });
22
+
23
+ test('SYNC_PROGRAM_CONTROL_READ_SUCCESS 终态', () => {
24
+ const meta = resolveCodeMeta('SYNC_PROGRAM_CONTROL_READ_SUCCESS');
25
+ expect(meta.isTerminal).toBe(true);
26
+ expect(meta.status).toBe(MessageStatus.COMPLETED);
27
+ });
28
+
29
+ test('DEVICE_DATETIME_INFORMATION_READ_SUCCESS 终态', () => {
30
+ const meta = resolveCodeMeta('DEVICE_DATETIME_INFORMATION_READ_SUCCESS');
31
+ expect(meta.isTerminal).toBe(true);
32
+ expect(meta.status).toBe(MessageStatus.COMPLETED);
33
+ });
34
+
35
+ test('DEVICE_SELF_TEST_RESULTS_READ_SUCCESS 终态', () => {
36
+ const meta = resolveCodeMeta('DEVICE_SELF_TEST_RESULTS_READ_SUCCESS');
37
+ expect(meta.isTerminal).toBe(true);
38
+ });
39
+ });
40
+
41
+ describe('SIMPLE WRITE 命令终态', () => {
42
+ test('SYNC_FUNCTIONS_SWITCH_WRITE_SUCCESS 终态成功', () => {
43
+ const meta = resolveCodeMeta('SYNC_FUNCTIONS_SWITCH_WRITE_SUCCESS');
44
+ expect(meta.isTerminal).toBe(true);
45
+ expect(meta.status).toBe(MessageStatus.COMPLETED);
46
+ expect(meta.semantic).toBe('success');
47
+ });
48
+
49
+ test('SYNC_PROGRAM_PUZZLE_WRITE_SUCCESS 终态', () => {
50
+ const meta = resolveCodeMeta('SYNC_PROGRAM_PUZZLE_WRITE_SUCCESS');
51
+ expect(meta.isTerminal).toBe(true);
52
+ expect(meta.status).toBe(MessageStatus.COMPLETED);
53
+ });
54
+ });
55
+
56
+ describe('优先级:EXPLICIT_META > SUFFIX_RULES', () => {
57
+ test('SYNC_MONITORING_TABLE_READ_SUCCESS 命中 EXPLICIT_META 而非 SUFFIX', () => {
58
+ // 这条已显式 explicit,新 suffix rule 不影响
59
+ const meta = resolveCodeMeta('SYNC_MONITORING_TABLE_READ_SUCCESS');
60
+ expect(meta.isTerminal).toBe(true);
61
+ expect(meta.status).toBe(MessageStatus.COMPLETED);
62
+ expect(meta.semantic).toBe('success');
63
+ });
64
+ });
65
+
66
+ describe('优先级:长后缀优先(_READ_SUCCESS > _SUCCESS)', () => {
67
+ test('XXX_READ_SUCCESS 命中 _READ_SUCCESS 终态规则', () => {
68
+ const meta = resolveCodeMeta('XXX_READ_SUCCESS');
69
+ expect(meta.isTerminal).toBe(true);
70
+ expect(meta.semantic).toBe('success');
71
+ });
72
+
73
+ test('XXX_WRITE_SUCCESS 命中 _WRITE_SUCCESS 终态规则', () => {
74
+ const meta = resolveCodeMeta('XXX_WRITE_SUCCESS');
75
+ expect(meta.isTerminal).toBe(true);
76
+ expect(meta.semantic).toBe('success');
77
+ });
78
+
79
+ test('PROGRAM_DOWNLOAD_HEADER_SUCCESS 落 _SUCCESS 阶段进度(非终态)', () => {
80
+ // 阶段成功(不含 READ/WRITE)仍是 IN_PROGRESS step_success
81
+ const meta = resolveCodeMeta('PROGRAM_DOWNLOAD_HEADER_SUCCESS');
82
+ expect(meta.isTerminal).toBe(false);
83
+ expect(meta.status).toBe(MessageStatus.IN_PROGRESS);
84
+ expect(meta.semantic).toBe('step_success');
85
+ });
86
+ });
87
+
88
+ describe('回归:其他 SUFFIX_RULES 保持非终态', () => {
89
+ test('_FAILED 非终态(阶段错误)', () => {
90
+ const meta = resolveCodeMeta('PROGRAM_DOWNLOAD_HEADER_FAILED');
91
+ expect(meta.isTerminal).toBe(false);
92
+ expect(meta.status).toBe(MessageStatus.IN_PROGRESS);
93
+ expect(meta.semantic).toBe('phase_failed');
94
+ });
95
+
96
+ test('_START 非终态', () => {
97
+ const meta = resolveCodeMeta('PROGRAM_DOWNLOAD_START');
98
+ expect(meta.isTerminal).toBe(false);
99
+ expect(meta.status).toBe(MessageStatus.IN_PROGRESS);
100
+ });
101
+
102
+ test('_PROGRESS 非终态', () => {
103
+ const meta = resolveCodeMeta('PROGRAM_DOWNLOAD_PROGRESS');
104
+ expect(meta.isTerminal).toBe(false);
105
+ expect(meta.status).toBe(MessageStatus.IN_PROGRESS);
106
+ });
107
+
108
+ test('_COMPLETED 阶段结束(仍非终态)', () => {
109
+ const meta = resolveCodeMeta('PROGRAM_DOWNLOAD_COMPLETED');
110
+ expect(meta.isTerminal).toBe(false);
111
+ expect(meta.semantic).toBe('phase_end');
112
+ });
113
+
114
+ test('_WARN 非终态告警', () => {
115
+ const meta = resolveCodeMeta('PROGRAM_UPLOAD_CAN_BUS_ALARM_WARN');
116
+ expect(meta.isTerminal).toBe(false);
117
+ expect(meta.semantic).toBe('warning');
118
+ });
119
+ });
120
+
121
+ describe('isKnownCode:新后缀计为已知', () => {
122
+ test('SYNC_FUNCTIONS_SWITCH_READ_SUCCESS 是已知 code', () => {
123
+ expect(isKnownCode('SYNC_FUNCTIONS_SWITCH_READ_SUCCESS')).toBe(true);
124
+ });
125
+
126
+ test('SYNC_FUNCTIONS_SWITCH_WRITE_SUCCESS 是已知 code', () => {
127
+ expect(isKnownCode('SYNC_FUNCTIONS_SWITCH_WRITE_SUCCESS')).toBe(true);
128
+ });
129
+
130
+ test('完全陌生的 code 不是已知', () => {
131
+ expect(isKnownCode('TOTALLY_RANDOM_GARBAGE')).toBe(false);
132
+ });
133
+ });
134
+ });
@@ -203,7 +203,7 @@ describe('MessageValidator number-field type validation', () => {
203
203
  taskId: 'task-1',
204
204
  programId: 'prog-1',
205
205
  programName: 'P1',
206
- programNumber: 1,
206
+ programNo: 1,
207
207
  programType: 'DYNAMIC',
208
208
  width: 1920,
209
209
  height: 1080,
@@ -228,41 +228,41 @@ describe('MessageValidator number-field type validation', () => {
228
228
  version: '1.0'
229
229
  });
230
230
 
231
- test('programNumber: "5" should be invalid (string rejected)', () => {
231
+ test('programNo: "5" should be invalid (string rejected)', () => {
232
232
  const result = MessageValidator.validateProgramMessage(
233
- buildProgramMessage({ programNumber: '5' })
233
+ buildProgramMessage({ programNo: '5' })
234
234
  );
235
235
  expect(result.valid).toBe(false);
236
- expect(result.errors.some(e => e.includes('programNumber must be a number'))).toBe(true);
236
+ expect(result.errors.some(e => e.includes('programNo must be a number'))).toBe(true);
237
237
  });
238
238
 
239
- test('programNumber: NaN should be invalid', () => {
239
+ test('programNo: NaN should be invalid', () => {
240
240
  const result = MessageValidator.validateProgramMessage(
241
- buildProgramMessage({ programNumber: NaN })
241
+ buildProgramMessage({ programNo: NaN })
242
242
  );
243
243
  expect(result.valid).toBe(false);
244
- expect(result.errors.some(e => e.includes('programNumber must be a number'))).toBe(true);
244
+ expect(result.errors.some(e => e.includes('programNo must be a number'))).toBe(true);
245
245
  });
246
246
 
247
- test('programNumber: 0 should be invalid (out of range)', () => {
247
+ test('programNo: 0 should be invalid (out of range)', () => {
248
248
  const result = MessageValidator.validateProgramMessage(
249
- buildProgramMessage({ programNumber: 0 })
249
+ buildProgramMessage({ programNo: 0 })
250
250
  );
251
251
  expect(result.valid).toBe(false);
252
252
  expect(result.errors.some(e => e.includes('between 1 and 10'))).toBe(true);
253
253
  });
254
254
 
255
- test('programNumber: 11 should be invalid (out of range)', () => {
255
+ test('programNo: 11 should be invalid (out of range)', () => {
256
256
  const result = MessageValidator.validateProgramMessage(
257
- buildProgramMessage({ programNumber: 11 })
257
+ buildProgramMessage({ programNo: 11 })
258
258
  );
259
259
  expect(result.valid).toBe(false);
260
260
  expect(result.errors.some(e => e.includes('between 1 and 10'))).toBe(true);
261
261
  });
262
262
 
263
- test('programNumber: 5 should be valid', () => {
263
+ test('programNo: 5 should be valid', () => {
264
264
  const result = MessageValidator.validateProgramMessage(
265
- buildProgramMessage({ programNumber: 5 })
265
+ buildProgramMessage({ programNo: 5 })
266
266
  );
267
267
  expect(result.valid).toBe(true);
268
268
  });
package/src/code-meta.ts CHANGED
@@ -211,16 +211,22 @@ export const EXPLICIT_META: Record<string, CodeMeta> = {
211
211
  */
212
212
  // v1.7.1: 删除 infix 字段 — 协议层规范化为 suffix-only 派生规则
213
213
  // (消除"_WARN infix 与 _FAILED suffix 双命中"的设计 bug,确保一码一义)
214
+ // v1.7.6: meta 含完整 CodeMeta(含 isTerminal),不再硬编码 isTerminal: false
215
+ // 新增 _READ_SUCCESS / _WRITE_SUCCESS 终态规则(SIMPLE 命令成功响应)
214
216
  interface SuffixRule {
215
217
  /** 后缀匹配(endsWith)*/
216
218
  suffix: string;
217
- meta: Omit<CodeMeta, 'isTerminal'>;
219
+ meta: CodeMeta;
218
220
  }
219
221
 
222
+ // 注意:endsWith 按顺序首次命中即返回,所以**更长的后缀必须放在更短后缀之前**:
223
+ // _READ_SUCCESS / _WRITE_SUCCESS 必须在 _SUCCESS 之前
224
+ // _RETRY_PENDING 必须在 _RETRY 之前(已有约定)
220
225
  const SUFFIX_RULES: SuffixRule[] = [
221
226
  {
222
227
  suffix: '_FAILED',
223
228
  meta: {
229
+ isTerminal: false,
224
230
  status: MessageStatus.IN_PROGRESS,
225
231
  level: 'ERROR' as ReportLevel,
226
232
  semantic: 'phase_failed',
@@ -230,6 +236,7 @@ const SUFFIX_RULES: SuffixRule[] = [
230
236
  {
231
237
  suffix: '_RETRY_PENDING',
232
238
  meta: {
239
+ isTerminal: false,
233
240
  status: MessageStatus.IN_PROGRESS,
234
241
  level: 'WARNING' as ReportLevel,
235
242
  semantic: 'retry_pending',
@@ -239,6 +246,7 @@ const SUFFIX_RULES: SuffixRule[] = [
239
246
  {
240
247
  suffix: '_RETRY',
241
248
  meta: {
249
+ isTerminal: false,
242
250
  status: MessageStatus.IN_PROGRESS,
243
251
  level: 'WARNING' as ReportLevel,
244
252
  semantic: 'retry',
@@ -250,6 +258,7 @@ const SUFFIX_RULES: SuffixRule[] = [
250
258
  // 命名约定: PROGRAM_UPLOAD_CAN_BUS_ALARM_WARN(非 PROGRAM_UPLOAD_WARN_CAN_BUS_ALARM)
251
259
  suffix: '_WARN',
252
260
  meta: {
261
+ isTerminal: false,
253
262
  status: MessageStatus.IN_PROGRESS,
254
263
  level: 'WARNING' as ReportLevel,
255
264
  semantic: 'warning',
@@ -259,6 +268,7 @@ const SUFFIX_RULES: SuffixRule[] = [
259
268
  {
260
269
  suffix: '_SKIPPED',
261
270
  meta: {
271
+ isTerminal: false,
262
272
  status: MessageStatus.IN_PROGRESS,
263
273
  level: 'INFO' as ReportLevel,
264
274
  semantic: 'step_skipped',
@@ -268,6 +278,7 @@ const SUFFIX_RULES: SuffixRule[] = [
268
278
  {
269
279
  suffix: '_COMPLETED',
270
280
  meta: {
281
+ isTerminal: false,
271
282
  status: MessageStatus.IN_PROGRESS,
272
283
  level: 'INFO' as ReportLevel,
273
284
  semantic: 'phase_end',
@@ -277,6 +288,7 @@ const SUFFIX_RULES: SuffixRule[] = [
277
288
  {
278
289
  suffix: '_START',
279
290
  meta: {
291
+ isTerminal: false,
280
292
  status: MessageStatus.IN_PROGRESS,
281
293
  level: 'INFO' as ReportLevel,
282
294
  semantic: 'phase_start',
@@ -286,15 +298,44 @@ const SUFFIX_RULES: SuffixRule[] = [
286
298
  {
287
299
  suffix: '_PROGRESS',
288
300
  meta: {
301
+ isTerminal: false,
289
302
  status: MessageStatus.IN_PROGRESS,
290
303
  level: 'INFO' as ReportLevel,
291
304
  semantic: 'step_progress',
292
305
  requiresErrorBlock: false,
293
306
  },
294
307
  },
308
+ // v1.7.6: SIMPLE 命令终态成功响应(READ/WRITE 操作完成)
309
+ // 命名约定: <COMMAND_CODE>_<OPERATION>_SUCCESS — 设备端 canonical doc §3.x 规范
310
+ // 必须在 _SUCCESS 之前(更长后缀优先)
311
+ // 修复 v1.7.0–v1.7.5 协议大坑:SUFFIX_RULES 缺此规则导致设备端所有 SIMPLE 命令的
312
+ // _READ_SUCCESS / _WRITE_SUCCESS 终态响应被 Edge 错误降级为 IN_PROGRESS step_success
313
+ // → Edge 协议校验拒收 → 假 timeout(30s 超时后 Edge 合成 timeout 上报 Gateway)。
314
+ // 触发: v1.7.5 wire 联调 req_1778811285514_oan6qa (SYNC_FUNCTIONS_SWITCH_READ_SUCCESS)
315
+ {
316
+ suffix: '_READ_SUCCESS',
317
+ meta: {
318
+ isTerminal: true,
319
+ status: MessageStatus.COMPLETED,
320
+ level: 'INFO' as ReportLevel,
321
+ semantic: 'success',
322
+ requiresErrorBlock: false,
323
+ },
324
+ },
325
+ {
326
+ suffix: '_WRITE_SUCCESS',
327
+ meta: {
328
+ isTerminal: true,
329
+ status: MessageStatus.COMPLETED,
330
+ level: 'INFO' as ReportLevel,
331
+ semantic: 'success',
332
+ requiresErrorBlock: false,
333
+ },
334
+ },
295
335
  {
296
336
  suffix: '_SUCCESS',
297
337
  meta: {
338
+ isTerminal: false,
298
339
  status: MessageStatus.IN_PROGRESS,
299
340
  level: 'INFO' as ReportLevel,
300
341
  semantic: 'step_success',
@@ -320,8 +361,10 @@ const FALLBACK_META: CodeMeta = {
320
361
  * 单一 code 解析入口
321
362
  *
322
363
  * 解析顺序:
323
- * 1. 终态显式表(EXPLICIT_META) — 30 closed enum
324
- * 2. 后缀规则(SUFFIX_RULES) 9 条规则覆盖数百个进度 code
364
+ * 1. 终态显式表(EXPLICIT_META) — 17 entries closed enum
365
+ * (PROGRAM 7 + QUICK_DETECTION 5 + SYNC_MONITORING_TABLE 3 + EDGE 2)
366
+ * 2. 后缀规则(SUFFIX_RULES) — 11 条规则覆盖数百个进度 + 终态 code
367
+ * (v1.7.6: +_READ_SUCCESS / _WRITE_SUCCESS SIMPLE 命令终态后缀)
325
368
  * 3. 兜底(FALLBACK_META) — 未知 code 降级
326
369
  *
327
370
  * @param code report.code 字符串
@@ -332,9 +375,11 @@ export function resolveCodeMeta(code: string): CodeMeta {
332
375
  return EXPLICIT_META[code];
333
376
  }
334
377
  // v1.7.1: suffix-only 派生(删除 infix 分支)
378
+ // v1.7.6: isTerminal 不再硬编码 false,从 rule.meta 派生
379
+ // (_READ_SUCCESS / _WRITE_SUCCESS 是终态后缀)
335
380
  for (const rule of SUFFIX_RULES) {
336
381
  if (code.endsWith(rule.suffix)) {
337
- return { isTerminal: false, ...rule.meta };
382
+ return rule.meta;
338
383
  }
339
384
  }
340
385
  return FALLBACK_META;
package/src/index.ts CHANGED
@@ -112,7 +112,7 @@ export interface DevicePhysicalParams {
112
112
  width: number; // 屏幕宽度(像素,整数 > 0),与 ProgramParameters.width 对齐
113
113
  height: number; // 屏幕高度(像素,整数 > 0),与 ProgramParameters.height 对齐
114
114
  direction: ProgramDirection; // 节目滚动方向,复用 ProgramDirection 枚举
115
- maxProgramSlots: number; // 节目槽位上限(整数 1-10),决定 ProgramParameters.programNumber 合法范围
115
+ maxProgramSlots: number; // 节目槽位上限(整数 1-10),决定 ProgramParameters.programNo 合法范围
116
116
  }
117
117
 
118
118
  // Edge 信息(设备端通过 Edge 注册时包含)
@@ -354,7 +354,7 @@ export interface ProgramParameters {
354
354
  taskId: string; // Snowflake ID
355
355
  programId: string; // Snowflake ID
356
356
  programName: string;
357
- programNumber: number; // 1-10
357
+ programNo: number; // 1-10 (v1.7.5 rename from programNumber — 与设备 wire 对齐 + Snowflake programId 区分)
358
358
  programType: ProgramType;
359
359
  width: number;
360
360
  height: number;
@@ -463,7 +463,7 @@ export interface ProgramContext {
463
463
  taskId: string; // Snowflake ID
464
464
  programId: string; // Snowflake ID
465
465
  programName: string; // 程序名称
466
- programNumber: number; // 1-10
466
+ programNo: number; // 1-10 (v1.7.5 rename from programNumber — 与设备 wire 对齐 + Snowflake programId 区分)
467
467
  programType: ProgramType; // dynamic | static
468
468
  }
469
469
 
@@ -1256,9 +1256,20 @@ export type AnyMessage =
1256
1256
  * v1.7.4 patch: schema 真有变化(EXPLICIT_META rename + add + OperationType 缩 + messageEn 删)
1257
1257
  * 所以 schema 版本同步升 '1.7.3',package 版本 1.7.4。
1258
1258
  *
1259
+ * v1.7.5 patch: schema BREAKING wire rename — ProgramParameters.programNumber / ProgramContext.programNumber
1260
+ * → programNo(对齐设备端 wire emit + 与 Snowflake programId 区分)。Phase 3.5 Category C escalation 仲裁结果。
1261
+ * schema 版本 1.7.3 → 1.7.4,package 版本 1.7.4 → 1.7.5。
1262
+ *
1263
+ * v1.7.6 patch: SUFFIX_RULES 新增 _READ_SUCCESS / _WRITE_SUCCESS 终态规则。
1264
+ * 修复 v1.7.0–v1.7.5 协议大坑:SIMPLE 命令 (SYNC_FUNCTIONS_SWITCH / SYNC_PROGRAM_CONTROL /
1265
+ * DEVICE_DATETIME_INFORMATION / 等几十个) 的 _READ_SUCCESS / _WRITE_SUCCESS 终态响应被
1266
+ * 误匹配 _SUCCESS 规则降为 IN_PROGRESS → Edge 协议校验拒收 → 30s 假 timeout。
1267
+ * v1.7.5 wire 联调 req_1778811285514_oan6qa 实证暴露。
1268
+ * schema 版本 1.7.4 → 1.7.5,package 版本 1.7.5 → 1.7.6。
1269
+ *
1259
1270
  * 防再犯:本常量被 scripts/check-protocol-version.js 在 prepublishOnly hook 中校验。
1260
1271
  */
1261
- export const PROTOCOL_VERSION = '1.7.3';
1272
+ export const PROTOCOL_VERSION = '1.7.5';
1262
1273
  export const DEFAULT_TIMEOUT = 10000;
1263
1274
  export const DEFAULT_PRIORITY = Priority.NORMAL;
1264
1275