@voidhash/mimic-effect 1.0.0-beta.16 → 1.0.0-beta.18
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.
- package/dist/ColdStorage.cjs +1 -1
- package/dist/ColdStorage.d.cts +2 -2
- package/dist/ColdStorage.d.cts.map +1 -1
- package/dist/ColdStorage.d.mts +2 -2
- package/dist/ColdStorage.d.mts.map +1 -1
- package/dist/ColdStorage.mjs +2 -2
- package/dist/ColdStorage.mjs.map +1 -1
- package/dist/DocumentInstance.cjs +13 -13
- package/dist/DocumentInstance.mjs +13 -13
- package/dist/DocumentInstance.mjs.map +1 -1
- package/dist/Errors.d.cts +8 -8
- package/dist/Errors.d.cts.map +1 -1
- package/dist/Errors.d.mts +8 -8
- package/dist/Errors.d.mts.map +1 -1
- package/dist/HotStorage.cjs +1 -1
- package/dist/HotStorage.d.cts +2 -2
- package/dist/HotStorage.d.mts +2 -2
- package/dist/HotStorage.mjs +2 -2
- package/dist/HotStorage.mjs.map +1 -1
- package/dist/Metrics.cjs +6 -6
- package/dist/Metrics.d.cts +21 -23
- package/dist/Metrics.d.cts.map +1 -1
- package/dist/Metrics.d.mts +21 -23
- package/dist/Metrics.d.mts.map +1 -1
- package/dist/Metrics.mjs +7 -7
- package/dist/Metrics.mjs.map +1 -1
- package/dist/MimicAuthService.cjs +1 -1
- package/dist/MimicAuthService.d.cts +2 -2
- package/dist/MimicAuthService.d.cts.map +1 -1
- package/dist/MimicAuthService.d.mts +2 -2
- package/dist/MimicAuthService.d.mts.map +1 -1
- package/dist/MimicAuthService.mjs +2 -2
- package/dist/MimicAuthService.mjs.map +1 -1
- package/dist/MimicClusterServerEngine.cjs +38 -41
- package/dist/MimicClusterServerEngine.d.cts +1 -1
- package/dist/MimicClusterServerEngine.d.mts +1 -1
- package/dist/MimicClusterServerEngine.mjs +31 -34
- package/dist/MimicClusterServerEngine.mjs.map +1 -1
- package/dist/MimicServer.cjs +23 -23
- package/dist/MimicServer.d.cts +3 -3
- package/dist/MimicServer.d.cts.map +1 -1
- package/dist/MimicServer.d.mts +3 -3
- package/dist/MimicServer.d.mts.map +1 -1
- package/dist/MimicServer.mjs +22 -22
- package/dist/MimicServer.mjs.map +1 -1
- package/dist/MimicServerEngine.cjs +13 -13
- package/dist/MimicServerEngine.d.cts +2 -2
- package/dist/MimicServerEngine.d.mts +2 -2
- package/dist/MimicServerEngine.mjs +14 -14
- package/dist/MimicServerEngine.mjs.map +1 -1
- package/dist/PresenceManager.cjs +4 -4
- package/dist/PresenceManager.d.cts +2 -2
- package/dist/PresenceManager.d.mts +2 -2
- package/dist/PresenceManager.mjs +5 -5
- package/dist/PresenceManager.mjs.map +1 -1
- package/dist/Types.d.cts +1 -1
- package/dist/Types.d.mts +1 -1
- package/dist/testing/ColdStorageTestSuite.cjs +3 -3
- package/dist/testing/ColdStorageTestSuite.mjs +3 -3
- package/dist/testing/ColdStorageTestSuite.mjs.map +1 -1
- package/dist/testing/HotStorageTestSuite.cjs +13 -13
- package/dist/testing/HotStorageTestSuite.mjs +13 -13
- package/dist/testing/HotStorageTestSuite.mjs.map +1 -1
- package/dist/testing/StorageIntegrationTestSuite.cjs +3 -3
- package/dist/testing/StorageIntegrationTestSuite.mjs +3 -3
- package/dist/testing/StorageIntegrationTestSuite.mjs.map +1 -1
- package/dist/testing/types.d.cts +3 -3
- package/dist/testing/types.d.cts.map +1 -1
- package/dist/testing/types.d.mts +1 -1
- package/dist/testing/types.d.mts.map +1 -1
- package/package.json +17 -21
- package/src/ColdStorage.ts +4 -5
- package/src/DocumentInstance.ts +13 -13
- package/src/HotStorage.ts +3 -3
- package/src/Metrics.ts +22 -16
- package/src/MimicAuthService.ts +3 -3
- package/src/MimicClusterServerEngine.ts +35 -35
- package/src/MimicServer.ts +26 -30
- package/src/MimicServerEngine.ts +15 -15
- package/src/PresenceManager.ts +6 -6
- package/src/Types.ts +1 -1
- package/src/testing/ColdStorageTestSuite.ts +3 -3
- package/src/testing/HotStorageTestSuite.ts +17 -17
- package/src/testing/StorageIntegrationTestSuite.ts +3 -3
- package/.turbo/turbo-build.log +0 -154
- package/tests/ColdStorage.test.ts +0 -24
- package/tests/DocumentInstance.test.ts +0 -669
- package/tests/HotStorage.test.ts +0 -24
- package/tests/MimicAuthService.test.ts +0 -153
- package/tests/MimicClusterServerEngine.test.ts +0 -587
- package/tests/MimicServer.test.ts +0 -142
- package/tests/MimicServerEngine.test.ts +0 -547
- package/tests/PresenceManager.test.ts +0 -380
- package/tests/Protocol.test.ts +0 -190
- package/tests/StorageIntegration.test.ts +0 -259
- package/tsconfig.build.json +0 -24
- package/tsconfig.json +0 -8
- package/tsdown.config.ts +0 -18
- package/vitest.mts +0 -11
package/src/MimicServer.ts
CHANGED
|
@@ -12,12 +12,8 @@ import {
|
|
|
12
12
|
Metric,
|
|
13
13
|
Stream,
|
|
14
14
|
} from "effect";
|
|
15
|
-
import {
|
|
16
|
-
|
|
17
|
-
HttpServerRequest,
|
|
18
|
-
HttpServerResponse,
|
|
19
|
-
} from "@effect/platform";
|
|
20
|
-
import type * as Socket from "@effect/platform/Socket";
|
|
15
|
+
import { HttpRouter, HttpServerRequest, HttpServerResponse } from "effect/unstable/http";
|
|
16
|
+
import type * as Socket from "effect/unstable/socket";
|
|
21
17
|
import { Presence } from "@voidhash/mimic";
|
|
22
18
|
import type { MimicServerRouteConfig, ResolvedRouteConfig } from "./Types";
|
|
23
19
|
import * as Protocol from "./Protocol";
|
|
@@ -43,10 +39,10 @@ const resolveRouteConfig = (
|
|
|
43
39
|
): ResolvedRouteConfig => ({
|
|
44
40
|
path: config?.path ?? DEFAULT_PATH,
|
|
45
41
|
heartbeatInterval: config?.heartbeatInterval
|
|
46
|
-
? Duration.
|
|
42
|
+
? Duration.fromInputUnsafe(config.heartbeatInterval)
|
|
47
43
|
: DEFAULT_HEARTBEAT_INTERVAL,
|
|
48
44
|
heartbeatTimeout: config?.heartbeatTimeout
|
|
49
|
-
? Duration.
|
|
45
|
+
? Duration.fromInputUnsafe(config.heartbeatTimeout)
|
|
50
46
|
: DEFAULT_HEARTBEAT_TIMEOUT,
|
|
51
47
|
});
|
|
52
48
|
|
|
@@ -94,7 +90,7 @@ interface ConnectionState {
|
|
|
94
90
|
*/
|
|
95
91
|
const handleWebSocketConnection = Effect.fn("websocket.connection.handle")(
|
|
96
92
|
function* (
|
|
97
|
-
socket: Socket.Socket,
|
|
93
|
+
socket: Socket.Socket.Socket,
|
|
98
94
|
documentId: string,
|
|
99
95
|
engine: MimicServerEngine,
|
|
100
96
|
authService: MimicAuthService,
|
|
@@ -104,8 +100,8 @@ const handleWebSocketConnection = Effect.fn("websocket.connection.handle")(
|
|
|
104
100
|
const connectionStartTime = Date.now();
|
|
105
101
|
|
|
106
102
|
// Track connection metrics
|
|
107
|
-
yield* Metric.
|
|
108
|
-
yield* Metric.
|
|
103
|
+
yield* Metric.update(Metrics.connectionsTotal, 1);
|
|
104
|
+
yield* Metric.update(Metrics.connectionsActive, 1);
|
|
109
105
|
|
|
110
106
|
// Track connection state (mutable for simplicity)
|
|
111
107
|
const state: ConnectionState = {
|
|
@@ -146,18 +142,18 @@ const handleWebSocketConnection = Effect.fn("websocket.connection.handle")(
|
|
|
146
142
|
|
|
147
143
|
// Handle authentication
|
|
148
144
|
const handleAuth = Effect.fn("auth.handle")(function* (token: string) {
|
|
149
|
-
const result = yield* Effect.
|
|
145
|
+
const result = yield* Effect.result(
|
|
150
146
|
authService.authenticate(token, documentId)
|
|
151
147
|
);
|
|
152
148
|
|
|
153
|
-
if (result._tag === "
|
|
149
|
+
if (result._tag === "Success") {
|
|
154
150
|
state.authenticated = true;
|
|
155
|
-
state.authContext = result.
|
|
151
|
+
state.authContext = result.success;
|
|
156
152
|
|
|
157
153
|
yield* sendMessage(
|
|
158
154
|
Protocol.authResultSuccess(
|
|
159
|
-
result.
|
|
160
|
-
result.
|
|
155
|
+
result.success.userId,
|
|
156
|
+
result.success.permission
|
|
161
157
|
)
|
|
162
158
|
);
|
|
163
159
|
|
|
@@ -167,10 +163,10 @@ const handleWebSocketConnection = Effect.fn("websocket.connection.handle")(
|
|
|
167
163
|
// Send presence snapshot after successful auth
|
|
168
164
|
yield* sendPresenceSnapshot();
|
|
169
165
|
} else {
|
|
170
|
-
yield* Metric.
|
|
166
|
+
yield* Metric.update(Metrics.connectionsErrors, 1);
|
|
171
167
|
yield* sendMessage(
|
|
172
168
|
Protocol.authResultFailure(
|
|
173
|
-
result.
|
|
169
|
+
result.failure.reason ?? "Authentication failed"
|
|
174
170
|
)
|
|
175
171
|
);
|
|
176
172
|
}
|
|
@@ -295,7 +291,7 @@ const handleWebSocketConnection = Effect.fn("websocket.connection.handle")(
|
|
|
295
291
|
);
|
|
296
292
|
|
|
297
293
|
// Subscribe to document broadcasts
|
|
298
|
-
const subscribeFiber = yield* Effect.
|
|
294
|
+
const subscribeFiber = yield* Effect.forkChild(
|
|
299
295
|
Effect.fn("subscriptions.document.start")(function* () {
|
|
300
296
|
// Wait until authenticated before subscribing
|
|
301
297
|
while (!state.authenticated) {
|
|
@@ -313,7 +309,7 @@ const handleWebSocketConnection = Effect.fn("websocket.connection.handle")(
|
|
|
313
309
|
);
|
|
314
310
|
|
|
315
311
|
// Subscribe to presence events (if presence is enabled)
|
|
316
|
-
const presenceFiber = yield* Effect.
|
|
312
|
+
const presenceFiber = yield* Effect.forkChild(
|
|
317
313
|
Effect.fn("subscriptions.presence.start")(function* () {
|
|
318
314
|
if (!engine.config.presence) return;
|
|
319
315
|
|
|
@@ -359,7 +355,7 @@ const handleWebSocketConnection = Effect.fn("websocket.connection.handle")(
|
|
|
359
355
|
}
|
|
360
356
|
|
|
361
357
|
// Update connection metrics
|
|
362
|
-
yield* Metric.
|
|
358
|
+
yield* Metric.update(Metrics.connectionsActive, -1);
|
|
363
359
|
yield* Metric.update(Metrics.connectionsDuration, duration);
|
|
364
360
|
|
|
365
361
|
yield* Effect.logDebug("WebSocket connection closed", {
|
|
@@ -371,12 +367,12 @@ const handleWebSocketConnection = Effect.fn("websocket.connection.handle")(
|
|
|
371
367
|
);
|
|
372
368
|
|
|
373
369
|
// Process incoming messages
|
|
374
|
-
yield* socket.runRaw((data) =>
|
|
370
|
+
yield* socket.runRaw((data: string | Uint8Array) =>
|
|
375
371
|
Effect.fn("message.process")(function* () {
|
|
376
372
|
const message = yield* Protocol.parseClientMessage(data);
|
|
377
373
|
yield* handleMessage(message);
|
|
378
374
|
})().pipe(
|
|
379
|
-
Effect
|
|
375
|
+
Effect["catch"]((error) =>
|
|
380
376
|
Effect.logError("Message handling error", error)
|
|
381
377
|
)
|
|
382
378
|
)
|
|
@@ -433,11 +429,11 @@ export const layerHttpLayerRouter = (
|
|
|
433
429
|
|
|
434
430
|
// Build the route path pattern: {path}/doc/:documentId
|
|
435
431
|
const routePath =
|
|
436
|
-
`${routeConfig.path}/doc/:documentId` as
|
|
432
|
+
`${routeConfig.path}/doc/:documentId` as HttpRouter.PathInput;
|
|
437
433
|
|
|
438
|
-
return Layer.
|
|
434
|
+
return Layer.effectDiscard(
|
|
439
435
|
Effect.gen(function* () {
|
|
440
|
-
const router = yield*
|
|
436
|
+
const router = yield* HttpRouter.HttpRouter;
|
|
441
437
|
// Capture engine and auth service at layer creation time
|
|
442
438
|
const engine = yield* MimicServerEngineTag;
|
|
443
439
|
const authService = yield* MimicAuthServiceTag;
|
|
@@ -447,16 +443,16 @@ export const layerHttpLayerRouter = (
|
|
|
447
443
|
const handler = Effect.fn("websocket.route.handler")(
|
|
448
444
|
function* (request: HttpServerRequest.HttpServerRequest) {
|
|
449
445
|
// Extract document ID from path
|
|
450
|
-
const documentIdResult = yield* Effect.
|
|
446
|
+
const documentIdResult = yield* Effect.result(
|
|
451
447
|
extractDocumentId(request.url)
|
|
452
448
|
);
|
|
453
|
-
if (documentIdResult._tag === "
|
|
449
|
+
if (documentIdResult._tag === "Failure") {
|
|
454
450
|
return HttpServerResponse.text(
|
|
455
451
|
`Missing document ID in path: ${request.url}`,
|
|
456
452
|
{ status: 400 }
|
|
457
453
|
);
|
|
458
454
|
}
|
|
459
|
-
const documentId = documentIdResult.
|
|
455
|
+
const documentId = documentIdResult.success;
|
|
460
456
|
|
|
461
457
|
// Upgrade to WebSocket
|
|
462
458
|
const socket = yield* request.upgrade;
|
|
@@ -470,7 +466,7 @@ export const layerHttpLayerRouter = (
|
|
|
470
466
|
routeConfig
|
|
471
467
|
).pipe(
|
|
472
468
|
Effect.scoped,
|
|
473
|
-
Effect
|
|
469
|
+
Effect["catch"]((error) =>
|
|
474
470
|
Effect.logError("WebSocket connection error", error)
|
|
475
471
|
)
|
|
476
472
|
);
|
package/src/MimicServerEngine.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* This is the engine layer - for WebSocket routes, use MimicServer.layerHttpLayerRouter().
|
|
8
8
|
*/
|
|
9
9
|
import {
|
|
10
|
-
|
|
10
|
+
ServiceMap,
|
|
11
11
|
Duration,
|
|
12
12
|
Effect,
|
|
13
13
|
HashMap,
|
|
@@ -152,9 +152,9 @@ export interface MimicServerEngine {
|
|
|
152
152
|
/**
|
|
153
153
|
* Context tag for MimicServerEngine
|
|
154
154
|
*/
|
|
155
|
-
export class MimicServerEngineTag extends
|
|
155
|
+
export class MimicServerEngineTag extends ServiceMap.Service<MimicServerEngineTag, MimicServerEngine>()(
|
|
156
156
|
"@voidhash/mimic-effect/MimicServerEngine"
|
|
157
|
-
)
|
|
157
|
+
) {}
|
|
158
158
|
|
|
159
159
|
// =============================================================================
|
|
160
160
|
// Default Configuration
|
|
@@ -176,18 +176,18 @@ const resolveConfig = <TSchema extends Primitive.AnyPrimitive>(
|
|
|
176
176
|
initial: config.initial,
|
|
177
177
|
presence: config.presence,
|
|
178
178
|
maxIdleTime: config.maxIdleTime
|
|
179
|
-
? Duration.
|
|
179
|
+
? Duration.fromInputUnsafe(config.maxIdleTime)
|
|
180
180
|
: DEFAULT_MAX_IDLE_TIME,
|
|
181
181
|
maxTransactionHistory:
|
|
182
182
|
config.maxTransactionHistory ?? DEFAULT_MAX_TRANSACTION_HISTORY,
|
|
183
183
|
snapshot: {
|
|
184
184
|
interval: config.snapshot?.interval
|
|
185
|
-
? Duration.
|
|
185
|
+
? Duration.fromInputUnsafe(config.snapshot.interval)
|
|
186
186
|
: DEFAULT_SNAPSHOT_INTERVAL,
|
|
187
187
|
transactionThreshold:
|
|
188
188
|
config.snapshot?.transactionThreshold ?? DEFAULT_SNAPSHOT_THRESHOLD,
|
|
189
189
|
idleTimeout: config.snapshot?.idleTimeout
|
|
190
|
-
? Duration.
|
|
190
|
+
? Duration.fromInputUnsafe(config.snapshot.idleTimeout)
|
|
191
191
|
: DEFAULT_SNAPSHOT_IDLE_TIMEOUT,
|
|
192
192
|
},
|
|
193
193
|
});
|
|
@@ -248,7 +248,7 @@ export const make = <TSchema extends Primitive.AnyPrimitive>(
|
|
|
248
248
|
> => {
|
|
249
249
|
const resolvedConfig = resolveConfig(config);
|
|
250
250
|
|
|
251
|
-
return Layer.
|
|
251
|
+
return Layer.effect(
|
|
252
252
|
MimicServerEngineTag,
|
|
253
253
|
Effect.gen(function* () {
|
|
254
254
|
const coldStorage = yield* ColdStorageTag;
|
|
@@ -311,7 +311,7 @@ export const make = <TSchema extends Primitive.AnyPrimitive>(
|
|
|
311
311
|
const lastActivity = yield* Ref.get(entry.lastActivityTime);
|
|
312
312
|
if (now - lastActivity >= maxIdleMs) {
|
|
313
313
|
// Save final snapshot before eviction (best effort)
|
|
314
|
-
yield* Effect
|
|
314
|
+
yield* Effect["catch"](entry.instance.saveSnapshot(), (e) =>
|
|
315
315
|
Effect.logError("Failed to save snapshot during eviction", {
|
|
316
316
|
documentId,
|
|
317
317
|
error: e,
|
|
@@ -322,8 +322,8 @@ export const make = <TSchema extends Primitive.AnyPrimitive>(
|
|
|
322
322
|
yield* Ref.update(store, (map) => HashMap.remove(map, documentId));
|
|
323
323
|
|
|
324
324
|
// Track eviction metrics
|
|
325
|
-
yield* Metric.
|
|
326
|
-
yield* Metric.
|
|
325
|
+
yield* Metric.update(Metrics.documentsEvicted, 1);
|
|
326
|
+
yield* Metric.update(Metrics.documentsActive, -1);
|
|
327
327
|
|
|
328
328
|
yield* Effect.logInfo("Document evicted due to idle timeout", {
|
|
329
329
|
documentId,
|
|
@@ -335,7 +335,7 @@ export const make = <TSchema extends Primitive.AnyPrimitive>(
|
|
|
335
335
|
// Run GC every minute
|
|
336
336
|
yield* gcLoop().pipe(
|
|
337
337
|
Effect.repeat(Schedule.spaced("1 minute")),
|
|
338
|
-
Effect.
|
|
338
|
+
Effect.forkChild
|
|
339
339
|
);
|
|
340
340
|
});
|
|
341
341
|
|
|
@@ -376,7 +376,7 @@ export const make = <TSchema extends Primitive.AnyPrimitive>(
|
|
|
376
376
|
}
|
|
377
377
|
|
|
378
378
|
// Save snapshot (with error handling)
|
|
379
|
-
yield* Effect
|
|
379
|
+
yield* Effect["catch"](entry.instance.saveSnapshot(), (e) =>
|
|
380
380
|
Effect.logWarning("Periodic snapshot save failed", {
|
|
381
381
|
documentId,
|
|
382
382
|
error: e,
|
|
@@ -384,14 +384,14 @@ export const make = <TSchema extends Primitive.AnyPrimitive>(
|
|
|
384
384
|
);
|
|
385
385
|
|
|
386
386
|
// Track metric
|
|
387
|
-
yield* Metric.
|
|
387
|
+
yield* Metric.update(Metrics.storageIdleSnapshots, 1);
|
|
388
388
|
}
|
|
389
389
|
});
|
|
390
390
|
|
|
391
391
|
// Run snapshot check every 10 seconds
|
|
392
392
|
yield* snapshotLoop().pipe(
|
|
393
393
|
Effect.repeat(Schedule.spaced("10 seconds")),
|
|
394
|
-
Effect.
|
|
394
|
+
Effect.forkChild
|
|
395
395
|
);
|
|
396
396
|
});
|
|
397
397
|
|
|
@@ -404,7 +404,7 @@ export const make = <TSchema extends Primitive.AnyPrimitive>(
|
|
|
404
404
|
const current = yield* Ref.get(store);
|
|
405
405
|
for (const [documentId, entry] of current) {
|
|
406
406
|
// Best effort save - don't fail shutdown if storage is unavailable
|
|
407
|
-
yield* Effect
|
|
407
|
+
yield* Effect["catch"](entry.instance.saveSnapshot(), (e) =>
|
|
408
408
|
Effect.logError("Failed to save snapshot during shutdown", {
|
|
409
409
|
documentId,
|
|
410
410
|
error: e,
|
package/src/PresenceManager.ts
CHANGED
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
* Internal service for managing presence state per document.
|
|
5
5
|
*/
|
|
6
6
|
import {
|
|
7
|
-
Context,
|
|
8
7
|
Effect,
|
|
9
8
|
HashMap,
|
|
10
9
|
Layer,
|
|
@@ -12,6 +11,7 @@ import {
|
|
|
12
11
|
PubSub,
|
|
13
12
|
Ref,
|
|
14
13
|
Scope,
|
|
14
|
+
ServiceMap,
|
|
15
15
|
Stream,
|
|
16
16
|
} from "effect";
|
|
17
17
|
import type {
|
|
@@ -72,9 +72,9 @@ export interface PresenceManager {
|
|
|
72
72
|
/**
|
|
73
73
|
* Context tag for PresenceManager service
|
|
74
74
|
*/
|
|
75
|
-
export class PresenceManagerTag extends
|
|
75
|
+
export class PresenceManagerTag extends ServiceMap.Service<PresenceManagerTag, PresenceManager>()(
|
|
76
76
|
"@voidhash/mimic-effect/PresenceManager"
|
|
77
|
-
)
|
|
77
|
+
) {}
|
|
78
78
|
|
|
79
79
|
// =============================================================================
|
|
80
80
|
// Internal Types
|
|
@@ -167,8 +167,8 @@ export const layer: Layer.Layer<PresenceManagerTag> = Layer.effect(
|
|
|
167
167
|
});
|
|
168
168
|
|
|
169
169
|
// Track metrics
|
|
170
|
-
yield* Metric.
|
|
171
|
-
yield* Metric.
|
|
170
|
+
yield* Metric.update(Metrics.presenceUpdates, 1);
|
|
171
|
+
yield* Metric.update(Metrics.presenceActive, 1);
|
|
172
172
|
|
|
173
173
|
// Broadcast update event
|
|
174
174
|
const event: PresenceEvent = {
|
|
@@ -205,7 +205,7 @@ export const layer: Layer.Layer<PresenceManagerTag> = Layer.effect(
|
|
|
205
205
|
});
|
|
206
206
|
|
|
207
207
|
// Track metrics
|
|
208
|
-
yield* Metric.
|
|
208
|
+
yield* Metric.update(Metrics.presenceActive, -1);
|
|
209
209
|
|
|
210
210
|
// Broadcast remove event
|
|
211
211
|
const event: PresenceEvent = {
|
package/src/Types.ts
CHANGED
|
@@ -107,7 +107,7 @@ export type PresenceEvent = PresenceUpdateEvent | PresenceRemoveEvent;
|
|
|
107
107
|
/**
|
|
108
108
|
* Duration input type - matches Effect's DurationInput
|
|
109
109
|
*/
|
|
110
|
-
export type DurationInput = Duration.
|
|
110
|
+
export type DurationInput = Duration.Input;
|
|
111
111
|
|
|
112
112
|
/**
|
|
113
113
|
* Snapshot configuration
|
|
@@ -565,11 +565,11 @@ export const runAll = (): Effect.Effect<
|
|
|
565
565
|
}> = [];
|
|
566
566
|
|
|
567
567
|
for (const test of tests) {
|
|
568
|
-
const result = yield* Effect.
|
|
569
|
-
if (result._tag === "
|
|
568
|
+
const result = yield* Effect.result(test.run);
|
|
569
|
+
if (result._tag === "Success") {
|
|
570
570
|
passed.push(test);
|
|
571
571
|
} else {
|
|
572
|
-
failed.push({ test, error: result.
|
|
572
|
+
failed.push({ test, error: result.failure });
|
|
573
573
|
}
|
|
574
574
|
}
|
|
575
575
|
|
|
@@ -659,16 +659,16 @@ const tests: StorageTestCase<HotStorageTestError, HotStorageTag>[] = [
|
|
|
659
659
|
const storage = yield* HotStorageTag;
|
|
660
660
|
yield* storage.appendWithCheck("gap-check-fail", makeEntry(1), 1);
|
|
661
661
|
// Attempt to append version 3, skipping version 2
|
|
662
|
-
const result = yield* Effect.
|
|
662
|
+
const result = yield* Effect.result(
|
|
663
663
|
storage.appendWithCheck("gap-check-fail", makeEntry(3), 3)
|
|
664
664
|
);
|
|
665
665
|
yield* assertTrue(
|
|
666
|
-
result._tag === "
|
|
666
|
+
result._tag === "Failure",
|
|
667
667
|
"appendWithCheck should fail when there's a version gap"
|
|
668
668
|
);
|
|
669
|
-
if (result._tag === "
|
|
669
|
+
if (result._tag === "Failure") {
|
|
670
670
|
yield* assertTrue(
|
|
671
|
-
result.
|
|
671
|
+
result.failure._tag === "WalVersionGapError",
|
|
672
672
|
"Error should be WalVersionGapError"
|
|
673
673
|
);
|
|
674
674
|
}
|
|
@@ -685,16 +685,16 @@ const tests: StorageTestCase<HotStorageTestError, HotStorageTag>[] = [
|
|
|
685
685
|
run: Effect.gen(function* () {
|
|
686
686
|
const storage = yield* HotStorageTag;
|
|
687
687
|
// Attempt to append version 2 as first entry (expecting gap error)
|
|
688
|
-
const result = yield* Effect.
|
|
688
|
+
const result = yield* Effect.result(
|
|
689
689
|
storage.appendWithCheck("gap-check-not-first", makeEntry(2), 2)
|
|
690
690
|
);
|
|
691
691
|
yield* assertTrue(
|
|
692
|
-
result._tag === "
|
|
692
|
+
result._tag === "Failure",
|
|
693
693
|
"appendWithCheck should fail when first entry is not version 1"
|
|
694
694
|
);
|
|
695
|
-
if (result._tag === "
|
|
695
|
+
if (result._tag === "Failure") {
|
|
696
696
|
yield* assertTrue(
|
|
697
|
-
result.
|
|
697
|
+
result.failure._tag === "WalVersionGapError",
|
|
698
698
|
"Error should be WalVersionGapError"
|
|
699
699
|
);
|
|
700
700
|
}
|
|
@@ -711,11 +711,11 @@ const tests: StorageTestCase<HotStorageTestError, HotStorageTag>[] = [
|
|
|
711
711
|
const storage = yield* HotStorageTag;
|
|
712
712
|
yield* storage.appendWithCheck("gap-check-duplicate", makeEntry(1), 1);
|
|
713
713
|
// Attempt to append another version 1
|
|
714
|
-
const result = yield* Effect.
|
|
714
|
+
const result = yield* Effect.result(
|
|
715
715
|
storage.appendWithCheck("gap-check-duplicate", makeEntry(1), 1)
|
|
716
716
|
);
|
|
717
717
|
yield* assertTrue(
|
|
718
|
-
result._tag === "
|
|
718
|
+
result._tag === "Failure",
|
|
719
719
|
"appendWithCheck should fail when version already exists"
|
|
720
720
|
);
|
|
721
721
|
// Verify still only one entry
|
|
@@ -774,13 +774,13 @@ const tests: StorageTestCase<HotStorageTestError, HotStorageTag>[] = [
|
|
|
774
774
|
// Truncate (to establish empty WAL scenario)
|
|
775
775
|
yield* storage.truncate("gap-base-detect", 5);
|
|
776
776
|
// Try to append version 7 with baseVersion=5 (skipping version 6)
|
|
777
|
-
const result = yield* Effect.
|
|
777
|
+
const result = yield* Effect.result(
|
|
778
778
|
storage.appendWithCheck("gap-base-detect", makeEntry(7), 7, 5)
|
|
779
779
|
);
|
|
780
|
-
yield* assertTrue(result._tag === "
|
|
781
|
-
if (result._tag === "
|
|
780
|
+
yield* assertTrue(result._tag === "Failure", "Should fail when skipping version 6");
|
|
781
|
+
if (result._tag === "Failure") {
|
|
782
782
|
yield* assertTrue(
|
|
783
|
-
result.
|
|
783
|
+
result.failure._tag === "WalVersionGapError",
|
|
784
784
|
"Error should be WalVersionGapError"
|
|
785
785
|
);
|
|
786
786
|
}
|
|
@@ -1137,11 +1137,11 @@ export const runAll = (): Effect.Effect<
|
|
|
1137
1137
|
}> = [];
|
|
1138
1138
|
|
|
1139
1139
|
for (const test of tests) {
|
|
1140
|
-
const result = yield* Effect.
|
|
1141
|
-
if (result._tag === "
|
|
1140
|
+
const result = yield* Effect.result(test.run);
|
|
1141
|
+
if (result._tag === "Success") {
|
|
1142
1142
|
passed.push(test);
|
|
1143
1143
|
} else {
|
|
1144
|
-
failed.push({ test, error: result.
|
|
1144
|
+
failed.push({ test, error: result.failure });
|
|
1145
1145
|
}
|
|
1146
1146
|
}
|
|
1147
1147
|
|
|
@@ -713,12 +713,12 @@ export const runAll = <R>(
|
|
|
713
713
|
const results: Array<{ name: string; passed: boolean; error?: unknown }> = [];
|
|
714
714
|
|
|
715
715
|
for (const test of tests) {
|
|
716
|
-
const result = yield* Effect.
|
|
716
|
+
const result = yield* Effect.result(test.run.pipe(Effect.provide(layer)));
|
|
717
717
|
|
|
718
|
-
if (result._tag === "
|
|
718
|
+
if (result._tag === "Success") {
|
|
719
719
|
results.push({ name: test.name, passed: true });
|
|
720
720
|
} else {
|
|
721
|
-
results.push({ name: test.name, passed: false, error: result.
|
|
721
|
+
results.push({ name: test.name, passed: false, error: result.failure });
|
|
722
722
|
}
|
|
723
723
|
}
|
|
724
724
|
|
package/.turbo/turbo-build.log
DELETED
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
> @voidhash/mimic-effect@1.0.0-beta.16 build /home/runner/work/mimic/mimic/packages/mimic-effect
|
|
3
|
-
> tsdown
|
|
4
|
-
|
|
5
|
-
[34mℹ[39m tsdown [2mv0.18.2[22m powered by rolldown [2mv1.0.0-beta.55[22m
|
|
6
|
-
[34mℹ[39m config file: [4m/home/runner/work/mimic/mimic/packages/mimic-effect/tsdown.config.ts[24m
|
|
7
|
-
[34mℹ[39m entry: [34msrc/index.ts, src/testing/index.ts[39m
|
|
8
|
-
[34mℹ[39m target: [34mes2017[39m
|
|
9
|
-
[34mℹ[39m tsconfig: [34mtsconfig.json[39m
|
|
10
|
-
[34mℹ[39m Build start
|
|
11
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[1mindex.cjs[22m [2m 2.28 kB[22m [2m│ gzip: 0.49 kB[22m
|
|
12
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[1mtesting/index.cjs[22m [2m 0.95 kB[22m [2m│ gzip: 0.22 kB[22m
|
|
13
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mtesting/HotStorageTestSuite.cjs [2m40.13 kB[22m [2m│ gzip: 5.31 kB[22m
|
|
14
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mtesting/StorageIntegrationTestSuite.cjs [2m20.68 kB[22m [2m│ gzip: 3.67 kB[22m
|
|
15
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mtesting/ColdStorageTestSuite.cjs [2m18.14 kB[22m [2m│ gzip: 3.22 kB[22m
|
|
16
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mMimicClusterServerEngine.cjs [2m15.39 kB[22m [2m│ gzip: 3.56 kB[22m
|
|
17
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mDocumentInstance.cjs [2m10.59 kB[22m [2m│ gzip: 2.75 kB[22m
|
|
18
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mMimicServer.cjs [2m10.37 kB[22m [2m│ gzip: 2.84 kB[22m
|
|
19
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mMimicServerEngine.cjs [2m 8.45 kB[22m [2m│ gzip: 2.21 kB[22m
|
|
20
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mtesting/FailingStorage.cjs [2m 6.91 kB[22m [2m│ gzip: 1.53 kB[22m
|
|
21
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mMetrics.cjs [2m 4.47 kB[22m [2m│ gzip: 1.08 kB[22m
|
|
22
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mHotStorage.cjs [2m 4.06 kB[22m [2m│ gzip: 1.31 kB[22m
|
|
23
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mPresenceManager.cjs [2m 3.81 kB[22m [2m│ gzip: 1.03 kB[22m
|
|
24
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mProtocol.cjs [2m 3.78 kB[22m [2m│ gzip: 1.14 kB[22m
|
|
25
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mtesting/assertions.cjs [2m 3.74 kB[22m [2m│ gzip: 1.16 kB[22m
|
|
26
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mMimicAuthService.cjs [2m 2.27 kB[22m [2m│ gzip: 0.88 kB[22m
|
|
27
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mColdStorage.cjs [2m 2.09 kB[22m [2m│ gzip: 0.82 kB[22m
|
|
28
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mErrors.cjs [2m 1.98 kB[22m [2m│ gzip: 0.61 kB[22m
|
|
29
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22m_virtual/_@oxc-project_runtime@0.103.0/helpers/objectSpread2.cjs [2m 0.95 kB[22m [2m│ gzip: 0.43 kB[22m
|
|
30
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22m_virtual/_@oxc-project_runtime@0.103.0/helpers/typeof.cjs [2m 0.53 kB[22m [2m│ gzip: 0.29 kB[22m
|
|
31
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22m_virtual/_@oxc-project_runtime@0.103.0/helpers/toPrimitive.cjs [2m 0.52 kB[22m [2m│ gzip: 0.32 kB[22m
|
|
32
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22m_virtual/_@oxc-project_runtime@0.103.0/helpers/defineProperty.cjs [2m 0.40 kB[22m [2m│ gzip: 0.24 kB[22m
|
|
33
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22m_virtual/_@oxc-project_runtime@0.103.0/helpers/toPropertyKey.cjs [2m 0.37 kB[22m [2m│ gzip: 0.23 kB[22m
|
|
34
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22m_virtual/rolldown_runtime.cjs [2m 0.36 kB[22m [2m│ gzip: 0.25 kB[22m
|
|
35
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mtesting/types.cjs [2m 0.34 kB[22m [2m│ gzip: 0.23 kB[22m
|
|
36
|
-
[34mℹ[39m [33m[CJS][39m 25 files, total: 163.55 kB
|
|
37
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mProtocol.d.cts.map [2m1.57 kB[22m [2m│ gzip: 0.70 kB[22m
|
|
38
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mTypes.d.cts.map [2m1.44 kB[22m [2m│ gzip: 0.66 kB[22m
|
|
39
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mDocumentInstance.d.cts.map [2m1.32 kB[22m [2m│ gzip: 0.59 kB[22m
|
|
40
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mMimicServerEngine.d.cts.map [2m0.93 kB[22m [2m│ gzip: 0.46 kB[22m
|
|
41
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mColdStorage.d.cts.map [2m0.70 kB[22m [2m│ gzip: 0.37 kB[22m
|
|
42
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mMimicAuthService.d.cts.map [2m0.61 kB[22m [2m│ gzip: 0.35 kB[22m
|
|
43
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mErrors.d.cts.map [2m0.60 kB[22m [2m│ gzip: 0.32 kB[22m
|
|
44
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mHotStorage.d.cts.map [2m0.55 kB[22m [2m│ gzip: 0.32 kB[22m
|
|
45
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mtesting/HotStorageTestSuite.d.cts.map [2m0.48 kB[22m [2m│ gzip: 0.29 kB[22m
|
|
46
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mPresenceManager.d.cts.map [2m0.45 kB[22m [2m│ gzip: 0.27 kB[22m
|
|
47
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mtesting/types.d.cts.map [2m0.38 kB[22m [2m│ gzip: 0.23 kB[22m
|
|
48
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mtesting/ColdStorageTestSuite.d.cts.map [2m0.35 kB[22m [2m│ gzip: 0.25 kB[22m
|
|
49
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mtesting/StorageIntegrationTestSuite.d.cts.map [2m0.32 kB[22m [2m│ gzip: 0.21 kB[22m
|
|
50
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mtesting/FailingStorage.d.cts.map [2m0.26 kB[22m [2m│ gzip: 0.18 kB[22m
|
|
51
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mMimicClusterServerEngine.d.cts.map [2m0.25 kB[22m [2m│ gzip: 0.19 kB[22m
|
|
52
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mMimicServer.d.cts.map [2m0.22 kB[22m [2m│ gzip: 0.16 kB[22m
|
|
53
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mMetrics.d.cts.map [2m0.12 kB[22m [2m│ gzip: 0.12 kB[22m
|
|
54
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[32m[1mindex.d.cts[22m[39m [2m2.14 kB[22m [2m│ gzip: 0.53 kB[22m
|
|
55
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[32m[1mtesting/index.d.cts[22m[39m [2m0.91 kB[22m [2m│ gzip: 0.25 kB[22m
|
|
56
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[32mProtocol.d.cts[39m [2m5.84 kB[22m [2m│ gzip: 1.34 kB[22m
|
|
57
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[32mTypes.d.cts[39m [2m5.72 kB[22m [2m│ gzip: 1.61 kB[22m
|
|
58
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[32mErrors.d.cts[39m [2m4.86 kB[22m [2m│ gzip: 1.02 kB[22m
|
|
59
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[32mMimicServerEngine.d.cts[39m [2m4.03 kB[22m [2m│ gzip: 1.20 kB[22m
|
|
60
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[32mDocumentInstance.d.cts[39m [2m3.34 kB[22m [2m│ gzip: 1.10 kB[22m
|
|
61
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[32mHotStorage.d.cts[39m [2m3.11 kB[22m [2m│ gzip: 1.23 kB[22m
|
|
62
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[32mtesting/types.d.cts[39m [2m2.76 kB[22m [2m│ gzip: 1.15 kB[22m
|
|
63
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[32mMimicAuthService.d.cts[39m [2m2.70 kB[22m [2m│ gzip: 1.04 kB[22m
|
|
64
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[32mtesting/HotStorageTestSuite.d.cts[39m [2m1.93 kB[22m [2m│ gzip: 0.57 kB[22m
|
|
65
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[32mColdStorage.d.cts[39m [2m1.74 kB[22m [2m│ gzip: 0.70 kB[22m
|
|
66
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[32mMetrics.d.cts[39m [2m1.65 kB[22m [2m│ gzip: 0.40 kB[22m
|
|
67
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[32mPresenceManager.d.cts[39m [2m1.60 kB[22m [2m│ gzip: 0.63 kB[22m
|
|
68
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[32mtesting/ColdStorageTestSuite.d.cts[39m [2m1.55 kB[22m [2m│ gzip: 0.50 kB[22m
|
|
69
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[32mtesting/FailingStorage.d.cts[39m [2m1.44 kB[22m [2m│ gzip: 0.46 kB[22m
|
|
70
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[32mtesting/StorageIntegrationTestSuite.d.cts[39m [2m1.43 kB[22m [2m│ gzip: 0.57 kB[22m
|
|
71
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[32mMimicClusterServerEngine.d.cts[39m [2m0.82 kB[22m [2m│ gzip: 0.33 kB[22m
|
|
72
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[32mMimicServer.d.cts[39m [2m0.74 kB[22m [2m│ gzip: 0.31 kB[22m
|
|
73
|
-
[34mℹ[39m [33m[CJS][39m 36 files, total: 58.86 kB
|
|
74
|
-
[32m✔[39m Build complete in [32m6299ms[39m
|
|
75
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[1mindex.mjs[22m [2m 1.29 kB[22m [2m│ gzip: 0.34 kB[22m
|
|
76
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[1mtesting/index.mjs[22m [2m 0.60 kB[22m [2m│ gzip: 0.19 kB[22m
|
|
77
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/HotStorageTestSuite.mjs.map [2m67.12 kB[22m [2m│ gzip: 9.05 kB[22m
|
|
78
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/HotStorageTestSuite.mjs [2m36.09 kB[22m [2m│ gzip: 5.26 kB[22m
|
|
79
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/StorageIntegrationTestSuite.mjs.map [2m35.60 kB[22m [2m│ gzip: 6.44 kB[22m
|
|
80
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/ColdStorageTestSuite.mjs.map [2m31.92 kB[22m [2m│ gzip: 5.21 kB[22m
|
|
81
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMimicClusterServerEngine.mjs.map [2m29.67 kB[22m [2m│ gzip: 6.99 kB[22m
|
|
82
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mDocumentInstance.mjs.map [2m24.33 kB[22m [2m│ gzip: 6.31 kB[22m
|
|
83
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMimicServer.mjs.map [2m21.35 kB[22m [2m│ gzip: 5.64 kB[22m
|
|
84
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMimicServerEngine.mjs.map [2m20.00 kB[22m [2m│ gzip: 5.01 kB[22m
|
|
85
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/StorageIntegrationTestSuite.mjs [2m18.49 kB[22m [2m│ gzip: 3.63 kB[22m
|
|
86
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/ColdStorageTestSuite.mjs [2m16.50 kB[22m [2m│ gzip: 3.21 kB[22m
|
|
87
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/FailingStorage.mjs.map [2m15.60 kB[22m [2m│ gzip: 3.07 kB[22m
|
|
88
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMimicClusterServerEngine.mjs [2m14.26 kB[22m [2m│ gzip: 3.58 kB[22m
|
|
89
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mHotStorage.mjs.map [2m11.89 kB[22m [2m│ gzip: 3.36 kB[22m
|
|
90
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mDocumentInstance.mjs [2m10.19 kB[22m [2m│ gzip: 2.77 kB[22m
|
|
91
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMimicServer.mjs [2m 9.90 kB[22m [2m│ gzip: 2.88 kB[22m
|
|
92
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mPresenceManager.mjs.map [2m 9.38 kB[22m [2m│ gzip: 2.38 kB[22m
|
|
93
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mProtocol.mjs.map [2m 9.18 kB[22m [2m│ gzip: 2.15 kB[22m
|
|
94
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMimicServerEngine.mjs [2m 7.95 kB[22m [2m│ gzip: 2.23 kB[22m
|
|
95
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/assertions.mjs.map [2m 7.31 kB[22m [2m│ gzip: 2.01 kB[22m
|
|
96
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/FailingStorage.mjs [2m 6.49 kB[22m [2m│ gzip: 1.52 kB[22m
|
|
97
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMetrics.mjs.map [2m 6.35 kB[22m [2m│ gzip: 1.48 kB[22m
|
|
98
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMimicAuthService.mjs.map [2m 6.09 kB[22m [2m│ gzip: 1.85 kB[22m
|
|
99
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mColdStorage.mjs.map [2m 5.35 kB[22m [2m│ gzip: 1.64 kB[22m
|
|
100
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mErrors.mjs.map [2m 4.00 kB[22m [2m│ gzip: 1.05 kB[22m
|
|
101
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mHotStorage.mjs [2m 3.92 kB[22m [2m│ gzip: 1.32 kB[22m
|
|
102
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMetrics.mjs [2m 3.81 kB[22m [2m│ gzip: 1.05 kB[22m
|
|
103
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mPresenceManager.mjs [2m 3.48 kB[22m [2m│ gzip: 1.04 kB[22m
|
|
104
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/assertions.mjs [2m 3.46 kB[22m [2m│ gzip: 1.15 kB[22m
|
|
105
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mProtocol.mjs [2m 3.35 kB[22m [2m│ gzip: 1.06 kB[22m
|
|
106
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/types.mjs.map [2m 3.22 kB[22m [2m│ gzip: 1.15 kB[22m
|
|
107
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMimicAuthService.mjs [2m 2.23 kB[22m [2m│ gzip: 0.88 kB[22m
|
|
108
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mColdStorage.mjs [2m 2.01 kB[22m [2m│ gzip: 0.83 kB[22m
|
|
109
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mErrors.mjs [2m 1.73 kB[22m [2m│ gzip: 0.61 kB[22m
|
|
110
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mProtocol.d.mts.map [2m 1.57 kB[22m [2m│ gzip: 0.70 kB[22m
|
|
111
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mTypes.d.mts.map [2m 1.44 kB[22m [2m│ gzip: 0.66 kB[22m
|
|
112
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mDocumentInstance.d.mts.map [2m 1.32 kB[22m [2m│ gzip: 0.59 kB[22m
|
|
113
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMimicServerEngine.d.mts.map [2m 0.93 kB[22m [2m│ gzip: 0.46 kB[22m
|
|
114
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m_virtual/_@oxc-project_runtime@0.103.0/helpers/objectSpread2.mjs [2m 0.90 kB[22m [2m│ gzip: 0.42 kB[22m
|
|
115
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mColdStorage.d.mts.map [2m 0.70 kB[22m [2m│ gzip: 0.37 kB[22m
|
|
116
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMimicAuthService.d.mts.map [2m 0.61 kB[22m [2m│ gzip: 0.35 kB[22m
|
|
117
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mErrors.d.mts.map [2m 0.60 kB[22m [2m│ gzip: 0.32 kB[22m
|
|
118
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mHotStorage.d.mts.map [2m 0.55 kB[22m [2m│ gzip: 0.32 kB[22m
|
|
119
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/HotStorageTestSuite.d.mts.map [2m 0.48 kB[22m [2m│ gzip: 0.29 kB[22m
|
|
120
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m_virtual/rolldown_runtime.mjs [2m 0.47 kB[22m [2m│ gzip: 0.30 kB[22m
|
|
121
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m_virtual/_@oxc-project_runtime@0.103.0/helpers/toPrimitive.mjs [2m 0.47 kB[22m [2m│ gzip: 0.30 kB[22m
|
|
122
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mPresenceManager.d.mts.map [2m 0.45 kB[22m [2m│ gzip: 0.27 kB[22m
|
|
123
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m_virtual/_@oxc-project_runtime@0.103.0/helpers/typeof.mjs [2m 0.43 kB[22m [2m│ gzip: 0.24 kB[22m
|
|
124
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/types.d.mts.map [2m 0.38 kB[22m [2m│ gzip: 0.23 kB[22m
|
|
125
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/types.mjs [2m 0.35 kB[22m [2m│ gzip: 0.25 kB[22m
|
|
126
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m_virtual/_@oxc-project_runtime@0.103.0/helpers/defineProperty.mjs [2m 0.35 kB[22m [2m│ gzip: 0.23 kB[22m
|
|
127
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/ColdStorageTestSuite.d.mts.map [2m 0.35 kB[22m [2m│ gzip: 0.25 kB[22m
|
|
128
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/StorageIntegrationTestSuite.d.mts.map [2m 0.32 kB[22m [2m│ gzip: 0.21 kB[22m
|
|
129
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m_virtual/_@oxc-project_runtime@0.103.0/helpers/toPropertyKey.mjs [2m 0.30 kB[22m [2m│ gzip: 0.21 kB[22m
|
|
130
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mtesting/FailingStorage.d.mts.map [2m 0.26 kB[22m [2m│ gzip: 0.18 kB[22m
|
|
131
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMimicClusterServerEngine.d.mts.map [2m 0.25 kB[22m [2m│ gzip: 0.19 kB[22m
|
|
132
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMimicServer.d.mts.map [2m 0.22 kB[22m [2m│ gzip: 0.16 kB[22m
|
|
133
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mMetrics.d.mts.map [2m 0.12 kB[22m [2m│ gzip: 0.12 kB[22m
|
|
134
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32m[1mindex.d.mts[22m[39m [2m 2.14 kB[22m [2m│ gzip: 0.53 kB[22m
|
|
135
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32m[1mtesting/index.d.mts[22m[39m [2m 0.91 kB[22m [2m│ gzip: 0.25 kB[22m
|
|
136
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mProtocol.d.mts[39m [2m 5.84 kB[22m [2m│ gzip: 1.34 kB[22m
|
|
137
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mTypes.d.mts[39m [2m 5.72 kB[22m [2m│ gzip: 1.61 kB[22m
|
|
138
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mErrors.d.mts[39m [2m 4.86 kB[22m [2m│ gzip: 1.02 kB[22m
|
|
139
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mMimicServerEngine.d.mts[39m [2m 4.03 kB[22m [2m│ gzip: 1.20 kB[22m
|
|
140
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mDocumentInstance.d.mts[39m [2m 3.34 kB[22m [2m│ gzip: 1.10 kB[22m
|
|
141
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mHotStorage.d.mts[39m [2m 3.11 kB[22m [2m│ gzip: 1.23 kB[22m
|
|
142
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mtesting/types.d.mts[39m [2m 2.76 kB[22m [2m│ gzip: 1.15 kB[22m
|
|
143
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mMimicAuthService.d.mts[39m [2m 2.70 kB[22m [2m│ gzip: 1.04 kB[22m
|
|
144
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mtesting/HotStorageTestSuite.d.mts[39m [2m 1.93 kB[22m [2m│ gzip: 0.57 kB[22m
|
|
145
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mColdStorage.d.mts[39m [2m 1.74 kB[22m [2m│ gzip: 0.70 kB[22m
|
|
146
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mMetrics.d.mts[39m [2m 1.65 kB[22m [2m│ gzip: 0.40 kB[22m
|
|
147
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mPresenceManager.d.mts[39m [2m 1.60 kB[22m [2m│ gzip: 0.63 kB[22m
|
|
148
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mtesting/ColdStorageTestSuite.d.mts[39m [2m 1.55 kB[22m [2m│ gzip: 0.50 kB[22m
|
|
149
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mtesting/FailingStorage.d.mts[39m [2m 1.44 kB[22m [2m│ gzip: 0.46 kB[22m
|
|
150
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mtesting/StorageIntegrationTestSuite.d.mts[39m [2m 1.43 kB[22m [2m│ gzip: 0.57 kB[22m
|
|
151
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mMimicClusterServerEngine.d.mts[39m [2m 0.82 kB[22m [2m│ gzip: 0.33 kB[22m
|
|
152
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mMimicServer.d.mts[39m [2m 0.74 kB[22m [2m│ gzip: 0.31 kB[22m
|
|
153
|
-
[34mℹ[39m [34m[ESM][39m 78 files, total: 516.25 kB
|
|
154
|
-
[32m✔[39m Build complete in [32m6318ms[39m
|