@leaflow/sdk 0.0.0-dev.9.gd1c7e65 → 0.0.0-dev.91.g8a09696

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.
@@ -3,7 +3,7 @@
3
3
  * Do not make direct changes to the file.
4
4
  */
5
5
  export interface paths {
6
- "/api/v1/operation-logs": {
6
+ "/api/v1/tunnel/l4": {
7
7
  parameters: {
8
8
  query?: never;
9
9
  header?: never;
@@ -11,135 +11,29 @@ export interface paths {
11
11
  cookie?: never;
12
12
  };
13
13
  /**
14
- * 查看本项目的操作日志
15
- * @description 记录每一次**写**操作:谁、什么时候、做了什么、成功还是失败。读操作不记录。
14
+ * 查看本项目的四层隧道
15
+ * @description 还没生成过时返回 `TUNNEL_NOT_FOUND`——首屏据此决定画「生成订阅链接」那个按钮还是画结果。
16
16
  *
17
- * `actor` null 表示该操作由平台执行(例如自动重试删除、项目停服)——平台做了什么是看得到的,但具体是哪位运营人员不会展示。
17
+ * 项目未获开放时返回 403 `TUNNEL_NOT_ENTITLED`,那是另一件事:控制台据此把四层隧道的入口整个收起来,而不是画那个按钮。
18
18
  *
19
- * `payload` 只包含路径参数与查询串,且其中像凭据的字段已被替换为占位符。
19
+ * 订阅地址、用量、配额各有自己的接口,这里不重复返回。
20
20
  */
21
- get: operations["list-tunnel-operation-logs"];
21
+ get: operations["get-l4-tunnel"];
22
22
  put?: never;
23
- post?: never;
24
- delete?: never;
25
- options?: never;
26
- head?: never;
27
- patch?: never;
28
- trace?: never;
29
- };
30
- "/api/v1/plans": {
31
- parameters: {
32
- query?: never;
33
- header?: never;
34
- path?: never;
35
- cookie?: never;
36
- };
37
- /**
38
- * 列出可开通的套餐
39
- * @description 只返回在售的套餐,按 `sort` 升序。已下架的不在其中——但正在用它的隧道仍然正常,下架只是不再接新单。
40
- *
41
- * `quota_bytes` 是套餐**标称**的额度,仅供比较;实际额度由上游按线路分组决定,以隧道用量接口返回的 `quota_bytes` 为准。
42
- */
43
- get: operations["list-tunnel-plans"];
44
- put?: never;
45
- post?: never;
46
- delete?: never;
47
- options?: never;
48
- head?: never;
49
- patch?: never;
50
- trace?: never;
51
- };
52
- "/api/v1/tunnel": {
53
- parameters: {
54
- query?: never;
55
- header?: never;
56
- path?: never;
57
- cookie?: never;
58
- };
59
- /**
60
- * 查看本项目的隧道
61
- * @description 每个项目最多一条隧道。尚未开通时返回 404(`TUNNEL_NOT_FOUND`)。
62
- *
63
- * 响应里的 `usage` 是**缓存**的用量,`usage.synced_at` 说明它是什么时候采集的;为 null 表示尚未采集过,而不是用量为零。需要当前值请调用量接口。
64
- *
65
- * **订阅地址不在这里**,它是一条长期有效的凭据,只由订阅接口单独返回。
66
- */
67
- get: operations["get-tunnel"];
68
- put?: never;
69
- /**
70
- * 开通隧道
71
- * @description 为当前项目开通一条隧道,返回时订阅通常处于 `preparing`——节点仍在下发,但**订阅地址此时已经可用**,内容会在拉取那一刻按当时的状态重新派生。
72
- *
73
- * 一个项目只能有一条。已经有了返回 `TUNNEL_ALREADY_OPEN`;上一条还在退订中返回 `TUNNEL_CLOSING`,稍后重试即可。
74
- *
75
- * 套餐必须处于在售状态,已下架的返回 `TUNNEL_PLAN_RETIRED`。若返回 `TUNNEL_PLAN_GROUPS_MISSING`,说明该套餐在上游对应的线路分组不存在——这是一个配置问题,请联系运营,换一款套餐或稍后重试都不会有帮助。
76
- */
77
- post: operations["open-tunnel"];
78
- /**
79
- * 退订隧道
80
- * @description **不可逆。** 上游账户会被删除,订阅地址立刻失效,重新开通得到的是一条全新的隧道和一条全新的订阅地址。
81
- *
82
- * 删除是异步的:返回时 `status` 可能仍是 `deleting`,表示上游还没删干净(通常是某台服务器暂时连不上)。平台会自动重试,期间这条隧道仍然出现在查询接口里。退订完成前无法重新开通。
83
- *
84
- * 只是暂时不用的话请用停用,它保留端口和订阅地址。
85
- */
86
- delete: operations["close-tunnel"];
87
- options?: never;
88
- head?: never;
89
- /**
90
- * 修改隧道的显示信息
91
- * @description 改显示名和联系邮箱,**不影响订阅、用量或线路**。
92
- *
93
- * `email` 不传表示不改动,传空字符串表示清空。它会被转发给上游面板——上游拿它做什么由面板决定,平台不使用它。
94
- */
95
- patch: operations["update-tunnel-profile"];
96
- trace?: never;
97
- };
98
- "/api/v1/tunnel/actions": {
99
- parameters: {
100
- query?: never;
101
- header?: never;
102
- path?: never;
103
- cookie?: never;
104
- };
105
- get?: never;
106
- put?: never;
107
- /**
108
- * 启用或停用隧道
109
- * @description **停用不是退订。** 停用会把这条隧道的实例从上游调度器撤下,但端口保留,重新启用后原样回来,订阅地址也不变。适合「这段时间不用」。
110
- *
111
- * 被平台停用的隧道(`suspended` 为 true)无法自行启用,会返回 `TUNNEL_SUSPENDED`——那通常是欠费或违规,需要先处理对应的问题。
112
- */
113
- post: operations["act-on-tunnel"];
114
- delete?: never;
115
- options?: never;
116
- head?: never;
117
- patch?: never;
118
- trace?: never;
119
- };
120
- "/api/v1/tunnel/plan": {
121
- parameters: {
122
- query?: never;
123
- header?: never;
124
- path?: never;
125
- cookie?: never;
126
- };
127
- get?: never;
128
23
  /**
129
- * 更换套餐
130
- * @description 换套餐会立刻重判线路资格:多出来的线路马上可用,**少掉的那些进入删除队列——宽限期内照常可用,到期才真正释放**。所以换套餐不是一次瞬时切换,订阅内容会在接下来一段时间内变化。
24
+ * 生成四层隧道
25
+ * @description **幂等**:已经有了再调一次返回同一条,不报错。按钮被点两次是安全的。
131
26
  *
132
- * 换完之后建议重新拉取一次订阅。
27
+ * 生成之后请调订阅接口取地址,本接口不返回它。
133
28
  */
134
- put: operations["change-tunnel-plan"];
135
- post?: never;
29
+ post: operations["generate-l4-tunnel"];
136
30
  delete?: never;
137
31
  options?: never;
138
32
  head?: never;
139
33
  patch?: never;
140
34
  trace?: never;
141
35
  };
142
- "/api/v1/tunnel/subscription": {
36
+ "/api/v1/tunnel/l4/subscription": {
143
37
  parameters: {
144
38
  query?: never;
145
39
  header?: never;
@@ -148,15 +42,13 @@ export interface paths {
148
42
  };
149
43
  /**
150
44
  * 获取订阅地址
151
- * @description **返回的是一条长期有效的凭据,等同于密码。** 拿到它就能取得本项目全部节点与密码,请勿转发、截图或提交到工单。
45
+ * @description **这条 URL 是凭据,等同于密码。** 拿着它就能取到这个项目的全部节点和密码,所以它只在这一个接口里出现,一次一条——不进任何列表,也不在隧道详情里。
152
46
  *
153
- * 它不会出现在隧道详情或任何列表里,只由这个接口返回。
47
+ * 客户端不应在用户主动请求之前调用它:这个接口的每一次调用都会被记进操作日志。
154
48
  *
155
- * `status` 为 `preparing` 时链接**照样可用**,内容会在拉取那一刻按当时的状态重新派生。
156
- *
157
- * 怀疑泄露时请调用重置接口。
49
+ * `status` 为 `preparing` 时链接**照样有效**,内容会在拉取那一刻重新派生。它只该影响页面上说什么。
158
50
  */
159
- get: operations["get-tunnel-subscription"];
51
+ get: operations["get-l4-tunnel-subscription"];
160
52
  put?: never;
161
53
  post?: never;
162
54
  delete?: never;
@@ -165,7 +57,7 @@ export interface paths {
165
57
  patch?: never;
166
58
  trace?: never;
167
59
  };
168
- "/api/v1/tunnel/subscription/rotate": {
60
+ "/api/v1/tunnel/l4/subscription/rotate": {
169
61
  parameters: {
170
62
  query?: never;
171
63
  header?: never;
@@ -180,16 +72,18 @@ export interface paths {
180
72
  *
181
73
  * 订阅 token 和节点密码同时更换,所有客户端都必须重新拉取一次订阅才能继续使用。调用前请确认这确实是想要的结果。
182
74
  *
183
- * 重置后再调订阅接口取新地址。
75
+ * 隧道被平台停用时无法重置(`TUNNEL_DISABLED_FOR_ROTATE`),需要先处理停用的原因。
76
+ *
77
+ * 重置后请调订阅接口取新地址,**本接口不返回它**。
184
78
  */
185
- post: operations["rotate-tunnel-subscription"];
79
+ post: operations["rotate-l4-tunnel-subscription"];
186
80
  delete?: never;
187
81
  options?: never;
188
82
  head?: never;
189
83
  patch?: never;
190
84
  trace?: never;
191
85
  };
192
- "/api/v1/tunnel/usage": {
86
+ "/api/v1/tunnel/l4/usage": {
193
87
  parameters: {
194
88
  query?: never;
195
89
  header?: never;
@@ -198,13 +92,11 @@ export interface paths {
198
92
  };
199
93
  /**
200
94
  * 查看本期用量
201
- * @description 现场向上游查询,比隧道详情里那份缓存新。
95
+ * @description 实时查询,不经过缓存。
202
96
  *
203
- * **判断是否超额只看 `billed_bytes`**:线路可以设置倍率(如 1.5× 或 0×),`raw_bytes` 是实际传输量,两者不一定相等。`over_quota` 已经算好。
204
- *
205
- * 用量由上游定期采集,**最多滞后一个采集周期**,适合用量管控,不适合作为计费结算依据。
97
+ * 判断是否超额只看 `billed_bytes`:线路可以设置倍率(如 1.5× 或 0×),`raw_bytes` 是实际传输量,两者不一定相等。`quota_bytes` 为 0 表示不限量。
206
98
  */
207
- get: operations["get-tunnel-usage"];
99
+ get: operations["get-l4-tunnel-usage"];
208
100
  put?: never;
209
101
  post?: never;
210
102
  delete?: never;
@@ -213,7 +105,7 @@ export interface paths {
213
105
  patch?: never;
214
106
  trace?: never;
215
107
  };
216
- "/api/v1/tunnel/usage/series": {
108
+ "/api/v1/tunnel/l4/usage/series": {
217
109
  parameters: {
218
110
  query?: never;
219
111
  header?: never;
@@ -222,13 +114,11 @@ export interface paths {
222
114
  };
223
115
  /**
224
116
  * 查看按天用量
225
- * @description 按**自然日**切分,用于画趋势图。
226
- *
227
- * **没有流量的日子不会出现在结果里**(不补零),画图前需要自行补齐日期轴,否则空档会被连成一条斜线。
117
+ * @description 按自然日切分。没有流量的日子不会出现在结果里(不补零),画图那一侧要自己补齐日期轴——否则一段没人用的日子会被画成一条直接连过去的线,看起来像那几天一直在匀速跑流量。
228
118
  *
229
- * **把这里的天加起来不等于本期用量**,这是有意的:本期用量按计费周期切,而且「重置本期用量」只作用于本期,日汇总一行都不删。两者回答的是不同的问题。
119
+ * 把这里的天加起来**不等于**本期用量,这是有意的:本期按计费周期切,而且「重置本期用量」只作用于本期,日汇总一行都不删。
230
120
  */
231
- get: operations["list-tunnel-usage-series"];
121
+ get: operations["list-l4-tunnel-usage-series"];
232
122
  put?: never;
233
123
  post?: never;
234
124
  delete?: never;
@@ -250,152 +140,6 @@ export interface components {
250
140
  /** Format: int64 */
251
141
  status: number;
252
142
  };
253
- OperationLogResource: {
254
- action: string;
255
- /** @description 操作者的用户 id;null 表示由平台执行 */
256
- actor: string | null;
257
- /** Format: date-time */
258
- created_at: string;
259
- failure: string;
260
- /** Format: uuid */
261
- id: string;
262
- payload: {
263
- [key: string]: unknown;
264
- };
265
- subject_id: string;
266
- subject_type: string;
267
- succeeded: boolean;
268
- };
269
- LengthAwarePageOperationLogResource: {
270
- /** @description 这一页的内容 */
271
- items: components["schemas"]["OperationLogResource"][];
272
- /**
273
- * Format: int64
274
- * @description 这一页最多几条,回显请求里的值
275
- */
276
- limit: number;
277
- /**
278
- * Format: int64
279
- * @description 跳过了多少条,回显请求里的值
280
- */
281
- offset: number;
282
- /**
283
- * Format: int64
284
- * @description 命中的总条数,不只是这一页
285
- */
286
- total: number;
287
- };
288
- TunnelPlanResource: {
289
- description: string;
290
- /** Format: uuid */
291
- id: string;
292
- name: string;
293
- /**
294
- * Format: int64
295
- * @description 套餐标称的流量额度,仅供比较。实际额度以隧道用量接口返回的 quota_bytes 为准
296
- */
297
- quota_bytes: number;
298
- /**
299
- * Format: int64
300
- * @description 货架上的排列顺序,越小越靠前
301
- */
302
- sort: number;
303
- };
304
- TunnelPlanListResponseBody: {
305
- items: components["schemas"]["TunnelPlanResource"][];
306
- };
307
- TunnelUsageSnapshot: {
308
- /**
309
- * Format: int64
310
- * @description 按线路倍率折算后的用量,配额比对以此为准
311
- */
312
- billed_bytes: number;
313
- /** @description billed_bytes 是否已超过 quota_bytes;配额为 0 时恒为 false */
314
- over_quota: boolean;
315
- /**
316
- * Format: int64
317
- * @description 上游给出的真实配额,0 表示不限量
318
- */
319
- quota_bytes: number;
320
- /**
321
- * Format: int64
322
- * @description 实际传输的字节,不用于配额比对
323
- */
324
- raw_bytes: number;
325
- /**
326
- * Format: date-time
327
- * @description 这份用量是什么时候采集的;null 表示尚未采集
328
- */
329
- synced_at: string | null;
330
- /** Format: int64 */
331
- upload_bytes: number;
332
- };
333
- TunnelResource: {
334
- /** Format: date-time */
335
- created_at: string;
336
- display_name: string;
337
- /** @description 转发给上游面板的联系邮箱;平台不使用它 */
338
- email: string | null;
339
- /** @description 用户自己的开关。停用会把实例从调度器撤下,但端口保留,启用后原样回来 */
340
- enabled: boolean;
341
- /** @description 最近一次上游拒绝的说明,仅在存在时非空 */
342
- failure: string | null;
343
- /** Format: uuid */
344
- id: string;
345
- /** Format: uuid */
346
- plan_id: string;
347
- plan_name: string;
348
- /**
349
- * @description deleting 表示已退订但上游尚未删除完成
350
- * @enum {string}
351
- */
352
- status: "active" | "deleting";
353
- /**
354
- * @description preparing 表示节点仍在下发;订阅链接此时照样可用
355
- * @enum {string}
356
- */
357
- subscription_status: "preparing" | "ready";
358
- /**
359
- * Format: int64
360
- * @description 每次重置订阅后递增
361
- */
362
- subscription_version: number;
363
- /** @description 被平台停用(欠费、违规或项目停服)。为 true 时无法自行启用 */
364
- suspended: boolean;
365
- /**
366
- * Format: date-time
367
- * @description 被平台停用的时刻
368
- */
369
- suspended_at: string | null;
370
- usage: components["schemas"]["TunnelUsageSnapshot"];
371
- };
372
- OpenTunnelRequestBody: {
373
- /** @description 这条隧道的名字,只影响显示 */
374
- display_name: string;
375
- /**
376
- * Format: email
377
- * @description 转发给上游面板的联系邮箱,可留空
378
- */
379
- email?: string;
380
- /**
381
- * Format: uuid
382
- * @description 套餐 id,取自 GET /plans
383
- */
384
- plan_id: string;
385
- };
386
- UpdateTunnelProfileRequestBody: {
387
- display_name: string;
388
- /** @description 联系邮箱。不传表示不改动,传空字符串表示清空 */
389
- email?: string | null;
390
- };
391
- ActOnTunnelRequestBody: {
392
- /** @enum {string} */
393
- action: "enable" | "disable";
394
- };
395
- ChangeTunnelPlanRequestBody: {
396
- /** Format: uuid */
397
- plan_id: string;
398
- };
399
143
  SubscriptionResource: {
400
144
  /**
401
145
  * @description ready 表示节点已全部下发;preparing 表示仍在下发——此时链接照样可用
@@ -409,6 +153,23 @@ export interface components {
409
153
  /** Format: int64 */
410
154
  version: number;
411
155
  };
156
+ /** @description 当前项目那条四层隧道。它只回答一个问题:生成过没有。 */
157
+ TunnelResource: {
158
+ /** Format: date-time */
159
+ created_at: string;
160
+ /** @description 隧道当前是否可用。为 false 表示被平台停用(欠费、违规或项目停服),需要先处理停用的原因 */
161
+ enabled: boolean;
162
+ /** Format: uuid */
163
+ id: string;
164
+ };
165
+ UsageDayResource: {
166
+ /** Format: int64 */
167
+ billed_bytes: number;
168
+ /** @description YYYY-MM-DD */
169
+ day: string;
170
+ /** Format: int64 */
171
+ raw_bytes: number;
172
+ };
412
173
  UsageResource: {
413
174
  /**
414
175
  * Format: int64
@@ -443,14 +204,6 @@ export interface components {
443
204
  */
444
205
  usage_percent: number;
445
206
  };
446
- UsageDayResource: {
447
- /** Format: int64 */
448
- billed_bytes: number;
449
- /** @description YYYY-MM-DD */
450
- day: string;
451
- /** Format: int64 */
452
- raw_bytes: number;
453
- };
454
207
  UsageSeriesResource: {
455
208
  /**
456
209
  * Format: int64
@@ -468,72 +221,7 @@ export interface components {
468
221
  }
469
222
  export type $defs = Record<string, never>;
470
223
  export interface operations {
471
- "list-tunnel-operation-logs": {
472
- parameters: {
473
- query?: {
474
- /** @description 这一页最多返回多少条 */
475
- limit?: number;
476
- /** @description 跳过多少条。要翻得更深请改用游标翻页的接口 */
477
- offset?: number;
478
- /** @description 只看某一种操作,取值是接口的 operation id,比如 open-tunnel */
479
- action?: string;
480
- };
481
- header?: never;
482
- path?: never;
483
- cookie?: never;
484
- };
485
- requestBody?: never;
486
- responses: {
487
- /** @description OK */
488
- 200: {
489
- headers: {
490
- [name: string]: unknown;
491
- };
492
- content: {
493
- "application/json": components["schemas"]["LengthAwarePageOperationLogResource"];
494
- };
495
- };
496
- /** @description Error */
497
- default: {
498
- headers: {
499
- [name: string]: unknown;
500
- };
501
- content: {
502
- "application/json": components["schemas"]["Error"];
503
- };
504
- };
505
- };
506
- };
507
- "list-tunnel-plans": {
508
- parameters: {
509
- query?: never;
510
- header?: never;
511
- path?: never;
512
- cookie?: never;
513
- };
514
- requestBody?: never;
515
- responses: {
516
- /** @description OK */
517
- 200: {
518
- headers: {
519
- [name: string]: unknown;
520
- };
521
- content: {
522
- "application/json": components["schemas"]["TunnelPlanListResponseBody"];
523
- };
524
- };
525
- /** @description Error */
526
- default: {
527
- headers: {
528
- [name: string]: unknown;
529
- };
530
- content: {
531
- "application/json": components["schemas"]["Error"];
532
- };
533
- };
534
- };
535
- };
536
- "get-tunnel": {
224
+ "get-l4-tunnel": {
537
225
  parameters: {
538
226
  query?: never;
539
227
  header?: never;
@@ -562,40 +250,7 @@ export interface operations {
562
250
  };
563
251
  };
564
252
  };
565
- "open-tunnel": {
566
- parameters: {
567
- query?: never;
568
- header?: never;
569
- path?: never;
570
- cookie?: never;
571
- };
572
- requestBody: {
573
- content: {
574
- "application/json": components["schemas"]["OpenTunnelRequestBody"];
575
- };
576
- };
577
- responses: {
578
- /** @description Created */
579
- 201: {
580
- headers: {
581
- [name: string]: unknown;
582
- };
583
- content: {
584
- "application/json": components["schemas"]["TunnelResource"];
585
- };
586
- };
587
- /** @description Error */
588
- default: {
589
- headers: {
590
- [name: string]: unknown;
591
- };
592
- content: {
593
- "application/json": components["schemas"]["Error"];
594
- };
595
- };
596
- };
597
- };
598
- "close-tunnel": {
253
+ "generate-l4-tunnel": {
599
254
  parameters: {
600
255
  query?: never;
601
256
  header?: never;
@@ -624,106 +279,7 @@ export interface operations {
624
279
  };
625
280
  };
626
281
  };
627
- "update-tunnel-profile": {
628
- parameters: {
629
- query?: never;
630
- header?: never;
631
- path?: never;
632
- cookie?: never;
633
- };
634
- requestBody: {
635
- content: {
636
- "application/json": components["schemas"]["UpdateTunnelProfileRequestBody"];
637
- };
638
- };
639
- responses: {
640
- /** @description OK */
641
- 200: {
642
- headers: {
643
- [name: string]: unknown;
644
- };
645
- content: {
646
- "application/json": components["schemas"]["TunnelResource"];
647
- };
648
- };
649
- /** @description Error */
650
- default: {
651
- headers: {
652
- [name: string]: unknown;
653
- };
654
- content: {
655
- "application/json": components["schemas"]["Error"];
656
- };
657
- };
658
- };
659
- };
660
- "act-on-tunnel": {
661
- parameters: {
662
- query?: never;
663
- header?: never;
664
- path?: never;
665
- cookie?: never;
666
- };
667
- requestBody: {
668
- content: {
669
- "application/json": components["schemas"]["ActOnTunnelRequestBody"];
670
- };
671
- };
672
- responses: {
673
- /** @description OK */
674
- 200: {
675
- headers: {
676
- [name: string]: unknown;
677
- };
678
- content: {
679
- "application/json": components["schemas"]["TunnelResource"];
680
- };
681
- };
682
- /** @description Error */
683
- default: {
684
- headers: {
685
- [name: string]: unknown;
686
- };
687
- content: {
688
- "application/json": components["schemas"]["Error"];
689
- };
690
- };
691
- };
692
- };
693
- "change-tunnel-plan": {
694
- parameters: {
695
- query?: never;
696
- header?: never;
697
- path?: never;
698
- cookie?: never;
699
- };
700
- requestBody: {
701
- content: {
702
- "application/json": components["schemas"]["ChangeTunnelPlanRequestBody"];
703
- };
704
- };
705
- responses: {
706
- /** @description OK */
707
- 200: {
708
- headers: {
709
- [name: string]: unknown;
710
- };
711
- content: {
712
- "application/json": components["schemas"]["TunnelResource"];
713
- };
714
- };
715
- /** @description Error */
716
- default: {
717
- headers: {
718
- [name: string]: unknown;
719
- };
720
- content: {
721
- "application/json": components["schemas"]["Error"];
722
- };
723
- };
724
- };
725
- };
726
- "get-tunnel-subscription": {
282
+ "get-l4-tunnel-subscription": {
727
283
  parameters: {
728
284
  query?: never;
729
285
  header?: never;
@@ -752,7 +308,7 @@ export interface operations {
752
308
  };
753
309
  };
754
310
  };
755
- "rotate-tunnel-subscription": {
311
+ "rotate-l4-tunnel-subscription": {
756
312
  parameters: {
757
313
  query?: never;
758
314
  header?: never;
@@ -781,7 +337,7 @@ export interface operations {
781
337
  };
782
338
  };
783
339
  };
784
- "get-tunnel-usage": {
340
+ "get-l4-tunnel-usage": {
785
341
  parameters: {
786
342
  query?: never;
787
343
  header?: never;
@@ -810,10 +366,10 @@ export interface operations {
810
366
  };
811
367
  };
812
368
  };
813
- "list-tunnel-usage-series": {
369
+ "list-l4-tunnel-usage-series": {
814
370
  parameters: {
815
371
  query?: {
816
- /** @description 取最近多少天,0 表示用上游的默认值(30)。上游只接受 1–365,超出会被它夹住 */
372
+ /** @description 取最近多少天。0 表示用上游的默认值(30)——上游只接受 1–365,超出会被它夹住 */
817
373
  days?: number;
818
374
  };
819
375
  header?: never;