UNPKG

@orchard9ai/world-api-sdk

Version:

TypeScript SDK for Companion World API - AI-powered social simulation platform

1 lines 87.6 kB
{"version":3,"sources":["../src/axios-instance.ts","../src/generated/api.ts","../src/generated/schemas/ageDistributionDistribution.ts","../src/generated/schemas/agentMediaItemType.ts","../src/generated/schemas/agentMediaReviewBodyAction.ts","../src/generated/schemas/agentReviewStatus.ts","../src/generated/schemas/agentStatus.ts","../src/generated/schemas/agentStatusProperty.ts","../src/generated/schemas/calendarEntryActivityType.ts","../src/generated/schemas/calendarEntryRecurrencePattern.ts","../src/generated/schemas/createAgentMediaRequestAudienceRating.ts","../src/generated/schemas/createAgentMediaRequestType.ts","../src/generated/schemas/createUploadUrlRequestAudienceRating.ts","../src/generated/schemas/createUploadUrlRequestMediaType.ts","../src/generated/schemas/demographicsIncomeLevel.ts","../src/generated/schemas/demographicsRelationshipStatus.ts","../src/generated/schemas/digitalPresenceSocialMediaActivity.ts","../src/generated/schemas/era.ts","../src/generated/schemas/gender.ts","../src/generated/schemas/getNextAgentForReviewAvatar.ts","../src/generated/schemas/getNextAgentForReviewBanner.ts","../src/generated/schemas/getNextAgentForReviewFullBody.ts","../src/generated/schemas/getNextAgentForReviewHeadshot.ts","../src/generated/schemas/listAllAgentsGenderItem.ts","../src/generated/schemas/listAllAgentsStatusItem.ts","../src/generated/schemas/locationType.ts","../src/generated/schemas/mediaDetailsReviewState.ts","../src/generated/schemas/mediaDetailsType.ts","../src/generated/schemas/nameFrequency.ts","../src/generated/schemas/populationJobStatus.ts","../src/generated/schemas/switchAgentPrimaryMedia200Type.ts","../src/generated/schemas/switchAgentPrimaryMediaType.ts","../src/generated/schemas/unifiedAgentObjectGender.ts","../src/generated/schemas/unifiedAgentObjectStatus.ts","../src/generated/schemas/unifiedMediaObjectType.ts","../src/generated/schemas/unifiedMediaObjectUsage.ts","../src/generated/schemas/updateAgentMediaRequestAudienceRating.ts","../src/generated/schemas/updateAgentMediaRequestType.ts","../src/generated/schemas/updateAgentMediaRequestUsage.ts","../src/index.ts"],"sourcesContent":["import axios, { AxiosInstance, AxiosRequestConfig } from 'axios';\n\nexport interface WorldApiConfig {\n baseURL: string;\n apiKey?: string;\n organizationId?: string;\n accessToken?: string;\n}\n\nlet config: WorldApiConfig = {\n baseURL: 'http://localhost:8043'\n};\n\nexport const setWorldApiConfig = (newConfig: Partial<WorldApiConfig>) => {\n config = { ...config, ...newConfig };\n};\n\nexport const getWorldApiConfig = (): WorldApiConfig => config;\n\nexport const customInstance = <T>(\n config: AxiosRequestConfig,\n options?: AxiosRequestConfig\n): Promise<T> => {\n const source = axios.CancelToken.source();\n \n const instance: AxiosInstance = axios.create({\n baseURL: getWorldApiConfig().baseURL,\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n\n // Add auth headers if available\n instance.interceptors.request.use((config) => {\n const apiConfig = getWorldApiConfig();\n \n if (apiConfig.accessToken) {\n config.headers.Authorization = `Bearer ${apiConfig.accessToken}`;\n } else if (apiConfig.apiKey) {\n config.headers['X-API-Key'] = apiConfig.apiKey;\n }\n \n if (apiConfig.organizationId) {\n config.headers['X-Organization-Id'] = apiConfig.organizationId;\n }\n \n return config;\n });\n\n // Add response interceptor for error handling\n instance.interceptors.response.use(\n (response) => response,\n (error) => {\n if (error.response?.status === 401) {\n // Handle unauthorized\n console.error('Unauthorized: Token may be expired');\n }\n return Promise.reject(error);\n }\n );\n\n const promise = instance({\n ...config,\n ...options,\n cancelToken: source.token,\n }).then(({ data }) => data);\n\n // @ts-ignore\n promise.cancel = () => {\n source.cancel('Query was cancelled');\n };\n\n return promise;\n};","/**\n * Generated by orval v7.10.0 🍺\n * Do not edit manually.\n * Companion World API\n * API for managing virtual worlds populated with AI-driven agents.\n\n## Overview\nThe Companion World API provides endpoints for:\n- Creating and managing virtual worlds\n- Generating populations of AI agents\n- Managing agent activities and calendars\n- Configuring locations and demographics\n\n## Authentication\nCurrently, the API operates without authentication. This will be updated in future versions.\n\n## Async Operations\nLong-running operations (like population generation) return job IDs for status polling.\n\n * OpenAPI spec version: 1.0.0\n */\nimport type {\n AddAgentTags200,\n AddName201,\n Agent,\n AgentMedia,\n AgentMediaResponse,\n AgentMediaReview200,\n AgentMediaReviewBody,\n AgentResponse,\n AgentsResponse,\n ApproveAgent200,\n ApproveAgentRequest,\n ApproveMedia200,\n ApproveMediaBody,\n AssignTagsInput,\n BatchAddNames201,\n BatchAddNamesBody,\n BatchCreateLocations201,\n BatchCreateLocationsRequest,\n BulkRejectMedia200,\n BulkRejectMediaBody,\n CreateAgentMediaRequest,\n CreateTag201,\n CreateTagInput,\n CreateUploadUrlRequest,\n CreateUploadUrlResponse,\n CreateWorldRequest,\n CropMediaRequest,\n CropMediaResponse,\n DeleteNames200,\n DeleteNamesParams,\n DeleteWorld200,\n ExtendAgentLock200,\n ExtendAgentLockBody,\n ExtendMediaReviewLock200,\n ExtendMediaReviewLockBody,\n GeneratePopulation202,\n GeneratePopulationRequest,\n GetAgentApprovedMedia200,\n GetAgentApprovedMediaParams,\n GetAgentCalendar200,\n GetAgentCalendarParams,\n GetAgentMediaParams,\n GetAgentPendingMedia200,\n GetAgentPendingMediaParams,\n GetAgentTags200,\n GetAgentsWithPendingMedia200,\n GetAgentsWithPendingMediaParams,\n GetConstants200,\n GetMediaReviewStats200,\n GetMediaReviewStatsParams,\n GetNextAgentForMediaReview200,\n GetNextAgentForMediaReviewParams,\n GetNextAgentForReview200,\n GetNextAgentForReviewParams,\n GetNextMediaForReview200,\n GetPopulationJob200,\n GetPopulationStats200,\n GetTag200,\n HealthResponse,\n InitializeWorld201,\n ListAgents200,\n ListAgentsParams,\n ListAllAgentsParams,\n ListTags200,\n ListWorlds200,\n NameEntry,\n ProcessVariantsRequest,\n RejectAgent200,\n RejectAgentRequest,\n RejectMedia200,\n RejectMediaBody,\n ReleaseMediaReviewLock200,\n ReviewStats,\n SetAgentTags200,\n SkipMediaReview200,\n SwitchAgentPrimaryMedia200,\n SwitchAgentPrimaryMediaParams,\n UnlockAgent200,\n UpdateAgent200,\n UpdateAgentMediaRequest,\n UpdateAgentRequest,\n UpdateDemographics200,\n UpdateDemographicsBody,\n UpdateTag200,\n UpdateTagInput,\n UpdateWorld200,\n UpdateWorldBody,\n} from './schemas';\n\nimport { customInstance } from '../axios-instance';\n\ntype SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];\n\n/**\n * Reports service readiness\n * @summary Basic health check\n */\nexport const getHealth = (options?: SecondParameter<typeof customInstance>) => {\n return customInstance<HealthResponse>({ url: `/health`, method: 'GET' }, options);\n};\n\n/**\n * Kubernetes liveness probe endpoint\n * @summary Liveness probe\n */\nexport const getLiveness = (options?: SecondParameter<typeof customInstance>) => {\n return customInstance<HealthResponse>({ url: `/health/live`, method: 'GET' }, options);\n};\n\n/**\n * Checks if database migrations are complete\n * @summary Startup probe\n */\nexport const getStartup = (options?: SecondParameter<typeof customInstance>) => {\n return customInstance<HealthResponse>({ url: `/health/startup`, method: 'GET' }, options);\n};\n\n/**\n * Returns system constants including review requirements.\nRequires authentication and beta approval.\n\n * @summary Get system constants\n */\nexport const getConstants = (options?: SecondParameter<typeof customInstance>) => {\n return customInstance<GetConstants200>({ url: `/constants`, method: 'GET' }, options);\n};\n\n/**\n * List agents across all worlds with advanced search and filtering capabilities.\nSupports pagination, search by name, and filtering by gender, age, status, and specific worlds.\n\n * @summary List all agents (global)\n */\nexport const listAllAgents = (\n params?: ListAllAgentsParams,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<AgentsResponse>({ url: `/api/agents`, method: 'GET', params }, options);\n};\n\n/**\n * Retrieve detailed information about a specific agent by ID, regardless of world\n * @summary Get agent details (global)\n */\nexport const getAgentById = (agentId: string, options?: SecondParameter<typeof customInstance>) => {\n return customInstance<AgentResponse>(\n { url: `/api/agents/${agentId}/details`, method: 'GET' },\n options\n );\n};\n\n/**\n * Update agent properties like name, status, tags, or metadata\n * @summary Update agent (global)\n */\nexport const updateAgent = (\n agentId: string,\n updateAgentRequest: UpdateAgentRequest,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<UpdateAgent200>(\n {\n url: `/api/agents/${agentId}`,\n method: 'PATCH',\n headers: { 'Content-Type': 'application/json' },\n data: updateAgentRequest,\n },\n options\n );\n};\n\n/**\n * Get paginated list of media associated with an agent\n * @summary List agent media\n */\nexport const getAgentMedia = (\n agentId: string,\n params?: GetAgentMediaParams,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<AgentMediaResponse>(\n { url: `/api/agents/${agentId}/media`, method: 'GET', params },\n options\n );\n};\n\n/**\n * Add new media to an agent\n * @summary Create agent media\n */\nexport const createAgentMedia = (\n agentId: string,\n createAgentMediaRequest: CreateAgentMediaRequest,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<AgentMedia>(\n {\n url: `/api/agents/${agentId}/media`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: createAgentMediaRequest,\n },\n options\n );\n};\n\n/**\n * Update existing media associated with an agent\n * @summary Update agent media\n */\nexport const updateAgentMedia = (\n agentId: string,\n mediaId: string,\n updateAgentMediaRequest: UpdateAgentMediaRequest,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<AgentMedia>(\n {\n url: `/api/agents/${agentId}/media/${mediaId}`,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json' },\n data: updateAgentMediaRequest,\n },\n options\n );\n};\n\n/**\n * Remove media from an agent (orphaned media records are automatically cleaned up)\n * @summary Delete agent media\n */\nexport const deleteAgentMedia = (\n agentId: string,\n mediaId: string,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<void>(\n { url: `/api/agents/${agentId}/media/${mediaId}`, method: 'DELETE' },\n options\n );\n};\n\n/**\n * Switch an agent's primary avatar or banner to a different available media\n * @summary Set media as primary avatar or banner\n */\nexport const switchAgentPrimaryMedia = (\n agentId: string,\n mediaId: string,\n params: SwitchAgentPrimaryMediaParams,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<SwitchAgentPrimaryMedia200>(\n { url: `/api/agents/${agentId}/media/${mediaId}/set-primary`, method: 'PUT', params },\n options\n );\n};\n\n/**\n * Create a signed URL for direct media upload to storage\n * @summary Generate signed URL for media upload\n */\nexport const createAgentMediaUploadUrl = (\n agentId: string,\n createUploadUrlRequest: CreateUploadUrlRequest,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<CreateUploadUrlResponse>(\n {\n url: `/api/agents/${agentId}/media/upload-url`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: createUploadUrlRequest,\n },\n options\n );\n};\n\n/**\n * Update media with new crop dimensions. Preserves the original and regenerates variants from the crop.\n * @summary Crop existing media\n */\nexport const cropAgentMedia = (\n agentId: string,\n mediaId: string,\n cropMediaRequest: CropMediaRequest,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<CropMediaResponse>(\n {\n url: `/api/agents/${agentId}/media/${mediaId}/crop`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: cropMediaRequest,\n },\n options\n );\n};\n\n/**\n * Remove crop from media and restore to original dimensions\n * @summary Reset media crop\n */\nexport const resetAgentMediaCrop = (\n agentId: string,\n mediaId: string,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<CropMediaResponse>(\n { url: `/api/agents/${agentId}/media/${mediaId}/crop`, method: 'DELETE' },\n options\n );\n};\n\n/**\n * Generate or regenerate media variants (blur, small, medium, large)\n * @summary Process media variants\n */\nexport const processAgentMediaVariants = (\n agentId: string,\n mediaId: string,\n processVariantsRequest?: ProcessVariantsRequest,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<AgentMedia>(\n {\n url: `/api/agents/${agentId}/media/${mediaId}/process-variants`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: processVariantsRequest,\n },\n options\n );\n};\n\n/**\n * Lock and retrieve the next pending agent for review with optional media filtering\n * @summary Get next agent for review\n */\nexport const getNextAgentForReview = (\n params?: GetNextAgentForReviewParams,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<GetNextAgentForReview200>(\n { url: `/api/review/next`, method: 'POST', params },\n options\n );\n};\n\n/**\n * Approve an agent\n * @summary Approve agent\n */\nexport const approveAgent = (\n agentId: string,\n approveAgentRequest: ApproveAgentRequest,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<ApproveAgent200>(\n {\n url: `/api/review/${agentId}/approve`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: approveAgentRequest,\n },\n options\n );\n};\n\n/**\n * Reject an agent with a reason\n * @summary Reject agent\n */\nexport const rejectAgent = (\n agentId: string,\n rejectAgentRequest: RejectAgentRequest,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<RejectAgent200>(\n {\n url: `/api/review/${agentId}/reject`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: rejectAgentRequest,\n },\n options\n );\n};\n\n/**\n * Release lock on an agent without approving or rejecting\n * @summary Unlock agent\n */\nexport const unlockAgent = (agentId: string, options?: SecondParameter<typeof customInstance>) => {\n return customInstance<UnlockAgent200>(\n { url: `/api/review/${agentId}/unlock`, method: 'POST' },\n options\n );\n};\n\n/**\n * Extend the lock duration on an agent currently being reviewed\n * @summary Extend agent lock\n */\nexport const extendAgentLock = (\n agentId: string,\n extendAgentLockBody?: ExtendAgentLockBody,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<ExtendAgentLock200>(\n {\n url: `/api/review/${agentId}/extend-lock`,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json' },\n data: extendAgentLockBody,\n },\n options\n );\n};\n\n/**\n * Get statistics about the review queue and processed agents\n * @summary Get review statistics\n */\nexport const getReviewStats = (options?: SecondParameter<typeof customInstance>) => {\n return customInstance<ReviewStats>({ url: `/api/review/stats`, method: 'GET' }, options);\n};\n\n/**\n * Retrieves all worlds with statistics\n * @summary List all worlds\n */\nexport const listWorlds = (options?: SecondParameter<typeof customInstance>) => {\n return customInstance<ListWorlds200>({ url: `/worlds`, method: 'GET' }, options);\n};\n\n/**\n * Creates and initializes a new virtual world\n * @summary Create a new world\n */\nexport const initializeWorld = (\n createWorldRequest: CreateWorldRequest,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<InitializeWorld201>(\n {\n url: `/worlds/initialize`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: createWorldRequest,\n },\n options\n );\n};\n\n/**\n * Updates basic world properties like name and configuration\n * @summary Update world properties\n */\nexport const updateWorld = (\n worldId: string,\n updateWorldBody: UpdateWorldBody,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<UpdateWorld200>(\n {\n url: `/worlds/${worldId}`,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json' },\n data: updateWorldBody,\n },\n options\n );\n};\n\n/**\n * Permanently deletes a world and all associated data (agents, locations, events, etc.)\n * @summary Delete a world\n */\nexport const deleteWorld = (worldId: string, options?: SecondParameter<typeof customInstance>) => {\n return customInstance<DeleteWorld200>({ url: `/worlds/${worldId}`, method: 'DELETE' }, options);\n};\n\n/**\n * Updates demographic generation rules for a world\n * @summary Update demographic rules\n */\nexport const updateDemographics = (\n worldId: string,\n updateDemographicsBody: UpdateDemographicsBody,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<UpdateDemographics200>(\n {\n url: `/worlds/${worldId}/demographics`,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json' },\n data: updateDemographicsBody,\n },\n options\n );\n};\n\n/**\n * List agents in a world with optional search and pagination\n * @summary List agents\n */\nexport const listAgents = (\n worldId: string,\n params?: ListAgentsParams,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<ListAgents200>(\n { url: `/worlds/${worldId}/agents`, method: 'GET', params },\n options\n );\n};\n\n/**\n * Retrieves detailed information about a specific agent\n * @summary Get agent details\n */\nexport const getAgent = (\n worldId: string,\n agentId: string,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<Agent>(\n { url: `/worlds/${worldId}/agents/${agentId}`, method: 'GET' },\n options\n );\n};\n\n/**\n * Retrieves an agent's calendar entries\n * @summary Get agent calendar\n */\nexport const getAgentCalendar = (\n worldId: string,\n agentId: string,\n params?: GetAgentCalendarParams,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<GetAgentCalendar200>(\n { url: `/worlds/${worldId}/agents/${agentId}/calendar`, method: 'GET', params },\n options\n );\n};\n\n/**\n * Initiates asynchronous batch generation of agents\n * @summary Generate population\n */\nexport const generatePopulation = (\n worldId: string,\n generatePopulationRequest: GeneratePopulationRequest,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<GeneratePopulation202>(\n {\n url: `/worlds/${worldId}/population/generate`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: generatePopulationRequest,\n },\n options\n );\n};\n\n/**\n * Checks the status of a population generation job\n * @summary Get job status\n */\nexport const getPopulationJob = (\n worldId: string,\n jobId: string,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<GetPopulationJob200>(\n { url: `/worlds/${worldId}/population/jobs/${jobId}`, method: 'GET' },\n options\n );\n};\n\n/**\n * Retrieves population statistics for a world\n * @summary Get population statistics\n */\nexport const getPopulationStats = (\n worldId: string,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<GetPopulationStats200>(\n { url: `/worlds/${worldId}/population/stats`, method: 'GET' },\n options\n );\n};\n\n/**\n * Creates multiple locations with optional proximity connections\n * @summary Batch create locations\n */\nexport const batchCreateLocations = (\n worldId: string,\n batchCreateLocationsRequest: BatchCreateLocationsRequest,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<BatchCreateLocations201>(\n {\n url: `/worlds/${worldId}/locations/batch`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: batchCreateLocationsRequest,\n },\n options\n );\n};\n\n/**\n * Adds a single name to the world's name pool\n * @summary Add single name\n */\nexport const addName = (\n worldId: string,\n nameEntry: NameEntry,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<AddName201>(\n {\n url: `/worlds/${worldId}/names`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: nameEntry,\n },\n options\n );\n};\n\n/**\n * Deletes names from the world's name pool based on filters\n * @summary Delete names\n */\nexport const deleteNames = (\n worldId: string,\n params?: DeleteNamesParams,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<DeleteNames200>(\n { url: `/worlds/${worldId}/names`, method: 'DELETE', params },\n options\n );\n};\n\n/**\n * Adds multiple names to the world's name pool\n * @summary Batch add names\n */\nexport const batchAddNames = (\n worldId: string,\n batchAddNamesBody: BatchAddNamesBody,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<BatchAddNames201>(\n {\n url: `/worlds/${worldId}/names/batch`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: batchAddNamesBody,\n },\n options\n );\n};\n\n/**\n * Retrieves all tags for the organization\n * @summary List all tags\n */\nexport const listTags = (options?: SecondParameter<typeof customInstance>) => {\n return customInstance<ListTags200>({ url: `/tags`, method: 'GET' }, options);\n};\n\n/**\n * Creates a new tag for the organization\n * @summary Create a new tag\n */\nexport const createTag = (\n createTagInput: CreateTagInput,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<CreateTag201>(\n {\n url: `/tags`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: createTagInput,\n },\n options\n );\n};\n\n/**\n * Retrieves a specific tag by ID\n * @summary Get a specific tag\n */\nexport const getTag = (tagId: string, options?: SecondParameter<typeof customInstance>) => {\n return customInstance<GetTag200>({ url: `/tags/${tagId}`, method: 'GET' }, options);\n};\n\n/**\n * Updates an existing tag\n * @summary Update a tag\n */\nexport const updateTag = (\n tagId: string,\n updateTagInput: UpdateTagInput,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<UpdateTag200>(\n {\n url: `/tags/${tagId}`,\n method: 'PATCH',\n headers: { 'Content-Type': 'application/json' },\n data: updateTagInput,\n },\n options\n );\n};\n\n/**\n * Deletes a tag (requires admin role)\n * @summary Delete a tag\n */\nexport const deleteTag = (tagId: string, options?: SecondParameter<typeof customInstance>) => {\n return customInstance<void>({ url: `/tags/${tagId}`, method: 'DELETE' }, options);\n};\n\n/**\n * Retrieves all tags assigned to an agent\n * @summary Get agent tags\n */\nexport const getAgentTags = (agentId: string, options?: SecondParameter<typeof customInstance>) => {\n return customInstance<GetAgentTags200>(\n { url: `/agents/${agentId}/tags`, method: 'GET' },\n options\n );\n};\n\n/**\n * Adds tags to an agent (keeps existing tags)\n * @summary Add tags to agent\n */\nexport const addAgentTags = (\n agentId: string,\n assignTagsInput: AssignTagsInput,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<AddAgentTags200>(\n {\n url: `/agents/${agentId}/tags`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: assignTagsInput,\n },\n options\n );\n};\n\n/**\n * Sets the tags for an agent (replaces all existing tags)\n * @summary Set agent tags\n */\nexport const setAgentTags = (\n agentId: string,\n assignTagsInput: AssignTagsInput,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<SetAgentTags200>(\n {\n url: `/agents/${agentId}/tags`,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json' },\n data: assignTagsInput,\n },\n options\n );\n};\n\n/**\n * Removes specific tags from an agent\n * @summary Remove tags from agent\n */\nexport const removeAgentTags = (\n agentId: string,\n assignTagsInput: AssignTagsInput,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<void>(\n {\n url: `/agents/${agentId}/tags`,\n method: 'DELETE',\n headers: { 'Content-Type': 'application/json' },\n data: assignTagsInput,\n },\n options\n );\n};\n\n/**\n * Gets the next media item from the review queue for the authenticated reviewer.\nIf the reviewer already has a locked item, returns that item instead.\nItems are locked for 30 minutes.\nExcludes media from agents that are locked for review by other reviewers.\n\n * @summary Get next media for review\n */\nexport const getNextMediaForReview = (options?: SecondParameter<typeof customInstance>) => {\n return customInstance<GetNextMediaForReview200>(\n { url: `/api/media-review/next`, method: 'POST' },\n options\n );\n};\n\n/**\n * Locks the next agent with pending media for review by the authenticated reviewer.\nIf the reviewer already has an agent locked, returns that agent instead.\nAgents are locked for 5 minutes to allow bulk review of all their pending media.\nReturns the agent details along with all pending media items (including full media objects with variants).\n\n * @summary Get next agent for media review\n */\nexport const getNextAgentForMediaReview = (\n params?: GetNextAgentForMediaReviewParams,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<GetNextAgentForMediaReview200>(\n { url: `/api/media-review/next-agent`, method: 'POST', params },\n options\n );\n};\n\n/**\n * Approves a media item and removes it from the review queue\n * @summary Approve media\n */\nexport const approveMedia = (\n id: string,\n approveMediaBody: ApproveMediaBody,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<ApproveMedia200>(\n {\n url: `/api/media-review/${id}/approve`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: approveMediaBody,\n },\n options\n );\n};\n\n/**\n * Rejects a media item and optionally deletes it\n * @summary Reject media\n */\nexport const rejectMedia = (\n id: string,\n rejectMediaBody: RejectMediaBody,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<RejectMedia200>(\n {\n url: `/api/media-review/${id}/reject`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: rejectMediaBody,\n },\n options\n );\n};\n\n/**\n * Unlocks the media item without taking action, allowing another reviewer to pick it up\n * @summary Skip media review\n */\nexport const skipMediaReview = (id: string, options?: SecondParameter<typeof customInstance>) => {\n return customInstance<SkipMediaReview200>(\n { url: `/api/media-review/${id}/skip`, method: 'POST' },\n options\n );\n};\n\n/**\n * Get statistics about the media review queue\n * @summary Get media review statistics\n */\nexport const getMediaReviewStats = (\n params?: GetMediaReviewStatsParams,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<GetMediaReviewStats200>(\n { url: `/api/media-review/stats`, method: 'GET', params },\n options\n );\n};\n\n/**\n * Get a list of agents that have media pending review\n * @summary Get agents with pending media\n */\nexport const getAgentsWithPendingMedia = (\n params?: GetAgentsWithPendingMediaParams,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<GetAgentsWithPendingMedia200>(\n { url: `/api/media-review/agents-with-pending`, method: 'GET', params },\n options\n );\n};\n\n/**\n * Get all pending media items for a specific agent for bulk review.\nOptionally lock items for review to prevent concurrent access.\n\n * @summary Get pending media for agent\n */\nexport const getAgentPendingMedia = (\n agentId: string,\n params?: GetAgentPendingMediaParams,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<GetAgentPendingMedia200>(\n { url: `/api/media-review/agents/${agentId}/pending`, method: 'GET', params },\n options\n );\n};\n\n/**\n * Get approved media items for a specific agent to use as reference\nduring bulk review of pending media.\n\n * @summary Get approved media for agent\n */\nexport const getAgentApprovedMedia = (\n agentId: string,\n params?: GetAgentApprovedMediaParams,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<GetAgentApprovedMedia200>(\n { url: `/api/media-review/agents/${agentId}/approved`, method: 'GET', params },\n options\n );\n};\n\n/**\n * Apply a single action to multiple media items for a specific agent.\nOptionally delete specified media items atomically before processing.\nIf media deletion fails, the entire operation is rolled back.\n\n * @summary Process media review for agent\n */\nexport const agentMediaReview = (\n agentId: string,\n agentMediaReviewBody: AgentMediaReviewBody,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<AgentMediaReview200>(\n {\n url: `/api/media-review/agents/${agentId}/review`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: agentMediaReviewBody,\n },\n options\n );\n};\n\n/**\n * Extend the lock duration on an agent currently being reviewed for media\n * @summary Extend media review lock\n */\nexport const extendMediaReviewLock = (\n agentId: string,\n extendMediaReviewLockBody?: ExtendMediaReviewLockBody,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<ExtendMediaReviewLock200>(\n {\n url: `/api/media-review/agents/${agentId}/extend-lock`,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json' },\n data: extendMediaReviewLockBody,\n },\n options\n );\n};\n\n/**\n * Release the lock on an agent currently being reviewed for media\n * @summary Release media review lock\n */\nexport const releaseMediaReviewLock = (\n agentId: string,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<ReleaseMediaReviewLock200>(\n { url: `/api/media-review/agents/${agentId}/release-lock`, method: 'PUT' },\n options\n );\n};\n\n/**\n * Reject multiple media items at once\n * @summary Bulk reject media\n */\nexport const bulkRejectMedia = (\n bulkRejectMediaBody: BulkRejectMediaBody,\n options?: SecondParameter<typeof customInstance>\n) => {\n return customInstance<BulkRejectMedia200>(\n {\n url: `/api/media-review/bulk-reject`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: bulkRejectMediaBody,\n },\n options\n );\n};\n\nexport type GetHealthResult = NonNullable<Awaited<ReturnType<typeof getHealth>>>;\nexport type GetLivenessResult = NonNullable<Awaited<ReturnType<typeof getLiveness>>>;\nexport type GetStartupResult = NonNullable<Awaited<ReturnType<typeof getStartup>>>;\nexport type GetConstantsResult = NonNullable<Awaited<ReturnType<typeof getConstants>>>;\nexport type ListAllAgentsResult = NonNullable<Awaited<ReturnType<typeof listAllAgents>>>;\nexport type GetAgentByIdResult = NonNullable<Awaited<ReturnType<typeof getAgentById>>>;\nexport type UpdateAgentResult = NonNullable<Awaited<ReturnType<typeof updateAgent>>>;\nexport type GetAgentMediaResult = NonNullable<Awaited<ReturnType<typeof getAgentMedia>>>;\nexport type CreateAgentMediaResult = NonNullable<Awaited<ReturnType<typeof createAgentMedia>>>;\nexport type UpdateAgentMediaResult = NonNullable<Awaited<ReturnType<typeof updateAgentMedia>>>;\nexport type DeleteAgentMediaResult = NonNullable<Awaited<ReturnType<typeof deleteAgentMedia>>>;\nexport type SwitchAgentPrimaryMediaResult = NonNullable<\n Awaited<ReturnType<typeof switchAgentPrimaryMedia>>\n>;\nexport type CreateAgentMediaUploadUrlResult = NonNullable<\n Awaited<ReturnType<typeof createAgentMediaUploadUrl>>\n>;\nexport type CropAgentMediaResult = NonNullable<Awaited<ReturnType<typeof cropAgentMedia>>>;\nexport type ResetAgentMediaCropResult = NonNullable<\n Awaited<ReturnType<typeof resetAgentMediaCrop>>\n>;\nexport type ProcessAgentMediaVariantsResult = NonNullable<\n Awaited<ReturnType<typeof processAgentMediaVariants>>\n>;\nexport type GetNextAgentForReviewResult = NonNullable<\n Awaited<ReturnType<typeof getNextAgentForReview>>\n>;\nexport type ApproveAgentResult = NonNullable<Awaited<ReturnType<typeof approveAgent>>>;\nexport type RejectAgentResult = NonNullable<Awaited<ReturnType<typeof rejectAgent>>>;\nexport type UnlockAgentResult = NonNullable<Awaited<ReturnType<typeof unlockAgent>>>;\nexport type ExtendAgentLockResult = NonNullable<Awaited<ReturnType<typeof extendAgentLock>>>;\nexport type GetReviewStatsResult = NonNullable<Awaited<ReturnType<typeof getReviewStats>>>;\nexport type ListWorldsResult = NonNullable<Awaited<ReturnType<typeof listWorlds>>>;\nexport type InitializeWorldResult = NonNullable<Awaited<ReturnType<typeof initializeWorld>>>;\nexport type UpdateWorldResult = NonNullable<Awaited<ReturnType<typeof updateWorld>>>;\nexport type DeleteWorldResult = NonNullable<Awaited<ReturnType<typeof deleteWorld>>>;\nexport type UpdateDemographicsResult = NonNullable<Awaited<ReturnType<typeof updateDemographics>>>;\nexport type ListAgentsResult = NonNullable<Awaited<ReturnType<typeof listAgents>>>;\nexport type GetAgentResult = NonNullable<Awaited<ReturnType<typeof getAgent>>>;\nexport type GetAgentCalendarResult = NonNullable<Awaited<ReturnType<typeof getAgentCalendar>>>;\nexport type GeneratePopulationResult = NonNullable<Awaited<ReturnType<typeof generatePopulation>>>;\nexport type GetPopulationJobResult = NonNullable<Awaited<ReturnType<typeof getPopulationJob>>>;\nexport type GetPopulationStatsResult = NonNullable<Awaited<ReturnType<typeof getPopulationStats>>>;\nexport type BatchCreateLocationsResult = NonNullable<\n Awaited<ReturnType<typeof batchCreateLocations>>\n>;\nexport type AddNameResult = NonNullable<Awaited<ReturnType<typeof addName>>>;\nexport type DeleteNamesResult = NonNullable<Awaited<ReturnType<typeof deleteNames>>>;\nexport type BatchAddNamesResult = NonNullable<Awaited<ReturnType<typeof batchAddNames>>>;\nexport type ListTagsResult = NonNullable<Awaited<ReturnType<typeof listTags>>>;\nexport type CreateTagResult = NonNullable<Awaited<ReturnType<typeof createTag>>>;\nexport type GetTagResult = NonNullable<Awaited<ReturnType<typeof getTag>>>;\nexport type UpdateTagResult = NonNullable<Awaited<ReturnType<typeof updateTag>>>;\nexport type DeleteTagResult = NonNullable<Awaited<ReturnType<typeof deleteTag>>>;\nexport type GetAgentTagsResult = NonNullable<Awaited<ReturnType<typeof getAgentTags>>>;\nexport type AddAgentTagsResult = NonNullable<Awaited<ReturnType<typeof addAgentTags>>>;\nexport type SetAgentTagsResult = NonNullable<Awaited<ReturnType<typeof setAgentTags>>>;\nexport type RemoveAgentTagsResult = NonNullable<Awaited<ReturnType<typeof removeAgentTags>>>;\nexport type GetNextMediaForReviewResult = NonNullable<\n Awaited<ReturnType<typeof getNextMediaForReview>>\n>;\nexport type GetNextAgentForMediaReviewResult = NonNullable<\n Awaited<ReturnType<typeof getNextAgentForMediaReview>>\n>;\nexport type ApproveMediaResult = NonNullable<Awaited<ReturnType<typeof approveMedia>>>;\nexport type RejectMediaResult = NonNullable<Awaited<ReturnType<typeof rejectMedia>>>;\nexport type SkipMediaReviewResult = NonNullable<Awaited<ReturnType<typeof skipMediaReview>>>;\nexport type GetMediaReviewStatsResult = NonNullable<\n Awaited<ReturnType<typeof getMediaReviewStats>>\n>;\nexport type GetAgentsWithPendingMediaResult = NonNullable<\n Awaited<ReturnType<typeof getAgentsWithPendingMedia>>\n>;\nexport type GetAgentPendingMediaResult = NonNullable<\n Awaited<ReturnType<typeof getAgentPendingMedia>>\n>;\nexport type GetAgentApprovedMediaResult = NonNullable<\n Awaited<ReturnType<typeof getAgentApprovedMedia>>\n>;\nexport type AgentMediaReviewResult = NonNullable<Awaited<ReturnType<typeof agentMediaReview>>>;\nexport type ExtendMediaReviewLockResult = NonNullable<\n Awaited<ReturnType<typeof extendMediaReviewLock>>\n>;\nexport type ReleaseMediaReviewLockResult = NonNullable<\n Awaited<ReturnType<typeof releaseMediaReviewLock>>\n>;\nexport type BulkRejectMediaResult = NonNullable<Awaited<ReturnType<typeof bulkRejectMedia>>>;\n","/**\n * Generated by orval v7.10.0 🍺\n * Do not edit manually.\n * Companion World API\n * API for managing virtual worlds populated with AI-driven agents.\n\n## Overview\nThe Companion World API provides endpoints for:\n- Creating and managing virtual worlds\n- Generating populations of AI agents\n- Managing agent activities and calendars\n- Configuring locations and demographics\n\n## Authentication\nCurrently, the API operates without authentication. This will be updated in future versions.\n\n## Async Operations\nLong-running operations (like population generation) return job IDs for status polling.\n\n * OpenAPI spec version: 1.0.0\n */\n\nexport type AgeDistributionDistribution =\n (typeof AgeDistributionDistribution)[keyof typeof AgeDistributionDistribution];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const AgeDistributionDistribution = {\n normal: 'normal',\n uniform: 'uniform',\n} as const;\n","/**\n * Generated by orval v7.10.0 🍺\n * Do not edit manually.\n * Companion World API\n * API for managing virtual worlds populated with AI-driven agents.\n\n## Overview\nThe Companion World API provides endpoints for:\n- Creating and managing virtual worlds\n- Generating populations of AI agents\n- Managing agent activities and calendars\n- Configuring locations and demographics\n\n## Authentication\nCurrently, the API operates without authentication. This will be updated in future versions.\n\n## Async Operations\nLong-running operations (like population generation) return job IDs for status polling.\n\n * OpenAPI spec version: 1.0.0\n */\n\n/**\n * Type of media\n */\nexport type AgentMediaItemType = (typeof AgentMediaItemType)[keyof typeof AgentMediaItemType];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const AgentMediaItemType = {\n image: 'image',\n video: 'video',\n document: 'document',\n} as const;\n","/**\n * Generated by orval v7.10.0 🍺\n * Do not edit manually.\n * Companion World API\n * API for managing virtual worlds populated with AI-driven agents.\n\n## Overview\nThe Companion World API provides endpoints for:\n- Creating and managing virtual worlds\n- Generating populations of AI agents\n- Managing agent activities and calendars\n- Configuring locations and demographics\n\n## Authentication\nCurrently, the API operates without authentication. This will be updated in future versions.\n\n## Async Operations\nLong-running operations (like population generation) return job IDs for status polling.\n\n * OpenAPI spec version: 1.0.0\n */\n\n/**\n * Action to apply to all media items\n */\nexport type AgentMediaReviewBodyAction =\n (typeof AgentMediaReviewBodyAction)[keyof typeof AgentMediaReviewBodyAction];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const AgentMediaReviewBodyAction = {\n approve: 'approve',\n reject: 'reject',\n skip: 'skip',\n} as const;\n","/**\n * Generated by orval v7.10.0 🍺\n * Do not edit manually.\n * Companion World API\n * API for managing virtual worlds populated with AI-driven agents.\n\n## Overview\nThe Companion World API provides endpoints for:\n- Creating and managing virtual worlds\n- Generating populations of AI agents\n- Managing agent activities and calendars\n- Configuring locations and demographics\n\n## Authentication\nCurrently, the API operates without authentication. This will be updated in future versions.\n\n## Async Operations\nLong-running operations (like population generation) return job IDs for status polling.\n\n * OpenAPI spec version: 1.0.0\n */\n\n/**\n * Agent's review status (only when include_review=true)\n */\nexport type AgentReviewStatus = (typeof AgentReviewStatus)[keyof typeof AgentReviewStatus];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const AgentReviewStatus = {\n pending: 'pending',\n locked_for_review: 'locked_for_review',\n approved: 'approved',\n rejected: 'rejected',\n needs_changes: 'needs_changes',\n} as const;\n","/**\n * Generated by orval v7.10.0 🍺\n * Do not edit manually.\n * Companion World API\n * API for managing virtual worlds populated with AI-driven agents.\n\n## Overview\nThe Companion World API provides endpoints for:\n- Creating and managing virtual worlds\n- Generating populations of AI agents\n- Managing agent activities and calendars\n- Configuring locations and demographics\n\n## Authentication\nCurrently, the API operates without authentication. This will be updated in future versions.\n\n## Async Operations\nLong-running operations (like population generation) return job IDs for status polling.\n\n * OpenAPI spec version: 1.0.0\n */\n\n/**\n * Current status of the agent\n */\nexport type AgentStatus = (typeof AgentStatus)[keyof typeof AgentStatus];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const AgentStatus = {\n active: 'active',\n inactive: 'inactive',\n archived: 'archived',\n pending: 'pending',\n approved: 'approved',\n rejected: 'rejected',\n} as const;\n","/**\n * Generated by orval v7.10.0 🍺\n * Do not edit manually.\n * Companion World API\n * API for managing virtual worlds populated with AI-driven agents.\n\n## Overview\nThe Companion World API provides endpoints for:\n- Creating and managing virtual worlds\n- Generating populations of AI agents\n- Managing agent activities and calendars\n- Configuring locations and demographics\n\n## Authentication\nCurrently, the API operates without authentication. This will be updated in future versions.\n\n## Async Operations\nLong-running operations (like population generation) return job IDs for status polling.\n\n * OpenAPI spec version: 1.0.0\n */\n\n/**\n * Agent's status\n */\nexport type AgentStatusProperty = (typeof AgentStatusProperty)[keyof typeof AgentStatusProperty];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const AgentStatusProperty = {\n active: 'active',\n inactive: 'inactive',\n archived: 'archived',\n rejected: 'rejected',\n} as const;\n","/**\n * Generated by orval v7.10.0 🍺\n * Do not edit manually.\n * Companion World API\n * API for managing virtual worlds populated with AI-driven agents.\n\n## Overview\nThe Companion World API provides endpoints for:\n- Creating and managing virtual worlds\n- Generating populations of AI agents\n- Managing agent activities and calendars\n- Configuring locations and demographics\n\n## Authentication\nCurrently, the API operates without authentication. This will be updated in future versions.\n\n## Async Operations\nLong-running operations (like population generation) return job IDs for status polling.\n\n * OpenAPI spec version: 1.0.0\n */\n\nexport type CalendarEntryActivityType =\n (typeof CalendarEntryActivityType)[keyof typeof CalendarEntryActivityType];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const CalendarEntryActivityType = {\n work: 'work',\n meal: 'meal',\n social: 'social',\n exercise: 'exercise',\n shopping: 'shopping',\n entertainment: 'entertainment',\n personal: 'personal',\n commute: 'commute',\n sleep: 'sleep',\n other: 'other',\n} as const;\n","/**\n * Generated by orval v7.10.0 🍺\n * Do not edit manually.\n * Companion World API\n * API for managing virtual worlds populated with AI-driven agents.\n\n## Overview\nThe Companion World API provides endpoints for:\n- Creating and managing virtual worlds\n- Generating populations of AI agents\n- Managing agent activities and calendars\n- Configuring locations and demographics\n\n## Authentication\nCurrently, the API operates without authentication. This will be updated in future versions.\n\n## Async Operations\nLong-running operations (like population generation) return job IDs for status polling.\n\n * OpenAPI spec version: 1.0.0\n */\n\nexport type CalendarEntryRecurrencePattern =\n (typeof CalendarEntryRecurrencePattern)[keyof typeof CalendarEntryRecurrencePattern];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const CalendarEntryRecurrencePattern = {\n daily: 'daily',\n weekdays: 'weekdays',\n weekly: 'weekly',\n monthly: 'monthly',\n} as const;\n","/**\n * Generated by orval v7.10.0 🍺\n * Do not edit manually.\n * Companion World API\n * API for managing virtual worlds populated with AI-driven agents.\n\n## Overview\nThe Companion World API provides endpoints for:\n- Creating and managing virtual worlds\n- Generating populations of AI agents\n- Managing agent activities and calendars\n- Configuring locations and demographics\n\n## Authentication\nCurrently, the API operates without authentication. This will be updated in future versions.\n\n## Async Operations\nLong-running operations (like population generation) return job IDs for status polling.\n\n * OpenAPI spec version: 1.0.0\n */\n\n/**\n * Content rating for appropriate audience\n */\nexport type CreateAgentMediaRequestAudienceRating =\n (typeof CreateAgentMediaRequestAudienceRating)[keyof typeof CreateAgentMediaRequestAudienceRating];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const CreateAgentMediaRequestAudienceRating = {\n G: 'G',\n PG: 'PG',\n 'PG-13': 'PG-13',\n R: 'R',\n 'NC-17': 'NC-17',\n} as const;\n","/**\n * Generated by orval v7.10.0 🍺\n * Do not edit manually.\n * Companion World API\n * API for managing virtual worlds populated with AI-driven agents.\n\n## Overview\nThe Companion World API provides endpoints for:\n- Creating and managing virtual worlds\n- Generating populations of AI agents\n- Managing agent activities and calendars\n- Configuring locations and demographics\n\n## Authentication\nCurrently, the API operates without authentication. This will be updated in future versions.\n\n## Async Operations\nLong-running operations (like population generation) return job IDs for status polling.\n\n * OpenAPI spec version: 1.0.0\n */\n\n/**\n * Type of media\n */\nexport type CreateAgentMediaRequestType =\n (typeof CreateAgentMediaRequestType)[keyof typeof CreateAgentMediaRequestType];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const CreateAgentMediaRequestType = {\n image: 'image',\n video: 'video',\n document: 'document',\n} as const;\n","/**\n * Generated by orval v7.10.0 🍺\n * Do not edit manually.\n * Companion World API\n * API for managing virtual worlds populated with AI-driven agents.\n\n## Overview\nThe Companion World API provides endpoints for:\n- Creating and managing virtual worlds\n- Generating populations of AI agents\n- Managing agent activities and calendars\n- Configuring locations and demographics\n\n## Authentication\nCurrently, the API operates without authentication. This will be updated in future versions.\n\n## Async Operations\nLong-running operations (like population generation) return job IDs for status polling.\n\n * OpenAPI spec version: 1.0.0\n */\n\n/**\n * Content rating for appropriate audience\n */\nexport type CreateUploadUrlRequestAudienceRating =\n (typeof CreateUploadUrlRequestAudienceRating)[keyof typeof CreateUploadUrlRequestAudienceRating];\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const CreateUploadUrlRequestAudienceRating = {\n G: 'G',\n PG: 'PG',\n 'PG-13': 'PG-13',\n R: 'R',\n 'NC-17': 'NC-17',\n} as const;\n","/**\n * Generated by orval v7.10.0 🍺\n * Do not edit manually.\n * Companion World API\n * API for managing virtual worlds populated with AI-driven agents.\n\n## Overview\nThe Companion World API provides endpoints for:\n- Creating and managing virtual worlds\n- Generating populations of AI agents\n- Managing agent activities and calendars\n- Configuring locations and demographics\n\n## Authentication\nCurrently, the API operates without authentication. This will be updated in future versions.\n\n## Async Operations\nLong-running operations (like population generation) return job IDs for status polling.\n\n * OpenAPI spec version: 1.0.0\n */\n\n/**\n * Type of media being uploaded\n */\nexport type CreateUploadUrlRequestMediaType =\n (typeof CreateUploadUrlRequestMediaType)[k