shokupan 0.9.0 → 0.10.1

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 (49) hide show
  1. package/dist/analyzer-BqIe1p0R.js +35 -0
  2. package/dist/analyzer-BqIe1p0R.js.map +1 -0
  3. package/dist/analyzer-CKLGLFtx.cjs +35 -0
  4. package/dist/analyzer-CKLGLFtx.cjs.map +1 -0
  5. package/dist/{analyzer-Ce_7JxZh.js → analyzer.impl-CV6W1Eq7.js} +238 -21
  6. package/dist/analyzer.impl-CV6W1Eq7.js.map +1 -0
  7. package/dist/{analyzer-Bei1sVWp.cjs → analyzer.impl-D9Yi1Hax.cjs} +237 -20
  8. package/dist/analyzer.impl-D9Yi1Hax.cjs.map +1 -0
  9. package/dist/cli.cjs +1 -1
  10. package/dist/cli.js +1 -1
  11. package/dist/context.d.ts +19 -7
  12. package/dist/http-server-BEMPIs33.cjs.map +1 -1
  13. package/dist/http-server-CCeagTyU.js.map +1 -1
  14. package/dist/index.cjs +1500 -275
  15. package/dist/index.cjs.map +1 -1
  16. package/dist/index.d.ts +3 -0
  17. package/dist/index.js +1482 -256
  18. package/dist/index.js.map +1 -1
  19. package/dist/plugins/application/api-explorer/plugin.d.ts +9 -0
  20. package/dist/plugins/application/api-explorer/static/explorer-client.mjs +880 -0
  21. package/dist/plugins/application/api-explorer/static/style.css +767 -0
  22. package/dist/plugins/application/api-explorer/static/theme.css +128 -0
  23. package/dist/plugins/application/asyncapi/generator.d.ts +3 -0
  24. package/dist/plugins/application/asyncapi/plugin.d.ts +15 -0
  25. package/dist/plugins/application/asyncapi/static/asyncapi-client.mjs +748 -0
  26. package/dist/plugins/application/asyncapi/static/style.css +565 -0
  27. package/dist/plugins/application/asyncapi/static/theme.css +128 -0
  28. package/dist/plugins/application/auth.d.ts +3 -1
  29. package/dist/plugins/application/dashboard/metrics-collector.d.ts +3 -1
  30. package/dist/plugins/application/dashboard/plugin.d.ts +13 -3
  31. package/dist/plugins/application/dashboard/static/registry.css +0 -53
  32. package/dist/plugins/application/dashboard/static/styles.css +29 -20
  33. package/dist/plugins/application/dashboard/static/tabulator.css +83 -31
  34. package/dist/plugins/application/dashboard/static/theme.css +128 -0
  35. package/dist/plugins/application/graphql-apollo.d.ts +33 -0
  36. package/dist/plugins/application/graphql-yoga.d.ts +25 -0
  37. package/dist/plugins/application/openapi/analyzer.d.ts +12 -119
  38. package/dist/plugins/application/openapi/analyzer.impl.d.ts +167 -0
  39. package/dist/plugins/application/scalar.d.ts +9 -2
  40. package/dist/router.d.ts +80 -51
  41. package/dist/shokupan.d.ts +14 -8
  42. package/dist/util/datastore.d.ts +71 -7
  43. package/dist/util/decorators.d.ts +2 -2
  44. package/dist/util/types.d.ts +96 -3
  45. package/package.json +32 -12
  46. package/dist/analyzer-Bei1sVWp.cjs.map +0 -1
  47. package/dist/analyzer-Ce_7JxZh.js.map +0 -1
  48. package/dist/plugins/application/dashboard/static/scrollbar.css +0 -24
  49. package/dist/plugins/application/dashboard/template.eta +0 -246
