1
This commit is contained in:
58
packages/shared/src/contracts/puzzleAgentSession.ts
Normal file
58
packages/shared/src/contracts/puzzleAgentSession.ts
Normal file
@@ -0,0 +1,58 @@
|
||||
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;
|
||||
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;
|
||||
}
|
||||
|
||||
export interface CreatePuzzleAgentSessionResponse {
|
||||
session: PuzzleAgentSessionSnapshot;
|
||||
}
|
||||
|
||||
export interface SendPuzzleAgentMessageRequest {
|
||||
clientMessageId: string;
|
||||
text: string;
|
||||
}
|
||||
|
||||
export interface SendPuzzleAgentMessageResponse extends PuzzleAgentActionResponse {
|
||||
session: PuzzleAgentSessionSnapshot;
|
||||
}
|
||||
Reference in New Issue
Block a user