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.
@@ -0,0 +1,681 @@
1
+ declare class ModelEntity {
2
+ id: number;
3
+ name: string;
4
+ type: string;
5
+ url: string;
6
+ updateTime: Date;
7
+ }
8
+
9
+ /**
10
+ * 场景树结构对象类型
11
+ */
12
+ interface SceneItem {
13
+ label: string;
14
+ value: string;
15
+ meta: SceneItemMeta;
16
+ isLeaf?: boolean;
17
+ [x: string]: any;
18
+ }
19
+ /**
20
+ * 场景元数据详细信息类型
21
+ */
22
+ interface SceneItemMeta {
23
+ scene_json?: SceneItemSelfInfo;
24
+ manifest_json?: SceneManifestData;
25
+ constellations_json?: SceneConstellationsData;
26
+ satellites_json?: SceneSatellitesData;
27
+ nodes_json?: SceneNodesData;
28
+ links_json?: SceneLinksData;
29
+ tasks_json?: SceneTasksData;
30
+ flows_json?: SceneFlowsData;
31
+ timeline_json?: SceneTimelineData;
32
+ metrics_json?: SceneMetricsData;
33
+ evaluation_json?: SceneEvaluationData;
34
+ }
35
+ /**
36
+ * 场景节点(单个架构版本)
37
+ */
38
+ interface SceneItemSelfInfo {
39
+ /** 场景唯一标识 */
40
+ scene_id: string;
41
+ /** 场景显示名称 */
42
+ scene_name: string;
43
+ /** 文件路径 */
44
+ file_path?: string;
45
+ /** 场景角色:基线/迭代/最终 */
46
+ scene_role: SceneRole;
47
+ /** 场景描述说明 */
48
+ description: string;
49
+ /** 上一个场景ID(可选,基线版本没有) */
50
+ prev_scene_id?: string;
51
+ /** 下一个场景ID(可选,最终版本没有) */
52
+ next_scene_id?: string;
53
+ }
54
+ /**
55
+ * 场景角色类型
56
+ * - baseline: 基线架构版本
57
+ * - iteration: 优化迭代版本
58
+ * - final: 最终优化版本
59
+ */
60
+ type SceneRole = 'baseline' | 'iteration' | 'final';
61
+ /**
62
+ * 时间配置
63
+ */
64
+ interface SceneManifestTime {
65
+ epoch_utc: string;
66
+ start_time_s: number;
67
+ end_time_s: number;
68
+ time_step_ms: number;
69
+ frame_count: number;
70
+ }
71
+ /**
72
+ * 场景清单文件
73
+ */
74
+ interface SceneManifestData {
75
+ scene_id: string;
76
+ scene_name: string;
77
+ description: string;
78
+ time: SceneManifestTime;
79
+ }
80
+ /**
81
+ * 星座类型
82
+ */
83
+ type SceneConstellationType = 'GEO' | 'MEO' | 'LEO';
84
+ /**
85
+ * 星座配置
86
+ */
87
+ interface SceneConstellation {
88
+ constellation_id: string;
89
+ constellation_name: string;
90
+ layer: SceneConstellationType;
91
+ satellite_count: number;
92
+ }
93
+ /**
94
+ * 星座列表
95
+ */
96
+ interface SceneConstellationsData {
97
+ constellations: SceneConstellation[];
98
+ }
99
+ /**
100
+ * 卫星TLE数据
101
+ */
102
+ interface SceneSatelliteTLE {
103
+ line1: string;
104
+ line2: string;
105
+ }
106
+ /**
107
+ * 卫星配置
108
+ */
109
+ interface SceneSatellite {
110
+ satellite_id: string;
111
+ satellite_name: string;
112
+ constellation_id: string;
113
+ layer: SceneConstellationType;
114
+ satellite_type: SceneTaskType;
115
+ orbit_plane: number;
116
+ orbit_index: number;
117
+ tle: SceneSatelliteTLE;
118
+ }
119
+ /**
120
+ * 卫星列表
121
+ */
122
+ interface SceneSatellitesData {
123
+ satellites: SceneSatellite[];
124
+ }
125
+ /**
126
+ * 容量配置
127
+ */
128
+ interface SceneCapacity {
129
+ max_access_capacity_mbps: number;
130
+ }
131
+ /**
132
+ * 显示配置
133
+ */
134
+ interface SceneDisplayOptions {
135
+ show_trajectory?: boolean;
136
+ }
137
+ /**
138
+ * 节点类型
139
+ */
140
+ type SceneNodeType = 'gateway' | 'user_terminal' | 'control_center' | 'other';
141
+ /**
142
+ * 终端类型(仅在 node_type = 'user_terminal' 时使用)
143
+ */
144
+ type SceneTerminalType = 'fixed' | 'mobile' | 'airborne' | 'maritime';
145
+ /**
146
+ * 移动模型类型
147
+ */
148
+ type SceneMobilityModel = 'static' | 'waypoint';
149
+ /**
150
+ * 网关节点
151
+ */
152
+ interface SceneGatewayNode {
153
+ node_id: string;
154
+ node_name: string;
155
+ node_type: 'gateway';
156
+ region: string;
157
+ geo_position: SceneGeoPosition;
158
+ capacity: SceneCapacity;
159
+ }
160
+ /**
161
+ * 固定用户终端
162
+ */
163
+ interface SceneStaticUserTerminal {
164
+ node_id: string;
165
+ node_name: string;
166
+ node_type: 'user_terminal';
167
+ terminal_type: 'fixed';
168
+ mobility_model: 'static';
169
+ geo_position: SceneGeoPosition;
170
+ display_options?: SceneDisplayOptions;
171
+ }
172
+ /**
173
+ * 移动用户终端
174
+ */
175
+ interface SceneMobileUserTerminal {
176
+ node_id: string;
177
+ node_name: string;
178
+ node_type: 'user_terminal';
179
+ terminal_type: 'mobile';
180
+ mobility_model: 'waypoint';
181
+ geo_position: SceneGeoPosition;
182
+ display_options?: SceneDisplayOptions;
183
+ }
184
+ /**
185
+ * 其他类型用户终端
186
+ */
187
+ interface SceneOtherUserTerminal {
188
+ node_id: string;
189
+ node_name: string;
190
+ node_type: 'user_terminal';
191
+ terminal_type: Exclude<SceneTerminalType, 'fixed' | 'mobile'>;
192
+ mobility_model: SceneMobilityModel;
193
+ geo_position: SceneGeoPosition;
194
+ display_options?: SceneDisplayOptions;
195
+ }
196
+ /**
197
+ * 控制中心节点
198
+ */
199
+ interface SceneControlCenterNode {
200
+ node_id: string;
201
+ node_name: string;
202
+ node_type: 'control_center';
203
+ geo_position: SceneGeoPosition;
204
+ }
205
+ /**
206
+ * 其他类型节点
207
+ */
208
+ interface SceneOtherNode {
209
+ node_id: string;
210
+ node_name: string;
211
+ node_type: 'other';
212
+ geo_position: SceneGeoPosition;
213
+ }
214
+ /**
215
+ * 节点联合类型
216
+ */
217
+ type SceneNode = SceneGatewayNode | SceneStaticUserTerminal | SceneMobileUserTerminal | SceneOtherUserTerminal | SceneControlCenterNode | SceneOtherNode;
218
+ /**
219
+ * 节点列表
220
+ */
221
+ interface SceneNodesData {
222
+ nodes: SceneNode[];
223
+ }
224
+ /**
225
+ * 链路类型
226
+ */
227
+ type SceneLinkType = 'ISL' | 'IOL' | 'GSL' | 'BACKHAUL';
228
+ /**
229
+ * 节点类型
230
+ */
231
+ type SceneLinkNodeType = 'satellite' | 'gateway';
232
+ /**
233
+ * 链路实例
234
+ */
235
+ interface SceneLink {
236
+ link_id: string;
237
+ node_a_id: string;
238
+ node_a_type: SceneLinkNodeType;
239
+ node_b_id: string;
240
+ node_b_type: SceneLinkNodeType;
241
+ link_type: SceneLinkType;
242
+ capacity_mbps: number;
243
+ node_a_constellation_id?: string;
244
+ node_b_constellation_id?: string;
245
+ }
246
+ /**
247
+ * 批量链路配置规则
248
+ */
249
+ interface SceneBulkConfigRule {
250
+ constellation_id: string;
251
+ link_type: SceneLinkType;
252
+ capacity_mbps: number;
253
+ }
254
+ /**
255
+ * 链路列表
256
+ */
257
+ interface SceneLinksData {
258
+ links: SceneLink[];
259
+ bulk_config_rules: SceneBulkConfigRule[];
260
+ }
261
+ /**
262
+ * 任务类型
263
+ */
264
+ type SceneTaskType = 'emergency_communication';
265
+ /**
266
+ * 任务优先级
267
+ */
268
+ type SceneTaskPriority = 'high';
269
+ /**
270
+ * 任务
271
+ */
272
+ interface SceneTask {
273
+ task_id: string;
274
+ task_name: string;
275
+ task_type: SceneTaskType;
276
+ priority: SceneTaskPriority;
277
+ flow_ids: string[];
278
+ start_time_s: number;
279
+ end_time_s: number;
280
+ }
281
+ /**
282
+ * 任务列表
283
+ */
284
+ interface SceneTasksData {
285
+ tasks: SceneTask[];
286
+ }
287
+ /**
288
+ * 业务类型
289
+ */
290
+ type SceneServiceType = 'voice' | 'image_return';
291
+ /**
292
+ * 业务优先级
293
+ */
294
+ type SceneFlowPriority = 'high';
295
+ /**
296
+ * 业务流
297
+ */
298
+ interface SceneFlow {
299
+ flow_id: string;
300
+ flow_name: string;
301
+ task_id: string;
302
+ service_type: SceneServiceType;
303
+ priority: SceneFlowPriority;
304
+ src_node_id: string;
305
+ dst_node_id: string;
306
+ start_time_s: number;
307
+ end_time_s: number;
308
+ }
309
+ /**
310
+ * 业务流列表
311
+ */
312
+ interface SceneFlowsData {
313
+ flows: SceneFlow[];
314
+ }
315
+ /**
316
+ * 地理位置
317
+ */
318
+ interface SceneGeoPosition {
319
+ lon_deg: number;
320
+ lat_deg: number;
321
+ alt_km: number;
322
+ }
323
+ /**
324
+ * 地理位置
325
+ */
326
+ interface SceneGeoPosition {
327
+ lon_deg: number;
328
+ lat_deg: number;
329
+ alt_km: number;
330
+ }
331
+ /**
332
+ * 速度向量
333
+ */
334
+ interface SceneVelocityWGS {
335
+ vx: number;
336
+ vy: number;
337
+ vz: number;
338
+ unit: string;
339
+ }
340
+ /**
341
+ * 用户状态
342
+ */
343
+ interface SceneUserState {
344
+ node_id: string;
345
+ geo_position: SceneGeoPosition;
346
+ velocity_wgs: SceneVelocityWGS;
347
+ }
348
+ /**
349
+ * 链路状态
350
+ */
351
+ interface SceneLinkState {
352
+ link_id: string;
353
+ status: string;
354
+ utilization_ratio: number;
355
+ congestion_level: number;
356
+ }
357
+ /**
358
+ * 业务流状态
359
+ */
360
+ interface SceneFlowState {
361
+ flow_id: string;
362
+ status: string;
363
+ throughput_mbps: number;
364
+ avg_delay_ms: number;
365
+ loss_rate: number;
366
+ current_path_node_ids: string[];
367
+ is_sla_satisfied: boolean;
368
+ }
369
+ /**
370
+ * 任务状态
371
+ */
372
+ interface SceneTaskState {
373
+ task_id: string;
374
+ status: string;
375
+ active_flow_ids: string[];
376
+ }
377
+ /**
378
+ * 时间轴单帧数据
379
+ */
380
+ interface SceneTimelineFrame {
381
+ frame_no: number;
382
+ timestamp_s: number;
383
+ user_states: SceneUserState[];
384
+ links: SceneLinkState[];
385
+ flows: SceneFlowState[];
386
+ tasks: SceneTaskState[];
387
+ }
388
+ /**
389
+ * 时间轴数据
390
+ */
391
+ interface SceneTimelineData {
392
+ timelines: SceneTimelineFrame[];
393
+ }
394
+ /**
395
+ * 概要统计
396
+ */
397
+ interface SceneMetricsSummary {
398
+ active_flow_total: number;
399
+ high_priority_flow_total: number;
400
+ avg_delay_ms: number;
401
+ avg_loss_rate: number;
402
+ avg_throughput_mbps: number;
403
+ congested_link_total: number;
404
+ }
405
+ /**
406
+ * 时序数据点
407
+ */
408
+ interface SceneTimeseriesPoint {
409
+ timestamp_s: number;
410
+ active_flow_count: number;
411
+ network_throughput_mbps: number;
412
+ avg_delay_ms: number;
413
+ avg_loss_rate: number;
414
+ congested_link_count: number;
415
+ }
416
+ /**
417
+ * 图表配置
418
+ */
419
+ interface SceneChartConfig {
420
+ chart_id: string;
421
+ chart_name: string;
422
+ chart_type: string;
423
+ x_field: string;
424
+ y_fields: string[];
425
+ unit: string;
426
+ }
427
+ /**
428
+ * 图表资源
429
+ */
430
+ interface SceneFigureAsset {
431
+ figure_id: string;
432
+ figure_name: string;
433
+ figure_type: string;
434
+ file_path: string;
435
+ description: string;
436
+ }
437
+ /**
438
+ * 指标数据
439
+ */
440
+ interface SceneMetricsData {
441
+ summary: SceneMetricsSummary;
442
+ timeseries: SceneTimeseriesPoint[];
443
+ charts: SceneChartConfig[];
444
+ figure_assets: SceneFigureAsset[];
445
+ }
446
+ /**
447
+ * 评估方法类型
448
+ */
449
+ type SceneEvaluationMethod = 'AHP_ENTROPY';
450
+ /**
451
+ * 指标方向类型
452
+ */
453
+ type SceneMetricDirection = 'benefit' | 'cost';
454
+ /**
455
+ * 评估模型
456
+ */
457
+ interface SceneEvaluationModel {
458
+ method: SceneEvaluationMethod;
459
+ }
460
+ /**
461
+ * 细分指标
462
+ */
463
+ interface SceneMetric {
464
+ metric_id: string;
465
+ metric_name: string;
466
+ direction: SceneMetricDirection;
467
+ value: number;
468
+ normalized_value: number;
469
+ unit: string;
470
+ }
471
+ /**
472
+ * 评估维度
473
+ */
474
+ interface SceneEvaluationDimension {
475
+ dimension_id: string;
476
+ dimension_name: string;
477
+ score: number;
478
+ ahp_weight: number;
479
+ entropy_weight: number;
480
+ combined_weight: number;
481
+ metrics: SceneMetric[];
482
+ }
483
+ /**
484
+ * 最终得分
485
+ */
486
+ interface SceneFinalScore {
487
+ score: number;
488
+ score_scale: string;
489
+ }
490
+ /**
491
+ * 评估图表配置
492
+ */
493
+ interface SceneEvaluationChart {
494
+ chart_id: string;
495
+ chart_name: string;
496
+ chart_type: string;
497
+ label_field: string;
498
+ value_field: string;
499
+ unit: string;
500
+ }
501
+ /**
502
+ * 评估图表资源
503
+ */
504
+ interface SceneEvaluationFigureAsset {
505
+ figure_id: string;
506
+ figure_name: string;
507
+ figure_type: string;
508
+ file_path: string;
509
+ description: string;
510
+ }
511
+ /**
512
+ * 评估结果
513
+ */
514
+ interface SceneEvaluationData {
515
+ scene_id: string;
516
+ scene_name: string;
517
+ evaluation_model: SceneEvaluationModel;
518
+ dimensions: SceneEvaluationDimension[];
519
+ final_score: SceneFinalScore;
520
+ charts: SceneEvaluationChart[];
521
+ figure_assets: SceneEvaluationFigureAsset[];
522
+ }
523
+
524
+ /**
525
+ * 案例类型
526
+ */
527
+ type CaseType = 'architecture_optimization';
528
+ /**
529
+ * 优化评估案例
530
+ */
531
+ interface CaseJsonData {
532
+ /** 案例唯一标识 */
533
+ case_id: string;
534
+ /** 案例名称 */
535
+ case_name: string;
536
+ /** 案例类型 */
537
+ case_type: CaseType;
538
+ /** 案例描述 */
539
+ description: string;
540
+ /** 默认展示的场景ID */
541
+ default_scene_id: string;
542
+ /** 场景顺序列表(按迭代顺序排列的 scene_id 数组) */
543
+ scene_order: string[];
544
+ /** 场景详情列表 */
545
+ scenes: SceneItemSelfInfo[];
546
+ }
547
+ /**
548
+ * 案例库树结构对象
549
+ */
550
+ interface CaseItem {
551
+ label: string;
552
+ value: string;
553
+ meta: CaseItemMeta;
554
+ children: SceneItem[];
555
+ isLeaf?: boolean;
556
+ isOnline?: boolean;
557
+ [x: string]: any;
558
+ }
559
+ /**
560
+ * 案例库树结构对象元数据
561
+ */
562
+ interface CaseItemMeta {
563
+ case_json?: CaseJsonData;
564
+ evaluation_summary_json?: CaseEvaluationSummaryJsonData;
565
+ }
566
+ /**
567
+ * 案例库多维度评估结果
568
+ */
569
+ interface CaseEvaluationSummaryJsonData {
570
+ /** 案例唯一标识 */
571
+ case_id: string;
572
+ /** 评估方法 */
573
+ evaluation_method: SceneEvaluationMethod;
574
+ /** 场景评估列表 */
575
+ scenes: CaseSceneEvaluation[];
576
+ }
577
+ /**
578
+ * 案例库场景评估节点
579
+ */
580
+ interface CaseSceneEvaluation {
581
+ /** 场景唯一标识 */
582
+ scene_id: string;
583
+ /** 场景显示名称 */
584
+ scene_name: string;
585
+ /** 综合最终得分 */
586
+ final_score: number;
587
+ /** 各维度得分详情 */
588
+ dimension_scores: CaseSceneDimensionScore;
589
+ }
590
+ /**
591
+ * 案例库各维度评分
592
+ */
593
+ interface CaseSceneDimensionScore {
594
+ /** 网络容量评分 */
595
+ network_capacity: number;
596
+ /** 服务质量评分 */
597
+ service_quality: number;
598
+ /** 网络韧性评分 */
599
+ network_resilience: number;
600
+ /** 网络复杂度评分 */
601
+ network_complexity: number;
602
+ [x: string]: number;
603
+ }
604
+
605
+ declare class DirPathDto {
606
+ dir: string;
607
+ isAbsolutePath?: boolean;
608
+ }
609
+
610
+ declare class InitCaseCacheDto {
611
+ dirPaths?: Array<DirPathDto>;
612
+ fileName?: string;
613
+ }
614
+
615
+ declare class ModelDto {
616
+ name: string;
617
+ type: string;
618
+ url: string;
619
+ }
620
+
621
+ declare class SendMessageDto {
622
+ msg: string;
623
+ }
624
+
625
+ /**
626
+ * 基础响应结构
627
+ * 所有 API 响应的通用格式
628
+ */
629
+ interface BaseResponse {
630
+ /** 状态码,通常 200 表示成功,其他表示错误 */
631
+ code: number;
632
+ /** 响应数据,可选 */
633
+ data?: any;
634
+ /** 响应消息或错误描述 */
635
+ message: string;
636
+ }
637
+ /**
638
+ * 库树结构响应
639
+ * 用于返回层级化的树形结构数据(如目录树、模型库树等)
640
+ */
641
+ interface CaseTreeResponse extends BaseResponse {
642
+ /** 树形节点数组 */
643
+ data?: CaseItem[];
644
+ }
645
+ /**
646
+ * 场景详细信息响应
647
+ * 通过场景文件夹路径查询并返回场景详细信息
648
+ */
649
+ interface SceneItemMetaResponse extends BaseResponse {
650
+ /** 树形节点数组 */
651
+ data?: SceneItemMeta;
652
+ }
653
+ /**
654
+ * JSON 文件上传响应
655
+ * 用于返回上传后的文件详细信息
656
+ */
657
+ interface UploadFileResponse extends BaseResponse {
658
+ /** 上传文件的具体信息 */
659
+ data?: {
660
+ /** 原始文件名 */
661
+ originalName: string;
662
+ /** 文件大小(字节) */
663
+ size: number;
664
+ /** 文件 MIME 类型 */
665
+ mimetype: string;
666
+ /** 服务器存储路径 */
667
+ path: string;
668
+ /** 服务器生成的文件名 */
669
+ filename: string;
670
+ };
671
+ }
672
+ /**
673
+ * 模型响应
674
+ * 用于返回单个模型、模型列表或空值
675
+ */
676
+ interface ModelResponse extends BaseResponse {
677
+ /** 模型实体数据,可能是单个对象、数组或 null */
678
+ data?: ModelEntity | ModelEntity[] | null;
679
+ }
680
+
681
+ export { type BaseResponse, type CaseEvaluationSummaryJsonData, type CaseItem, type CaseItemMeta, type CaseJsonData, type CaseSceneDimensionScore, type CaseSceneEvaluation, type CaseTreeResponse, type CaseType, DirPathDto, InitCaseCacheDto, ModelDto, ModelEntity, type ModelResponse, type SceneBulkConfigRule, type SceneCapacity, type SceneChartConfig, type SceneConstellation, type SceneConstellationType, type SceneConstellationsData, type SceneControlCenterNode, type SceneDisplayOptions, type SceneEvaluationChart, type SceneEvaluationData, type SceneEvaluationDimension, type SceneEvaluationFigureAsset, type SceneEvaluationMethod, type SceneEvaluationModel, type SceneFigureAsset, type SceneFinalScore, type SceneFlow, type SceneFlowPriority, type SceneFlowState, type SceneFlowsData, type SceneGatewayNode, type SceneGeoPosition, type SceneItem, type SceneItemMeta, type SceneItemMetaResponse, type SceneItemSelfInfo, type SceneLink, type SceneLinkNodeType, type SceneLinkState, type SceneLinkType, type SceneLinksData, type SceneManifestData, type SceneManifestTime, type SceneMetric, type SceneMetricDirection, type SceneMetricsData, type SceneMetricsSummary, type SceneMobileUserTerminal, type SceneMobilityModel, type SceneNode, type SceneNodeType, type SceneNodesData, type SceneOtherNode, type SceneOtherUserTerminal, type SceneRole, type SceneSatellite, type SceneSatelliteTLE, type SceneSatellitesData, type SceneServiceType, type SceneStaticUserTerminal, type SceneTask, type SceneTaskPriority, type SceneTaskState, type SceneTaskType, type SceneTasksData, type SceneTerminalType, type SceneTimelineData, type SceneTimelineFrame, type SceneTimeseriesPoint, type SceneUserState, type SceneVelocityWGS, SendMessageDto, type UploadFileResponse };