File size: 1,184 Bytes
68d7816
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import { Feature } from '#/features/feature';
import { registerFeature } from '#/features/featureRegistry';
import { AgentCronService, IAgentCronService } from '#/features/cron/cronService';
import { ICronCreateTool } from '#/features/cron/tools/cron-create/cron-create';
import { CronCreateTool } from '#/features/cron/tools/cron-create/cronCreateTool';
import { ICronDeleteTool } from '#/features/cron/tools/cron-delete/cron-delete';
import { CronDeleteTool } from '#/features/cron/tools/cron-delete/cronDeleteTool';
import { ICronListTool } from '#/features/cron/tools/cron-list/cron-list';
import { CronListTool } from '#/features/cron/tools/cron-list/cronListTool';

export class CronFeature extends Feature {
  static override readonly name = 'cron';

  constructor() {
    super();
    this.contributeAgentService(IAgentCronService, AgentCronService);
    this.contributeTool(ICronCreateTool, CronCreateTool, { name: 'CronCreate', domain: 'cron' });
    this.contributeTool(ICronListTool, CronListTool, { name: 'CronList', domain: 'cron' });
    this.contributeTool(ICronDeleteTool, CronDeleteTool, { name: 'CronDelete', domain: 'cron' });
  }
}

registerFeature(CronFeature);