openapi: 3.1.0 info: title: fleet-rlm version: 0.7.0 paths: /api/sessions/{session_id}/turns: post: tags: - turns summary: Create Turn description: Stream one Turn, opening claim and preparation inside the SSE generator. operationId: create_turn parameters: - name: session_id in: path required: true schema: type: string format: uuid title: Session Id - name: Idempotency-Key in: header required: true schema: type: string minLength: 1 maxLength: 128 title: Idempotency-Key requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateTurnRequest' responses: '200': description: 'AI SDK UI v1 UIMessage SSE stream. It opens immediately with a transient data-status prelude (phase=preparation) that repeats every runtime heartbeat until the Turn is claimed and prepared. Claim or preparation failures no longer change the HTTP status: they project closed error + finish chunks inside the stream, and cancellation projects one abort chunk.' content: text/event-stream: itemSchema: type: object properties: data: type: string event: type: string id: type: string retry: type: integer minimum: 0 schema: type: string x-event-data-schema: $ref: '#/components/schemas/FleetUIMessageChunk' headers: Cache-Control: schema: type: string X-Accel-Buffering: schema: type: string x-vercel-ai-ui-message-stream: schema: type: string '422': description: Invalid request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '503': description: Turn unavailable while composition installs dependencies content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' get: tags: - sessions summary: List Session Turns operationId: list_session_turns parameters: - name: session_id in: path required: true schema: type: string format: uuid title: Session Id - name: limit in: query required: false schema: type: integer maximum: 200 minimum: 1 default: 50 title: Limit - name: after_sequence in: query required: false schema: anyOf: - type: integer minimum: 0 - type: 'null' title: After Sequence responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/SessionTurnPageResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /api/sessions: post: tags: - sessions summary: Create Session operationId: create_session requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SessionCreateRequest' responses: '201': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/SessionDetailResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' get: tags: - sessions summary: List Sessions operationId: list_sessions parameters: - name: status in: query required: false schema: anyOf: - enum: - active - archived type: string - type: 'null' title: Status - name: search in: query required: false schema: anyOf: - type: string - type: 'null' description: Title contains title: Search description: Title contains - name: limit in: query required: false schema: type: integer maximum: 100 minimum: 1 default: 20 title: Limit - name: offset in: query required: false schema: type: integer minimum: 0 default: 0 title: Offset responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/SessionListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /api/sessions/{session_id}: get: tags: - sessions summary: Get Session operationId: get_session parameters: - name: session_id in: path required: true schema: type: string format: uuid title: Session Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/SessionDetailResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' patch: tags: - sessions summary: Patch Session operationId: update_session parameters: - name: session_id in: path required: true schema: type: string format: uuid title: Session Id requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SessionPatchRequest' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/SessionDetailResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /api/attachments: post: tags: - attachments summary: Upload Attachment operationId: create_attachment requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/Body_create_attachment' required: true responses: '201': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/AttachmentResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /api/attachments/{attachment_id}: get: tags: - attachments summary: Get Attachment operationId: get_attachment parameters: - name: attachment_id in: path required: true schema: type: string format: uuid title: Attachment Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/AttachmentResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /api/artifacts/{artifact_id}: get: tags: - artifacts summary: Get Artifact operationId: get_artifact parameters: - name: artifact_id in: path required: true schema: type: string format: uuid title: Artifact Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ArtifactResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /api/artifacts/{artifact_id}/content: get: tags: - artifacts summary: Download Artifact operationId: download_artifact parameters: - name: artifact_id in: path required: true schema: type: string format: uuid title: Artifact Id responses: '200': description: Artifact bytes with integrity headers headers: Content-Disposition: schema: type: string ETag: description: SHA-256 of the artifact bytes, quoted (e.g. "hex") schema: type: string Content-Length: schema: type: integer X-Content-Type-Options: schema: type: string '404': description: Artifact not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '503': description: Artifact storage is unavailable content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /api/skills: get: tags: - skills summary: List Skills description: List SkillCards authorized for the caller (metadata only). operationId: list_skills parameters: - name: q in: query required: false schema: anyOf: - type: string - type: 'null' description: Optional ranking query title: Q description: Optional ranking query responses: '200': description: Successful Response content: application/json: schema: type: array items: $ref: '#/components/schemas/SkillCardResponse' title: Response List Skills '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /api/skills/{skill_id}: get: tags: - skills summary: Get Skill operationId: get_skill parameters: - name: skill_id in: path required: true schema: type: string format: uuid title: Skill Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/SkillCardResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /api/runs/{run_id}/cancellation: put: tags: - runs summary: Request Run Cancellation operationId: request_run_cancellation parameters: - name: run_id in: path required: true schema: type: string format: uuid title: Run Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/CancellationResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /api/settings: get: tags: - settings summary: Get Settings Policy operationId: get_settings_policy responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/SettingsPolicyResponse' patch: tags: - settings summary: Patch Settings Policy operationId: update_settings_policy requestBody: content: application/json: schema: $ref: '#/components/schemas/SettingsPolicyPatchRequest' required: true responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/SettingsPolicyResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /api/files: get: tags: - workspace-files summary: List Workspace Files operationId: list_workspace_files_api parameters: - name: path in: query required: false schema: type: string description: Workspace-relative path default: . title: Path description: Workspace-relative path - name: limit in: query required: false schema: type: integer maximum: 100 minimum: 1 default: 100 title: Limit - name: after in: query required: false schema: anyOf: - type: string - type: 'null' title: After responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/WorkspaceFileListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /api/files/stat: get: tags: - workspace-files summary: Stat Workspace File operationId: stat_workspace_file_api parameters: - name: path in: query required: true schema: type: string title: Path responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/WorkspaceFileEntryResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /api/files/content: get: tags: - workspace-files summary: Read Workspace File operationId: read_workspace_file_api parameters: - name: path in: query required: true schema: type: string title: Path - name: cursor in: query required: false schema: anyOf: - type: string - type: 'null' title: Cursor - name: max_chars in: query required: false schema: type: integer maximum: 10000 minimum: 1 default: 10000 title: Max Chars responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/WorkspaceFileReadResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' put: tags: - workspace-files summary: Write Workspace File operationId: write_workspace_file_api requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/WorkspaceFileWriteRequest' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/WorkspaceFileEntryResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' delete: tags: - workspace-files summary: Delete Workspace File operationId: delete_workspace_file_api requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/WorkspaceFileDeleteRequest' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/WorkspaceFileDeleteResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' patch: tags: - workspace-files summary: Patch Workspace File operationId: patch_workspace_file_api requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/WorkspaceFilePatchRequest' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/WorkspaceFileEntryResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /api/files/append: post: tags: - workspace-files summary: Append Workspace File operationId: append_workspace_file_api requestBody: content: application/json: schema: $ref: '#/components/schemas/WorkspaceFileAppendRequest' required: true responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/WorkspaceFileEntryResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /api/volume/tree: get: tags: - volume summary: List Volume Tree operationId: list_volume_tree_api parameters: - name: root in: query required: false schema: type: string minLength: 1 maxLength: 256 default: . title: Root - name: max_depth in: query required: false schema: type: integer maximum: 32 minimum: 1 default: 8 title: Max Depth - name: max_files in: query required: false schema: type: integer maximum: 10000 minimum: 1 default: 2000 title: Max Files responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/VolumeTreeResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' components: schemas: ArtifactResponse: properties: id: type: string format: uuid title: Id session_id: type: string format: uuid title: Session Id run_id: type: string format: uuid title: Run Id kind: type: string enum: - text - markdown - json title: Kind title: anyOf: - type: string - type: 'null' title: Title media_type: type: string title: Media Type byte_size: type: integer title: Byte Size checksum_sha256: type: string title: Checksum Sha256 type: object required: - id - session_id - run_id - kind - media_type - byte_size - checksum_sha256 title: ArtifactResponse description: Public artifact metadata — no host or Volume paths. AttachmentResponse: properties: id: type: string format: uuid title: Id filename: type: string title: Filename content_type: anyOf: - type: string - type: 'null' title: Content Type byte_size: type: integer title: Byte Size checksum_sha256: type: string title: Checksum Sha256 type: object required: - id - filename - byte_size - checksum_sha256 title: AttachmentResponse description: Public attachment metadata — no host or Volume paths. Body_create_attachment: properties: attachment: type: string contentMediaType: application/octet-stream title: Attachment type: object required: - attachment title: Body_create_attachment CancellationResponse: properties: run_id: type: string format: uuid title: Run Id state: type: string enum: - requested - already_requested - already_terminal title: State type: object required: - run_id - state title: CancellationResponse CreateTurnRequest: properties: text: type: string maxLength: 100000 minLength: 1 title: Text attachment_ids: items: type: string format: uuid type: array title: Attachment Ids skill_selections: items: $ref: '#/components/schemas/SkillSelectionRequest' type: array maxItems: 4 title: Skill Selections additionalProperties: false type: object required: - text title: CreateTurnRequest description: Canonical body for POST /api/sessions/{session_id}/turns. JsonValue: {} SessionCreateRequest: properties: title: anyOf: - type: string maxLength: 255 - type: 'null' title: Title additionalProperties: false type: object title: SessionCreateRequest SessionDetailResponse: properties: id: type: string format: uuid title: Id title: type: string title: Title status: type: string enum: - active - archived title: Status checkpoint_version: type: integer title: Checkpoint Version created_at: anyOf: - type: string - type: 'null' title: Created At updated_at: anyOf: - type: string - type: 'null' title: Updated At type: object required: - id - title - status - checkpoint_version title: SessionDetailResponse description: Session detail — same public shape as the summary today. SessionListResponse: properties: items: items: $ref: '#/components/schemas/SessionSummaryResponse' type: array title: Items total: type: integer title: Total offset: type: integer title: Offset limit: type: integer title: Limit has_more: type: boolean title: Has More type: object required: - items - total - offset - limit - has_more title: SessionListResponse SessionPatchRequest: properties: title: anyOf: - type: string maxLength: 255 - type: 'null' title: Title status: anyOf: - type: string enum: - active - archived - type: 'null' title: Status additionalProperties: false type: object title: SessionPatchRequest SessionSummaryResponse: properties: id: type: string format: uuid title: Id title: type: string title: Title status: type: string enum: - active - archived title: Status checkpoint_version: type: integer title: Checkpoint Version created_at: anyOf: - type: string - type: 'null' title: Created At updated_at: anyOf: - type: string - type: 'null' title: Updated At type: object required: - id - title - status - checkpoint_version title: SessionSummaryResponse SessionTurnPageResponse: properties: items: items: $ref: '#/components/schemas/UIMessageResponse' type: array title: Items next_after_sequence: anyOf: - type: integer - type: 'null' title: Next After Sequence type: object required: - items title: SessionTurnPageResponse SettingsFieldResponse: properties: path: type: string title: Path group: type: string title: Group label: type: string title: Label value: $ref: '#/components/schemas/JsonValue' editor: type: string enum: - text - number - boolean - single_choice - multi_choice title: Editor choices: items: type: string type: array title: Choices environment_overridden: type: boolean title: Environment Overridden default: false type: object required: - path - group - label - value - editor title: SettingsFieldResponse SettingsPolicyPatchRequest: properties: revision: type: string maxLength: 64 minLength: 64 pattern: ^[0-9a-f]{64}$ title: Revision scope: anyOf: - type: string maxLength: 128 minLength: 1 pattern: ^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$ - type: 'null' title: Scope path: anyOf: - type: string maxLength: 128 minLength: 1 pattern: ^[a-z][a-z0-9_.]*$ - type: 'null' title: Path value: $ref: '#/components/schemas/JsonValue' profile: anyOf: - type: string maxLength: 128 minLength: 1 pattern: ^[A-Za-z0-9][A-Za-z0-9._-]*$ - type: 'null' title: Profile additionalProperties: false type: object required: - revision title: SettingsPolicyPatchRequest SettingsPolicyResponse: properties: revision: type: string title: Revision active_profile: anyOf: - type: string - type: 'null' title: Active Profile default_profile: anyOf: - type: string - type: 'null' title: Default Profile available_profiles: items: type: string type: array title: Available Profiles restart_required: type: boolean title: Restart Required default: true scopes: items: $ref: '#/components/schemas/SettingsScopeResponse' type: array title: Scopes type: object required: - revision - scopes title: SettingsPolicyResponse SettingsScopeResponse: properties: name: type: string title: Name fields: items: $ref: '#/components/schemas/SettingsFieldResponse' type: array title: Fields type: object required: - name - fields title: SettingsScopeResponse SkillCardResponse: properties: id: type: string format: uuid title: Id name: type: string title: Name description: type: string title: Description scope: type: string enum: - system - workspace title: Scope version: type: string title: Version trust: type: string enum: - system - workspace - untrusted title: Trust affordances: items: type: string type: array title: Affordances resources_available: type: boolean title: Resources Available type: object required: - id - name - description - scope - version - trust - affordances - resources_available title: SkillCardResponse description: Bounded Skill discovery metadata — no instructions body. SkillSelectionRequest: properties: id: type: string format: uuid title: Id expected_version: type: string maxLength: 64 minLength: 1 pattern: ^[A-Za-z0-9][A-Za-z0-9._+-]{0,63}$ title: Expected Version additionalProperties: false type: object required: - id - expected_version title: SkillSelectionRequest description: One exact version-pinned Skill requested for the next Turn. UIMessagePart: properties: type: type: string enum: - text - reasoning - dynamic-tool - step-start - data-status - data-step - data-rlm-code - data-rlm-output - data-skill - data-attachment - data-warning - data-artifact - data-usage - data-structured-result title: Type text: anyOf: - type: string - type: 'null' title: Text state: anyOf: - type: string - type: 'null' title: State id: anyOf: - type: string - type: 'null' title: Id toolName: anyOf: - type: string - type: 'null' title: Toolname toolCallId: anyOf: - type: string - type: 'null' title: Toolcallid input: $ref: '#/components/schemas/JsonValue' output: $ref: '#/components/schemas/JsonValue' errorText: anyOf: - type: string - type: 'null' title: Errortext providerExecuted: anyOf: - type: boolean - type: 'null' title: Providerexecuted data: $ref: '#/components/schemas/JsonValue' additionalProperties: false type: object required: - type title: UIMessagePart description: Closed reload part vocabulary; variant-specific values remain bounded JSON. UIMessageResponse: properties: id: type: string title: Id role: type: string enum: - user - assistant title: Role parts: items: $ref: '#/components/schemas/UIMessagePart' type: array title: Parts metadata: anyOf: - additionalProperties: $ref: '#/components/schemas/JsonValue' type: object - type: 'null' title: Metadata type: object required: - id - role - parts title: UIMessageResponse VolumeTreeResponse: properties: paths: items: type: string type: array title: Paths directories: items: type: string type: array title: Directories truncated: type: boolean title: Truncated default: false type: object required: - paths title: VolumeTreeResponse description: Logical files visible in the LocalScope Workspace Volume. WorkspaceFileAppendRequest: properties: path: type: string maxLength: 1024 minLength: 1 title: Path content: type: string title: Content expected_sha256: anyOf: - type: string maxLength: 64 minLength: 64 pattern: ^[0-9a-f]{64}$ - type: 'null' title: Expected Sha256 additionalProperties: false type: object required: - path - content title: WorkspaceFileAppendRequest WorkspaceFileDeleteRequest: properties: path: type: string maxLength: 1024 minLength: 1 title: Path expected_sha256: anyOf: - type: string maxLength: 64 minLength: 64 pattern: ^[0-9a-f]{64}$ - type: 'null' title: Expected Sha256 additionalProperties: false type: object required: - path title: WorkspaceFileDeleteRequest WorkspaceFileDeleteResponse: properties: ok: type: boolean title: Ok default: true path: type: string title: Path type: object required: - path title: WorkspaceFileDeleteResponse WorkspaceFileEntryResponse: properties: path: type: string title: Path kind: type: string enum: - file - directory title: Kind byte_size: anyOf: - type: integer - type: 'null' title: Byte Size modified_at: anyOf: - type: string - type: 'null' title: Modified At checksum_sha256: anyOf: - type: string - type: 'null' title: Checksum Sha256 type: object required: - path - kind title: WorkspaceFileEntryResponse WorkspaceFileListResponse: properties: entries: items: $ref: '#/components/schemas/WorkspaceFileEntryResponse' type: array title: Entries truncated: type: boolean title: Truncated default: false next_cursor: anyOf: - type: string - type: 'null' title: Next Cursor type: object required: - entries title: WorkspaceFileListResponse WorkspaceFilePatchRequest: properties: path: type: string maxLength: 1024 minLength: 1 title: Path old: type: string minLength: 1 title: Old new: type: string title: New expected_sha256: anyOf: - type: string maxLength: 64 minLength: 64 pattern: ^[0-9a-f]{64}$ - type: 'null' title: Expected Sha256 additionalProperties: false type: object required: - path - old - new title: WorkspaceFilePatchRequest WorkspaceFileReadResponse: properties: path: type: string title: Path content: type: string title: Content next_cursor: anyOf: - type: string - type: 'null' title: Next Cursor byte_size: type: integer title: Byte Size eof: type: boolean title: Eof type: object required: - path - content - byte_size - eof title: WorkspaceFileReadResponse WorkspaceFileWriteRequest: properties: path: type: string maxLength: 1024 minLength: 1 title: Path content: type: string title: Content overwrite: type: boolean title: Overwrite expected_sha256: anyOf: - type: string maxLength: 64 minLength: 64 pattern: ^[0-9a-f]{64}$ - type: 'null' title: Expected Sha256 additionalProperties: false type: object required: - path - content - overwrite title: WorkspaceFileWriteRequest ErrorResponse: properties: code: title: Code type: string message: title: Message type: string required: - code - message title: ErrorResponse type: object FleetUIMessageChunk: title: FleetUIMessageChunk oneOf: - type: object properties: type: type: string const: start messageId: type: string format: uuid messageMetadata: type: object additionalProperties: true required: - type - messageId - messageMetadata additionalProperties: false - type: object properties: type: type: string const: start-step required: - type additionalProperties: false - type: object properties: type: type: string const: finish-step required: - type additionalProperties: false - type: object properties: type: type: string const: reasoning-start id: type: string required: - type - id additionalProperties: false - type: object properties: type: type: string const: reasoning-delta id: type: string delta: type: string required: - type - id - delta additionalProperties: false - type: object properties: type: type: string const: reasoning-end id: type: string required: - type - id additionalProperties: false - type: object properties: type: type: string const: data-status id: type: string data: type: object properties: phase: type: string status: type: string detail: type: string message: anyOf: - type: string - type: 'null' additionalProperties: true required: - phase transient: type: boolean required: - type - data additionalProperties: false - type: object properties: type: type: string const: data-skill id: type: string data: type: object properties: skill_id: type: string skillId: type: string name: type: string version: type: string phase: type: string enum: - activated - loaded trust: type: string affordances: type: array items: type: string additionalProperties: true required: - name - version - skill_id transient: type: boolean required: - type - data additionalProperties: false - type: object properties: type: type: string const: data-rlm-code id: type: string data: type: object properties: code: type: string step: anyOf: - type: integer - type: 'null' stream_id: anyOf: - type: string - type: 'null' is_delta: type: boolean is_final: type: boolean additionalProperties: true required: - code transient: type: boolean required: - type - data additionalProperties: false - type: object properties: type: type: string const: data-rlm-output id: type: string data: type: object properties: output: type: string step: anyOf: - type: integer - type: 'null' stream_id: anyOf: - type: string - type: 'null' is_delta: type: boolean is_final: type: boolean additionalProperties: true required: - output transient: type: boolean required: - type - data additionalProperties: false - type: object properties: type: type: string const: tool-input-available toolCallId: type: string toolName: type: string input: {} dynamic: type: boolean providerExecuted: type: boolean required: - type - toolCallId - toolName - input additionalProperties: false - type: object properties: type: type: string const: tool-output-available toolCallId: type: string output: {} dynamic: type: boolean providerExecuted: type: boolean required: - type - toolCallId - output additionalProperties: false - type: object properties: type: type: string const: tool-output-error toolCallId: type: string errorText: type: string dynamic: type: boolean providerExecuted: type: boolean required: - type - toolCallId - errorText additionalProperties: false - type: object properties: type: type: string const: data-attachment id: type: string data: type: object properties: attachment_id: type: string attachmentId: type: string phase: type: string filename: type: string byte_size: type: integer byteSize: type: integer additionalProperties: true required: - filename - attachment_id transient: type: boolean required: - type - data additionalProperties: false - type: object properties: type: type: string const: data-warning id: type: string data: type: object properties: message: type: string code: anyOf: - type: string - type: 'null' additionalProperties: true required: - message transient: type: boolean required: - type - data additionalProperties: false - type: object properties: type: type: string const: data-artifact id: type: string data: type: object properties: artifact_id: type: string artifactId: type: string artifact_kind: type: string kind: type: string title: anyOf: - type: string - type: 'null' name: type: string media_type: type: string mediaType: type: string byte_size: type: integer byteSize: type: integer checksum_sha256: type: string checksumSha256: type: string additionalProperties: true required: - artifact_id transient: type: boolean required: - type - data additionalProperties: false - type: object properties: type: type: string const: data-usage id: type: string data: type: object properties: usage: type: object additionalProperties: true additionalProperties: true required: - usage transient: type: boolean required: - type - data additionalProperties: false - type: object properties: type: type: string const: data-structured-result id: type: string data: type: object properties: schema_id: type: string schemaId: type: string schema_version: type: string schemaVersion: type: string value: {} additionalProperties: true required: - schema_id - schema_version - value transient: type: boolean required: - type - data additionalProperties: false - type: object properties: type: type: string const: text-start id: type: string required: - type - id additionalProperties: false - type: object properties: type: type: string const: text-delta id: type: string delta: type: string required: - type - id - delta additionalProperties: false - type: object properties: type: type: string const: text-end id: type: string required: - type - id additionalProperties: false - type: object properties: type: type: string const: finish finishReason: type: string enum: - stop - error messageMetadata: type: object additionalProperties: true required: - type - finishReason additionalProperties: false - type: object properties: type: type: string const: abort reason: type: string required: - type - reason additionalProperties: false - type: object properties: type: type: string const: error errorText: type: string required: - type - errorText additionalProperties: false