rivetkit 2.0.7 → 2.0.9
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/{chunk-OSK2VSJF.cjs → chunk-2MJYYF2Q.cjs} +12 -12
- package/dist/tsup/{chunk-OSK2VSJF.cjs.map → chunk-2MJYYF2Q.cjs.map} +1 -1
- package/dist/tsup/{chunk-NUA6LOOJ.cjs → chunk-4PSLOAXR.cjs} +216 -204
- package/dist/tsup/chunk-4PSLOAXR.cjs.map +1 -0
- package/dist/tsup/{chunk-F7YL5G7Q.cjs → chunk-4YV6RDZL.cjs} +255 -229
- package/dist/tsup/chunk-4YV6RDZL.cjs.map +1 -0
- package/dist/tsup/{chunk-3ALZ7EGX.cjs → chunk-7OMMIAWP.cjs} +11 -11
- package/dist/tsup/{chunk-3ALZ7EGX.cjs.map → chunk-7OMMIAWP.cjs.map} +1 -1
- package/dist/tsup/{chunk-GWJTWY3G.cjs → chunk-A44TWAS5.cjs} +6 -6
- package/dist/tsup/{chunk-GWJTWY3G.cjs.map → chunk-A44TWAS5.cjs.map} +1 -1
- package/dist/tsup/{chunk-B6N6VM37.js → chunk-APHV6WXU.js} +2 -2
- package/dist/tsup/{chunk-ETDWYT2P.cjs → chunk-DL7TPF63.cjs} +7 -7
- package/dist/tsup/{chunk-ETDWYT2P.cjs.map → chunk-DL7TPF63.cjs.map} +1 -1
- package/dist/tsup/{chunk-YL4VZMMT.js → chunk-DLPIL3VC.js} +2 -2
- package/dist/tsup/{chunk-VAF63BEI.cjs → chunk-DZZQG7VH.cjs} +3 -3
- package/dist/tsup/{chunk-VAF63BEI.cjs.map → chunk-DZZQG7VH.cjs.map} +1 -1
- package/dist/tsup/{chunk-RLBM6D4L.js → chunk-E63WU5PL.js} +3 -3
- package/dist/tsup/chunk-E63WU5PL.js.map +1 -0
- package/dist/tsup/{chunk-DIHKN7NM.js → chunk-F2YZNUPU.js} +3 -3
- package/dist/tsup/{chunk-KHRZPP5T.js → chunk-FZP2IBIX.js} +94 -68
- package/dist/tsup/chunk-FZP2IBIX.js.map +1 -0
- package/dist/tsup/{chunk-NII4KKHD.js → chunk-KHZ2QSQ4.js} +28 -16
- package/dist/tsup/chunk-KHZ2QSQ4.js.map +1 -0
- package/dist/tsup/{chunk-4EXJ4ITR.cjs → chunk-QGRYH6TU.cjs} +3 -3
- package/dist/tsup/{chunk-4EXJ4ITR.cjs.map → chunk-QGRYH6TU.cjs.map} +1 -1
- package/dist/tsup/{chunk-NRELKXIX.js → chunk-R7OP5N25.js} +56 -46
- package/dist/tsup/chunk-R7OP5N25.js.map +1 -0
- package/dist/tsup/{chunk-NDCVQZBS.cjs → chunk-SDXTJDDR.cjs} +62 -52
- package/dist/tsup/chunk-SDXTJDDR.cjs.map +1 -0
- package/dist/tsup/{chunk-7OOBMCQI.cjs → chunk-SOC4HWCG.cjs} +23 -22
- package/dist/tsup/chunk-SOC4HWCG.cjs.map +1 -0
- package/dist/tsup/{chunk-LXAVET4A.cjs → chunk-U2IXX6DY.cjs} +3 -3
- package/dist/tsup/{chunk-LXAVET4A.cjs.map → chunk-U2IXX6DY.cjs.map} +1 -1
- package/dist/tsup/{chunk-2NL3KGJ7.js → chunk-VVCL5DXN.js} +5 -4
- package/dist/tsup/chunk-VVCL5DXN.js.map +1 -0
- package/dist/tsup/{chunk-54MAHBLL.js → chunk-WBSPHV5V.js} +2 -2
- package/dist/tsup/{chunk-WAT5AE7S.js → chunk-WRSWUDFA.js} +5 -5
- package/dist/tsup/{chunk-PD6HCAJE.js → chunk-YR2VY4XS.js} +2 -2
- 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/{conn-DCSQgIlw.d.ts → conn-Bt8rkUzm.d.ts} +19 -1
- package/dist/tsup/{conn-DdzHTm2E.d.cts → conn-CEh3WKbA.d.cts} +19 -1
- package/dist/tsup/driver-helpers/mod.cjs +7 -5
- package/dist/tsup/driver-helpers/mod.cjs.map +1 -1
- package/dist/tsup/driver-helpers/mod.d.cts +4 -2
- package/dist/tsup/driver-helpers/mod.d.ts +4 -2
- package/dist/tsup/driver-helpers/mod.js +7 -5
- package/dist/tsup/driver-test-suite/mod.cjs +103 -113
- package/dist/tsup/driver-test-suite/mod.cjs.map +1 -1
- package/dist/tsup/driver-test-suite/mod.d.cts +3 -1
- package/dist/tsup/driver-test-suite/mod.d.ts +3 -1
- package/dist/tsup/driver-test-suite/mod.js +45 -55
- 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.d.cts +5 -5
- package/dist/tsup/mod.d.ts +5 -5
- package/dist/tsup/mod.js +9 -9
- package/dist/tsup/test/mod.cjs +11 -11
- package/dist/tsup/test/mod.d.cts +1 -1
- package/dist/tsup/test/mod.d.ts +1 -1
- package/dist/tsup/test/mod.js +10 -10
- package/dist/tsup/utils.cjs +2 -2
- package/dist/tsup/utils.js +1 -1
- package/package.json +2 -2
- package/src/actor/instance.ts +20 -7
- package/src/actor/router-endpoints.ts +2 -1
- package/src/actor/router.ts +27 -24
- package/src/client/actor-conn.ts +5 -1
- package/src/client/config.ts +2 -0
- package/src/driver-helpers/mod.ts +1 -0
- package/src/driver-test-suite/mod.ts +11 -2
- package/src/driver-test-suite/tests/actor-schedule.ts +14 -37
- package/src/driver-test-suite/tests/actor-sleep.ts +18 -18
- package/src/drivers/engine/actor-driver.ts +39 -10
- package/src/drivers/file-system/manager.ts +5 -1
- package/src/manager/driver.ts +1 -1
- package/src/manager/router.ts +49 -41
- package/src/registry/mod.ts +11 -2
- package/src/remote-manager-driver/mod.ts +3 -2
- package/src/serde.ts +15 -0
- package/dist/tsup/chunk-2NL3KGJ7.js.map +0 -1
- package/dist/tsup/chunk-7OOBMCQI.cjs.map +0 -1
- package/dist/tsup/chunk-F7YL5G7Q.cjs.map +0 -1
- package/dist/tsup/chunk-KHRZPP5T.js.map +0 -1
- package/dist/tsup/chunk-NDCVQZBS.cjs.map +0 -1
- package/dist/tsup/chunk-NII4KKHD.js.map +0 -1
- package/dist/tsup/chunk-NRELKXIX.js.map +0 -1
- package/dist/tsup/chunk-NUA6LOOJ.cjs.map +0 -1
- package/dist/tsup/chunk-RLBM6D4L.js.map +0 -1
- /package/dist/tsup/{chunk-B6N6VM37.js.map → chunk-APHV6WXU.js.map} +0 -0
- /package/dist/tsup/{chunk-YL4VZMMT.js.map → chunk-DLPIL3VC.js.map} +0 -0
- /package/dist/tsup/{chunk-DIHKN7NM.js.map → chunk-F2YZNUPU.js.map} +0 -0
- /package/dist/tsup/{chunk-54MAHBLL.js.map → chunk-WBSPHV5V.js.map} +0 -0
- /package/dist/tsup/{chunk-WAT5AE7S.js.map → chunk-WRSWUDFA.js.map} +0 -0
- /package/dist/tsup/{chunk-PD6HCAJE.js.map → chunk-YR2VY4XS.js.map} +0 -0
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
var
|
|
9
|
+
var _chunkQGRYH6TUcjs = require('../chunk-QGRYH6TU.cjs');
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
@@ -27,10 +27,10 @@ var _chunk4EXJ4ITRcjs = require('../chunk-4EXJ4ITR.cjs');
|
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
|
|
30
|
-
var
|
|
31
|
-
require('../chunk-
|
|
32
|
-
require('../chunk-
|
|
33
|
-
require('../chunk-
|
|
30
|
+
var _chunk2MJYYF2Qcjs = require('../chunk-2MJYYF2Q.cjs');
|
|
31
|
+
require('../chunk-SDXTJDDR.cjs');
|
|
32
|
+
require('../chunk-DL7TPF63.cjs');
|
|
33
|
+
require('../chunk-U2IXX6DY.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 =
|
|
62
|
+
exports.ActorFeature = _chunk2MJYYF2Qcjs.ActorFeature; exports.ActorId = _chunk2MJYYF2Qcjs.ActorId; exports.ActorLogEntry = _chunk2MJYYF2Qcjs.ActorLogEntry; exports.ActorSchema = _chunk2MJYYF2Qcjs.ActorSchema; exports.BuildSchema = _chunk2MJYYF2Qcjs.BuildSchema; exports.BuildsSchema = _chunk2MJYYF2Qcjs.BuildsSchema; exports.ColumnSchema = _chunk2MJYYF2Qcjs.ColumnSchema; exports.ColumnsSchema = _chunk2MJYYF2Qcjs.ColumnsSchema; exports.ConnectionSchema = _chunk2MJYYF2Qcjs.ConnectionSchema; exports.CreateActorSchema = _chunk2MJYYF2Qcjs.CreateActorSchema; exports.DatabaseQuerySchema = _chunk2MJYYF2Qcjs.DatabaseQuerySchema; exports.ForeignKeySchema = _chunk2MJYYF2Qcjs.ForeignKeySchema; exports.ForeignKeysSchema = _chunk2MJYYF2Qcjs.ForeignKeysSchema; exports.OperationSchema = _chunk2MJYYF2Qcjs.OperationSchema; exports.PatchSchema = _chunk2MJYYF2Qcjs.PatchSchema; exports.RealtimeEventSchema = _chunk2MJYYF2Qcjs.RealtimeEventSchema; exports.RecordedRealtimeEventSchema = _chunk2MJYYF2Qcjs.RecordedRealtimeEventSchema; exports.TableSchema = _chunk2MJYYF2Qcjs.TableSchema; exports.TablesSchema = _chunk2MJYYF2Qcjs.TablesSchema; exports.compareSecrets = _chunkQGRYH6TUcjs.compareSecrets; exports.configureInspectorAccessToken = _chunkQGRYH6TUcjs.configureInspectorAccessToken; exports.createActorInspectorClient = _chunkQGRYH6TUcjs.createActorInspectorClient; exports.createManagerInspectorClient = _chunkQGRYH6TUcjs.createManagerInspectorClient; exports.getInspectorUrl = _chunkQGRYH6TUcjs.getInspectorUrl; exports.isInspectorEnabled = _chunkQGRYH6TUcjs.isInspectorEnabled; exports.secureInspector = _chunkQGRYH6TUcjs.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-
|
|
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-
|
|
1
|
+
import { ak as ActorFeature, c as RunConfig, H as RunConfigInput, ah as ManagerDriver } from '../conn-CEh3WKbA.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-CEh3WKbA.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-
|
|
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-
|
|
1
|
+
import { ak as ActorFeature, c as RunConfig, H as RunConfigInput, ah as ManagerDriver } from '../conn-Bt8rkUzm.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-Bt8rkUzm.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-
|
|
9
|
+
} from "../chunk-YR2VY4XS.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-
|
|
31
|
-
import "../chunk-
|
|
32
|
-
import "../chunk-
|
|
33
|
-
import "../chunk-
|
|
30
|
+
} from "../chunk-WBSPHV5V.js";
|
|
31
|
+
import "../chunk-R7OP5N25.js";
|
|
32
|
+
import "../chunk-DLPIL3VC.js";
|
|
33
|
+
import "../chunk-E63WU5PL.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
|
|
14
|
-
require('./chunk-
|
|
13
|
+
var _chunk4YV6RDZLcjs = require('./chunk-4YV6RDZL.cjs');
|
|
14
|
+
require('./chunk-QGRYH6TU.cjs');
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
var
|
|
21
|
-
require('./chunk-
|
|
22
|
-
require('./chunk-
|
|
23
|
-
require('./chunk-
|
|
20
|
+
var _chunk4PSLOAXRcjs = require('./chunk-4PSLOAXR.cjs');
|
|
21
|
+
require('./chunk-2MJYYF2Q.cjs');
|
|
22
|
+
require('./chunk-DZZQG7VH.cjs');
|
|
23
|
+
require('./chunk-SOC4HWCG.cjs');
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
|
|
28
|
-
var
|
|
29
|
-
require('./chunk-
|
|
28
|
+
var _chunkSDXTJDDRcjs = require('./chunk-SDXTJDDR.cjs');
|
|
29
|
+
require('./chunk-DL7TPF63.cjs');
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
|
|
33
|
-
var
|
|
33
|
+
var _chunkU2IXX6DYcjs = require('./chunk-U2IXX6DY.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 =
|
|
59
|
+
exports.ALLOWED_PUBLIC_HEADERS = _chunkSDXTJDDRcjs.ALLOWED_PUBLIC_HEADERS; exports.InlineWebSocketAdapter2 = _chunk4YV6RDZLcjs.InlineWebSocketAdapter2; exports.PATH_CONNECT_WEBSOCKET = _chunkSDXTJDDRcjs.PATH_CONNECT_WEBSOCKET; exports.PATH_RAW_WEBSOCKET_PREFIX = _chunkSDXTJDDRcjs.PATH_RAW_WEBSOCKET_PREFIX; exports.Registry = _chunk4YV6RDZLcjs.Registry; exports.RegistryConfigSchema = _chunk4YV6RDZLcjs.RegistryConfigSchema; exports.UserError = _chunk5QGQK44Lcjs.UserError; exports.actor = _chunk4YV6RDZLcjs.actor; exports.createActorRouter = _chunk4YV6RDZLcjs.createActorRouter; exports.createClientWithDriver = _chunk4PSLOAXRcjs.createClientWithDriver; exports.createEngineDriver = _chunk4YV6RDZLcjs.createEngineDriver; exports.createFileSystemDriver = _chunk4YV6RDZLcjs.createFileSystemDriver; exports.createMemoryDriver = _chunk4YV6RDZLcjs.createMemoryDriver; exports.generateConnId = _chunk4PSLOAXRcjs.generateConnId; exports.generateConnToken = _chunk4PSLOAXRcjs.generateConnToken; exports.handleRawWebSocketHandler = _chunk4YV6RDZLcjs.handleRawWebSocketHandler; exports.handleWebSocketConnect = _chunk4YV6RDZLcjs.handleWebSocketConnect; exports.lookupInRegistry = _chunk4PSLOAXRcjs.lookupInRegistry; exports.noopNext = _chunkU2IXX6DYcjs.noopNext; exports.setup = _chunk4YV6RDZLcjs.setup; exports.toUint8Array = _chunkU2IXX6DYcjs.toUint8Array;
|
|
60
60
|
//# sourceMappingURL=mod.cjs.map
|
package/dist/tsup/mod.d.cts
CHANGED
|
@@ -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-
|
|
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-
|
|
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-CEh3WKbA.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-CEh3WKbA.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
|
|
package/dist/tsup/mod.d.ts
CHANGED
|
@@ -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-
|
|
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-
|
|
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-Bt8rkUzm.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-Bt8rkUzm.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-
|
|
14
|
-
import "./chunk-
|
|
13
|
+
} from "./chunk-FZP2IBIX.js";
|
|
14
|
+
import "./chunk-YR2VY4XS.js";
|
|
15
15
|
import {
|
|
16
16
|
createClientWithDriver,
|
|
17
17
|
generateConnId,
|
|
18
18
|
generateConnToken,
|
|
19
19
|
lookupInRegistry
|
|
20
|
-
} from "./chunk-
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
20
|
+
} from "./chunk-KHZ2QSQ4.js";
|
|
21
|
+
import "./chunk-WBSPHV5V.js";
|
|
22
|
+
import "./chunk-APHV6WXU.js";
|
|
23
|
+
import "./chunk-VVCL5DXN.js";
|
|
24
24
|
import {
|
|
25
25
|
ALLOWED_PUBLIC_HEADERS,
|
|
26
26
|
PATH_CONNECT_WEBSOCKET,
|
|
27
27
|
PATH_RAW_WEBSOCKET_PREFIX
|
|
28
|
-
} from "./chunk-
|
|
29
|
-
import "./chunk-
|
|
28
|
+
} from "./chunk-R7OP5N25.js";
|
|
29
|
+
import "./chunk-DLPIL3VC.js";
|
|
30
30
|
import {
|
|
31
31
|
noopNext,
|
|
32
32
|
toUint8Array
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-E63WU5PL.js";
|
|
34
34
|
import {
|
|
35
35
|
UserError
|
|
36
36
|
} from "./chunk-YPZFLUO6.js";
|
package/dist/tsup/test/mod.cjs
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
require('../chunk-
|
|
6
|
-
require('../chunk-
|
|
7
|
-
require('../chunk-
|
|
8
|
-
require('../chunk-
|
|
9
|
-
require('../chunk-
|
|
10
|
-
require('../chunk-
|
|
11
|
-
require('../chunk-
|
|
12
|
-
require('../chunk-
|
|
13
|
-
require('../chunk-
|
|
4
|
+
var _chunk7OMMIAWPcjs = require('../chunk-7OMMIAWP.cjs');
|
|
5
|
+
require('../chunk-4YV6RDZL.cjs');
|
|
6
|
+
require('../chunk-QGRYH6TU.cjs');
|
|
7
|
+
require('../chunk-4PSLOAXR.cjs');
|
|
8
|
+
require('../chunk-2MJYYF2Q.cjs');
|
|
9
|
+
require('../chunk-DZZQG7VH.cjs');
|
|
10
|
+
require('../chunk-SOC4HWCG.cjs');
|
|
11
|
+
require('../chunk-SDXTJDDR.cjs');
|
|
12
|
+
require('../chunk-DL7TPF63.cjs');
|
|
13
|
+
require('../chunk-U2IXX6DY.cjs');
|
|
14
14
|
require('../chunk-5QGQK44L.cjs');
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
exports.getPort =
|
|
18
|
+
exports.getPort = _chunk7OMMIAWPcjs.getPort; exports.setupTest = _chunk7OMMIAWPcjs.setupTest;
|
|
19
19
|
//# sourceMappingURL=mod.cjs.map
|
package/dist/tsup/test/mod.d.cts
CHANGED
package/dist/tsup/test/mod.d.ts
CHANGED
package/dist/tsup/test/mod.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getPort,
|
|
3
3
|
setupTest
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
6
|
-
import "../chunk-
|
|
7
|
-
import "../chunk-
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
12
|
-
import "../chunk-
|
|
13
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-WRSWUDFA.js";
|
|
5
|
+
import "../chunk-FZP2IBIX.js";
|
|
6
|
+
import "../chunk-YR2VY4XS.js";
|
|
7
|
+
import "../chunk-KHZ2QSQ4.js";
|
|
8
|
+
import "../chunk-WBSPHV5V.js";
|
|
9
|
+
import "../chunk-APHV6WXU.js";
|
|
10
|
+
import "../chunk-VVCL5DXN.js";
|
|
11
|
+
import "../chunk-R7OP5N25.js";
|
|
12
|
+
import "../chunk-DLPIL3VC.js";
|
|
13
|
+
import "../chunk-E63WU5PL.js";
|
|
14
14
|
import "../chunk-YPZFLUO6.js";
|
|
15
15
|
export {
|
|
16
16
|
getPort,
|
package/dist/tsup/utils.cjs
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _chunkU2IXX6DYcjs = require('./chunk-U2IXX6DY.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 =
|
|
29
|
+
exports.SinglePromiseQueue = _chunkU2IXX6DYcjs.SinglePromiseQueue; exports.VERSION = _chunkU2IXX6DYcjs.VERSION; exports.assertUnreachable = _chunkU2IXX6DYcjs.assertUnreachable; exports.bufferToArrayBuffer = _chunkU2IXX6DYcjs.bufferToArrayBuffer; exports.combineUrlPath = _chunkU2IXX6DYcjs.combineUrlPath; exports.dbg = _chunkU2IXX6DYcjs.dbg; exports.getEnvUniversal = _chunkU2IXX6DYcjs.getEnvUniversal; exports.httpUserAgent = _chunkU2IXX6DYcjs.httpUserAgent; exports.promiseWithResolvers = _chunkU2IXX6DYcjs.promiseWithResolvers; exports.setLongTimeout = _chunkU2IXX6DYcjs.setLongTimeout; exports.stringifyError = _chunkU2IXX6DYcjs.stringifyError; exports.toUint8Array = _chunkU2IXX6DYcjs.toUint8Array;
|
|
30
30
|
//# sourceMappingURL=utils.cjs.map
|
package/dist/tsup/utils.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rivetkit",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.9",
|
|
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@
|
|
158
|
+
"@rivetkit/engine-runner": "https://pkg.pr.new/rivet-dev/engine/@rivetkit/engine-runner@16cf6cc",
|
|
159
159
|
"@rivetkit/fast-json-patch": "^3.1.2",
|
|
160
160
|
"cbor-x": "^1.6.0",
|
|
161
161
|
"hono": "^4.7.0",
|
package/src/actor/instance.ts
CHANGED
|
@@ -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({
|
|
@@ -419,12 +428,12 @@ export class ActorInstance<S, CP, CS, V, I, DB extends AnyDatabaseProvider> {
|
|
|
419
428
|
(x) => x.timestamp <= now,
|
|
420
429
|
);
|
|
421
430
|
if (runIndex === -1) {
|
|
422
|
-
//
|
|
423
|
-
//
|
|
424
|
-
this.#rLog.
|
|
431
|
+
// This method is idempotent, so this will happen in scenarios like `start` and
|
|
432
|
+
// no events are pending.
|
|
433
|
+
this.#rLog.debug({ msg: "no events are due yet" });
|
|
425
434
|
if (this.#persist.scheduledEvents.length > 0) {
|
|
426
435
|
const nextTs = this.#persist.scheduledEvents[0].timestamp;
|
|
427
|
-
this.actorContext.log.
|
|
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
|
-
*
|
|
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
|
|
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()]) {
|
|
@@ -1226,7 +1239,7 @@ export class ActorInstance<S, CP, CS, V, I, DB extends AnyDatabaseProvider> {
|
|
|
1226
1239
|
}
|
|
1227
1240
|
|
|
1228
1241
|
// Connection is dead, remove it
|
|
1229
|
-
this.#rLog.
|
|
1242
|
+
this.#rLog.info({
|
|
1230
1243
|
msg: "connection is dead, removing",
|
|
1231
1244
|
connId: conn.id,
|
|
1232
1245
|
lastSeen,
|
|
@@ -292,7 +292,8 @@ export async function handleWebSocketConnect(
|
|
|
292
292
|
// Handle cleanup asynchronously
|
|
293
293
|
handlersPromise
|
|
294
294
|
.then(({ conn, actor }) => {
|
|
295
|
-
|
|
295
|
+
const wasClean = event.wasClean || event.code === 1000;
|
|
296
|
+
actor.__connDisconnected(conn, wasClean, socketId);
|
|
296
297
|
})
|
|
297
298
|
.catch((error) => {
|
|
298
299
|
deconstructError(
|
package/src/actor/router.ts
CHANGED
|
@@ -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
|
-
|
|
88
|
-
|
|
89
|
-
|
|
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
|
-
|
|
92
|
-
|
|
93
|
-
|
|
93
|
+
if (!connId) {
|
|
94
|
+
return c.text("Missing conn query parameter", 400);
|
|
95
|
+
}
|
|
94
96
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
+
const actor = await actorDriver.loadActor(c.env.actorId);
|
|
98
|
+
const conn = actor.__getConnForId(connId);
|
|
97
99
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
100
|
+
if (!conn) {
|
|
101
|
+
return c.text(`Connection not found: ${connId}`, 404);
|
|
102
|
+
}
|
|
101
103
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
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
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
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
|
-
|
|
113
|
-
|
|
114
|
-
|
|
114
|
+
// Force close the SSE stream
|
|
115
|
+
stream.abort();
|
|
116
|
+
}
|
|
115
117
|
|
|
116
|
-
|
|
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?.();
|
package/src/client/actor-conn.ts
CHANGED
|
@@ -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 {
|
package/src/client/config.ts
CHANGED
|
@@ -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
|
-
|
|
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?: {
|
|
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
|
}>,
|