@@ -26,6 +26,7 @@ import { errors } from "../error"
2626import { lazy } from "../../util/lazy"
2727import { Bus } from "../../bus"
2828import { NamedError } from "@opencode-ai/shared/util/error"
29+ import { jsonRequest } from "./trace"
2930
3031const log = Log . create ( { service : "server" } )
3132
@@ -94,10 +95,11 @@ export const SessionRoutes = lazy(() =>
9495 ...errors ( 400 ) ,
9596 } ,
9697 } ) ,
97- async ( c ) => {
98- const result = await AppRuntime . runPromise ( SessionStatus . Service . use ( ( svc ) => svc . list ( ) ) )
99- return c . json ( Object . fromEntries ( result ) )
100- } ,
98+ async ( c ) =>
99+ jsonRequest ( "SessionRoutes.status" , c , function * ( ) {
100+ const svc = yield * SessionStatus . Service
101+ return Object . fromEntries ( yield * svc . list ( ) )
102+ } ) ,
101103 )
102104 . get (
103105 "/:sessionID" ,
@@ -126,8 +128,10 @@ export const SessionRoutes = lazy(() =>
126128 ) ,
127129 async ( c ) => {
128130 const sessionID = c . req . valid ( "param" ) . sessionID
129- const session = await AppRuntime . runPromise ( Session . Service . use ( ( svc ) => svc . get ( sessionID ) ) )
130- return c . json ( session )
131+ return jsonRequest ( "SessionRoutes.get" , c , function * ( ) {
132+ const session = yield * Session . Service
133+ return yield * session . get ( sessionID )
134+ } )
131135 } ,
132136 )
133137 . get (
@@ -157,8 +161,10 @@ export const SessionRoutes = lazy(() =>
157161 ) ,
158162 async ( c ) => {
159163 const sessionID = c . req . valid ( "param" ) . sessionID
160- const session = await AppRuntime . runPromise ( Session . Service . use ( ( svc ) => svc . children ( sessionID ) ) )
161- return c . json ( session )
164+ return jsonRequest ( "SessionRoutes.children" , c , function * ( ) {
165+ const session = yield * Session . Service
166+ return yield * session . children ( sessionID )
167+ } )
162168 } ,
163169 )
164170 . get (
@@ -187,8 +193,10 @@ export const SessionRoutes = lazy(() =>
187193 ) ,
188194 async ( c ) => {
189195 const sessionID = c . req . valid ( "param" ) . sessionID
190- const todos = await AppRuntime . runPromise ( Todo . Service . use ( ( svc ) => svc . get ( sessionID ) ) )
191- return c . json ( todos )
196+ return jsonRequest ( "SessionRoutes.todo" , c , function * ( ) {
197+ const todo = yield * Todo . Service
198+ return yield * todo . get ( sessionID )
199+ } )
192200 } ,
193201 )
194202 . post (
0 commit comments