func SendAgentMessage()

in client.go [113:139]


func SendAgentMessage(ctx context.Context, channelID string, client *agentcommunication.Client, msg *acpb.MessageBody) (*acpb.SendAgentMessageResponse, error) {
	loggerPrintf("SendAgentMessage")
	resourceID, err := getResourceID()
	if err != nil {
		return nil, err
	}

	token, err := getIdentityToken()
	if err != nil {
		return nil, fmt.Errorf("%w: %v", ErrGettingInstanceToken, err)
	}

	ctx = metadata.NewOutgoingContext(ctx, metadata.New(map[string]string{
		"authentication":                  "Bearer " + token,
		"agent-communication-resource-id": resourceID,
		"agent-communication-channel-id":  channelID,
	}))

	loggerPrintf("Using ResourceID %q", resourceID)
	loggerPrintf("Using ChannelID %q", channelID)

	return client.SendAgentMessage(ctx, &acpb.SendAgentMessageRequest{
		ChannelId:   channelID,
		ResourceId:  resourceID,
		MessageBody: msg,
	})
}