Files
Genarrative/packages/shared/src/contracts/puzzleAgentSession.ts
高物 74fd9a33ac Increase VectorEngine timeouts and add image UI
Add VectorEngine image generation config and raise request timeouts (env + scripts) from 180000 to 1000000ms. Introduce a reusable CreativeImageInputPanel component with tests and wire up mobile keyboard-focus helpers; update generation views and related tests (CustomWorldGenerationView, BarkBattle editor, Match3D, Puzzle flows). Improve API error handling / VectorEngine request guidance (packages/shared http.ts and docs), and apply multiple backend/frontend fixes for puzzle/match3d/prompt handling. Also include extensive docs and decision-log updates describing UI/UX decisions and verification steps.
2026-05-15 02:40:59 +08:00

72 lines
1.8 KiB
TypeScript

import type {
PuzzleAgentActionResponse,
PuzzleAgentSuggestedAction,
} from './puzzleAgentActions';
import type { PuzzleAnchorPack, PuzzleResultDraft } from './puzzleAgentDraft';
import type { PuzzleResultPreviewEnvelope } from './puzzleResultPreview';
export type PuzzleAgentStage =
| 'collecting_anchors'
| 'draft_ready'
| 'image_refining'
| 'ready_to_publish'
| 'published';
export type PuzzleAgentMessageRole = 'user' | 'assistant' | 'system';
export type PuzzleAgentMessageKind =
| 'chat'
| 'summary'
| 'action_result'
| 'warning';
export interface PuzzleAgentMessage {
id: string;
role: PuzzleAgentMessageRole;
kind: PuzzleAgentMessageKind;
text: string;
createdAt: string;
}
export interface PuzzleAgentSessionSnapshot {
sessionId: string;
seedText?: string;
currentTurn: number;
progressPercent: number;
stage: PuzzleAgentStage;
anchorPack: PuzzleAnchorPack;
draft: PuzzleResultDraft | null;
messages: PuzzleAgentMessage[];
lastAssistantReply: string | null;
publishedProfileId: string | null;
suggestedActions: PuzzleAgentSuggestedAction[];
resultPreview: PuzzleResultPreviewEnvelope | null;
updatedAt: string;
}
export interface CreatePuzzleAgentSessionRequest {
seedText?: string;
workTitle?: string;
workDescription?: string;
pictureDescription?: string;
referenceImageSrc?: string | null;
referenceImageSrcs?: string[];
imageModel?: string | null;
aiRedraw?: boolean;
}
export interface CreatePuzzleAgentSessionResponse {
session: PuzzleAgentSessionSnapshot;
}
export interface SendPuzzleAgentMessageRequest {
clientMessageId: string;
text: string;
quickFillRequested?: boolean;
}
export interface SendPuzzleAgentMessageResponse
extends PuzzleAgentActionResponse {
session: PuzzleAgentSessionSnapshot;
}