| import { getTeamById, getTeamMembers } from "@midday/db/queries"; |
| import { hasScope, READ_ONLY_ANNOTATIONS, type RegisterTools } from "../types"; |
|
|
| export const registerTeamTools: RegisterTools = (server, ctx) => { |
| const { db, teamId } = ctx; |
|
|
| |
| if (!hasScope(ctx, "teams.read")) { |
| return; |
| } |
| server.registerTool( |
| "team_get", |
| { |
| title: "Get Team Info", |
| description: |
| "Get information about the current team including name, settings, and base currency.", |
| inputSchema: {}, |
| annotations: READ_ONLY_ANNOTATIONS, |
| }, |
| async () => { |
| const result = await getTeamById(db, teamId); |
|
|
| if (!result) { |
| return { |
| content: [{ type: "text", text: "Team not found" }], |
| isError: true, |
| }; |
| } |
|
|
| return { |
| content: [{ type: "text", text: JSON.stringify(result, null, 2) }], |
| }; |
| }, |
| ); |
|
|
| server.registerTool( |
| "team_members", |
| { |
| title: "List Team Members", |
| description: "List all members of the current team with their roles.", |
| inputSchema: {}, |
| annotations: READ_ONLY_ANNOTATIONS, |
| }, |
| async () => { |
| const result = await getTeamMembers(db, teamId); |
|
|
| return { |
| content: [{ type: "text", text: JSON.stringify(result, null, 2) }], |
| }; |
| }, |
| ); |
| }; |
|
|