@waiaas/core 2.9.1-rc → 2.10.0-rc

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.
Files changed (43) hide show
  1. package/dist/errors/error-codes.d.ts +49 -0
  2. package/dist/errors/error-codes.d.ts.map +1 -1
  3. package/dist/errors/error-codes.js +52 -0
  4. package/dist/errors/error-codes.js.map +1 -1
  5. package/dist/i18n/en.d.ts.map +1 -1
  6. package/dist/i18n/en.js +10 -0
  7. package/dist/i18n/en.js.map +1 -1
  8. package/dist/i18n/ko.d.ts.map +1 -1
  9. package/dist/i18n/ko.js +10 -0
  10. package/dist/i18n/ko.js.map +1 -1
  11. package/dist/index.d.ts +2 -1
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +9 -1
  14. package/dist/index.js.map +1 -1
  15. package/dist/interfaces/action-provider.types.d.ts +2 -2
  16. package/dist/interfaces/lending-provider.types.d.ts +2 -2
  17. package/dist/interfaces/perp-provider.types.d.ts +2 -2
  18. package/dist/metrics/metrics-counter.d.ts +31 -0
  19. package/dist/metrics/metrics-counter.d.ts.map +1 -0
  20. package/dist/metrics/metrics-counter.js +10 -0
  21. package/dist/metrics/metrics-counter.js.map +1 -0
  22. package/dist/schemas/admin-stats.schema.d.ts +612 -0
  23. package/dist/schemas/admin-stats.schema.d.ts.map +1 -0
  24. package/dist/schemas/admin-stats.schema.js +105 -0
  25. package/dist/schemas/admin-stats.schema.js.map +1 -0
  26. package/dist/schemas/audit.schema.d.ts +158 -0
  27. package/dist/schemas/audit.schema.d.ts.map +1 -0
  28. package/dist/schemas/audit.schema.js +82 -0
  29. package/dist/schemas/audit.schema.js.map +1 -0
  30. package/dist/schemas/index.d.ts +4 -0
  31. package/dist/schemas/index.d.ts.map +1 -1
  32. package/dist/schemas/index.js +8 -0
  33. package/dist/schemas/index.js.map +1 -1
  34. package/dist/schemas/signing-protocol.d.ts +12 -12
  35. package/dist/schemas/simulation.schema.d.ts +408 -0
  36. package/dist/schemas/simulation.schema.d.ts.map +1 -0
  37. package/dist/schemas/simulation.schema.js +103 -0
  38. package/dist/schemas/simulation.schema.js.map +1 -0
  39. package/dist/schemas/webhook.schema.d.ts +132 -0
  40. package/dist/schemas/webhook.schema.d.ts.map +1 -0
  41. package/dist/schemas/webhook.schema.js +67 -0
  42. package/dist/schemas/webhook.schema.js.map +1 -0
  43. package/package.json +1 -1
