openapi: 3.1.0 info: title: fleet-rlm version: 0.7.1 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 description: "Create a session for the authenticated user in the current workspace.\n\ \nParameters:\n body (SessionCreateRequest): Session creation data, including\ \ the optional title.\n identity (LocalScopeDep): Authenticated user and\ \ workspace scope.\n repo (SessionCatalogDep): Session repository used\ \ to create the session.\n\nReturns:\n SessionDetailResponse: The newly\ \ created session details." 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 description: "Update the title or status of a session within the authenticated\ \ user's workspace.\n\nParameters:\n body (SessionPatchRequest): Fields\ \ to update; at least one field is required.\n\nReturns:\n SessionDetailResponse:\ \ The updated session details.\n\nRaises:\n HTTPException: If no fields\ \ are provided, the title is blank, the status is invalid, or the\n \ \ session cannot be updated." 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 description: "Download an artifact within the caller's workspace scope.\n\n\ Parameters:\n artifact_id (UUID): Identifier of the artifact to download.\n\ \nReturns:\n Response: The artifact content with its media type and download\ \ filename.\n\nRaises:\n HTTPException: If the artifact is missing or artifact\ \ storage is unavailable." 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 skill metadata available to the caller, optionally ranked\ \ by a search query.\n\nParameters:\n q (str | None): Optional query used\ \ to rank skills by matching terms in their names or descriptions.\n\nReturns:\n\ \ list[SkillCardResponse]: Response-formatted skill cards." 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 description: "Request cancellation for a run.\n\nParameters:\n run_id (UUID):\ \ The identifier of the run to cancel.\n identity (LocalScopeDep): The\ \ authenticated user's workspace scope.\n lifecycle (RunLifecycleDep):\ \ The run lifecycle service.\n\nReturns:\n CancellationResponse: The run\ \ identifier and resulting cancellation state." 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 description: "Update the settings policy's default profile or a specified field.\n\ \nParameters:\n body (SettingsPolicyPatchRequest): The requested profile\ \ or field update, including the expected revision.\n\nReturns:\n SettingsPolicyResponse:\ \ The updated settings policy.\n\nRaises:\n HTTPException: If the revision\ \ conflicts, the update is invalid, or the policy is unavailable." 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. DataArtifactUIMessagePart: properties: data: $ref: '#/components/schemas/JsonValue' id: anyOf: - type: string - type: 'null' title: Id type: type: string const: data-artifact title: Type default: data-artifact additionalProperties: false type: object required: - data title: DataArtifactUIMessagePart DataAttachmentUIMessagePart: properties: data: $ref: '#/components/schemas/JsonValue' id: anyOf: - type: string - type: 'null' title: Id type: type: string const: data-attachment title: Type default: data-attachment additionalProperties: false type: object required: - data title: DataAttachmentUIMessagePart DataRLMCodeUIMessagePart: properties: data: $ref: '#/components/schemas/JsonValue' type: type: string const: data-rlm-code title: Type default: data-rlm-code additionalProperties: false type: object required: - data title: DataRLMCodeUIMessagePart DataRLMOutputUIMessagePart: properties: data: $ref: '#/components/schemas/JsonValue' type: type: string const: data-rlm-output title: Type default: data-rlm-output additionalProperties: false type: object required: - data title: DataRLMOutputUIMessagePart DataSkillUIMessagePart: properties: data: $ref: '#/components/schemas/JsonValue' id: anyOf: - type: string - type: 'null' title: Id type: type: string const: data-skill title: Type default: data-skill additionalProperties: false type: object required: - data title: DataSkillUIMessagePart DataStatusUIMessagePart: properties: data: $ref: '#/components/schemas/JsonValue' type: type: string const: data-status title: Type default: data-status additionalProperties: false type: object required: - data title: DataStatusUIMessagePart DataStepUIMessagePart: properties: data: $ref: '#/components/schemas/JsonValue' type: type: string const: data-step title: Type default: data-step additionalProperties: false type: object required: - data title: DataStepUIMessagePart DataStructuredResultUIMessagePart: properties: data: $ref: '#/components/schemas/JsonValue' type: type: string const: data-structured-result title: Type default: data-structured-result additionalProperties: false type: object required: - data title: DataStructuredResultUIMessagePart DataUsageUIMessagePart: properties: data: $ref: '#/components/schemas/JsonValue' type: type: string const: data-usage title: Type default: data-usage additionalProperties: false type: object required: - data title: DataUsageUIMessagePart DataWarningUIMessagePart: properties: data: $ref: '#/components/schemas/JsonValue' type: type: string const: data-warning title: Type default: data-warning additionalProperties: false type: object required: - data title: DataWarningUIMessagePart DynamicToolUIMessagePart: properties: type: type: string const: dynamic-tool title: Type default: dynamic-tool toolName: type: string title: Toolname toolCallId: type: string title: Toolcallid state: type: string title: State 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 additionalProperties: false type: object required: - toolName - toolCallId - state - input title: DynamicToolUIMessagePart JsonValue: {} ReasoningUIMessagePart: properties: text: type: string title: Text state: anyOf: - type: string - type: 'null' title: State type: type: string const: reasoning title: Type default: reasoning additionalProperties: false type: object required: - text title: ReasoningUIMessagePart 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 - string_list 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. StepStartUIMessagePart: properties: type: type: string const: step-start title: Type default: step-start additionalProperties: false type: object title: StepStartUIMessagePart TextUIMessagePart: properties: text: type: string title: Text state: anyOf: - type: string - type: 'null' title: State type: type: string const: text title: Type default: text additionalProperties: false type: object required: - text title: TextUIMessagePart UIMessageResponse: properties: id: type: string title: Id role: type: string enum: - user - assistant title: Role parts: items: oneOf: - $ref: '#/components/schemas/TextUIMessagePart' - $ref: '#/components/schemas/ReasoningUIMessagePart' - $ref: '#/components/schemas/DynamicToolUIMessagePart' - $ref: '#/components/schemas/StepStartUIMessagePart' - $ref: '#/components/schemas/DataStatusUIMessagePart' - $ref: '#/components/schemas/DataStepUIMessagePart' - $ref: '#/components/schemas/DataRLMCodeUIMessagePart' - $ref: '#/components/schemas/DataRLMOutputUIMessagePart' - $ref: '#/components/schemas/DataSkillUIMessagePart' - $ref: '#/components/schemas/DataAttachmentUIMessagePart' - $ref: '#/components/schemas/DataWarningUIMessagePart' - $ref: '#/components/schemas/DataArtifactUIMessagePart' - $ref: '#/components/schemas/DataUsageUIMessagePart' - $ref: '#/components/schemas/DataStructuredResultUIMessagePart' discriminator: propertyName: type mapping: data-artifact: '#/components/schemas/DataArtifactUIMessagePart' data-attachment: '#/components/schemas/DataAttachmentUIMessagePart' data-rlm-code: '#/components/schemas/DataRLMCodeUIMessagePart' data-rlm-output: '#/components/schemas/DataRLMOutputUIMessagePart' data-skill: '#/components/schemas/DataSkillUIMessagePart' data-status: '#/components/schemas/DataStatusUIMessagePart' data-step: '#/components/schemas/DataStepUIMessagePart' data-structured-result: '#/components/schemas/DataStructuredResultUIMessagePart' data-usage: '#/components/schemas/DataUsageUIMessagePart' data-warning: '#/components/schemas/DataWarningUIMessagePart' dynamic-tool: '#/components/schemas/DynamicToolUIMessagePart' reasoning: '#/components/schemas/ReasoningUIMessagePart' step-start: '#/components/schemas/StepStartUIMessagePart' text: '#/components/schemas/TextUIMessagePart' 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: oneOf: - additionalProperties: false properties: type: const: start title: Type type: string messageId: format: uuid title: Messageid type: string messageMetadata: additionalProperties: true title: Messagemetadata type: object required: - type - messageId - messageMetadata title: StartChunk type: object - additionalProperties: false properties: type: const: start-step title: Type type: string title: StartStepChunk type: object required: - type - additionalProperties: false properties: type: const: finish-step title: Type type: string title: FinishStepChunk type: object required: - type - additionalProperties: false properties: type: const: reasoning-start title: Type type: string id: minLength: 1 title: Id type: string required: - type - id title: ReasoningStartChunk type: object - additionalProperties: false properties: type: const: reasoning-delta title: Type type: string id: minLength: 1 title: Id type: string delta: title: Delta type: string required: - type - id - delta title: ReasoningDeltaChunk type: object - additionalProperties: false properties: type: const: reasoning-end title: Type type: string id: minLength: 1 title: Id type: string required: - type - id title: ReasoningEndChunk type: object - additionalProperties: false properties: type: const: data-status title: Type type: string id: type: string title: Id data: additionalProperties: false properties: phase: title: Phase type: string status: anyOf: - type: string - type: 'null' title: Status detail: anyOf: - type: string - type: 'null' title: Detail message: anyOf: - type: string - type: 'null' title: Message required: - phase title: StatusData type: object transient: anyOf: - type: boolean - type: 'null' title: Transient required: - type - data title: DataStatusChunk type: object - additionalProperties: false properties: type: const: data-skill title: Type type: string id: type: string title: Id data: additionalProperties: false properties: skill_id: title: Skill Id type: string name: title: Name type: string version: title: Version type: string phase: anyOf: - enum: - activated - loaded type: string - type: 'null' title: Phase trust: anyOf: - type: string - type: 'null' title: Trust affordances: anyOf: - items: type: string type: array - type: 'null' title: Affordances skillId: anyOf: - type: string - type: 'null' title: Skillid required: - skill_id - name - version title: SkillData type: object transient: anyOf: - type: boolean - type: 'null' title: Transient required: - type - data title: DataSkillChunk type: object - additionalProperties: false properties: type: const: data-rlm-code title: Type type: string id: type: string title: Id data: additionalProperties: false properties: code: title: Code type: string step: anyOf: - type: integer - type: 'null' title: Step stream_id: anyOf: - type: string - type: 'null' title: Stream Id is_delta: anyOf: - type: boolean - type: 'null' title: Is Delta is_final: anyOf: - type: boolean - type: 'null' title: Is Final required: - code title: RLMCodeData type: object transient: anyOf: - type: boolean - type: 'null' title: Transient required: - type - data title: DataRLMCodeChunk type: object - additionalProperties: false properties: type: const: data-rlm-output title: Type type: string id: type: string title: Id data: additionalProperties: false properties: output: title: Output type: string step: anyOf: - type: integer - type: 'null' title: Step stream_id: anyOf: - type: string - type: 'null' title: Stream Id is_delta: anyOf: - type: boolean - type: 'null' title: Is Delta is_final: anyOf: - type: boolean - type: 'null' title: Is Final required: - output title: RLMOutputData type: object transient: anyOf: - type: boolean - type: 'null' title: Transient required: - type - data title: DataRLMOutputChunk type: object - additionalProperties: false properties: type: const: tool-input-available title: Type type: string toolCallId: minLength: 1 title: Toolcallid type: string toolName: minLength: 1 title: Toolname type: string input: title: Input dynamic: anyOf: - type: boolean - type: 'null' title: Dynamic providerExecuted: anyOf: - type: boolean - type: 'null' title: Providerexecuted required: - type - toolCallId - toolName - input title: ToolInputAvailableChunk type: object - additionalProperties: false properties: type: const: tool-output-available title: Type type: string toolCallId: minLength: 1 title: Toolcallid type: string output: title: Output dynamic: anyOf: - type: boolean - type: 'null' title: Dynamic providerExecuted: anyOf: - type: boolean - type: 'null' title: Providerexecuted required: - type - toolCallId - output title: ToolOutputAvailableChunk type: object - additionalProperties: false properties: type: const: tool-output-error title: Type type: string toolCallId: minLength: 1 title: Toolcallid type: string errorText: minLength: 1 title: Errortext type: string dynamic: anyOf: - type: boolean - type: 'null' title: Dynamic providerExecuted: anyOf: - type: boolean - type: 'null' title: Providerexecuted required: - type - toolCallId - errorText title: ToolOutputErrorChunk type: object - additionalProperties: false properties: type: const: data-attachment title: Type type: string id: type: string title: Id data: additionalProperties: false properties: attachment_id: format: uuid title: Attachment Id type: string filename: title: Filename type: string phase: anyOf: - type: string - type: 'null' title: Phase byte_size: anyOf: - type: integer - type: 'null' title: Byte Size attachmentId: anyOf: - type: string - type: 'null' title: Attachmentid byteSize: anyOf: - type: integer - type: 'null' title: Bytesize required: - attachment_id - filename title: AttachmentData type: object transient: anyOf: - type: boolean - type: 'null' title: Transient required: - type - data title: DataAttachmentChunk type: object - additionalProperties: false properties: type: const: data-warning title: Type type: string id: type: string title: Id data: additionalProperties: false properties: message: title: Message type: string code: anyOf: - type: string - type: 'null' title: Code required: - message title: WarningData type: object transient: anyOf: - type: boolean - type: 'null' title: Transient required: - type - data title: DataWarningChunk type: object - additionalProperties: false properties: type: const: data-artifact title: Type type: string id: type: string title: Id data: additionalProperties: false properties: artifact_id: format: uuid title: Artifact Id type: string artifact_kind: anyOf: - type: string - type: 'null' title: Artifact Kind kind: anyOf: - type: string - type: 'null' title: Kind title: anyOf: - type: string - type: 'null' title: Title name: anyOf: - type: string - type: 'null' title: Name media_type: anyOf: - type: string - type: 'null' title: Media Type mediaType: anyOf: - type: string - type: 'null' title: Mediatype byte_size: anyOf: - type: integer - type: 'null' title: Byte Size byteSize: anyOf: - type: integer - type: 'null' title: Bytesize checksum_sha256: anyOf: - type: string - type: 'null' title: Checksum Sha256 checksumSha256: anyOf: - type: string - type: 'null' title: Checksumsha256 artifactId: anyOf: - type: string - type: 'null' title: Artifactid required: - artifact_id title: ArtifactData type: object transient: anyOf: - type: boolean - type: 'null' title: Transient required: - type - data title: DataArtifactChunk type: object - additionalProperties: false properties: type: const: data-usage title: Type type: string id: type: string title: Id data: additionalProperties: false properties: usage: additionalProperties: true title: Usage type: object required: - usage title: UsageData type: object transient: anyOf: - type: boolean - type: 'null' title: Transient required: - type - data title: DataUsageChunk type: object - additionalProperties: false properties: type: const: data-structured-result title: Type type: string id: type: string title: Id data: additionalProperties: false properties: schema_id: title: Schema Id type: string schema_version: title: Schema Version type: string value: title: Value schemaId: anyOf: - type: string - type: 'null' title: Schemaid schemaVersion: anyOf: - type: string - type: 'null' title: Schemaversion required: - schema_id - schema_version - value title: StructuredResultData type: object transient: anyOf: - type: boolean - type: 'null' title: Transient required: - type - data title: DataStructuredResultChunk type: object - additionalProperties: false properties: type: const: text-start title: Type type: string id: minLength: 1 title: Id type: string required: - type - id title: TextStartChunk type: object - additionalProperties: false properties: type: const: text-delta title: Type type: string id: minLength: 1 title: Id type: string delta: title: Delta type: string required: - type - id - delta title: TextDeltaChunk type: object - additionalProperties: false properties: type: const: text-end title: Type type: string id: minLength: 1 title: Id type: string required: - type - id title: TextEndChunk type: object - additionalProperties: false properties: type: const: finish title: Type type: string finishReason: enum: - stop - error title: Finishreason type: string messageMetadata: anyOf: - additionalProperties: true type: object - type: 'null' title: Messagemetadata required: - type - finishReason title: FinishChunk type: object - additionalProperties: false properties: type: const: abort title: Type type: string reason: title: Reason type: string required: - type - reason title: AbortChunk type: object - additionalProperties: false properties: type: const: error title: Type type: string errorText: minLength: 1 title: Errortext type: string required: - type - errorText title: ErrorChunk type: object title: FleetUIMessageChunk