openapi: 3.1.0
info:
  title: FastAPI - Swagger UI
  version: 1.0.0
paths:
  /agent/job:
    post:
      tags:
      - agent job interface
      summary: Submit Job
      operationId: submit_job_agent_job_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BasicRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /agent/queue:
    post:
      tags:
      - agent job interface
      summary: Submit Queue
      operationId: submit_queue_agent_queue_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BasicRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /file/upload/{file_type}/{job_id}:
    post:
      tags:
      - agent job interface
      summary: Upload File
      operationId: upload_file_file_upload__file_type___job_id__post
      parameters:
      - name: file_type
        in: path
        required: true
        schema:
          type: string
          title: File Type
      - name: job_id
        in: path
        required: true
        schema:
          type: integer
          title: Job Id
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Body_upload_file_file_upload__file_type___job_id__post'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /file/browse:
    post:
      tags:
      - agent job interface
      summary: Browser File
      operationId: browser_file_file_browse_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BasicRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /file/download/{job_id}:
    get:
      tags:
      - agent job interface
      summary: Download File
      operationId: download_file_file_download__job_id__get
      parameters:
      - name: job_id
        in: path
        required: true
        schema:
          type: integer
          title: Job Id
      - name: path
        in: query
        required: false
        schema:
          type: string
          default: path
          title: Path
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /file/view/{job_id}:
    get:
      tags:
      - agent job interface
      summary: View File
      operationId: view_file_file_view__job_id__get
      parameters:
      - name: job_id
        in: path
        required: true
        schema:
          type: integer
          title: Job Id
      - name: path
        in: query
        required: false
        schema:
          type: string
          default: path
          title: Path
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /user/session:
    post:
      tags:
      - agent job interface
      summary: Register
      operationId: register_user_session_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BasicRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /user/logout/{session_id}:
    get:
      tags:
      - agent job interface
      summary: Logout
      operationId: logout_user_logout__session_id__get
      parameters:
      - name: session_id
        in: path
        required: true
        schema:
          type: string
          title: Session Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /user/signin:
    post:
      tags:
      - agent job interface
      summary: Signin
      operationId: signin_user_signin_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BasicRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /user/roles:
    get:
      tags:
      - agent job interface
      summary: Get Roles Endpoint
      operationId: get_roles_endpoint_user_roles_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
    post:
      tags:
      - agent job interface
      summary: Create Role With Permissions Endpoint
      operationId: create_role_with_permissions_endpoint_user_roles_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RoleCreateWithPermissionsRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /user/permissions:
    get:
      tags:
      - agent job interface
      summary: Get Permissions Endpoint
      operationId: get_permissions_endpoint_user_permissions_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
    post:
      tags:
      - agent job interface
      summary: Create Permission Endpoint
      operationId: create_permission_endpoint_user_permissions_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PermissionCreateRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /user/users/roles:
    post:
      tags:
      - agent job interface
      summary: Assign Roles To User Endpoint
      operationId: assign_roles_to_user_endpoint_user_users_roles_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRoleAssignmentRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /user/users:
    get:
      tags:
      - agent job interface
      summary: Get Users Endpoint
      operationId: get_users_endpoint_user_users_get
      parameters:
      - name: userName
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: "\u7528\u6237\u540D\uFF0C\u7528\u4E8E\u6A21\u7CCA\u67E5\u8BE2"
          title: Username
        description: "\u7528\u6237\u540D\uFF0C\u7528\u4E8E\u6A21\u7CCA\u67E5\u8BE2"
      - name: pageNo
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          description: "\u9875\u7801\uFF0C\u4ECE1\u5F00\u59CB"
          default: 1
          title: Pageno
        description: "\u9875\u7801\uFF0C\u4ECE1\u5F00\u59CB"
      - name: pageSize
        in: query
        required: false
        schema:
          type: integer
          maximum: 100
          minimum: 1
          description: "\u6BCF\u9875\u6570\u91CF\uFF0C\u6700\u5927100"
          default: 10
          title: Pagesize
        description: "\u6BCF\u9875\u6570\u91CF\uFF0C\u6700\u5927100"
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /kb/summary:
    post:
      tags:
      - knowledge build interface
      summary: Summary Func
      operationId: summary_func_kb_summary_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BasicRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /kb/schemas:
    post:
      tags:
      - knowledge build interface
      summary: Schemas Func
      operationId: schemas_func_kb_schemas_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BasicRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /kb/nodes:
    post:
      tags:
      - knowledge build interface
      summary: Nodes Func
      operationId: nodes_func_kb_nodes_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BasicRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /kb/graph_data:
    get:
      tags:
      - knowledge build interface
      summary: Get Graph Data
      description: "\u83B7\u53D6\u7528\u6237\u5173\u8054\u7684\u56FE\u8C31\u6570\u636E\
        \n- \u4ECEsession_id\u83B7\u53D6user_id\n- \u67E5\u8BE2DbUserDataRelation\u83B7\
        \u53D6\u7528\u6237\u5173\u8054\u7684\u6570\u636E\n- \u8FD4\u56DE\u4E0EJava\u7AEF\
        \u4E00\u81F4\u7684\u6570\u636E\u7ED3\u6784"
      operationId: get_graph_data_kb_graph_data_get
      parameters:
      - name: label_name
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Label Name
      - name: input_str
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Input Str
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /knowledge-base/:
    post:
      tags:
      - knowledge base interface
      summary: Create Knowledge Base
      operationId: create_knowledge_base_knowledge_base__post
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/KnowledgeBaseCreate'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseModel'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    get:
      tags:
      - knowledge base interface
      summary: List Knowledge Bases
      operationId: list_knowledge_bases_knowledge_base__get
      parameters:
      - name: pageNo
        in: query
        required: false
        schema:
          type: integer
          default: 1
          title: Pageno
      - name: pageSize
        in: query
        required: false
        schema:
          type: integer
          default: 10
          title: Pagesize
      - name: name
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseModel'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /knowledge-base/{kb_id}:
    put:
      tags:
      - knowledge base interface
      summary: Update Knowledge Base
      operationId: update_knowledge_base_knowledge_base__kb_id__put
      parameters:
      - name: kb_id
        in: path
        required: true
        schema:
          type: integer
          title: Kb Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/KnowledgeBaseUpdate'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseModel'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - knowledge base interface
      summary: Delete Knowledge Base
      operationId: delete_knowledge_base_knowledge_base__kb_id__delete
      parameters:
      - name: kb_id
        in: path
        required: true
        schema:
          type: integer
          title: Kb Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseModel'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    get:
      tags:
      - knowledge base interface
      summary: Get Knowledge Base
      operationId: get_knowledge_base_knowledge_base__kb_id__get
      parameters:
      - name: kb_id
        in: path
        required: true
        schema:
          type: integer
          title: Kb Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseModel'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /knowledge-base/name/{name}:
    get:
      tags:
      - knowledge base interface
      summary: Get Knowledge Base By Name
      operationId: get_knowledge_base_by_name_knowledge_base_name__name__get
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
          title: Name
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseModel'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /knowledge-base/{kb_id}/files/:
    post:
      tags:
      - knowledge base interface
      summary: Upload Files
      operationId: upload_files_knowledge_base__kb_id__files__post
      parameters:
      - name: kb_id
        in: path
        required: true
        schema:
          type: integer
          title: Kb Id
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Body_upload_files_knowledge_base__kb_id__files__post'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseModel'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    get:
      tags:
      - knowledge base interface
      summary: List Files
      operationId: list_files_knowledge_base__kb_id__files__get
      parameters:
      - name: kb_id
        in: path
        required: true
        schema:
          type: integer
          title: Kb Id
      - name: pageNo
        in: query
        required: false
        schema:
          type: integer
          default: 1
          title: Pageno
      - name: pageSize
        in: query
        required: false
        schema:
          type: integer
          default: 10
          title: Pagesize
      - name: file_name
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: File Name
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseModel'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /knowledge-base/{kb_id}/files/search/:
    get:
      tags:
      - knowledge base interface
      summary: Search Files
      operationId: search_files_knowledge_base__kb_id__files_search__get
      parameters:
      - name: kb_id
        in: path
        required: true
        schema:
          type: integer
          title: Kb Id
      - name: file_name
        in: query
        required: true
        schema:
          type: string
          title: File Name
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseModel'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /files/{file_id}/download:
    get:
      tags:
      - knowledge base interface
      summary: Download File
      operationId: download_file_files__file_id__download_get
      parameters:
      - name: file_id
        in: path
        required: true
        schema:
          type: integer
          title: File Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /files/{file_id}:
    delete:
      tags:
      - knowledge base interface
      summary: Delete File
      operationId: delete_file_files__file_id__delete
      parameters:
      - name: file_id
        in: path
        required: true
        schema:
          type: integer
          title: File Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                title: Response Delete File Files  File Id  Delete
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /files/batch-update:
    put:
      tags:
      - knowledge base interface
      summary: Batch Update Files
      operationId: batch_update_files_files_batch_update_put
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BatchFileUpdate'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseModel'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    BasicRequest:
      properties:
        action:
          type: string
          title: Action
        id:
          type: string
          title: Id
        params:
          items:
            $ref: '#/components/schemas/BasicRequestParameter'
          type: array
          title: Params
      type: object
      required:
      - action
      - id
      - params
      title: BasicRequest
    BasicRequestParameter:
      properties:
        name:
          type: string
          title: Name
        value:
          anyOf:
          - type: string
          - type: integer
          - type: number
          - type: boolean
          - items:
              type: string
            type: array
          - items:
              type: integer
            type: array
          - items:
              type: number
            type: array
          - items:
              type: boolean
            type: array
          title: Value
      type: object
      required:
      - name
      - value
      title: BasicRequestParameter
    BatchFileUpdate:
      properties:
        files:
          items:
            $ref: '#/components/schemas/FileUpdate'
          type: array
          title: Files
      type: object
      required:
      - files
      title: BatchFileUpdate
    Body_upload_file_file_upload__file_type___job_id__post:
      properties:
        file:
          type: string
          format: binary
          title: File
      type: object
      required:
      - file
      title: Body_upload_file_file_upload__file_type___job_id__post
    Body_upload_files_knowledge_base__kb_id__files__post:
      properties:
        files:
          items:
            type: string
            format: binary
          type: array
          title: Files
      type: object
      required:
      - files
      title: Body_upload_files_knowledge_base__kb_id__files__post
    FileUpdate:
      properties:
        id:
          type: integer
          title: Id
        file_name:
          anyOf:
          - type: string
          - type: 'null'
          title: File Name
        version:
          anyOf:
          - type: string
          - type: 'null'
          title: Version
        author:
          anyOf:
          - type: string
          - type: 'null'
          title: Author
        year:
          anyOf:
          - type: integer
          - type: 'null'
          title: Year
        page_count:
          anyOf:
          - type: integer
          - type: 'null'
          title: Page Count
        creator:
          anyOf:
          - type: string
          - type: 'null'
          title: Creator
        knowledge_type:
          anyOf:
          - type: string
          - type: 'null'
          title: Knowledge Type
      type: object
      required:
      - id
      title: FileUpdate
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    KnowledgeBaseCreate:
      properties:
        name:
          type: string
          title: Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        tags:
          anyOf:
          - type: string
          - type: 'null'
          title: Tags
      type: object
      required:
      - name
      title: KnowledgeBaseCreate
    KnowledgeBaseUpdate:
      properties:
        name:
          type: string
          title: Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        tags:
          anyOf:
          - type: string
          - type: 'null'
          title: Tags
      type: object
      required:
      - name
      title: KnowledgeBaseUpdate
    PermissionCreateRequest:
      properties:
        name:
          type: string
          title: Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        menu_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Menu Name
        menu_route:
          anyOf:
          - type: string
          - type: 'null'
          title: Menu Route
        menu_icon:
          anyOf:
          - type: string
          - type: 'null'
          title: Menu Icon
        parent_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Parent Id
      type: object
      required:
      - name
      title: PermissionCreateRequest
    ResponseModel:
      properties:
        code:
          type: integer
          title: Code
        message:
          type: string
          title: Message
        data:
          anyOf:
          - additionalProperties: true
            type: object
          - items: {}
            type: array
          - type: boolean
          - type: 'null'
          title: Data
      type: object
      required:
      - code
      - message
      - data
      title: ResponseModel
    RoleCreateWithPermissionsRequest:
      properties:
        role_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Role Id
        name:
          type: string
          title: Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        permission_ids:
          items:
            type: integer
          type: array
          title: Permission Ids
          default: []
      type: object
      required:
      - name
      title: RoleCreateWithPermissionsRequest
    StandardResponse:
      properties:
        code:
          type: integer
          title: Code
          default: 200
        message:
          type: string
          title: Message
          default: success
        meta:
          additionalProperties: true
          type: object
          title: Meta
          default: {}
        records:
          items: {}
          type: array
          title: Records
          default: []
        total:
          anyOf:
          - type: integer
          - type: 'null'
          title: Total
      type: object
      title: StandardResponse
    UserRoleAssignmentRequest:
      properties:
        user_id:
          type: integer
          title: User Id
        role_ids:
          items:
            type: integer
          type: array
          title: Role Ids
      type: object
      required:
      - user_id
      - role_ids
      title: UserRoleAssignmentRequest
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
