> ## Documentation Index
> Fetch the complete documentation index at: https://kast.michne.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Workspace lifecycle

> Inputs and response fields for workspace_lifecycle.

This callable is not an HTTP endpoint. Its schemas describe the hosted tool. Direct MCP and tool RPC wrap the same semantic document differently. See the [MCP contract](/reference/mcp-catalog) or [tool RPC contract](/reference/rpc-catalog).


## OpenAPI

````yaml /reference/callables.openapi.json post /callables/workspace_lifecycle
openapi: 3.1.0
info:
  title: Kast callable reference
  version: '2'
  description: Public compiler-grounded Kast callables for connected agents.
servers: []
security: []
paths:
  /callables/workspace_lifecycle:
    post:
      summary: workspace lifecycle
      description: >-
        Inspect or explicitly control one selected IDEA workspace. Ordinary
        semantic calls prepare the exact project and wait for native readiness
        automatically; do not use this tool as a routine read preflight. For a
        requested control operation, open, present, release or close an exact
        project. The host owns document save, VFS refresh and model reload
        selection. Opening is background best effort. Preserve returned host and
        project identities and reuse request IDs only for the same operation.
        Pending work requires status, not repeated open. Trust and failed saves
        require user resolution. Release never closes a project. Borrowed or
        presented projects are protected from agent cleanup; request_user_close
        requests exact-target controller approval.
      operationId: workspace_lifecycle
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/workspace_lifecycleRequest'
      responses:
        '200':
          description: >-
            Invocation envelope: completed contains a semantic document;
            rejected contains a boundary diagnostic. A completed invocation may
            still contain a qualified or rejected semantic outcome.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/workspace_lifecycleResponse'
