@ripeseed/rs-tunnel 0.2.0 → 0.4.0

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 (94) hide show
  1. package/README.md +3 -2
  2. package/dist/commands/doctor.js +34 -4
  3. package/dist/commands/doctor.js.map +1 -1
  4. package/dist/commands/doctor.test.d.ts +1 -0
  5. package/dist/commands/doctor.test.js +80 -0
  6. package/dist/commands/doctor.test.js.map +1 -0
  7. package/dist/commands/list.js +45 -7
  8. package/dist/commands/list.js.map +1 -1
  9. package/dist/commands/list.test.d.ts +1 -0
  10. package/dist/commands/list.test.js +84 -0
  11. package/dist/commands/list.test.js.map +1 -0
  12. package/dist/commands/login.d.ts +18 -1
  13. package/dist/commands/login.js +131 -23
  14. package/dist/commands/login.js.map +1 -1
  15. package/dist/commands/login.test.d.ts +1 -0
  16. package/dist/commands/login.test.js +219 -0
  17. package/dist/commands/login.test.js.map +1 -0
  18. package/dist/commands/logout.js +18 -1
  19. package/dist/commands/logout.js.map +1 -1
  20. package/dist/commands/logout.test.d.ts +1 -0
  21. package/dist/commands/logout.test.js +78 -0
  22. package/dist/commands/logout.test.js.map +1 -0
  23. package/dist/commands/stop.js +18 -1
  24. package/dist/commands/stop.js.map +1 -1
  25. package/dist/commands/stop.test.d.ts +1 -0
  26. package/dist/commands/stop.test.js +46 -0
  27. package/dist/commands/stop.test.js.map +1 -0
  28. package/dist/commands/up.d.ts +12 -2
  29. package/dist/commands/up.js +349 -74
  30. package/dist/commands/up.js.map +1 -1
  31. package/dist/commands/up.test.js +589 -233
  32. package/dist/commands/up.test.js.map +1 -1
  33. package/dist/index.js +4 -1
  34. package/dist/index.js.map +1 -1
  35. package/dist/lib/api-client.d.ts +6 -1
  36. package/dist/lib/api-client.js +9 -1
  37. package/dist/lib/api-client.js.map +1 -1
  38. package/dist/lib/clipboard.d.ts +1 -0
  39. package/dist/lib/clipboard.js +50 -0
  40. package/dist/lib/clipboard.js.map +1 -0
  41. package/dist/lib/local-target.d.ts +12 -0
  42. package/dist/lib/local-target.js +48 -0
  43. package/dist/lib/local-target.js.map +1 -0
  44. package/dist/lib/local-target.test.d.ts +1 -0
  45. package/dist/lib/local-target.test.js +23 -0
  46. package/dist/lib/local-target.test.js.map +1 -0
  47. package/dist/lib/up-dashboard.test.js +141 -51
  48. package/dist/lib/up-dashboard.test.js.map +1 -1
  49. package/dist/lib/up-runtime.d.ts +110 -0
  50. package/dist/lib/up-runtime.js +455 -0
  51. package/dist/lib/up-runtime.js.map +1 -0
  52. package/dist/ui/index.d.ts +2 -0
  53. package/dist/ui/index.js +3 -0
  54. package/dist/ui/index.js.map +1 -0
  55. package/dist/ui/output.d.ts +20 -0
  56. package/dist/ui/output.js +50 -0
  57. package/dist/ui/output.js.map +1 -0
  58. package/dist/ui/output.test.d.ts +1 -0
  59. package/dist/ui/output.test.js +84 -0
  60. package/dist/ui/output.test.js.map +1 -0
  61. package/dist/ui/primitives.d.ts +50 -0
  62. package/dist/ui/primitives.js +102 -0
  63. package/dist/ui/primitives.js.map +1 -0
  64. package/dist/ui/primitives.test.d.ts +1 -0
  65. package/dist/ui/primitives.test.js +46 -0
  66. package/dist/ui/primitives.test.js.map +1 -0
  67. package/dist/ui/test-utils.d.ts +10 -0
  68. package/dist/ui/test-utils.js +71 -0
  69. package/dist/ui/test-utils.js.map +1 -0
  70. package/dist/ui/up/UpApp.d.ts +5 -0
  71. package/dist/ui/up/UpApp.js +47 -0
  72. package/dist/ui/up/UpApp.js.map +1 -0
  73. package/dist/ui/up/index.d.ts +4 -0
  74. package/dist/ui/up/index.js +3 -0
  75. package/dist/ui/up/index.js.map +1 -0
  76. package/dist/ui/up/types.d.ts +1 -0
  77. package/dist/ui/up/types.js +2 -0
  78. package/dist/ui/up/types.js.map +1 -0
  79. package/dist/ui/up/up-app.d.ts +2 -0
  80. package/dist/ui/up/up-app.js +2 -0
  81. package/dist/ui/up/up-app.js.map +1 -0
  82. package/dist/ui/up/up-app.test.d.ts +1 -0
  83. package/dist/ui/up/up-app.test.js +266 -0
  84. package/dist/ui/up/up-app.test.js.map +1 -0
  85. package/dist/ui/up/utils.d.ts +19 -0
  86. package/dist/ui/up/utils.js +141 -0
  87. package/dist/ui/up/utils.js.map +1 -0
  88. package/dist/ui/up/views.d.ts +9 -0
  89. package/dist/ui/up/views.js +61 -0
  90. package/dist/ui/up/views.js.map +1 -0
  91. package/package.json +7 -3
  92. package/dist/lib/local-callback.d.ts +0 -9
  93. package/dist/lib/local-callback.js +0 -68
  94. package/dist/lib/local-callback.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"up-dashboard.test.js","sourceRoot":"","sources":["../../src/lib/up-dashboard.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"up-dashboard.test.js","sourceRoot":"","sources":["../../src/lib/up-dashboard.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,110 @@
1
+ import type { ProxyRequestEvent } from './local-proxy.js';
2
+ import type { TunnelStatsSnapshot } from './tunnel-stats.js';
3
+ export type UpMode = 'startup' | 'running' | 'logs';
4
+ export type UpPhase = 'initializing' | 'live' | 'restarting' | 'stopping' | 'stopped' | 'failed';
5
+ export type UpStartupStepId = 'authenticating' | 'reserving-subdomain' | 'connecting-edge' | 'verifying-local-target' | 'tunnel-live';
6
+ export type UpStartupStepStatus = 'pending' | 'active' | 'done' | 'failed';
7
+ export type UpNoticeLevel = 'info' | 'warning' | 'error';
8
+ export type StartupStepId = UpStartupStepId;
9
+ export type StartupStepStatus = UpStartupStepStatus;
10
+ export type NoticeKind = UpNoticeLevel;
11
+ export type StartupStep = UpStartupStep;
12
+ export type UpStartupStep = {
13
+ id: UpStartupStepId;
14
+ label: string;
15
+ status: UpStartupStepStatus;
16
+ message?: string;
17
+ };
18
+ export type UpNotice = {
19
+ id: number;
20
+ level: UpNoticeLevel;
21
+ kind: UpNoticeLevel;
22
+ message: string;
23
+ createdAtEpochMs: number;
24
+ };
25
+ export type UpSessionState = {
26
+ account: string | null;
27
+ clientEmail?: string | null;
28
+ version: string;
29
+ publicUrl: string | null;
30
+ localTarget: string | null;
31
+ protocol: 'HTTPS';
32
+ startedAtEpochMs: number | null;
33
+ tunnelId: string | null;
34
+ requestedSlug: string | null;
35
+ hostname: string | null;
36
+ };
37
+ export type UpHealthState = {
38
+ statusLabel: string;
39
+ region: string | null;
40
+ lastHeartbeatAtEpochMs: number | null;
41
+ cloudflaredConnected: boolean;
42
+ telemetryDisabled: boolean;
43
+ localTargetReachable: boolean | null;
44
+ lastLocalTargetCheckAtEpochMs: number | null;
45
+ };
46
+ export type UpMetricsState = TunnelStatsSnapshot & {
47
+ requestCountTotal: number;
48
+ };
49
+ export type UpRuntimeState = {
50
+ mode: UpMode;
51
+ phase: UpPhase;
52
+ startupSteps: UpStartupStep[];
53
+ session: UpSessionState;
54
+ health: UpHealthState;
55
+ metrics: UpMetricsState;
56
+ lastRequest: ProxyRequestEvent | null;
57
+ requestLogs: ProxyRequestEvent[];
58
+ cloudflaredLogs: string[];
59
+ notices: UpNotice[];
60
+ verbose: boolean;
61
+ };
62
+ export type UpRuntimeActions = {
63
+ toggleLogs: () => void;
64
+ openBrowser: () => Promise<void>;
65
+ copyUrl: () => Promise<void>;
66
+ restartCloudflared: () => Promise<void>;
67
+ quit: () => void;
68
+ };
69
+ export type UpRuntimeController = {
70
+ subscribe: (listener: (state: UpRuntimeState) => void) => () => void;
71
+ getSnapshot: () => UpRuntimeState;
72
+ getActions: () => UpRuntimeActions;
73
+ setActions: (actions: Partial<UpRuntimeActions>) => void;
74
+ dispose: () => void;
75
+ setMode: (mode: UpMode) => void;
76
+ toggleLogs: () => void;
77
+ openBrowser: () => Promise<void>;
78
+ copyUrl: () => Promise<void>;
79
+ restartCloudflared: () => Promise<void>;
80
+ quit: () => void;
81
+ resetStartupSteps: () => void;
82
+ setAllStartupStepsPending: () => void;
83
+ setStartupStepStatus: (stepId: UpStartupStepId, status: UpStartupStepStatus, message?: string) => void;
84
+ setStartupStep: (stepId: UpStartupStepId, status: UpStartupStepStatus, message?: string) => void;
85
+ setSession: (patch: Partial<UpSessionState>) => void;
86
+ setMetrics: (metrics: TunnelStatsSnapshot) => void;
87
+ addRequest: (event: ProxyRequestEvent) => void;
88
+ addCloudflaredLine: (line: string) => void;
89
+ addNotice: (level: UpNoticeLevel, message: string) => void;
90
+ clearNotices: () => void;
91
+ setRegion: (region: string | null) => void;
92
+ setCloudflaredConnected: (connected: boolean) => void;
93
+ setTelemetryDisabled: (disabled: boolean) => void;
94
+ recordHeartbeat: (epochMs?: number) => void;
95
+ setLocalTargetReachable: (reachable: boolean, epochMs?: number) => void;
96
+ setStatusLabel: (label: string) => void;
97
+ setPhase: (phase: UpPhase) => void;
98
+ markRestarting: () => void;
99
+ markStopping: () => void;
100
+ markStopped: () => void;
101
+ markFailed: (message: string) => void;
102
+ markLive: (epochMs?: number) => void;
103
+ };
104
+ export declare function formatRequestLogLine(event: ProxyRequestEvent): string;
105
+ export declare function formatLastRequest(event: ProxyRequestEvent | null): string;
106
+ export declare function createUpRuntimeController(input: {
107
+ version: string;
108
+ verbose: boolean;
109
+ actions: UpRuntimeActions;
110
+ }): UpRuntimeController;
@@ -0,0 +1,455 @@
1
+ const MAX_REQUEST_LOGS = 120;
2
+ const MAX_CLOUDFLARED_LOGS = 120;
3
+ const MAX_NOTICES = 8;
4
+ function createStartupSteps() {
5
+ return [
6
+ { id: 'authenticating', label: 'Authenticating...', status: 'pending' },
7
+ { id: 'reserving-subdomain', label: 'Reserving subdomain...', status: 'pending' },
8
+ { id: 'connecting-edge', label: 'Connecting edge...', status: 'pending' },
9
+ { id: 'verifying-local-target', label: 'Verifying local target...', status: 'pending' },
10
+ { id: 'tunnel-live', label: 'Tunnel live.', status: 'pending' },
11
+ ];
12
+ }
13
+ function createInitialState(version, verbose) {
14
+ return {
15
+ mode: 'startup',
16
+ phase: 'initializing',
17
+ startupSteps: createStartupSteps(),
18
+ session: {
19
+ account: null,
20
+ version,
21
+ publicUrl: null,
22
+ localTarget: null,
23
+ protocol: 'HTTPS',
24
+ startedAtEpochMs: null,
25
+ tunnelId: null,
26
+ requestedSlug: null,
27
+ hostname: null,
28
+ },
29
+ health: {
30
+ statusLabel: 'Connecting',
31
+ region: null,
32
+ lastHeartbeatAtEpochMs: null,
33
+ cloudflaredConnected: false,
34
+ telemetryDisabled: false,
35
+ localTargetReachable: null,
36
+ lastLocalTargetCheckAtEpochMs: null,
37
+ },
38
+ metrics: {
39
+ ttl: 0,
40
+ opn: 0,
41
+ rt1Ms: null,
42
+ rt5Ms: null,
43
+ p50Ms: null,
44
+ p90Ms: null,
45
+ requestCountTotal: 0,
46
+ },
47
+ lastRequest: null,
48
+ requestLogs: [],
49
+ cloudflaredLogs: [],
50
+ notices: [],
51
+ verbose,
52
+ };
53
+ }
54
+ function resolveStatusLabel(state) {
55
+ if (state.phase === 'restarting') {
56
+ return 'Restarting';
57
+ }
58
+ if (state.phase === 'stopping') {
59
+ return 'Stopping';
60
+ }
61
+ if (state.phase === 'stopped') {
62
+ return 'Stopped';
63
+ }
64
+ if (state.phase === 'failed') {
65
+ return 'Failed';
66
+ }
67
+ if (state.phase !== 'live') {
68
+ return 'Connecting';
69
+ }
70
+ if (state.health.localTargetReachable === false) {
71
+ return 'Degraded';
72
+ }
73
+ return 'Healthy';
74
+ }
75
+ function nextRequestLogs(current, event) {
76
+ const next = [...current, event];
77
+ if (next.length > MAX_REQUEST_LOGS) {
78
+ next.shift();
79
+ }
80
+ return next;
81
+ }
82
+ function nextCloudflaredLogs(current, line) {
83
+ if (line.trim().length === 0) {
84
+ return current;
85
+ }
86
+ const next = [...current, line];
87
+ if (next.length > MAX_CLOUDFLARED_LOGS) {
88
+ next.shift();
89
+ }
90
+ return next;
91
+ }
92
+ function nextNotices(current, notice) {
93
+ const next = [...current, notice];
94
+ if (next.length > MAX_NOTICES) {
95
+ next.shift();
96
+ }
97
+ return next;
98
+ }
99
+ export function formatRequestLogLine(event) {
100
+ const timestamp = new Date(event.startedAtEpochMs);
101
+ const hh = String(timestamp.getHours()).padStart(2, '0');
102
+ const mm = String(timestamp.getMinutes()).padStart(2, '0');
103
+ const ss = String(timestamp.getSeconds()).padStart(2, '0');
104
+ const method = (event.protocol === 'ws' ? 'WS' : event.method.toUpperCase()).padEnd(5, ' ');
105
+ return `[${hh}:${mm}:${ss}] ${method} ${event.path} ${String(event.statusCode).padStart(3, ' ')} ${Math.round(event.durationMs)}ms`;
106
+ }
107
+ export function formatLastRequest(event) {
108
+ if (!event) {
109
+ return 'No requests yet';
110
+ }
111
+ const method = event.protocol === 'ws' ? 'WS' : event.method.toUpperCase();
112
+ return `${method} ${event.path} ${event.statusCode} ${Math.round(event.durationMs)}ms`;
113
+ }
114
+ export function createUpRuntimeController(input) {
115
+ let state = createInitialState(input.version, input.verbose);
116
+ let actions = input.actions;
117
+ const listeners = new Set();
118
+ let noticeId = 0;
119
+ const emit = () => {
120
+ for (const listener of listeners) {
121
+ listener(state);
122
+ }
123
+ };
124
+ const update = (recipe) => {
125
+ state = recipe(state);
126
+ emit();
127
+ };
128
+ return {
129
+ subscribe: (listener) => {
130
+ listeners.add(listener);
131
+ listener(state);
132
+ return () => {
133
+ listeners.delete(listener);
134
+ };
135
+ },
136
+ getSnapshot: () => state,
137
+ getActions: () => actions,
138
+ setActions: (nextActions) => {
139
+ actions = {
140
+ ...actions,
141
+ ...nextActions,
142
+ };
143
+ },
144
+ dispose: () => {
145
+ listeners.clear();
146
+ },
147
+ setMode: (mode) => {
148
+ if (state.mode === mode) {
149
+ return;
150
+ }
151
+ update((current) => ({
152
+ ...current,
153
+ mode,
154
+ }));
155
+ },
156
+ toggleLogs: () => {
157
+ update((current) => ({
158
+ ...current,
159
+ mode: current.mode === 'logs' ? 'running' : 'logs',
160
+ }));
161
+ },
162
+ openBrowser: async () => {
163
+ await actions.openBrowser();
164
+ },
165
+ copyUrl: async () => {
166
+ await actions.copyUrl();
167
+ },
168
+ restartCloudflared: async () => {
169
+ await actions.restartCloudflared();
170
+ },
171
+ quit: () => {
172
+ actions.quit();
173
+ },
174
+ resetStartupSteps: () => {
175
+ update((current) => ({
176
+ ...current,
177
+ startupSteps: createStartupSteps(),
178
+ mode: 'startup',
179
+ }));
180
+ },
181
+ setAllStartupStepsPending: () => {
182
+ update((current) => ({
183
+ ...current,
184
+ startupSteps: createStartupSteps(),
185
+ mode: 'startup',
186
+ }));
187
+ },
188
+ setStartupStepStatus: (stepId, status, message) => {
189
+ update((current) => ({
190
+ ...current,
191
+ startupSteps: current.startupSteps.map((step) => step.id === stepId
192
+ ? {
193
+ ...step,
194
+ status,
195
+ message,
196
+ }
197
+ : step),
198
+ }));
199
+ },
200
+ setStartupStep: (stepId, status, message) => {
201
+ update((current) => ({
202
+ ...current,
203
+ startupSteps: current.startupSteps.map((step) => step.id === stepId
204
+ ? {
205
+ ...step,
206
+ status,
207
+ message,
208
+ }
209
+ : step),
210
+ }));
211
+ },
212
+ setSession: (patch) => {
213
+ update((current) => ({
214
+ ...current,
215
+ session: {
216
+ ...current.session,
217
+ ...patch,
218
+ },
219
+ }));
220
+ },
221
+ setMetrics: (metrics) => {
222
+ update((current) => ({
223
+ ...current,
224
+ metrics: {
225
+ ...metrics,
226
+ requestCountTotal: current.metrics.requestCountTotal,
227
+ },
228
+ }));
229
+ },
230
+ addRequest: (event) => {
231
+ update((current) => ({
232
+ ...current,
233
+ lastRequest: event,
234
+ requestLogs: nextRequestLogs(current.requestLogs, event),
235
+ metrics: {
236
+ ...current.metrics,
237
+ requestCountTotal: current.metrics.requestCountTotal + 1,
238
+ },
239
+ }));
240
+ },
241
+ addCloudflaredLine: (line) => {
242
+ if (line.trim().length === 0) {
243
+ return;
244
+ }
245
+ update((current) => ({
246
+ ...current,
247
+ cloudflaredLogs: nextCloudflaredLogs(current.cloudflaredLogs, line),
248
+ }));
249
+ },
250
+ addNotice: (level, message) => {
251
+ if (message.trim().length === 0) {
252
+ return;
253
+ }
254
+ noticeId += 1;
255
+ update((current) => ({
256
+ ...current,
257
+ notices: nextNotices(current.notices, {
258
+ id: noticeId,
259
+ level,
260
+ kind: level,
261
+ message,
262
+ createdAtEpochMs: Date.now(),
263
+ }),
264
+ }));
265
+ },
266
+ clearNotices: () => {
267
+ update((current) => ({
268
+ ...current,
269
+ notices: [],
270
+ }));
271
+ },
272
+ setRegion: (region) => {
273
+ update((current) => ({
274
+ ...current,
275
+ health: {
276
+ ...current.health,
277
+ region,
278
+ },
279
+ }));
280
+ },
281
+ setCloudflaredConnected: (connected) => {
282
+ update((current) => {
283
+ const next = {
284
+ ...current,
285
+ health: {
286
+ ...current.health,
287
+ cloudflaredConnected: connected,
288
+ },
289
+ };
290
+ return {
291
+ ...next,
292
+ health: {
293
+ ...next.health,
294
+ statusLabel: resolveStatusLabel(next),
295
+ },
296
+ };
297
+ });
298
+ },
299
+ setTelemetryDisabled: (disabled) => {
300
+ update((current) => ({
301
+ ...current,
302
+ health: {
303
+ ...current.health,
304
+ telemetryDisabled: disabled,
305
+ },
306
+ }));
307
+ },
308
+ recordHeartbeat: (epochMs = Date.now()) => {
309
+ update((current) => ({
310
+ ...current,
311
+ health: {
312
+ ...current.health,
313
+ lastHeartbeatAtEpochMs: epochMs,
314
+ },
315
+ }));
316
+ },
317
+ setLocalTargetReachable: (reachable, epochMs = Date.now()) => {
318
+ update((current) => {
319
+ const next = {
320
+ ...current,
321
+ health: {
322
+ ...current.health,
323
+ localTargetReachable: reachable,
324
+ lastLocalTargetCheckAtEpochMs: epochMs,
325
+ },
326
+ };
327
+ return {
328
+ ...next,
329
+ health: {
330
+ ...next.health,
331
+ statusLabel: resolveStatusLabel(next),
332
+ },
333
+ };
334
+ });
335
+ },
336
+ setStatusLabel: (label) => {
337
+ update((current) => ({
338
+ ...current,
339
+ health: {
340
+ ...current.health,
341
+ statusLabel: label,
342
+ },
343
+ }));
344
+ },
345
+ setPhase: (phase) => {
346
+ update((current) => {
347
+ const next = {
348
+ ...current,
349
+ phase,
350
+ };
351
+ return {
352
+ ...next,
353
+ health: {
354
+ ...next.health,
355
+ statusLabel: resolveStatusLabel(next),
356
+ },
357
+ };
358
+ });
359
+ },
360
+ markRestarting: () => {
361
+ update((current) => {
362
+ const next = {
363
+ ...current,
364
+ phase: 'restarting',
365
+ mode: 'startup',
366
+ };
367
+ return {
368
+ ...next,
369
+ health: {
370
+ ...next.health,
371
+ cloudflaredConnected: false,
372
+ statusLabel: resolveStatusLabel(next),
373
+ },
374
+ };
375
+ });
376
+ },
377
+ markStopping: () => {
378
+ update((current) => {
379
+ const next = {
380
+ ...current,
381
+ phase: 'stopping',
382
+ };
383
+ return {
384
+ ...next,
385
+ health: {
386
+ ...next.health,
387
+ statusLabel: resolveStatusLabel(next),
388
+ },
389
+ };
390
+ });
391
+ },
392
+ markStopped: () => {
393
+ update((current) => {
394
+ const next = {
395
+ ...current,
396
+ phase: 'stopped',
397
+ };
398
+ return {
399
+ ...next,
400
+ health: {
401
+ ...next.health,
402
+ cloudflaredConnected: false,
403
+ statusLabel: resolveStatusLabel(next),
404
+ },
405
+ };
406
+ });
407
+ },
408
+ markFailed: (message) => {
409
+ noticeId += 1;
410
+ update((current) => {
411
+ const next = {
412
+ ...current,
413
+ phase: 'failed',
414
+ notices: nextNotices(current.notices, {
415
+ id: noticeId,
416
+ level: 'error',
417
+ kind: 'error',
418
+ message,
419
+ createdAtEpochMs: Date.now(),
420
+ }),
421
+ };
422
+ return {
423
+ ...next,
424
+ health: {
425
+ ...next.health,
426
+ cloudflaredConnected: false,
427
+ statusLabel: resolveStatusLabel(next),
428
+ },
429
+ };
430
+ });
431
+ },
432
+ markLive: (epochMs = Date.now()) => {
433
+ update((current) => {
434
+ const nextMode = current.mode === 'logs' ? 'logs' : 'running';
435
+ const next = {
436
+ ...current,
437
+ phase: 'live',
438
+ mode: nextMode,
439
+ session: {
440
+ ...current.session,
441
+ startedAtEpochMs: current.session.startedAtEpochMs ?? epochMs,
442
+ },
443
+ };
444
+ return {
445
+ ...next,
446
+ health: {
447
+ ...next.health,
448
+ statusLabel: resolveStatusLabel(next),
449
+ },
450
+ };
451
+ });
452
+ },
453
+ };
454
+ }
455
+ //# sourceMappingURL=up-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"up-runtime.js","sourceRoot":"","sources":["../../src/lib/up-runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './output.js';
2
+ export * from './primitives.js';
@@ -0,0 +1,3 @@
1
+ export * from './output.js';
2
+ export * from './primitives.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { type Instance, type RenderOptions } from 'ink';
2
+ import type { ReactElement } from 'react';
3
+ export type CliTerminal = {
4
+ stdin?: NodeJS.ReadStream;
5
+ stdout?: NodeJS.WriteStream;
6
+ };
7
+ export type CliOutputBranch<T> = {
8
+ interactive: (terminal: Required<CliTerminal>) => T;
9
+ plain: (terminal: Required<Pick<CliTerminal, 'stdout'>>) => T;
10
+ };
11
+ export type RenderCliOutputInput<T> = {
12
+ terminal?: CliTerminal;
13
+ branch: CliOutputBranch<T>;
14
+ };
15
+ export declare function isInteractiveTerminal(input?: CliTerminal): boolean;
16
+ export declare function withCliOutput<T>(input: RenderCliOutputInput<T>): T;
17
+ export declare function renderCliApp(element: ReactElement, input?: CliTerminal, options?: Omit<RenderOptions, 'stdin' | 'stdout'>): Instance | null;
18
+ export declare function stopCliApp(app: Instance | null): Promise<void>;
19
+ export declare function writePlainLines(stdout: NodeJS.WriteStream, lines: readonly string[]): void;
20
+ export declare function writePlainBlock(stdout: NodeJS.WriteStream, content: string | readonly string[]): void;