11import { afterEach , describe , expect , mock , test } from "bun:test"
22import { APICallError } from "ai"
3- import { Cause , Effect , Exit , Layer , ManagedRuntime } from "effect"
3+ import { Cause , Deferred , Effect , Exit , Layer , ManagedRuntime } from "effect"
44import * as Stream from "effect/Stream"
55import z from "zod"
66import { Bus } from "../../src/bus"
@@ -890,12 +890,12 @@ describe("session.compaction.process", () => {
890890 const session = yield * ssn . create ( { } )
891891 const msg = yield * createUserMessage ( session . id , "hello" )
892892 const msgs = yield * ssn . messages ( { sessionID : session . id } )
893- const done = defer ( )
893+ const done = yield * Deferred . make < void , Error > ( )
894894 let seen = false
895895 const unsub = yield * bus . subscribeCallback ( SessionCompaction . Event . Compacted , ( evt ) => {
896896 if ( evt . properties . sessionID !== session . id ) return
897897 seen = true
898- done . resolve ( )
898+ Deferred . doneUnsafe ( done , Effect . void )
899899 } )
900900 yield * Effect . addFinalizer ( ( ) => Effect . sync ( unsub ) )
901901
@@ -906,14 +906,7 @@ describe("session.compaction.process", () => {
906906 auto : false ,
907907 } )
908908
909- yield * Effect . promise ( ( ) =>
910- Promise . race ( [
911- done . promise ,
912- wait ( 500 ) . then ( ( ) => {
913- throw new Error ( "timed out waiting for compacted event" )
914- } ) ,
915- ] ) ,
916- )
909+ yield * Deferred . await ( done ) . pipe ( Effect . timeout ( "500 millis" ) )
917910 expect ( result ) . toBe ( "continue" )
918911 expect ( seen ) . toBe ( true )
919912 } ) ,
0 commit comments