@@ -25,6 +25,7 @@ import { SessionID } from "@/session/schema"
2525import { errorData } from "@/util/error"
2626import { waitEvent } from "./util"
2727import { WorkspaceContext } from "./workspace-context"
28+ import { EffectBridge } from "@/effect/bridge"
2829import { NonNegativeInt , withStatics } from "@/util/schema"
2930import { zod as effectZod , zodObject } from "@/util/effect-zod"
3031
@@ -336,7 +337,7 @@ export const layer = Layer.effect(
336337
337338 const syncWorkspaceLoop = Effect . fn ( "Workspace.syncWorkspaceLoop" ) ( function * ( space : Info ) {
338339 const adapter = getAdapter ( space . projectID , space . type )
339- const target = yield * Effect . promise ( ( ) => Promise . resolve ( adapter . target ( space ) ) )
340+ const target = yield * EffectBridge . fromPromise ( ( ) => adapter . target ( space ) )
340341
341342 if ( target . type === "local" ) return
342343
@@ -420,7 +421,7 @@ export const layer = Layer.effect(
420421 if ( ! Flag . OPENCODE_EXPERIMENTAL_WORKSPACES ) return
421422
422423 const adapter = getAdapter ( space . projectID , space . type )
423- const target = yield * Effect . promise ( ( ) => Promise . resolve ( adapter . target ( space ) ) )
424+ const target = yield * EffectBridge . fromPromise ( ( ) => adapter . target ( space ) )
424425
425426 if ( target . type === "local" ) {
426427 setStatus ( space . id , ( yield * Effect . promise ( ( ) => Filesystem . exists ( target . directory ) ) ) ? "connected" : "error" )
@@ -459,8 +460,8 @@ export const layer = Layer.effect(
459460 const create = Effect . fn ( "Workspace.create" ) ( function * ( input : CreateInput ) {
460461 const id = WorkspaceID . ascending ( input . id )
461462 const adapter = getAdapter ( input . projectID , input . type )
462- const config = yield * Effect . promise ( ( ) =>
463- Promise . resolve ( adapter . configure ( { ...input , id, name : Slug . create ( ) , directory : null } ) ) ,
463+ const config = yield * EffectBridge . fromPromise ( ( ) =>
464+ adapter . configure ( { ...input , id, name : Slug . create ( ) , directory : null } ) ,
464465 )
465466
466467 const info : Info = {
@@ -496,7 +497,7 @@ export const layer = Layer.effect(
496497 OTEL_RESOURCE_ATTRIBUTES : process . env . OTEL_RESOURCE_ATTRIBUTES ,
497498 }
498499
499- yield * Effect . promise ( ( ) => adapter . create ( config , env ) )
500+ yield * EffectBridge . fromPromise ( ( ) => adapter . create ( config , env ) )
500501 yield * Effect . all (
501502 [
502503 waitEvent ( {
@@ -532,7 +533,7 @@ export const layer = Layer.effect(
532533 } )
533534
534535 const adapter = getAdapter ( space . projectID , space . type )
535- const target = yield * Effect . promise ( ( ) => Promise . resolve ( adapter . target ( space ) ) )
536+ const target = yield * EffectBridge . fromPromise ( ( ) => adapter . target ( space ) )
536537
537538 yield * sync . run ( Session . Event . Updated , {
538539 sessionID : input . sessionID ,
@@ -724,10 +725,10 @@ export const layer = Layer.effect(
724725 yield * stopSync ( id )
725726
726727 const info = fromRow ( row )
727- yield * Effect . catch (
728+ yield * Effect . catchCause (
728729 Effect . gen ( function * ( ) {
729730 const adapter = getAdapter ( info . projectID , row . type )
730- yield * Effect . tryPromise ( ( ) => Promise . resolve ( adapter . remove ( info ) ) )
731+ yield * EffectBridge . fromPromise ( ( ) => adapter . remove ( info ) )
731732 } ) ,
732733 ( ) =>
733734 Effect . sync ( ( ) => {
0 commit comments