rivetkit 2.0.19 → 2.0.21
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.map +1 -1
- package/dist/tsup/{chunk-UGLCR467.js → chunk-2POQCWMA.js} +481 -100
- package/dist/tsup/chunk-2POQCWMA.js.map +1 -0
- package/dist/tsup/{chunk-GBVUP7IH.js → chunk-3UIGKLZW.js} +6 -6
- package/dist/tsup/chunk-3UIGKLZW.js.map +1 -0
- package/dist/tsup/{chunk-NCVKAD3U.js → chunk-4OINFQBR.js} +3 -3
- package/dist/tsup/{chunk-2N5T57W5.cjs → chunk-65SAIRRY.cjs} +12 -12
- package/dist/tsup/chunk-65SAIRRY.cjs.map +1 -0
- package/dist/tsup/{chunk-SO6CSZPF.js → chunk-6G76WIWL.js} +2 -2
- package/dist/tsup/{chunk-SO6CSZPF.js.map → chunk-6G76WIWL.js.map} +1 -1
- package/dist/tsup/{chunk-UBS2ARYU.js → chunk-D2LS4X6E.js} +11 -5
- package/dist/tsup/chunk-D2LS4X6E.js.map +1 -0
- package/dist/tsup/{chunk-FO4Q36GQ.js → chunk-DYA34FHW.js} +2 -2
- package/dist/tsup/{chunk-7RKGZXDH.cjs → chunk-ELDFBXDV.cjs} +8 -4
- package/dist/tsup/chunk-ELDFBXDV.cjs.map +1 -0
- package/dist/tsup/{chunk-F4PHLUIT.cjs → chunk-FDJ3AVNB.cjs} +32 -26
- package/dist/tsup/chunk-FDJ3AVNB.cjs.map +1 -0
- package/dist/tsup/{chunk-U3PO7PEY.js → chunk-FUX6U6TL.js} +2 -2
- package/dist/tsup/chunk-FUX6U6TL.js.map +1 -0
- package/dist/tsup/{chunk-AYNDGM4A.cjs → chunk-HN7UXCYQ.cjs} +7 -7
- package/dist/tsup/chunk-HN7UXCYQ.cjs.map +1 -0
- package/dist/tsup/{chunk-6MI3RWWC.js → chunk-HUGSRAGL.js} +8 -4
- package/dist/tsup/chunk-HUGSRAGL.js.map +1 -0
- package/dist/tsup/{chunk-7BTAYSZC.cjs → chunk-JKOUXDK6.cjs} +16 -10
- package/dist/tsup/chunk-JKOUXDK6.cjs.map +1 -0
- package/dist/tsup/{chunk-EXP6CQEI.cjs → chunk-JTIBPF7N.cjs} +14 -14
- package/dist/tsup/chunk-JTIBPF7N.cjs.map +1 -0
- package/dist/tsup/chunk-KSRXX3Z4.cjs.map +1 -1
- package/dist/tsup/{chunk-RIK4JNIG.cjs → chunk-LMJHBF26.cjs} +454 -288
- package/dist/tsup/chunk-LMJHBF26.cjs.map +1 -0
- package/dist/tsup/{chunk-DGXMPCNI.cjs → chunk-LWGCMELP.cjs} +3 -3
- package/dist/tsup/chunk-LWGCMELP.cjs.map +1 -0
- package/dist/tsup/{chunk-ZB3DP5IR.cjs → chunk-M5BHNJHB.cjs} +630 -249
- package/dist/tsup/chunk-M5BHNJHB.cjs.map +1 -0
- package/dist/tsup/{chunk-J5PFJTK3.cjs → chunk-O4GUKGK4.cjs} +6 -6
- package/dist/tsup/chunk-O4GUKGK4.cjs.map +1 -0
- package/dist/tsup/{chunk-LWQDW6VP.js → chunk-RZZDFDB6.js} +13 -7
- package/dist/tsup/chunk-RZZDFDB6.js.map +1 -0
- package/dist/tsup/{chunk-DAZ2YBCM.js → chunk-VLR3TDHT.js} +2 -2
- package/dist/tsup/{chunk-DAAQFFK3.js → chunk-Y2QONT7B.js} +262 -96
- package/dist/tsup/chunk-Y2QONT7B.js.map +1 -0
- package/dist/tsup/{chunk-AXQWQIUS.cjs → chunk-ZNWE3XBT.cjs} +3 -3
- package/dist/tsup/chunk-ZNWE3XBT.cjs.map +1 -0
- package/dist/tsup/client/mod.cjs +9 -9
- package/dist/tsup/client/mod.cjs.map +1 -1
- 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.cjs.map +1 -1
- package/dist/tsup/common/log.js +2 -2
- package/dist/tsup/common/websocket.cjs +4 -4
- package/dist/tsup/common/websocket.cjs.map +1 -1
- package/dist/tsup/common/websocket.js +3 -3
- package/dist/tsup/{conn-DAXlyhVg.d.ts → conn-Clu655RU.d.ts} +1 -0
- package/dist/tsup/{conn--6rFdSfD.d.cts → conn-lUvFLo_q.d.cts} +1 -0
- package/dist/tsup/driver-helpers/mod.cjs +5 -5
- package/dist/tsup/driver-helpers/mod.cjs.map +1 -1
- package/dist/tsup/driver-helpers/mod.d.cts +1 -1
- package/dist/tsup/driver-helpers/mod.d.ts +1 -1
- package/dist/tsup/driver-helpers/mod.js +4 -4
- package/dist/tsup/driver-test-suite/mod.cjs +603 -294
- 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 +574 -265
- package/dist/tsup/driver-test-suite/mod.js.map +1 -1
- package/dist/tsup/inspector/mod.cjs +6 -6
- package/dist/tsup/inspector/mod.cjs.map +1 -1
- package/dist/tsup/inspector/mod.d.cts +68 -7
- package/dist/tsup/inspector/mod.d.ts +68 -7
- package/dist/tsup/inspector/mod.js +5 -5
- package/dist/tsup/mod.cjs +10 -10
- package/dist/tsup/mod.cjs.map +1 -1
- package/dist/tsup/mod.d.cts +2 -2
- package/dist/tsup/mod.d.ts +2 -2
- package/dist/tsup/mod.js +9 -9
- package/dist/tsup/test/mod.cjs +11 -11
- package/dist/tsup/test/mod.cjs.map +1 -1
- 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.cjs.map +1 -1
- package/dist/tsup/utils.js +1 -1
- package/package.json +4 -3
- package/src/actor/config.ts +108 -15
- package/src/actor/conn-drivers.ts +2 -1
- package/src/actor/instance.ts +119 -35
- package/src/actor/keys.test.ts +13 -4
- package/src/actor/protocol/old.ts +10 -3
- package/src/actor/router-endpoints.ts +26 -16
- package/src/actor/router.ts +41 -13
- package/src/actor/unstable-react.ts +1 -1
- package/src/client/actor-common.ts +3 -1
- package/src/client/actor-conn.ts +44 -12
- package/src/client/actor-handle.ts +4 -1
- package/src/client/client.ts +32 -18
- package/src/client/utils.ts +21 -8
- package/src/common/actor-router-consts.ts +2 -0
- package/src/common/inline-websocket-adapter2.ts +24 -6
- package/src/common/log.ts +6 -2
- package/src/common/logfmt.ts +3 -1
- package/src/common/router.ts +3 -1
- package/src/common/utils.ts +6 -2
- package/src/driver-helpers/utils.ts +4 -1
- package/src/driver-test-suite/mod.ts +15 -4
- package/src/driver-test-suite/test-inline-client-driver.ts +35 -13
- package/src/driver-test-suite/tests/action-features.ts +6 -2
- package/src/driver-test-suite/tests/actor-conn-state.ts +18 -8
- package/src/driver-test-suite/tests/actor-conn.ts +35 -13
- package/src/driver-test-suite/tests/actor-handle.ts +35 -15
- package/src/driver-test-suite/tests/actor-inline-client.ts +34 -23
- package/src/driver-test-suite/tests/actor-inspector.ts +241 -131
- package/src/driver-test-suite/tests/actor-reconnect.ts +14 -4
- package/src/driver-test-suite/tests/actor-schedule.ts +12 -3
- package/src/driver-test-suite/tests/actor-sleep.ts +6 -3
- package/src/driver-test-suite/tests/actor-vars.ts +6 -2
- package/src/driver-test-suite/tests/manager-driver.ts +16 -6
- package/src/driver-test-suite/tests/raw-http-request-properties.ts +64 -25
- package/src/driver-test-suite/tests/raw-http.ts +17 -5
- package/src/driver-test-suite/tests/raw-websocket.ts +36 -12
- package/src/driver-test-suite/tests/request-access.ts +18 -8
- package/src/drivers/engine/actor-driver.ts +46 -25
- package/src/drivers/engine/config.ts +2 -1
- package/src/drivers/file-system/global-state.ts +58 -16
- package/src/drivers/file-system/manager.ts +35 -12
- package/src/drivers/file-system/mod.ts +6 -1
- package/src/drivers/file-system/utils.ts +8 -2
- package/src/engine-process/mod.ts +15 -4
- package/src/inspector/actor.ts +63 -23
- package/src/inspector/config.ts +2 -1
- package/src/inspector/manager.ts +10 -3
- package/src/inspector/utils.ts +2 -1
- package/src/manager/driver.ts +4 -1
- package/src/manager/gateway.ts +278 -8
- package/src/manager/hono-websocket-adapter.ts +33 -10
- package/src/manager/router-schema.ts +4 -2
- package/src/manager/router.ts +78 -12
- package/src/manager-api/actors.ts +2 -0
- package/src/registry/mod.ts +31 -9
- package/src/registry/run-config.ts +3 -1
- package/src/remote-manager-driver/api-endpoints.ts +2 -2
- package/src/remote-manager-driver/mod.ts +22 -5
- package/src/remote-manager-driver/ws-proxy.ts +21 -5
- package/src/serde.ts +6 -2
- package/src/test/mod.ts +2 -1
- package/src/utils.ts +6 -2
- package/dist/tsup/chunk-2N5T57W5.cjs.map +0 -1
- package/dist/tsup/chunk-6MI3RWWC.js.map +0 -1
- package/dist/tsup/chunk-7BTAYSZC.cjs.map +0 -1
- package/dist/tsup/chunk-7RKGZXDH.cjs.map +0 -1
- package/dist/tsup/chunk-AXQWQIUS.cjs.map +0 -1
- package/dist/tsup/chunk-AYNDGM4A.cjs.map +0 -1
- package/dist/tsup/chunk-DAAQFFK3.js.map +0 -1
- package/dist/tsup/chunk-DGXMPCNI.cjs.map +0 -1
- package/dist/tsup/chunk-EXP6CQEI.cjs.map +0 -1
- package/dist/tsup/chunk-F4PHLUIT.cjs.map +0 -1
- package/dist/tsup/chunk-GBVUP7IH.js.map +0 -1
- package/dist/tsup/chunk-J5PFJTK3.cjs.map +0 -1
- package/dist/tsup/chunk-LWQDW6VP.js.map +0 -1
- package/dist/tsup/chunk-RIK4JNIG.cjs.map +0 -1
- package/dist/tsup/chunk-U3PO7PEY.js.map +0 -1
- package/dist/tsup/chunk-UBS2ARYU.js.map +0 -1
- package/dist/tsup/chunk-UGLCR467.js.map +0 -1
- package/dist/tsup/chunk-ZB3DP5IR.cjs.map +0 -1
- /package/dist/tsup/{chunk-NCVKAD3U.js.map → chunk-4OINFQBR.js.map} +0 -0
- /package/dist/tsup/{chunk-FO4Q36GQ.js.map → chunk-DYA34FHW.js.map} +0 -0
- /package/dist/tsup/{chunk-DAZ2YBCM.js.map → chunk-VLR3TDHT.js.map} +0 -0
|
@@ -15,11 +15,14 @@ export function runActorInspectorTests(driverTestConfig: DriverTestConfig) {
|
|
|
15
15
|
test("should respond to ping", async (c) => {
|
|
16
16
|
const { endpoint } = await setupDriverTest(c, driverTestConfig);
|
|
17
17
|
|
|
18
|
-
const http = createManagerInspectorClient(
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
const http = createManagerInspectorClient(
|
|
19
|
+
`${endpoint}/inspect`,
|
|
20
|
+
{
|
|
21
|
+
headers: {
|
|
22
|
+
Authorization: `Bearer token`,
|
|
23
|
+
},
|
|
21
24
|
},
|
|
22
|
-
|
|
25
|
+
);
|
|
23
26
|
|
|
24
27
|
const response = await http.ping.$get();
|
|
25
28
|
expect(response.status).toBe(200);
|
|
@@ -29,17 +32,23 @@ export function runActorInspectorTests(driverTestConfig: DriverTestConfig) {
|
|
|
29
32
|
});
|
|
30
33
|
|
|
31
34
|
test("should get actors with pagination", async (c) => {
|
|
32
|
-
const { client, endpoint } = await setupDriverTest(
|
|
35
|
+
const { client, endpoint } = await setupDriverTest(
|
|
36
|
+
c,
|
|
37
|
+
driverTestConfig,
|
|
38
|
+
);
|
|
33
39
|
|
|
34
40
|
// Create some actors first
|
|
35
41
|
await client.counter.create(["test-actor-1"]);
|
|
36
42
|
await client.counter.create(["test-actor-2"]);
|
|
37
43
|
|
|
38
|
-
const http = createManagerInspectorClient(
|
|
39
|
-
|
|
40
|
-
|
|
44
|
+
const http = createManagerInspectorClient(
|
|
45
|
+
`${endpoint}/inspect`,
|
|
46
|
+
{
|
|
47
|
+
headers: {
|
|
48
|
+
Authorization: `Bearer token`,
|
|
49
|
+
},
|
|
41
50
|
},
|
|
42
|
-
|
|
51
|
+
);
|
|
43
52
|
|
|
44
53
|
const response = await http.actors.$get({
|
|
45
54
|
query: { limit: "1" },
|
|
@@ -56,7 +65,10 @@ export function runActorInspectorTests(driverTestConfig: DriverTestConfig) {
|
|
|
56
65
|
});
|
|
57
66
|
|
|
58
67
|
test("should get all actors with pagination", async (c) => {
|
|
59
|
-
const { client, endpoint } = await setupDriverTest(
|
|
68
|
+
const { client, endpoint } = await setupDriverTest(
|
|
69
|
+
c,
|
|
70
|
+
driverTestConfig,
|
|
71
|
+
);
|
|
60
72
|
|
|
61
73
|
const actorKey1 = ["test-cursor-1"];
|
|
62
74
|
const actorKey2 = ["test-cursor-2"];
|
|
@@ -65,11 +77,14 @@ export function runActorInspectorTests(driverTestConfig: DriverTestConfig) {
|
|
|
65
77
|
await client.counter.create(actorKey1);
|
|
66
78
|
await client.counter.create(actorKey2);
|
|
67
79
|
|
|
68
|
-
const http = createManagerInspectorClient(
|
|
69
|
-
|
|
70
|
-
|
|
80
|
+
const http = createManagerInspectorClient(
|
|
81
|
+
`${endpoint}/inspect`,
|
|
82
|
+
{
|
|
83
|
+
headers: {
|
|
84
|
+
Authorization: `Bearer token`,
|
|
85
|
+
},
|
|
71
86
|
},
|
|
72
|
-
|
|
87
|
+
);
|
|
73
88
|
|
|
74
89
|
const response = await http.actors.$get({
|
|
75
90
|
query: { limit: "5" },
|
|
@@ -94,11 +109,14 @@ export function runActorInspectorTests(driverTestConfig: DriverTestConfig) {
|
|
|
94
109
|
test("should handle invalid limit parameter", async (c) => {
|
|
95
110
|
const { endpoint } = await setupDriverTest(c, driverTestConfig);
|
|
96
111
|
|
|
97
|
-
const http = createManagerInspectorClient(
|
|
98
|
-
|
|
99
|
-
|
|
112
|
+
const http = createManagerInspectorClient(
|
|
113
|
+
`${endpoint}/inspect`,
|
|
114
|
+
{
|
|
115
|
+
headers: {
|
|
116
|
+
Authorization: `Bearer token`,
|
|
117
|
+
},
|
|
100
118
|
},
|
|
101
|
-
|
|
119
|
+
);
|
|
102
120
|
|
|
103
121
|
const response = await http.actors.$get({
|
|
104
122
|
query: { limit: "0" },
|
|
@@ -109,11 +127,14 @@ export function runActorInspectorTests(driverTestConfig: DriverTestConfig) {
|
|
|
109
127
|
test("should create a new actor", async (c) => {
|
|
110
128
|
const { endpoint } = await setupDriverTest(c, driverTestConfig);
|
|
111
129
|
|
|
112
|
-
const http = createManagerInspectorClient(
|
|
113
|
-
|
|
114
|
-
|
|
130
|
+
const http = createManagerInspectorClient(
|
|
131
|
+
`${endpoint}/inspect`,
|
|
132
|
+
{
|
|
133
|
+
headers: {
|
|
134
|
+
Authorization: `Bearer token`,
|
|
135
|
+
},
|
|
115
136
|
},
|
|
116
|
-
|
|
137
|
+
);
|
|
117
138
|
|
|
118
139
|
const response = await http.actors.$post({
|
|
119
140
|
json: {
|
|
@@ -137,11 +158,14 @@ export function runActorInspectorTests(driverTestConfig: DriverTestConfig) {
|
|
|
137
158
|
test("should get builds", async (c) => {
|
|
138
159
|
const { endpoint } = await setupDriverTest(c, driverTestConfig);
|
|
139
160
|
|
|
140
|
-
const http = createManagerInspectorClient(
|
|
141
|
-
|
|
142
|
-
|
|
161
|
+
const http = createManagerInspectorClient(
|
|
162
|
+
`${endpoint}/inspect`,
|
|
163
|
+
{
|
|
164
|
+
headers: {
|
|
165
|
+
Authorization: `Bearer token`,
|
|
166
|
+
},
|
|
143
167
|
},
|
|
144
|
-
|
|
168
|
+
);
|
|
145
169
|
|
|
146
170
|
const response = await http.builds.$get();
|
|
147
171
|
expect(response.status).toBe(200);
|
|
@@ -155,17 +179,23 @@ export function runActorInspectorTests(driverTestConfig: DriverTestConfig) {
|
|
|
155
179
|
});
|
|
156
180
|
|
|
157
181
|
test("should get actor by id", async (c) => {
|
|
158
|
-
const { client, endpoint } = await setupDriverTest(
|
|
182
|
+
const { client, endpoint } = await setupDriverTest(
|
|
183
|
+
c,
|
|
184
|
+
driverTestConfig,
|
|
185
|
+
);
|
|
159
186
|
|
|
160
187
|
// Create an actor and get its ID
|
|
161
188
|
const handle = await client.counter.create(["test-get-by-id"]);
|
|
162
189
|
const actorId = await handle.resolve();
|
|
163
190
|
|
|
164
|
-
const http = createManagerInspectorClient(
|
|
165
|
-
|
|
166
|
-
|
|
191
|
+
const http = createManagerInspectorClient(
|
|
192
|
+
`${endpoint}/inspect`,
|
|
193
|
+
{
|
|
194
|
+
headers: {
|
|
195
|
+
Authorization: `Bearer token`,
|
|
196
|
+
},
|
|
167
197
|
},
|
|
168
|
-
|
|
198
|
+
);
|
|
169
199
|
|
|
170
200
|
const response = await http.actor[":id"].$get({
|
|
171
201
|
param: { id: actorId },
|
|
@@ -179,11 +209,14 @@ export function runActorInspectorTests(driverTestConfig: DriverTestConfig) {
|
|
|
179
209
|
test("should return 404 for non-existent actor", async (c) => {
|
|
180
210
|
const { endpoint } = await setupDriverTest(c, driverTestConfig);
|
|
181
211
|
|
|
182
|
-
const http = createManagerInspectorClient(
|
|
183
|
-
|
|
184
|
-
|
|
212
|
+
const http = createManagerInspectorClient(
|
|
213
|
+
`${endpoint}/inspect`,
|
|
214
|
+
{
|
|
215
|
+
headers: {
|
|
216
|
+
Authorization: `Bearer token`,
|
|
217
|
+
},
|
|
185
218
|
},
|
|
186
|
-
|
|
219
|
+
);
|
|
187
220
|
|
|
188
221
|
const response = await http.actor[":id"].$get({
|
|
189
222
|
param: { id: "non-existent-id" },
|
|
@@ -195,18 +228,24 @@ export function runActorInspectorTests(driverTestConfig: DriverTestConfig) {
|
|
|
195
228
|
});
|
|
196
229
|
|
|
197
230
|
test("should get bootstrap data", async (c) => {
|
|
198
|
-
const { client, endpoint } = await setupDriverTest(
|
|
231
|
+
const { client, endpoint } = await setupDriverTest(
|
|
232
|
+
c,
|
|
233
|
+
driverTestConfig,
|
|
234
|
+
);
|
|
199
235
|
|
|
200
236
|
// Create at least one actor to ensure bootstrap has data
|
|
201
237
|
// Create an actor and get its ID
|
|
202
238
|
const handle = await client.counter.create(["test-bootstrap"]);
|
|
203
239
|
await handle.resolve();
|
|
204
240
|
|
|
205
|
-
const http = createManagerInspectorClient(
|
|
206
|
-
|
|
207
|
-
|
|
241
|
+
const http = createManagerInspectorClient(
|
|
242
|
+
`${endpoint}/inspect`,
|
|
243
|
+
{
|
|
244
|
+
headers: {
|
|
245
|
+
Authorization: `Bearer token`,
|
|
246
|
+
},
|
|
208
247
|
},
|
|
209
|
-
|
|
248
|
+
);
|
|
210
249
|
|
|
211
250
|
const response = await http.bootstrap.$get();
|
|
212
251
|
expect(response.status).toBe(200);
|
|
@@ -229,32 +268,41 @@ export function runActorInspectorTests(driverTestConfig: DriverTestConfig) {
|
|
|
229
268
|
|
|
230
269
|
const actorId = "non-existing";
|
|
231
270
|
|
|
232
|
-
const http = createActorInspectorClient(
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
271
|
+
const http = createActorInspectorClient(
|
|
272
|
+
`${endpoint}/actors/inspect`,
|
|
273
|
+
{
|
|
274
|
+
headers: {
|
|
275
|
+
Authorization: `Bearer token`,
|
|
276
|
+
[HEADER_ACTOR_QUERY]: JSON.stringify({
|
|
277
|
+
getForId: { name: "counter", actorId },
|
|
278
|
+
} satisfies ActorQuery),
|
|
279
|
+
},
|
|
238
280
|
},
|
|
239
|
-
|
|
281
|
+
);
|
|
240
282
|
|
|
241
283
|
const response = await http.ping.$get();
|
|
242
284
|
expect(response.ok).toBe(false);
|
|
243
285
|
});
|
|
244
286
|
test("should respond to ping", async (c) => {
|
|
245
|
-
const { client, endpoint } = await setupDriverTest(
|
|
287
|
+
const { client, endpoint } = await setupDriverTest(
|
|
288
|
+
c,
|
|
289
|
+
driverTestConfig,
|
|
290
|
+
);
|
|
246
291
|
|
|
247
292
|
const handle = await client.counter.create(["test-ping"]);
|
|
248
293
|
const actorId = await handle.resolve();
|
|
249
294
|
|
|
250
|
-
const http = createActorInspectorClient(
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
295
|
+
const http = createActorInspectorClient(
|
|
296
|
+
`${endpoint}/actors/inspect`,
|
|
297
|
+
{
|
|
298
|
+
headers: {
|
|
299
|
+
Authorization: `Bearer token`,
|
|
300
|
+
[HEADER_ACTOR_QUERY]: JSON.stringify({
|
|
301
|
+
getForId: { name: "counter", actorId },
|
|
302
|
+
} satisfies ActorQuery),
|
|
303
|
+
},
|
|
256
304
|
},
|
|
257
|
-
|
|
305
|
+
);
|
|
258
306
|
|
|
259
307
|
const response = await http.ping.$get();
|
|
260
308
|
expect(response.status).toBe(200);
|
|
@@ -264,7 +312,10 @@ export function runActorInspectorTests(driverTestConfig: DriverTestConfig) {
|
|
|
264
312
|
});
|
|
265
313
|
|
|
266
314
|
test("should get actor state", async (c) => {
|
|
267
|
-
const { client, endpoint } = await setupDriverTest(
|
|
315
|
+
const { client, endpoint } = await setupDriverTest(
|
|
316
|
+
c,
|
|
317
|
+
driverTestConfig,
|
|
318
|
+
);
|
|
268
319
|
|
|
269
320
|
const handle = await client.counter.create(["test-state"]);
|
|
270
321
|
const actorId = await handle.resolve();
|
|
@@ -272,14 +323,17 @@ export function runActorInspectorTests(driverTestConfig: DriverTestConfig) {
|
|
|
272
323
|
// Increment the counter to set some state
|
|
273
324
|
await handle.increment(5);
|
|
274
325
|
|
|
275
|
-
const http = createActorInspectorClient(
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
326
|
+
const http = createActorInspectorClient(
|
|
327
|
+
`${endpoint}/actors/inspect`,
|
|
328
|
+
{
|
|
329
|
+
headers: {
|
|
330
|
+
Authorization: `Bearer token`,
|
|
331
|
+
[HEADER_ACTOR_QUERY]: JSON.stringify({
|
|
332
|
+
getForId: { name: "counter", actorId },
|
|
333
|
+
} satisfies ActorQuery),
|
|
334
|
+
},
|
|
281
335
|
},
|
|
282
|
-
|
|
336
|
+
);
|
|
283
337
|
|
|
284
338
|
const response = await http.state.$get();
|
|
285
339
|
expect(response.status).toBe(200);
|
|
@@ -294,19 +348,27 @@ export function runActorInspectorTests(driverTestConfig: DriverTestConfig) {
|
|
|
294
348
|
});
|
|
295
349
|
|
|
296
350
|
test("should update actor state with replace", async (c) => {
|
|
297
|
-
const { client, endpoint } = await setupDriverTest(
|
|
351
|
+
const { client, endpoint } = await setupDriverTest(
|
|
352
|
+
c,
|
|
353
|
+
driverTestConfig,
|
|
354
|
+
);
|
|
298
355
|
|
|
299
|
-
const handle = await client.counter.create([
|
|
356
|
+
const handle = await client.counter.create([
|
|
357
|
+
"test-state-replace",
|
|
358
|
+
]);
|
|
300
359
|
const actorId = await handle.resolve();
|
|
301
360
|
|
|
302
|
-
const http = createActorInspectorClient(
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
361
|
+
const http = createActorInspectorClient(
|
|
362
|
+
`${endpoint}/actors/inspect`,
|
|
363
|
+
{
|
|
364
|
+
headers: {
|
|
365
|
+
Authorization: `Bearer token`,
|
|
366
|
+
[HEADER_ACTOR_QUERY]: JSON.stringify({
|
|
367
|
+
getForId: { name: "counter", actorId },
|
|
368
|
+
} satisfies ActorQuery),
|
|
369
|
+
},
|
|
308
370
|
},
|
|
309
|
-
|
|
371
|
+
);
|
|
310
372
|
|
|
311
373
|
// Replace the entire state
|
|
312
374
|
const response = await http.state.$patch({
|
|
@@ -324,22 +386,30 @@ export function runActorInspectorTests(driverTestConfig: DriverTestConfig) {
|
|
|
324
386
|
});
|
|
325
387
|
|
|
326
388
|
test("should update actor state with patch", async (c) => {
|
|
327
|
-
const { client, endpoint } = await setupDriverTest(
|
|
389
|
+
const { client, endpoint } = await setupDriverTest(
|
|
390
|
+
c,
|
|
391
|
+
driverTestConfig,
|
|
392
|
+
);
|
|
328
393
|
|
|
329
|
-
const handle = await client.counter.create([
|
|
394
|
+
const handle = await client.counter.create([
|
|
395
|
+
"test-state-patch",
|
|
396
|
+
]);
|
|
330
397
|
const actorId = await handle.resolve();
|
|
331
398
|
|
|
332
399
|
// Set initial state
|
|
333
400
|
await handle.increment(3);
|
|
334
401
|
|
|
335
|
-
const http = createActorInspectorClient(
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
402
|
+
const http = createActorInspectorClient(
|
|
403
|
+
`${endpoint}/actors/inspect`,
|
|
404
|
+
{
|
|
405
|
+
headers: {
|
|
406
|
+
Authorization: `Bearer token`,
|
|
407
|
+
[HEADER_ACTOR_QUERY]: JSON.stringify({
|
|
408
|
+
getForId: { name: "counter", actorId },
|
|
409
|
+
} satisfies ActorQuery),
|
|
410
|
+
},
|
|
341
411
|
},
|
|
342
|
-
|
|
412
|
+
);
|
|
343
413
|
|
|
344
414
|
// Patch the state
|
|
345
415
|
const response = await http.state.$patch({
|
|
@@ -365,21 +435,29 @@ export function runActorInspectorTests(driverTestConfig: DriverTestConfig) {
|
|
|
365
435
|
});
|
|
366
436
|
|
|
367
437
|
test("should get actor connections", async (c) => {
|
|
368
|
-
const { client, endpoint } = await setupDriverTest(
|
|
438
|
+
const { client, endpoint } = await setupDriverTest(
|
|
439
|
+
c,
|
|
440
|
+
driverTestConfig,
|
|
441
|
+
);
|
|
369
442
|
|
|
370
|
-
const handle = await client.counter.create([
|
|
443
|
+
const handle = await client.counter.create([
|
|
444
|
+
"test-connections",
|
|
445
|
+
]);
|
|
371
446
|
const actorId = await handle.resolve();
|
|
372
447
|
handle.connect();
|
|
373
448
|
await handle.increment(10);
|
|
374
449
|
|
|
375
|
-
const http = createActorInspectorClient(
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
450
|
+
const http = createActorInspectorClient(
|
|
451
|
+
`${endpoint}/actors/inspect`,
|
|
452
|
+
{
|
|
453
|
+
headers: {
|
|
454
|
+
Authorization: `Bearer token`,
|
|
455
|
+
[HEADER_ACTOR_QUERY]: JSON.stringify({
|
|
456
|
+
getForId: { name: "counter", actorId },
|
|
457
|
+
} satisfies ActorQuery),
|
|
458
|
+
},
|
|
381
459
|
},
|
|
382
|
-
|
|
460
|
+
);
|
|
383
461
|
|
|
384
462
|
const response = await http.connections.$get();
|
|
385
463
|
expect(response.status).toBe(200);
|
|
@@ -395,7 +473,10 @@ export function runActorInspectorTests(driverTestConfig: DriverTestConfig) {
|
|
|
395
473
|
});
|
|
396
474
|
|
|
397
475
|
test("should get actor events", async (c) => {
|
|
398
|
-
const { client, endpoint } = await setupDriverTest(
|
|
476
|
+
const { client, endpoint } = await setupDriverTest(
|
|
477
|
+
c,
|
|
478
|
+
driverTestConfig,
|
|
479
|
+
);
|
|
399
480
|
|
|
400
481
|
const handle = await client.counter.create(["test-events"]);
|
|
401
482
|
const actorId = await handle.resolve();
|
|
@@ -403,14 +484,17 @@ export function runActorInspectorTests(driverTestConfig: DriverTestConfig) {
|
|
|
403
484
|
handle.connect();
|
|
404
485
|
await handle.increment(10);
|
|
405
486
|
|
|
406
|
-
const http = createActorInspectorClient(
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
487
|
+
const http = createActorInspectorClient(
|
|
488
|
+
`${endpoint}/actors/inspect`,
|
|
489
|
+
{
|
|
490
|
+
headers: {
|
|
491
|
+
Authorization: `Bearer token`,
|
|
492
|
+
[HEADER_ACTOR_QUERY]: JSON.stringify({
|
|
493
|
+
getForId: { name: "counter", actorId },
|
|
494
|
+
} satisfies ActorQuery),
|
|
495
|
+
},
|
|
412
496
|
},
|
|
413
|
-
|
|
497
|
+
);
|
|
414
498
|
|
|
415
499
|
const response = await http.events.$get();
|
|
416
500
|
expect(response.status).toBe(200);
|
|
@@ -427,22 +511,30 @@ export function runActorInspectorTests(driverTestConfig: DriverTestConfig) {
|
|
|
427
511
|
});
|
|
428
512
|
|
|
429
513
|
test("should clear actor events", async (c) => {
|
|
430
|
-
const { client, endpoint } = await setupDriverTest(
|
|
514
|
+
const { client, endpoint } = await setupDriverTest(
|
|
515
|
+
c,
|
|
516
|
+
driverTestConfig,
|
|
517
|
+
);
|
|
431
518
|
|
|
432
|
-
const handle = await client.counter.create([
|
|
519
|
+
const handle = await client.counter.create([
|
|
520
|
+
"test-events-clear",
|
|
521
|
+
]);
|
|
433
522
|
const actorId = await handle.resolve();
|
|
434
523
|
|
|
435
524
|
handle.connect();
|
|
436
525
|
await handle.increment(10);
|
|
437
526
|
|
|
438
|
-
const http = createActorInspectorClient(
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
527
|
+
const http = createActorInspectorClient(
|
|
528
|
+
`${endpoint}/actors/inspect`,
|
|
529
|
+
{
|
|
530
|
+
headers: {
|
|
531
|
+
Authorization: `Bearer token`,
|
|
532
|
+
[HEADER_ACTOR_QUERY]: JSON.stringify({
|
|
533
|
+
getForId: { name: "counter", actorId },
|
|
534
|
+
} satisfies ActorQuery),
|
|
535
|
+
},
|
|
444
536
|
},
|
|
445
|
-
|
|
537
|
+
);
|
|
446
538
|
|
|
447
539
|
{
|
|
448
540
|
const response = await http.events.$get();
|
|
@@ -464,19 +556,25 @@ export function runActorInspectorTests(driverTestConfig: DriverTestConfig) {
|
|
|
464
556
|
});
|
|
465
557
|
|
|
466
558
|
test("should get actor rpcs", async (c) => {
|
|
467
|
-
const { client, endpoint } = await setupDriverTest(
|
|
559
|
+
const { client, endpoint } = await setupDriverTest(
|
|
560
|
+
c,
|
|
561
|
+
driverTestConfig,
|
|
562
|
+
);
|
|
468
563
|
|
|
469
564
|
const handle = await client.counter.create(["test-rpcs"]);
|
|
470
565
|
const actorId = await handle.resolve();
|
|
471
566
|
|
|
472
|
-
const http = createActorInspectorClient(
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
567
|
+
const http = createActorInspectorClient(
|
|
568
|
+
`${endpoint}/actors/inspect`,
|
|
569
|
+
{
|
|
570
|
+
headers: {
|
|
571
|
+
Authorization: `Bearer token`,
|
|
572
|
+
[HEADER_ACTOR_QUERY]: JSON.stringify({
|
|
573
|
+
getForId: { name: "counter", actorId },
|
|
574
|
+
} satisfies ActorQuery),
|
|
575
|
+
},
|
|
478
576
|
},
|
|
479
|
-
|
|
577
|
+
);
|
|
480
578
|
|
|
481
579
|
const response = await http.rpcs.$get();
|
|
482
580
|
expect(response.status).toBe(200);
|
|
@@ -491,19 +589,25 @@ export function runActorInspectorTests(driverTestConfig: DriverTestConfig) {
|
|
|
491
589
|
|
|
492
590
|
// database is not officially supported yet
|
|
493
591
|
test.skip("should get actor database info", async (c) => {
|
|
494
|
-
const { client, endpoint } = await setupDriverTest(
|
|
592
|
+
const { client, endpoint } = await setupDriverTest(
|
|
593
|
+
c,
|
|
594
|
+
driverTestConfig,
|
|
595
|
+
);
|
|
495
596
|
|
|
496
597
|
const handle = await client.counter.create(["test-db"]);
|
|
497
598
|
const actorId = await handle.resolve();
|
|
498
599
|
|
|
499
|
-
const http = createActorInspectorClient(
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
600
|
+
const http = createActorInspectorClient(
|
|
601
|
+
`${endpoint}/actors/inspect`,
|
|
602
|
+
{
|
|
603
|
+
headers: {
|
|
604
|
+
Authorization: `Bearer token`,
|
|
605
|
+
[HEADER_ACTOR_QUERY]: JSON.stringify({
|
|
606
|
+
getForId: { name: "counter", actorId },
|
|
607
|
+
} satisfies ActorQuery),
|
|
608
|
+
},
|
|
505
609
|
},
|
|
506
|
-
|
|
610
|
+
);
|
|
507
611
|
|
|
508
612
|
const response = await http.db.$get();
|
|
509
613
|
expect(response.status).toBe(200);
|
|
@@ -522,19 +626,25 @@ export function runActorInspectorTests(driverTestConfig: DriverTestConfig) {
|
|
|
522
626
|
});
|
|
523
627
|
|
|
524
628
|
test.skip("should execute database query when database is enabled", async (c) => {
|
|
525
|
-
const { client, endpoint } = await setupDriverTest(
|
|
629
|
+
const { client, endpoint } = await setupDriverTest(
|
|
630
|
+
c,
|
|
631
|
+
driverTestConfig,
|
|
632
|
+
);
|
|
526
633
|
|
|
527
634
|
const handle = await client.counter.create(["test-db-query"]);
|
|
528
635
|
const actorId = await handle.resolve();
|
|
529
636
|
|
|
530
|
-
const http = createActorInspectorClient(
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
637
|
+
const http = createActorInspectorClient(
|
|
638
|
+
`${endpoint}/actors/inspect`,
|
|
639
|
+
{
|
|
640
|
+
headers: {
|
|
641
|
+
Authorization: `Bearer token`,
|
|
642
|
+
[HEADER_ACTOR_QUERY]: JSON.stringify({
|
|
643
|
+
getForId: { name: "counter", actorId },
|
|
644
|
+
} satisfies ActorQuery),
|
|
645
|
+
},
|
|
536
646
|
},
|
|
537
|
-
|
|
647
|
+
);
|
|
538
648
|
|
|
539
649
|
// First check if database is enabled
|
|
540
650
|
const dbInfoResponse = await http.db.$get();
|
|
@@ -6,7 +6,10 @@ import { setupDriverTest } from "../utils";
|
|
|
6
6
|
export function runActorReconnectTests(driverTestConfig: DriverTestConfig) {
|
|
7
7
|
describe("Actor Reconnection Tests", () => {
|
|
8
8
|
test("should reconnect and preserve connection state after non-clean disconnect", async (c) => {
|
|
9
|
-
const { client, endpoint } = await setupDriverTest(
|
|
9
|
+
const { client, endpoint } = await setupDriverTest(
|
|
10
|
+
c,
|
|
11
|
+
driverTestConfig,
|
|
12
|
+
);
|
|
10
13
|
|
|
11
14
|
// Create actor and connect
|
|
12
15
|
const handle = client.counterConn.getOrCreate(["test-reconnect"]);
|
|
@@ -52,7 +55,9 @@ export function runActorReconnectTests(driverTestConfig: DriverTestConfig) {
|
|
|
52
55
|
const { client } = await setupDriverTest(c, driverTestConfig);
|
|
53
56
|
|
|
54
57
|
// Create actor and connect
|
|
55
|
-
const handle = client.counterConn.getOrCreate([
|
|
58
|
+
const handle = client.counterConn.getOrCreate([
|
|
59
|
+
"test-clean-disconnect",
|
|
60
|
+
]);
|
|
56
61
|
const connection = handle.connect();
|
|
57
62
|
|
|
58
63
|
// Set an initial count on the connection
|
|
@@ -69,7 +74,9 @@ export function runActorReconnectTests(driverTestConfig: DriverTestConfig) {
|
|
|
69
74
|
await vi.waitFor(
|
|
70
75
|
async () => {
|
|
71
76
|
// Check that connection count is now 0
|
|
72
|
-
const handle2 = client.counterConn.get([
|
|
77
|
+
const handle2 = client.counterConn.get([
|
|
78
|
+
"test-clean-disconnect",
|
|
79
|
+
]);
|
|
73
80
|
const connCount = await handle2.getConnectionCount();
|
|
74
81
|
// This counts the current action caller
|
|
75
82
|
expect(connCount).toBe(1);
|
|
@@ -93,7 +100,10 @@ export function runActorReconnectTests(driverTestConfig: DriverTestConfig) {
|
|
|
93
100
|
});
|
|
94
101
|
|
|
95
102
|
test("should handle multiple non-clean disconnects and reconnects", async (c) => {
|
|
96
|
-
const { client, endpoint } = await setupDriverTest(
|
|
103
|
+
const { client, endpoint } = await setupDriverTest(
|
|
104
|
+
c,
|
|
105
|
+
driverTestConfig,
|
|
106
|
+
);
|
|
97
107
|
|
|
98
108
|
// Create actor and connect
|
|
99
109
|
const handle = client.counterConn.getOrCreate([
|
|
@@ -10,7 +10,10 @@ export function runActorScheduleTests(driverTestConfig: DriverTestConfig) {
|
|
|
10
10
|
|
|
11
11
|
describe("Scheduled Alarms", () => {
|
|
12
12
|
test("executes c.schedule.at() with specific timestamp", async (c) => {
|
|
13
|
-
const { client } = await setupDriverTest(
|
|
13
|
+
const { client } = await setupDriverTest(
|
|
14
|
+
c,
|
|
15
|
+
driverTestConfig,
|
|
16
|
+
);
|
|
14
17
|
|
|
15
18
|
// Create instance
|
|
16
19
|
const scheduled = client.scheduled.getOrCreate();
|
|
@@ -31,7 +34,10 @@ export function runActorScheduleTests(driverTestConfig: DriverTestConfig) {
|
|
|
31
34
|
});
|
|
32
35
|
|
|
33
36
|
test("executes c.schedule.after() with delay", async (c) => {
|
|
34
|
-
const { client } = await setupDriverTest(
|
|
37
|
+
const { client } = await setupDriverTest(
|
|
38
|
+
c,
|
|
39
|
+
driverTestConfig,
|
|
40
|
+
);
|
|
35
41
|
|
|
36
42
|
// Create instance
|
|
37
43
|
const scheduled = client.scheduled.getOrCreate();
|
|
@@ -51,7 +57,10 @@ export function runActorScheduleTests(driverTestConfig: DriverTestConfig) {
|
|
|
51
57
|
});
|
|
52
58
|
|
|
53
59
|
test("multiple scheduled tasks execute in order", async (c) => {
|
|
54
|
-
const { client } = await setupDriverTest(
|
|
60
|
+
const { client } = await setupDriverTest(
|
|
61
|
+
c,
|
|
62
|
+
driverTestConfig,
|
|
63
|
+
);
|
|
55
64
|
|
|
56
65
|
// Create instance
|
|
57
66
|
const scheduled = client.scheduled.getOrCreate();
|