MCPcopy Create free account
hub / github.com/53AI/53AIHub / sendOutputFilesStep

Function sendOutputFilesStep

api/controller/relay/relay_agent.go:4376–4409  ·  view source on GitHub ↗

sendOutputFilesStep 向客户端发送 AI 上传文件信息的 process.step 事件

(c *gin.Context, ctx context.Context, requestId string, files []*model.UploadFile, messageStatus *MessageStatsInfo, emitToClient bool)

Source from the content-addressed store, hash-verified

4374
4375// sendOutputFilesStep 向客户端发送 AI 上传文件信息的 process.step 事件
4376func sendOutputFilesStep(c *gin.Context, ctx context.Context, requestId string, files []*model.UploadFile, messageStatus *MessageStatsInfo, emitToClient bool) {
4377 if len(files) == 0 {
4378 return
4379 }
4380 fileItems := buildOutputFileItems(files)
4381 mediaItems := buildMediaAttachmentItems(files)
4382 fileStep := ProcessStep{
4383 StepCode: "output_files",
4384 Name: "生成文件",
4385 Status: "completed",
4386 Message: fmt.Sprintf("生成了 %d 个文件", len(files)),
4387 Data: map[string]interface{}{
4388 "files": fileItems,
4389 "contract_version": outputFilesContractVersion,
4390 "media_attachments": mediaItems,
4391 "media_contract_version": mediaAttachmentsContractVersion,
4392 },
4393 Timestamp: time.Now().Unix(),
4394 }
4395 fileNames := make([]string, 0, len(files))
4396 for _, f := range files {
4397 fileNames = append(fileNames, f.FileName)
4398 }
4399 if messageStatus != nil {
4400 recordProcessStepForHistory(ctx, config.GetEID(c), messageStatus, requestId, fileStep)
4401 }
4402 if !emitToClient {
4403 return
4404 }
4405 logger.Debugf(ctx, "【技能运行】发送输出文件步骤: request_id=%s, file_count=%d, file_names=%v", requestId, len(files), fileNames)
4406 if err := sendProcessStep(c, requestId, fileStep); err != nil {
4407 logger.Warnf(ctx, "Failed to send output files step: %v", err)
4408 }
4409}

Callers 1

runAgentLoopFunction · 0.85

Calls 7

buildOutputFileItemsFunction · 0.85
sendProcessStepFunction · 0.85
GetEIDMethod · 0.80
DebugfMethod · 0.80
WarnfMethod · 0.80

Tested by

no test coverage detected