extractRoomInfo 提取 Room 协作信息
()
| 675 | |
| 676 | // extractRoomInfo 提取 Room 协作信息 |
| 677 | func (a *Agent) extractRoomInfo() *RoomCollaborationInfo { |
| 678 | if a.config.Metadata == nil { |
| 679 | return nil |
| 680 | } |
| 681 | |
| 682 | roomID, ok := a.config.Metadata["room_id"].(string) |
| 683 | if !ok || roomID == "" { |
| 684 | return nil |
| 685 | } |
| 686 | |
| 687 | info := &RoomCollaborationInfo{ |
| 688 | RoomID: roomID, |
| 689 | } |
| 690 | |
| 691 | if memberCount, ok := a.config.Metadata["room_member_count"].(int); ok { |
| 692 | info.MemberCount = memberCount |
| 693 | } |
| 694 | |
| 695 | if members, ok := a.config.Metadata["room_members"].([]string); ok { |
| 696 | info.Members = members |
| 697 | } else if membersInterface, ok := a.config.Metadata["room_members"].([]any); ok { |
| 698 | info.Members = make([]string, 0, len(membersInterface)) |
| 699 | for _, m := range membersInterface { |
| 700 | if str, ok := m.(string); ok { |
| 701 | info.Members = append(info.Members, str) |
| 702 | } |
| 703 | } |
| 704 | } |
| 705 | |
| 706 | return info |
| 707 | } |
| 708 | |
| 709 | // extractWorkflowInfo 提取 Workflow 上下文信息 |
| 710 | func (a *Agent) extractWorkflowInfo() *WorkflowContextInfo { |