rivetkit 2.0.13 → 2.0.15
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.d.cts +0 -8
- package/dist/tsup/actor/errors.d.ts +0 -8
- package/dist/tsup/actor/errors.js +1 -1
- package/dist/tsup/{chunk-W5AMA5MD.js → chunk-7MDKUHE4.js} +147 -145
- package/dist/tsup/chunk-7MDKUHE4.js.map +1 -0
- package/dist/tsup/{chunk-QLCMNNEA.js → chunk-AMLE3HUH.js} +2 -2
- package/dist/tsup/{chunk-QVMIMEYZ.cjs → chunk-BPQTS4VW.cjs} +274 -272
- package/dist/tsup/chunk-BPQTS4VW.cjs.map +1 -0
- package/dist/tsup/{chunk-SDB3B7ZO.js → chunk-BTEDNZSI.js} +2 -2
- package/dist/tsup/{chunk-2ALBSAT7.cjs → chunk-C66P3AU6.cjs} +10 -10
- package/dist/tsup/{chunk-2ALBSAT7.cjs.map → chunk-C66P3AU6.cjs.map} +1 -1
- package/dist/tsup/{chunk-HASQHAZF.cjs → chunk-CJJW2HVJ.cjs} +12 -12
- package/dist/tsup/{chunk-HASQHAZF.cjs.map → chunk-CJJW2HVJ.cjs.map} +1 -1
- package/dist/tsup/{chunk-XW5IS7NH.js → chunk-FUF4YPTZ.js} +2 -2
- package/dist/tsup/{chunk-YPZFLUO6.js → chunk-G64QUEDJ.js} +1 -11
- package/dist/tsup/chunk-G64QUEDJ.js.map +1 -0
- package/dist/tsup/{chunk-Y5JPI3EV.js → chunk-HMGH3AWC.js} +8 -6
- package/dist/tsup/chunk-HMGH3AWC.js.map +1 -0
- package/dist/tsup/{chunk-E7CPGIQE.js → chunk-IESTGXF3.js} +3 -3
- package/dist/tsup/{chunk-5QGQK44L.cjs → chunk-KSRXX3Z4.cjs} +1 -11
- package/dist/tsup/chunk-KSRXX3Z4.cjs.map +1 -0
- package/dist/tsup/{chunk-5VER7GR2.cjs → chunk-NRYLXYDB.cjs} +6 -6
- package/dist/tsup/{chunk-5VER7GR2.cjs.map → chunk-NRYLXYDB.cjs.map} +1 -1
- package/dist/tsup/{chunk-PL46WM3W.cjs → chunk-PBAZ6FDY.cjs} +3 -3
- package/dist/tsup/{chunk-PL46WM3W.cjs.map → chunk-PBAZ6FDY.cjs.map} +1 -1
- package/dist/tsup/{chunk-V4GFUBOJ.cjs → chunk-QLIJ6I3M.cjs} +3 -3
- package/dist/tsup/{chunk-V4GFUBOJ.cjs.map → chunk-QLIJ6I3M.cjs.map} +1 -1
- package/dist/tsup/{chunk-HBRZOISM.cjs → chunk-RQRDBVMA.cjs} +8 -8
- package/dist/tsup/{chunk-HBRZOISM.cjs.map → chunk-RQRDBVMA.cjs.map} +1 -1
- package/dist/tsup/{chunk-PKH3YCMG.cjs → chunk-T7MZMA5D.cjs} +17 -13
- package/dist/tsup/chunk-T7MZMA5D.cjs.map +1 -0
- package/dist/tsup/{chunk-WFADCZPK.js → chunk-TD5RNAZU.js} +2 -2
- package/dist/tsup/{chunk-W76ULFDH.js → chunk-U7ZDMHVJ.js} +104 -17
- package/dist/tsup/chunk-U7ZDMHVJ.js.map +1 -0
- package/dist/tsup/{chunk-IZKFTUF7.js → chunk-UBBJE54L.js} +3 -3
- package/dist/tsup/{chunk-IZKFTUF7.js.map → chunk-UBBJE54L.js.map} +1 -1
- package/dist/tsup/{chunk-QBDLQRFN.cjs → chunk-UWGWDHYS.cjs} +321 -234
- package/dist/tsup/{chunk-W76ULFDH.js.map → chunk-UWGWDHYS.cjs.map} +1 -1
- package/dist/tsup/{chunk-4LAWCEKE.cjs → chunk-WMEMX7ND.cjs} +7 -7
- package/dist/tsup/{chunk-4LAWCEKE.cjs.map → chunk-WMEMX7ND.cjs.map} +1 -1
- package/dist/tsup/{chunk-T33JFOMB.cjs → chunk-XR6ZIZEK.cjs} +34 -32
- package/dist/tsup/chunk-XR6ZIZEK.cjs.map +1 -0
- package/dist/tsup/{chunk-YCQL4TJR.js → chunk-YAUIBXG3.js} +4 -4
- package/dist/tsup/{chunk-CL67HHVB.js → chunk-ZT77CQXR.js} +11 -7
- package/dist/tsup/chunk-ZT77CQXR.js.map +1 -0
- package/dist/tsup/client/mod.cjs +10 -10
- package/dist/tsup/client/mod.d.cts +2 -2
- package/dist/tsup/client/mod.d.ts +2 -2
- package/dist/tsup/client/mod.js +9 -9
- package/dist/tsup/common/log.cjs +4 -4
- package/dist/tsup/common/log.js +3 -3
- package/dist/tsup/common/websocket.cjs +5 -5
- package/dist/tsup/common/websocket.js +4 -4
- package/dist/tsup/{conn-Cc9WHuN4.d.cts → conn-CxCsTz2s.d.cts} +27 -24
- package/dist/tsup/{conn-DfPG71FA.d.ts → conn-DhdZYlSX.d.ts} +27 -24
- package/dist/tsup/driver-helpers/mod.cjs +6 -6
- 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 +5 -5
- package/dist/tsup/driver-test-suite/mod.cjs +77 -73
- 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 +17 -13
- package/dist/tsup/driver-test-suite/mod.js.map +1 -1
- package/dist/tsup/inspector/mod.cjs +7 -7
- package/dist/tsup/inspector/mod.d.cts +2 -2
- package/dist/tsup/inspector/mod.d.ts +2 -2
- package/dist/tsup/inspector/mod.js +6 -6
- package/dist/tsup/mod.cjs +11 -11
- package/dist/tsup/mod.d.cts +2 -2
- package/dist/tsup/mod.d.ts +2 -2
- package/dist/tsup/mod.js +10 -10
- 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 +1 -1
- package/src/actor/errors.ts +0 -11
- package/src/client/client.ts +4 -8
- package/src/client/config.ts +3 -0
- package/src/client/utils.ts +8 -3
- package/src/common/router.ts +60 -1
- package/src/driver-test-suite/mod.ts +5 -1
- package/src/drivers/default.ts +5 -7
- package/src/drivers/engine/actor-driver.ts +18 -17
- package/src/drivers/file-system/manager.ts +5 -1
- package/src/manager/router.ts +13 -15
- package/src/registry/config.ts +8 -0
- package/src/registry/mod.ts +32 -48
- package/src/remote-manager-driver/api-endpoints.ts +50 -0
- package/src/remote-manager-driver/mod.ts +104 -1
- package/src/test/mod.ts +5 -1
- package/dist/tsup/chunk-5QGQK44L.cjs.map +0 -1
- package/dist/tsup/chunk-CL67HHVB.js.map +0 -1
- package/dist/tsup/chunk-PKH3YCMG.cjs.map +0 -1
- package/dist/tsup/chunk-QBDLQRFN.cjs.map +0 -1
- package/dist/tsup/chunk-QVMIMEYZ.cjs.map +0 -1
- package/dist/tsup/chunk-T33JFOMB.cjs.map +0 -1
- package/dist/tsup/chunk-W5AMA5MD.js.map +0 -1
- package/dist/tsup/chunk-Y5JPI3EV.js.map +0 -1
- package/dist/tsup/chunk-YPZFLUO6.js.map +0 -1
- /package/dist/tsup/{chunk-QLCMNNEA.js.map → chunk-AMLE3HUH.js.map} +0 -0
- /package/dist/tsup/{chunk-SDB3B7ZO.js.map → chunk-BTEDNZSI.js.map} +0 -0
- /package/dist/tsup/{chunk-XW5IS7NH.js.map → chunk-FUF4YPTZ.js.map} +0 -0
- /package/dist/tsup/{chunk-E7CPGIQE.js.map → chunk-IESTGXF3.js.map} +0 -0
- /package/dist/tsup/{chunk-WFADCZPK.js.map → chunk-TD5RNAZU.js.map} +0 -0
- /package/dist/tsup/{chunk-YCQL4TJR.js.map → chunk-YAUIBXG3.js.map} +0 -0
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
var
|
|
9
|
+
var _chunkQLIJ6I3Mcjs = require('../chunk-QLIJ6I3M.cjs');
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
@@ -27,11 +27,11 @@ var _chunkV4GFUBOJcjs = require('../chunk-V4GFUBOJ.cjs');
|
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
|
|
30
|
-
var
|
|
31
|
-
require('../chunk-
|
|
32
|
-
require('../chunk-
|
|
33
|
-
require('../chunk-
|
|
34
|
-
require('../chunk-
|
|
30
|
+
var _chunkCJJW2HVJcjs = require('../chunk-CJJW2HVJ.cjs');
|
|
31
|
+
require('../chunk-C66P3AU6.cjs');
|
|
32
|
+
require('../chunk-WMEMX7ND.cjs');
|
|
33
|
+
require('../chunk-RQRDBVMA.cjs');
|
|
34
|
+
require('../chunk-KSRXX3Z4.cjs');
|
|
35
35
|
|
|
36
36
|
|
|
37
37
|
|
|
@@ -59,5 +59,5 @@ require('../chunk-5QGQK44L.cjs');
|
|
|
59
59
|
|
|
60
60
|
|
|
61
61
|
|
|
62
|
-
exports.ActorFeature =
|
|
62
|
+
exports.ActorFeature = _chunkCJJW2HVJcjs.ActorFeature; exports.ActorId = _chunkCJJW2HVJcjs.ActorId; exports.ActorLogEntry = _chunkCJJW2HVJcjs.ActorLogEntry; exports.ActorSchema = _chunkCJJW2HVJcjs.ActorSchema; exports.BuildSchema = _chunkCJJW2HVJcjs.BuildSchema; exports.BuildsSchema = _chunkCJJW2HVJcjs.BuildsSchema; exports.ColumnSchema = _chunkCJJW2HVJcjs.ColumnSchema; exports.ColumnsSchema = _chunkCJJW2HVJcjs.ColumnsSchema; exports.ConnectionSchema = _chunkCJJW2HVJcjs.ConnectionSchema; exports.CreateActorSchema = _chunkCJJW2HVJcjs.CreateActorSchema; exports.DatabaseQuerySchema = _chunkCJJW2HVJcjs.DatabaseQuerySchema; exports.ForeignKeySchema = _chunkCJJW2HVJcjs.ForeignKeySchema; exports.ForeignKeysSchema = _chunkCJJW2HVJcjs.ForeignKeysSchema; exports.OperationSchema = _chunkCJJW2HVJcjs.OperationSchema; exports.PatchSchema = _chunkCJJW2HVJcjs.PatchSchema; exports.RealtimeEventSchema = _chunkCJJW2HVJcjs.RealtimeEventSchema; exports.RecordedRealtimeEventSchema = _chunkCJJW2HVJcjs.RecordedRealtimeEventSchema; exports.TableSchema = _chunkCJJW2HVJcjs.TableSchema; exports.TablesSchema = _chunkCJJW2HVJcjs.TablesSchema; exports.compareSecrets = _chunkQLIJ6I3Mcjs.compareSecrets; exports.configureInspectorAccessToken = _chunkQLIJ6I3Mcjs.configureInspectorAccessToken; exports.createActorInspectorClient = _chunkQLIJ6I3Mcjs.createActorInspectorClient; exports.createManagerInspectorClient = _chunkQLIJ6I3Mcjs.createManagerInspectorClient; exports.getInspectorUrl = _chunkQLIJ6I3Mcjs.getInspectorUrl; exports.isInspectorEnabled = _chunkQLIJ6I3Mcjs.isInspectorEnabled; exports.secureInspector = _chunkQLIJ6I3Mcjs.secureInspector;
|
|
63
63
|
//# sourceMappingURL=mod.cjs.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { al as ActorFeature, c as RunnerConfig, H as RunnerConfigInput, ai as ManagerDriver } from '../conn-
|
|
2
|
-
export { ap as Actor, am as ActorId, an as ActorLogEntry, ao as ActorSchema, aP as Build, aO as BuildSchema, aR as Builds, aQ as BuildsSchema, aH as Column, aG as ColumnSchema, aJ as Columns, aI as ColumnsSchema, av as Connection, au as ConnectionSchema, aT as CreateActor, aS as CreateActorSchema, aB as DatabaseQuery, aA as DatabaseQuerySchema, aL as ForeignKey, aK as ForeignKeySchema, aN as ForeignKeys, aM as ForeignKeysSchema, ar as Operation, aq as OperationSchema, at as Patch, as as PatchSchema, ax as RealtimeEvent, aw as RealtimeEventSchema, az as RecordedRealtimeEvent, ay as RecordedRealtimeEventSchema, aD as Table, aC as TableSchema, aF as Tables, aE as TablesSchema } from '../conn-
|
|
1
|
+
import { al as ActorFeature, c as RunnerConfig, H as RunnerConfigInput, ai as ManagerDriver } from '../conn-CxCsTz2s.cjs';
|
|
2
|
+
export { ap as Actor, am as ActorId, an as ActorLogEntry, ao as ActorSchema, aP as Build, aO as BuildSchema, aR as Builds, aQ as BuildsSchema, aH as Column, aG as ColumnSchema, aJ as Columns, aI as ColumnsSchema, av as Connection, au as ConnectionSchema, aT as CreateActor, aS as CreateActorSchema, aB as DatabaseQuery, aA as DatabaseQuerySchema, aL as ForeignKey, aK as ForeignKeySchema, aN as ForeignKeys, aM as ForeignKeysSchema, ar as Operation, aq as OperationSchema, at as Patch, as as PatchSchema, ax as RealtimeEvent, aw as RealtimeEventSchema, az as RecordedRealtimeEvent, ay as RecordedRealtimeEventSchema, aD as Table, aC as TableSchema, aF as Tables, aE as TablesSchema } from '../conn-CxCsTz2s.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 { al as ActorFeature, c as RunnerConfig, H as RunnerConfigInput, ai as ManagerDriver } from '../conn-
|
|
2
|
-
export { ap as Actor, am as ActorId, an as ActorLogEntry, ao as ActorSchema, aP as Build, aO as BuildSchema, aR as Builds, aQ as BuildsSchema, aH as Column, aG as ColumnSchema, aJ as Columns, aI as ColumnsSchema, av as Connection, au as ConnectionSchema, aT as CreateActor, aS as CreateActorSchema, aB as DatabaseQuery, aA as DatabaseQuerySchema, aL as ForeignKey, aK as ForeignKeySchema, aN as ForeignKeys, aM as ForeignKeysSchema, ar as Operation, aq as OperationSchema, at as Patch, as as PatchSchema, ax as RealtimeEvent, aw as RealtimeEventSchema, az as RecordedRealtimeEvent, ay as RecordedRealtimeEventSchema, aD as Table, aC as TableSchema, aF as Tables, aE as TablesSchema } from '../conn-
|
|
1
|
+
import { al as ActorFeature, c as RunnerConfig, H as RunnerConfigInput, ai as ManagerDriver } from '../conn-DhdZYlSX.js';
|
|
2
|
+
export { ap as Actor, am as ActorId, an as ActorLogEntry, ao as ActorSchema, aP as Build, aO as BuildSchema, aR as Builds, aQ as BuildsSchema, aH as Column, aG as ColumnSchema, aJ as Columns, aI as ColumnsSchema, av as Connection, au as ConnectionSchema, aT as CreateActor, aS as CreateActorSchema, aB as DatabaseQuery, aA as DatabaseQuerySchema, aL as ForeignKey, aK as ForeignKeySchema, aN as ForeignKeys, aM as ForeignKeysSchema, ar as Operation, aq as OperationSchema, at as Patch, as as PatchSchema, ax as RealtimeEvent, aw as RealtimeEventSchema, az as RecordedRealtimeEvent, ay as RecordedRealtimeEventSchema, aD as Table, aC as TableSchema, aF as Tables, aE as TablesSchema } from '../conn-DhdZYlSX.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-BTEDNZSI.js";
|
|
10
10
|
import {
|
|
11
11
|
ActorFeature,
|
|
12
12
|
ActorId,
|
|
@@ -27,11 +27,11 @@ import {
|
|
|
27
27
|
RecordedRealtimeEventSchema,
|
|
28
28
|
TableSchema,
|
|
29
29
|
TablesSchema
|
|
30
|
-
} from "../chunk-
|
|
31
|
-
import "../chunk-
|
|
32
|
-
import "../chunk-
|
|
33
|
-
import "../chunk-
|
|
34
|
-
import "../chunk-
|
|
30
|
+
} from "../chunk-TD5RNAZU.js";
|
|
31
|
+
import "../chunk-YAUIBXG3.js";
|
|
32
|
+
import "../chunk-AMLE3HUH.js";
|
|
33
|
+
import "../chunk-UBBJE54L.js";
|
|
34
|
+
import "../chunk-G64QUEDJ.js";
|
|
35
35
|
export {
|
|
36
36
|
ActorFeature,
|
|
37
37
|
ActorId,
|
package/dist/tsup/mod.cjs
CHANGED
|
@@ -10,30 +10,30 @@
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
var
|
|
14
|
-
require('./chunk-
|
|
13
|
+
var _chunkBPQTS4VWcjs = require('./chunk-BPQTS4VW.cjs');
|
|
14
|
+
require('./chunk-QLIJ6I3M.cjs');
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
var
|
|
21
|
-
require('./chunk-
|
|
22
|
-
require('./chunk-
|
|
23
|
-
require('./chunk-
|
|
20
|
+
var _chunkUWGWDHYScjs = require('./chunk-UWGWDHYS.cjs');
|
|
21
|
+
require('./chunk-CJJW2HVJ.cjs');
|
|
22
|
+
require('./chunk-PBAZ6FDY.cjs');
|
|
23
|
+
require('./chunk-XR6ZIZEK.cjs');
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
|
|
28
|
-
var
|
|
29
|
-
require('./chunk-
|
|
28
|
+
var _chunkC66P3AU6cjs = require('./chunk-C66P3AU6.cjs');
|
|
29
|
+
require('./chunk-WMEMX7ND.cjs');
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
|
|
33
|
-
var
|
|
33
|
+
var _chunkRQRDBVMAcjs = require('./chunk-RQRDBVMA.cjs');
|
|
34
34
|
|
|
35
35
|
|
|
36
|
-
var
|
|
36
|
+
var _chunkKSRXX3Z4cjs = require('./chunk-KSRXX3Z4.cjs');
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
|
|
@@ -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 = _chunkC66P3AU6cjs.ALLOWED_PUBLIC_HEADERS; exports.InlineWebSocketAdapter2 = _chunkBPQTS4VWcjs.InlineWebSocketAdapter2; exports.PATH_CONNECT_WEBSOCKET = _chunkC66P3AU6cjs.PATH_CONNECT_WEBSOCKET; exports.PATH_RAW_WEBSOCKET_PREFIX = _chunkC66P3AU6cjs.PATH_RAW_WEBSOCKET_PREFIX; exports.Registry = _chunkBPQTS4VWcjs.Registry; exports.RegistryConfigSchema = _chunkBPQTS4VWcjs.RegistryConfigSchema; exports.UserError = _chunkKSRXX3Z4cjs.UserError; exports.actor = _chunkBPQTS4VWcjs.actor; exports.createActorRouter = _chunkBPQTS4VWcjs.createActorRouter; exports.createClientWithDriver = _chunkUWGWDHYScjs.createClientWithDriver; exports.createEngineDriver = _chunkBPQTS4VWcjs.createEngineDriver; exports.createFileSystemDriver = _chunkBPQTS4VWcjs.createFileSystemDriver; exports.createMemoryDriver = _chunkBPQTS4VWcjs.createMemoryDriver; exports.generateConnId = _chunkUWGWDHYScjs.generateConnId; exports.generateConnToken = _chunkUWGWDHYScjs.generateConnToken; exports.handleRawWebSocketHandler = _chunkBPQTS4VWcjs.handleRawWebSocketHandler; exports.handleWebSocketConnect = _chunkBPQTS4VWcjs.handleWebSocketConnect; exports.lookupInRegistry = _chunkUWGWDHYScjs.lookupInRegistry; exports.noopNext = _chunkRQRDBVMAcjs.noopNext; exports.setup = _chunkBPQTS4VWcjs.setup; exports.toUint8Array = _chunkRQRDBVMAcjs.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 RunnerConfig, 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, S as ServerlessActorDriverBuilder, 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 RunnerConfig, E as Encoding, d as AnyDatabaseProvider, e as Actions, f as ActorConfigInput, g as ActorDefinition, D as DriverConfig } from './conn-CxCsTz2s.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, S as ServerlessActorDriverBuilder, k as createClientWithDriver, h as generateConnId, i as generateConnToken, u as lookupInRegistry, L as setup, B as test } from './conn-CxCsTz2s.cjs';
|
|
3
3
|
import { WSContext } from 'hono/ws';
|
|
4
4
|
export { n as noopNext } from './utils-fwx3o3K9.cjs';
|
|
5
5
|
export { toUint8Array } from './utils.cjs';
|
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 RunnerConfig, 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, S as ServerlessActorDriverBuilder, 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 RunnerConfig, E as Encoding, d as AnyDatabaseProvider, e as Actions, f as ActorConfigInput, g as ActorDefinition, D as DriverConfig } from './conn-DhdZYlSX.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, S as ServerlessActorDriverBuilder, k as createClientWithDriver, h as generateConnId, i as generateConnToken, u as lookupInRegistry, L as setup, B as test } from './conn-DhdZYlSX.js';
|
|
3
3
|
import { WSContext } from 'hono/ws';
|
|
4
4
|
export { n as noopNext } from './utils-fwx3o3K9.js';
|
|
5
5
|
export { toUint8Array } from './utils.js';
|
package/dist/tsup/mod.js
CHANGED
|
@@ -10,30 +10,30 @@ import {
|
|
|
10
10
|
handleRawWebSocketHandler,
|
|
11
11
|
handleWebSocketConnect,
|
|
12
12
|
setup
|
|
13
|
-
} from "./chunk-
|
|
14
|
-
import "./chunk-
|
|
13
|
+
} from "./chunk-7MDKUHE4.js";
|
|
14
|
+
import "./chunk-BTEDNZSI.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-U7ZDMHVJ.js";
|
|
21
|
+
import "./chunk-TD5RNAZU.js";
|
|
22
|
+
import "./chunk-FUF4YPTZ.js";
|
|
23
|
+
import "./chunk-HMGH3AWC.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-YAUIBXG3.js";
|
|
29
|
+
import "./chunk-AMLE3HUH.js";
|
|
30
30
|
import {
|
|
31
31
|
noopNext,
|
|
32
32
|
toUint8Array
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-UBBJE54L.js";
|
|
34
34
|
import {
|
|
35
35
|
UserError
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-G64QUEDJ.js";
|
|
37
37
|
export {
|
|
38
38
|
ALLOWED_PUBLIC_HEADERS,
|
|
39
39
|
InlineWebSocketAdapter2,
|
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-
|
|
14
|
-
require('../chunk-
|
|
4
|
+
var _chunkT7MZMA5Dcjs = require('../chunk-T7MZMA5D.cjs');
|
|
5
|
+
require('../chunk-BPQTS4VW.cjs');
|
|
6
|
+
require('../chunk-QLIJ6I3M.cjs');
|
|
7
|
+
require('../chunk-UWGWDHYS.cjs');
|
|
8
|
+
require('../chunk-CJJW2HVJ.cjs');
|
|
9
|
+
require('../chunk-PBAZ6FDY.cjs');
|
|
10
|
+
require('../chunk-XR6ZIZEK.cjs');
|
|
11
|
+
require('../chunk-C66P3AU6.cjs');
|
|
12
|
+
require('../chunk-WMEMX7ND.cjs');
|
|
13
|
+
require('../chunk-RQRDBVMA.cjs');
|
|
14
|
+
require('../chunk-KSRXX3Z4.cjs');
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
exports.getPort =
|
|
18
|
+
exports.getPort = _chunkT7MZMA5Dcjs.getPort; exports.setupTest = _chunkT7MZMA5Dcjs.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,17 +1,17 @@
|
|
|
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-
|
|
14
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-ZT77CQXR.js";
|
|
5
|
+
import "../chunk-7MDKUHE4.js";
|
|
6
|
+
import "../chunk-BTEDNZSI.js";
|
|
7
|
+
import "../chunk-U7ZDMHVJ.js";
|
|
8
|
+
import "../chunk-TD5RNAZU.js";
|
|
9
|
+
import "../chunk-FUF4YPTZ.js";
|
|
10
|
+
import "../chunk-HMGH3AWC.js";
|
|
11
|
+
import "../chunk-YAUIBXG3.js";
|
|
12
|
+
import "../chunk-AMLE3HUH.js";
|
|
13
|
+
import "../chunk-UBBJE54L.js";
|
|
14
|
+
import "../chunk-G64QUEDJ.js";
|
|
15
15
|
export {
|
|
16
16
|
getPort,
|
|
17
17
|
setupTest
|
package/dist/tsup/utils.cjs
CHANGED
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
|
|
14
|
-
var
|
|
15
|
-
require('./chunk-
|
|
14
|
+
var _chunkRQRDBVMAcjs = require('./chunk-RQRDBVMA.cjs');
|
|
15
|
+
require('./chunk-KSRXX3Z4.cjs');
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
|
|
@@ -26,5 +26,5 @@ require('./chunk-5QGQK44L.cjs');
|
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
|
|
29
|
-
exports.SinglePromiseQueue =
|
|
29
|
+
exports.SinglePromiseQueue = _chunkRQRDBVMAcjs.SinglePromiseQueue; exports.VERSION = _chunkRQRDBVMAcjs.VERSION; exports.assertUnreachable = _chunkRQRDBVMAcjs.assertUnreachable; exports.bufferToArrayBuffer = _chunkRQRDBVMAcjs.bufferToArrayBuffer; exports.combineUrlPath = _chunkRQRDBVMAcjs.combineUrlPath; exports.dbg = _chunkRQRDBVMAcjs.dbg; exports.getEnvUniversal = _chunkRQRDBVMAcjs.getEnvUniversal; exports.httpUserAgent = _chunkRQRDBVMAcjs.httpUserAgent; exports.promiseWithResolvers = _chunkRQRDBVMAcjs.promiseWithResolvers; exports.setLongTimeout = _chunkRQRDBVMAcjs.setLongTimeout; exports.stringifyError = _chunkRQRDBVMAcjs.stringifyError; exports.toUint8Array = _chunkRQRDBVMAcjs.toUint8Array;
|
|
30
30
|
//# sourceMappingURL=utils.cjs.map
|
package/dist/tsup/utils.js
CHANGED
package/package.json
CHANGED
package/src/actor/errors.ts
CHANGED
|
@@ -54,17 +54,6 @@ export class ActorError extends Error {
|
|
|
54
54
|
// Force stringify to return the message
|
|
55
55
|
return this.message;
|
|
56
56
|
}
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Serialize error for HTTP response
|
|
60
|
-
*/
|
|
61
|
-
serializeForHttp() {
|
|
62
|
-
return {
|
|
63
|
-
type: this.code,
|
|
64
|
-
message: this.message,
|
|
65
|
-
metadata: this.metadata,
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
57
|
}
|
|
69
58
|
|
|
70
59
|
export class InternalError extends ActorError {
|
package/src/client/client.ts
CHANGED
|
@@ -168,16 +168,12 @@ export class ClientRaw {
|
|
|
168
168
|
|
|
169
169
|
/**
|
|
170
170
|
* Creates an instance of Client.
|
|
171
|
-
*
|
|
172
|
-
* @param {string} managerEndpoint - The manager endpoint. See {@link https://rivet.dev/docs/setup|Initial Setup} for instructions on getting the manager endpoint.
|
|
173
|
-
* @param {ClientConfig} [opts] - Options for configuring the client.
|
|
174
|
-
* @see {@link https://rivet.dev/docs/setup|Initial Setup}
|
|
175
171
|
*/
|
|
176
|
-
public constructor(driver: ManagerDriver,
|
|
172
|
+
public constructor(driver: ManagerDriver, config: ClientConfig) {
|
|
177
173
|
this.#driver = driver;
|
|
178
174
|
|
|
179
|
-
this.#encodingKind =
|
|
180
|
-
this[TRANSPORT_SYMBOL] =
|
|
175
|
+
this.#encodingKind = config.encoding ?? "bare";
|
|
176
|
+
this[TRANSPORT_SYMBOL] = config.transport ?? "websocket";
|
|
181
177
|
}
|
|
182
178
|
|
|
183
179
|
/**
|
|
@@ -406,7 +402,7 @@ export type AnyClient = Client<Registry<any>>;
|
|
|
406
402
|
|
|
407
403
|
export function createClientWithDriver<A extends Registry<any>>(
|
|
408
404
|
driver: ManagerDriver,
|
|
409
|
-
config
|
|
405
|
+
config: ClientConfig,
|
|
410
406
|
): Client<A> {
|
|
411
407
|
const client = new ClientRaw(driver, config);
|
|
412
408
|
|
package/src/client/config.ts
CHANGED
|
@@ -39,6 +39,9 @@ export const ClientConfigSchema = z.object({
|
|
|
39
39
|
|
|
40
40
|
// See RunConfig.getUpgradeWebSocket
|
|
41
41
|
getUpgradeWebSocket: z.custom<GetUpgradeWebSocket>().optional(),
|
|
42
|
+
|
|
43
|
+
/** Whether to automatically perform health checks when the client is created. */
|
|
44
|
+
disableHealthCheck: z.boolean().optional().default(false),
|
|
42
45
|
});
|
|
43
46
|
|
|
44
47
|
export type ClientConfig = z.infer<typeof ClientConfigSchema>;
|
package/src/client/utils.ts
CHANGED
|
@@ -8,6 +8,7 @@ import { HTTP_RESPONSE_ERROR_VERSIONED } from "@/schemas/client-protocol/version
|
|
|
8
8
|
import {
|
|
9
9
|
contentTypeForEncoding,
|
|
10
10
|
deserializeWithEncoding,
|
|
11
|
+
encodingIsBinary,
|
|
11
12
|
serializeWithEncoding,
|
|
12
13
|
} from "@/serde";
|
|
13
14
|
import { httpUserAgent } from "@/utils";
|
|
@@ -120,14 +121,18 @@ export async function sendHttpRequest<
|
|
|
120
121
|
);
|
|
121
122
|
}
|
|
122
123
|
|
|
124
|
+
// Decode metadata based on encoding - only binary encodings have CBOR-encoded metadata
|
|
125
|
+
let decodedMetadata: unknown;
|
|
126
|
+
if (responseData.metadata && encodingIsBinary(opts.encoding)) {
|
|
127
|
+
decodedMetadata = cbor.decode(new Uint8Array(responseData.metadata));
|
|
128
|
+
}
|
|
129
|
+
|
|
123
130
|
// Throw structured error
|
|
124
131
|
throw new ActorError(
|
|
125
132
|
responseData.group,
|
|
126
133
|
responseData.code,
|
|
127
134
|
responseData.message,
|
|
128
|
-
|
|
129
|
-
? cbor.decode(new Uint8Array(responseData.metadata))
|
|
130
|
-
: undefined,
|
|
135
|
+
decodedMetadata,
|
|
131
136
|
);
|
|
132
137
|
}
|
|
133
138
|
|
package/src/common/router.ts
CHANGED
|
@@ -5,10 +5,13 @@ import {
|
|
|
5
5
|
getRequestEncoding,
|
|
6
6
|
getRequestExposeInternalError,
|
|
7
7
|
} from "@/actor/router-endpoints";
|
|
8
|
+
import { buildActorNames, type RegistryConfig } from "@/registry/config";
|
|
9
|
+
import type { RunnerConfig } from "@/registry/run-config";
|
|
10
|
+
import { getEndpoint } from "@/remote-manager-driver/api-utils";
|
|
8
11
|
import { HttpResponseError } from "@/schemas/client-protocol/mod";
|
|
9
12
|
import { HTTP_RESPONSE_ERROR_VERSIONED } from "@/schemas/client-protocol/versioned";
|
|
10
13
|
import { encodingIsBinary, serializeWithEncoding } from "@/serde";
|
|
11
|
-
import { bufferToArrayBuffer } from "@/utils";
|
|
14
|
+
import { bufferToArrayBuffer, VERSION } from "@/utils";
|
|
12
15
|
import { getLogger, type Logger } from "./log";
|
|
13
16
|
import { deconstructError, stringifyError } from "./utils";
|
|
14
17
|
|
|
@@ -79,3 +82,59 @@ export function handleRouteError(error: unknown, c: HonoContext) {
|
|
|
79
82
|
// TODO: Remove any
|
|
80
83
|
return c.body(output as any, { status: statusCode });
|
|
81
84
|
}
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Metadata response interface for the /metadata endpoint
|
|
88
|
+
*/
|
|
89
|
+
export interface MetadataResponse {
|
|
90
|
+
runtime: string;
|
|
91
|
+
version: string;
|
|
92
|
+
runner?: {
|
|
93
|
+
kind:
|
|
94
|
+
| { serverless: Record<never, never> }
|
|
95
|
+
| { normal: Record<never, never> };
|
|
96
|
+
};
|
|
97
|
+
actorNames: ReturnType<typeof buildActorNames>;
|
|
98
|
+
/**
|
|
99
|
+
* Endpoint that the client should connect to to access this runner.
|
|
100
|
+
*
|
|
101
|
+
* If defined, will override the endpoint the user has configured on startup.
|
|
102
|
+
*
|
|
103
|
+
* This is helpful if attempting to connect to a serverless runner, so the serverless runner can define where the main endpoint lives.
|
|
104
|
+
*
|
|
105
|
+
* This is also helpful for setting up clean redirects as needed.
|
|
106
|
+
**/
|
|
107
|
+
clientEndpoint?: string;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
export function handleMetadataRequest(
|
|
111
|
+
c: HonoContext,
|
|
112
|
+
registryConfig: RegistryConfig,
|
|
113
|
+
runConfig: RunnerConfig,
|
|
114
|
+
) {
|
|
115
|
+
const response: MetadataResponse = {
|
|
116
|
+
runtime: "rivetkit",
|
|
117
|
+
version: VERSION,
|
|
118
|
+
runner: {
|
|
119
|
+
kind:
|
|
120
|
+
runConfig.runnerKind === "serverless"
|
|
121
|
+
? { serverless: {} }
|
|
122
|
+
: { normal: {} },
|
|
123
|
+
},
|
|
124
|
+
actorNames: buildActorNames(registryConfig),
|
|
125
|
+
// Do not return client endpoint if default server disabled
|
|
126
|
+
clientEndpoint:
|
|
127
|
+
runConfig.overrideServerAddress ??
|
|
128
|
+
(runConfig.disableDefaultServer ? undefined : getEndpoint(runConfig)),
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
return c.json(response);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
export function handleHealthRequest(c: HonoContext) {
|
|
135
|
+
return c.json({
|
|
136
|
+
status: "ok",
|
|
137
|
+
runtime: "rivetkit",
|
|
138
|
+
version: VERSION,
|
|
139
|
+
});
|
|
140
|
+
}
|
|
@@ -3,6 +3,7 @@ import { createNodeWebSocket, type NodeWebSocket } from "@hono/node-ws";
|
|
|
3
3
|
import { bundleRequire } from "bundle-require";
|
|
4
4
|
import invariant from "invariant";
|
|
5
5
|
import { describe } from "vitest";
|
|
6
|
+
import { ClientConfigSchema } from "@/client/config";
|
|
6
7
|
import type { Encoding, Transport } from "@/client/mod";
|
|
7
8
|
import { configureInspectorAccessToken } from "@/inspector/utils";
|
|
8
9
|
import { createManagerRouter } from "@/manager/router";
|
|
@@ -230,7 +231,10 @@ export async function createTestRuntime(
|
|
|
230
231
|
|
|
231
232
|
// Create router
|
|
232
233
|
const managerDriver = driver.manager(registry.config, config);
|
|
233
|
-
const client = createClientWithDriver(
|
|
234
|
+
const client = createClientWithDriver(
|
|
235
|
+
managerDriver,
|
|
236
|
+
ClientConfigSchema.parse({}),
|
|
237
|
+
);
|
|
234
238
|
configureInspectorAccessToken(config, managerDriver);
|
|
235
239
|
const { router } = createManagerRouter(
|
|
236
240
|
registry.config,
|
package/src/drivers/default.ts
CHANGED
|
@@ -14,17 +14,15 @@ export function chooseDefaultDriver(runConfig: RunnerConfig): DriverConfig {
|
|
|
14
14
|
);
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
if (runConfig.runnerKind === "serverless" && !runConfig.endpoint) {
|
|
18
|
-
throw new UserError(
|
|
19
|
-
"Cannot use 'serverless' runnerKind without the 'endpoint' config set.",
|
|
20
|
-
);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
17
|
if (runConfig.driver) {
|
|
24
18
|
return runConfig.driver;
|
|
25
19
|
}
|
|
26
20
|
|
|
27
|
-
if (
|
|
21
|
+
if (
|
|
22
|
+
runConfig.endpoint ||
|
|
23
|
+
runConfig.token ||
|
|
24
|
+
runConfig.runnerKind === "serverless"
|
|
25
|
+
) {
|
|
28
26
|
loggerWithoutContext().debug({
|
|
29
27
|
msg: "using rivet engine driver",
|
|
30
28
|
endpoint: runConfig.endpoint,
|
|
@@ -33,7 +33,7 @@ import {
|
|
|
33
33
|
type ManagerDriver,
|
|
34
34
|
serializeEmptyPersistData,
|
|
35
35
|
} from "@/driver-helpers/mod";
|
|
36
|
-
import type
|
|
36
|
+
import { buildActorNames, type RegistryConfig } from "@/registry/config";
|
|
37
37
|
import type { RunnerConfig } from "@/registry/run-config";
|
|
38
38
|
import { getEndpoint } from "@/remote-manager-driver/api-utils";
|
|
39
39
|
import {
|
|
@@ -103,12 +103,7 @@ export class EngineActorDriver implements ActorDriver {
|
|
|
103
103
|
metadata: {
|
|
104
104
|
inspectorToken: this.#runConfig.inspector.token(),
|
|
105
105
|
},
|
|
106
|
-
prepopulateActorNames:
|
|
107
|
-
Object.keys(this.#registryConfig.use).map((name) => [
|
|
108
|
-
name,
|
|
109
|
-
{ metadata: {} },
|
|
110
|
-
]),
|
|
111
|
-
),
|
|
106
|
+
prepopulateActorNames: buildActorNames(registryConfig),
|
|
112
107
|
onConnected: () => {
|
|
113
108
|
if (hasDisconnected) {
|
|
114
109
|
logger().info({
|
|
@@ -177,16 +172,9 @@ export class EngineActorDriver implements ActorDriver {
|
|
|
177
172
|
async readPersistedData(actorId: string): Promise<Uint8Array | undefined> {
|
|
178
173
|
const handler = this.#actors.get(actorId);
|
|
179
174
|
if (!handler) throw new Error(`Actor ${actorId} not loaded`);
|
|
180
|
-
if (handler.persistedData) return handler.persistedData;
|
|
181
175
|
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
if (value !== null) {
|
|
185
|
-
handler.persistedData = value;
|
|
186
|
-
return value;
|
|
187
|
-
} else {
|
|
188
|
-
return undefined;
|
|
189
|
-
}
|
|
176
|
+
// This was loaded during actor startup
|
|
177
|
+
return handler.persistedData;
|
|
190
178
|
}
|
|
191
179
|
|
|
192
180
|
async writePersistedData(actorId: string, data: Uint8Array): Promise<void> {
|
|
@@ -251,11 +239,24 @@ export class EngineActorDriver implements ActorDriver {
|
|
|
251
239
|
// Get or create handler
|
|
252
240
|
let handler = this.#actors.get(actorId);
|
|
253
241
|
if (!handler) {
|
|
242
|
+
// IMPORTANT: We must set the handler in the map synchronously before doing any
|
|
243
|
+
// async operations to avoid race conditions where multiple calls might try to
|
|
244
|
+
// create the same handler simultaneously.
|
|
254
245
|
handler = {
|
|
255
246
|
actorStartPromise: promiseWithResolvers(),
|
|
256
|
-
persistedData:
|
|
247
|
+
persistedData: undefined,
|
|
257
248
|
};
|
|
258
249
|
this.#actors.set(actorId, handler);
|
|
250
|
+
|
|
251
|
+
// Load persisted data from storage
|
|
252
|
+
const [persistedValue] = await this.#runner.kvGet(actorId, [
|
|
253
|
+
KEYS.PERSIST_DATA,
|
|
254
|
+
]);
|
|
255
|
+
|
|
256
|
+
handler.persistedData =
|
|
257
|
+
persistedValue !== null
|
|
258
|
+
? persistedValue
|
|
259
|
+
: serializeEmptyPersistData(input);
|
|
259
260
|
}
|
|
260
261
|
|
|
261
262
|
const name = runConfig.name as string;
|
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
handleWebSocketConnect,
|
|
7
7
|
} from "@/actor/router-endpoints";
|
|
8
8
|
import { createClientWithDriver } from "@/client/client";
|
|
9
|
+
import { ClientConfigSchema } from "@/client/config";
|
|
9
10
|
import { InlineWebSocketAdapter2 } from "@/common/inline-websocket-adapter2";
|
|
10
11
|
import { noopNext } from "@/common/utils";
|
|
11
12
|
import type {
|
|
@@ -116,7 +117,10 @@ export class FileSystemManagerDriver implements ManagerDriver {
|
|
|
116
117
|
}
|
|
117
118
|
|
|
118
119
|
// Actors run on the same node as the manager, so we create a dummy actor router that we route requests to
|
|
119
|
-
const inlineClient = createClientWithDriver(
|
|
120
|
+
const inlineClient = createClientWithDriver(
|
|
121
|
+
this,
|
|
122
|
+
ClientConfigSchema.parse({}),
|
|
123
|
+
);
|
|
120
124
|
this.#actorDriver = this.#driverConfig.actor(
|
|
121
125
|
registryConfig,
|
|
122
126
|
runConfig,
|