Package-level declarations

Types

Link copied to clipboard
@Serializable
data class ActionAcceptedPayload(val suspendId: String, val clientActionId: String, val actionType: String, val acceptedAt: String, val message: String? = null)

Details about an accepted user action.

Link copied to clipboard
@Serializable
data class CancelTaskBody(val reason: String? = null)

Request body for cancelling a task.

Link copied to clipboard
@Serializable
data class CancelTaskResponse(val taskId: String, val status: CancelTaskStatus)

Response from a task cancellation request.

Link copied to clipboard
@Serializable
enum CancelTaskStatus : Enum<CancelTaskStatus>

Status of a cancellation request.

Link copied to clipboard
sealed interface KnownTaskEvent : TaskEvent

Interface for task events with a known TaskEventType.

Link copied to clipboard
@Serializable
data class PollEventsResponse(val taskId: String, val events: List<RawTaskEventEnvelope>, val nextAfterEventId: String? = null, val hasMore: Boolean, var rawJson: String? = null)

Response from a long-polling event request.

Link copied to clipboard
@Serializable
data class RawTaskEventEnvelope(val type: String, val taskId: String, val eventId: String, val createdAt: String, val payload: JsonObject = JsonObject(emptyMap()))

Raw JSON envelope for events as received from the server.

Link copied to clipboard
@Serializable
data class SubmitActionResponse(val taskId: String, val suspendId: String, val clientActionId: String, val status: SubmitActionStatus)

Response from an action submission request.

Link copied to clipboard

Status of an action submission.

Link copied to clipboard
@Serializable
data class SuspensionPayload(val suspendId: String, val kind: TaskSuspensionKind, val reasonCode: String, val allowedActions: List<String>, val schemaVersion: Int, val expiresAt: String? = null, val uiHints: JsonObject = JsonObject(emptyMap()), val interaction: JsonObject = JsonObject(emptyMap()))

Details about a task suspension waiting for user interaction.

Link copied to clipboard
data class TaskActionAcceptedEvent(val taskId: String, val eventId: String, val createdAt: String, val payload: JsonObject = JsonObject(emptyMap()), val accepted: ActionAcceptedPayload) : KnownTaskEvent

Emitted when a user action has been successfully processed.

Link copied to clipboard
@Serializable
data class TaskActionRequest(val clientActionId: String, val suspendId: String, val actionType: String, val payload: JsonObject = JsonObject(emptyMap()), val metadata: JsonObject = JsonObject(emptyMap()))

Request to submit a user action for a suspended task.

Link copied to clipboard
data class TaskBridgeMultipartAttachment(val fieldName: String = "attachments", val fileName: String, val contentType: String = "application/octet-stream", val content: ByteArray)

Represents a file attachment for a multipart task creation request.

Link copied to clipboard
data class TaskCancelledEvent(val taskId: String, val eventId: String, val createdAt: String, val payload: JsonObject = JsonObject(emptyMap())) : KnownTaskEvent

Emitted when the task is cancelled.

Link copied to clipboard
data class TaskCompletedEvent(val taskId: String, val eventId: String, val createdAt: String, val payload: JsonObject = JsonObject(emptyMap())) : KnownTaskEvent

Emitted when the task completes successfully.

Link copied to clipboard
@Serializable
data class TaskCreatedResponse(val taskId: String, val status: TaskStatus, val clientRequestId: String, val deduplicated: Boolean = false)

Response from the server after a task is created.

Link copied to clipboard
@Serializable
data class TaskCreateJsonRequest(val clientRequestId: String, val taskType: String, val input: JsonObject = JsonObject(emptyMap()), val metadata: JsonObject = JsonObject(emptyMap()))

Request body for starting a new task with JSON input.

Link copied to clipboard
sealed interface TaskEvent

Base interface for all task events.

Link copied to clipboard
@Serializable
enum TaskEventType : Enum<TaskEventType>

Types of events that can be emitted during a task lifecycle.

Link copied to clipboard
data class TaskFailedEvent(val taskId: String, val eventId: String, val createdAt: String, val payload: JsonObject = JsonObject(emptyMap())) : KnownTaskEvent

Emitted when the task fails with an error.

Link copied to clipboard
@Serializable
data class TaskFailedPayload(val code: String, val message: String, val retryable: Boolean)

Structured payload for TASK_FAILED events.

Link copied to clipboard
data class TaskMessageEvent(val taskId: String, val eventId: String, val createdAt: String, val payload: JsonObject = JsonObject(emptyMap())) : KnownTaskEvent

Emitted for general information or logging.

Link copied to clipboard
data class TaskProgressEvent(val taskId: String, val eventId: String, val createdAt: String, val payload: JsonObject = JsonObject(emptyMap())) : KnownTaskEvent

Emitted to provide updates on task progress.

Link copied to clipboard
@Serializable
data class TaskProgressPayload(val progress: Float, val stage: String? = null, val message: String? = null)

Structured payload for TASK_PROGRESS events.

Link copied to clipboard
data class TaskStartedEvent(val taskId: String, val eventId: String, val createdAt: String, val payload: JsonObject = JsonObject(emptyMap())) : KnownTaskEvent

Emitted when the task starts execution.

Link copied to clipboard
@Serializable
enum TaskStatus : Enum<TaskStatus>

Overall status of a task.

Link copied to clipboard
data class TaskSuspendedEvent(val taskId: String, val eventId: String, val createdAt: String, val payload: JsonObject = JsonObject(emptyMap()), val suspension: SuspensionPayload) : KnownTaskEvent

Emitted when the task enters a suspended state.

Link copied to clipboard

Categories of task suspensions as defined in the protocol.

Link copied to clipboard
data class UnknownTaskEvent(val wireType: String, val taskId: String, val eventId: String, val createdAt: String, val payload: JsonObject = JsonObject(emptyMap())) : TaskEvent

Represents an event with an unknown or unmapped wireType.

Functions

Link copied to clipboard

Tries to parse the payload as TaskFailedPayload if the event type matches.

Link copied to clipboard

Tries to parse the payload as TaskProgressPayload if the event type matches.

Link copied to clipboard

Returns true if this event indicates the final state of the task.

Link copied to clipboard