| parseMcpSearchResult(McpSchema.CallToolResult, boolean) |  | 0% |  | 0% | 13 | 13 | 46 | 46 | 1 | 1 |
| buildMcpSearchArguments(ProfileSearchCriteria, int, int) |  | 0% |  | 0% | 12 | 12 | 43 | 43 | 1 | 1 |
| searchFreelancersViaMcp(McpSyncClient, ProfileSearchCriteria, int, int) |  | 0% |  | 0% | 4 | 4 | 17 | 17 | 1 | 1 |
| searchFreelancersViaDb(ProfileSearchCriteria, int, int) |  | 0% | | n/a | 1 | 1 | 16 | 16 | 1 | 1 |
| searchFreelancers(ProfileSearchCriteria, int, int) |  | 0% |  | 0% | 2 | 2 | 12 | 12 | 1 | 1 |
| lambda$searchFreelancersViaDb$0(ProfileSearchCriteria, Map, ProfileSearchQueryService.1Row) |  | 0% |  | 0% | 3 | 3 | 9 | 9 | 1 | 1 |
| resolveOrderBy(String, String) |  | 0% |  | 0% | 8 | 8 | 9 | 9 | 1 | 1 |
| lambda$searchFreelancersViaMcp$0(McpSchema.Tool) |  | 0% |  | 0% | 3 | 3 | 2 | 2 | 1 | 1 |
| buildLlmContext(String) |   | 94% |   | 83% | 1 | 4 | 3 | 36 | 0 | 1 |
| findTagsByFreelancerIdsInBatch(List) |  | 100% |  | 100% | 0 | 2 | 0 | 9 | 0 | 1 |
| findFreelancersByCodesInBatch(List) |  | 100% |  | 100% | 0 | 2 | 0 | 8 | 0 | 1 |
| findChatsByUser(String, int, int) |  | 100% | | n/a | 0 | 1 | 0 | 6 | 0 | 1 |
| ProfileSearchQueryService(JdbcClient, McpClientFactory, McpConnectionProperties, ObjectMapper) |  | 100% | | n/a | 0 | 1 | 0 | 6 | 0 | 1 |
| countChatsByUser(String) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| findMessagesByChat(Long) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| findLatestChatByUser(String) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| lambda$findTagsByFreelancerIdsInBatch$0(ProfileSearchQueryService.1TagRow) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$findFreelancersByCodesInBatch$0(FreelancerBatchRow) | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |