rivetkit 2.0.7-rc.1 → 2.0.8

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 (98) hide show
  1. package/dist/tsup/{chunk-E4UVJKSV.js → chunk-2FAWAPRT.js} +2 -2
  2. package/dist/tsup/{chunk-DFS77KAA.cjs → chunk-3WRAGTDC.cjs} +23 -22
  3. package/dist/tsup/chunk-3WRAGTDC.cjs.map +1 -0
  4. package/dist/tsup/{chunk-7N56ZUC7.js → chunk-3ZMJUIL3.js} +3 -3
  5. package/dist/tsup/{chunk-TZGUSEIJ.cjs → chunk-6INXQCH7.cjs} +11 -11
  6. package/dist/tsup/{chunk-TZGUSEIJ.cjs.map → chunk-6INXQCH7.cjs.map} +1 -1
  7. package/dist/tsup/{chunk-RVP5RUSC.js → chunk-A6TV3QU6.js} +3 -3
  8. package/dist/tsup/chunk-A6TV3QU6.js.map +1 -0
  9. package/dist/tsup/{chunk-3Y45CIF4.cjs → chunk-CKSA7NOS.cjs} +232 -203
  10. package/dist/tsup/chunk-CKSA7NOS.cjs.map +1 -0
  11. package/dist/tsup/{chunk-GZVBFXBI.js → chunk-DOZBWJRI.js} +2 -2
  12. package/dist/tsup/{chunk-6EUWRXLT.cjs → chunk-DQVVH5ZK.cjs} +3 -3
  13. package/dist/tsup/{chunk-6EUWRXLT.cjs.map → chunk-DQVVH5ZK.cjs.map} +1 -1
  14. package/dist/tsup/{chunk-HPT3I7UU.js → chunk-E77RVI3P.js} +68 -39
  15. package/dist/tsup/chunk-E77RVI3P.js.map +1 -0
  16. package/dist/tsup/{chunk-K4ENQCC4.cjs → chunk-ESD2JX3L.cjs} +3 -3
  17. package/dist/tsup/{chunk-K4ENQCC4.cjs.map → chunk-ESD2JX3L.cjs.map} +1 -1
  18. package/dist/tsup/{chunk-SAZCNSVY.cjs → chunk-FGOZELKN.cjs} +8 -8
  19. package/dist/tsup/{chunk-SAZCNSVY.cjs.map → chunk-FGOZELKN.cjs.map} +1 -1
  20. package/dist/tsup/{chunk-5ZOHIKWG.cjs → chunk-KDNB2BQX.cjs} +211 -200
  21. package/dist/tsup/chunk-KDNB2BQX.cjs.map +1 -0
  22. package/dist/tsup/{chunk-6OVKCDSH.cjs → chunk-KYEEAVJO.cjs} +6 -6
  23. package/dist/tsup/{chunk-6OVKCDSH.cjs.map → chunk-KYEEAVJO.cjs.map} +1 -1
  24. package/dist/tsup/{chunk-B3TLRM4Q.cjs → chunk-L5MHM6JJ.cjs} +12 -12
  25. package/dist/tsup/{chunk-B3TLRM4Q.cjs.map → chunk-L5MHM6JJ.cjs.map} +1 -1
  26. package/dist/tsup/{chunk-BW5DPM6Z.js → chunk-N7OVEOMU.js} +22 -11
  27. package/dist/tsup/chunk-N7OVEOMU.js.map +1 -0
  28. package/dist/tsup/{chunk-JD54PXWP.js → chunk-PVKV2O2E.js} +5 -4
  29. package/dist/tsup/chunk-PVKV2O2E.js.map +1 -0
  30. package/dist/tsup/{chunk-G4ABMAQY.cjs → chunk-QGUQB3NC.cjs} +3 -3
  31. package/dist/tsup/{chunk-G4ABMAQY.cjs.map → chunk-QGUQB3NC.cjs.map} +1 -1
  32. package/dist/tsup/{chunk-SBKRVQS2.js → chunk-RM2V2IRK.js} +5 -5
  33. package/dist/tsup/{chunk-YQ4XQYPM.js → chunk-S6EAEZQA.js} +3 -3
  34. package/dist/tsup/{chunk-PUSQNDJG.js → chunk-SFRRXLRM.js} +2 -2
  35. package/dist/tsup/{chunk-3MBP4WNC.cjs → chunk-TPJNKVFB.cjs} +7 -7
  36. package/dist/tsup/{chunk-3MBP4WNC.cjs.map → chunk-TPJNKVFB.cjs.map} +1 -1
  37. package/dist/tsup/{chunk-4GP7BZSR.js → chunk-WP7YG7S5.js} +2 -2
  38. package/dist/tsup/client/mod.cjs +9 -9
  39. package/dist/tsup/client/mod.d.cts +2 -2
  40. package/dist/tsup/client/mod.d.ts +2 -2
  41. package/dist/tsup/client/mod.js +8 -8
  42. package/dist/tsup/common/log.cjs +3 -3
  43. package/dist/tsup/common/log.js +2 -2
  44. package/dist/tsup/common/websocket.cjs +4 -4
  45. package/dist/tsup/common/websocket.js +3 -3
  46. package/dist/tsup/{conn-DdzHTm2E.d.cts → conn-ChAuuTr0.d.cts} +13 -1
  47. package/dist/tsup/{conn-DCSQgIlw.d.ts → conn-CjUkMEcm.d.ts} +13 -1
  48. package/dist/tsup/driver-helpers/mod.cjs +5 -5
  49. package/dist/tsup/driver-helpers/mod.d.cts +1 -1
  50. package/dist/tsup/driver-helpers/mod.d.ts +1 -1
  51. package/dist/tsup/driver-helpers/mod.js +4 -4
  52. package/dist/tsup/driver-test-suite/mod.cjs +103 -113
  53. package/dist/tsup/driver-test-suite/mod.cjs.map +1 -1
  54. package/dist/tsup/driver-test-suite/mod.d.cts +3 -1
  55. package/dist/tsup/driver-test-suite/mod.d.ts +3 -1
  56. package/dist/tsup/driver-test-suite/mod.js +45 -55
  57. package/dist/tsup/driver-test-suite/mod.js.map +1 -1
  58. package/dist/tsup/inspector/mod.cjs +6 -6
  59. package/dist/tsup/inspector/mod.d.cts +2 -2
  60. package/dist/tsup/inspector/mod.d.ts +2 -2
  61. package/dist/tsup/inspector/mod.js +5 -5
  62. package/dist/tsup/mod.cjs +10 -10
  63. package/dist/tsup/mod.d.cts +5 -5
  64. package/dist/tsup/mod.d.ts +5 -5
  65. package/dist/tsup/mod.js +9 -9
  66. package/dist/tsup/test/mod.cjs +11 -11
  67. package/dist/tsup/test/mod.d.cts +1 -1
  68. package/dist/tsup/test/mod.d.ts +1 -1
  69. package/dist/tsup/test/mod.js +10 -10
  70. package/dist/tsup/utils.cjs +2 -2
  71. package/dist/tsup/utils.js +1 -1
  72. package/package.json +2 -2
  73. package/src/actor/instance.ts +16 -3
  74. package/src/actor/router-endpoints.ts +2 -1
  75. package/src/actor/router.ts +27 -24
  76. package/src/client/actor-conn.ts +5 -1
  77. package/src/client/config.ts +2 -0
  78. package/src/driver-test-suite/mod.ts +11 -2
  79. package/src/driver-test-suite/tests/actor-schedule.ts +14 -37
  80. package/src/driver-test-suite/tests/actor-sleep.ts +18 -18
  81. package/src/drivers/engine/actor-driver.ts +39 -10
  82. package/src/drivers/file-system/manager.ts +5 -1
  83. package/src/manager/router.ts +11 -2
  84. package/src/registry/mod.ts +10 -1
  85. package/dist/tsup/chunk-3Y45CIF4.cjs.map +0 -1
  86. package/dist/tsup/chunk-5ZOHIKWG.cjs.map +0 -1
  87. package/dist/tsup/chunk-BW5DPM6Z.js.map +0 -1
  88. package/dist/tsup/chunk-DFS77KAA.cjs.map +0 -1
  89. package/dist/tsup/chunk-HPT3I7UU.js.map +0 -1
  90. package/dist/tsup/chunk-JD54PXWP.js.map +0 -1
  91. package/dist/tsup/chunk-RVP5RUSC.js.map +0 -1
  92. /package/dist/tsup/{chunk-E4UVJKSV.js.map → chunk-2FAWAPRT.js.map} +0 -0
  93. /package/dist/tsup/{chunk-7N56ZUC7.js.map → chunk-3ZMJUIL3.js.map} +0 -0
  94. /package/dist/tsup/{chunk-GZVBFXBI.js.map → chunk-DOZBWJRI.js.map} +0 -0
  95. /package/dist/tsup/{chunk-SBKRVQS2.js.map → chunk-RM2V2IRK.js.map} +0 -0
  96. /package/dist/tsup/{chunk-YQ4XQYPM.js.map → chunk-S6EAEZQA.js.map} +0 -0
  97. /package/dist/tsup/{chunk-PUSQNDJG.js.map → chunk-SFRRXLRM.js.map} +0 -0
  98. /package/dist/tsup/{chunk-4GP7BZSR.js.map → chunk-WP7YG7S5.js.map} +0 -0
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
 
