/** * Generated by orval v8.19.0 🍺 * Do not edit manually. * Webitel API * OpenAPI spec version: 24.04.0 */ import * as zod from 'zod'; /** * @summary List of Agent */ export const SearchAgentQueryParams = zod.object({ page: zod.number().optional(), size: zod.number().optional(), q: zod.string().optional(), sort: zod.string().optional(), fields: zod.array(zod.string()).optional(), id: zod.array(zod.string()).optional(), allowChannels: zod.array(zod.string()).optional(), supervisorId: zod.array(zod.number()).optional(), teamId: zod.array(zod.number()).optional(), regionId: zod.array(zod.number()).optional(), auditorId: zod.array(zod.number()).optional(), isSupervisor: zod.boolean().optional(), skillId: zod.array(zod.number()).optional(), queueId: zod.array(zod.number()).optional(), notSupervisor: zod.boolean().optional(), userId: zod.array(zod.string()).optional(), extension: zod.array(zod.string()).optional(), notTeamId: zod.array(zod.number()).optional(), notSkillId: zod.array(zod.number()).optional(), notUserId: zod.array(zod.string()).optional(), }); export const SearchAgentResponse = zod.object({ items: zod .array( zod.object({ allowChannels: zod.array(zod.string()).optional(), allowSetScreenControl: zod.boolean().optional(), auditor: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), channel: zod .array( zod.object({ channel: zod.string().optional(), joinedAt: zod.string().optional(), state: zod.string().optional(), timeout: zod.string().optional(), }), ) .optional(), chatCount: zod.number().optional(), description: zod.string().optional(), extension: zod.string().optional(), extraChatCount: zod.number().optional(), greetingMedia: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), id: zod.string().optional(), isSupervisor: zod.boolean().optional(), lastStatusChange: zod.string().optional(), name: zod.string().optional(), progressiveCount: zod.number().optional(), region: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), screenControl: zod.boolean().optional(), skills: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), status: zod.string().optional(), statusDuration: zod.string().optional(), supervisor: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), taskCount: zod.number().optional(), team: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), user: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), userPresenceStatus: zod .object({ status: zod.string().optional(), }) .optional(), }), ) .optional(), next: zod.boolean().optional(), }); /** * @summary Create Agent */ export const CreateAgentBody = zod.object({ allowChannels: zod.array(zod.string()).optional(), auditor: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), chatCount: zod.number().optional(), description: zod.string().optional(), domainId: zod.string().optional(), extraChatCount: zod.number().optional(), greetingMedia: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), isSupervisor: zod.boolean().optional(), progressiveCount: zod.number().optional(), region: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), screenControl: zod.boolean().optional(), supervisor: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), taskCount: zod.number().optional(), team: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), user: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), }); export const CreateAgentResponse = zod.object({ allowChannels: zod.array(zod.string()).optional(), allowSetScreenControl: zod.boolean().optional(), auditor: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), channel: zod .array( zod.object({ channel: zod.string().optional(), joinedAt: zod.string().optional(), state: zod.string().optional(), timeout: zod.string().optional(), }), ) .optional(), chatCount: zod.number().optional(), description: zod.string().optional(), extension: zod.string().optional(), extraChatCount: zod.number().optional(), greetingMedia: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), id: zod.string().optional(), isSupervisor: zod.boolean().optional(), lastStatusChange: zod.string().optional(), name: zod.string().optional(), progressiveCount: zod.number().optional(), region: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), screenControl: zod.boolean().optional(), skills: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), status: zod.string().optional(), statusDuration: zod.string().optional(), supervisor: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), taskCount: zod.number().optional(), team: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), user: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), userPresenceStatus: zod .object({ status: zod.string().optional(), }) .optional(), }); export const SearchAgentCallStatisticsQueryParams = zod.object({ page: zod.number().optional(), size: zod.number().optional(), 'time.from': zod.string().optional(), 'time.to': zod.string().optional(), agentId: zod.array(zod.number()).optional(), domainId: zod.string().optional(), q: zod.string().optional(), fields: zod.array(zod.string()).optional(), sort: zod.string().optional(), }); export const SearchAgentCallStatisticsResponse = zod.object({ items: zod .array( zod.object({ abandoned: zod.number().optional(), avgHoldSec: zod.number().optional(), avgTalkSec: zod.number().optional(), chatAccepts: zod.number().optional(), chatAht: zod.number().optional(), count: zod.number().optional(), handles: zod.number().optional(), maxHoldSec: zod.number().optional(), maxTalkSec: zod.number().optional(), minHoldSec: zod.number().optional(), minTalkSec: zod.number().optional(), name: zod.string().optional(), occupancy: zod.number().optional(), sumHoldSec: zod.number().optional(), sumTalkSec: zod.number().optional(), utilization: zod.number().optional(), }), ) .optional(), next: zod.boolean().optional(), }); export const SearchAgentStatusStatisticQueryParams = zod.object({ page: zod.number().optional(), size: zod.number().optional(), q: zod.string().optional(), sort: zod.string().optional(), fields: zod.array(zod.string()).optional(), agentId: zod.array(zod.string()).optional(), 'time.from': zod.string().optional(), 'time.to': zod.string().optional(), status: zod.array(zod.string()).optional(), queueId: zod.array(zod.number()).optional(), teamId: zod.array(zod.number()).optional(), 'utilization.from': zod.string().optional(), 'utilization.to': zod.string().optional(), hasCall: zod.boolean().optional(), skillId: zod.array(zod.number()).optional(), regionId: zod.array(zod.number()).optional(), supervisorId: zod.array(zod.number()).optional(), auditorId: zod.array(zod.string()).optional(), }); export const SearchAgentStatusStatisticResponse = zod.object({ items: zod .array( zod.object({ activeCallId: zod.string().optional(), agentId: zod.number().optional(), auditor: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), callTime: zod.string().optional(), chatCount: zod.number().optional(), chatTime: zod.string().optional(), descTrack: zod.boolean().optional(), extension: zod.string().optional(), handles: zod.number().optional(), maxBridgedAt: zod.string().optional(), maxOfferingAt: zod.string().optional(), missed: zod.number().optional(), name: zod.string().optional(), occupancy: zod.number().optional(), offline: zod.string().optional(), online: zod.string().optional(), pause: zod.string().optional(), pauseCause: zod.string().optional(), queues: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), screenControl: zod.boolean().optional(), skills: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), status: zod.string().optional(), statusComment: zod.string().optional(), statusDuration: zod.string().optional(), supervisor: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), team: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), transferred: zod.number().optional(), user: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), utilization: zod.number().optional(), }), ) .optional(), next: zod.boolean().optional(), }); export const SearchAgentStatusStatisticItemParams = zod.object({ agent_id: zod.string(), }); export const SearchAgentStatusStatisticItemQueryParams = zod.object({ 'time.from': zod.string().optional(), 'time.to': zod.string().optional(), }); export const SearchAgentStatusStatisticItemResponse = zod.object({ agentId: zod.number().optional(), auditor: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), chatCount: zod.number().optional(), descTrack: zod.boolean().optional(), extension: zod.string().optional(), name: zod.string().optional(), offline: zod.string().optional(), online: zod.string().optional(), pause: zod.string().optional(), pauseCause: zod.string().optional(), progressiveCount: zod.number().optional(), region: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), scoreCount: zod.string().optional(), scoreOptionalAvg: zod.number().optional(), scoreRequiredAvg: zod.number().optional(), screenControl: zod.boolean().optional(), status: zod.string().optional(), statusComment: zod.string().optional(), statusDuration: zod.string().optional(), supervisor: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), team: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), user: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), }); export const SearchAgentStateHistoryQueryParams = zod.object({ page: zod.number().optional(), size: zod.number().optional(), 'joinedAt.from': zod.string().optional(), 'joinedAt.to': zod.string().optional(), agentId: zod.array(zod.string()).optional(), sort: zod.string().optional(), domainId: zod.string().optional(), fromId: zod.string().optional(), }); export const SearchAgentStateHistoryResponse = zod.object({ items: zod .array( zod.object({ agent: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), channel: zod.string().optional(), duration: zod.string().optional(), id: zod.string().optional(), joinedAt: zod.string().optional(), leavedAt: zod.string().optional(), pauseCause: zod.string().optional(), payload: zod.string().optional(), queue: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), state: zod.string().optional(), }), ) .optional(), next: zod.boolean().optional(), }); export const SearchPauseCauseForAgentParams = zod.object({ agent_id: zod.string(), }); export const SearchPauseCauseForAgentQueryParams = zod.object({ allowChange: zod.boolean().optional(), }); export const SearchPauseCauseForAgentResponse = zod.object({ items: zod .array( zod.object({ durationMin: zod.number().optional(), id: zod.number().optional(), limitMin: zod.number().optional(), name: zod.string().optional(), }), ) .optional(), }); export const AgentStateHistoryParams = zod.object({ agent_id: zod.string(), }); export const AgentStateHistoryQueryParams = zod.object({ page: zod.number().optional(), size: zod.number().optional(), timeFrom: zod.string().optional(), timeTo: zod.string().optional(), q: zod.string().optional(), domainId: zod.string().optional(), }); export const AgentStateHistoryResponse = zod.object({ items: zod .array( zod.object({ agent: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), channel: zod.string().optional(), duration: zod.string().optional(), id: zod.string().optional(), joinedAt: zod.string().optional(), leavedAt: zod.string().optional(), pauseCause: zod.string().optional(), payload: zod.string().optional(), queue: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), state: zod.string().optional(), }), ) .optional(), next: zod.boolean().optional(), }); export const AgentSetStateParams = zod.object({ agent_id: zod.number(), }); export const AgentSetStateBody = zod.looseObject({}); export const AgentSetStateResponse = zod.looseObject({}); export const SearchAgentInQueueStatisticsParams = zod.object({ agent_id: zod.string(), }); export const SearchAgentInQueueStatisticsQueryParams = zod.object({ domainId: zod.string().optional(), }); export const SearchAgentInQueueStatisticsResponse = zod.object({ items: zod .array( zod.object({ queue: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), statistics: zod .array( zod.object({ bucket: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), memberWaiting: zod.number().optional(), skill: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), }), ) .optional(), }), ) .optional(), }); export const AgentTodayStatisticsParams = zod.object({ agent_id: zod.string(), }); export const AgentTodayStatisticsQueryParams = zod.object({ fields: zod.array(zod.string()).optional(), }); export const AgentTodayStatisticsResponse = zod.object({ available: zod.number().optional(), avgHoldSec: zod.number().optional(), avgTalkSec: zod.number().optional(), callAbandoned: zod.number().optional(), callDialerQueue: zod.number().optional(), callHandled: zod.number().optional(), callInbound: zod.number().optional(), callInboundQueue: zod.number().optional(), callManual: zod.number().optional(), callMissed: zod.number().optional(), callQueueMissed: zod.number().optional(), chatAccepts: zod.number().optional(), chatAht: zod.number().optional(), occupancy: zod.number().optional(), online: zod.number().optional(), processing: zod.number().optional(), queueTalkSec: zod.number().optional(), scoreCount: zod.string().optional(), scoreOptionalAvg: zod.number().optional(), scoreOptionalSum: zod.number().optional(), scoreRequiredAvg: zod.number().optional(), scoreRequiredSum: zod.number().optional(), sumTalkSec: zod.string().optional(), taskAccepts: zod.number().optional(), utilization: zod.number().optional(), voiceMail: zod.number().optional(), }); /** * @summary Remove Agent */ export const DeleteAgentParams = zod.object({ id: zod.string(), }); export const DeleteAgentQueryParams = zod.object({ domainId: zod.string().optional(), }); export const DeleteAgentResponse = zod.object({ allowChannels: zod.array(zod.string()).optional(), allowSetScreenControl: zod.boolean().optional(), auditor: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), channel: zod .array( zod.object({ channel: zod.string().optional(), joinedAt: zod.string().optional(), state: zod.string().optional(), timeout: zod.string().optional(), }), ) .optional(), chatCount: zod.number().optional(), description: zod.string().optional(), extension: zod.string().optional(), extraChatCount: zod.number().optional(), greetingMedia: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), id: zod.string().optional(), isSupervisor: zod.boolean().optional(), lastStatusChange: zod.string().optional(), name: zod.string().optional(), progressiveCount: zod.number().optional(), region: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), screenControl: zod.boolean().optional(), skills: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), status: zod.string().optional(), statusDuration: zod.string().optional(), supervisor: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), taskCount: zod.number().optional(), team: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), user: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), userPresenceStatus: zod .object({ status: zod.string().optional(), }) .optional(), }); /** * @summary Agent item */ export const ReadAgentParams = zod.object({ id: zod.string(), }); export const ReadAgentQueryParams = zod.object({ domainId: zod.string().optional(), }); export const ReadAgentResponse = zod.object({ allowChannels: zod.array(zod.string()).optional(), allowSetScreenControl: zod.boolean().optional(), auditor: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), channel: zod .array( zod.object({ channel: zod.string().optional(), joinedAt: zod.string().optional(), state: zod.string().optional(), timeout: zod.string().optional(), }), ) .optional(), chatCount: zod.number().optional(), description: zod.string().optional(), extension: zod.string().optional(), extraChatCount: zod.number().optional(), greetingMedia: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), id: zod.string().optional(), isSupervisor: zod.boolean().optional(), lastStatusChange: zod.string().optional(), name: zod.string().optional(), progressiveCount: zod.number().optional(), region: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), screenControl: zod.boolean().optional(), skills: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), status: zod.string().optional(), statusDuration: zod.string().optional(), supervisor: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), taskCount: zod.number().optional(), team: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), user: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), userPresenceStatus: zod .object({ status: zod.string().optional(), }) .optional(), }); /** * @summary Update Agent */ export const PatchAgentParams = zod.object({ id: zod.string(), }); export const PatchAgentBody = zod.object({ allowChannels: zod.array(zod.string()).optional(), auditor: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), chatCount: zod.number().optional(), description: zod.string().optional(), extraChatCount: zod.number().optional(), fields: zod.array(zod.string()).optional(), greetingMedia: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), isSupervisor: zod.boolean().optional(), progressiveCount: zod.number().optional(), region: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), screenControl: zod.boolean().optional(), supervisor: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), team: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), user: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), }); export const PatchAgentResponse = zod.object({ allowChannels: zod.array(zod.string()).optional(), allowSetScreenControl: zod.boolean().optional(), auditor: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), channel: zod .array( zod.object({ channel: zod.string().optional(), joinedAt: zod.string().optional(), state: zod.string().optional(), timeout: zod.string().optional(), }), ) .optional(), chatCount: zod.number().optional(), description: zod.string().optional(), extension: zod.string().optional(), extraChatCount: zod.number().optional(), greetingMedia: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), id: zod.string().optional(), isSupervisor: zod.boolean().optional(), lastStatusChange: zod.string().optional(), name: zod.string().optional(), progressiveCount: zod.number().optional(), region: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), screenControl: zod.boolean().optional(), skills: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), status: zod.string().optional(), statusDuration: zod.string().optional(), supervisor: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), taskCount: zod.number().optional(), team: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), user: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), userPresenceStatus: zod .object({ status: zod.string().optional(), }) .optional(), }); /** * @summary Update Agent */ export const UpdateAgentParams = zod.object({ id: zod.string(), }); export const UpdateAgentBody = zod.object({ allowChannels: zod.array(zod.string()).optional(), auditor: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), chatCount: zod.number().optional(), description: zod.string().optional(), domainId: zod.string().optional(), extraChatCount: zod.number().optional(), greetingMedia: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), isSupervisor: zod.boolean().optional(), progressiveCount: zod.number().optional(), region: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), screenControl: zod.boolean().optional(), supervisor: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), taskCount: zod.number().optional(), team: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), user: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), }); export const UpdateAgentResponse = zod.object({ allowChannels: zod.array(zod.string()).optional(), allowSetScreenControl: zod.boolean().optional(), auditor: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), channel: zod .array( zod.object({ channel: zod.string().optional(), joinedAt: zod.string().optional(), state: zod.string().optional(), timeout: zod.string().optional(), }), ) .optional(), chatCount: zod.number().optional(), description: zod.string().optional(), extension: zod.string().optional(), extraChatCount: zod.number().optional(), greetingMedia: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), id: zod.string().optional(), isSupervisor: zod.boolean().optional(), lastStatusChange: zod.string().optional(), name: zod.string().optional(), progressiveCount: zod.number().optional(), region: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), screenControl: zod.boolean().optional(), skills: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), status: zod.string().optional(), statusDuration: zod.string().optional(), supervisor: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), taskCount: zod.number().optional(), team: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), user: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), userPresenceStatus: zod .object({ status: zod.string().optional(), }) .optional(), }); /** * @summary Searches queues where the specified agent is assigned. Supports pagination, sorting and free-text search. */ export const SearchAgentInQueueParams = zod.object({ id: zod.string().describe('Unique identifier of the agent.'), }); export const SearchAgentInQueueQueryParams = zod.object({ page: zod.number().optional().describe('Page number (1-based).'), size: zod.number().optional().describe('Maximum number of records per page.'), q: zod .string() .optional() .describe('Free-text search query.\nTypically applied to queue name.'), sort: zod.string().optional().describe('Sorting expression.'), fields: zod .array(zod.string()) .optional() .describe( 'List of fields to be returned in the response.\nUsed for response projection and payload optimization.', ), }); export const SearchAgentInQueueResponse = zod .object({ items: zod .array( zod .object({ activeMembers: zod .number() .optional() .describe('Number of members currently active in the queue.'), agents: zod .object({ allowPause: zod .number() .optional() .describe( 'Indicates whether pause is allowed for agents.\nIf unset, pause availability is not defined.', ), busy: zod .number() .optional() .describe('Number of agents currently on call.'), free: zod .number() .optional() .describe( "Number of agents that are online and in 'waiting' (idle) state.", ), offline: zod .number() .optional() .describe('Number of agents currently offline.'), online: zod .number() .optional() .describe('Number of agents currently online.'), pause: zod .number() .optional() .describe('Number of agents currently in pause state.'), total: zod .number() .optional() .describe('Total number of agents assigned to the queue.'), }) .optional() .describe('Aggregated agent statistics for the queue.'), countMembers: zod .number() .optional() .describe('Total number of members assigned to the queue.'), enabled: zod .boolean() .optional() .describe('Indicates whether the queue is enabled.'), maxMemberLimit: zod .number() .optional() .describe('Maximum number of members allowed in the queue.'), priority: zod .number() .optional() .describe('Agent priority within the queue.'), queue: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional() .describe('Queue reference.'), strategy: zod .string() .optional() .describe('Call distribution strategy used by the queue.'), type: zod.number().optional().describe('Queue type.'), waitingMembers: zod .number() .optional() .describe('Number of members currently waiting in the queue.'), }) .describe( 'AgentInQueue represents agent assignment\nand configuration within a specific queue.', ), ) .optional() .describe('List of agent-to-queue assignments.'), next: zod .boolean() .optional() .describe('Indicates weather more records are available.'), }) .describe( 'ListAgentInQueue contains search results\nand pagination metadata.', ); /** * @summary Change agent status */ export const UpdateAgentStatusParams = zod.object({ id: zod.string(), }); export const UpdateAgentStatusBody = zod.object({ channels: zod.array(zod.string()).optional(), domainId: zod.string().optional(), onDemand: zod.boolean().optional(), payload: zod.string().optional(), status: zod.string().optional(), statusComment: zod.string().optional(), }); export const UpdateAgentStatusResponse = zod.object({ status: zod.string().optional(), }); /** * @summary todo deprecated ? */ export const SearchAgentInTeamParams = zod.object({ id: zod.string(), }); export const SearchAgentInTeamQueryParams = zod.object({ page: zod.number().optional(), size: zod.number().optional(), q: zod.string().optional(), domainId: zod.string().optional(), }); export const SearchAgentInTeamResponse = zod.object({ items: zod .array( zod.object({ strategy: zod.string().optional(), team: zod .object({ id: zod.string().optional(), name: zod.string().optional(), }) .optional(), }), ) .optional(), next: zod.boolean().optional(), }); /** * @summary SearchLookupAgentNotExistsUser */ export const SearchLookupUsersAgentNotExistsQueryParams = zod.object({ page: zod.number().optional(), size: zod.number().optional(), q: zod.string().optional(), domainId: zod.string().optional(), }); export const SearchLookupUsersAgentNotExistsResponse = zod.object({ items: zod .array( zod.object({ id: zod.string().optional(), name: zod.string().optional(), }), ) .optional(), next: zod.boolean().optional(), }); /** * @summary List of UserStatus */ export const SearchUserStatusQueryParams = zod.object({ page: zod.number().optional(), size: zod.number().optional(), q: zod.string().optional(), sort: zod.string().optional(), fields: zod.array(zod.string()).optional(), notUserId: zod.array(zod.string()).optional(), }); export const SearchUserStatusResponse = zod.object({ items: zod .array( zod.object({ extension: zod.string().optional(), id: zod.string().optional(), name: zod.string().optional(), presence: zod .object({ status: zod.string().optional(), }) .optional(), status: zod.string().optional(), }), ) .optional(), next: zod.boolean().optional(), });