snss-types 1.0.0 → 1.0.2

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,612 +0,0 @@
1
- /**
2
- * 场景树结构对象类型
3
- */
4
- export interface SceneItem {
5
- label: string
6
- value: string
7
- meta: SceneItemMeta
8
- isLeaf?: boolean
9
- [x: string]: any
10
- }
11
-
12
- /**
13
- * 场景元数据详细信息类型
14
- */
15
- export interface SceneItemMeta {
16
- scene_json?: SceneItemSelfInfo
17
- manifest_json?: ManifestData
18
- constellations_json?: ConstellationsData
19
- satellites_json?: SatellitesData
20
- nodes_json?: NodesData
21
- links_json?: LinksData
22
- tasks_json?: TasksData
23
- flows_json?: FlowsData
24
- timeline_json?: TimelineData
25
- metrics_json?: MetricsData
26
- evaluation_json?: EvaluationData
27
- }
28
-
29
- /**
30
- * 场景节点(单个架构版本)
31
- */
32
- export interface SceneItemSelfInfo {
33
- /** 场景唯一标识 */
34
- scene_id: string
35
- /** 场景显示名称 */
36
- scene_name: string
37
- /** 文件路径 */
38
- file_path?: string
39
- /** 场景角色:基线/迭代/最终 */
40
- scene_role: SceneRole
41
- /** 场景描述说明 */
42
- description: string
43
- /** 上一个场景ID(可选,基线版本没有) */
44
- prev_scene_id?: string
45
- /** 下一个场景ID(可选,最终版本没有) */
46
- next_scene_id?: string
47
- }
48
-
49
- /**
50
- * 场景角色类型
51
- * - baseline: 基线架构版本
52
- * - iteration: 优化迭代版本
53
- * - final: 最终优化版本
54
- */
55
- export type SceneRole = 'baseline' | 'iteration' | 'final'
56
-
57
- // #region manifest.json 类型 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
58
- // ==================== manifest.json 类型 ====================
59
- /**
60
- * 时间配置
61
- */
62
- export interface ManifestTime {
63
- epoch_utc: string // 起始UTC时间,如 "2026-01-01T00:00:00Z"
64
- start_time_s: number
65
- end_time_s: number
66
- time_step_ms: number
67
- frame_count: number
68
- }
69
-
70
- /**
71
- * 场景清单文件
72
- */
73
- export interface ManifestData {
74
- scene_id: string
75
- scene_name: string
76
- description: string
77
- time: ManifestTime
78
- }
79
-
80
- // #endregion ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
81
-
82
- // #region constellations.json 类型 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
83
- // ==================== constellations.json 类型 ====================
84
- /**
85
- * 星座类型
86
- */
87
- export type ConstellationType = 'GEO' | 'MEO' | 'LEO'
88
-
89
- /**
90
- * 星座配置
91
- */
92
- export interface Constellation {
93
- constellation_id: string
94
- constellation_name: string
95
- layer: ConstellationType
96
- satellite_count: number
97
- }
98
-
99
- /**
100
- * 星座列表
101
- */
102
- export interface ConstellationsData {
103
- constellations: Constellation[]
104
- }
105
-
106
- // #endregion ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
107
-
108
- // #region satellites.json 类型 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
109
- // ==================== satellites.json 类型 ====================
110
- /**
111
- * 卫星TLE数据
112
- */
113
- export interface SatelliteTLE {
114
- line1: string
115
- line2: string
116
- }
117
-
118
- /**
119
- * 卫星配置
120
- */
121
- export interface Satellite {
122
- satellite_id: string
123
- satellite_name: string
124
- constellation_id: string
125
- layer: ConstellationType
126
- satellite_type: TaskType
127
- orbit_plane: number
128
- orbit_index: number
129
- tle: SatelliteTLE
130
- }
131
-
132
- /**
133
- * 卫星列表
134
- */
135
- export interface SatellitesData {
136
- satellites: Satellite[]
137
- }
138
- // #endregion ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
139
-
140
- // #region nodes.json 类型 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
141
- // ==================== nodes.json 类型 ====================
142
- /**
143
- * 地理位置
144
- */
145
- export interface GeoPosition {
146
- lon_deg: number
147
- lat_deg: number
148
- alt_km: number
149
- }
150
-
151
- /**
152
- * 容量配置
153
- */
154
- export interface Capacity {
155
- max_access_capacity_mbps: number
156
- }
157
-
158
- /**
159
- * 显示配置
160
- */
161
- export interface DisplayOptions {
162
- show_trajectory?: boolean
163
- }
164
-
165
- /**
166
- * 节点类型
167
- */
168
- export type NodeType = 'gateway' | 'user_terminal' | 'control_center' | 'other'
169
-
170
- /**
171
- * 终端类型(仅在 node_type = 'user_terminal' 时使用)
172
- */
173
- export type TerminalType = 'fixed' | 'mobile' | 'airborne' | 'maritime'
174
-
175
- /**
176
- * 移动模型类型
177
- */
178
- export type MobilityModel = 'static' | 'waypoint'
179
-
180
- /**
181
- * 网关节点
182
- */
183
- export interface GatewayNode {
184
- node_id: string
185
- node_name: string
186
- node_type: 'gateway'
187
- region: string
188
- geo_position: GeoPosition
189
- capacity: Capacity
190
- }
191
-
192
- /**
193
- * 固定用户终端
194
- */
195
- export interface StaticUserTerminal {
196
- node_id: string
197
- node_name: string
198
- node_type: 'user_terminal'
199
- terminal_type: 'fixed'
200
- mobility_model: 'static'
201
- geo_position: GeoPosition
202
- display_options?: DisplayOptions
203
- }
204
-
205
- /**
206
- * 移动用户终端
207
- */
208
- export interface MobileUserTerminal {
209
- node_id: string
210
- node_name: string
211
- node_type: 'user_terminal'
212
- terminal_type: 'mobile'
213
- mobility_model: 'waypoint'
214
- geo_position: GeoPosition
215
- display_options?: DisplayOptions
216
- }
217
-
218
- /**
219
- * 其他类型用户终端
220
- */
221
- export interface OtherUserTerminal {
222
- node_id: string
223
- node_name: string
224
- node_type: 'user_terminal'
225
- terminal_type: Exclude<TerminalType, 'fixed' | 'mobile'>
226
- mobility_model: MobilityModel
227
- geo_position: GeoPosition
228
- display_options?: DisplayOptions
229
- }
230
-
231
- /**
232
- * 控制中心节点
233
- */
234
- export interface ControlCenterNode {
235
- node_id: string
236
- node_name: string
237
- node_type: 'control_center'
238
- geo_position: GeoPosition
239
- }
240
-
241
- /**
242
- * 其他类型节点
243
- */
244
- export interface OtherNode {
245
- node_id: string
246
- node_name: string
247
- node_type: 'other'
248
- geo_position: GeoPosition
249
- }
250
-
251
- /**
252
- * 节点联合类型
253
- */
254
- export type Node =
255
- | GatewayNode
256
- | StaticUserTerminal
257
- | MobileUserTerminal
258
- | OtherUserTerminal
259
- | ControlCenterNode
260
- | OtherNode
261
-
262
- /**
263
- * 节点列表
264
- */
265
- export interface NodesData {
266
- nodes: Node[]
267
- }
268
- // #endregion ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
269
-
270
- // #region links.json 类型 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
271
- // ==================== links.json 类型 ====================
272
- /**
273
- * 链路类型
274
- */
275
- export type LinkType = 'ISL' | 'IOL' | 'GSL' | 'BACKHAUL'
276
-
277
- /**
278
- * 节点类型
279
- */
280
- export type LinkNodeType = 'satellite' | 'gateway'
281
-
282
- /**
283
- * 链路实例
284
- */
285
- export interface Link {
286
- link_id: string
287
- node_a_id: string
288
- node_a_type: LinkNodeType
289
- node_b_id: string
290
- node_b_type: LinkNodeType
291
- link_type: LinkType
292
- capacity_mbps: number
293
- node_a_constellation_id?: string
294
- node_b_constellation_id?: string
295
- }
296
-
297
- /**
298
- * 批量链路配置规则
299
- */
300
- export interface BulkConfigRule {
301
- constellation_id: string
302
- link_type: LinkType
303
- capacity_mbps: number
304
- }
305
-
306
- /**
307
- * 链路列表
308
- */
309
- export interface LinksData {
310
- links: Link[]
311
- bulk_config_rules: BulkConfigRule[]
312
- }
313
- // #endregion ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
314
-
315
- // #region tasks.json 类型 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
316
- // ==================== tasks.json 类型 ====================
317
- /**
318
- * 任务类型
319
- */
320
- export type TaskType = 'emergency_communication'
321
-
322
- /**
323
- * 任务优先级
324
- */
325
- export type TaskPriority = 'high'
326
-
327
- /**
328
- * 任务
329
- */
330
- export interface Task {
331
- task_id: string
332
- task_name: string
333
- task_type: TaskType
334
- priority: TaskPriority
335
- flow_ids: string[]
336
- start_time_s: number
337
- end_time_s: number
338
- }
339
-
340
- /**
341
- * 任务列表
342
- */
343
- export interface TasksData {
344
- tasks: Task[]
345
- }
346
- // #endregion ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
347
-
348
- // #region flows.json 类型 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
349
- // ==================== flows.json 类型 ====================
350
- /**
351
- * 业务类型
352
- */
353
- export type ServiceType = 'voice' | 'image_return'
354
-
355
- /**
356
- * 业务优先级
357
- */
358
- export type FlowPriority = 'high'
359
-
360
- /**
361
- * 业务流
362
- */
363
- export interface Flow {
364
- flow_id: string
365
- flow_name: string
366
- task_id: string
367
- service_type: ServiceType
368
- priority: FlowPriority
369
- src_node_id: string
370
- dst_node_id: string
371
- start_time_s: number
372
- end_time_s: number
373
- }
374
-
375
- /**
376
- * 业务流列表
377
- */
378
- export interface FlowsData {
379
- flows: Flow[]
380
- }
381
- // #endregion ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
382
-
383
- // #region timeline.json 类型 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
384
- // ==================== timeline.json 类型 ====================
385
- /**
386
- * 地理位置
387
- */
388
- export interface GeoPosition {
389
- lon_deg: number
390
- lat_deg: number
391
- alt_km: number
392
- }
393
-
394
- /**
395
- * 速度向量
396
- */
397
- export interface VelocityWGS {
398
- vx: number
399
- vy: number
400
- vz: number
401
- unit: string
402
- }
403
-
404
- /**
405
- * 用户状态
406
- */
407
- export interface UserState {
408
- node_id: string
409
- geo_position: GeoPosition
410
- velocity_wgs: VelocityWGS
411
- }
412
-
413
- /**
414
- * 链路状态
415
- */
416
- export interface LinkState {
417
- link_id: string
418
- status: string
419
- utilization_ratio: number
420
- congestion_level: number
421
- }
422
-
423
- /**
424
- * 业务流状态
425
- */
426
- export interface FlowState {
427
- flow_id: string
428
- status: string
429
- throughput_mbps: number
430
- avg_delay_ms: number
431
- loss_rate: number
432
- current_path_node_ids: string[]
433
- is_sla_satisfied: boolean
434
- }
435
-
436
- /**
437
- * 任务状态
438
- */
439
- export interface TaskState {
440
- task_id: string
441
- status: string
442
- active_flow_ids: string[]
443
- }
444
-
445
- /**
446
- * 时间轴单帧数据
447
- */
448
- export interface TimelineFrame {
449
- frame_no: number
450
- timestamp_s: number
451
- user_states: UserState[]
452
- links: LinkState[]
453
- flows: FlowState[]
454
- tasks: TaskState[]
455
- }
456
-
457
- /**
458
- * 时间轴数据
459
- */
460
- export interface TimelineData {
461
- timelines: TimelineFrame[]
462
- }
463
- // #endregion ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
464
-
465
- // #region metrics.json 类型 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
466
- // ==================== metrics.json 类型 ====================
467
- /**
468
- * 概要统计
469
- */
470
- export interface MetricsSummary {
471
- active_flow_total: number
472
- high_priority_flow_total: number
473
- avg_delay_ms: number
474
- avg_loss_rate: number
475
- avg_throughput_mbps: number
476
- congested_link_total: number
477
- }
478
-
479
- /**
480
- * 时序数据点
481
- */
482
- export interface TimeseriesPoint {
483
- timestamp_s: number
484
- active_flow_count: number
485
- network_throughput_mbps: number
486
- avg_delay_ms: number
487
- avg_loss_rate: number
488
- congested_link_count: number
489
- }
490
-
491
- /**
492
- * 图表配置
493
- */
494
- export interface ChartConfig {
495
- chart_id: string
496
- chart_name: string
497
- chart_type: string
498
- x_field: string
499
- y_fields: string[]
500
- unit: string
501
- }
502
-
503
- /**
504
- * 图表资源
505
- */
506
- export interface FigureAsset {
507
- figure_id: string
508
- figure_name: string
509
- figure_type: string
510
- file_path: string
511
- description: string
512
- }
513
-
514
- /**
515
- * 指标数据
516
- */
517
- export interface MetricsData {
518
- summary: MetricsSummary
519
- timeseries: TimeseriesPoint[]
520
- charts: ChartConfig[]
521
- figure_assets: FigureAsset[]
522
- }
523
- // #endregion ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
524
-
525
- // #region evaluation.json ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
526
- // ==================== evaluation.json 类型 ====================
527
- /**
528
- * 评估方法类型
529
- */
530
- export type EvaluationMethod = 'AHP_ENTROPY'
531
-
532
- /**
533
- * 指标方向类型
534
- */
535
- export type MetricDirection = 'benefit' | 'cost'
536
-
537
- /**
538
- * 评估模型
539
- */
540
- export interface EvaluationModel {
541
- method: EvaluationMethod
542
- }
543
-
544
- /**
545
- * 细分指标
546
- */
547
- export interface Metric {
548
- metric_id: string
549
- metric_name: string
550
- direction: MetricDirection
551
- value: number
552
- normalized_value: number
553
- unit: string
554
- }
555
-
556
- /**
557
- * 评估维度
558
- */
559
- export interface EvaluationDimension {
560
- dimension_id: string
561
- dimension_name: string
562
- score: number
563
- ahp_weight: number
564
- entropy_weight: number
565
- combined_weight: number
566
- metrics: Metric[]
567
- }
568
-
569
- /**
570
- * 最终得分
571
- */
572
- export interface FinalScore {
573
- score: number
574
- score_scale: string
575
- }
576
-
577
- /**
578
- * 评估图表配置
579
- */
580
- export interface EvaluationChart {
581
- chart_id: string
582
- chart_name: string
583
- chart_type: string
584
- label_field: string
585
- value_field: string
586
- unit: string
587
- }
588
-
589
- /**
590
- * 评估图表资源
591
- */
592
- export interface EvaluationFigureAsset {
593
- figure_id: string
594
- figure_name: string
595
- figure_type: string
596
- file_path: string
597
- description: string
598
- }
599
-
600
- /**
601
- * 评估结果
602
- */
603
- export interface EvaluationData {
604
- scene_id: string
605
- scene_name: string
606
- evaluation_model: EvaluationModel
607
- dimensions: EvaluationDimension[]
608
- final_score: FinalScore
609
- charts: EvaluationChart[]
610
- figure_assets: EvaluationFigureAsset[]
611
- }
612
- // #endregion ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