9
- var _chunkG4ABMAQYcjs = require('../chunk-G4ABMAQY.cjs');
9
+ var _chunkQGUQB3NCcjs = require('../chunk-QGUQB3NC.cjs');
10
10
 
11
11
 
12
12
 
@@ -27,10 +27,10 @@ var _chunkG4ABMAQYcjs = require('../chunk-G4ABMAQY.cjs');
27
27
 
28
28
 
29
29
 
30
- var _chunkB3TLRM4Qcjs = require('../chunk-B3TLRM4Q.cjs');
31
- require('../chunk-SAZCNSVY.cjs');
32
- require('../chunk-3MBP4WNC.cjs');
33
- require('../chunk-6EUWRXLT.cjs');
30
+ var _chunkL5MHM6JJcjs = require('../chunk-L5MHM6JJ.cjs');
31
+ require('../chunk-FGOZELKN.cjs');
32
+ require('../chunk-TPJNKVFB.cjs');
33
+ require('../chunk-DQVVH5ZK.cjs');
34
34
  require('../chunk-5QGQK44L.cjs');
35
35
 
36
36
 
@@ -59,5 +59,5 @@ require('../chunk-5QGQK44L.cjs');
59
59
 
60
60
 
61
61
 
62
- exports.ActorFeature = _chunkB3TLRM4Qcjs.ActorFeature; exports.ActorId = _chunkB3TLRM4Qcjs.ActorId; exports.ActorLogEntry = _chunkB3TLRM4Qcjs.ActorLogEntry; exports.ActorSchema = _chunkB3TLRM4Qcjs.ActorSchema; exports.BuildSchema = _chunkB3TLRM4Qcjs.BuildSchema; exports.BuildsSchema = _chunkB3TLRM4Qcjs.BuildsSchema; exports.ColumnSchema = _chunkB3TLRM4Qcjs.ColumnSchema; exports.ColumnsSchema = _chunkB3TLRM4Qcjs.ColumnsSchema; exports.ConnectionSchema = _chunkB3TLRM4Qcjs.ConnectionSchema; exports.CreateActorSchema = _chunkB3TLRM4Qcjs.CreateActorSchema; exports.DatabaseQuerySchema = _chunkB3TLRM4Qcjs.DatabaseQuerySchema; exports.ForeignKeySchema = _chunkB3TLRM4Qcjs.ForeignKeySchema; exports.ForeignKeysSchema = _chunkB3TLRM4Qcjs.ForeignKeysSchema; exports.OperationSchema = _chunkB3TLRM4Qcjs.OperationSchema; exports.PatchSchema = _chunkB3TLRM4Qcjs.PatchSchema; exports.RealtimeEventSchema = _chunkB3TLRM4Qcjs.RealtimeEventSchema; exports.RecordedRealtimeEventSchema = _chunkB3TLRM4Qcjs.RecordedRealtimeEventSchema; exports.TableSchema = _chunkB3TLRM4Qcjs.TableSchema; exports.TablesSchema = _chunkB3TLRM4Qcjs.TablesSchema; exports.compareSecrets = _chunkG4ABMAQYcjs.compareSecrets; exports.configureInspectorAccessToken = _chunkG4ABMAQYcjs.configureInspectorAccessToken; exports.createActorInspectorClient = _chunkG4ABMAQYcjs.createActorInspectorClient; exports.createManagerInspectorClient = _chunkG4ABMAQYcjs.createManagerInspectorClient; exports.getInspectorUrl = _chunkG4ABMAQYcjs.getInspectorUrl; exports.isInspectorEnabled = _chunkG4ABMAQYcjs.isInspectorEnabled; exports.secureInspector = _chunkG4ABMAQYcjs.secureInspector;
62
+ exports.ActorFeature = _chunkL5MHM6JJcjs.ActorFeature; exports.ActorId = _chunkL5MHM6JJcjs.ActorId; exports.ActorLogEntry = _chunkL5MHM6JJcjs.ActorLogEntry; exports.ActorSchema = _chunkL5MHM6JJcjs.ActorSchema; exports.BuildSchema = _chunkL5MHM6JJcjs.BuildSchema; exports.BuildsSchema = _chunkL5MHM6JJcjs.BuildsSchema; exports.ColumnSchema = _chunkL5MHM6JJcjs.ColumnSchema; exports.ColumnsSchema = _chunkL5MHM6JJcjs.ColumnsSchema; exports.ConnectionSchema = _chunkL5MHM6JJcjs.ConnectionSchema; exports.CreateActorSchema = _chunkL5MHM6JJcjs.CreateActorSchema; exports.DatabaseQuerySchema = _chunkL5MHM6JJcjs.DatabaseQuerySchema; exports.ForeignKeySchema = _chunkL5MHM6JJcjs.ForeignKeySchema; exports.ForeignKeysSchema = _chunkL5MHM6JJcjs.ForeignKeysSchema; exports.OperationSchema = _chunkL5MHM6JJcjs.OperationSchema; exports.PatchSchema = _chunkL5MHM6JJcjs.PatchSchema; exports.RealtimeEventSchema = _chunkL5MHM6JJcjs.RealtimeEventSchema; exports.RecordedRealtimeEventSchema = _chunkL5MHM6JJcjs.RecordedRealtimeEventSchema; exports.TableSchema = _chunkL5MHM6JJcjs.TableSchema; exports.TablesSchema = _chunkL5MHM6JJcjs.TablesSchema; exports.compareSecrets = _chunkQGUQB3NCcjs.compareSecrets; exports.configureInspectorAccessToken = _chunkQGUQB3NCcjs.configureInspectorAccessToken; exports.createActorInspectorClient = _chunkQGUQB3NCcjs.createActorInspectorClient; exports.createManagerInspectorClient = _chunkQGUQB3NCcjs.createManagerInspectorClient; exports.getInspectorUrl = _chunkQGUQB3NCcjs.getInspectorUrl; exports.isInspectorEnabled = _chunkQGUQB3NCcjs.isInspectorEnabled; exports.secureInspector = _chunkQGUQB3NCcjs.secureInspector;
63
63
  //# sourceMappingURL=mod.cjs.map