@@ -0,0 +1,612 @@
1
+ /**
2
+ * Admin Stats + AutoStop Rules Zod SSoT schemas.
3
+ *
4
+ * AdminStatsResponseSchema: 7-category operational statistics.
5
+ * AutoStopRulesResponseSchema: AutoStop rule list with per-rule status.
6
+ * UpdateAutoStopRuleRequestSchema: Per-rule enable/config update.
7
+ *
8
+ * @see STAT-01, PLUG-03 requirements
9
+ */
10
+ import { z } from 'zod';
11
+ export declare const AdminStatsTransactionsSchema: z.ZodObject<{
12
+ total: z.ZodNumber;
13
+ byStatus: z.ZodRecord<z.ZodString, z.ZodNumber>;
14
+ byType: z.ZodRecord<z.ZodString, z.ZodNumber>;
15
+ last24h: z.ZodObject<{
16
+ count: z.ZodNumber;
17
+ totalUsd: z.ZodNullable<z.ZodNumber>;
18
+ }, "strip", z.ZodTypeAny, {
19
+ count: number;
20
+ totalUsd: number | null;
21
+ }, {
22
+ count: number;
23
+ totalUsd: number | null;
24
+ }>;
25
+ last7d: z.ZodObject<{
26
+ count: z.ZodNumber;
27
+ totalUsd: z.ZodNullable<z.ZodNumber>;
28
+ }, "strip", z.ZodTypeAny, {
29
+ count: number;
30
+ totalUsd: number | null;
31
+ }, {
32
+ count: number;
33
+ totalUsd: number | null;
34
+ }>;
35
+ }, "strip", z.ZodTypeAny, {
36
+ total: number;
37
+ byStatus: Record<string, number>;
38
+ byType: Record<string, number>;
39
+ last24h: {
40
+ count: number;
41
+ totalUsd: number | null;
42
+ };
43
+ last7d: {
44
+ count: number;
45
+ totalUsd: number | null;
46
+ };
47
+ }, {
48
+ total: number;
49
+ byStatus: Record<string, number>;
50
+ byType: Record<string, number>;
51
+ last24h: {
52
+ count: number;
53
+ totalUsd: number | null;
54
+ };
55
+ last7d: {
56
+ count: number;
57
+ totalUsd: number | null;
58
+ };
59
+ }>;
60
+ export declare const AdminStatsSessionsSchema: z.ZodObject<{
61
+ active: z.ZodNumber;
62
+ total: z.ZodNumber;
63
+ revokedLast24h: z.ZodNumber;
64
+ }, "strip", z.ZodTypeAny, {
65
+ total: number;
66
+ active: number;
67
+ revokedLast24h: number;
68
+ }, {
69
+ total: number;
70
+ active: number;
71
+ revokedLast24h: number;
72
+ }>;
73
+ export declare const AdminStatsWalletsSchema: z.ZodObject<{
74
+ total: z.ZodNumber;
75
+ byStatus: z.ZodRecord<z.ZodString, z.ZodNumber>;
76
+ withOwner: z.ZodNumber;
77
+ }, "strip", z.ZodTypeAny, {
78
+ total: number;
79
+ byStatus: Record<string, number>;
80
+ withOwner: number;
81
+ }, {
82
+ total: number;
83
+ byStatus: Record<string, number>;
84
+ withOwner: number;
85
+ }>;
86
+ export declare const AdminStatsRpcSchema: z.ZodObject<{
87
+ totalCalls: z.ZodNumber;
88
+ totalErrors: z.ZodNumber;
89
+ avgLatencyMs: z.ZodNumber;
90
+ byNetwork: z.ZodArray<z.ZodObject<{
91
+ network: z.ZodString;
92
+ calls: z.ZodNumber;
93
+ errors: z.ZodNumber;
94
+ avgLatencyMs: z.ZodNumber;
95
+ }, "strip", z.ZodTypeAny, {
96
+ network: string;
97
+ avgLatencyMs: number;
98
+ calls: number;
99
+ errors: number;
100
+ }, {
101
+ network: string;
102
+ avgLatencyMs: number;
103
+ calls: number;
104
+ errors: number;
105
+ }>, "many">;
106
+ }, "strip", z.ZodTypeAny, {
107
+ totalCalls: number;
108
+ totalErrors: number;
109
+ avgLatencyMs: number;
110
+ byNetwork: {
111
+ network: string;
112
+ avgLatencyMs: number;
113
+ calls: number;
114
+ errors: number;
115
+ }[];
116
+ }, {
117
+ totalCalls: number;
118
+ totalErrors: number;
119
+ avgLatencyMs: number;
120
+ byNetwork: {
121
+ network: string;
122
+ avgLatencyMs: number;
123
+ calls: number;
124
+ errors: number;
125
+ }[];
126
+ }>;
127
+ export declare const AdminStatsAutoStopSchema: z.ZodObject<{
128
+ enabled: z.ZodBoolean;
129
+ triggeredTotal: z.ZodNumber;
130
+ rules: z.ZodArray<z.ZodObject<{
131
+ id: z.ZodString;
132
+ displayName: z.ZodString;
133
+ enabled: z.ZodBoolean;
134
+ trackedCount: z.ZodNumber;
135
+ }, "strip", z.ZodTypeAny, {
136
+ id: string;
137
+ enabled: boolean;
138
+ displayName: string;
139
+ trackedCount: number;
140
+ }, {
141
+ id: string;
142
+ enabled: boolean;
143
+ displayName: string;
144
+ trackedCount: number;
145
+ }>, "many">;
146
+ lastTriggeredAt: z.ZodNullable<z.ZodNumber>;
147
+ }, "strip", z.ZodTypeAny, {
148
+ enabled: boolean;
149
+ rules: {
150
+ id: string;
151
+ enabled: boolean;
152
+ displayName: string;
153
+ trackedCount: number;
154
+ }[];
155
+ triggeredTotal: number;
156
+ lastTriggeredAt: number | null;
157
+ }, {
158
+ enabled: boolean;
159
+ rules: {
160
+ id: string;
161
+ enabled: boolean;
162
+ displayName: string;
163
+ trackedCount: number;
164
+ }[];
165
+ triggeredTotal: number;
166
+ lastTriggeredAt: number | null;
167
+ }>;
168
+ export declare const AdminStatsNotificationsSchema: z.ZodObject<{
169
+ sentLast24h: z.ZodNumber;
170
+ failedLast24h: z.ZodNumber;
171
+ channelStatus: z.ZodRecord<z.ZodString, z.ZodString>;
172
+ }, "strip", z.ZodTypeAny, {
173
+ sentLast24h: number;
174
+ failedLast24h: number;
175
+ channelStatus: Record<string, string>;
176
+ }, {
177
+ sentLast24h: number;
178
+ failedLast24h: number;
179
+ channelStatus: Record<string, string>;
180
+ }>;
181
+ export declare const AdminStatsSystemSchema: z.ZodObject<{
182
+ uptimeSeconds: z.ZodNumber;
183
+ version: z.ZodString;
184
+ schemaVersion: z.ZodNumber;
185
+ dbSizeBytes: z.ZodNumber;
186
+ nodeVersion: z.ZodString;
187
+ platform: z.ZodString;
188
+ timestamp: z.ZodNumber;
189
+ }, "strip", z.ZodTypeAny, {
190
+ timestamp: number;
191
+ uptimeSeconds: number;
192
+ version: string;
193
+ schemaVersion: number;
194
+ dbSizeBytes: number;
195
+ nodeVersion: string;
196
+ platform: string;
197
+ }, {
198
+ timestamp: number;
199
+ uptimeSeconds: number;
200
+ version: string;
201
+ schemaVersion: number;
202
+ dbSizeBytes: number;
203
+ nodeVersion: string;
204
+ platform: string;
205
+ }>;
206
+ export declare const AdminStatsResponseSchema: z.ZodObject<{
207
+ transactions: z.ZodObject<{
208
+ total: z.ZodNumber;
209
+ byStatus: z.ZodRecord<z.ZodString, z.ZodNumber>;
210
+ byType: z.ZodRecord<z.ZodString, z.ZodNumber>;
211
+ last24h: z.ZodObject<{
212
+ count: z.ZodNumber;
213
+ totalUsd: z.ZodNullable<z.ZodNumber>;
214
+ }, "strip", z.ZodTypeAny, {
215
+ count: number;
216
+ totalUsd: number | null;
217
+ }, {
218
+ count: number;
219
+ totalUsd: number | null;
220
+ }>;
221
+ last7d: z.ZodObject<{
222
+ count: z.ZodNumber;
223
+ totalUsd: z.ZodNullable<z.ZodNumber>;
224
+ }, "strip", z.ZodTypeAny, {
225
+ count: number;
226
+ totalUsd: number | null;
227
+ }, {
228
+ count: number;
229
+ totalUsd: number | null;
230
+ }>;
231
+ }, "strip", z.ZodTypeAny, {
232
+ total: number;
233
+ byStatus: Record<string, number>;
234
+ byType: Record<string, number>;
235
+ last24h: {
236
+ count: number;
237
+ totalUsd: number | null;
238
+ };
239
+ last7d: {
240
+ count: number;
241
+ totalUsd: number | null;
242
+ };
243
+ }, {
244
+ total: number;
245
+ byStatus: Record<string, number>;
246
+ byType: Record<string, number>;
247
+ last24h: {
248
+ count: number;
249
+ totalUsd: number | null;
250
+ };
251
+ last7d: {
252
+ count: number;
253
+ totalUsd: number | null;
254
+ };
255
+ }>;
256
+ sessions: z.ZodObject<{
257
+ active: z.ZodNumber;
258
+ total: z.ZodNumber;
259
+ revokedLast24h: z.ZodNumber;
260
+ }, "strip", z.ZodTypeAny, {
261
+ total: number;
262
+ active: number;
263
+ revokedLast24h: number;
264
+ }, {
265
+ total: number;
266
+ active: number;
267
+ revokedLast24h: number;
268
+ }>;
269
+ wallets: z.ZodObject<{
270
+ total: z.ZodNumber;
271
+ byStatus: z.ZodRecord<z.ZodString, z.ZodNumber>;
272
+ withOwner: z.ZodNumber;
273
+ }, "strip", z.ZodTypeAny, {
274
+ total: number;
275
+ byStatus: Record<string, number>;
276
+ withOwner: number;
277
+ }, {
278
+ total: number;
279
+ byStatus: Record<string, number>;
280
+ withOwner: number;
281
+ }>;
282
+ rpc: z.ZodObject<{
283
+ totalCalls: z.ZodNumber;
284
+ totalErrors: z.ZodNumber;
285
+ avgLatencyMs: z.ZodNumber;
286
+ byNetwork: z.ZodArray<z.ZodObject<{
287
+ network: z.ZodString;
288
+ calls: z.ZodNumber;
289
+ errors: z.ZodNumber;
290
+ avgLatencyMs: z.ZodNumber;
291
+ }, "strip", z.ZodTypeAny, {
292
+ network: string;
293
+ avgLatencyMs: number;
294
+ calls: number;
295
+ errors: number;
296
+ }, {
297
+ network: string;
298
+ avgLatencyMs: number;
299
+ calls: number;
300
+ errors: number;
301
+ }>, "many">;
302
+ }, "strip", z.ZodTypeAny, {
303
+ totalCalls: number;
304
+ totalErrors: number;
305
+ avgLatencyMs: number;
306
+ byNetwork: {
307
+ network: string;
308
+ avgLatencyMs: number;
309
+ calls: number;
310
+ errors: number;
311
+ }[];
312
+ }, {
313
+ totalCalls: number;
314
+ totalErrors: number;
315
+ avgLatencyMs: number;
316
+ byNetwork: {
317
+ network: string;
318
+ avgLatencyMs: number;
319
+ calls: number;
320
+ errors: number;
321
+ }[];
322
+ }>;
323
+ autostop: z.ZodObject<{
324
+ enabled: z.ZodBoolean;
325
+ triggeredTotal: z.ZodNumber;
326
+ rules: z.ZodArray<z.ZodObject<{
327
+ id: z.ZodString;
328
+ displayName: z.ZodString;
329
+ enabled: z.ZodBoolean;
330
+ trackedCount: z.ZodNumber;
331
+ }, "strip", z.ZodTypeAny, {
332
+ id: string;
333
+ enabled: boolean;
334
+ displayName: string;
335
+ trackedCount: number;
336
+ }, {
337
+ id: string;
338
+ enabled: boolean;
339
+ displayName: string;
340
+ trackedCount: number;
341
+ }>, "many">;
342
+ lastTriggeredAt: z.ZodNullable<z.ZodNumber>;
343
+ }, "strip", z.ZodTypeAny, {
344
+ enabled: boolean;
345
+ rules: {
346
+ id: string;
347
+ enabled: boolean;
348
+ displayName: string;
349
+ trackedCount: number;
350
+ }[];
351
+ triggeredTotal: number;
352
+ lastTriggeredAt: number | null;
353
+ }, {
354
+ enabled: boolean;
355
+ rules: {
356
+ id: string;
357
+ enabled: boolean;
358
+ displayName: string;
359
+ trackedCount: number;
360
+ }[];
361
+ triggeredTotal: number;
362
+ lastTriggeredAt: number | null;
363
+ }>;
364
+ notifications: z.ZodObject<{
365
+ sentLast24h: z.ZodNumber;
366
+ failedLast24h: z.ZodNumber;
367
+ channelStatus: z.ZodRecord<z.ZodString, z.ZodString>;
368
+ }, "strip", z.ZodTypeAny, {
369
+ sentLast24h: number;
370
+ failedLast24h: number;
371
+ channelStatus: Record<string, string>;
372
+ }, {
373
+ sentLast24h: number;
374
+ failedLast24h: number;
375
+ channelStatus: Record<string, string>;
376
+ }>;
377
+ system: z.ZodObject<{
378
+ uptimeSeconds: z.ZodNumber;
379
+ version: z.ZodString;
380
+ schemaVersion: z.ZodNumber;
381
+ dbSizeBytes: z.ZodNumber;
382
+ nodeVersion: z.ZodString;
383
+ platform: z.ZodString;
384
+ timestamp: z.ZodNumber;
385
+ }, "strip", z.ZodTypeAny, {
386
+ timestamp: number;
387
+ uptimeSeconds: number;
388
+ version: string;
389
+ schemaVersion: number;
390
+ dbSizeBytes: number;
391
+ nodeVersion: string;
392
+ platform: string;
393
+ }, {
394
+ timestamp: number;
395
+ uptimeSeconds: number;
396
+ version: string;
397
+ schemaVersion: number;
398
+ dbSizeBytes: number;
399
+ nodeVersion: string;
400
+ platform: string;
401
+ }>;
402
+ }, "strip", z.ZodTypeAny, {
403
+ transactions: {
404
+ total: number;
405
+ byStatus: Record<string, number>;
406
+ byType: Record<string, number>;
407
+ last24h: {
408
+ count: number;
409
+ totalUsd: number | null;
410
+ };
411
+ last7d: {
412
+ count: number;
413
+ totalUsd: number | null;
414
+ };
415
+ };
416
+ sessions: {
417
+ total: number;
418
+ active: number;
419
+ revokedLast24h: number;
420
+ };
421
+ wallets: {
422
+ total: number;
423
+ byStatus: Record<string, number>;
424
+ withOwner: number;
425
+ };
426
+ rpc: {
427
+ totalCalls: number;
428
+ totalErrors: number;
429
+ avgLatencyMs: number;
430
+ byNetwork: {
431
+ network: string;
432
+ avgLatencyMs: number;
433
+ calls: number;
434
+ errors: number;
435
+ }[];
436
+ };
437
+ autostop: {
438
+ enabled: boolean;
439
+ rules: {
440
+ id: string;
441
+ enabled: boolean;
442
+ displayName: string;
443
+ trackedCount: number;
444
+ }[];
445
+ triggeredTotal: number;
446
+ lastTriggeredAt: number | null;
447
+ };
448
+ notifications: {
449
+ sentLast24h: number;
450
+ failedLast24h: number;
451
+ channelStatus: Record<string, string>;
452
+ };
453
+ system: {
454
+ timestamp: number;
455
+ uptimeSeconds: number;
456
+ version: string;
457
+ schemaVersion: number;
458
+ dbSizeBytes: number;
459
+ nodeVersion: string;
460
+ platform: string;
461
+ };
462
+ }, {
463
+ transactions: {
464
+ total: number;
465
+ byStatus: Record<string, number>;
466
+ byType: Record<string, number>;
467
+ last24h: {
468
+ count: number;
469
+ totalUsd: number | null;
470
+ };
471
+ last7d: {
472
+ count: number;
473
+ totalUsd: number | null;
474
+ };
475
+ };
476
+ sessions: {
477
+ total: number;
478
+ active: number;
479
+ revokedLast24h: number;
480
+ };
481
+ wallets: {
482
+ total: number;
483
+ byStatus: Record<string, number>;
484
+ withOwner: number;
485
+ };
486
+ rpc: {
487
+ totalCalls: number;
488
+ totalErrors: number;
489
+ avgLatencyMs: number;
490
+ byNetwork: {
491
+ network: string;
492
+ avgLatencyMs: number;
493
+ calls: number;
494
+ errors: number;
495
+ }[];
496
+ };
497
+ autostop: {
498
+ enabled: boolean;
499
+ rules: {
500
+ id: string;
501
+ enabled: boolean;
502
+ displayName: string;
503
+ trackedCount: number;
504
+ }[];
505
+ triggeredTotal: number;
506
+ lastTriggeredAt: number | null;
507
+ };
508
+ notifications: {
509
+ sentLast24h: number;
510
+ failedLast24h: number;
511
+ channelStatus: Record<string, string>;
512
+ };
513
+ system: {
514
+ timestamp: number;
515
+ uptimeSeconds: number;
516
+ version: string;
517
+ schemaVersion: number;
518
+ dbSizeBytes: number;
519
+ nodeVersion: string;
520
+ platform: string;
521
+ };
522
+ }>;
523
+ export type AdminStatsResponse = z.infer<typeof AdminStatsResponseSchema>;
524
+ export declare const AutoStopRuleInfoSchema: z.ZodObject<{
525
+ id: z.ZodString;
526
+ displayName: z.ZodString;
527
+ description: z.ZodString;
528
+ enabled: z.ZodBoolean;
529
+ subscribedEvents: z.ZodArray<z.ZodString, "many">;
530
+ config: z.ZodRecord<z.ZodString, z.ZodUnknown>;
531
+ state: z.ZodRecord<z.ZodString, z.ZodUnknown>;
532
+ }, "strip", z.ZodTypeAny, {
533
+ id: string;
534
+ enabled: boolean;
535
+ description: string;
536
+ displayName: string;
537
+ subscribedEvents: string[];
538
+ config: Record<string, unknown>;
539
+ state: Record<string, unknown>;
540
+ }, {
541
+ id: string;
542
+ enabled: boolean;
543
+ description: string;
544
+ displayName: string;
545
+ subscribedEvents: string[];
546
+ config: Record<string, unknown>;
547
+ state: Record<string, unknown>;
548
+ }>;
549
+ export type AutoStopRuleInfo = z.infer<typeof AutoStopRuleInfoSchema>;
550
+ export declare const AutoStopRulesResponseSchema: z.ZodObject<{
551
+ globalEnabled: z.ZodBoolean;
552
+ rules: z.ZodArray<z.ZodObject<{
553
+ id: z.ZodString;
554
+ displayName: z.ZodString;
555
+ description: z.ZodString;
556
+ enabled: z.ZodBoolean;
557
+ subscribedEvents: z.ZodArray<z.ZodString, "many">;
558
+ config: z.ZodRecord<z.ZodString, z.ZodUnknown>;
559
+ state: z.ZodRecord<z.ZodString, z.ZodUnknown>;
560
+ }, "strip", z.ZodTypeAny, {
561
+ id: string;
562
+ enabled: boolean;
563
+ description: string;
564
+ displayName: string;
565
+ subscribedEvents: string[];
566
+ config: Record<string, unknown>;
567
+ state: Record<string, unknown>;
568
+ }, {
569
+ id: string;
570
+ enabled: boolean;
571
+ description: string;
572
+ displayName: string;
573
+ subscribedEvents: string[];
574
+ config: Record<string, unknown>;
575
+ state: Record<string, unknown>;
576
+ }>, "many">;
577
+ }, "strip", z.ZodTypeAny, {
578
+ rules: {
579
+ id: string;
580
+ enabled: boolean;
581
+ description: string;
582
+ displayName: string;
583
+ subscribedEvents: string[];
584
+ config: Record<string, unknown>;
585
+ state: Record<string, unknown>;
586
+ }[];
587
+ globalEnabled: boolean;
588
+ }, {
589
+ rules: {
590
+ id: string;
591
+ enabled: boolean;
592
+ description: string;
593
+ displayName: string;
594
+ subscribedEvents: string[];
595
+ config: Record<string, unknown>;
596
+ state: Record<string, unknown>;
597
+ }[];
598
+ globalEnabled: boolean;
599
+ }>;
600
+ export type AutoStopRulesResponse = z.infer<typeof AutoStopRulesResponseSchema>;
601
+ export declare const UpdateAutoStopRuleRequestSchema: z.ZodObject<{
602
+ enabled: z.ZodOptional<z.ZodBoolean>;
603
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
604
+ }, "strip", z.ZodTypeAny, {
605
+ enabled?: boolean | undefined;
606
+ config?: Record<string, unknown> | undefined;
607
+ }, {
608
+ enabled?: boolean | undefined;
609
+ config?: Record<string, unknown> | undefined;
610
+ }>;
611
+ export type UpdateAutoStopRuleRequest = z.infer<typeof UpdateAutoStopRuleRequestSchema>;
612
+ //# sourceMappingURL=admin-stats.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-stats.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/admin-stats.schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMvC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;EAInC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;EAIlC,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU9B,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUnC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;EAIxC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;EAQjC,CAAC;AAMH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQnC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAM1E,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;EAQjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAMtE,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGtC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAMhF,eAAO,MAAM,+BAA+B;;;;;;;;;EAG1C,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC"}
@@ -0,0 +1,105 @@
1
+ /**
2
+ * Admin Stats + AutoStop Rules Zod SSoT schemas.
3
+ *
4
+ * AdminStatsResponseSchema: 7-category operational statistics.
5
+ * AutoStopRulesResponseSchema: AutoStop rule list with per-rule status.
6
+ * UpdateAutoStopRuleRequestSchema: Per-rule enable/config update.
7
+ *
8
+ * @see STAT-01, PLUG-03 requirements
9
+ */
10
+ import { z } from 'zod';
11
+ // ---------------------------------------------------------------------------
12
+ // Stats sub-schemas (7 categories)
13
+ // ---------------------------------------------------------------------------
14
+ export const AdminStatsTransactionsSchema = z.object({
15
+ total: z.number(),
16
+ byStatus: z.record(z.number()),
17
+ byType: z.record(z.number()),
18
+ last24h: z.object({ count: z.number(), totalUsd: z.number().nullable() }),
19
+ last7d: z.object({ count: z.number(), totalUsd: z.number().nullable() }),
20
+ });
21
+ export const AdminStatsSessionsSchema = z.object({
22
+ active: z.number(),
23
+ total: z.number(),
24
+ revokedLast24h: z.number(),
25
+ });
26
+ export const AdminStatsWalletsSchema = z.object({
27
+ total: z.number(),
28
+ byStatus: z.record(z.number()),
29
+ withOwner: z.number(),
30
+ });
31
+ export const AdminStatsRpcSchema = z.object({
32
+ totalCalls: z.number(),
33
+ totalErrors: z.number(),
34
+ avgLatencyMs: z.number(),
35
+ byNetwork: z.array(z.object({
36
+ network: z.string(),
37
+ calls: z.number(),
38
+ errors: z.number(),
39
+ avgLatencyMs: z.number(),
40
+ })),
41
+ });
42
+ export const AdminStatsAutoStopSchema = z.object({
43
+ enabled: z.boolean(),
44
+ triggeredTotal: z.number(),
45
+ rules: z.array(z.object({
46
+ id: z.string(),
47
+ displayName: z.string(),
48
+ enabled: z.boolean(),
49
+ trackedCount: z.number(),
50
+ })),
51
+ lastTriggeredAt: z.number().nullable(),
52
+ });
53
+ export const AdminStatsNotificationsSchema = z.object({
54
+ sentLast24h: z.number(),
55
+ failedLast24h: z.number(),
56
+ channelStatus: z.record(z.string()),
57
+ });
58
+ export const AdminStatsSystemSchema = z.object({
59
+ uptimeSeconds: z.number(),
60
+ version: z.string(),
61
+ schemaVersion: z.number(),
62
+ dbSizeBytes: z.number(),
63
+ nodeVersion: z.string(),
64
+ platform: z.string(),
65
+ timestamp: z.number(),
66
+ });
67
+ // ---------------------------------------------------------------------------
68
+ // AdminStatsResponse (7 categories combined)
69
+ // ---------------------------------------------------------------------------
70
+ export const AdminStatsResponseSchema = z.object({
71
+ transactions: AdminStatsTransactionsSchema,
72
+ sessions: AdminStatsSessionsSchema,
73
+ wallets: AdminStatsWalletsSchema,
74
+ rpc: AdminStatsRpcSchema,
75
+ autostop: AdminStatsAutoStopSchema,
76
+ notifications: AdminStatsNotificationsSchema,
77
+ system: AdminStatsSystemSchema,
78
+ });
79
+ // ---------------------------------------------------------------------------
80
+ // AutoStop Rule Info
81
+ // ---------------------------------------------------------------------------
82
+ export const AutoStopRuleInfoSchema = z.object({
83
+ id: z.string(),
84
+ displayName: z.string(),
85
+ description: z.string(),
86
+ enabled: z.boolean(),
87
+ subscribedEvents: z.array(z.string()),
88
+ config: z.record(z.unknown()),
89
+ state: z.record(z.unknown()),
90
+ });
91
+ // ---------------------------------------------------------------------------
92
+ // AutoStop Rules Response
93
+ // ---------------------------------------------------------------------------
94
+ export const AutoStopRulesResponseSchema = z.object({
95
+ globalEnabled: z.boolean(),
96
+ rules: z.array(AutoStopRuleInfoSchema),
97
+ });
98
+ // ---------------------------------------------------------------------------
99
+ // Update AutoStop Rule Request
100
+ // ---------------------------------------------------------------------------
101
+ export const UpdateAutoStopRuleRequestSchema = z.object({
102
+ enabled: z.boolean().optional(),
103
+ config: z.record(z.unknown()).optional(),
104
+ });
105
+ //# sourceMappingURL=admin-stats.schema.js.map