rivetkit 2.0.6 → 2.0.7
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/schemas/actor-persist/v1.ts +0 -6
- package/dist/tsup/actor-router-consts-B3Lu87yJ.d.cts +28 -0
- package/dist/tsup/actor-router-consts-B3Lu87yJ.d.ts +28 -0
- package/dist/tsup/{chunk-7OUKNSTU.js → chunk-2NL3KGJ7.js} +17 -14
- package/dist/tsup/chunk-2NL3KGJ7.js.map +1 -0
- package/dist/tsup/{chunk-6P6RA47N.cjs → chunk-3ALZ7EGX.cjs} +14 -10
- package/dist/tsup/chunk-3ALZ7EGX.cjs.map +1 -0
- package/dist/tsup/chunk-4EXJ4ITR.cjs +102 -0
- package/dist/tsup/chunk-4EXJ4ITR.cjs.map +1 -0
- package/dist/tsup/{chunk-ZYLTS2EM.js → chunk-54MAHBLL.js} +2 -2
- package/dist/tsup/{chunk-NTCUGYSD.cjs → chunk-7OOBMCQI.cjs} +34 -31
- package/dist/tsup/chunk-7OOBMCQI.cjs.map +1 -0
- package/dist/tsup/{chunk-VCEHU56K.js → chunk-B6N6VM37.js} +2 -2
- package/dist/tsup/{chunk-VPV4MWXR.js → chunk-DIHKN7NM.js} +3 -3
- package/dist/tsup/{chunk-MRRT2CZD.cjs → chunk-ETDWYT2P.cjs} +7 -7
- package/dist/tsup/{chunk-MRRT2CZD.cjs.map → chunk-ETDWYT2P.cjs.map} +1 -1
- package/dist/tsup/{chunk-TWGATZ3X.cjs → chunk-F7YL5G7Q.cjs} +922 -872
- package/dist/tsup/chunk-F7YL5G7Q.cjs.map +1 -0
- package/dist/tsup/{chunk-UTI5NCES.cjs → chunk-GWJTWY3G.cjs} +6 -6
- package/dist/tsup/{chunk-UTI5NCES.cjs.map → chunk-GWJTWY3G.cjs.map} +1 -1
- package/dist/tsup/{chunk-W6LN7AF5.js → chunk-KHRZPP5T.js} +866 -816
- package/dist/tsup/chunk-KHRZPP5T.js.map +1 -0
- package/dist/tsup/{chunk-5JBFVV4C.cjs → chunk-LXAVET4A.cjs} +21 -7
- package/dist/tsup/chunk-LXAVET4A.cjs.map +1 -0
- package/dist/tsup/{chunk-TCUI5JFE.cjs → chunk-NDCVQZBS.cjs} +45 -18
- package/dist/tsup/chunk-NDCVQZBS.cjs.map +1 -0
- package/dist/tsup/{chunk-4CKHQRXG.js → chunk-NII4KKHD.js} +515 -240
- package/dist/tsup/chunk-NII4KKHD.js.map +1 -0
- package/dist/tsup/{chunk-2K3JMDAN.js → chunk-NRELKXIX.js} +40 -13
- package/dist/tsup/chunk-NRELKXIX.js.map +1 -0
- package/dist/tsup/{chunk-UFWAK3X2.cjs → chunk-NUA6LOOJ.cjs} +660 -385
- package/dist/tsup/chunk-NUA6LOOJ.cjs.map +1 -0
- package/dist/tsup/{chunk-DIAYNQTE.cjs → chunk-OSK2VSJF.cjs} +12 -12
- package/dist/tsup/{chunk-DIAYNQTE.cjs.map → chunk-OSK2VSJF.cjs.map} +1 -1
- package/dist/tsup/chunk-PD6HCAJE.js +102 -0
- package/dist/tsup/chunk-PD6HCAJE.js.map +1 -0
- package/dist/tsup/{chunk-RGQR2J7S.js → chunk-RLBM6D4L.js} +20 -6
- package/dist/tsup/chunk-RLBM6D4L.js.map +1 -0
- package/dist/tsup/{chunk-KG3C7MKR.cjs → chunk-VAF63BEI.cjs} +3 -3
- package/dist/tsup/{chunk-KG3C7MKR.cjs.map → chunk-VAF63BEI.cjs.map} +1 -1
- package/dist/tsup/{chunk-G75SVQON.js → chunk-WAT5AE7S.js} +9 -5
- package/dist/tsup/chunk-WAT5AE7S.js.map +1 -0
- package/dist/tsup/{chunk-WC2PSJWN.js → chunk-YL4VZMMT.js} +2 -2
- package/dist/tsup/client/mod.cjs +9 -9
- package/dist/tsup/client/mod.d.cts +7 -8
- package/dist/tsup/client/mod.d.ts +7 -8
- 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/{connection-BLemxi4f.d.ts → conn-DCSQgIlw.d.ts} +1605 -1353
- package/dist/tsup/{connection-CpDIydXf.d.cts → conn-DdzHTm2E.d.cts} +1605 -1353
- package/dist/tsup/driver-helpers/mod.cjs +31 -5
- package/dist/tsup/driver-helpers/mod.cjs.map +1 -1
- package/dist/tsup/driver-helpers/mod.d.cts +7 -8
- package/dist/tsup/driver-helpers/mod.d.ts +7 -8
- package/dist/tsup/driver-helpers/mod.js +33 -7
- package/dist/tsup/driver-test-suite/mod.cjs +317 -222
- package/dist/tsup/driver-test-suite/mod.cjs.map +1 -1
- package/dist/tsup/driver-test-suite/mod.d.cts +7 -7
- package/dist/tsup/driver-test-suite/mod.d.ts +7 -7
- package/dist/tsup/driver-test-suite/mod.js +582 -487
- package/dist/tsup/driver-test-suite/mod.js.map +1 -1
- package/dist/tsup/inspector/mod.cjs +16 -6
- package/dist/tsup/inspector/mod.cjs.map +1 -1
- package/dist/tsup/inspector/mod.d.cts +34 -7
- package/dist/tsup/inspector/mod.d.ts +34 -7
- package/dist/tsup/inspector/mod.js +17 -7
- package/dist/tsup/mod.cjs +10 -20
- package/dist/tsup/mod.cjs.map +1 -1
- package/dist/tsup/mod.d.cts +9 -7
- package/dist/tsup/mod.d.ts +9 -7
- package/dist/tsup/mod.js +9 -19
- package/dist/tsup/test/mod.cjs +11 -11
- package/dist/tsup/test/mod.d.cts +6 -7
- package/dist/tsup/test/mod.d.ts +6 -7
- package/dist/tsup/test/mod.js +10 -10
- package/dist/tsup/utils.cjs +4 -2
- package/dist/tsup/utils.cjs.map +1 -1
- package/dist/tsup/utils.d.cts +11 -1
- package/dist/tsup/utils.d.ts +11 -1
- package/dist/tsup/utils.js +3 -1
- package/package.json +8 -4
- package/src/actor/action.ts +1 -1
- package/src/actor/config.ts +1 -1
- package/src/actor/conn-drivers.ts +205 -0
- package/src/actor/conn-socket.ts +6 -0
- package/src/actor/{connection.ts → conn.ts} +78 -84
- package/src/actor/context.ts +1 -1
- package/src/actor/driver.ts +4 -43
- package/src/actor/instance.ts +162 -86
- package/src/actor/mod.ts +1 -11
- package/src/actor/persisted.ts +2 -5
- package/src/actor/protocol/old.ts +1 -1
- package/src/actor/router-endpoints.ts +142 -106
- package/src/actor/router.ts +81 -45
- package/src/actor/utils.ts +5 -1
- package/src/client/actor-conn.ts +154 -23
- package/src/client/client.ts +1 -1
- package/src/client/config.ts +7 -0
- package/src/common/actor-router-consts.ts +29 -8
- package/src/common/router.ts +2 -1
- package/src/common/versioned-data.ts +5 -5
- package/src/driver-helpers/mod.ts +14 -1
- package/src/driver-test-suite/mod.ts +11 -2
- package/src/driver-test-suite/test-inline-client-driver.ts +36 -18
- package/src/driver-test-suite/tests/actor-conn-state.ts +66 -22
- package/src/driver-test-suite/tests/actor-conn.ts +65 -126
- package/src/driver-test-suite/tests/actor-reconnect.ts +160 -0
- package/src/driver-test-suite/tests/actor-sleep.ts +0 -1
- package/src/driver-test-suite/tests/raw-websocket.ts +0 -35
- package/src/driver-test-suite/utils.ts +3 -3
- package/src/drivers/default.ts +8 -7
- package/src/drivers/engine/actor-driver.ts +53 -31
- package/src/drivers/engine/config.ts +4 -0
- package/src/drivers/file-system/actor.ts +0 -6
- package/src/drivers/file-system/global-state.ts +3 -14
- package/src/drivers/file-system/manager.ts +12 -8
- package/src/inspector/actor.ts +4 -3
- package/src/inspector/config.ts +10 -1
- package/src/inspector/mod.ts +1 -0
- package/src/inspector/utils.ts +23 -4
- package/src/manager/driver.ts +11 -1
- package/src/manager/gateway.ts +407 -0
- package/src/manager/router.ts +269 -468
- package/src/manager-api/actors.ts +61 -0
- package/src/manager-api/common.ts +4 -0
- package/src/mod.ts +1 -1
- package/src/registry/mod.ts +119 -10
- package/src/remote-manager-driver/actor-http-client.ts +30 -19
- package/src/remote-manager-driver/actor-websocket-client.ts +43 -16
- package/src/remote-manager-driver/api-endpoints.ts +19 -21
- package/src/remote-manager-driver/api-utils.ts +10 -1
- package/src/remote-manager-driver/mod.ts +51 -48
- package/src/remote-manager-driver/ws-proxy.ts +2 -9
- package/src/test/mod.ts +6 -2
- package/src/utils.ts +21 -2
- package/dist/tsup/actor-router-consts-BK6arfy8.d.cts +0 -17
- package/dist/tsup/actor-router-consts-BK6arfy8.d.ts +0 -17
- package/dist/tsup/chunk-2K3JMDAN.js.map +0 -1
- package/dist/tsup/chunk-42I3OZ3Q.js +0 -15
- package/dist/tsup/chunk-42I3OZ3Q.js.map +0 -1
- package/dist/tsup/chunk-4CKHQRXG.js.map +0 -1
- package/dist/tsup/chunk-5JBFVV4C.cjs.map +0 -1
- package/dist/tsup/chunk-6P6RA47N.cjs.map +0 -1
- package/dist/tsup/chunk-7OUKNSTU.js.map +0 -1
- package/dist/tsup/chunk-G75SVQON.js.map +0 -1
- package/dist/tsup/chunk-KUPQZYUQ.cjs +0 -15
- package/dist/tsup/chunk-KUPQZYUQ.cjs.map +0 -1
- package/dist/tsup/chunk-NTCUGYSD.cjs.map +0 -1
- package/dist/tsup/chunk-RGQR2J7S.js.map +0 -1
- package/dist/tsup/chunk-TCUI5JFE.cjs.map +0 -1
- package/dist/tsup/chunk-TWGATZ3X.cjs.map +0 -1
- package/dist/tsup/chunk-UFWAK3X2.cjs.map +0 -1
- package/dist/tsup/chunk-W6LN7AF5.js.map +0 -1
- package/dist/tsup/common-CXCe7s6i.d.cts +0 -218
- package/dist/tsup/common-CXCe7s6i.d.ts +0 -218
- package/src/actor/generic-conn-driver.ts +0 -246
- package/src/common/fake-event-source.ts +0 -267
- package/src/manager-api/routes/actors-create.ts +0 -16
- package/src/manager-api/routes/actors-delete.ts +0 -4
- package/src/manager-api/routes/actors-get-by-id.ts +0 -7
- package/src/manager-api/routes/actors-get-or-create-by-id.ts +0 -29
- package/src/manager-api/routes/actors-get.ts +0 -7
- package/src/manager-api/routes/common.ts +0 -18
- /package/dist/tsup/{chunk-ZYLTS2EM.js.map → chunk-54MAHBLL.js.map} +0 -0
- /package/dist/tsup/{chunk-VCEHU56K.js.map → chunk-B6N6VM37.js.map} +0 -0
- /package/dist/tsup/{chunk-VPV4MWXR.js.map → chunk-DIHKN7NM.js.map} +0 -0
- /package/dist/tsup/{chunk-WC2PSJWN.js.map → chunk-YL4VZMMT.js.map} +0 -0
|
@@ -1,218 +0,0 @@
|
|
|
1
|
-
import z__default from 'zod/v4';
|
|
2
|
-
|
|
3
|
-
declare const ActorId: z__default.core.$ZodBranded<z__default.ZodString, "ActorId">;
|
|
4
|
-
type ActorId = z__default.infer<typeof ActorId>;
|
|
5
|
-
declare enum ActorFeature {
|
|
6
|
-
Logs = "logs",
|
|
7
|
-
Config = "config",
|
|
8
|
-
Connections = "connections",
|
|
9
|
-
State = "state",
|
|
10
|
-
Console = "console",
|
|
11
|
-
Runtime = "runtime",
|
|
12
|
-
Metrics = "metrics",
|
|
13
|
-
EventsMonitoring = "events-monitoring",
|
|
14
|
-
Database = "database"
|
|
15
|
-
}
|
|
16
|
-
declare const ActorSchema: z__default.ZodObject<{
|
|
17
|
-
id: z__default.core.$ZodBranded<z__default.ZodString, "ActorId">;
|
|
18
|
-
name: z__default.ZodString;
|
|
19
|
-
key: z__default.ZodArray<z__default.ZodString>;
|
|
20
|
-
tags: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodString>>;
|
|
21
|
-
region: z__default.ZodOptional<z__default.ZodString>;
|
|
22
|
-
createdAt: z__default.ZodOptional<z__default.ZodString>;
|
|
23
|
-
startedAt: z__default.ZodOptional<z__default.ZodString>;
|
|
24
|
-
destroyedAt: z__default.ZodOptional<z__default.ZodString>;
|
|
25
|
-
features: z__default.ZodOptional<z__default.ZodArray<z__default.ZodEnum<typeof ActorFeature>>>;
|
|
26
|
-
}, z__default.core.$strip>;
|
|
27
|
-
type Actor = z__default.infer<typeof ActorSchema>;
|
|
28
|
-
declare const ActorLogEntry: z__default.ZodObject<{
|
|
29
|
-
level: z__default.ZodString;
|
|
30
|
-
message: z__default.ZodString;
|
|
31
|
-
timestamp: z__default.ZodString;
|
|
32
|
-
metadata: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
|
|
33
|
-
}, z__default.core.$strip>;
|
|
34
|
-
type ActorLogEntry = z__default.infer<typeof ActorLogEntry>;
|
|
35
|
-
declare const OperationSchema: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
|
|
36
|
-
op: z__default.ZodLiteral<"remove">;
|
|
37
|
-
path: z__default.ZodString;
|
|
38
|
-
}, z__default.core.$strip>, z__default.ZodObject<{
|
|
39
|
-
op: z__default.ZodLiteral<"add">;
|
|
40
|
-
path: z__default.ZodString;
|
|
41
|
-
value: z__default.ZodUnknown;
|
|
42
|
-
}, z__default.core.$strip>, z__default.ZodObject<{
|
|
43
|
-
op: z__default.ZodLiteral<"replace">;
|
|
44
|
-
path: z__default.ZodString;
|
|
45
|
-
value: z__default.ZodUnknown;
|
|
46
|
-
}, z__default.core.$strip>, z__default.ZodObject<{
|
|
47
|
-
op: z__default.ZodLiteral<"move">;
|
|
48
|
-
path: z__default.ZodString;
|
|
49
|
-
from: z__default.ZodString;
|
|
50
|
-
}, z__default.core.$strip>, z__default.ZodObject<{
|
|
51
|
-
op: z__default.ZodLiteral<"copy">;
|
|
52
|
-
path: z__default.ZodString;
|
|
53
|
-
from: z__default.ZodString;
|
|
54
|
-
}, z__default.core.$strip>, z__default.ZodObject<{
|
|
55
|
-
op: z__default.ZodLiteral<"test">;
|
|
56
|
-
path: z__default.ZodString;
|
|
57
|
-
value: z__default.ZodUnknown;
|
|
58
|
-
}, z__default.core.$strip>]>;
|
|
59
|
-
type Operation = z__default.infer<typeof OperationSchema>;
|
|
60
|
-
declare const PatchSchema: z__default.ZodArray<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
|
|
61
|
-
op: z__default.ZodLiteral<"remove">;
|
|
62
|
-
path: z__default.ZodString;
|
|
63
|
-
}, z__default.core.$strip>, z__default.ZodObject<{
|
|
64
|
-
op: z__default.ZodLiteral<"add">;
|
|
65
|
-
path: z__default.ZodString;
|
|
66
|
-
value: z__default.ZodUnknown;
|
|
67
|
-
}, z__default.core.$strip>, z__default.ZodObject<{
|
|
68
|
-
op: z__default.ZodLiteral<"replace">;
|
|
69
|
-
path: z__default.ZodString;
|
|
70
|
-
value: z__default.ZodUnknown;
|
|
71
|
-
}, z__default.core.$strip>, z__default.ZodObject<{
|
|
72
|
-
op: z__default.ZodLiteral<"move">;
|
|
73
|
-
path: z__default.ZodString;
|
|
74
|
-
from: z__default.ZodString;
|
|
75
|
-
}, z__default.core.$strip>, z__default.ZodObject<{
|
|
76
|
-
op: z__default.ZodLiteral<"copy">;
|
|
77
|
-
path: z__default.ZodString;
|
|
78
|
-
from: z__default.ZodString;
|
|
79
|
-
}, z__default.core.$strip>, z__default.ZodObject<{
|
|
80
|
-
op: z__default.ZodLiteral<"test">;
|
|
81
|
-
path: z__default.ZodString;
|
|
82
|
-
value: z__default.ZodUnknown;
|
|
83
|
-
}, z__default.core.$strip>]>>;
|
|
84
|
-
type Patch = z__default.infer<typeof PatchSchema>;
|
|
85
|
-
declare const ConnectionSchema: z__default.ZodObject<{
|
|
86
|
-
params: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
|
|
87
|
-
id: z__default.ZodString;
|
|
88
|
-
stateEnabled: z__default.ZodOptional<z__default.ZodBoolean>;
|
|
89
|
-
state: z__default.ZodOptional<z__default.ZodAny>;
|
|
90
|
-
auth: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
|
|
91
|
-
}, z__default.core.$strip>;
|
|
92
|
-
type Connection = z__default.infer<typeof ConnectionSchema>;
|
|
93
|
-
declare const RealtimeEventSchema: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
|
|
94
|
-
type: z__default.ZodLiteral<"action">;
|
|
95
|
-
name: z__default.ZodString;
|
|
96
|
-
args: z__default.ZodArray<z__default.ZodAny>;
|
|
97
|
-
connId: z__default.ZodString;
|
|
98
|
-
}, z__default.core.$strip>, z__default.ZodObject<{
|
|
99
|
-
type: z__default.ZodLiteral<"broadcast">;
|
|
100
|
-
eventName: z__default.ZodString;
|
|
101
|
-
args: z__default.ZodArray<z__default.ZodAny>;
|
|
102
|
-
}, z__default.core.$strip>, z__default.ZodObject<{
|
|
103
|
-
type: z__default.ZodLiteral<"subscribe">;
|
|
104
|
-
eventName: z__default.ZodString;
|
|
105
|
-
connId: z__default.ZodString;
|
|
106
|
-
}, z__default.core.$strip>, z__default.ZodObject<{
|
|
107
|
-
type: z__default.ZodLiteral<"unsubscribe">;
|
|
108
|
-
eventName: z__default.ZodString;
|
|
109
|
-
connId: z__default.ZodString;
|
|
110
|
-
}, z__default.core.$strip>, z__default.ZodObject<{
|
|
111
|
-
type: z__default.ZodLiteral<"event">;
|
|
112
|
-
eventName: z__default.ZodString;
|
|
113
|
-
args: z__default.ZodArray<z__default.ZodAny>;
|
|
114
|
-
connId: z__default.ZodString;
|
|
115
|
-
}, z__default.core.$strip>]>;
|
|
116
|
-
type RealtimeEvent = z__default.infer<typeof RealtimeEventSchema>;
|
|
117
|
-
declare const RecordedRealtimeEventSchema: z__default.ZodIntersection<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
|
|
118
|
-
type: z__default.ZodLiteral<"action">;
|
|
119
|
-
name: z__default.ZodString;
|
|
120
|
-
args: z__default.ZodArray<z__default.ZodAny>;
|
|
121
|
-
connId: z__default.ZodString;
|
|
122
|
-
}, z__default.core.$strip>, z__default.ZodObject<{
|
|
123
|
-
type: z__default.ZodLiteral<"broadcast">;
|
|
124
|
-
eventName: z__default.ZodString;
|
|
125
|
-
args: z__default.ZodArray<z__default.ZodAny>;
|
|
126
|
-
}, z__default.core.$strip>, z__default.ZodObject<{
|
|
127
|
-
type: z__default.ZodLiteral<"subscribe">;
|
|
128
|
-
eventName: z__default.ZodString;
|
|
129
|
-
connId: z__default.ZodString;
|
|
130
|
-
}, z__default.core.$strip>, z__default.ZodObject<{
|
|
131
|
-
type: z__default.ZodLiteral<"unsubscribe">;
|
|
132
|
-
eventName: z__default.ZodString;
|
|
133
|
-
connId: z__default.ZodString;
|
|
134
|
-
}, z__default.core.$strip>, z__default.ZodObject<{
|
|
135
|
-
type: z__default.ZodLiteral<"event">;
|
|
136
|
-
eventName: z__default.ZodString;
|
|
137
|
-
args: z__default.ZodArray<z__default.ZodAny>;
|
|
138
|
-
connId: z__default.ZodString;
|
|
139
|
-
}, z__default.core.$strip>]>, z__default.ZodObject<{
|
|
140
|
-
id: z__default.ZodString;
|
|
141
|
-
timestamp: z__default.ZodNumber;
|
|
142
|
-
}, z__default.core.$strip>>;
|
|
143
|
-
type RecordedRealtimeEvent = z__default.infer<typeof RecordedRealtimeEventSchema>;
|
|
144
|
-
declare const DatabaseQuerySchema: z__default.ZodObject<{
|
|
145
|
-
sql: z__default.ZodString;
|
|
146
|
-
args: z__default.ZodArray<z__default.ZodUnion<[z__default.ZodString, z__default.ZodNumber]>>;
|
|
147
|
-
}, z__default.core.$strip>;
|
|
148
|
-
type DatabaseQuery = z__default.infer<typeof DatabaseQuerySchema>;
|
|
149
|
-
declare const TableSchema: z__default.ZodObject<{
|
|
150
|
-
schema: z__default.ZodString;
|
|
151
|
-
name: z__default.ZodString;
|
|
152
|
-
type: z__default.ZodEnum<{
|
|
153
|
-
table: "table";
|
|
154
|
-
view: "view";
|
|
155
|
-
}>;
|
|
156
|
-
}, z__default.core.$strip>;
|
|
157
|
-
type Table = z__default.infer<typeof TableSchema>;
|
|
158
|
-
declare const TablesSchema: z__default.ZodArray<z__default.ZodObject<{
|
|
159
|
-
schema: z__default.ZodString;
|
|
160
|
-
name: z__default.ZodString;
|
|
161
|
-
type: z__default.ZodEnum<{
|
|
162
|
-
table: "table";
|
|
163
|
-
view: "view";
|
|
164
|
-
}>;
|
|
165
|
-
}, z__default.core.$strip>>;
|
|
166
|
-
type Tables = z__default.infer<typeof TablesSchema>;
|
|
167
|
-
declare const ColumnSchema: z__default.ZodObject<{
|
|
168
|
-
cid: z__default.ZodNumber;
|
|
169
|
-
name: z__default.ZodString;
|
|
170
|
-
type: z__default.ZodPipe<z__default.ZodString, z__default.ZodTransform<"integer" | "blob" | "text" | "real" | "numeric" | "serial", string>>;
|
|
171
|
-
notnull: z__default.ZodCoercedBoolean<unknown>;
|
|
172
|
-
dflt_value: z__default.ZodNullable<z__default.ZodString>;
|
|
173
|
-
pk: z__default.ZodNullable<z__default.ZodCoercedBoolean<unknown>>;
|
|
174
|
-
}, z__default.core.$strip>;
|
|
175
|
-
type Column = z__default.infer<typeof ColumnSchema>;
|
|
176
|
-
declare const ColumnsSchema: z__default.ZodArray<z__default.ZodObject<{
|
|
177
|
-
cid: z__default.ZodNumber;
|
|
178
|
-
name: z__default.ZodString;
|
|
179
|
-
type: z__default.ZodPipe<z__default.ZodString, z__default.ZodTransform<"integer" | "blob" | "text" | "real" | "numeric" | "serial", string>>;
|
|
180
|
-
notnull: z__default.ZodCoercedBoolean<unknown>;
|
|
181
|
-
dflt_value: z__default.ZodNullable<z__default.ZodString>;
|
|
182
|
-
pk: z__default.ZodNullable<z__default.ZodCoercedBoolean<unknown>>;
|
|
183
|
-
}, z__default.core.$strip>>;
|
|
184
|
-
type Columns = z__default.infer<typeof ColumnsSchema>;
|
|
185
|
-
declare const ForeignKeySchema: z__default.ZodObject<{
|
|
186
|
-
id: z__default.ZodNumber;
|
|
187
|
-
table: z__default.ZodString;
|
|
188
|
-
from: z__default.ZodString;
|
|
189
|
-
to: z__default.ZodString;
|
|
190
|
-
}, z__default.core.$strip>;
|
|
191
|
-
type ForeignKey = z__default.infer<typeof ForeignKeySchema>;
|
|
192
|
-
declare const ForeignKeysSchema: z__default.ZodArray<z__default.ZodObject<{
|
|
193
|
-
id: z__default.ZodNumber;
|
|
194
|
-
table: z__default.ZodString;
|
|
195
|
-
from: z__default.ZodString;
|
|
196
|
-
to: z__default.ZodString;
|
|
197
|
-
}, z__default.core.$strip>>;
|
|
198
|
-
type ForeignKeys = z__default.infer<typeof ForeignKeysSchema>;
|
|
199
|
-
declare const BuildSchema: z__default.ZodObject<{
|
|
200
|
-
name: z__default.ZodString;
|
|
201
|
-
createdAt: z__default.ZodOptional<z__default.ZodString>;
|
|
202
|
-
tags: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodString>>;
|
|
203
|
-
}, z__default.core.$strip>;
|
|
204
|
-
type Build = z__default.infer<typeof BuildSchema>;
|
|
205
|
-
declare const BuildsSchema: z__default.ZodArray<z__default.ZodObject<{
|
|
206
|
-
name: z__default.ZodString;
|
|
207
|
-
createdAt: z__default.ZodOptional<z__default.ZodString>;
|
|
208
|
-
tags: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodString>>;
|
|
209
|
-
}, z__default.core.$strip>>;
|
|
210
|
-
type Builds = z__default.infer<typeof BuildsSchema>;
|
|
211
|
-
declare const CreateActorSchema: z__default.ZodObject<{
|
|
212
|
-
name: z__default.ZodString;
|
|
213
|
-
key: z__default.ZodArray<z__default.ZodString>;
|
|
214
|
-
input: z__default.ZodAny;
|
|
215
|
-
}, z__default.core.$strip>;
|
|
216
|
-
type CreateActor = z__default.infer<typeof CreateActorSchema>;
|
|
217
|
-
|
|
218
|
-
export { ActorFeature as A, BuildSchema as B, ConnectionSchema as C, DatabaseQuerySchema as D, ForeignKeySchema as F, OperationSchema as O, PatchSchema as P, RealtimeEventSchema as R, TableSchema as T, ActorId as a, ActorLogEntry as b, ActorSchema as c, type Actor as d, type Operation as e, type Patch as f, type Connection as g, type RealtimeEvent as h, RecordedRealtimeEventSchema as i, type RecordedRealtimeEvent as j, type DatabaseQuery as k, type Table as l, TablesSchema as m, type Tables as n, ColumnSchema as o, type Column as p, ColumnsSchema as q, type Columns as r, type ForeignKey as s, ForeignKeysSchema as t, type ForeignKeys as u, type Build as v, BuildsSchema as w, type Builds as x, CreateActorSchema as y, type CreateActor as z };
|
|
@@ -1,218 +0,0 @@
|
|
|
1
|
-
import z__default from 'zod/v4';
|
|
2
|
-
|
|
3
|
-
declare const ActorId: z__default.core.$ZodBranded<z__default.ZodString, "ActorId">;
|
|
4
|
-
type ActorId = z__default.infer<typeof ActorId>;
|
|
5
|
-
declare enum ActorFeature {
|
|
6
|
-
Logs = "logs",
|
|
7
|
-
Config = "config",
|
|
8
|
-
Connections = "connections",
|
|
9
|
-
State = "state",
|
|
10
|
-
Console = "console",
|
|
11
|
-
Runtime = "runtime",
|
|
12
|
-
Metrics = "metrics",
|
|
13
|
-
EventsMonitoring = "events-monitoring",
|
|
14
|
-
Database = "database"
|
|
15
|
-
}
|
|
16
|
-
declare const ActorSchema: z__default.ZodObject<{
|
|
17
|
-
id: z__default.core.$ZodBranded<z__default.ZodString, "ActorId">;
|
|
18
|
-
name: z__default.ZodString;
|
|
19
|
-
key: z__default.ZodArray<z__default.ZodString>;
|
|
20
|
-
tags: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodString>>;
|
|
21
|
-
region: z__default.ZodOptional<z__default.ZodString>;
|
|
22
|
-
createdAt: z__default.ZodOptional<z__default.ZodString>;
|
|
23
|
-
startedAt: z__default.ZodOptional<z__default.ZodString>;
|
|
24
|
-
destroyedAt: z__default.ZodOptional<z__default.ZodString>;
|
|
25
|
-
features: z__default.ZodOptional<z__default.ZodArray<z__default.ZodEnum<typeof ActorFeature>>>;
|
|
26
|
-
}, z__default.core.$strip>;
|
|
27
|
-
type Actor = z__default.infer<typeof ActorSchema>;
|
|
28
|
-
declare const ActorLogEntry: z__default.ZodObject<{
|
|
29
|
-
level: z__default.ZodString;
|
|
30
|
-
message: z__default.ZodString;
|
|
31
|
-
timestamp: z__default.ZodString;
|
|
32
|
-
metadata: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
|
|
33
|
-
}, z__default.core.$strip>;
|
|
34
|
-
type ActorLogEntry = z__default.infer<typeof ActorLogEntry>;
|
|
35
|
-
declare const OperationSchema: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
|
|
36
|
-
op: z__default.ZodLiteral<"remove">;
|
|
37
|
-
path: z__default.ZodString;
|
|
38
|
-
}, z__default.core.$strip>, z__default.ZodObject<{
|
|
39
|
-
op: z__default.ZodLiteral<"add">;
|
|
40
|
-
path: z__default.ZodString;
|
|
41
|
-
value: z__default.ZodUnknown;
|
|
42
|
-
}, z__default.core.$strip>, z__default.ZodObject<{
|
|
43
|
-
op: z__default.ZodLiteral<"replace">;
|
|
44
|
-
path: z__default.ZodString;
|
|
45
|
-
value: z__default.ZodUnknown;
|
|
46
|
-
}, z__default.core.$strip>, z__default.ZodObject<{
|
|
47
|
-
op: z__default.ZodLiteral<"move">;
|
|
48
|
-
path: z__default.ZodString;
|
|
49
|
-
from: z__default.ZodString;
|
|
50
|
-
}, z__default.core.$strip>, z__default.ZodObject<{
|
|
51
|
-
op: z__default.ZodLiteral<"copy">;
|
|
52
|
-
path: z__default.ZodString;
|
|
53
|
-
from: z__default.ZodString;
|
|
54
|
-
}, z__default.core.$strip>, z__default.ZodObject<{
|
|
55
|
-
op: z__default.ZodLiteral<"test">;
|
|
56
|
-
path: z__default.ZodString;
|
|
57
|
-
value: z__default.ZodUnknown;
|
|
58
|
-
}, z__default.core.$strip>]>;
|
|
59
|
-
type Operation = z__default.infer<typeof OperationSchema>;
|
|
60
|
-
declare const PatchSchema: z__default.ZodArray<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
|
|
61
|
-
op: z__default.ZodLiteral<"remove">;
|
|
62
|
-
path: z__default.ZodString;
|
|
63
|
-
}, z__default.core.$strip>, z__default.ZodObject<{
|
|
64
|
-
op: z__default.ZodLiteral<"add">;
|
|
65
|
-
path: z__default.ZodString;
|
|
66
|
-
value: z__default.ZodUnknown;
|
|
67
|
-
}, z__default.core.$strip>, z__default.ZodObject<{
|
|
68
|
-
op: z__default.ZodLiteral<"replace">;
|
|
69
|
-
path: z__default.ZodString;
|
|
70
|
-
value: z__default.ZodUnknown;
|
|
71
|
-
}, z__default.core.$strip>, z__default.ZodObject<{
|
|
72
|
-
op: z__default.ZodLiteral<"move">;
|
|
73
|
-
path: z__default.ZodString;
|
|
74
|
-
from: z__default.ZodString;
|
|
75
|
-
}, z__default.core.$strip>, z__default.ZodObject<{
|
|
76
|
-
op: z__default.ZodLiteral<"copy">;
|
|
77
|
-
path: z__default.ZodString;
|
|
78
|
-
from: z__default.ZodString;
|
|
79
|
-
}, z__default.core.$strip>, z__default.ZodObject<{
|
|
80
|
-
op: z__default.ZodLiteral<"test">;
|
|
81
|
-
path: z__default.ZodString;
|
|
82
|
-
value: z__default.ZodUnknown;
|
|
83
|
-
}, z__default.core.$strip>]>>;
|
|
84
|
-
type Patch = z__default.infer<typeof PatchSchema>;
|
|
85
|
-
declare const ConnectionSchema: z__default.ZodObject<{
|
|
86
|
-
params: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
|
|
87
|
-
id: z__default.ZodString;
|
|
88
|
-
stateEnabled: z__default.ZodOptional<z__default.ZodBoolean>;
|
|
89
|
-
state: z__default.ZodOptional<z__default.ZodAny>;
|
|
90
|
-
auth: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
|
|
91
|
-
}, z__default.core.$strip>;
|
|
92
|
-
type Connection = z__default.infer<typeof ConnectionSchema>;
|
|
93
|
-
declare const RealtimeEventSchema: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
|
|
94
|
-
type: z__default.ZodLiteral<"action">;
|
|
95
|
-
name: z__default.ZodString;
|
|
96
|
-
args: z__default.ZodArray<z__default.ZodAny>;
|
|
97
|
-
connId: z__default.ZodString;
|
|
98
|
-
}, z__default.core.$strip>, z__default.ZodObject<{
|
|
99
|
-
type: z__default.ZodLiteral<"broadcast">;
|
|
100
|
-
eventName: z__default.ZodString;
|
|
101
|
-
args: z__default.ZodArray<z__default.ZodAny>;
|
|
102
|
-
}, z__default.core.$strip>, z__default.ZodObject<{
|
|
103
|
-
type: z__default.ZodLiteral<"subscribe">;
|
|
104
|
-
eventName: z__default.ZodString;
|
|
105
|
-
connId: z__default.ZodString;
|
|
106
|
-
}, z__default.core.$strip>, z__default.ZodObject<{
|
|
107
|
-
type: z__default.ZodLiteral<"unsubscribe">;
|
|
108
|
-
eventName: z__default.ZodString;
|
|
109
|
-
connId: z__default.ZodString;
|
|
110
|
-
}, z__default.core.$strip>, z__default.ZodObject<{
|
|
111
|
-
type: z__default.ZodLiteral<"event">;
|
|
112
|
-
eventName: z__default.ZodString;
|
|
113
|
-
args: z__default.ZodArray<z__default.ZodAny>;
|
|
114
|
-
connId: z__default.ZodString;
|
|
115
|
-
}, z__default.core.$strip>]>;
|
|
116
|
-
type RealtimeEvent = z__default.infer<typeof RealtimeEventSchema>;
|
|
117
|
-
declare const RecordedRealtimeEventSchema: z__default.ZodIntersection<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
|
|
118
|
-
type: z__default.ZodLiteral<"action">;
|
|
119
|
-
name: z__default.ZodString;
|
|
120
|
-
args: z__default.ZodArray<z__default.ZodAny>;
|
|
121
|
-
connId: z__default.ZodString;
|
|
122
|
-
}, z__default.core.$strip>, z__default.ZodObject<{
|
|
123
|
-
type: z__default.ZodLiteral<"broadcast">;
|
|
124
|
-
eventName: z__default.ZodString;
|
|
125
|
-
args: z__default.ZodArray<z__default.ZodAny>;
|
|
126
|
-
}, z__default.core.$strip>, z__default.ZodObject<{
|
|
127
|
-
type: z__default.ZodLiteral<"subscribe">;
|
|
128
|
-
eventName: z__default.ZodString;
|
|
129
|
-
connId: z__default.ZodString;
|
|
130
|
-
}, z__default.core.$strip>, z__default.ZodObject<{
|
|
131
|
-
type: z__default.ZodLiteral<"unsubscribe">;
|
|
132
|
-
eventName: z__default.ZodString;
|
|
133
|
-
connId: z__default.ZodString;
|
|
134
|
-
}, z__default.core.$strip>, z__default.ZodObject<{
|
|
135
|
-
type: z__default.ZodLiteral<"event">;
|
|
136
|
-
eventName: z__default.ZodString;
|
|
137
|
-
args: z__default.ZodArray<z__default.ZodAny>;
|
|
138
|
-
connId: z__default.ZodString;
|
|
139
|
-
}, z__default.core.$strip>]>, z__default.ZodObject<{
|
|
140
|
-
id: z__default.ZodString;
|
|
141
|
-
timestamp: z__default.ZodNumber;
|
|
142
|
-
}, z__default.core.$strip>>;
|
|
143
|
-
type RecordedRealtimeEvent = z__default.infer<typeof RecordedRealtimeEventSchema>;
|
|
144
|
-
declare const DatabaseQuerySchema: z__default.ZodObject<{
|
|
145
|
-
sql: z__default.ZodString;
|
|
146
|
-
args: z__default.ZodArray<z__default.ZodUnion<[z__default.ZodString, z__default.ZodNumber]>>;
|
|
147
|
-
}, z__default.core.$strip>;
|
|
148
|
-
type DatabaseQuery = z__default.infer<typeof DatabaseQuerySchema>;
|
|
149
|
-
declare const TableSchema: z__default.ZodObject<{
|
|
150
|
-
schema: z__default.ZodString;
|
|
151
|
-
name: z__default.ZodString;
|
|
152
|
-
type: z__default.ZodEnum<{
|
|
153
|
-
table: "table";
|
|
154
|
-
view: "view";
|
|
155
|
-
}>;
|
|
156
|
-
}, z__default.core.$strip>;
|
|
157
|
-
type Table = z__default.infer<typeof TableSchema>;
|
|
158
|
-
declare const TablesSchema: z__default.ZodArray<z__default.ZodObject<{
|
|
159
|
-
schema: z__default.ZodString;
|
|
160
|
-
name: z__default.ZodString;
|
|
161
|
-
type: z__default.ZodEnum<{
|
|
162
|
-
table: "table";
|
|
163
|
-
view: "view";
|
|
164
|
-
}>;
|
|
165
|
-
}, z__default.core.$strip>>;
|
|
166
|
-
type Tables = z__default.infer<typeof TablesSchema>;
|
|
167
|
-
declare const ColumnSchema: z__default.ZodObject<{
|
|
168
|
-
cid: z__default.ZodNumber;
|
|
169
|
-
name: z__default.ZodString;
|
|
170
|
-
type: z__default.ZodPipe<z__default.ZodString, z__default.ZodTransform<"integer" | "blob" | "text" | "real" | "numeric" | "serial", string>>;
|
|
171
|
-
notnull: z__default.ZodCoercedBoolean<unknown>;
|
|
172
|
-
dflt_value: z__default.ZodNullable<z__default.ZodString>;
|
|
173
|
-
pk: z__default.ZodNullable<z__default.ZodCoercedBoolean<unknown>>;
|
|
174
|
-
}, z__default.core.$strip>;
|
|
175
|
-
type Column = z__default.infer<typeof ColumnSchema>;
|
|
176
|
-
declare const ColumnsSchema: z__default.ZodArray<z__default.ZodObject<{
|
|
177
|
-
cid: z__default.ZodNumber;
|
|
178
|
-
name: z__default.ZodString;
|
|
179
|
-
type: z__default.ZodPipe<z__default.ZodString, z__default.ZodTransform<"integer" | "blob" | "text" | "real" | "numeric" | "serial", string>>;
|
|
180
|
-
notnull: z__default.ZodCoercedBoolean<unknown>;
|
|
181
|
-
dflt_value: z__default.ZodNullable<z__default.ZodString>;
|
|
182
|
-
pk: z__default.ZodNullable<z__default.ZodCoercedBoolean<unknown>>;
|
|
183
|
-
}, z__default.core.$strip>>;
|
|
184
|
-
type Columns = z__default.infer<typeof ColumnsSchema>;
|
|
185
|
-
declare const ForeignKeySchema: z__default.ZodObject<{
|
|
186
|
-
id: z__default.ZodNumber;
|
|
187
|
-
table: z__default.ZodString;
|
|
188
|
-
from: z__default.ZodString;
|
|
189
|
-
to: z__default.ZodString;
|
|
190
|
-
}, z__default.core.$strip>;
|
|
191
|
-
type ForeignKey = z__default.infer<typeof ForeignKeySchema>;
|
|
192
|
-
declare const ForeignKeysSchema: z__default.ZodArray<z__default.ZodObject<{
|
|
193
|
-
id: z__default.ZodNumber;
|
|
194
|
-
table: z__default.ZodString;
|
|
195
|
-
from: z__default.ZodString;
|
|
196
|
-
to: z__default.ZodString;
|
|
197
|
-
}, z__default.core.$strip>>;
|
|
198
|
-
type ForeignKeys = z__default.infer<typeof ForeignKeysSchema>;
|
|
199
|
-
declare const BuildSchema: z__default.ZodObject<{
|
|
200
|
-
name: z__default.ZodString;
|
|
201
|
-
createdAt: z__default.ZodOptional<z__default.ZodString>;
|
|
202
|
-
tags: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodString>>;
|
|
203
|
-
}, z__default.core.$strip>;
|
|
204
|
-
type Build = z__default.infer<typeof BuildSchema>;
|
|
205
|
-
declare const BuildsSchema: z__default.ZodArray<z__default.ZodObject<{
|
|
206
|
-
name: z__default.ZodString;
|
|
207
|
-
createdAt: z__default.ZodOptional<z__default.ZodString>;
|
|
208
|
-
tags: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodString>>;
|
|
209
|
-
}, z__default.core.$strip>>;
|
|
210
|
-
type Builds = z__default.infer<typeof BuildsSchema>;
|
|
211
|
-
declare const CreateActorSchema: z__default.ZodObject<{
|
|
212
|
-
name: z__default.ZodString;
|
|
213
|
-
key: z__default.ZodArray<z__default.ZodString>;
|
|
214
|
-
input: z__default.ZodAny;
|
|
215
|
-
}, z__default.core.$strip>;
|
|
216
|
-
type CreateActor = z__default.infer<typeof CreateActorSchema>;
|
|
217
|
-
|
|
218
|
-
export { ActorFeature as A, BuildSchema as B, ConnectionSchema as C, DatabaseQuerySchema as D, ForeignKeySchema as F, OperationSchema as O, PatchSchema as P, RealtimeEventSchema as R, TableSchema as T, ActorId as a, ActorLogEntry as b, ActorSchema as c, type Actor as d, type Operation as e, type Patch as f, type Connection as g, type RealtimeEvent as h, RecordedRealtimeEventSchema as i, type RecordedRealtimeEvent as j, type DatabaseQuery as k, type Table as l, TablesSchema as m, type Tables as n, ColumnSchema as o, type Column as p, ColumnsSchema as q, type Columns as r, type ForeignKey as s, ForeignKeysSchema as t, type ForeignKeys as u, type Build as v, BuildsSchema as w, type Builds as x, CreateActorSchema as y, type CreateActor as z };
|
|
@@ -1,246 +0,0 @@
|
|
|
1
|
-
import type { SSEStreamingApi } from "hono/streaming";
|
|
2
|
-
import type { WSContext } from "hono/ws";
|
|
3
|
-
import type { WebSocket } from "ws";
|
|
4
|
-
import {
|
|
5
|
-
type AnyConn,
|
|
6
|
-
CONNECTION_DRIVER_HTTP,
|
|
7
|
-
CONNECTION_DRIVER_SSE,
|
|
8
|
-
CONNECTION_DRIVER_WEBSOCKET,
|
|
9
|
-
} from "@/actor/connection";
|
|
10
|
-
import {
|
|
11
|
-
type ConnDriver,
|
|
12
|
-
type ConnectionDriversMap,
|
|
13
|
-
ConnectionReadyState,
|
|
14
|
-
} from "@/actor/driver";
|
|
15
|
-
import type { AnyActorInstance } from "@/actor/instance";
|
|
16
|
-
import type { CachedSerializer, Encoding } from "@/actor/protocol/serde";
|
|
17
|
-
import { encodeDataToString } from "@/actor/protocol/serde";
|
|
18
|
-
import type * as protocol from "@/schemas/client-protocol/mod";
|
|
19
|
-
import { loggerWithoutContext } from "./log";
|
|
20
|
-
|
|
21
|
-
// This state is different than `PersistedConn` state since the connection-specific state is persisted & must be serializable. This is also part of the connection driver, not part of the core actor.
|
|
22
|
-
//
|
|
23
|
-
// This holds the actual connections, which are not serializable.
|
|
24
|
-
//
|
|
25
|
-
// This is scoped to each actor. Do not share between multiple actors.
|
|
26
|
-
export class GenericConnGlobalState {
|
|
27
|
-
websockets = new Map<string, WSContext>();
|
|
28
|
-
sseStreams = new Map<string, SSEStreamingApi>();
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Exposes connection drivers for platforms that support vanilla WebSocket, SSE, and HTTP.
|
|
33
|
-
*/
|
|
34
|
-
export function createGenericConnDrivers(
|
|
35
|
-
globalState: GenericConnGlobalState,
|
|
36
|
-
): ConnectionDriversMap {
|
|
37
|
-
return {
|
|
38
|
-
[CONNECTION_DRIVER_WEBSOCKET]: createGenericWebSocketDriver(globalState),
|
|
39
|
-
[CONNECTION_DRIVER_SSE]: createGenericSseDriver(globalState),
|
|
40
|
-
[CONNECTION_DRIVER_HTTP]: createGenericHttpDriver(),
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
// MARK: WebSocket
|
|
45
|
-
export interface GenericWebSocketDriverState {
|
|
46
|
-
encoding: Encoding;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
export function createGenericWebSocketDriver(
|
|
50
|
-
globalState: GenericConnGlobalState,
|
|
51
|
-
): ConnDriver<GenericWebSocketDriverState> {
|
|
52
|
-
return {
|
|
53
|
-
sendMessage: (
|
|
54
|
-
actor: AnyActorInstance,
|
|
55
|
-
conn: AnyConn,
|
|
56
|
-
state: GenericWebSocketDriverState,
|
|
57
|
-
message: CachedSerializer<protocol.ToClient>,
|
|
58
|
-
) => {
|
|
59
|
-
const ws = globalState.websockets.get(conn.id);
|
|
60
|
-
if (!ws) {
|
|
61
|
-
actor.rLog.warn({
|
|
62
|
-
msg: "missing ws for sendMessage",
|
|
63
|
-
actorId: actor.id,
|
|
64
|
-
connId: conn.id,
|
|
65
|
-
totalCount: globalState.websockets.size,
|
|
66
|
-
});
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
const serialized = message.serialize(state.encoding);
|
|
71
|
-
|
|
72
|
-
actor.rLog.debug({
|
|
73
|
-
msg: "sending websocket message",
|
|
74
|
-
encoding: state.encoding,
|
|
75
|
-
dataType: typeof serialized,
|
|
76
|
-
isUint8Array: serialized instanceof Uint8Array,
|
|
77
|
-
isArrayBuffer: serialized instanceof ArrayBuffer,
|
|
78
|
-
dataLength:
|
|
79
|
-
(serialized as any).byteLength || (serialized as any).length,
|
|
80
|
-
});
|
|
81
|
-
|
|
82
|
-
// Convert Uint8Array to ArrayBuffer for proper transmission
|
|
83
|
-
if (serialized instanceof Uint8Array) {
|
|
84
|
-
const buffer = serialized.buffer.slice(
|
|
85
|
-
serialized.byteOffset,
|
|
86
|
-
serialized.byteOffset + serialized.byteLength,
|
|
87
|
-
);
|
|
88
|
-
// Handle SharedArrayBuffer case
|
|
89
|
-
if (buffer instanceof SharedArrayBuffer) {
|
|
90
|
-
const arrayBuffer = new ArrayBuffer(buffer.byteLength);
|
|
91
|
-
new Uint8Array(arrayBuffer).set(new Uint8Array(buffer));
|
|
92
|
-
actor.rLog.debug({
|
|
93
|
-
msg: "converted SharedArrayBuffer to ArrayBuffer",
|
|
94
|
-
byteLength: arrayBuffer.byteLength,
|
|
95
|
-
});
|
|
96
|
-
ws.send(arrayBuffer);
|
|
97
|
-
} else {
|
|
98
|
-
actor.rLog.debug({
|
|
99
|
-
msg: "sending ArrayBuffer",
|
|
100
|
-
byteLength: buffer.byteLength,
|
|
101
|
-
});
|
|
102
|
-
ws.send(buffer);
|
|
103
|
-
}
|
|
104
|
-
} else {
|
|
105
|
-
actor.rLog.debug({
|
|
106
|
-
msg: "sending string data",
|
|
107
|
-
length: (serialized as string).length,
|
|
108
|
-
});
|
|
109
|
-
ws.send(serialized);
|
|
110
|
-
}
|
|
111
|
-
},
|
|
112
|
-
|
|
113
|
-
disconnect: async (
|
|
114
|
-
actor: AnyActorInstance,
|
|
115
|
-
conn: AnyConn,
|
|
116
|
-
_state: GenericWebSocketDriverState,
|
|
117
|
-
reason?: string,
|
|
118
|
-
) => {
|
|
119
|
-
const ws = globalState.websockets.get(conn.id);
|
|
120
|
-
if (!ws) {
|
|
121
|
-
actor.rLog.warn({
|
|
122
|
-
msg: "missing ws for disconnect",
|
|
123
|
-
actorId: actor.id,
|
|
124
|
-
connId: conn.id,
|
|
125
|
-
totalCount: globalState.websockets.size,
|
|
126
|
-
});
|
|
127
|
-
return;
|
|
128
|
-
}
|
|
129
|
-
const raw = ws.raw as WebSocket;
|
|
130
|
-
if (!raw) {
|
|
131
|
-
actor.rLog.warn({ msg: "ws.raw does not exist" });
|
|
132
|
-
return;
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
// Create promise to wait for socket to close gracefully
|
|
136
|
-
const { promise, resolve } = Promise.withResolvers<void>();
|
|
137
|
-
raw.addEventListener("close", () => resolve());
|
|
138
|
-
|
|
139
|
-
// Close socket
|
|
140
|
-
ws.close(1000, reason);
|
|
141
|
-
|
|
142
|
-
await promise;
|
|
143
|
-
},
|
|
144
|
-
|
|
145
|
-
getConnectionReadyState: (
|
|
146
|
-
actor: AnyActorInstance,
|
|
147
|
-
conn: AnyConn,
|
|
148
|
-
): ConnectionReadyState | undefined => {
|
|
149
|
-
const ws = globalState.websockets.get(conn.id);
|
|
150
|
-
if (!ws) {
|
|
151
|
-
actor.rLog.warn({
|
|
152
|
-
msg: "missing ws for getConnectionReadyState",
|
|
153
|
-
connId: conn.id,
|
|
154
|
-
});
|
|
155
|
-
return undefined;
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
const raw = ws.raw as WebSocket;
|
|
159
|
-
|
|
160
|
-
return raw.readyState as ConnectionReadyState;
|
|
161
|
-
},
|
|
162
|
-
};
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
// MARK: SSE
|
|
166
|
-
export interface GenericSseDriverState {
|
|
167
|
-
encoding: Encoding;
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
export function createGenericSseDriver(
|
|
171
|
-
globalState: GenericConnGlobalState,
|
|
172
|
-
): ConnDriver<GenericSseDriverState> {
|
|
173
|
-
return {
|
|
174
|
-
sendMessage: (
|
|
175
|
-
actor: AnyActorInstance,
|
|
176
|
-
conn: AnyConn,
|
|
177
|
-
state: GenericSseDriverState,
|
|
178
|
-
message: CachedSerializer<protocol.ToClient>,
|
|
179
|
-
) => {
|
|
180
|
-
const stream = globalState.sseStreams.get(conn.id);
|
|
181
|
-
if (!stream) {
|
|
182
|
-
actor.rLog.warn({
|
|
183
|
-
msg: "missing sse stream for sendMessage",
|
|
184
|
-
connId: conn.id,
|
|
185
|
-
});
|
|
186
|
-
return;
|
|
187
|
-
}
|
|
188
|
-
stream.writeSSE({
|
|
189
|
-
data: encodeDataToString(message.serialize(state.encoding)),
|
|
190
|
-
});
|
|
191
|
-
},
|
|
192
|
-
|
|
193
|
-
disconnect: async (
|
|
194
|
-
actor: AnyActorInstance,
|
|
195
|
-
conn: AnyConn,
|
|
196
|
-
_state: GenericSseDriverState,
|
|
197
|
-
_reason?: string,
|
|
198
|
-
) => {
|
|
199
|
-
const stream = globalState.sseStreams.get(conn.id);
|
|
200
|
-
if (!stream) {
|
|
201
|
-
actor.rLog.warn({
|
|
202
|
-
msg: "missing sse stream for disconnect",
|
|
203
|
-
connId: conn.id,
|
|
204
|
-
});
|
|
205
|
-
return;
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
stream.close();
|
|
209
|
-
},
|
|
210
|
-
|
|
211
|
-
getConnectionReadyState: (
|
|
212
|
-
actor: AnyActorInstance,
|
|
213
|
-
conn: AnyConn,
|
|
214
|
-
): ConnectionReadyState | undefined => {
|
|
215
|
-
const stream = globalState.sseStreams.get(conn.id);
|
|
216
|
-
if (!stream) {
|
|
217
|
-
actor.rLog.warn({
|
|
218
|
-
msg: "missing sse stream for getConnectionReadyState",
|
|
219
|
-
connId: conn.id,
|
|
220
|
-
});
|
|
221
|
-
return undefined;
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
if (stream.aborted || stream.closed) {
|
|
225
|
-
return ConnectionReadyState.CLOSED;
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
return ConnectionReadyState.OPEN;
|
|
229
|
-
},
|
|
230
|
-
};
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
// MARK: HTTP
|
|
234
|
-
export type GenericHttpDriverState = Record<never, never>;
|
|
235
|
-
|
|
236
|
-
export function createGenericHttpDriver(): ConnDriver<GenericHttpDriverState> {
|
|
237
|
-
return {
|
|
238
|
-
getConnectionReadyState(_actor, _conn) {
|
|
239
|
-
// TODO: This might not be the correct logic
|
|
240
|
-
return ConnectionReadyState.OPEN;
|
|
241
|
-
},
|
|
242
|
-
disconnect: async () => {
|
|
243
|
-
// Noop
|
|
244
|
-
},
|
|
245
|
-
};
|
|
246
|
-
}
|