@@ -0,0 +1,565 @@
1
+ /* Reset & Base */
2
+ * {
3
+ box-sizing: border-box;
4
+ }
5
+
6
+ body {
7
+ margin: 0;
8
+ font-family: var(--shokupan-font, 'Inter'), sans-serif;
9
+ background: var(--bg-primary);
10
+ color: var(--text-primary);
11
+ height: 100vh;
12
+ overflow: hidden;
13
+ display: flex;
14
+ flex-direction: column;
15
+ }
16
+
17
+ select {
18
+ background: var(--bg-secondary);
19
+ color: var(--text-primary);
20
+ border: 1px solid var(--border-color);
21
+ border-radius: 4px;
22
+ padding: 6px 12px;
23
+ font-size: 0.9rem;
24
+ cursor: pointer;
25
+ transition: all 0.2s;
26
+ }
27
+
28
+ select:focus-visible {
29
+ outline: none;
30
+ border-color: var(--primary);
31
+ }
32
+
33
+ select option {
34
+ background: var(--bg-secondary);
35
+ color: var(--text-primary);
36
+ }
37
+
38
+ a {
39
+ word-break: break-all;
40
+ }
41
+
42
+ /* Layout */
43
+ :root {
44
+ --sidebar-width: 280px;
45
+ --console-width: 400px;
46
+ }
47
+
48
+ .app-container {
49
+ display: flex;
50
+ height: 100%;
51
+ overflow: hidden;
52
+ }
53
+
54
+ .sidebar {
55
+ width: var(--sidebar-width);
56
+ flex-shrink: 0;
57
+ /* ... existing styles ... */
58
+ background: var(--bg-secondary);
59
+ border-right: 1px solid var(--border-color);
60
+ display: flex;
61
+ flex-direction: column;
62
+ }
63
+
64
+ .resizer {
65
+ width: 4px;
66
+ cursor: col-resize;
67
+ background: var(--border-color);
68
+ transition: background 0.2s;
69
+ flex-shrink: 0;
70
+ z-index: 10;
71
+ }
72
+
73
+ .resizer:hover,
74
+ .resizer.resizing {
75
+ background: var(--primary);
76
+ }
77
+
78
+ /* Common Scrollbar */
79
+ .scroller {
80
+ overflow-y: auto;
81
+ scrollbar-width: thin;
82
+ scrollbar-color: var(--primary) transparent;
83
+ }
84
+
85
+ .sidebar-header {
86
+ padding: 1.5rem 1rem;
87
+ border-bottom: 1px solid var(--border-color);
88
+ }
89
+
90
+ .sidebar-header h2 {
91
+ margin: 0;
92
+ font-size: 1.1rem;
93
+ font-weight: 600;
94
+ color: var(--primary);
95
+ display: flex;
96
+ align-items: center;
97
+ gap: 8px;
98
+ }
99
+
100
+ .nav-list {
101
+ padding: 1rem 0;
102
+ flex: 1;
103
+ }
104
+
105
+ /* Tree Styles */
106
+ .tree-node {
107
+ margin-left: 12px;
108
+ border-left: 1px solid rgba(255, 255, 255, 0.05);
109
+ }
110
+
111
+ .tree-item {
112
+ padding: 6px 12px;
113
+ cursor: pointer;
114
+ display: flex;
115
+ align-items: center;
116
+ gap: 8px;
117
+ border-radius: 4px;
118
+ margin: 1px 8px;
119
+ color: var(--text-secondary);
120
+ font-size: 0.9rem;
121
+ transition: all 0.2s;
122
+ }
123
+
124
+ .tree-item:hover {
125
+ background: rgba(255, 255, 255, 0.03);
126
+ color: var(--text-primary);
127
+ }
128
+
129
+ .tree-item.active {
130
+ background: rgba(255, 255, 255, 0.05);
131
+ color: var(--primary);
132
+ }
133
+
134
+ .tree-label {
135
+ white-space: nowrap;
136
+ overflow: hidden;
137
+ text-overflow: ellipsis;
138
+ }
139
+
140
+ .group-label {
141
+ padding: 6px 12px;
142
+ font-size: 0.8rem;
143
+ font-weight: 600;
144
+ color: var(--text-muted);
145
+ margin-top: 4px;
146
+ }
147
+
148
+ /* Badges */
149
+ .badge {
150
+ font-size: 0.6rem;
151
+ font-weight: 700;
152
+ padding: 2px 6px;
153
+ border-radius: 4px;
154
+ font-family: 'JetBrains Mono', monospace;
155
+ text-transform: uppercase;
156
+ min-width: 38px;
157
+ text-align: center;
158
+ }
159
+
160
+ /* ================== Center: Documentation ================== */
161
+ .main-content {
162
+ flex: 1;
163
+ min-width: 0;
164
+ /* overflow fix */
165
+ background: var(--bg-primary);
166
+ padding: 2rem 3rem;
167
+ display: flex;
168
+ flex-direction: column;
169
+ gap: 2rem;
170
+ height: 100%;
171
+ }
172
+
173
+ .doc-header {
174
+ border-bottom: 1px solid var(--border-color);
175
+ padding-bottom: 1.5rem;
176
+ }
177
+
178
+ .doc-title {
179
+ font-size: 1.75rem;
180
+ font-weight: 700;
181
+ margin: 0 0 0.5rem 0;
182
+ color: var(--text-primary);
183
+ word-break: break-all;
184
+ }
185
+
186
+ .doc-meta {
187
+ display: flex;
188
+ gap: 1rem;
189
+ color: var(--text-muted);
190
+ font-size: 0.9rem;
191
+ align-items: center;
192
+ }
193
+
194
+ .doc-body {
195
+ flex: 1;
196
+ display: flex;
197
+ flex-direction: column;
198
+ }
199
+
200
+ .source-group {
201
+ flex: 1;
202
+ flex-direction: column;
203
+ overflow: hidden;
204
+ }
205
+
206
+ .section-title {
207
+ font-size: 1rem;
208
+ font-weight: 600;
209
+ color: var(--text-secondary);
210
+ margin: 2rem 0 1rem 0;
211
+ display: flex;
212
+ align-items: center;
213
+ gap: 0.5rem;
214
+ }
215
+
216
+ /* Structured Schema View */
217
+ .schema-root {
218
+ font-family: 'JetBrains Mono', monospace;
219
+ font-size: 0.9rem;
220
+ background: var(--bg-card);
221
+ border-radius: 8px;
222
+ border: 1px solid var(--border-color);
223
+ overflow: hidden;
224
+ }
225
+
226
+ .schema-row {
227
+ display: flex;
228
+ border-bottom: 1px solid var(--border-color);
229
+ padding: 8px 16px;
230
+ }
231
+
232
+ .schema-row:last-child {
233
+ border-bottom: none;
234
+ }
235
+
236
+ .schema-prop {
237
+ flex: 0 0 200px;
238
+ color: var(--text-primary);
239
+ font-weight: 500;
240
+ }
241
+
242
+ .schema-type {
243
+ color: var(--accent);
244
+ margin-right: 8px;
245
+ }
246
+
247
+ .schema-desc {
248
+ color: var(--text-muted);
249
+ flex: 1;
250
+ }
251
+
252
+ .nested-schema {
253
+ margin-left: 20px;
254
+ border-left: 1px solid var(--border-color);
255
+ }
256
+
257
+ .prop-req {
258
+ color: #ef4444;
259
+ margin-left: 4px;
260
+ font-size: 0.8em;
261
+ }
262
+
263
+ /* ================== Right: Console/Playground ================== */
264
+ .console-panel {
265
+ width: var(--console-width);
266
+ flex-shrink: 0;
267
+ background: #111;
268
+ border-left: 1px solid var(--border-color);
269
+ display: flex;
270
+ flex-direction: column;
271
+ }
272
+
273
+ .console-header {
274
+ padding: 1rem;
275
+ background: var(--bg-secondary);
276
+ border-bottom: 1px solid var(--border-color);
277
+ }
278
+
279
+ .connection-bar {
280
+ background: rgba(0, 0, 0, 0.3);
281
+ border-radius: 6px;
282
+ padding: 0.5rem;
283
+ display: flex;
284
+ gap: 0.5rem;
285
+ margin-bottom: 0.5rem;
286
+ }
287
+
288
+ .connection-bar input {
289
+ background: transparent;
290
+ border: none;
291
+ color: var(--text-secondary);
292
+ flex: 1;
293
+ font-family: 'JetBrains Mono', monospace;
294
+ font-size: 0.8rem;
295
+ }
296
+
297
+ .connection-bar select {
298
+ background: transparent;
299
+ border: none;
300
+ color: var(--primary);
301
+ font-weight: 600;
302
+ font-size: 0.8rem;
303
+ cursor: pointer;
304
+ }
305
+
306
+ .btn {
307
+ background: var(--button-bg);
308
+ color: var(--button-text);
309
+ border: none;
310
+ padding: 0.5rem 1rem;
311
+ border-radius: 6px;
312
+ font-weight: 600;
313
+ font-size: 0.85rem;
314
+ cursor: pointer;
315
+ transition: all 0.2s;
316
+ width: 100%;
317
+ }
318
+
319
+ .btn:hover {
320
+ filter: brightness(1.1);
321
+ }
322
+
323
+ .btn.secondary {
324
+ background: transparent;
325
+ border: 1px solid var(--border-color);
326
+ color: var(--text-secondary);
327
+ }
328
+
329
+ .btn.secondary:hover {
330
+ border-color: var(--text-primary);
331
+ color: var(--text-primary);
332
+ }
333
+
334
+ .status-indicator {
335
+ display: flex;
336
+ align-items: center;
337
+ gap: 6px;
338
+ font-size: 0.75rem;
339
+ color: var(--text-muted);
340
+ margin-top: 0.5rem;
341
+ }
342
+
343
+ .dot {
344
+ width: 8px;
345
+ height: 8px;
346
+ border-radius: 50%;
347
+ background: #666;
348
+ transition: background 0.3s;
349
+ margin: 0;
350
+ }
351
+
352
+ .dot.connected {
353
+ background: #10b981;
354
+ box-shadow: 0 0 8px rgba(16, 185, 129, 0.4);
355
+ }
356
+
357
+ .dot.error {
358
+ background: #ef4444;
359
+ }
360
+
361
+ /* Virtual Scroll */
362
+ .logs-container {
363
+ flex: 1;
364
+ overflow-y: auto;
365
+ padding: 1rem;
366
+ font-family: 'JetBrains Mono', monospace;
367
+ font-size: 0.8rem;
368
+ display: block;
369
+ /* flex-direction: column; gap: 0.5rem; -- removed for virtual scroll stability */
370
+ position: relative;
371
+ /* For absolute children */
372
+ }
373
+
374
+ .log-shim {
375
+ width: 1px;
376
+ opacity: 0;
377
+ pointer-events: none;
378
+ }
379
+
380
+ .log-entry {
381
+ position: absolute;
382
+ width: 100%;
383
+ box-sizing: border-box;
384
+ margin: 0;
385
+ display: flex;
386
+ gap: 0.5rem;
387
+ line-height: 1.4;
388
+ padding: 4px 6px;
389
+ border-radius: 4px;
390
+ background: rgba(255, 255, 255, 0.02);
391
+ }
392
+
393
+ .log-time {
394
+ color: var(--text-muted);
395
+ min-width: 60px;
396
+ font-size: 0.7rem;
397
+ opacity: 0.7;
398
+ }
399
+
400
+ .log-content {
401
+ color: var(--text-primary);
402
+ word-break: break-all;
403
+ }
404
+
405
+ .log-entry.in .log-content {
406
+ color: #60a5fa;
407
+ }
408
+
409
+ .log-entry.out .log-content {
410
+ color: #34d399;
411
+ }
412
+
413
+ .log-entry.error .log-content {
414
+ color: #ef4444;
415
+ }
416
+
417
+ .compose-area {
418
+ height: 300px;
419
+ border-top: 1px solid var(--border-color);
420
+ display: flex;
421
+ flex-direction: column;
422
+ background: var(--bg-secondary);
423
+ }
424
+
425
+ .compose-header {
426
+ padding: 0.5rem 1rem;
427
+ font-size: 0.75rem;
428
+ letter-spacing: 0.05em;
429
+ color: var(--text-muted);
430
+ display: flex;
431
+ justify-content: space-between;
432
+ align-items: center;
433
+ border-bottom: 1px solid var(--border-color);
434
+ }
435
+
436
+ #editor-container {
437
+ flex: 1;
438
+ }
439
+
440
+ .send-bar {
441
+ padding: 0.5rem;
442
+ background: var(--bg-card);
443
+ border-top: 1px solid var(--border-color);
444
+ }
445
+
446
+ .empty-state {
447
+ display: flex;
448
+ flex-direction: column;
449
+ align-items: center;
450
+ justify-content: center;
451
+ height: 50%;
452
+ color: var(--text-muted);
453
+ text-align: center;
454
+ }
455
+
456
+ .empty-state svg {
457
+ width: 48px;
458
+ height: 48px;
459
+ margin-bottom: 1rem;
460
+ opacity: 0.5;
461
+ color: var(--primary);
462
+ }
463
+
464
+ .warning-line-highlight {
465
+ background: rgba(251, 191, 36, 0.15);
466
+ border-left: 3px solid #fbbf24;
467
+ }
468
+
469
+ .closure-highlight {
470
+ background: rgb(50 84 217 / 20%);
471
+ /* Blue - SEND (Handler) */
472
+ border-left: 2px solid rgba(59, 130, 246, 0.5);
473
+ }
474
+
475
+ .emit-highlight {
476
+ background: rgba(16, 185, 129, 0.15);
477
+ /* Green - RECV (Emit) */
478
+ border-left: 3px solid #34d399;
479
+ }
480
+
481
+ /* Header actions */
482
+ .header-actions {
483
+ display: flex;
484
+ gap: 8px;
485
+ }
486
+
487
+ .btn-icon {
488
+ background: transparent;
489
+ border: 1px solid transparent;
490
+ color: var(--text-muted);
491
+ cursor: pointer;
492
+ padding: 4px;
493
+ border-radius: 4px;
494
+ display: flex;
495
+ align-items: center;
496
+ justify-content: center;
497
+ }
498
+
499
+ .btn-icon:hover {
500
+ color: var(--text-primary);
501
+ background: rgba(255, 255, 255, 0.1);
502
+ }
503
+
504
+ .source-link {
505
+ opacity: 0.6;
506
+ margin-left: auto;
507
+ color: var(--text-muted);
508
+ padding: 2px;
509
+ border-radius: 4px;
510
+ font-size: 0.8em;
511
+ transition: opacity 0.2s;
512
+ }
513
+
514
+ .tree-item:hover .source-link {
515
+ opacity: 1;
516
+ }
517
+
518
+ .source-link:hover {
519
+ background: rgba(255, 255, 255, 0.1);
520
+ color: var(--primary);
521
+ opacity: 1;
522
+ }
523
+
524
+ .doc-source-link {
525
+ color: var(--text-muted);
526
+ padding: 4px 8px;
527
+ border-radius: 4px;
528
+ border: 1px solid var(--border-color);
529
+ display: inline-flex;
530
+ align-items: center;
531
+ background: var(--bg-secondary);
532
+ transition: all 0.2s;
533
+ font-size: 0.8rem;
534
+ font-weight: 500;
535
+ text-decoration: none;
536
+ }
537
+
538
+ .doc-source-link:hover {
539
+ color: var(--primary);
540
+ border-color: var(--primary);
541
+ }
542
+
543
+ #source-viewer-container {
544
+ flex: 1;
545
+ display: flex;
546
+ max-height: 80vh;
547
+ }
548
+
549
+ /* Floating Toggles */
550
+ .floating-toggle {
551
+ position: absolute;
552
+ top: 10px;
553
+ z-index: 100;
554
+ background: var(--bg-secondary);
555
+ border: 1px solid var(--border-color);
556
+ box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
557
+ }
558
+
559
+ .floating-toggle.left {
560
+ left: 10px;
561
+ }
562
+
563
+ .floating-toggle.right {
564
+ right: 10px;
565
+ }
@@ -0,0 +1,128 @@
1
+ :root {
2
+ /* Raw Palette - Dark (Now Default) */
3
+ --palette-dark-primary: #FFB380;
4
+ /* Warm Filament */
5
+ --palette-dark-secondary: #7B5E7B;
6
+ /* Yeast Purple */
7
+ --palette-dark-accent: #D6D3D1;
8
+ /* Flour Dust */
9
+ --palette-dark-bg: #1A1614;
10
+ /* Oven Depth */
11
+ --palette-dark-card: #2A2421;
12
+
13
+ --palette-dark-header: rgb(39, 27, 19);
14
+ /* Proofing Drawer */
15
+
16
+ /* Universal defaults (tokens) */
17
+ --shokupan-font: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
18
+
19
+ /* Theme Variables - Enforced Dark Mode */
20
+ --bg-primary: var(--palette-dark-bg);
21
+ --bg-secondary: var(--palette-dark-card);
22
+ --bg-card: var(--palette-dark-card);
23
+ --bg-header: var(--palette-dark-header);
24
+
25
+ --text-primary: #F0F0F0;
26
+ --text-secondary: var(--palette-dark-accent);
27
+ --text-muted: rgba(214, 211, 209, 0.7);
28
+
29
+ --primary: var(--palette-dark-primary);
30
+ --secondary: var(--palette-dark-secondary);
31
+ --accent: var(--palette-dark-accent);
32
+
33
+ --border-color: rgba(214, 211, 209, 0.2);
34
+ --card-border: rgba(214, 211, 209, 0.2);
35
+
36
+ --table-header-border-color: rgba(214, 211, 209, 0.2);
37
+
38
+ --link-color: var(--palette-dark-primary);
39
+ --link-hover: #FFCBA0;
40
+
41
+ --button-bg: var(--palette-dark-primary);
42
+ --button-text: #1A1614;
43
+ }
44
+
45
+ ::-webkit-scrollbar {
46
+ width: 8px;
47
+ height: 8px;
48
+ background-color: var(--bg-primary);
49
+ }
50
+
51
+ ::-webkit-scrollbar-thumb {
52
+ border-radius: 10px;
53
+ background-color: var(--primary);
54
+ box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
55
+ }
56
+
57
+ ::-webkit-scrollbar-track {
58
+ border-radius: 10px;
59
+ background-color: var(--bg-secondary);
60
+ }
61
+
62
+ ::-webkit-scrollbar-corner {
63
+ box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
64
+ }
65
+
66
+ .badge-SEND {
67
+ background: rgba(59, 130, 246, 0.15);
68
+ color: #60a5fa;
69
+ border: 1px solid rgba(59, 130, 246, 0.3);
70
+ }
71
+
72
+ .badge-RECV {
73
+ background: rgba(16, 185, 129, 0.15);
74
+ color: #34d399;
75
+ border: 1px solid rgba(16, 185, 129, 0.3);
76
+ }
77
+
78
+ .badge-GET {
79
+ background: #0f172a;
80
+ color: #3b82f6;
81
+ border: 1px solid #3b82f6;
82
+ }
83
+
84
+ .badge-POST {
85
+ background: #0f172a;
86
+ color: #22c55e;
87
+ border: 1px solid #22c55e;
88
+ }
89
+
90
+ .badge-PUT {
91
+ background: #0f172a;
92
+ color: #eab308;
93
+ border: 1px solid #eab308;
94
+ }
95
+
96
+ .badge-PATCH {
97
+ background: #0f172a;
98
+ color: #08d3ea;
99
+ border: 1px solid #08eae6;
100
+ }
101
+
102
+ .badge-HEAD {
103
+ background: #0f172a;
104
+ color: #e3ea08;
105
+ border: 1px solid #e3ea08;
106
+ }
107
+
108
+ .badge-OPTIONS {
109
+ background: #0f172a;
110
+ color: #838383;
111
+ border: 1px solid #838383;
112
+ }
113
+
114
+ .badge-DELETE {
115
+ background: #0f172a;
116
+ color: #ef4444;
117
+ border: 1px solid #ef4444;
118
+ }
119
+
120
+ .badge-ROUTER {
121
+ background: #334155;
122
+ color: #f8fafc;
123
+ }
124
+
125
+ .badge-CONTROLLER {
126
+ background: #475569;
127
+ color: #f8fafc;
128
+ }
@@ -114,8 +114,10 @@ export interface AuthConfig {
114
114
  export declare class AuthPlugin extends ShokupanRouter<any> implements ShokupanPlugin {
115
115
  private authConfig;
116
116
  private secret;
117
+ private arctic;
118
+ private jose;
117
119
  constructor(authConfig: AuthConfig);
118
- onInit(app: Shokupan, options?: ShokupanPluginOptions): void;
120
+ onInit(app: Shokupan, options?: ShokupanPluginOptions): Promise<void>;
119
121
  private getProviderInstance;
120
122
  private createSession;
121
123
  private init;
@@ -1,9 +1,11 @@
1
+ import { SurrealDatastore } from '../../../util/datastore';
1
2
  export declare class MetricsCollector {
3
+ private readonly db;
2
4
  private currentIntervalStart;
3
5
  private pendingDetails;
4
6
  private eventLoopHistogram;
5
7
  private timer;
6
- constructor();
8
+ constructor(db: SurrealDatastore);
7
9
  recordRequest(duration: number, isError: boolean): void;
8
10
  private alignTimestamp;
9
11
  private collect;