This commit is contained in:
2026-04-21 19:18:26 +08:00
parent 4372ab5be1
commit 48957311bc
78 changed files with 643 additions and 3801 deletions

View File

@@ -6,7 +6,7 @@ import { CustomWorldAgentOrchestrator } from './customWorldAgentOrchestrator.js'
import { createInMemoryRpgWorldRepositoryPorts } from './customWorldAgentRepositoryTestHelpers.js';
import { CustomWorldAgentSessionStore } from './customWorldAgentSessionStore.js';
import { createTestCustomWorldAgentSingleTurnLlmClient } from './customWorldAgentTestHelpers.js';
import { listCustomWorldWorkSummaries } from './customWorldWorkSummaryService.js';
import { RpgWorldWorkSummaryService } from './RpgWorldWorkSummaryService.js';
async function waitForOperation(
orchestrator: CustomWorldAgentOrchestrator,
@@ -552,10 +552,10 @@ test('phase4 generate_characters appends story npcs and updates work summary cou
[...profile.playableNpcs, ...profile.storyNpcs].map((entry) => entry.id),
),
].length;
const workItems = await listCustomWorldWorkSummaries(userId, {
rpgWorldProfiles: rpgWorldProfileRepository,
customWorldAgentSessions: sessionStore,
});
const workItems = await new RpgWorldWorkSummaryService(
rpgWorldProfileRepository,
sessionStore,
).list(userId);
const draftItem = workItems.find((item) => item.sessionId === session.sessionId);
assert.equal(operation?.status, 'completed');
@@ -641,10 +641,10 @@ test('phase4 work summaries exclude library draft entries after phase3 downgrade
'玩家',
);
const workItems = await listCustomWorldWorkSummaries(userId, {
rpgWorldProfiles: rpgWorldProfileRepository,
customWorldAgentSessions: sessionStore,
});
const workItems = await new RpgWorldWorkSummaryService(
rpgWorldProfileRepository,
sessionStore,
).list(userId);
assert.ok(workItems.some((item) => item.sessionId === session.sessionId));
assert.equal(
@@ -688,10 +688,10 @@ test('phase4 work summaries hide published agent sessions from draft lane and ke
'玩家',
);
const workItems = await listCustomWorldWorkSummaries(userId, {
rpgWorldProfiles: rpgWorldProfileRepository,
customWorldAgentSessions: sessionStore,
});
const workItems = await new RpgWorldWorkSummaryService(
rpgWorldProfileRepository,
sessionStore,
).list(userId);
const draftItem = workItems.find((item) => item.sessionId === session.sessionId);
const publishedItem = workItems.find(
(item) => item.profileId === `agent-draft-${session.sessionId}`,