@@ -1,5 +1,5 @@
1
- import { ak as ActorFeature, c as RunConfig, H as RunConfigInput, ah as ManagerDriver } from '../conn-DdzHTm2E.cjs';
2
- export { ao as Actor, al as ActorId, am as ActorLogEntry, an as ActorSchema, aO as Build, aN as BuildSchema, aQ as Builds, aP as BuildsSchema, aG as Column, aF as ColumnSchema, aI as Columns, aH as ColumnsSchema, au as Connection, at as ConnectionSchema, aS as CreateActor, aR as CreateActorSchema, aA as DatabaseQuery, az as DatabaseQuerySchema, aK as ForeignKey, aJ as ForeignKeySchema, aM as ForeignKeys, aL as ForeignKeysSchema, aq as Operation, ap as OperationSchema, as as Patch, ar as PatchSchema, aw as RealtimeEvent, av as RealtimeEventSchema, ay as RecordedRealtimeEvent, ax as RecordedRealtimeEventSchema, aC as Table, aB as TableSchema, aE as Tables, aD as TablesSchema } from '../conn-DdzHTm2E.cjs';
1
+ import { ak as ActorFeature, c as RunConfig, H as RunConfigInput, ah as ManagerDriver } from '../conn-ChAuuTr0.cjs';
2
+ export { ao as Actor, al as ActorId, am as ActorLogEntry, an as ActorSchema, aO as Build, aN as BuildSchema, aQ as Builds, aP as BuildsSchema, aG as Column, aF as ColumnSchema, aI as Columns, aH as ColumnsSchema, au as Connection, at as ConnectionSchema, aS as CreateActor, aR as CreateActorSchema, aA as DatabaseQuery, az as DatabaseQuerySchema, aK as ForeignKey, aJ as ForeignKeySchema, aM as ForeignKeys, aL as ForeignKeysSchema, aq as Operation, ap as OperationSchema, as as Patch, ar as PatchSchema, aw as RealtimeEvent, av as RealtimeEventSchema, ay as RecordedRealtimeEvent, ax as RecordedRealtimeEventSchema, aC as Table, aB as TableSchema, aE as Tables, aD as TablesSchema } from '../conn-ChAuuTr0.cjs';
3
3
  import * as hono_utils_http_status from 'hono/utils/http-status';
4
4
  import * as hono_utils_types from 'hono/utils/types';
5
5
  import * as hono_client from 'hono/client';
@@ -1,5 +1,5 @@
1
- import { ak as ActorFeature, c as RunConfig, H as RunConfigInput, ah as ManagerDriver } from '../conn-DCSQgIlw.js';
2
- export { ao as Actor, al as ActorId, am as ActorLogEntry, an as ActorSchema, aO as Build, aN as BuildSchema, aQ as Builds, aP as BuildsSchema, aG as Column, aF as ColumnSchema, aI as Columns, aH as ColumnsSchema, au as Connection, at as ConnectionSchema, aS as CreateActor, aR as CreateActorSchema, aA as DatabaseQuery, az as DatabaseQuerySchema, aK as ForeignKey, aJ as ForeignKeySchema, aM as ForeignKeys, aL as ForeignKeysSchema, aq as Operation, ap as OperationSchema, as as Patch, ar as PatchSchema, aw as RealtimeEvent, av as RealtimeEventSchema, ay as RecordedRealtimeEvent, ax as RecordedRealtimeEventSchema, aC as Table, aB as TableSchema, aE as Tables, aD as TablesSchema } from '../conn-DCSQgIlw.js';
1
+ import { ak as ActorFeature, c as RunConfig, H as RunConfigInput, ah as ManagerDriver } from '../conn-CjUkMEcm.js';
2
+ export { ao as Actor, al as ActorId, am as ActorLogEntry, an as ActorSchema, aO as Build, aN as BuildSchema, aQ as Builds, aP as BuildsSchema, aG as Column, aF as ColumnSchema, aI as Columns, aH as ColumnsSchema, au as Connection, at as ConnectionSchema, aS as CreateActor, aR as CreateActorSchema, aA as DatabaseQuery, az as DatabaseQuerySchema, aK as ForeignKey, aJ as ForeignKeySchema, aM as ForeignKeys, aL as ForeignKeysSchema, aq as Operation, ap as OperationSchema, as as Patch, ar as PatchSchema, aw as RealtimeEvent, av as RealtimeEventSchema, ay as RecordedRealtimeEvent, ax as RecordedRealtimeEventSchema, aC as Table, aB as TableSchema, aE as Tables, aD as TablesSchema } from '../conn-CjUkMEcm.js';
3
3
  import * as hono_utils_http_status from 'hono/utils/http-status';
4
4
  import * as hono_utils_types from 'hono/utils/types';
5
5
  import * as hono_client from 'hono/client';
@@ -6,7 +6,7 @@ import {
6
6
  getInspectorUrl,
7
7
  isInspectorEnabled,
8
8
  secureInspector
9
- } from "../chunk-4GP7BZSR.js";
9
+ } from "../chunk-WP7YG7S5.js";
10
10
  import {
11
11
  ActorFeature,
12
12
  ActorId,
@@ -27,10 +27,10 @@ import {
27
27
  RecordedRealtimeEventSchema,
28
28
  TableSchema,
29
29
  TablesSchema
30
- } from "../chunk-GZVBFXBI.js";
31
- import "../chunk-YQ4XQYPM.js";
32
- import "../chunk-PUSQNDJG.js";
33
- import "../chunk-RVP5RUSC.js";
30
+ } from "../chunk-DOZBWJRI.js";
31
+ import "../chunk-S6EAEZQA.js";
32
+ import "../chunk-SFRRXLRM.js";
33
+ import "../chunk-A6TV3QU6.js";
34
34
  import "../chunk-YPZFLUO6.js";
