抽离custom world运行时provider工厂

This commit is contained in:
2026-04-20 12:50:18 +00:00
parent 164ead0681
commit 3f92380ec9
6 changed files with 79 additions and 25 deletions

View 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;
}