rivetkit 2.0.41 → 2.0.43-rc.1
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.cjs.map +1 -1
- package/dist/tsup/actor/errors.js +1 -1
- package/dist/tsup/{chunk-LMG4QMDO.js → chunk-2NJQ3DJ5.js} +15 -5
- package/dist/tsup/{chunk-LMG4QMDO.js.map → chunk-2NJQ3DJ5.js.map} +1 -1
- package/dist/tsup/{chunk-SNAUKDDK.cjs → chunk-2XQS746M.cjs} +4 -4
- package/dist/tsup/chunk-2XQS746M.cjs.map +1 -0
- package/dist/tsup/{chunk-DSNSFYDL.cjs → chunk-3HKN5HQ7.cjs} +3 -3
- package/dist/tsup/chunk-3HKN5HQ7.cjs.map +1 -0
- package/dist/tsup/{chunk-B5UXC4QV.cjs → chunk-BEMEUFS2.cjs} +78 -78
- package/dist/tsup/chunk-BEMEUFS2.cjs.map +1 -0
- package/dist/tsup/chunk-CKBPIXRM.js +278 -0
- package/dist/tsup/chunk-CKBPIXRM.js.map +1 -0
- package/dist/tsup/{chunk-GTQKDCM4.cjs → chunk-ETNL2HZL.cjs} +49 -49
- package/dist/tsup/chunk-ETNL2HZL.cjs.map +1 -0
- package/dist/tsup/{chunk-OXN6EZUB.js → chunk-F7ZL4T63.js} +3 -3
- package/dist/tsup/chunk-GBENOENJ.cjs.map +1 -1
- package/dist/tsup/chunk-KDFWJKMJ.cjs.map +1 -1
- package/dist/tsup/{chunk-2YHR67M4.js → chunk-LFVF5SCU.js} +4 -4
- package/dist/tsup/chunk-LFVF5SCU.js.map +1 -0
- package/dist/tsup/{chunk-4UHJ3ADW.cjs → chunk-MQ3PTGWH.cjs} +115 -99
- package/dist/tsup/chunk-MQ3PTGWH.cjs.map +1 -0
- package/dist/tsup/{chunk-Y7ZDTLD2.js → chunk-NENM5PQN.js} +2 -2
- package/dist/tsup/chunk-R33VIC3W.cjs +278 -0
- package/dist/tsup/chunk-R33VIC3W.cjs.map +1 -0
- package/dist/tsup/{chunk-QDVKDX7G.cjs → chunk-ROVVTBUE.cjs} +9 -9
- package/dist/tsup/chunk-ROVVTBUE.cjs.map +1 -0
- package/dist/tsup/{chunk-7KIR3QLO.js → chunk-S22E2HUH.js} +24 -8
- package/dist/tsup/chunk-S22E2HUH.js.map +1 -0
- package/dist/tsup/{chunk-UGOCTUBG.js → chunk-TFMRMA5S.js} +5 -5
- package/dist/tsup/{chunk-WYZLRPQM.cjs → chunk-YR6H6STI.cjs} +269 -269
- package/dist/tsup/chunk-YR6H6STI.cjs.map +1 -0
- package/dist/tsup/{chunk-S6F7EKC7.cjs → chunk-YZZF7DES.cjs} +20 -10
- package/dist/tsup/chunk-YZZF7DES.cjs.map +1 -0
- package/dist/tsup/{chunk-4J5EFV3E.js → chunk-Z3BORZE2.js} +5 -5
- package/dist/tsup/{chunk-NRP2OHSW.js → chunk-ZKCVZA7Z.js} +5 -5
- package/dist/tsup/client/mod.cjs +6 -6
- 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 +5 -5
- package/dist/tsup/common/log.cjs +3 -3
- package/dist/tsup/common/log.cjs.map +1 -1
- package/dist/tsup/common/log.d.cts +2 -2
- package/dist/tsup/common/log.d.ts +2 -2
- 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/{config-D43N-CFi.d.ts → config-CLnylLYY.d.ts} +10 -10
- package/dist/tsup/{config-COyis_uH.d.cts → config-CZB2-W8x.d.cts} +10 -10
- package/dist/tsup/{driver-KyM2v645.d.ts → driver-D0QX9M11.d.ts} +1 -1
- package/dist/tsup/driver-helpers/mod.cjs +4 -4
- package/dist/tsup/driver-helpers/mod.cjs.map +1 -1
- package/dist/tsup/driver-helpers/mod.d.cts +2 -2
- package/dist/tsup/driver-helpers/mod.d.ts +2 -2
- package/dist/tsup/driver-helpers/mod.js +3 -3
- package/dist/tsup/{driver-Bt7B-qMd.d.cts → driver-q-zqG7fc.d.cts} +1 -1
- package/dist/tsup/driver-test-suite/mod.cjs +323 -448
- package/dist/tsup/driver-test-suite/mod.cjs.map +1 -1
- package/dist/tsup/driver-test-suite/mod.d.cts +2 -2
- package/dist/tsup/driver-test-suite/mod.d.ts +2 -2
- package/dist/tsup/driver-test-suite/mod.js +916 -1041
- package/dist/tsup/driver-test-suite/mod.js.map +1 -1
- package/dist/tsup/inspector/mod.cjs.map +1 -1
- package/dist/tsup/mod.cjs +8 -8
- package/dist/tsup/mod.cjs.map +1 -1
- package/dist/tsup/mod.d.cts +4 -4
- package/dist/tsup/mod.d.ts +4 -4
- package/dist/tsup/mod.js +7 -7
- package/dist/tsup/serve-test-suite/mod.cjs +1581 -0
- package/dist/tsup/serve-test-suite/mod.cjs.map +1 -0
- package/dist/tsup/serve-test-suite/mod.d.cts +9 -0
- package/dist/tsup/serve-test-suite/mod.d.ts +9 -0
- package/dist/tsup/serve-test-suite/mod.js +1578 -0
- package/dist/tsup/serve-test-suite/mod.js.map +1 -0
- package/dist/tsup/test/mod.cjs +8 -8
- 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 +7 -7
- package/dist/tsup/utils.cjs +3 -3
- package/dist/tsup/utils.cjs.map +1 -1
- package/dist/tsup/utils.js +2 -2
- package/package.json +14 -4
- package/src/actor/errors.ts +4 -4
- package/src/driver-test-suite/mod.ts +3 -0
- package/src/driver-test-suite/tests/actor-driver.ts +4 -0
- package/src/driver-test-suite/tests/actor-lifecycle.ts +157 -0
- package/src/driver-test-suite/tests/conn-error-serialization.ts +64 -0
- package/src/drivers/engine/actor-driver.ts +24 -4
- package/src/serve-test-suite/mod.ts +147 -0
- package/dist/schemas/actor-persist/v1.js +0 -167
- package/dist/schemas/actor-persist/v2.js +0 -200
- package/dist/schemas/actor-persist/v3.js +0 -200
- package/dist/schemas/client-protocol/v1.js +0 -301
- package/dist/schemas/client-protocol/v2.js +0 -299
- package/dist/schemas/file-system-driver/v1.js +0 -76
- package/dist/schemas/file-system-driver/v2.js +0 -103
- package/dist/schemas/file-system-driver/v3.js +0 -122
- package/dist/tsup/chunk-2YHR67M4.js.map +0 -1
- package/dist/tsup/chunk-4UHJ3ADW.cjs.map +0 -1
- package/dist/tsup/chunk-7KIR3QLO.js.map +0 -1
- package/dist/tsup/chunk-B5UXC4QV.cjs.map +0 -1
- package/dist/tsup/chunk-DSNSFYDL.cjs.map +0 -1
- package/dist/tsup/chunk-GTQKDCM4.cjs.map +0 -1
- package/dist/tsup/chunk-QDVKDX7G.cjs.map +0 -1
- package/dist/tsup/chunk-S6F7EKC7.cjs.map +0 -1
- package/dist/tsup/chunk-SNAUKDDK.cjs.map +0 -1
- package/dist/tsup/chunk-WYZLRPQM.cjs.map +0 -1
- /package/dist/tsup/{chunk-OXN6EZUB.js.map → chunk-F7ZL4T63.js.map} +0 -0
- /package/dist/tsup/{chunk-Y7ZDTLD2.js.map → chunk-NENM5PQN.js.map} +0 -0
- /package/dist/tsup/{chunk-UGOCTUBG.js.map → chunk-TFMRMA5S.js.map} +0 -0
- /package/dist/tsup/{chunk-4J5EFV3E.js.map → chunk-Z3BORZE2.js.map} +0 -0
- /package/dist/tsup/{chunk-NRP2OHSW.js.map → chunk-ZKCVZA7Z.js.map} +0 -0
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { describe, expect, test } from "vitest";
|
|
2
|
+
import type { DriverTestConfig } from "../mod";
|
|
3
|
+
import { setupDriverTest } from "../utils";
|
|
4
|
+
|
|
5
|
+
export function runConnErrorSerializationTests(driverTestConfig: DriverTestConfig) {
|
|
6
|
+
describe("Connection Error Serialization Tests", () => {
|
|
7
|
+
test("error thrown in createConnState preserves group and code through WebSocket serialization", async (c) => {
|
|
8
|
+
const { client } = await setupDriverTest(c, driverTestConfig);
|
|
9
|
+
|
|
10
|
+
const actorKey = `test-error-serialization-${Date.now()}`;
|
|
11
|
+
|
|
12
|
+
// Create actor handle with params that will trigger error in createConnState
|
|
13
|
+
const actor = client.connErrorSerializationActor.getOrCreate(
|
|
14
|
+
[actorKey],
|
|
15
|
+
{ params: { shouldThrow: true } },
|
|
16
|
+
);
|
|
17
|
+
|
|
18
|
+
// Try to connect, which will trigger error in createConnState
|
|
19
|
+
const conn = actor.connect();
|
|
20
|
+
|
|
21
|
+
// Wait for connection to fail
|
|
22
|
+
let caughtError: any;
|
|
23
|
+
try {
|
|
24
|
+
// Try to call an action, which should fail because connection couldn't be established
|
|
25
|
+
await conn.getValue();
|
|
26
|
+
} catch (err) {
|
|
27
|
+
caughtError = err;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// Verify the error was caught
|
|
31
|
+
expect(caughtError).toBeDefined();
|
|
32
|
+
|
|
33
|
+
// Verify the error has the correct group and code from the original error
|
|
34
|
+
// Original error: new CustomConnectionError("...") with group="connection", code="custom_error"
|
|
35
|
+
expect(caughtError.group).toBe("connection");
|
|
36
|
+
expect(caughtError.code).toBe("custom_error");
|
|
37
|
+
|
|
38
|
+
// Clean up
|
|
39
|
+
await conn.dispose();
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
test("successful createConnState does not throw error", async (c) => {
|
|
43
|
+
const { client } = await setupDriverTest(c, driverTestConfig);
|
|
44
|
+
|
|
45
|
+
const actorKey = `test-no-error-${Date.now()}`;
|
|
46
|
+
|
|
47
|
+
// Create actor handle with params that will NOT trigger error
|
|
48
|
+
const actor = client.connErrorSerializationActor.getOrCreate(
|
|
49
|
+
[actorKey],
|
|
50
|
+
{ params: { shouldThrow: false } },
|
|
51
|
+
);
|
|
52
|
+
|
|
53
|
+
// Connect without triggering error
|
|
54
|
+
const conn = actor.connect();
|
|
55
|
+
|
|
56
|
+
// This should succeed
|
|
57
|
+
const value = await conn.getValue();
|
|
58
|
+
expect(value).toBe(0);
|
|
59
|
+
|
|
60
|
+
// Clean up
|
|
61
|
+
await conn.dispose();
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
}
|
|
@@ -153,7 +153,7 @@ export class EngineActorDriver implements ActorDriver {
|
|
|
153
153
|
onConnected: () => {
|
|
154
154
|
this.#runnerStarted.resolve(undefined);
|
|
155
155
|
},
|
|
156
|
-
onDisconnected: (_code, _reason) => {},
|
|
156
|
+
onDisconnected: (_code, _reason) => { },
|
|
157
157
|
onShutdown: () => {
|
|
158
158
|
this.#runnerStopped.resolve(undefined);
|
|
159
159
|
this.#isRunnerStopped = true;
|
|
@@ -358,7 +358,7 @@ export class EngineActorDriver implements ActorDriver {
|
|
|
358
358
|
async serverlessHandleStart(c: HonoContext): Promise<Response> {
|
|
359
359
|
return streamSSE(c, async (stream) => {
|
|
360
360
|
// NOTE: onAbort does not work reliably
|
|
361
|
-
stream.onAbort(() => {});
|
|
361
|
+
stream.onAbort(() => { });
|
|
362
362
|
c.req.raw.signal.addEventListener("abort", () => {
|
|
363
363
|
logger().debug("SSE aborted, shutting down runner");
|
|
364
364
|
|
|
@@ -490,7 +490,26 @@ export class EngineActorDriver implements ActorDriver {
|
|
|
490
490
|
this.#actorStopIntent.delete(actorId);
|
|
491
491
|
|
|
492
492
|
const handler = this.#actors.get(actorId);
|
|
493
|
-
if (handler
|
|
493
|
+
if (!handler) {
|
|
494
|
+
logger().debug({ msg: "no runner actor handler to stop", actorId, reason });
|
|
495
|
+
return;
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
if (handler.actorStartPromise) {
|
|
499
|
+
try {
|
|
500
|
+
logger().debug({ msg: "runner actor stopping before it started, waiting", actorId, generation });
|
|
501
|
+
await handler.actorStartPromise.promise;
|
|
502
|
+
} catch (err) {
|
|
503
|
+
// Start failed, but we still want to clean up the handler
|
|
504
|
+
logger().debug({
|
|
505
|
+
msg: "actor start failed during stop, cleaning up handler",
|
|
506
|
+
actorId,
|
|
507
|
+
err: stringifyError(err),
|
|
508
|
+
});
|
|
509
|
+
}
|
|
510
|
+
}
|
|
511
|
+
|
|
512
|
+
if (handler.actor) {
|
|
494
513
|
try {
|
|
495
514
|
await handler.actor.onStop(reason);
|
|
496
515
|
} catch (err) {
|
|
@@ -499,9 +518,10 @@ export class EngineActorDriver implements ActorDriver {
|
|
|
499
518
|
err: stringifyError(err),
|
|
500
519
|
});
|
|
501
520
|
}
|
|
502
|
-
this.#actors.delete(actorId);
|
|
503
521
|
}
|
|
504
522
|
|
|
523
|
+
this.#actors.delete(actorId);
|
|
524
|
+
|
|
505
525
|
logger().debug({ msg: "runner actor stopped", actorId, reason });
|
|
506
526
|
}
|
|
507
527
|
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { serve as honoServe } from "@hono/node-server";
|
|
2
|
+
import { createNodeWebSocket } from "@hono/node-ws";
|
|
3
|
+
import { createServer } from "node:net";
|
|
4
|
+
import { fileURLToPath } from "node:url";
|
|
5
|
+
import invariant from "invariant";
|
|
6
|
+
import { buildManagerRouter } from "@/manager/router";
|
|
7
|
+
import { createFileSystemOrMemoryDriver } from "@/drivers/file-system/mod";
|
|
8
|
+
import { logger } from "@/driver-test-suite/log";
|
|
9
|
+
import { registry } from "../../fixtures/driver-test-suite/registry";
|
|
10
|
+
|
|
11
|
+
export interface ServeTestSuiteResult {
|
|
12
|
+
endpoint: string;
|
|
13
|
+
namespace: string;
|
|
14
|
+
runnerName: string;
|
|
15
|
+
close(): Promise<void>;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
async function getPort(): Promise<number> {
|
|
19
|
+
const MIN_PORT = 10000;
|
|
20
|
+
const MAX_PORT = 65535;
|
|
21
|
+
const getRandomPort = () =>
|
|
22
|
+
Math.floor(Math.random() * (MAX_PORT - MIN_PORT + 1)) + MIN_PORT;
|
|
23
|
+
|
|
24
|
+
let port = getRandomPort();
|
|
25
|
+
let maxAttempts = 10;
|
|
26
|
+
|
|
27
|
+
while (maxAttempts > 0) {
|
|
28
|
+
try {
|
|
29
|
+
const server = await new Promise<any>((resolve, reject) => {
|
|
30
|
+
const server = createServer();
|
|
31
|
+
|
|
32
|
+
server.once("error", (err: Error & { code?: string }) => {
|
|
33
|
+
if (err.code === "EADDRINUSE") {
|
|
34
|
+
reject(new Error(`Port ${port} is in use`));
|
|
35
|
+
} else {
|
|
36
|
+
reject(err);
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
server.once("listening", () => {
|
|
41
|
+
resolve(server);
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
server.listen(port);
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
await new Promise<void>((resolve) => {
|
|
48
|
+
server.close(() => resolve());
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
return port;
|
|
52
|
+
} catch {
|
|
53
|
+
maxAttempts--;
|
|
54
|
+
if (maxAttempts <= 0) {
|
|
55
|
+
break;
|
|
56
|
+
}
|
|
57
|
+
port = getRandomPort();
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
throw new Error("Could not find an available port after multiple attempts");
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export async function serveTestSuite(): Promise<ServeTestSuiteResult> {
|
|
65
|
+
registry.config.test = { ...registry.config.test, enabled: true };
|
|
66
|
+
registry.config.inspector = {
|
|
67
|
+
enabled: true,
|
|
68
|
+
token: () => "token",
|
|
69
|
+
};
|
|
70
|
+
const port = await getPort();
|
|
71
|
+
registry.config.managerPort = port;
|
|
72
|
+
registry.config.serverless = {
|
|
73
|
+
...registry.config.serverless,
|
|
74
|
+
publicEndpoint: `http://127.0.0.1:${port}`,
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
const driver = await createFileSystemOrMemoryDriver(
|
|
78
|
+
true,
|
|
79
|
+
`/tmp/rivetkit-test-suite-${crypto.randomUUID()}`,
|
|
80
|
+
);
|
|
81
|
+
registry.config.driver = driver;
|
|
82
|
+
|
|
83
|
+
let upgradeWebSocket: any;
|
|
84
|
+
|
|
85
|
+
const parsedConfig = registry.parseConfig();
|
|
86
|
+
const managerDriver = driver.manager?.(parsedConfig);
|
|
87
|
+
invariant(managerDriver, "missing manager driver");
|
|
88
|
+
const { router } = buildManagerRouter(
|
|
89
|
+
parsedConfig,
|
|
90
|
+
managerDriver,
|
|
91
|
+
() => upgradeWebSocket,
|
|
92
|
+
);
|
|
93
|
+
|
|
94
|
+
const nodeWebSocket = createNodeWebSocket({ app: router });
|
|
95
|
+
upgradeWebSocket = nodeWebSocket.upgradeWebSocket;
|
|
96
|
+
managerDriver.setGetUpgradeWebSocket(() => upgradeWebSocket);
|
|
97
|
+
|
|
98
|
+
const server = honoServe({
|
|
99
|
+
fetch: router.fetch,
|
|
100
|
+
hostname: "127.0.0.1",
|
|
101
|
+
port,
|
|
102
|
+
});
|
|
103
|
+
invariant(
|
|
104
|
+
nodeWebSocket.injectWebSocket !== undefined,
|
|
105
|
+
"should have injectWebSocket",
|
|
106
|
+
);
|
|
107
|
+
nodeWebSocket.injectWebSocket(server);
|
|
108
|
+
const endpoint = `http://127.0.0.1:${port}`;
|
|
109
|
+
|
|
110
|
+
logger().info({ msg: "test suite server listening", port });
|
|
111
|
+
|
|
112
|
+
return {
|
|
113
|
+
endpoint,
|
|
114
|
+
namespace: "default",
|
|
115
|
+
runnerName: "default",
|
|
116
|
+
close: async () => {
|
|
117
|
+
await new Promise((resolve) => server.close(() => resolve(undefined)));
|
|
118
|
+
},
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
async function runCli() {
|
|
123
|
+
const result = await serveTestSuite();
|
|
124
|
+
process.stdout.write(
|
|
125
|
+
`${JSON.stringify({
|
|
126
|
+
endpoint: result.endpoint,
|
|
127
|
+
namespace: result.namespace,
|
|
128
|
+
runnerName: result.runnerName,
|
|
129
|
+
})}\n`,
|
|
130
|
+
);
|
|
131
|
+
|
|
132
|
+
const shutdown = async () => {
|
|
133
|
+
await result.close();
|
|
134
|
+
process.exit(0);
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
process.on("SIGINT", shutdown);
|
|
138
|
+
process.on("SIGTERM", shutdown);
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
const mainPath = process.argv[1];
|
|
142
|
+
if (mainPath && mainPath === fileURLToPath(import.meta.url)) {
|
|
143
|
+
runCli().catch((err) => {
|
|
144
|
+
logger().error({ msg: "serve-test-suite failed", error: err });
|
|
145
|
+
process.exit(1);
|
|
146
|
+
});
|
|
147
|
+
}
|
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
// @generated - post-processed by compile-bare.ts
|
|
2
|
-
import * as bare from "@rivetkit/bare-ts";
|
|
3
|
-
const config = /* @__PURE__ */ bare.Config({});
|
|
4
|
-
export function readPersistedSubscription(bc) {
|
|
5
|
-
return {
|
|
6
|
-
eventName: bare.readString(bc),
|
|
7
|
-
};
|
|
8
|
-
}
|
|
9
|
-
export function writePersistedSubscription(bc, x) {
|
|
10
|
-
bare.writeString(bc, x.eventName);
|
|
11
|
-
}
|
|
12
|
-
function read0(bc) {
|
|
13
|
-
const len = bare.readUintSafe(bc);
|
|
14
|
-
if (len === 0) {
|
|
15
|
-
return [];
|
|
16
|
-
}
|
|
17
|
-
const result = [readPersistedSubscription(bc)];
|
|
18
|
-
for (let i = 1; i < len; i++) {
|
|
19
|
-
result[i] = readPersistedSubscription(bc);
|
|
20
|
-
}
|
|
21
|
-
return result;
|
|
22
|
-
}
|
|
23
|
-
function write0(bc, x) {
|
|
24
|
-
bare.writeUintSafe(bc, x.length);
|
|
25
|
-
for (let i = 0; i < x.length; i++) {
|
|
26
|
-
writePersistedSubscription(bc, x[i]);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
export function readPersistedConnection(bc) {
|
|
30
|
-
return {
|
|
31
|
-
id: bare.readString(bc),
|
|
32
|
-
token: bare.readString(bc),
|
|
33
|
-
parameters: bare.readData(bc),
|
|
34
|
-
state: bare.readData(bc),
|
|
35
|
-
subscriptions: read0(bc),
|
|
36
|
-
lastSeen: bare.readU64(bc),
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
export function writePersistedConnection(bc, x) {
|
|
40
|
-
bare.writeString(bc, x.id);
|
|
41
|
-
bare.writeString(bc, x.token);
|
|
42
|
-
bare.writeData(bc, x.parameters);
|
|
43
|
-
bare.writeData(bc, x.state);
|
|
44
|
-
write0(bc, x.subscriptions);
|
|
45
|
-
bare.writeU64(bc, x.lastSeen);
|
|
46
|
-
}
|
|
47
|
-
function read1(bc) {
|
|
48
|
-
return bare.readBool(bc)
|
|
49
|
-
? bare.readData(bc)
|
|
50
|
-
: null;
|
|
51
|
-
}
|
|
52
|
-
function write1(bc, x) {
|
|
53
|
-
bare.writeBool(bc, x !== null);
|
|
54
|
-
if (x !== null) {
|
|
55
|
-
bare.writeData(bc, x);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
export function readGenericPersistedScheduleEvent(bc) {
|
|
59
|
-
return {
|
|
60
|
-
action: bare.readString(bc),
|
|
61
|
-
args: read1(bc),
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
export function writeGenericPersistedScheduleEvent(bc, x) {
|
|
65
|
-
bare.writeString(bc, x.action);
|
|
66
|
-
write1(bc, x.args);
|
|
67
|
-
}
|
|
68
|
-
export function readPersistedScheduleEventKind(bc) {
|
|
69
|
-
const offset = bc.offset;
|
|
70
|
-
const tag = bare.readU8(bc);
|
|
71
|
-
switch (tag) {
|
|
72
|
-
case 0:
|
|
73
|
-
return { tag: "GenericPersistedScheduleEvent", val: readGenericPersistedScheduleEvent(bc) };
|
|
74
|
-
default: {
|
|
75
|
-
bc.offset = offset;
|
|
76
|
-
throw new bare.BareError(offset, "invalid tag");
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
export function writePersistedScheduleEventKind(bc, x) {
|
|
81
|
-
switch (x.tag) {
|
|
82
|
-
case "GenericPersistedScheduleEvent": {
|
|
83
|
-
bare.writeU8(bc, 0);
|
|
84
|
-
writeGenericPersistedScheduleEvent(bc, x.val);
|
|
85
|
-
break;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
export function readPersistedScheduleEvent(bc) {
|
|
90
|
-
return {
|
|
91
|
-
eventId: bare.readString(bc),
|
|
92
|
-
timestamp: bare.readU64(bc),
|
|
93
|
-
kind: readPersistedScheduleEventKind(bc),
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
export function writePersistedScheduleEvent(bc, x) {
|
|
97
|
-
bare.writeString(bc, x.eventId);
|
|
98
|
-
bare.writeU64(bc, x.timestamp);
|
|
99
|
-
writePersistedScheduleEventKind(bc, x.kind);
|
|
100
|
-
}
|
|
101
|
-
function read2(bc) {
|
|
102
|
-
const len = bare.readUintSafe(bc);
|
|
103
|
-
if (len === 0) {
|
|
104
|
-
return [];
|
|
105
|
-
}
|
|
106
|
-
const result = [readPersistedConnection(bc)];
|
|
107
|
-
for (let i = 1; i < len; i++) {
|
|
108
|
-
result[i] = readPersistedConnection(bc);
|
|
109
|
-
}
|
|
110
|
-
return result;
|
|
111
|
-
}
|
|
112
|
-
function write2(bc, x) {
|
|
113
|
-
bare.writeUintSafe(bc, x.length);
|
|
114
|
-
for (let i = 0; i < x.length; i++) {
|
|
115
|
-
writePersistedConnection(bc, x[i]);
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
function read3(bc) {
|
|
119
|
-
const len = bare.readUintSafe(bc);
|
|
120
|
-
if (len === 0) {
|
|
121
|
-
return [];
|
|
122
|
-
}
|
|
123
|
-
const result = [readPersistedScheduleEvent(bc)];
|
|
124
|
-
for (let i = 1; i < len; i++) {
|
|
125
|
-
result[i] = readPersistedScheduleEvent(bc);
|
|
126
|
-
}
|
|
127
|
-
return result;
|
|
128
|
-
}
|
|
129
|
-
function write3(bc, x) {
|
|
130
|
-
bare.writeUintSafe(bc, x.length);
|
|
131
|
-
for (let i = 0; i < x.length; i++) {
|
|
132
|
-
writePersistedScheduleEvent(bc, x[i]);
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
export function readPersistedActor(bc) {
|
|
136
|
-
return {
|
|
137
|
-
input: read1(bc),
|
|
138
|
-
hasInitialized: bare.readBool(bc),
|
|
139
|
-
state: bare.readData(bc),
|
|
140
|
-
connections: read2(bc),
|
|
141
|
-
scheduledEvents: read3(bc),
|
|
142
|
-
};
|
|
143
|
-
}
|
|
144
|
-
export function writePersistedActor(bc, x) {
|
|
145
|
-
write1(bc, x.input);
|
|
146
|
-
bare.writeBool(bc, x.hasInitialized);
|
|
147
|
-
bare.writeData(bc, x.state);
|
|
148
|
-
write2(bc, x.connections);
|
|
149
|
-
write3(bc, x.scheduledEvents);
|
|
150
|
-
}
|
|
151
|
-
export function encodePersistedActor(x) {
|
|
152
|
-
const bc = new bare.ByteCursor(new Uint8Array(config.initialBufferLength), config);
|
|
153
|
-
writePersistedActor(bc, x);
|
|
154
|
-
return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
|
|
155
|
-
}
|
|
156
|
-
export function decodePersistedActor(bytes) {
|
|
157
|
-
const bc = new bare.ByteCursor(bytes, config);
|
|
158
|
-
const result = readPersistedActor(bc);
|
|
159
|
-
if (bc.offset < bc.view.byteLength) {
|
|
160
|
-
throw new bare.BareError(bc.offset, "remaining bytes");
|
|
161
|
-
}
|
|
162
|
-
return result;
|
|
163
|
-
}
|
|
164
|
-
function assert(condition, message) {
|
|
165
|
-
if (!condition)
|
|
166
|
-
throw new Error(message ?? "Assertion failed");
|
|
167
|
-
}
|
|
@@ -1,200 +0,0 @@
|
|
|
1
|
-
// @generated - post-processed by compile-bare.ts
|
|
2
|
-
import * as bare from "@rivetkit/bare-ts";
|
|
3
|
-
const config = /* @__PURE__ */ bare.Config({});
|
|
4
|
-
export function readPersistedSubscription(bc) {
|
|
5
|
-
return {
|
|
6
|
-
eventName: bare.readString(bc),
|
|
7
|
-
};
|
|
8
|
-
}
|
|
9
|
-
export function writePersistedSubscription(bc, x) {
|
|
10
|
-
bare.writeString(bc, x.eventName);
|
|
11
|
-
}
|
|
12
|
-
function read0(bc) {
|
|
13
|
-
const len = bare.readUintSafe(bc);
|
|
14
|
-
if (len === 0) {
|
|
15
|
-
return [];
|
|
16
|
-
}
|
|
17
|
-
const result = [readPersistedSubscription(bc)];
|
|
18
|
-
for (let i = 1; i < len; i++) {
|
|
19
|
-
result[i] = readPersistedSubscription(bc);
|
|
20
|
-
}
|
|
21
|
-
return result;
|
|
22
|
-
}
|
|
23
|
-
function write0(bc, x) {
|
|
24
|
-
bare.writeUintSafe(bc, x.length);
|
|
25
|
-
for (let i = 0; i < x.length; i++) {
|
|
26
|
-
writePersistedSubscription(bc, x[i]);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
function read1(bc) {
|
|
30
|
-
return bare.readBool(bc)
|
|
31
|
-
? bare.readData(bc)
|
|
32
|
-
: null;
|
|
33
|
-
}
|
|
34
|
-
function write1(bc, x) {
|
|
35
|
-
bare.writeBool(bc, x !== null);
|
|
36
|
-
if (x !== null) {
|
|
37
|
-
bare.writeData(bc, x);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
export function readPersistedConnection(bc) {
|
|
41
|
-
return {
|
|
42
|
-
id: bare.readString(bc),
|
|
43
|
-
token: bare.readString(bc),
|
|
44
|
-
parameters: bare.readData(bc),
|
|
45
|
-
state: bare.readData(bc),
|
|
46
|
-
subscriptions: read0(bc),
|
|
47
|
-
lastSeen: bare.readI64(bc),
|
|
48
|
-
hibernatableRequestId: read1(bc),
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
export function writePersistedConnection(bc, x) {
|
|
52
|
-
bare.writeString(bc, x.id);
|
|
53
|
-
bare.writeString(bc, x.token);
|
|
54
|
-
bare.writeData(bc, x.parameters);
|
|
55
|
-
bare.writeData(bc, x.state);
|
|
56
|
-
write0(bc, x.subscriptions);
|
|
57
|
-
bare.writeI64(bc, x.lastSeen);
|
|
58
|
-
write1(bc, x.hibernatableRequestId);
|
|
59
|
-
}
|
|
60
|
-
export function readGenericPersistedScheduleEvent(bc) {
|
|
61
|
-
return {
|
|
62
|
-
action: bare.readString(bc),
|
|
63
|
-
args: read1(bc),
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
export function writeGenericPersistedScheduleEvent(bc, x) {
|
|
67
|
-
bare.writeString(bc, x.action);
|
|
68
|
-
write1(bc, x.args);
|
|
69
|
-
}
|
|
70
|
-
export function readPersistedScheduleEventKind(bc) {
|
|
71
|
-
const offset = bc.offset;
|
|
72
|
-
const tag = bare.readU8(bc);
|
|
73
|
-
switch (tag) {
|
|
74
|
-
case 0:
|
|
75
|
-
return { tag: "GenericPersistedScheduleEvent", val: readGenericPersistedScheduleEvent(bc) };
|
|
76
|
-
default: {
|
|
77
|
-
bc.offset = offset;
|
|
78
|
-
throw new bare.BareError(offset, "invalid tag");
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
export function writePersistedScheduleEventKind(bc, x) {
|
|
83
|
-
switch (x.tag) {
|
|
84
|
-
case "GenericPersistedScheduleEvent": {
|
|
85
|
-
bare.writeU8(bc, 0);
|
|
86
|
-
writeGenericPersistedScheduleEvent(bc, x.val);
|
|
87
|
-
break;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
export function readPersistedScheduleEvent(bc) {
|
|
92
|
-
return {
|
|
93
|
-
eventId: bare.readString(bc),
|
|
94
|
-
timestamp: bare.readI64(bc),
|
|
95
|
-
kind: readPersistedScheduleEventKind(bc),
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
|
-
export function writePersistedScheduleEvent(bc, x) {
|
|
99
|
-
bare.writeString(bc, x.eventId);
|
|
100
|
-
bare.writeI64(bc, x.timestamp);
|
|
101
|
-
writePersistedScheduleEventKind(bc, x.kind);
|
|
102
|
-
}
|
|
103
|
-
export function readPersistedHibernatableWebSocket(bc) {
|
|
104
|
-
return {
|
|
105
|
-
requestId: bare.readData(bc),
|
|
106
|
-
lastSeenTimestamp: bare.readI64(bc),
|
|
107
|
-
msgIndex: bare.readI64(bc),
|
|
108
|
-
};
|
|
109
|
-
}
|
|
110
|
-
export function writePersistedHibernatableWebSocket(bc, x) {
|
|
111
|
-
bare.writeData(bc, x.requestId);
|
|
112
|
-
bare.writeI64(bc, x.lastSeenTimestamp);
|
|
113
|
-
bare.writeI64(bc, x.msgIndex);
|
|
114
|
-
}
|
|
115
|
-
function read2(bc) {
|
|
116
|
-
const len = bare.readUintSafe(bc);
|
|
117
|
-
if (len === 0) {
|
|
118
|
-
return [];
|
|
119
|
-
}
|
|
120
|
-
const result = [readPersistedConnection(bc)];
|
|
121
|
-
for (let i = 1; i < len; i++) {
|
|
122
|
-
result[i] = readPersistedConnection(bc);
|
|
123
|
-
}
|
|
124
|
-
return result;
|
|
125
|
-
}
|
|
126
|
-
function write2(bc, x) {
|
|
127
|
-
bare.writeUintSafe(bc, x.length);
|
|
128
|
-
for (let i = 0; i < x.length; i++) {
|
|
129
|
-
writePersistedConnection(bc, x[i]);
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
function read3(bc) {
|
|
133
|
-
const len = bare.readUintSafe(bc);
|
|
134
|
-
if (len === 0) {
|
|
135
|
-
return [];
|
|
136
|
-
}
|
|
137
|
-
const result = [readPersistedScheduleEvent(bc)];
|
|
138
|
-
for (let i = 1; i < len; i++) {
|
|
139
|
-
result[i] = readPersistedScheduleEvent(bc);
|
|
140
|
-
}
|
|
141
|
-
return result;
|
|
142
|
-
}
|
|
143
|
-
function write3(bc, x) {
|
|
144
|
-
bare.writeUintSafe(bc, x.length);
|
|
145
|
-
for (let i = 0; i < x.length; i++) {
|
|
146
|
-
writePersistedScheduleEvent(bc, x[i]);
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
function read4(bc) {
|
|
150
|
-
const len = bare.readUintSafe(bc);
|
|
151
|
-
if (len === 0) {
|
|
152
|
-
return [];
|
|
153
|
-
}
|
|
154
|
-
const result = [readPersistedHibernatableWebSocket(bc)];
|
|
155
|
-
for (let i = 1; i < len; i++) {
|
|
156
|
-
result[i] = readPersistedHibernatableWebSocket(bc);
|
|
157
|
-
}
|
|
158
|
-
return result;
|
|
159
|
-
}
|
|
160
|
-
function write4(bc, x) {
|
|
161
|
-
bare.writeUintSafe(bc, x.length);
|
|
162
|
-
for (let i = 0; i < x.length; i++) {
|
|
163
|
-
writePersistedHibernatableWebSocket(bc, x[i]);
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
export function readPersistedActor(bc) {
|
|
167
|
-
return {
|
|
168
|
-
input: read1(bc),
|
|
169
|
-
hasInitialized: bare.readBool(bc),
|
|
170
|
-
state: bare.readData(bc),
|
|
171
|
-
connections: read2(bc),
|
|
172
|
-
scheduledEvents: read3(bc),
|
|
173
|
-
hibernatableWebSockets: read4(bc),
|
|
174
|
-
};
|
|
175
|
-
}
|
|
176
|
-
export function writePersistedActor(bc, x) {
|
|
177
|
-
write1(bc, x.input);
|
|
178
|
-
bare.writeBool(bc, x.hasInitialized);
|
|
179
|
-
bare.writeData(bc, x.state);
|
|
180
|
-
write2(bc, x.connections);
|
|
181
|
-
write3(bc, x.scheduledEvents);
|
|
182
|
-
write4(bc, x.hibernatableWebSockets);
|
|
183
|
-
}
|
|
184
|
-
export function encodePersistedActor(x) {
|
|
185
|
-
const bc = new bare.ByteCursor(new Uint8Array(config.initialBufferLength), config);
|
|
186
|
-
writePersistedActor(bc, x);
|
|
187
|
-
return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
|
|
188
|
-
}
|
|
189
|
-
export function decodePersistedActor(bytes) {
|
|
190
|
-
const bc = new bare.ByteCursor(bytes, config);
|
|
191
|
-
const result = readPersistedActor(bc);
|
|
192
|
-
if (bc.offset < bc.view.byteLength) {
|
|
193
|
-
throw new bare.BareError(bc.offset, "remaining bytes");
|
|
194
|
-
}
|
|
195
|
-
return result;
|
|
196
|
-
}
|
|
197
|
-
function assert(condition, message) {
|
|
198
|
-
if (!condition)
|
|
199
|
-
throw new Error(message ?? "Assertion failed");
|
|
200
|
-
}
|