35
35
  export {
36
36
  ActorFeature,
package/dist/tsup/mod.cjs CHANGED
@@ -10,27 +10,27 @@
10
10
 
11
11
 
12
12
 
13
- var _chunk3Y45CIF4cjs = require('./chunk-3Y45CIF4.cjs');
14
- require('./chunk-G4ABMAQY.cjs');
13
+ var _chunkCKSA7NOScjs = require('./chunk-CKSA7NOS.cjs');
14
+ require('./chunk-QGUQB3NC.cjs');
15
15
 
16
16
 
17
17
 
18
18
 
19
19
 
20
- var _chunk5ZOHIKWGcjs = require('./chunk-5ZOHIKWG.cjs');
21
- require('./chunk-B3TLRM4Q.cjs');
22
- require('./chunk-K4ENQCC4.cjs');
23
- require('./chunk-DFS77KAA.cjs');
20
+ var _chunkKDNB2BQXcjs = require('./chunk-KDNB2BQX.cjs');
21
+ require('./chunk-L5MHM6JJ.cjs');
22
+ require('./chunk-ESD2JX3L.cjs');
23
+ require('./chunk-3WRAGTDC.cjs');
24
24
 
25
25
 
26
26
 
27
27
 
28
- var _chunkSAZCNSVYcjs = require('./chunk-SAZCNSVY.cjs');
29
- require('./chunk-3MBP4WNC.cjs');
28
+ var _chunkFGOZELKNcjs = require('./chunk-FGOZELKN.cjs');
29
+ require('./chunk-TPJNKVFB.cjs');
30
30
 
31
31
 
32
32
 
33
- var _chunk6EUWRXLTcjs = require('./chunk-6EUWRXLT.cjs');
33
+ var _chunkDQVVH5ZKcjs = require('./chunk-DQVVH5ZK.cjs');
34
34
 
35
35
 
36
36
  var _chunk5QGQK44Lcjs = require('./chunk-5QGQK44L.cjs');
@@ -56,5 +56,5 @@ var _chunk5QGQK44Lcjs = require('./chunk-5QGQK44L.cjs');
56
56
 
57
57
 
58
58
 
59
- exports.ALLOWED_PUBLIC_HEADERS = _chunkSAZCNSVYcjs.ALLOWED_PUBLIC_HEADERS; exports.InlineWebSocketAdapter2 = _chunk3Y45CIF4cjs.InlineWebSocketAdapter2; exports.PATH_CONNECT_WEBSOCKET = _chunkSAZCNSVYcjs.PATH_CONNECT_WEBSOCKET; exports.PATH_RAW_WEBSOCKET_PREFIX = _chunkSAZCNSVYcjs.PATH_RAW_WEBSOCKET_PREFIX; exports.Registry = _chunk3Y45CIF4cjs.Registry; exports.RegistryConfigSchema = _chunk3Y45CIF4cjs.RegistryConfigSchema; exports.UserError = _chunk5QGQK44Lcjs.UserError; exports.actor = _chunk3Y45CIF4cjs.actor; exports.createActorRouter = _chunk3Y45CIF4cjs.createActorRouter; exports.createClientWithDriver = _chunk5ZOHIKWGcjs.createClientWithDriver; exports.createEngineDriver = _chunk3Y45CIF4cjs.createEngineDriver; exports.createFileSystemDriver = _chunk3Y45CIF4cjs.createFileSystemDriver; exports.createMemoryDriver = _chunk3Y45CIF4cjs.createMemoryDriver; exports.generateConnId = _chunk5ZOHIKWGcjs.generateConnId; exports.generateConnToken = _chunk5ZOHIKWGcjs.generateConnToken; exports.handleRawWebSocketHandler = _chunk3Y45CIF4cjs.handleRawWebSocketHandler; exports.handleWebSocketConnect = _chunk3Y45CIF4cjs.handleWebSocketConnect; exports.lookupInRegistry = _chunk5ZOHIKWGcjs.lookupInRegistry; exports.noopNext = _chunk6EUWRXLTcjs.noopNext; exports.setup = _chunk3Y45CIF4cjs.setup; exports.toUint8Array = _chunk6EUWRXLTcjs.toUint8Array;
59
+ exports.ALLOWED_PUBLIC_HEADERS = _chunkFGOZELKNcjs.ALLOWED_PUBLIC_HEADERS; exports.InlineWebSocketAdapter2 = _chunkCKSA7NOScjs.InlineWebSocketAdapter2; exports.PATH_CONNECT_WEBSOCKET = _chunkFGOZELKNcjs.PATH_CONNECT_WEBSOCKET; exports.PATH_RAW_WEBSOCKET_PREFIX = _chunkFGOZELKNcjs.PATH_RAW_WEBSOCKET_PREFIX; exports.Registry = _chunkCKSA7NOScjs.Registry; exports.RegistryConfigSchema = _chunkCKSA7NOScjs.RegistryConfigSchema; exports.UserError = _chunk5QGQK44Lcjs.UserError; exports.actor = _chunkCKSA7NOScjs.actor; exports.createActorRouter = _chunkCKSA7NOScjs.createActorRouter; exports.createClientWithDriver = _chunkKDNB2BQXcjs.createClientWithDriver; exports.createEngineDriver = _chunkCKSA7NOScjs.createEngineDriver; exports.createFileSystemDriver = _chunkCKSA7NOScjs.createFileSystemDriver; exports.createMemoryDriver = _chunkCKSA7NOScjs.createMemoryDriver; exports.generateConnId = _chunkKDNB2BQXcjs.generateConnId; exports.generateConnToken = _chunkKDNB2BQXcjs.generateConnToken; exports.handleRawWebSocketHandler = _chunkCKSA7NOScjs.handleRawWebSocketHandler; exports.handleWebSocketConnect = _chunkCKSA7NOScjs.handleWebSocketConnect; exports.lookupInRegistry = _chunkKDNB2BQXcjs.lookupInRegistry; exports.noopNext = _chunkDQVVH5ZKcjs.noopNext; exports.setup = _chunkCKSA7NOScjs.setup; exports.toUint8Array = _chunkDQVVH5ZKcjs.toUint8Array;
60
60
  //# sourceMappingURL=mod.cjs.map
@@ -1,5 +1,5 @@
1
- import { U as UniversalWebSocket, R as RivetEvent, a as RivetCloseEvent, b as RivetMessageEvent, A as ActorDriver, c as RunConfig, E as Encoding, d as AnyDatabaseProvider, e as Actions, f as ActorConfigInput, g as ActorDefinition, D as DriverConfig } from './conn-DdzHTm2E.cjs';
2
- export { n as ActionContext, r as ActionContextOf, z as ActorConfig, x as ActorConfigSchema, q as ActorContext, s as ActorContextOf, m as ActorKey, l as ActorQuery, w as ActorTypes, t as AnyActorDefinition, v as AnyActorInstance, j as AnyClient, y as AuthIntent, C as Client, o as Conn, p as ConnectionStatus, I as InitContext, O as OnConnectOptions, K as Registry, G as RegistryActors, F as RegistryConfig, J as RegistryConfigSchema, H as RunConfigInput, k as createClientWithDriver, h as generateConnId, i as generateConnToken, u as lookupInRegistry, L as setup, B as test } from './conn-DdzHTm2E.cjs';
1
+ import { U as UniversalWebSocket, R as RivetEvent, a as RivetCloseEvent, b as RivetMessageEvent, A as ActorDriver, c as RunConfig, E as Encoding, d as AnyDatabaseProvider, e as Actions, f as ActorConfigInput, g as ActorDefinition, D as DriverConfig } from './conn-ChAuuTr0.cjs';
2
+ export { n as ActionContext, r as ActionContextOf, z as ActorConfig, x as ActorConfigSchema, q as ActorContext, s as ActorContextOf, m as ActorKey, l as ActorQuery, w as ActorTypes, t as AnyActorDefinition, v as AnyActorInstance, j as AnyClient, y as AuthIntent, C as Client, o as Conn, p as ConnectionStatus, I as InitContext, O as OnConnectOptions, K as Registry, G as RegistryActors, F as RegistryConfig, J as RegistryConfigSchema, H as RunConfigInput, k as createClientWithDriver, h as generateConnId, i as generateConnToken, u as lookupInRegistry, L as setup, B as test } from './conn-ChAuuTr0.cjs';
3
3
  import { WSContext } from 'hono/ws';
4
4
  export { n as noopNext } from './utils-fwx3o3K9.cjs';
5
5
  import * as hono_types from 'hono/types';
@@ -108,7 +108,7 @@ type ActorRouter = Hono<{
108
108
  /**
109
109
  * Creates a router that runs on the partitioned instance.
110
110
  */
111
- declare function createActorRouter(runConfig: RunConfig, actorDriver: ActorDriver): ActorRouter;
111
+ declare function createActorRouter(runConfig: RunConfig, actorDriver: ActorDriver, isTest: boolean): ActorRouter;
112
112
 
113
113
  declare function actor<TState, TConnParams, TConnState, TVars, TInput, TDatabase extends AnyDatabaseProvider, TActions extends Actions<TState, TConnParams, TConnState, TVars, TInput, TDatabase>>(input: ActorConfigInput<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TActions>): ActorDefinition<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TActions>;
114
114
 
@@ -122,23 +122,23 @@ declare const ConfigSchema: z.ZodDefault<z.ZodObject<{
122
122
  runnerKey: z.ZodDefault<z.ZodString>;
123
123
  totalSlots: z.ZodDefault<z.ZodNumber>;
124
124
  }, "strip", z.ZodTypeAny, {
125
+ totalSlots: number;
125
126
  endpoint: string;
126
127
  namespace: string;
127
128
  runnerName: string;
128
129
  runnerKey: string;
129
- totalSlots: number;
130
130
  token?: string | undefined;
131
131
  app?: Hono<hono_types.BlankEnv, hono_types.BlankSchema, "/"> | undefined;
132
132
  pegboardEndpoint?: string | undefined;
133
133
  }, {
134
134
  token?: string | undefined;
135
+ totalSlots?: number | undefined;
135
136
  endpoint?: string | undefined;
136
137
  namespace?: string | undefined;
137
138
  runnerName?: string | undefined;
138
139
  app?: Hono<hono_types.BlankEnv, hono_types.BlankSchema, "/"> | undefined;
139
140
  pegboardEndpoint?: string | undefined;
140
141
  runnerKey?: string | undefined;
141
- totalSlots?: number | undefined;
142
142
  }>>;
143
143
  type InputConfig = z.input<typeof ConfigSchema>;
144
144
 
@@ -1,5 +1,5 @@
1
- import { U as UniversalWebSocket, R as RivetEvent, a as RivetCloseEvent, b as RivetMessageEvent, A as ActorDriver, c as RunConfig, E as Encoding, d as AnyDatabaseProvider, e as Actions, f as ActorConfigInput, g as ActorDefinition, D as DriverConfig } from './conn-DCSQgIlw.js';
2
- export { n as ActionContext, r as ActionContextOf, z as ActorConfig, x as ActorConfigSchema, q as ActorContext, s as ActorContextOf, m as ActorKey, l as ActorQuery, w as ActorTypes, t as AnyActorDefinition, v as AnyActorInstance, j as AnyClient, y as AuthIntent, C as Client, o as Conn, p as ConnectionStatus, I as InitContext, O as OnConnectOptions, K as Registry, G as RegistryActors, F as RegistryConfig, J as RegistryConfigSchema, H as RunConfigInput, k as createClientWithDriver, h as generateConnId, i as generateConnToken, u as lookupInRegistry, L as setup, B as test } from './conn-DCSQgIlw.js';
1
+ import { U as UniversalWebSocket, R as RivetEvent, a as RivetCloseEvent, b as RivetMessageEvent, A as ActorDriver, c as RunConfig, E as Encoding, d as AnyDatabaseProvider, e as Actions, f as ActorConfigInput, g as ActorDefinition, D as DriverConfig } from './conn-CjUkMEcm.js';
2
+ export { n as ActionContext, r as ActionContextOf, z as ActorConfig, x as ActorConfigSchema, q as ActorContext, s as ActorContextOf, m as ActorKey, l as ActorQuery, w as ActorTypes, t as AnyActorDefinition, v as AnyActorInstance, j as AnyClient, y as AuthIntent, C as Client, o as Conn, p as ConnectionStatus, I as InitContext, O as OnConnectOptions, K as Registry, G as RegistryActors, F as RegistryConfig, J as RegistryConfigSchema, H as RunConfigInput, k as createClientWithDriver, h as generateConnId, i as generateConnToken, u as lookupInRegistry, L as setup, B as test } from './conn-CjUkMEcm.js';
3
3
  import { WSContext } from 'hono/ws';
4
4
  export { n as noopNext } from './utils-fwx3o3K9.js';
5
5
  import * as hono_types from 'hono/types';
@@ -108,7 +108,7 @@ type ActorRouter = Hono<{
108
108
  /**
109
109
  * Creates a router that runs on the partitioned instance.
110
110
  */
111
- declare function createActorRouter(runConfig: RunConfig, actorDriver: ActorDriver): ActorRouter;
111
+ declare function createActorRouter(runConfig: RunConfig, actorDriver: ActorDriver, isTest: boolean): ActorRouter;
112
112
 
113
113
  declare function actor<TState, TConnParams, TConnState, TVars, TInput, TDatabase extends AnyDatabaseProvider, TActions extends Actions<TState, TConnParams, TConnState, TVars, TInput, TDatabase>>(input: ActorConfigInput<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TActions>): ActorDefinition<TState, TConnParams, TConnState, TVars, TInput, TDatabase, TActions>;
114
114
 
@@ -122,23 +122,23 @@ declare const ConfigSchema: z.ZodDefault<z.ZodObject<{
122
122
  runnerKey: z.ZodDefault<z.ZodString>;
123
123
  totalSlots: z.ZodDefault<z.ZodNumber>;
124
124
  }, "strip", z.ZodTypeAny, {
125
+ totalSlots: number;
125
126
  endpoint: string;
126
127
  namespace: string;
127
128
  runnerName: string;
128
129
  runnerKey: string;
129
- totalSlots: number;
130
130
  token?: string | undefined;
131
131
  app?: Hono<hono_types.BlankEnv, hono_types.BlankSchema, "/"> | undefined;
132
132
  pegboardEndpoint?: string | undefined;
133
133
  }, {
134
134
  token?: string | undefined;
135
+ totalSlots?: number | undefined;
135
136
  endpoint?: string | undefined;
136
137
  namespace?: string | undefined;
137
138
  runnerName?: string | undefined;
138
139
  app?: Hono<hono_types.BlankEnv, hono_types.BlankSchema, "/"> | undefined;
139
140
  pegboardEndpoint?: string | undefined;
140
141
  runnerKey?: string | undefined;
141
- totalSlots?: number | undefined;
142
142
  }>>;
143
143
  type InputConfig = z.input<typeof ConfigSchema>;
144
144
 
package/dist/tsup/mod.js CHANGED
@@ -10,27 +10,27 @@ import {
10
10
  handleRawWebSocketHandler,
11
11
  handleWebSocketConnect,
12
12
  setup
13
- } from "./chunk-HPT3I7UU.js";
14
- import "./chunk-4GP7BZSR.js";
13
+ } from "./chunk-E77RVI3P.js";
14
+ import "./chunk-WP7YG7S5.js";
15
15
  import {
16
16
  createClientWithDriver,
17
17
  generateConnId,
18
18
  generateConnToken,
19
19
  lookupInRegistry
20
- } from "./chunk-BW5DPM6Z.js";
21
- import "./chunk-GZVBFXBI.js";
22
- import "./chunk-E4UVJKSV.js";
23
- import "./chunk-JD54PXWP.js";
20
+ } from "./chunk-N7OVEOMU.js";
21
+ import "./chunk-DOZBWJRI.js";
22
+ import "./chunk-2FAWAPRT.js";
23
+ import "./chunk-PVKV2O2E.js";
24
24
  import {
25
25
  ALLOWED_PUBLIC_HEADERS,
26
26
  PATH_CONNECT_WEBSOCKET,
27
27
  PATH_RAW_WEBSOCKET_PREFIX
28
- } from "./chunk-YQ4XQYPM.js";
29
- import "./chunk-PUSQNDJG.js";
28
+ } from "./chunk-S6EAEZQA.js";
29
+ import "./chunk-SFRRXLRM.js";
30
30
  import {
31
31
  noopNext,
32
32
  toUint8Array
33
- } from "./chunk-RVP5RUSC.js";
33
+ } from "./chunk-A6TV3QU6.js";
34
34
  import {
35
35
  UserError
36
36
  } from "./chunk-YPZFLUO6.js";
