rivetkit 2.0.28 → 2.0.29
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/tsup/actor/errors.cjs +2 -2
- package/dist/tsup/actor/errors.js +1 -1
- package/dist/tsup/{chunk-EJXISR3H.js → chunk-2LOXTB3G.js} +3 -3
- package/dist/tsup/{chunk-Y2AKEZRY.cjs → chunk-3RJG3PC3.cjs} +3 -3
- package/dist/tsup/{chunk-Y2AKEZRY.cjs.map → chunk-3RJG3PC3.cjs.map} +1 -1
- package/dist/tsup/{chunk-DATRTJVZ.js → chunk-5IE76QRF.js} +3 -3
- package/dist/tsup/{chunk-NR2N4UA2.cjs → chunk-72P7NQS4.cjs} +10 -10
- package/dist/tsup/{chunk-NR2N4UA2.cjs.map → chunk-72P7NQS4.cjs.map} +1 -1
- package/dist/tsup/{chunk-3ZC6SBX6.cjs → chunk-7DSWCOGX.cjs} +183 -182
- package/dist/tsup/chunk-7DSWCOGX.cjs.map +1 -0
- package/dist/tsup/{chunk-M54KFQQP.cjs → chunk-7XZX3T4D.cjs} +8 -8
- package/dist/tsup/{chunk-M54KFQQP.cjs.map → chunk-7XZX3T4D.cjs.map} +1 -1
- package/dist/tsup/{chunk-AE7BB3M2.js → chunk-EWQE7L3V.js} +2 -2
- package/dist/tsup/{chunk-KXSSOVFA.js → chunk-FBPZAU3N.js} +80 -15
- package/dist/tsup/chunk-FBPZAU3N.js.map +1 -0
- package/dist/tsup/{chunk-ZL3SUOIM.js → chunk-H27UUFLD.js} +9 -9
- package/dist/tsup/{chunk-Y5LN2XRH.cjs → chunk-HK6QNZX3.cjs} +8 -8
- package/dist/tsup/{chunk-Y5LN2XRH.cjs.map → chunk-HK6QNZX3.cjs.map} +1 -1
- package/dist/tsup/{chunk-ILK4JEMF.js → chunk-KMOA3GQ2.js} +2 -2
- package/dist/tsup/{chunk-XJMYGATE.cjs → chunk-MAQSR26X.cjs} +8 -3
- package/dist/tsup/chunk-MAQSR26X.cjs.map +1 -0
- package/dist/tsup/{chunk-CJLXW36F.cjs → chunk-MZ3SRIPM.cjs} +286 -221
- package/dist/tsup/chunk-MZ3SRIPM.cjs.map +1 -0
- package/dist/tsup/{chunk-NQZ643FB.cjs → chunk-MZCRC64W.cjs} +17 -17
- package/dist/tsup/{chunk-NQZ643FB.cjs.map → chunk-MZCRC64W.cjs.map} +1 -1
- package/dist/tsup/{chunk-LQOCWGP6.js → chunk-P2RZJPYI.js} +1 -1
- package/dist/tsup/{chunk-IDYDUETM.js → chunk-POJ4HHIO.js} +3 -3
- package/dist/tsup/chunk-POJ4HHIO.js.map +1 -0
- package/dist/tsup/{chunk-JALGQWHW.cjs → chunk-QB7FJ2OK.cjs} +15 -15
- package/dist/tsup/{chunk-JALGQWHW.cjs.map → chunk-QB7FJ2OK.cjs.map} +1 -1
- package/dist/tsup/{chunk-VQRYS6VW.cjs → chunk-UBBTSSAP.cjs} +3 -3
- package/dist/tsup/{chunk-VQRYS6VW.cjs.map → chunk-UBBTSSAP.cjs.map} +1 -1
- package/dist/tsup/{chunk-YW2E3UPH.cjs → chunk-UENID7AK.cjs} +6 -6
- package/dist/tsup/chunk-UENID7AK.cjs.map +1 -0
- package/dist/tsup/{chunk-7IAEY5UZ.js → chunk-UJ6ETM45.js} +2 -2
- package/dist/tsup/{chunk-S5URQ3CI.js → chunk-WXLDDJCI.js} +3 -3
- package/dist/tsup/{chunk-S5URQ3CI.js.map → chunk-WXLDDJCI.js.map} +1 -1
- package/dist/tsup/{chunk-AHPMXTSB.js → chunk-YPHTAWZP.js} +16 -16
- package/dist/tsup/chunk-YPHTAWZP.js.map +1 -0
- package/dist/tsup/client/mod.cjs +9 -9
- package/dist/tsup/client/mod.d.cts +2 -2
- package/dist/tsup/client/mod.d.ts +2 -2
- package/dist/tsup/client/mod.js +8 -8
- package/dist/tsup/common/log.cjs +3 -3
- package/dist/tsup/common/log.js +2 -2
- package/dist/tsup/common/websocket.cjs +4 -4
- package/dist/tsup/common/websocket.js +3 -3
- package/dist/tsup/{config-DxlmiJS1.d.cts → config-BEu-kmmR.d.cts} +32 -1
- package/dist/tsup/{config-CcMdKDv9.d.ts → config-DELCUYts.d.ts} +32 -1
- package/dist/tsup/driver-helpers/mod.cjs +5 -5
- package/dist/tsup/driver-helpers/mod.d.cts +1 -1
- package/dist/tsup/driver-helpers/mod.d.ts +1 -1
- package/dist/tsup/driver-helpers/mod.js +4 -4
- package/dist/tsup/driver-test-suite/mod.cjs +192 -74
- package/dist/tsup/driver-test-suite/mod.cjs.map +1 -1
- package/dist/tsup/driver-test-suite/mod.d.cts +1 -1
- package/dist/tsup/driver-test-suite/mod.d.ts +1 -1
- package/dist/tsup/driver-test-suite/mod.js +135 -17
- package/dist/tsup/driver-test-suite/mod.js.map +1 -1
- package/dist/tsup/inspector/mod.cjs +6 -6
- package/dist/tsup/inspector/mod.d.cts +2 -2
- package/dist/tsup/inspector/mod.d.ts +2 -2
- package/dist/tsup/inspector/mod.js +5 -5
- package/dist/tsup/mod.cjs +10 -10
- package/dist/tsup/mod.cjs.map +1 -1
- package/dist/tsup/mod.d.cts +2 -2
- package/dist/tsup/mod.d.ts +2 -2
- package/dist/tsup/mod.js +9 -9
- package/dist/tsup/test/mod.cjs +12 -12
- package/dist/tsup/test/mod.d.cts +1 -1
- package/dist/tsup/test/mod.d.ts +1 -1
- package/dist/tsup/test/mod.js +11 -11
- package/dist/tsup/utils.cjs +3 -3
- package/dist/tsup/utils.js +2 -2
- package/package.json +2 -2
- package/src/actor/mod.ts +2 -0
- package/src/client/actor-conn.ts +87 -0
- package/src/client/mod.ts +5 -1
- package/src/driver-test-suite/tests/actor-conn.ts +199 -0
- package/dist/tsup/chunk-3ZC6SBX6.cjs.map +0 -1
- package/dist/tsup/chunk-AHPMXTSB.js.map +0 -1
- package/dist/tsup/chunk-CJLXW36F.cjs.map +0 -1
- package/dist/tsup/chunk-IDYDUETM.js.map +0 -1
- package/dist/tsup/chunk-KXSSOVFA.js.map +0 -1
- package/dist/tsup/chunk-XJMYGATE.cjs.map +0 -1
- package/dist/tsup/chunk-YW2E3UPH.cjs.map +0 -1
- /package/dist/tsup/{chunk-EJXISR3H.js.map → chunk-2LOXTB3G.js.map} +0 -0
- /package/dist/tsup/{chunk-DATRTJVZ.js.map → chunk-5IE76QRF.js.map} +0 -0
- /package/dist/tsup/{chunk-AE7BB3M2.js.map → chunk-EWQE7L3V.js.map} +0 -0
- /package/dist/tsup/{chunk-ZL3SUOIM.js.map → chunk-H27UUFLD.js.map} +0 -0
- /package/dist/tsup/{chunk-ILK4JEMF.js.map → chunk-KMOA3GQ2.js.map} +0 -0
- /package/dist/tsup/{chunk-LQOCWGP6.js.map → chunk-P2RZJPYI.js.map} +0 -0
- /package/dist/tsup/{chunk-7IAEY5UZ.js.map → chunk-UJ6ETM45.js.map} +0 -0
|
@@ -302,5 +302,204 @@ export function runActorConnTests(driverTestConfig: DriverTestConfig) {
|
|
|
302
302
|
);
|
|
303
303
|
});
|
|
304
304
|
});
|
|
305
|
+
|
|
306
|
+
describe("Connection State", () => {
|
|
307
|
+
test("isConnected should be false before connection opens", async (c) => {
|
|
308
|
+
const { client } = await setupDriverTest(c, driverTestConfig);
|
|
309
|
+
|
|
310
|
+
// Create actor and get connection
|
|
311
|
+
const handle = client.counter.getOrCreate([
|
|
312
|
+
"test-isconnected-initial",
|
|
313
|
+
]);
|
|
314
|
+
const connection = handle.connect();
|
|
315
|
+
|
|
316
|
+
// isConnected should be false initially (connection not yet established)
|
|
317
|
+
expect(connection.isConnected).toBe(false);
|
|
318
|
+
|
|
319
|
+
// Wait for connection to be established
|
|
320
|
+
await vi.waitFor(() => {
|
|
321
|
+
expect(connection.isConnected).toBe(true);
|
|
322
|
+
});
|
|
323
|
+
|
|
324
|
+
// Clean up
|
|
325
|
+
await connection.dispose();
|
|
326
|
+
});
|
|
327
|
+
|
|
328
|
+
test("onOpen should be called when connection opens", async (c) => {
|
|
329
|
+
const { client } = await setupDriverTest(c, driverTestConfig);
|
|
330
|
+
|
|
331
|
+
// Create actor and get connection
|
|
332
|
+
const handle = client.counter.getOrCreate(["test-onopen"]);
|
|
333
|
+
const connection = handle.connect();
|
|
334
|
+
|
|
335
|
+
// Track open events
|
|
336
|
+
let openCount = 0;
|
|
337
|
+
connection.onOpen(() => {
|
|
338
|
+
openCount++;
|
|
339
|
+
});
|
|
340
|
+
|
|
341
|
+
// Wait for connection to open
|
|
342
|
+
await vi.waitFor(() => {
|
|
343
|
+
expect(openCount).toBe(1);
|
|
344
|
+
});
|
|
345
|
+
|
|
346
|
+
// Verify isConnected is true
|
|
347
|
+
expect(connection.isConnected).toBe(true);
|
|
348
|
+
|
|
349
|
+
// Clean up
|
|
350
|
+
await connection.dispose();
|
|
351
|
+
});
|
|
352
|
+
|
|
353
|
+
test("onClose should be called when connection closes via dispose", async (c) => {
|
|
354
|
+
const { client } = await setupDriverTest(c, driverTestConfig);
|
|
355
|
+
|
|
356
|
+
// Create actor and get connection
|
|
357
|
+
const handle = client.counter.getOrCreate(["test-onclose"]);
|
|
358
|
+
const connection = handle.connect();
|
|
359
|
+
|
|
360
|
+
// Track close events
|
|
361
|
+
let closeCount = 0;
|
|
362
|
+
connection.onClose(() => {
|
|
363
|
+
closeCount++;
|
|
364
|
+
});
|
|
365
|
+
|
|
366
|
+
// Wait for connection to open first
|
|
367
|
+
await vi.waitFor(() => {
|
|
368
|
+
expect(connection.isConnected).toBe(true);
|
|
369
|
+
});
|
|
370
|
+
|
|
371
|
+
// Dispose connection
|
|
372
|
+
await connection.dispose();
|
|
373
|
+
|
|
374
|
+
// Verify onClose was called
|
|
375
|
+
expect(closeCount).toBe(1);
|
|
376
|
+
|
|
377
|
+
// Verify isConnected is false
|
|
378
|
+
expect(connection.isConnected).toBe(false);
|
|
379
|
+
});
|
|
380
|
+
|
|
381
|
+
test("should be able to unsubscribe from onOpen", async (c) => {
|
|
382
|
+
const { client } = await setupDriverTest(c, driverTestConfig);
|
|
383
|
+
|
|
384
|
+
// Create actor and get connection
|
|
385
|
+
const handle = client.counter.getOrCreate([
|
|
386
|
+
"test-onopen-unsub",
|
|
387
|
+
]);
|
|
388
|
+
const connection = handle.connect();
|
|
389
|
+
|
|
390
|
+
// Track open events
|
|
391
|
+
let openCount = 0;
|
|
392
|
+
const unsubscribe = connection.onOpen(() => {
|
|
393
|
+
openCount++;
|
|
394
|
+
});
|
|
395
|
+
|
|
396
|
+
// Unsubscribe immediately
|
|
397
|
+
unsubscribe();
|
|
398
|
+
|
|
399
|
+
// Wait a bit for connection to potentially open
|
|
400
|
+
await vi.waitFor(() => {
|
|
401
|
+
expect(connection.isConnected).toBe(true);
|
|
402
|
+
});
|
|
403
|
+
|
|
404
|
+
// Open callback should not have been called since we unsubscribed
|
|
405
|
+
expect(openCount).toBe(0);
|
|
406
|
+
|
|
407
|
+
// Clean up
|
|
408
|
+
await connection.dispose();
|
|
409
|
+
});
|
|
410
|
+
|
|
411
|
+
test("should be able to unsubscribe from onClose", async (c) => {
|
|
412
|
+
const { client } = await setupDriverTest(c, driverTestConfig);
|
|
413
|
+
|
|
414
|
+
// Create actor and get connection
|
|
415
|
+
const handle = client.counter.getOrCreate([
|
|
416
|
+
"test-onclose-unsub",
|
|
417
|
+
]);
|
|
418
|
+
const connection = handle.connect();
|
|
419
|
+
|
|
420
|
+
// Track close events
|
|
421
|
+
let closeCount = 0;
|
|
422
|
+
const unsubscribe = connection.onClose(() => {
|
|
423
|
+
closeCount++;
|
|
424
|
+
});
|
|
425
|
+
|
|
426
|
+
// Wait for connection to open
|
|
427
|
+
await vi.waitFor(() => {
|
|
428
|
+
expect(connection.isConnected).toBe(true);
|
|
429
|
+
});
|
|
430
|
+
|
|
431
|
+
// Unsubscribe before closing
|
|
432
|
+
unsubscribe();
|
|
433
|
+
|
|
434
|
+
// Dispose connection
|
|
435
|
+
await connection.dispose();
|
|
436
|
+
|
|
437
|
+
// Close callback should not have been called since we unsubscribed
|
|
438
|
+
expect(closeCount).toBe(0);
|
|
439
|
+
});
|
|
440
|
+
|
|
441
|
+
test("multiple onOpen handlers should all be called", async (c) => {
|
|
442
|
+
const { client } = await setupDriverTest(c, driverTestConfig);
|
|
443
|
+
|
|
444
|
+
// Create actor and get connection
|
|
445
|
+
const handle = client.counter.getOrCreate([
|
|
446
|
+
"test-multi-onopen",
|
|
447
|
+
]);
|
|
448
|
+
const connection = handle.connect();
|
|
449
|
+
|
|
450
|
+
// Track open events from multiple handlers
|
|
451
|
+
let handler1Called = false;
|
|
452
|
+
let handler2Called = false;
|
|
453
|
+
|
|
454
|
+
connection.onOpen(() => {
|
|
455
|
+
handler1Called = true;
|
|
456
|
+
});
|
|
457
|
+
connection.onOpen(() => {
|
|
458
|
+
handler2Called = true;
|
|
459
|
+
});
|
|
460
|
+
|
|
461
|
+
// Wait for connection to open
|
|
462
|
+
await vi.waitFor(() => {
|
|
463
|
+
expect(handler1Called).toBe(true);
|
|
464
|
+
expect(handler2Called).toBe(true);
|
|
465
|
+
});
|
|
466
|
+
|
|
467
|
+
// Clean up
|
|
468
|
+
await connection.dispose();
|
|
469
|
+
});
|
|
470
|
+
|
|
471
|
+
test("multiple onClose handlers should all be called", async (c) => {
|
|
472
|
+
const { client } = await setupDriverTest(c, driverTestConfig);
|
|
473
|
+
|
|
474
|
+
// Create actor and get connection
|
|
475
|
+
const handle = client.counter.getOrCreate([
|
|
476
|
+
"test-multi-onclose",
|
|
477
|
+
]);
|
|
478
|
+
const connection = handle.connect();
|
|
479
|
+
|
|
480
|
+
// Track close events from multiple handlers
|
|
481
|
+
let handler1Called = false;
|
|
482
|
+
let handler2Called = false;
|
|
483
|
+
|
|
484
|
+
connection.onClose(() => {
|
|
485
|
+
handler1Called = true;
|
|
486
|
+
});
|
|
487
|
+
connection.onClose(() => {
|
|
488
|
+
handler2Called = true;
|
|
489
|
+
});
|
|
490
|
+
|
|
491
|
+
// Wait for connection to open first
|
|
492
|
+
await vi.waitFor(() => {
|
|
493
|
+
expect(connection.isConnected).toBe(true);
|
|
494
|
+
});
|
|
495
|
+
|
|
496
|
+
// Dispose connection
|
|
497
|
+
await connection.dispose();
|
|
498
|
+
|
|
499
|
+
// Verify both handlers were called
|
|
500
|
+
expect(handler1Called).toBe(true);
|
|
501
|
+
expect(handler2Called).toBe(true);
|
|
502
|
+
});
|
|
503
|
+
});
|
|
305
504
|
});
|
|
306
505
|
}
|