MCPcopy Create free account
hub / github.com/aurora-develop/aurora / nightmare

Method nightmare

initialize/handlers.go:259–443  ·  view source on GitHub ↗
(c *gin.Context)

Source from the content-addressed store, hash-verified

257}
258
259func (h *Handler) nightmare(c *gin.Context) {
260 var original_request officialtypes.APIRequest
261 err := c.BindJSON(&original_request)
262 if err != nil {
263 c.JSON(400, gin.H{"error": gin.H{
264 "message": "Request must be proper JSON",
265 "type": "invalid_request_error",
266 "param": nil,
267 "code": err.Error(),
268 }})
269 return
270 }
271 if len(original_request.Messages) == 0 {
272 c.JSON(400, gin.H{"error": gin.H{
273 "message": "Missing required parameter: messages",
274 "type": "invalid_request_error",
275 "param": "messages",
276 "code": "missing_required_parameter",
277 }})
278 return
279 }
280 proxyUrl := h.proxy.GetProxyIP()
281 input_tokens := countMessagesTokens(original_request.Messages)
282 secret, status, err := h.secretFromAuthorization(c, original_requestHasFiles(original_request), false, proxyUrl)
283 if err != nil {
284 c.JSON(status, gin.H{"error": gin.H{
285 "message": err.Error(),
286 "type": "authorization_error",
287 "param": "Authorization",
288 "code": status,
289 }})
290 return
291 }
292 if secret == nil {
293 c.JSON(400, gin.H{"error": "Not Account Found."})
294 c.Abort()
295 return
296 }
297
298 uid := uuid.NewString()
299 client := bogdanfinn.NewStdClient()
300
301 // 工具调用模式判定:客户端声明了 tools 且未被显式禁用。
302 // 启用时强制 stream=false(sandbox 重试需要缓冲);走独立 handleToolCalling 路径。
303 toolsEnabled := toolCallingEnabled(original_request.Tools)
304 if toolsEnabled && os.Getenv("STREAM_MODE") != "false" {
305 original_request.Stream = false
306 }
307
308 // Convert the chat request to a ChatGPT request
309 translated_request := chatgptrequestconverter.ConvertAPIRequest(original_request, secret, proxyUrl, client)
310
311 // 按 conversationID 复用 ChatClientState,保持 DeviceID/SessionID 一致
312 var clientState *chatgpt.ChatClientState
313 if translated_request.ConversationID != "" {
314 clientState = h.sessions.Get(translated_request.ConversationID)
315 }
316 if clientState == nil {

Callers

nothing calls this directly

Calls 15

handleToolCallingMethod · 0.95
NoteTurnResultMethod · 0.95
StringMethod · 0.95
NewStdClientFunction · 0.92
CountTokenFunction · 0.92
countMessagesTokensFunction · 0.85
original_requestHasFilesFunction · 0.85
toolCallingEnabledFunction · 0.85
GetProxyIPMethod · 0.80

Tested by

no test coverage detected