抽离custom world运行时provider工厂
This commit is contained in:
46
server-node/src/services/customWorldRuntimeProvider.ts
Normal file
46
server-node/src/services/customWorldRuntimeProvider.ts
Normal file
@@ -0,0 +1,46 @@
|
||||
import type { CustomWorldProfileCapability, CustomWorldSessionCapability } from './runtimeCapabilities.js';
|
||||
import { CustomWorldAgentOrchestrator } from './customWorldAgentOrchestrator.js';
|
||||
import { CustomWorldAgentSessionStore } from './customWorldAgentSessionStore.js';
|
||||
import { CustomWorldSessionStore } from './customWorldSessionStore.js';
|
||||
import type { UpstreamLlmClient } from './llmClient.js';
|
||||
|
||||
export type CustomWorldRuntimeProvider = {
|
||||
customWorldSessions: CustomWorldSessionStore;
|
||||
customWorldAgentSessions: CustomWorldAgentSessionStore;
|
||||
customWorldAgentOrchestrator: CustomWorldAgentOrchestrator;
|
||||
customWorldWorkSummaryDependencies: {
|
||||
runtimeRepository: CustomWorldProfileCapability;
|
||||
customWorldAgentSessions: CustomWorldAgentSessionStore;
|
||||
};
|
||||
};
|
||||
|
||||
export function createCustomWorldRuntimeProvider(params: {
|
||||
customWorldSessionCapability: CustomWorldSessionCapability;
|
||||
customWorldProfileCapability: CustomWorldProfileCapability;
|
||||
llmClient: UpstreamLlmClient | null;
|
||||
runtimeLlmClient?: UpstreamLlmClient | null;
|
||||
singleTurnLlmClient?: UpstreamLlmClient | null;
|
||||
}) {
|
||||
const customWorldSessions = new CustomWorldSessionStore(
|
||||
params.customWorldSessionCapability,
|
||||
);
|
||||
const customWorldAgentSessions = new CustomWorldAgentSessionStore(
|
||||
params.customWorldSessionCapability,
|
||||
);
|
||||
|
||||
return {
|
||||
customWorldSessions,
|
||||
customWorldAgentSessions,
|
||||
customWorldAgentOrchestrator: new CustomWorldAgentOrchestrator(
|
||||
customWorldAgentSessions,
|
||||
params.runtimeLlmClient ?? params.llmClient,
|
||||
{
|
||||
singleTurnLlmClient: params.singleTurnLlmClient,
|
||||
},
|
||||
),
|
||||
customWorldWorkSummaryDependencies: {
|
||||
runtimeRepository: params.customWorldProfileCapability,
|
||||
customWorldAgentSessions,
|
||||
},
|
||||
} satisfies CustomWorldRuntimeProvider;
|
||||
}
|
||||
Reference in New Issue
Block a user