Skip to content
This repository was archived by the owner on Oct 22, 2025. It is now read-only.

Commit 7a8d1a9

Browse files
committed
chore(core): update keys -> key
1 parent 7ff83e6 commit 7a8d1a9

File tree

5 files changed

+16
-22
lines changed

5 files changed

+16
-22
lines changed

packages/core/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@
172172
"@hono/node-server": "^1.18.2",
173173
"@hono/node-ws": "^1.1.1",
174174
"@rivet-gg/actor-core": "^25.1.0",
175-
"@rivetkit/engine-runner": "https://pkg.pr.new/rivet-gg/engine/@rivetkit/engine-runner@7f23f3a",
175+
"@rivetkit/engine-runner": "https://pkg.pr.new/rivet-gg/engine/@rivetkit/engine-runner@f8860f3",
176176
"@types/invariant": "^2",
177177
"@types/node": "^22.13.1",
178178
"@types/ws": "^8",

packages/core/src/drivers/engine/actor-driver.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,10 @@ export class EngineActorDriver implements ActorDriver {
178178
// TODO: Use alarm on sleep
179179
// TODO: Send alarm to runner
180180

181-
throw new Error("Alarms not implemented for engine driver");
181+
const delay = Math.max(timestamp - Date.now(), 0);
182+
setTimeout(() => {
183+
actor.onAlarm();
184+
}, delay);
182185
}
183186

184187
async getDatabase(_actorId: string): Promise<unknown | undefined> {

packages/core/src/drivers/engine/api-endpoints.ts

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,16 @@
1-
import { CreateRequest } from "@/client/mod";
21
import { apiCall } from "./api-utils";
32
import type { Config } from "./config";
43
import { serializeActorKey } from "./keys";
54

65
// MARK: Common types
76
export type RivetId = string;
87

9-
export interface ActorLifecycle {
10-
kill_timeout_ms: number;
11-
durable: boolean;
12-
}
13-
148
export interface Actor {
159
actor_id: RivetId;
1610
name: string;
17-
keys: string[];
11+
key: string;
1812
namespace_id: RivetId;
1913
runner_name_selector: string;
20-
lifecycle: ActorLifecycle;
2114
create_ts: number;
2215
connectable_ts?: number | null;
2316
destroy_ts?: number | null;
@@ -46,9 +39,9 @@ export interface ActorsGetOrCreateByIdResponse {
4639
export interface ActorsCreateRequest {
4740
name: string;
4841
runner_name_selector: string;
49-
keys?: string[] | null;
42+
crash_policy: string;
43+
key?: string | null;
5044
input?: string | null;
51-
durable?: boolean | null;
5245
}
5346

5447
export interface ActorsCreateResponse {
@@ -86,10 +79,10 @@ export async function getActorById(
8679
// MARK: Get or create actor by id
8780
export interface ActorsGetOrCreateByIdRequest {
8881
name: string;
89-
keys: string[];
82+
key: string;
9083
runner_name_selector: string;
84+
crash_policy: "restart";
9185
input?: string | null;
92-
durable?: boolean | null;
9386
}
9487

9588
export async function getOrCreateActorById(

packages/core/src/drivers/engine/manager-driver.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ export class EngineManagerDriver implements ManagerDriver {
157157
return undefined;
158158
}
159159

160-
const keyRaw = response.actor.keys[0];
160+
const keyRaw = response.actor.key;
161161
invariant(keyRaw, `actor ${actorId} should have key`);
162162
const key = deserializeActorKey(keyRaw);
163163

@@ -233,10 +233,10 @@ export class EngineManagerDriver implements ManagerDriver {
233233

234234
const response = await getOrCreateActorById(this.#config, {
235235
name,
236-
keys: [serializeActorKey(key)],
236+
key: serializeActorKey(key),
237237
runner_name_selector: this.#config.runnerName,
238238
input: input ? cbor.encode(actorInput).toString("base64") : undefined,
239-
durable: true,
239+
crash_policy: "restart",
240240
});
241241

242242
const actorId = response.actor_id;
@@ -273,9 +273,9 @@ export class EngineManagerDriver implements ManagerDriver {
273273
const result = await createActor(this.#config, {
274274
name,
275275
runner_name_selector: this.#config.runnerName,
276-
keys: [serializeActorKey(key)],
276+
key: serializeActorKey(key),
277277
input: input ? cbor.encode(input).toString("base64") : null,
278-
durable: true,
278+
crash_policy: "restart",
279279
});
280280
const actorId = result.actor.actor_id;
281281

packages/core/tsup.config.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
import { defineConfig } from "tsup";
22
import defaultConfig from "../../tsup.base.ts";
33

4-
export default defineConfig({
5-
...defaultConfig,
6-
});
4+
export default defineConfig(defaultConfig);

0 commit comments

Comments
 (0)