@@ -3,6 +3,7 @@ import type { ExecutionContext } from "hono";
33import invariant from "invariant" ;
44import type { ActorKey , ActorRouter , Registry , RunConfig } from "rivetkit" ;
55import { createActorRouter , createClientWithDriver } from "rivetkit" ;
6+ import type { ActorDriver } from "rivetkit/driver-helpers" ;
67import { serializeEmptyPersistData } from "rivetkit/driver-helpers" ;
78import {
89 CloudflareDurableObjectGlobalState ,
@@ -38,6 +39,7 @@ export type DurableObjectConstructor = new (
3839
3940interface LoadedActor {
4041 actorRouter : ActorRouter ;
42+ actorDriver : ActorDriver ;
4143}
4244
4345export function createActorDurableObject (
@@ -135,6 +137,7 @@ export function createActorDurableObject(
135137 // Save actor
136138 this . #actor = {
137139 actorRouter,
140+ actorDriver,
138141 } ;
139142
140143 // Initialize the actor instance with proper metadata
@@ -174,23 +177,9 @@ export function createActorDurableObject(
174177 }
175178
176179 async alarm ( ) : Promise < void > {
177- await this . #loadActor( ) ;
180+ const { actorDriver } = await this . #loadActor( ) ;
178181 const actorId = this . ctx . id . toString ( ) ;
179182
180- // Get the actor driver
181- invariant ( runConfig . driver , "runConfig.driver" ) ;
182- const managerDriver = runConfig . driver . manager (
183- registry . config ,
184- runConfig ,
185- ) ;
186- const inlineClient = createClientWithDriver ( managerDriver ) ;
187- const actorDriver = runConfig . driver . actor (
188- registry . config ,
189- runConfig ,
190- managerDriver ,
191- inlineClient ,
192- ) ;
193-
194183 // Load the actor instance and trigger alarm
195184 const actor = await actorDriver . loadActor ( actorId ) ;
196185 await actor . _onAlarm ( ) ;
0 commit comments