@@ -2,13 +2,14 @@ import { tool } from '@openai/agents'
22import { repository } from '@roll-stack/database'
33import { z } from 'zod'
44
5- export const getPartnersTool = tool ( {
6- name : 'get_all_partners ' ,
7- description : 'Get all partners' ,
5+ export const getPartnersCountTool = tool ( {
6+ name : 'get_partners_count ' ,
7+ description : 'Get the number of partners' ,
88 needsApproval : false ,
99 parameters : z . object ( { } ) ,
1010 execute : async ( ) => {
11- return repository . partner . list ( )
11+ const partners = await repository . partner . list ( )
12+ return partners . length
1213 } ,
1314} )
1415
@@ -21,7 +22,19 @@ export const getPartnersByCityTool = tool({
2122 } ) ,
2223 execute : async ( { city } ) => {
2324 const partners = await repository . partner . list ( )
24-
2525 return partners . filter ( ( partner ) => partner . city ?. toLowerCase ( ) . includes ( city . toLowerCase ( ) ) )
2626 } ,
2727} )
28+
29+ export const getPartnersBySurnameTool = tool ( {
30+ name : 'get_partners_by_surname' ,
31+ description : 'Get partners filtered by surname using case-insensitive partial matching' ,
32+ needsApproval : false ,
33+ parameters : z . object ( {
34+ surname : z . string ( ) ,
35+ } ) ,
36+ execute : async ( { surname } ) => {
37+ const partners = await repository . partner . list ( )
38+ return partners . filter ( ( partner ) => partner . surname ?. toLowerCase ( ) . includes ( surname . toLowerCase ( ) ) )
39+ } ,
40+ } )
0 commit comments