mirror of
https://wget.la/https://github.com/leookun/cursor-byok
synced 2026-08-17 03:27:02 +08:00
35 lines
1.2 KiB
Go
35 lines
1.2 KiB
Go
// module.go 负责把 forwarder service 装配成 legacy HTTP/Connect handler。
|
|
package forwarder
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
"connectrpc.com/connect"
|
|
|
|
modeladapter "cursor/internal/backend/agent/model"
|
|
)
|
|
|
|
type Module struct {
|
|
Service *Service
|
|
LocalBidiHandler http.Handler
|
|
LocalRunSSE http.Handler
|
|
AiHandler http.Handler
|
|
RepositoryServiceHandler http.Handler
|
|
UploadServiceHandler http.Handler
|
|
}
|
|
|
|
// NewModule 创建 forwarder 模块,并导出本地 Bidi / RunSSE 处理器。
|
|
func NewModule(historyRoot string, channelService modeladapter.ChannelResolver) *Module {
|
|
service := NewService(historyRoot, channelService)
|
|
legacyBidiAppendProcedure := "/aiserver.v1.BidiService/BidiAppend"
|
|
legacyRunSSEProcedure := "/agent.v1.AgentService/RunSSE"
|
|
return &Module{
|
|
Service: service,
|
|
LocalBidiHandler: connect.NewUnaryHandler(legacyBidiAppendProcedure, service.BidiAppend),
|
|
LocalRunSSE: NewLegacyRunSSEHandler(legacyRunSSEProcedure, service.RunSSE),
|
|
AiHandler: newAIHandler(service),
|
|
RepositoryServiceHandler: newRepositoryServiceHandler(service),
|
|
UploadServiceHandler: newUploadServiceHandler(service),
|
|
}
|
|
}
|