UNPKG

@inworld/web-core

Version:
170 lines (169 loc) 6.3 kB
import * as z from "zod"; export const ActionEnumSchema = z.enum([ "AUDIO_SESSION_END", "AUDIO_SESSION_START", "CONVERSATION_EVENT", "CONVERSATION_START", "CONVERSATION_STARTED", "CONVERSATION_UPDATE", "CURRENT_SCENE_STATUS", "INTERACTION_END", "SESSION_CONFIGURATION", "SESSION_END", "TTS_PLAYBACK_END", "TTS_PLAYBACK_MUTE", "TTS_PLAYBACK_START", "TTS_PLAYBACK_UNMUTE", "UNKNOWN", "WARNING", ]); export const MicrophoneModeEnumSchema = z.enum([ "EXPECT_AUDIO_END", "OPEN_MIC", "UNSPECIFIED", ]); export const UnderstandingModeEnumSchema = z.enum([ "FULL", "SPEECH_RECOGNITION_ONLY", "UNSPECIFIED_UNDERSTANDING_MODE", ]); export const ConversationEventTypeEnumSchema = z.enum([ "EVICTED", "STARTED", "UNKNOWN", "UPDATED", ]); export const TypeEnumSchema = z.enum([ "AGENT", "PLAYER", "UNKNOWN", "WORLD", ]); export const ContinuationTypeEnumSchema = z.enum([ "CONTINUATION_TYPE_DIALOG_HISTORY", "CONTINUATION_TYPE_EXTERNALLY_SAVED_STATE", "CONTINUATION_TYPE_UNKNOWN", ]); export const AudioSessionStartSchema = z.object({ "mode": z.union([MicrophoneModeEnumSchema, z.number()]).optional(), "understanding_mode": z.union([UnderstandingModeEnumSchema, z.number()]).optional(), }); export const ActorSchema = z.object({ "name": z.string().optional(), "type": z.union([TypeEnumSchema, z.number()]).optional(), }); export const ConSchema = z.object({ "participants": z.array(ActorSchema).optional(), }); export const CharacterAssetsSchema = z.object({ "avatar_img": z.string().optional(), "avatar_img_original": z.string().optional(), "rpm_image_uri_portrait": z.string().optional(), "rpm_image_uri_posture": z.string().optional(), "rpm_model_uri": z.string().optional(), }); export const CapabilitiesConfigurationSchema = z.object({ "audio": z.boolean().optional(), "audio2face": z.boolean().optional(), "continuation": z.boolean().optional(), "debug_info": z.boolean().optional(), "emotion_streaming": z.boolean().optional(), "emotions": z.boolean().optional(), "inspect": z.boolean().optional(), "interruptions": z.boolean().optional(), "logs": z.boolean().optional(), "logs_debug": z.boolean().optional(), "logs_info": z.boolean().optional(), "logs_internal": z.boolean().optional(), "logs_warning": z.boolean().optional(), "multi_agent": z.boolean().optional(), "multi_modal_action_planning": z.boolean().optional(), "narrated_actions": z.boolean().optional(), "perceived_latency_report": z.boolean().optional(), "phoneme_info": z.boolean().optional(), "ping_pong_report": z.boolean().optional(), "regenerate_response": z.boolean().optional(), "relations": z.boolean().optional(), "session_cancellation": z.boolean().optional(), "silence_events": z.boolean().optional(), "tts_mp3": z.boolean().optional(), "tts_streaming": z.boolean().optional(), "turn_based_stt": z.boolean().optional(), }); export const ClientConfigurationSchema = z.object({ "description": z.string().optional(), "id": z.string().optional(), "version": z.string().optional(), }); export const ContinuationInfoSchema = z.object({ "passed_time": z.coerce.date().optional(), }); export const ActorClassSchema = z.object({ "name": z.string().optional(), "type": z.union([TypeEnumSchema, z.number()]).optional(), }); export const SessionConfigurationSessionConfigurationSchema = z.object({ "game_session_id": z.string().optional(), }); export const PlayerFieldSchema = z.object({ "field_id": z.string().optional(), "field_value": z.string().optional(), }); export const ConversationEventSchema = z.object({ "event_type": z.union([ConversationEventTypeEnumSchema, z.number()]).optional(), "participants": z.array(ActorSchema).optional(), }); export const AgentSchema = z.object({ "agent_id": z.string().optional(), "brain_name": z.string().optional(), "character_assets": CharacterAssetsSchema.optional(), "given_name": z.string().optional(), }); export const HistoryItemSchema = z.object({ "actor": ActorClassSchema.optional(), "text": z.string().optional(), }); export const PlayerProfileSchema = z.object({ "fields": z.array(PlayerFieldSchema).optional(), }); export const CurrentSceneStatusSchema = z.object({ "agents": z.array(AgentSchema).optional(), "scene_description": z.string().optional(), "scene_display_name": z.string().optional(), "scene_name": z.string().optional(), }); export const DialogHistorySchema = z.object({ "history": z.array(HistoryItemSchema).optional(), }); export const UserSettingsSchema = z.object({ "player_profile": PlayerProfileSchema.optional(), "view_transcript_consent": z.boolean().optional(), }); export const ContinuationSchema = z.object({ "continuation_info": ContinuationInfoSchema.optional(), "continuation_type": z.union([ContinuationTypeEnumSchema, z.number()]).optional(), "dialog_history": DialogHistorySchema.optional(), "externally_saved_state": z.string().optional(), }); export const UserConfigurationSchema = z.object({ "id": z.string().optional(), "name": z.string().optional(), "user_settings": UserSettingsSchema.optional(), }); export const ControlEventSessionConfigurationSchema = z.object({ "capabilities_configuration": CapabilitiesConfigurationSchema.optional(), "client_configuration": ClientConfigurationSchema.optional(), "continuation": ContinuationSchema.optional(), "session_configuration": SessionConfigurationSessionConfigurationSchema.optional(), "user_configuration": UserConfigurationSchema.optional(), }); export const ControlEventSchema = z.object({ "action": z.union([ActionEnumSchema, z.number()]).optional(), "audio_session_start": AudioSessionStartSchema.optional(), "conversation_event": ConversationEventSchema.optional(), "conversation_update": ConSchema.optional(), "current_scene_status": CurrentSceneStatusSchema.optional(), "description": z.string().optional(), "payload": z.record(z.string(), z.any()).optional(), "session_configuration": ControlEventSessionConfigurationSchema.optional(), });