@@ -1,19 +1,19 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunkTZGUSEIJcjs = require('../chunk-TZGUSEIJ.cjs');
5
- require('../chunk-3Y45CIF4.cjs');
6
- require('../chunk-G4ABMAQY.cjs');
7
- require('../chunk-5ZOHIKWG.cjs');
8
- require('../chunk-B3TLRM4Q.cjs');
9
- require('../chunk-K4ENQCC4.cjs');
10
- require('../chunk-DFS77KAA.cjs');
11
- require('../chunk-SAZCNSVY.cjs');
12
- require('../chunk-3MBP4WNC.cjs');
13
- require('../chunk-6EUWRXLT.cjs');
4
+ var _chunk6INXQCH7cjs = require('../chunk-6INXQCH7.cjs');
5
+ require('../chunk-CKSA7NOS.cjs');
6
+ require('../chunk-QGUQB3NC.cjs');
7
+ require('../chunk-KDNB2BQX.cjs');
8
+ require('../chunk-L5MHM6JJ.cjs');
9
+ require('../chunk-ESD2JX3L.cjs');
10
+ require('../chunk-3WRAGTDC.cjs');
11
+ require('../chunk-FGOZELKN.cjs');
12
+ require('../chunk-TPJNKVFB.cjs');
13
+ require('../chunk-DQVVH5ZK.cjs');
14
14
  require('../chunk-5QGQK44L.cjs');
