@difizen/magent-au
Version:
38 lines (34 loc) • 977 B
text/typescript
import {
ChatBaseModule,
ConversationManager,
DefaultConversationModel,
} from '@difizen/magent-chat';
import { ManaModule, Syringe } from '@difizen/mana-app';
import { SessionManager } from './session-manager.js';
import { SessionModel } from './session-model.js';
export const SessionModule = ManaModule.create('au-session')
.register(
// {
// token: ConversationManager,
// useClass: SessionManager,
// lifecycle: Syringe.Lifecycle.singleton,
// },
SessionModel,
// {
// token: toAutoFactory(DefaultConversationModel),
// useDynamic: (ctx) => ctx.container.get(toAutoFactory(SessionModel)),
// },
{
token: DefaultConversationModel,
useClass: SessionModel,
},
SessionManager,
{
token: ConversationManager,
useDynamic: (ctx) => {
return ctx.container.get(SessionManager);
},
lifecycle: Syringe.Lifecycle.singleton,
},
)
.dependOn(ChatBaseModule);