feat: 扩展 Agent 业务查询与学生增改工具

This commit is contained in:
2026-08-04 14:41:59 +08:00
parent 216a20ffaf
commit 3a1ed717d8
23 changed files with 1630 additions and 2 deletions

View File

@@ -16,6 +16,22 @@ import { SearchRoomsTool } from './tools/search-rooms.tool';
import { GetRoomOccupancySummaryTool } from './tools/get-room-occupancy-summary.tool';
import { SearchBillsTool } from './tools/search-bills.tool';
import { GetDashboardStatsTool } from './tools/get-dashboard-stats.tool';
import { CreateStudentTool } from './tools/create-student.tool';
import { UpdateStudentsTool } from './tools/update-students.tool';
import { SearchExamsTool } from './tools/search-exams.tool';
import { SearchSchedulesTool } from './tools/search-schedules.tool';
import { SearchDepositsTool } from './tools/search-deposits.tool';
import { SearchExpensesTool } from './tools/search-expenses.tool';
import { SearchClassroomsTool } from './tools/search-classrooms.tool';
import { SearchClassroomRentalsTool } from './tools/search-classroom-rentals.tool';
import { GetSyncStatusTool } from './tools/get-sync-status.tool';
import { ExamsModule } from '../exams/exams.module';
import { SchedulesModule } from '../schedules/schedules.module';
import { DepositsModule } from '../deposits/deposits.module';
import { ExpensesModule } from '../expenses/expenses.module';
import { ClassroomsModule } from '../classrooms/classrooms.module';
import { ClassroomRentalsModule } from '../classroom-rentals/classroom-rentals.module';
import { SyncModule } from '../sync/sync.module';
/**
* Agent Tools feature module.
@@ -32,7 +48,21 @@ import { GetDashboardStatsTool } from './tools/get-dashboard-stats.tool';
* globally available `AuthorizationModule` and `OperationLogsModule`.
*/
@Module({
imports: [StudentsModule, ClassesModule, AttendanceModule, RoomsModule, BillsModule, DashboardModule],
imports: [
StudentsModule,
ClassesModule,
AttendanceModule,
RoomsModule,
BillsModule,
DashboardModule,
ExamsModule,
SchedulesModule,
DepositsModule,
ExpensesModule,
ClassroomsModule,
ClassroomRentalsModule,
SyncModule,
],
providers: [
AgentToolRegistry,
AgentToolExecutor,
@@ -45,6 +75,15 @@ import { GetDashboardStatsTool } from './tools/get-dashboard-stats.tool';
GetRoomOccupancySummaryTool,
SearchBillsTool,
GetDashboardStatsTool,
CreateStudentTool,
UpdateStudentsTool,
SearchExamsTool,
SearchSchedulesTool,
SearchDepositsTool,
SearchExpensesTool,
SearchClassroomsTool,
SearchClassroomRentalsTool,
GetSyncStatusTool,
],
exports: [AgentToolExecutor],
})
@@ -59,6 +98,15 @@ export class AgentToolsModule implements OnModuleInit {
private readonly roomOccupancyTool: GetRoomOccupancySummaryTool,
private readonly searchBillsTool: SearchBillsTool,
private readonly dashboardStatsTool: GetDashboardStatsTool,
private readonly createStudentTool: CreateStudentTool,
private readonly updateStudentsTool: UpdateStudentsTool,
private readonly searchExamsTool: SearchExamsTool,
private readonly searchSchedulesTool: SearchSchedulesTool,
private readonly searchDepositsTool: SearchDepositsTool,
private readonly searchExpensesTool: SearchExpensesTool,
private readonly searchClassroomsTool: SearchClassroomsTool,
private readonly searchClassroomRentalsTool: SearchClassroomRentalsTool,
private readonly getSyncStatusTool: GetSyncStatusTool,
) {}
onModuleInit(): void {
@@ -70,5 +118,14 @@ export class AgentToolsModule implements OnModuleInit {
this.registry.register(this.roomOccupancyTool);
this.registry.register(this.searchBillsTool);
this.registry.register(this.dashboardStatsTool);
this.registry.register(this.createStudentTool);
this.registry.register(this.updateStudentsTool);
this.registry.register(this.searchExamsTool);
this.registry.register(this.searchSchedulesTool);
this.registry.register(this.searchDepositsTool);
this.registry.register(this.searchExpensesTool);
this.registry.register(this.searchClassroomsTool);
this.registry.register(this.searchClassroomRentalsTool);
this.registry.register(this.getSyncStatusTool);
}
}