15
15
 
16
16
 
17
17
 
18
- exports.getPort = _chunkTZGUSEIJcjs.getPort; exports.setupTest = _chunkTZGUSEIJcjs.setupTest;
18
+ exports.getPort = _chunk6INXQCH7cjs.getPort; exports.setupTest = _chunk6INXQCH7cjs.setupTest;
19
19
  //# sourceMappingURL=mod.cjs.map
@@ -1,5 +1,5 @@
1
1
  import { TestContext } from 'vitest';
2
- import { K as Registry, C as Client } from '../conn-DdzHTm2E.cjs';
2
+ import { K as Registry, C as Client } from '../conn-ChAuuTr0.cjs';
3
3
  import 'hono/streaming';
4
4
  import 'hono/ws';
5
5
  import '../utils.cjs';
@@ -1,5 +1,5 @@
1
1
  import { TestContext } from 'vitest';
2
- import { K as Registry, C as Client } from '../conn-DCSQgIlw.js';
2
+ import { K as Registry, C as Client } from '../conn-CjUkMEcm.js';
3
3
  import 'hono/streaming';
4
4
  import 'hono/ws';
5
5
  import '../utils.js';
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  getPort,
3
3
  setupTest
4
- } from "../chunk-SBKRVQS2.js";
5
- import "../chunk-HPT3I7UU.js";
6
- import "../chunk-4GP7BZSR.js";
7
- import "../chunk-BW5DPM6Z.js";
8
- import "../chunk-GZVBFXBI.js";
9
- import "../chunk-E4UVJKSV.js";
10
- import "../chunk-JD54PXWP.js";
11
- import "../chunk-YQ4XQYPM.js";
12
- import "../chunk-PUSQNDJG.js";
13
- import "../chunk-RVP5RUSC.js";
4
+ } from "../chunk-RM2V2IRK.js";
5
+ import "../chunk-E77RVI3P.js";
6
+ import "../chunk-WP7YG7S5.js";
7
+ import "../chunk-N7OVEOMU.js";
8
+ import "../chunk-DOZBWJRI.js";
9
+ import "../chunk-2FAWAPRT.js";
10
+ import "../chunk-PVKV2O2E.js";
11
+ import "../chunk-S6EAEZQA.js";
12
+ import "../chunk-SFRRXLRM.js";
13
+ import "../chunk-A6TV3QU6.js";
14
14
  import "../chunk-YPZFLUO6.js";
