kimi-code / packages /agent-core-v2 /src /agent /toolSelect /toolSelectAnnouncementsService.ts
SaylorTwift's picture
SaylorTwift HF Staff
Add files using upload-large-folder tool
68d7816 verified
Raw History Blame Contribute Delete
1.12 kB
import { Service } from '#/_base/di/service';
import { LifecycleScope } from '#/app/scopes';
import { ScopeActivation, registerScopedService } from '#/_base/di/scope';
import { IAgentReminderService } from '#/features/reminder/reminderService';
import { LOADABLE_TOOLS_VARIANT } from './dynamicTools';
import { IAgentToolSelectService } from './toolSelect';
import { IAgentToolSelectAnnouncementsService } from './toolSelectAnnouncements';
export class AgentToolSelectAnnouncementsService extends Service implements IAgentToolSelectAnnouncementsService {
declare readonly _serviceBrand: undefined;
constructor(
@IAgentToolSelectService toolSelect: IAgentToolSelectService,
@IAgentReminderService reminder: IAgentReminderService,
) {
super();
this._register(
reminder.register(LOADABLE_TOOLS_VARIANT, ({ isNewTurn }) =>
isNewTurn ? toolSelect.loadableToolsAnnouncement() : undefined,
),
);
}
}
registerScopedService(
LifecycleScope.Agent,
IAgentToolSelectAnnouncementsService,
AgentToolSelectAnnouncementsService,
ScopeActivation.OnScopeCreated,
'toolSelect',
);