@difizen/magent-chat
Version:
23 lines (19 loc) • 834 B
text/typescript
import { PrioritizedContributionManager } from '@difizen/magent-core';
import type { Contribution } from '@difizen/mana-app';
import { contrib, singleton } from '@difizen/mana-app';
import type { ChatMessageItemOption } from './chat-message-item-model.js';
import { ChatMessageItemContribution } from './protocol.js';
()
export class ChatMessageItemManager extends PrioritizedContributionManager<
ChatMessageItemOption,
ChatMessageItemContribution
> {
(ChatMessageItemContribution)
protected contributionProvider: Contribution.Provider<ChatMessageItemContribution>;
createChatMessageItem = <T extends ChatMessageItemOption = ChatMessageItemOption>(
option: T,
) => {
const contribution = this.findContribution(option, this.contributionProvider);
return contribution.handle(option);
};
}