15
15
  export {
16
16
  getPort,
@@ -11,7 +11,7 @@
11
11
 
12
12
 
13
13
 
14
- var _chunk6EUWRXLTcjs = require('./chunk-6EUWRXLT.cjs');
14
+ var _chunkDQVVH5ZKcjs = require('./chunk-DQVVH5ZK.cjs');
15
15
  require('./chunk-5QGQK44L.cjs');
16
16
 
17
17
 
@@ -26,5 +26,5 @@ require('./chunk-5QGQK44L.cjs');
26
26
 
27
27
 
28
28
 
29
- exports.SinglePromiseQueue = _chunk6EUWRXLTcjs.SinglePromiseQueue; exports.VERSION = _chunk6EUWRXLTcjs.VERSION; exports.assertUnreachable = _chunk6EUWRXLTcjs.assertUnreachable; exports.bufferToArrayBuffer = _chunk6EUWRXLTcjs.bufferToArrayBuffer; exports.combineUrlPath = _chunk6EUWRXLTcjs.combineUrlPath; exports.dbg = _chunk6EUWRXLTcjs.dbg; exports.getEnvUniversal = _chunk6EUWRXLTcjs.getEnvUniversal; exports.httpUserAgent = _chunk6EUWRXLTcjs.httpUserAgent; exports.promiseWithResolvers = _chunk6EUWRXLTcjs.promiseWithResolvers; exports.setLongTimeout = _chunk6EUWRXLTcjs.setLongTimeout; exports.stringifyError = _chunk6EUWRXLTcjs.stringifyError; exports.toUint8Array = _chunk6EUWRXLTcjs.toUint8Array;
29
+ exports.SinglePromiseQueue = _chunkDQVVH5ZKcjs.SinglePromiseQueue; exports.VERSION = _chunkDQVVH5ZKcjs.VERSION; exports.assertUnreachable = _chunkDQVVH5ZKcjs.assertUnreachable; exports.bufferToArrayBuffer = _chunkDQVVH5ZKcjs.bufferToArrayBuffer; exports.combineUrlPath = _chunkDQVVH5ZKcjs.combineUrlPath; exports.dbg = _chunkDQVVH5ZKcjs.dbg; exports.getEnvUniversal = _chunkDQVVH5ZKcjs.getEnvUniversal; exports.httpUserAgent = _chunkDQVVH5ZKcjs.httpUserAgent; exports.promiseWithResolvers = _chunkDQVVH5ZKcjs.promiseWithResolvers; exports.setLongTimeout = _chunkDQVVH5ZKcjs.setLongTimeout; exports.stringifyError = _chunkDQVVH5ZKcjs.stringifyError; exports.toUint8Array = _chunkDQVVH5ZKcjs.toUint8Array;
30
30
  //# sourceMappingURL=utils.cjs.map
@@ -11,7 +11,7 @@ import {
11
11
  setLongTimeout,
12
12
  stringifyError,
13
13
  toUint8Array
14
- } from "./chunk-RVP5RUSC.js";
14
+ } from "./chunk-A6TV3QU6.js";
15
15
  import "./chunk-YPZFLUO6.js";
16
16
  export {
17
17
  SinglePromiseQueue,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rivetkit",
3
- "version": "2.0.7-rc.1",
3
+ "version": "2.0.8",
4
4
  "description": "Lightweight libraries for building stateful actors on edge platforms",
5
5
  "license": "Apache-2.0",
6
6
  "keywords": [
@@ -155,7 +155,7 @@
155
155
  "@bare-ts/lib": "~0.3.0",
156
156
  "@hono/standard-validator": "^0.1.3",
157
157
  "@hono/zod-openapi": "^0.19.10",
158
- "@rivetkit/engine-runner": "https://pkg.pr.new/rivet-dev/engine/@rivetkit/engine-runner@3002",
158
+ "@rivetkit/engine-runner": "https://pkg.pr.new/rivet-dev/engine/@rivetkit/engine-runner@03e3532",
159
159
  "@rivetkit/fast-json-patch": "^3.1.2",
160
160
  "cbor-x": "^1.6.0",
161
161
  "hono": "^4.7.0",
@@ -373,6 +373,9 @@ export class ActorInstance<S, CP, CS, V, I, DB extends AnyDatabaseProvider> {
373
373
  this.#config.options.connectionLivenessInterval,
374
374
  );
375
375
  this.#checkConnectionsLiveness();
376
+
377
+ // Trigger any pending alarms
378
+ await this._onAlarm();
376
379
  }
377
380
 
378
381
  async #scheduleEventInner(newEvent: PersistedScheduleEvent) {
@@ -401,6 +404,12 @@ export class ActorInstance<S, CP, CS, V, I, DB extends AnyDatabaseProvider> {
401
404
  }
402
405
  }
403
406
 