components:
  schemas:
    workspace_lifecycleRequest:
      anyOf:
        - type: object
          additionalProperties: false
          properties:
            type:
              type: string
              const: close
            target:
              type: object
              additionalProperties: false
              properties:
                host:
                  type: string
                project:
                  type: string
                root:
                  type: string
              required:
                - host
                - project
                - root
            requestId:
              type: string
          required:
            - type
            - target
            - requestId
          title: close
        - type: object
          additionalProperties: false
          properties:
            type:
              type: string
              const: inspect
          required:
            - type
          title: inspect
        - type: object
          additionalProperties: false
          properties:
            type:
              type: string
              const: open
            root:
              type: string
            requestId:
              type: string
          required:
            - type
            - root
            - requestId
          title: open
        - type: object
          additionalProperties: false
          properties:
            type:
              type: string
              const: present
            target:
              type: object
              additionalProperties: false
              properties:
                host:
                  type: string
                project:
                  type: string
                root:
                  type: string
              required:
                - host
                - project
                - root
            requestId:
              type: string
          required:
            - type
            - target
            - requestId
          title: present
        - type: object
          additionalProperties: false
          properties:
            type:
              type: string
              const: release
            target:
              type: object
              additionalProperties: false
              properties:
                host:
                  type: string
                project:
                  type: string
                root:
                  type: string
              required:
                - host
                - project
                - root
            requestId:
              type: string
          required:
            - type
            - target
            - requestId
          title: release
        - type: object
          additionalProperties: false
          properties:
            type:
              type: string
              const: request_user_close
            target:
              type: object
              additionalProperties: false
              properties:
                host:
                  type: string
                project:
                  type: string
                root:
                  type: string
              required:
                - host
                - project
                - root
            requestId:
              type: string
          required:
            - type
            - target
            - requestId
          title: request_user_close
        - type: object
          additionalProperties: false
          properties:
            type:
              type: string
              const: status
            host:
              type: string
            requestId:
              type: string
          required:
            - type
            - host
            - requestId
          title: status
    workspace_lifecycleResponse:
      anyOf:
        - type: object
          additionalProperties: false
          properties:
            status:
              type: string
              const: completed
              description: Process outcome.
            document:
              anyOf:
                - type: object
                  additionalProperties: false
                  properties:
                    type:
                      type: string
                      const: blocked
                    reason:
                      type: string
                      enum:
                        - HOST_UNAVAILABLE
                        - PLUGIN_UNAVAILABLE
                        - SELECTED_IDE_UNAVAILABLE
                        - LAUNCH_METADATA_UNAVAILABLE
                        - LAUNCH_METADATA_INVALID
                        - LAUNCHER_MISSING
                        - LAUNCHER_AMBIGUOUS
                        - LAUNCHER_INVALID
                        - LAUNCH_EXECUTABLE_UNAVAILABLE
                        - LAUNCH_FAILED
                        - INVALID_REQUEST
                        - WRONG_HOST
                        - STALE_PROJECT
                        - UNKNOWN_OPERATION
                        - REQUEST_CONFLICT
                        - CAPACITY
                        - PROJECT_BUSY
                        - OTHER_CLIENTS
                        - USER_AUTHORIZATION_REQUIRED
                        - UNSAVED_DOCUMENTS
                        - TRUST_REQUIRED
                        - UNLINKED_BUILD
                        - IMPORT_FAILED
                        - CANCELLED
                        - DISPOSED
                        - SHUTDOWN
                        - OPEN_FAILED
                        - CLOSE_VETOED
                        - CLOSE_RETIREMENT_PENDING
                        - PLATFORM_UNAVAILABLE
                        - HOST_IDENTITY_MISMATCH
                        - UNSUPPORTED_PROTOCOL
                        - CAPABILITY_MISMATCH
                        - UNSUPPORTED_PLATFORM_LINE
                        - UNSUPPORTED_HOST_MODE
                        - DEADLINE_EXCEEDED
                  required:
                    - type
                    - reason
                  title: blocked
                - type: object
                  additionalProperties: false
                  properties:
                    type:
                      type: string
                      const: closed
                    target:
                      type: object
                      additionalProperties: false
                      properties:
                        host:
                          type: string
                        project:
                          type: string
                        root:
                          type: string
                      required:
                        - host
                        - project
                        - root
                  required:
                    - type
                    - target
                  title: closed
                - type: object
                  additionalProperties: false
                  properties:
                    type:
                      type: string
                      const: configured
                    target:
                      type: object
                      additionalProperties: false
                      properties:
                        host:
                          type: string
                        project:
                          type: string
                        root:
                          type: string
                      required:
                        - host
                        - project
                        - root
                    rule:
                      anyOf:
                        - type: object
                          additionalProperties: false
                          properties:
                            type:
                              type: string
                              const: 'off'
                          required:
                            - type
                          title: 'off'
                        - type: object
                          additionalProperties: false
                          properties:
                            type:
                              type: string
                              const: task_success
                            task:
                              type: string
                            effect:
                              type: string
                              enum:
                                - FILE_REFRESH
                                - GRADLE_MODEL_RELOAD
                          required:
                            - type
                            - task
                            - effect
                          title: task_success
                  required:
                    - type
                    - target
                    - rule
                  title: configured
                - type: object
                  additionalProperties: false
                  properties:
                    type:
                      type: string
                      const: inspected
                    host:
                      type: string
                    home:
                      type: string
                    build:
                      type: string
                    projects:
                      type: array
                      items:
                        type: object
                        additionalProperties: false
                        properties:
                          target:
                            type: object
                            additionalProperties: false
                            properties:
                              host:
                                type: string
                              project:
                                type: string
                              root:
                                type: string
                            required:
                              - host
                              - project
                              - root
                          ownership:
                            type: string
                            enum:
                              - BORROWED
                              - MANAGED
                              - PRESENTED
                          users:
                            type: integer
                        required:
                          - target
                          - ownership
                          - users
                    protocol:
                      type: integer
                    background:
                      type: string
                      enum:
                        - best_effort
                    capabilities:
                      type: array
                      items:
                        type: string
                        enum:
                          - INSPECT
                          - OPEN
                          - PRESENT
                          - SYNC
                          - CONFIGURE_SYNC
                          - RELEASE
                          - CLOSE
                          - STATUS
                          - EXACT_USER_CLOSE
                  required:
                    - type
                    - host
                    - home
                    - build
                    - projects
                  title: inspected
                - type: object
                  additionalProperties: false
                  properties:
                    type:
                      type: string
                      const: opened
                    target:
                      type: object
                      additionalProperties: false
                      properties:
                        host:
                          type: string
                        project:
                          type: string
                        root:
                          type: string
                      required:
                        - host
                        - project
                        - root
                  required:
                    - type
                    - target
                  title: opened
                - type: object
                  additionalProperties: false
                  properties:
                    type:
                      type: string
                      const: pending
                    requestId:
                      type: string
                    stage:
                      type: string
                      enum:
                        - OPENING
                        - IMPORTING
                        - ADMISSION
                        - PRESENTING
                        - CLOSING
                    host:
                      type: string
                  required:
                    - type
                    - requestId
                    - stage
                    - host
                  title: pending
                - type: object
                  additionalProperties: false
                  properties:
                    type:
                      type: string
                      const: presented
                    target:
                      type: object
                      additionalProperties: false
                      properties:
                        host:
                          type: string
                        project:
                          type: string
                        root:
                          type: string
                      required:
                        - host
                        - project
                        - root
                  required:
                    - type
                    - target
                  title: presented
                - type: object
                  additionalProperties: false
                  properties:
                    type:
                      type: string
                      const: released
                    target:
                      type: object
                      additionalProperties: false
                      properties:
                        host:
                          type: string
                        project:
                          type: string
                        root:
                          type: string
                      required:
                        - host
                        - project
                        - root
                  required:
                    - type
                    - target
                  title: released
                - type: object
                  additionalProperties: false
                  properties:
                    type:
                      type: string
                      const: synced
                    target:
                      type: object
                      additionalProperties: false
                      properties:
                        host:
                          type: string
                        project:
                          type: string
                        root:
                          type: string
                      required:
                        - host
                        - project
                        - root
                  required:
                    - type
                    - target
                  title: synced
          required:
            - status
            - document
          title: completed
        - type: object
          additionalProperties: false
          properties:
            status:
              type: string
              const: rejected
              description: Process outcome.
            diagnostic:
              anyOf:
                - anyOf:
                    - type: object
                      additionalProperties: false
                      properties:
                        status:
                          type: string
                          const: rejected
                          description: Boundary outcome.
                        boundary:
                          type: string
                          minLength: 1
                          maxLength: 1048576
                          description: Rejected process boundary.
                        reason:
                          type: string
                          minLength: 1
                          maxLength: 1048576
                          description: Closed boundary rejection reason.
                      required:
                        - status
                        - boundary
                        - reason
                      title: rejected
                    - type: object
                      additionalProperties: false
                      properties:
                        status:
                          type: string
                          const: rejected
                          description: Boundary outcome.
                        boundary:
                          type: string
                          minLength: 1
                          maxLength: 1048576
                          description: Rejected process boundary.
                        reason:
                          type: string
                          minLength: 1
                          maxLength: 1048576
                          description: Closed boundary rejection reason.
                        diagnostic:
                          type: string
                          minLength: 1
                          maxLength: 1048576
                          description: Usage diagnostic.
                      required:
                        - status
                        - boundary
                        - reason
                        - diagnostic
                      title: rejected
                    - type: object
                      additionalProperties: false
                      properties:
                        status:
                          type: string
                          const: rejected
                          description: Boundary outcome.
                        boundary:
                          type: string
                          const: runtime
                          description: Rejected process boundary.
                        reason:
                          type: string
                          minLength: 1
                          maxLength: 1048576
                          description: Closed boundary rejection reason.
                        details:
                          anyOf:
                            - type: object
                              additionalProperties: false
                              properties:
                                type:
                                  type: string
                                  const: malformed-document
                                  description: Closed failure variant.
                              required:
                                - type
                              title: malformed-document
                            - type: object
                              additionalProperties: false
                              properties:
                                type:
                                  type: string
                                  const: non-canonical-document
                                  description: Closed failure variant.
                              required:
                                - type
                              title: non-canonical-document
                            - type: object
                              additionalProperties: false
                              properties:
                                type:
                                  type: string
                                  const: unsupported-schema
                                  description: Closed failure variant.
                              required:
                                - type
                              title: unsupported-schema
                            - type: object
                              additionalProperties: false
                              properties:
                                type:
                                  type: string
                                  const: unsupported-host-kind
                                  description: Closed failure variant.
                              required:
                                - type
                              title: unsupported-host-kind
                            - type: object
                              additionalProperties: false
                              properties:
                                type:
                                  type: string
                                  const: unsupported-framing
                                  description: Closed failure variant.
                              required:
                                - type
                              title: unsupported-framing
                            - type: object
                              additionalProperties: false
                              properties:
                                type:
                                  type: string
                                  const: invalid-canonical-root
                                  description: Closed failure variant.
                                failure:
                                  $ref: >-
                                    #/components/schemas/workspace_lifecycleResponse_finiteFailureEvidence
                              required:
                                - type
                                - failure
                              title: invalid-canonical-root
                            - type: object
                              additionalProperties: false
                              properties:
                                type:
                                  type: string
                                  const: invalid-socket-path
                                  description: Closed failure variant.
                                failure:
                                  $ref: >-
                                    #/components/schemas/workspace_lifecycleResponse_finiteFailureEvidence
                              required:
                                - type
                                - failure
                              title: invalid-socket-path
                            - type: object
                              additionalProperties: false
                              properties:
                                type:
                                  type: string
                                  const: invalid-process-id
                                  description: Closed failure variant.
                                failure:
                                  $ref: >-
                                    #/components/schemas/workspace_lifecycleResponse_finiteFailureEvidence
                              required:
                                - type
                                - failure
                              title: invalid-process-id
                            - type: object
                              additionalProperties: false
                              properties:
                                type:
                                  type: string
                                  const: invalid-runtime-epoch
                                  description: Closed failure variant.
                                failure:
                                  $ref: >-
                                    #/components/schemas/workspace_lifecycleResponse_finiteFailureEvidence
                              required:
                                - type
                                - failure
                              title: invalid-runtime-epoch
                            - type: object
                              additionalProperties: false
                              properties:
                                type:
                                  type: string
                                  const: compatibility-rejected
                                  description: Descriptor failure variant.
                                failure:
                                  anyOf:
                                    - type: object
                                      additionalProperties: false
                                      properties:
                                        type:
                                          type: string
                                          const: malformed
                                          description: Compatibility failure.
                                        field:
                                          type: string
                                          minLength: 1
                                          maxLength: 1048576
                                          description: Rejected compatibility field.
                                        syntax:
                                          type: string
                                          minLength: 1
                                          maxLength: 1048576
                                          description: Closed syntax failure.
                                      required:
                                        - type
                                        - field
                                        - syntax
                                      title: malformed
                                    - type: object
                                      additionalProperties: false
                                      properties:
                                        type:
                                          type: string
                                          const: mismatch
                                          description: Compatibility failure.
                                        field:
                                          type: string
                                          minLength: 1
                                          maxLength: 1048576
                                          description: Mismatched compatibility field.
                                        expected:
                                          type: string
                                          minLength: 1
                                          maxLength: 1048576
                                          description: Expected identity.
                                        observed:
                                          type: string
                                          minLength: 1
                                          maxLength: 1048576
                                          description: Observed identity.
                                      required:
                                        - type
                                        - field
                                        - expected
                                        - observed
                                      title: mismatch
                                    - type: object
                                      additionalProperties: false
                                      properties:
                                        type:
                                          type: string
                                          const: capability-set-mismatch
                                          description: Compatibility failure.
                                        field:
                                          type: string
                                          minLength: 1
                                          maxLength: 1048576
                                          description: Mismatched capability field.
                                        expected:
                                          type: array
                                          items:
                                            type: string
                                            minLength: 1
                                            maxLength: 1048576
                                            description: Expected operation.
                                        observed:
                                          type: array
                                          items:
                                            type: string
                                            minLength: 1
                                            maxLength: 1048576
                                            description: Observed operation.
                                      required:
                                        - type
                                        - field
                                        - expected
                                        - observed
                                      title: capability-set-mismatch
                                    - type: object
                                      additionalProperties: false
                                      properties:
                                        type:
                                          type: string
                                          const: unknown-capability
                                          description: Closed failure variant.
                                        operationId:
                                          $ref: >-
                                            #/components/schemas/workspace_lifecycleResponse_finiteFailureEvidence
                                      required:
                                        - type
                                        - operationId
                                      title: unknown-capability
                                    - type: object
                                      additionalProperties: false
                                      properties:
                                        type:
                                          type: string
                                          const: unsupported-capability
                                          description: Closed failure variant.
                                        operationId:
                                          $ref: >-
                                            #/components/schemas/workspace_lifecycleResponse_finiteFailureEvidence
                                      required:
                                        - type
                                        - operationId
                                      title: unsupported-capability
                                    - type: object
                                      additionalProperties: false
                                      properties:
                                        type:
                                          type: string
                                          const: duplicate-capability
                                          description: Closed failure variant.
                                        operationId:
                                          $ref: >-
                                            #/components/schemas/workspace_lifecycleResponse_finiteFailureEvidence
                                      required:
                                        - type
                                        - operationId
                                      title: duplicate-capability
                              required:
                                - type
                                - failure
                              title: compatibility-rejected
                            - type: object
                              additionalProperties: false
                              properties:
                                type:
                                  type: string
                                  const: hosted-capabilities-rejected
                                  description: Descriptor failure variant.
                                failure:
                                  anyOf:
                                    - type: object
                                      additionalProperties: false
                                      properties:
                                        type:
                                          type: string
                                          const: malformed-operation-id
                                          description: Closed failure variant.
                                        failure:
                                          $ref: >-
                                            #/components/schemas/workspace_lifecycleResponse_finiteFailureEvidence
                                      required:
                                        - type
                                        - failure
                                      title: malformed-operation-id
                                    - type: object
                                      additionalProperties: false
                                      properties:
                                        type:
                                          type: string
                                          const: unknown-operation
                                          description: Closed failure variant.
                                        operationId:
                                          $ref: >-
                                            #/components/schemas/workspace_lifecycleResponse_finiteFailureEvidence
                                      required:
                                        - type
                                        - operationId
                                      title: unknown-operation
                                    - type: object
                                      additionalProperties: false
                                      properties:
                                        type:
                                          type: string
                                          const: unsupported-intent
                                          description: Closed failure variant.
                                        operationId:
                                          $ref: >-
                                            #/components/schemas/workspace_lifecycleResponse_finiteFailureEvidence
                                      required:
                                        - type
                                        - operationId
                                      title: unsupported-intent
                                    - type: object
                                      additionalProperties: false
                                      properties:
                                        type:
                                          type: string
                                          const: duplicate-operation
                                          description: Closed failure variant.
                                        operationId:
                                          $ref: >-
                                            #/components/schemas/workspace_lifecycleResponse_finiteFailureEvidence
                                      required:
                                        - type
                                        - operationId
                                      title: duplicate-operation
                                    - type: object
                                      additionalProperties: false
                                      properties:
                                        type:
                                          type: string
                                          const: duplicate-intent
                                          description: Hosted-capability failure.
                                        operationId:
                                          type: string
                                          minLength: 1
                                          maxLength: 1048576
                                          description: Canonical operation identity.
                                        intent:
                                          type: string
                                          minLength: 1
                                          maxLength: 1048576
                                          description: Duplicate hosted intent.
                                      required:
                                        - type
                                        - operationId
                                        - intent
                                      title: duplicate-intent
                                    - type: object
                                      additionalProperties: false
                                      properties:
                                        type:
                                          type: string
                                          const: canonical-projection-mismatch
                                          description: Closed failure variant.
                                      required:
                                        - type
                                      title: canonical-projection-mismatch
                              required:
                                - type
                                - failure
                              title: hosted-capabilities-rejected
                      required:
                        - status
                        - boundary
                        - reason
                        - details
                      title: rejected
                    - type: object
                      additionalProperties: false
                      properties:
                        status:
                          type: string
                          const: rejected
                          description: Boundary outcome.
                        boundary:
                          type: string
                          const: runtime
                          description: Rejected process boundary.
                        reason:
                          type: string
                          minLength: 1
                          maxLength: 1048576
                          description: Closed boundary rejection reason.
                        bootstrap:
                          anyOf:
                            - type: object
                              additionalProperties: false
                              properties:
                                state:
                                  type: string
                                  const: unavailable
                                  description: Bootstrap state.
                              required:
                                - state
                            - type: object
                              additionalProperties: false
                              properties:
                                state:
                                  type: string
                                  const: invalid
                                  description: Bootstrap state.
                              required:
                                - state
                            - type: object
                              additionalProperties: false
                              properties:
                                state:
                                  type: string
                                  const: starting
                                  description: Bootstrap state.
                                attemptId:
                                  type: string
                                  minLength: 1
                                  maxLength: 1048576
                                  pattern: >-
                                    ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
                                  description: Bootstrap attempt identity.
                                phase:
                                  type: string
                                  minLength: 1
                                  maxLength: 1048576
                                  description: Current bootstrap phase.
                                completedPhases:
                                  type: integer
                                  minimum: 0
                                  maximum: 7
                                  description: Completed bootstrap phases.
                                totalPhases:
                                  type: integer
                                  minimum: 1
                                  maximum: 7
                                  description: Total bootstrap phases.
                                gradleJvm:
                                  $ref: >-
                                    #/components/schemas/workspace_lifecycleResponse_gradleJvmObservation
                              required:
                                - state
                                - attemptId
                                - phase
                                - completedPhases
                                - totalPhases
                                - gradleJvm
                            - type: object
                              additionalProperties: false
                              properties:
                                state:
                                  type: string
                                  const: ready
                                  description: Bootstrap state.
                                attemptId:
                                  type: string
                                  minLength: 1
                                  maxLength: 1048576
                                  pattern: >-
                                    ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
                                  description: Bootstrap attempt identity.
                                gradleJvm:
                                  $ref: >-
                                    #/components/schemas/workspace_lifecycleResponse_gradleJvmObservation
                                phase:
                                  type: string
                                  const: ready
                                  description: Completed bootstrap phase.
                                completedPhases:
                                  type: integer
                                  minimum: 7
                                  maximum: 7
                                  description: Completed bootstrap phases.
                                totalPhases:
                                  type: integer
                                  minimum: 7
                                  maximum: 7
                                  description: Total bootstrap phases.
                              required:
                                - state
                                - attemptId
                                - gradleJvm
                                - phase
                                - completedPhases
                                - totalPhases
                            - type: object
                              additionalProperties: false
                              properties:
                                state:
                                  type: string
                                  const: rejected
                                  description: Bootstrap state.
                                attemptId:
                                  type: string
                                  minLength: 1
                                  maxLength: 1048576
                                  pattern: >-
                                    ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
                                  description: Bootstrap attempt identity.
                                phase:
                                  type: string
                                  minLength: 1
                                  maxLength: 1048576
                                  description: Rejected bootstrap phase.
                                completedPhases:
                                  type: integer
                                  minimum: 0
                                  maximum: 7
                                  description: Completed bootstrap phases.
                                totalPhases:
                                  type: integer
                                  minimum: 1
                                  maximum: 7
                                  description: Total bootstrap phases.
                                cause:
                                  type: string
                                  minLength: 1
                                  maxLength: 1048576
                                  description: Closed bootstrap rejection reason.
                                correctiveAction:
                                  type: string
                                  minLength: 1
                                  maxLength: 1048576
                                  description: Bounded corrective action.
                                gradleJvm:
                                  $ref: >-
                                    #/components/schemas/workspace_lifecycleResponse_gradleJvmObservation
                              required:
                                - state
                                - attemptId
                                - phase
                                - completedPhases
                                - totalPhases
                                - cause
                                - correctiveAction
                                - gradleJvm
                      required:
                        - status
                        - boundary
                        - reason
                        - bootstrap
                      title: rejected
                - anyOf:
                    - type: object
                      additionalProperties: false
                      properties:
                        type:
                          type: string
                          const: blocked
                        reason:
                          type: string
                          enum:
                            - HOST_UNAVAILABLE
                            - PLUGIN_UNAVAILABLE
                            - SELECTED_IDE_UNAVAILABLE
                            - LAUNCH_METADATA_UNAVAILABLE
                            - LAUNCH_METADATA_INVALID
                            - LAUNCHER_MISSING
                            - LAUNCHER_AMBIGUOUS
                            - LAUNCHER_INVALID
                            - LAUNCH_EXECUTABLE_UNAVAILABLE
                            - LAUNCH_FAILED
                            - INVALID_REQUEST
                            - WRONG_HOST
                            - STALE_PROJECT
                            - UNKNOWN_OPERATION
                            - REQUEST_CONFLICT
                            - CAPACITY
                            - PROJECT_BUSY
                            - OTHER_CLIENTS
                            - USER_AUTHORIZATION_REQUIRED
                            - UNSAVED_DOCUMENTS
                            - TRUST_REQUIRED
                            - UNLINKED_BUILD
                            - IMPORT_FAILED
                            - CANCELLED
                            - DISPOSED
                            - SHUTDOWN
                            - OPEN_FAILED
                            - CLOSE_VETOED
                            - CLOSE_RETIREMENT_PENDING
                            - PLATFORM_UNAVAILABLE
                            - HOST_IDENTITY_MISMATCH
                            - UNSUPPORTED_PROTOCOL
                            - CAPABILITY_MISMATCH
                            - UNSUPPORTED_PLATFORM_LINE
                            - UNSUPPORTED_HOST_MODE
                            - DEADLINE_EXCEEDED
                      required:
                        - type
                        - reason
                      title: blocked
          required:
            - status
            - diagnostic
          title: rejected
    workspace_lifecycleResponse_finiteFailureEvidence:
      type: string
      minLength: 1
      maxLength: 1048576
      description: Finite failure evidence.
      title: finiteFailureEvidence
    workspace_lifecycleResponse_gradleJvmObservation:
      anyOf:
        - type: object
          additionalProperties: false
          properties:
            type:
              type: string
              const: >-
                io.github.amichne.kast.distribution.contract.gradle.GradleJvmSelectionObservation.Unobserved
              description: Gradle JVM observation variant.
          required:
            - type
          title: >-
            io.github.amichne.kast.distribution.contract.gradle.GradleJvmSelectionObservation.Unobserved
        - type: object
          additionalProperties: false
          properties:
            type:
              type: string
              const: >-
                io.github.amichne.kast.distribution.contract.gradle.GradleJvmSelectionObservation.Observed
              description: Gradle JVM observation variant.
            report:
              $ref: '#/components/schemas/workspace_lifecycleResponse_gradleJvmReport'
          required:
            - type
            - report
          title: >-
            io.github.amichne.kast.distribution.contract.gradle.GradleJvmSelectionObservation.Observed
      title: gradleJvmObservation
    workspace_lifecycleResponse_gradleJvmReport:
      type: object
      additionalProperties: false
      properties:
        distribution:
          anyOf:
            - type: object
              additionalProperties: false
              properties:
                type:
                  type: string
                  const: >-
                    io.github.amichne.kast.distribution.contract.gradle.GradleDistributionEvidence.Unavailable
                  description: Gradle distribution evidence variant.
              required:
                - type
              title: >-
                io.github.amichne.kast.distribution.contract.gradle.GradleDistributionEvidence.Unavailable
            - type: object
              additionalProperties: false
              properties:
                type:
                  type: string
                  const: >-
                    io.github.amichne.kast.distribution.contract.gradle.GradleDistributionEvidence.Observed
                  description: Gradle distribution evidence variant.
                version:
                  type: string
                  minLength: 1
                  maxLength: 1048576
                  description: Observed Gradle version.
              required:
                - type
                - version
              title: >-
                io.github.amichne.kast.distribution.contract.gradle.GradleDistributionEvidence.Observed
        requiredJava:
          type: array
          items:
            type: integer
            minimum: 1
            maximum: 99
            description: Required Java feature.
        candidates:
          type: array
          items:
            $ref: >-
              #/components/schemas/workspace_lifecycleResponse_gradleJvmCandidate
          maxItems: 1000
        outcome:
          $ref: '#/components/schemas/workspace_lifecycleResponse_gradleJvmOutcome'
      required:
        - distribution
        - requiredJava
        - candidates
        - outcome
      title: gradleJvmReport
    workspace_lifecycleResponse_gradleJvmCandidate:
      type: object
      additionalProperties: false
      properties:
        java:
          type: integer
          minimum: 1
          maximum: 99
          description: Java feature.
        homeIdentity:
          type: string
          pattern: ^[0-9a-f]{64}$
          description: JDK home identity.
        authority:
          type: string
          description: JDK selection authority.
          enum:
            - DAEMON_JVM_CRITERIA
            - REPOSITORY_GRADLE_PROPERTY
            - AMBIENT_JAVA_HOME
            - SIDECAR_COMPATIBLE
            - PLATFORM_RESOLVER
        decision:
          type: string
          description: JDK candidate decision.
          enum:
            - SELECTED
            - INCOMPATIBLE_GRADLE
            - SHADOWED_BY_PROJECT_AUTHORITY
            - NOT_SELECTED
      required:
        - java
        - homeIdentity
        - authority
        - decision
      title: gradleJvmCandidate
    workspace_lifecycleResponse_gradleJvmOutcome:
      anyOf:
        - type: object
          additionalProperties: false
          properties:
            type:
              type: string
              const: >-
                io.github.amichne.kast.distribution.contract.gradle.GradleJvmSelectionOutcome.Selected
              description: Gradle JVM outcome variant.
            candidate:
              $ref: >-
                #/components/schemas/workspace_lifecycleResponse_gradleJvmCandidate
          required:
            - type
            - candidate
          title: >-
            io.github.amichne.kast.distribution.contract.gradle.GradleJvmSelectionOutcome.Selected
        - type: object
          additionalProperties: false
          properties:
            type:
              type: string
              const: >-
                io.github.amichne.kast.distribution.contract.gradle.GradleJvmSelectionOutcome.Rejected
              description: Gradle JVM outcome variant.
            failure:
              type: string
              description: Closed Gradle JVM selection failure.
              enum:
                - GRADLE_DISTRIBUTION_UNAVAILABLE
                - DAEMON_JVM_CRITERIA_UNSUPPORTED
                - REPOSITORY_JAVA_HOME_INVALID
                - LOCAL_JVM_DISCOVERY_FAILED
                - NO_COMPATIBLE_RUNTIME
                - SDK_REGISTRATION_FAILED
          required:
            - type
            - failure
          title: >-
            io.github.amichne.kast.distribution.contract.gradle.GradleJvmSelectionOutcome.Rejected
      title: gradleJvmOutcome

````