fix: 커맨드 차등 생명주기와 로그 그래프를 보강
장수 55종과 수뇌 35종의 상태, 로그, 메시지, 예약 턴 비교를 닫습니다. 실제 시나리오 프로필과 대표 PostgreSQL 수명주기, 즉시 외교와 출병 회귀를 추가하고 발견된 Ref 로그 및 생성 장수 저장 차이를 교정합니다.
This commit is contained in:
@@ -1,5 +1,9 @@
|
||||
import type { CanonicalTurnCommandTrace, TurnSnapshotSelector } from './canonical.js';
|
||||
import { readCoreDatabaseSnapshot } from './databaseSnapshot.js';
|
||||
import {
|
||||
closeTurnSnapshotSelectorOverCreatedEntities,
|
||||
type CanonicalTurnCommandTrace,
|
||||
type TurnSnapshotSelector,
|
||||
} from './canonical.js';
|
||||
import { readCoreDatabaseEntityIds, readCoreDatabaseSnapshot } from './databaseSnapshot.js';
|
||||
|
||||
export interface CoreTurnTraceRequest {
|
||||
kind: 'general' | 'nation';
|
||||
@@ -17,10 +21,19 @@ export const captureCoreDatabaseTurnTrace = async (
|
||||
rng?: CanonicalTurnCommandTrace['rng'];
|
||||
}>
|
||||
): Promise<CanonicalTurnCommandTrace> => {
|
||||
const before = await readCoreDatabaseSnapshot(databaseUrl, request.observe);
|
||||
const [before, entityIdsBefore] = await Promise.all([
|
||||
readCoreDatabaseSnapshot(databaseUrl, request.observe),
|
||||
readCoreDatabaseEntityIds(databaseUrl),
|
||||
]);
|
||||
const result = await execute();
|
||||
const entityIdsAfter = await readCoreDatabaseEntityIds(databaseUrl);
|
||||
const afterSelector = closeTurnSnapshotSelectorOverCreatedEntities(
|
||||
request.observe,
|
||||
entityIdsBefore,
|
||||
entityIdsAfter
|
||||
);
|
||||
const after = await readCoreDatabaseSnapshot(databaseUrl, {
|
||||
...request.observe,
|
||||
...afterSelector,
|
||||
logAfterId: request.observe.logAfterId ?? before.watermarks.logId,
|
||||
messageAfterId: request.observe.messageAfterId ?? before.watermarks.messageId,
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user