407
+ /**
408
+ * Triggers any pending alarms.
409
+ *
410
+ * This method is idempotent. It's called automatically when the actor wakes
411
+ * in order to trigger any pending alarms.
412
+ */
404
413
  async _onAlarm() {
405
414
  const now = Date.now();
406
415
  this.actorContext.log.debug({
@@ -424,7 +433,7 @@ export class ActorInstance<S, CP, CS, V, I, DB extends AnyDatabaseProvider> {
424
433
  this.#rLog.warn({ msg: "no events are due yet, time may have broken" });
425
434
  if (this.#persist.scheduledEvents.length > 0) {
426
435
  const nextTs = this.#persist.scheduledEvents[0].timestamp;
427
- this.actorContext.log.warn({
436
+ this.actorContext.log.debug({
428
437
  msg: "alarm fired early, rescheduling for next event",
429
438
  now,
430
439
  nextTs,
@@ -786,7 +795,7 @@ export class ActorInstance<S, CP, CS, V, I, DB extends AnyDatabaseProvider> {
786
795
  }
787
796
 
788
797
  /**
789
- * Connection disconnected.
798
+ * Call when conn is disconnected. Used by transports.
790
799
  *
791
800
  * If a clean diconnect, will be removed immediately.
792
801
  *
@@ -800,7 +809,7 @@ export class ActorInstance<S, CP, CS, V, I, DB extends AnyDatabaseProvider> {
800
809
  // If socket ID is provided, check if it matches the current socket ID
801
810
  // If it doesn't match, this is a stale disconnect event from an old socket
802
811
  if (socketId && conn.__socket && socketId !== conn.__socket.socketId) {
803
- this.rLog.debug({
812
+ this.#rLog.debug({
804
813
  msg: "ignoring stale disconnect event",
805
814
  connId: conn.id,
806
815
  eventSocketId: socketId,
@@ -825,6 +834,9 @@ export class ActorInstance<S, CP, CS, V, I, DB extends AnyDatabaseProvider> {
825
834
 
826
835
  // Remove socket
827
836
  conn.__socket = undefined;
837
+
838
+ // Update sleep
839
+ this.#resetSleepTimer();
828
840
  }
829
841
  }
830
842
 
@@ -848,6 +860,7 @@ export class ActorInstance<S, CP, CS, V, I, DB extends AnyDatabaseProvider> {
848
860
 
849
861
  // Remove from state
850
862
  this.#connections.delete(conn.id);
863
+ this.#rLog.debug({ msg: "removed conn", connId: conn.id });
851
864
 
852
865
  // Remove subscriptions
853
866
  for (const eventName of [...conn.subscriptions.values()]) {
@@ -292,7 +292,8 @@ export async function handleWebSocketConnect(
292
292
  // Handle cleanup asynchronously
293
293
  handlersPromise
294
294
  .then(({ conn, actor }) => {
295
- actor.__connDisconnected(conn, event.wasClean, socketId);
295
+ const wasClean = event.wasClean || event.code === 1000;
296
+ actor.__connDisconnected(conn, wasClean, socketId);
296
297
  })
297
298
  .catch((error) => {
298
299
  deconstructError(
@@ -69,6 +69,7 @@ export type ActorRouter = Hono<{ Bindings: ActorRouterBindings }>;
69
69
  export function createActorRouter(
70
70
  runConfig: RunConfig,
71
71
  actorDriver: ActorDriver,
72
+ isTest: boolean,
72
73
  ): ActorRouter {
73
74
  const router = new Hono<{ Bindings: ActorRouterBindings }>({ strict: false });
74
75
 
@@ -84,37 +85,39 @@ export function createActorRouter(
84
85
  return c.text("ok");
85
86
  });
86
87
 
87
- // Test endpoint to force disconnect a connection non-cleanly
88
- router.post("/.test/force-disconnect", async (c) => {
89
- const connId = c.req.query("conn");
88
+ if (isTest) {
89
+ // Test endpoint to force disconnect a connection non-cleanly
90
+ router.post("/.test/force-disconnect", async (c) => {
91
+ const connId = c.req.query("conn");
90
92
 
91
- if (!connId) {
92
- return c.text("Missing conn query parameter", 400);
93
- }
93
+ if (!connId) {
94
+ return c.text("Missing conn query parameter", 400);
95
+ }
94
96
 
95
- const actor = await actorDriver.loadActor(c.env.actorId);
96
- const conn = actor.__getConnForId(connId);
97
+ const actor = await actorDriver.loadActor(c.env.actorId);
98
+ const conn = actor.__getConnForId(connId);
97
99
 
98
- if (!conn) {
99
- return c.text(`Connection not found: ${connId}`, 404);
100
- }
100
+ if (!conn) {
101
+ return c.text(`Connection not found: ${connId}`, 404);
102
+ }
101
103
 
102
- // Force close the websocket/SSE connection without clean shutdown
103
- const driverState = conn.__driverState;
104
- if (driverState && ConnDriverKind.WEBSOCKET in driverState) {
105
- const ws = driverState[ConnDriverKind.WEBSOCKET].websocket;
104
+ // Force close the websocket/SSE connection without clean shutdown
105
+ const driverState = conn.__driverState;
106
+ if (driverState && ConnDriverKind.WEBSOCKET in driverState) {
107
+ const ws = driverState[ConnDriverKind.WEBSOCKET].websocket;
106
108
 
107
- // Force close without sending close frame
108
- (ws.raw as any).terminate();
109
- } else if (driverState && ConnDriverKind.SSE in driverState) {
110
- const stream = driverState[ConnDriverKind.SSE].stream;
109
+ // Force close without sending close frame
110
+ (ws.raw as any).terminate();
111
+ } else if (driverState && ConnDriverKind.SSE in driverState) {
112
+ const stream = driverState[ConnDriverKind.SSE].stream;
111
113
 
112
- // Force close the SSE stream
113
- stream.abort();
114
- }
114
+ // Force close the SSE stream
115
+ stream.abort();
116
+ }
115
117
 
116
- return c.json({ success: true });
117
- });
118
+ return c.json({ success: true });
119
+ });
120
+ }
118
121
 
119
122
  router.get(PATH_CONNECT_WEBSOCKET, async (c) => {
120
123
  const upgradeWebSocket = runConfig.getUpgradeWebSocket?.();
@@ -914,6 +914,8 @@ enc
914
914
  if (!this.#transport) {
915
915
  // Nothing to do
916
916
  } else if ("websocket" in this.#transport) {
917
+ logger().debug("closing ws");
918
+
917
919
  const ws = this.#transport.websocket;
918
920
  // Check if WebSocket is already closed or closing
919
921
  if (
@@ -927,10 +929,12 @@ enc
927
929
  logger().debug({ msg: "ws closed" });
928
930
  resolve(undefined);
929
931
  });
930
- ws.close();
932
+ ws.close(1000, "Normal closure");
931
933
  await promise;
932
934
  }
933
935
  } else if ("sse" in this.#transport) {
936
+ logger().debug("closing sse");
937
+
934
938
  // Send close request to server for SSE connections
935
939
  if (this.#connectionId && this.#connectionToken) {
936
940
  try {
@@ -19,6 +19,8 @@ export const ClientConfigSchema = z.object({
19
19
  .optional()
20
20
  .transform((x) => x ?? getEnvUniversal("RIVET_TOKEN")),
21
21
 
22
+ totalSlots: z.number().optional(),
23
+
22
24
  headers: z.record(z.string()).optional().default({}),
23
25
 
24
26
  /** Endpoint to connect to the Rivet engine. Can be configured via RIVET_ENGINE env var. */
@@ -35,6 +35,7 @@ export interface SkipTests {
35
35
  schedule?: boolean;
36
36
  sleep?: boolean;
37
37
  sse?: boolean;
38
+ inline?: boolean;
38
39
  }
39
40
 
40
41
  export interface DriverTestConfig {
@@ -79,7 +80,10 @@ export interface DriverDeployOutput {
79
80
  export function runDriverTests(
80
81
  driverTestConfigPartial: Omit<DriverTestConfig, "clientType" | "transport">,
81
82
  ) {
82
- for (const clientType of ["http", "inline"] as ClientType[]) {
83
+ const clientTypes: ClientType[] = driverTestConfigPartial.skip?.inline
84
+ ? ["http"]
85
+ : ["http", "inline"];
86
+ for (const clientType of clientTypes) {
83
87
  const driverTestConfig: DriverTestConfig = {
84
88
  ...driverTestConfigPartial,
85
89
  clientType,
@@ -148,7 +152,12 @@ export function runDriverTests(
148
152
  export async function createTestRuntime(
149
153
  registryPath: string,
150
154
  driverFactory: (registry: Registry<any>) => Promise<{
151
- rivetEngine?: { endpoint: string; namespace: string; runnerName: string };
155
+ rivetEngine?: {
156
+ endpoint: string;
157
+ namespace: string;
158
+ runnerName: string;
159
+ token: string;
160
+ };
152
161
  driver: DriverConfig;
153
162
  cleanup?: () => Promise<void>;
154
163
  }>,