mirror of
https://github.com/laoxong/nofx.git
synced 2026-06-04 01:48:22 +08:00
3ca95b294d
* feat: integrate NOFXi agent into dev * Enhance NOFXi agent workflow and diagnostics
27 lines
1.1 KiB
Go
27 lines
1.1 KiB
Go
package api
|
|
|
|
import (
|
|
"nofx/agent"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// RegisterAgentHandler registers NOFXi agent API routes on the main router.
|
|
// Chat endpoint requires authentication; market data endpoints are public.
|
|
func (s *Server) RegisterAgentHandler(h *agent.WebHandler) {
|
|
// Chat requires auth — can trigger trades and access account data
|
|
s.router.POST("/api/agent/chat", s.authMiddleware(), func(c *gin.Context) {
|
|
req := c.Request.WithContext(agent.WithStoreUserID(c.Request.Context(), c.GetString("user_id")))
|
|
h.HandleChat(c.Writer, req)
|
|
})
|
|
s.router.POST("/api/agent/chat/stream", s.authMiddleware(), func(c *gin.Context) {
|
|
req := c.Request.WithContext(agent.WithStoreUserID(c.Request.Context(), c.GetString("user_id")))
|
|
h.HandleChatStream(c.Writer, req)
|
|
})
|
|
// Public endpoints — read-only market data
|
|
s.router.GET("/api/agent/health", gin.WrapF(h.HandleHealth))
|
|
s.router.GET("/api/agent/klines", gin.WrapF(h.HandleKlines))
|
|
s.router.GET("/api/agent/ticker", gin.WrapF(h.HandleTicker))
|
|
s.router.GET("/api/agent/tickers", gin.WrapF(h.HandleTickers))
|
|
}
|