Files
Genarrative/packages/shared/src/contracts/rpgCreationResultView.ts
2026-04-28 19:36:39 +08:00

41 lines
1.2 KiB
TypeScript

import type { CustomWorldProfileRecord } from './runtime';
import type { RpgAgentSessionSnapshot } from './rpgAgentSession';
export type RpgCreationResultProfileSource =
| 'result_preview'
| 'draft_profile'
| 'none';
export type RpgCreationResultTargetStage =
| 'agent-workspace'
| 'custom-world-generating'
| 'custom-world-result';
export type RpgCreationResultGenerationViewSource =
| 'agent-draft-foundation'
| null;
export type RpgCreationResultViewSource = 'agent-draft' | null;
export type RpgCreationResultRecoveryAction =
| 'continue_agent'
| 'resume_generation'
| 'open_result'
| 'missing_session';
export interface RpgCreationResultView {
session: RpgAgentSessionSnapshot;
profile: CustomWorldProfileRecord | null;
profileSource: RpgCreationResultProfileSource;
targetStage: RpgCreationResultTargetStage;
generationViewSource: RpgCreationResultGenerationViewSource;
resultViewSource: RpgCreationResultViewSource;
canAutosaveLibrary: boolean;
canSyncResultProfile: boolean;
publishReady: boolean;
canEnterWorld: boolean;
blockerCount: number;
recoveryAction: RpgCreationResultRecoveryAction;
recoveryReason?: string | null;
}