mirror of
https://github.com/langgenius/dify.git
synced 2026-06-07 16:32:01 +08:00
chore(api): annotate simple contract responses (#36331)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Asuka Minato <i@asukaminato.eu.org>
This commit is contained in:
parent
674cdc3521
commit
b04b4449db
@ -2,8 +2,9 @@ from __future__ import annotations
|
||||
|
||||
from typing import Any
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, computed_field
|
||||
from pydantic import BaseModel, ConfigDict, Field, computed_field
|
||||
|
||||
from fields.base import ResponseModel
|
||||
from graphon.file import helpers as file_helpers
|
||||
from models.model import IconType
|
||||
|
||||
@ -19,6 +20,113 @@ class SystemParameters(BaseModel):
|
||||
workflow_file_upload_limit: int
|
||||
|
||||
|
||||
class SimpleResultResponse(ResponseModel):
|
||||
result: str
|
||||
|
||||
|
||||
class SimpleResultMessageResponse(ResponseModel):
|
||||
result: str
|
||||
message: str
|
||||
|
||||
|
||||
class SimpleMessageResponse(ResponseModel):
|
||||
message: str
|
||||
|
||||
|
||||
class SimpleDataResponse(ResponseModel):
|
||||
data: str
|
||||
|
||||
|
||||
class SimpleResultDataResponse(ResponseModel):
|
||||
result: str
|
||||
data: str
|
||||
|
||||
|
||||
class SimpleResultStringListResponse(ResponseModel):
|
||||
result: str
|
||||
data: list[str]
|
||||
|
||||
|
||||
class SimpleResultOptionalDataResponse(ResponseModel):
|
||||
result: str
|
||||
data: str | None = None
|
||||
|
||||
|
||||
class AccessTokenData(ResponseModel):
|
||||
access_token: str
|
||||
|
||||
|
||||
class AccessTokenResultResponse(ResponseModel):
|
||||
result: str
|
||||
data: AccessTokenData
|
||||
|
||||
|
||||
class VerificationTokenResponse(ResponseModel):
|
||||
is_valid: bool
|
||||
email: str
|
||||
token: str
|
||||
|
||||
|
||||
class LoginStatusResponse(ResponseModel):
|
||||
logged_in: bool
|
||||
app_logged_in: bool
|
||||
|
||||
|
||||
class AccessModeResponse(ResponseModel):
|
||||
access_mode: str = Field(serialization_alias="accessMode", validation_alias="accessMode")
|
||||
|
||||
|
||||
class BooleanResultResponse(ResponseModel):
|
||||
result: bool
|
||||
|
||||
|
||||
class SuccessResponse(ResponseModel):
|
||||
success: bool
|
||||
|
||||
|
||||
class UsageCheckResponse(ResponseModel):
|
||||
is_using: bool
|
||||
|
||||
|
||||
class UsageCountResponse(ResponseModel):
|
||||
is_using: bool
|
||||
count: int
|
||||
|
||||
|
||||
class IndexInfoResponse(ResponseModel):
|
||||
welcome: str
|
||||
api_version: str
|
||||
server_version: str
|
||||
|
||||
|
||||
class AvatarUrlResponse(ResponseModel):
|
||||
avatar_url: str
|
||||
|
||||
|
||||
class TextContentResponse(ResponseModel):
|
||||
content: str
|
||||
|
||||
|
||||
class AllowedExtensionsResponse(ResponseModel):
|
||||
allowed_extensions: list[str]
|
||||
|
||||
|
||||
class UrlResponse(ResponseModel):
|
||||
url: str
|
||||
|
||||
|
||||
class RedirectUrlResponse(ResponseModel):
|
||||
redirect_url: str
|
||||
|
||||
|
||||
class ApiBaseUrlResponse(ResponseModel):
|
||||
api_base_url: str
|
||||
|
||||
|
||||
class NewAppResponse(ResponseModel):
|
||||
new_app_id: str
|
||||
|
||||
|
||||
class Parameters(BaseModel):
|
||||
opening_statement: str | None = None
|
||||
suggested_questions: list[str]
|
||||
|
||||
@ -12,8 +12,9 @@ from sqlalchemy.orm import Session
|
||||
from werkzeug.datastructures import MultiDict
|
||||
from werkzeug.exceptions import BadRequest
|
||||
|
||||
from controllers.common.fields import RedirectUrlResponse, SimpleResultResponse
|
||||
from controllers.common.helpers import FileInfo
|
||||
from controllers.common.schema import register_enum_models, register_schema_models
|
||||
from controllers.common.schema import register_enum_models, register_response_schema_models, register_schema_models
|
||||
from controllers.console import console_ns
|
||||
from controllers.console.app.wraps import get_app_model
|
||||
from controllers.console.workspace.models import LoadBalancingPayload
|
||||
@ -413,6 +414,7 @@ class AppExportResponse(ResponseModel):
|
||||
|
||||
|
||||
register_enum_models(console_ns, RetrievalMethod, WorkflowExecutionStatus, DatasetPermissionEnum)
|
||||
register_response_schema_models(console_ns, RedirectUrlResponse, SimpleResultResponse)
|
||||
|
||||
register_schema_models(
|
||||
console_ns,
|
||||
@ -724,6 +726,7 @@ class AppExportApi(Resource):
|
||||
|
||||
@console_ns.route("/apps/<uuid:app_id>/publish-to-creators-platform")
|
||||
class AppPublishToCreatorsPlatformApi(Resource):
|
||||
@console_ns.response(200, "Success", console_ns.models[RedirectUrlResponse.__name__])
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@ -861,7 +864,11 @@ class AppTraceApi(Resource):
|
||||
@console_ns.doc(description="Update app tracing configuration")
|
||||
@console_ns.doc(params={"app_id": "Application ID"})
|
||||
@console_ns.expect(console_ns.models[AppTracePayload.__name__])
|
||||
@console_ns.response(200, "Trace configuration updated successfully")
|
||||
@console_ns.response(
|
||||
200,
|
||||
"Trace configuration updated successfully",
|
||||
console_ns.models[SimpleResultResponse.__name__],
|
||||
)
|
||||
@console_ns.response(403, "Insufficient permissions")
|
||||
@setup_required
|
||||
@login_required
|
||||
|
||||
@ -7,7 +7,8 @@ from pydantic import BaseModel, Field, field_validator
|
||||
from werkzeug.exceptions import InternalServerError, NotFound
|
||||
|
||||
import services
|
||||
from controllers.common.schema import register_schema_models
|
||||
from controllers.common.fields import SimpleResultResponse
|
||||
from controllers.common.schema import register_response_schema_models, register_schema_models
|
||||
from controllers.console import console_ns
|
||||
from controllers.console.app.error import (
|
||||
AppUnavailableError,
|
||||
@ -66,6 +67,7 @@ class ChatMessagePayload(BaseMessagePayload):
|
||||
|
||||
|
||||
register_schema_models(console_ns, CompletionMessagePayload, ChatMessagePayload)
|
||||
register_response_schema_models(console_ns, SimpleResultResponse)
|
||||
|
||||
|
||||
# define completion message api for user
|
||||
@ -124,7 +126,7 @@ class CompletionMessageStopApi(Resource):
|
||||
@console_ns.doc("stop_completion_message")
|
||||
@console_ns.doc(description="Stop a running completion message generation")
|
||||
@console_ns.doc(params={"app_id": "Application ID", "task_id": "Task ID to stop"})
|
||||
@console_ns.response(200, "Task stopped successfully")
|
||||
@console_ns.response(200, "Task stopped successfully", console_ns.models[SimpleResultResponse.__name__])
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@ -205,7 +207,7 @@ class ChatMessageStopApi(Resource):
|
||||
@console_ns.doc("stop_chat_message")
|
||||
@console_ns.doc(description="Stop a running chat message generation")
|
||||
@console_ns.doc(params={"app_id": "Application ID", "task_id": "Task ID to stop"})
|
||||
@console_ns.response(200, "Task stopped successfully")
|
||||
@console_ns.response(200, "Task stopped successfully", console_ns.models[SimpleResultResponse.__name__])
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
|
||||
@ -9,7 +9,8 @@ from sqlalchemy import exists, func, select
|
||||
from werkzeug.exceptions import InternalServerError, NotFound
|
||||
|
||||
from controllers.common.controller_schemas import MessageFeedbackPayload as _MessageFeedbackPayloadBase
|
||||
from controllers.common.schema import register_schema_models
|
||||
from controllers.common.fields import SimpleResultResponse
|
||||
from controllers.common.schema import register_response_schema_models, register_schema_models
|
||||
from controllers.console import console_ns
|
||||
from controllers.console.app.error import (
|
||||
CompletionRequestError,
|
||||
@ -162,6 +163,7 @@ register_schema_models(
|
||||
MessageDetailResponse,
|
||||
MessageInfiniteScrollPaginationResponse,
|
||||
)
|
||||
register_response_schema_models(console_ns, SimpleResultResponse)
|
||||
|
||||
|
||||
@console_ns.route("/apps/<uuid:app_id>/chat-messages")
|
||||
@ -247,7 +249,7 @@ class MessageFeedbackApi(Resource):
|
||||
@console_ns.doc(description="Create or update message feedback (like/dislike)")
|
||||
@console_ns.doc(params={"app_id": "Application ID"})
|
||||
@console_ns.expect(console_ns.models[MessageFeedbackPayload.__name__])
|
||||
@console_ns.response(200, "Feedback updated successfully")
|
||||
@console_ns.response(200, "Feedback updated successfully", console_ns.models[SimpleResultResponse.__name__])
|
||||
@console_ns.response(404, "Message not found")
|
||||
@console_ns.response(403, "Insufficient permissions")
|
||||
@get_app_model
|
||||
|
||||
@ -12,6 +12,7 @@ from werkzeug.exceptions import BadRequest, Forbidden, InternalServerError, NotF
|
||||
|
||||
import services
|
||||
from controllers.common.controller_schemas import DefaultBlockConfigQuery, WorkflowListQuery, WorkflowUpdatePayload
|
||||
from controllers.common.fields import NewAppResponse, SimpleResultResponse
|
||||
from controllers.common.schema import (
|
||||
register_response_schema_model,
|
||||
register_response_schema_models,
|
||||
@ -290,6 +291,8 @@ register_response_schema_models(
|
||||
WorkflowOnlineUser,
|
||||
WorkflowOnlineUsersByApp,
|
||||
WorkflowOnlineUsersResponse,
|
||||
NewAppResponse,
|
||||
SimpleResultResponse,
|
||||
)
|
||||
|
||||
|
||||
@ -869,7 +872,7 @@ class WorkflowTaskStopApi(Resource):
|
||||
@console_ns.doc("stop_workflow_task")
|
||||
@console_ns.doc(description="Stop running workflow task")
|
||||
@console_ns.doc(params={"app_id": "Application ID", "task_id": "Task ID"})
|
||||
@console_ns.response(200, "Task stopped successfully")
|
||||
@console_ns.response(200, "Task stopped successfully", console_ns.models[SimpleResultResponse.__name__])
|
||||
@console_ns.response(404, "Task not found")
|
||||
@console_ns.response(403, "Permission denied")
|
||||
@setup_required
|
||||
@ -1069,7 +1072,11 @@ class ConvertToWorkflowApi(Resource):
|
||||
@console_ns.doc("convert_to_workflow")
|
||||
@console_ns.doc(description="Convert application to workflow mode")
|
||||
@console_ns.doc(params={"app_id": "Application ID"})
|
||||
@console_ns.response(200, "Application converted to workflow successfully")
|
||||
@console_ns.response(
|
||||
200,
|
||||
"Application converted to workflow successfully",
|
||||
console_ns.models[NewAppResponse.__name__],
|
||||
)
|
||||
@console_ns.response(400, "Application cannot be converted")
|
||||
@console_ns.response(403, "Permission denied")
|
||||
@setup_required
|
||||
@ -1106,7 +1113,11 @@ class WorkflowFeaturesApi(Resource):
|
||||
@console_ns.doc("update_workflow_features")
|
||||
@console_ns.doc(description="Update draft workflow features")
|
||||
@console_ns.doc(params={"app_id": "Application ID"})
|
||||
@console_ns.response(200, "Workflow features updated successfully")
|
||||
@console_ns.response(
|
||||
200,
|
||||
"Workflow features updated successfully",
|
||||
console_ns.models[SimpleResultResponse.__name__],
|
||||
)
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
|
||||
@ -1,5 +1,3 @@
|
||||
from typing import Any
|
||||
|
||||
from flask import request
|
||||
from flask_restx import Resource
|
||||
from pydantic import BaseModel, Field, field_validator
|
||||
@ -40,16 +38,29 @@ class ActivatePayload(BaseModel):
|
||||
return timezone(value)
|
||||
|
||||
|
||||
class ActivationCheckResponse(BaseModel):
|
||||
is_valid: bool = Field(description="Whether token is valid")
|
||||
data: dict[str, Any] | None = Field(default=None, description="Activation data if valid")
|
||||
|
||||
|
||||
class ActivationResponse(BaseModel):
|
||||
result: str = Field(description="Operation result")
|
||||
|
||||
|
||||
register_schema_models(console_ns, ActivateCheckQuery, ActivatePayload, ActivationCheckResponse, ActivationResponse)
|
||||
class ActivationCheckData(BaseModel):
|
||||
workspace_name: str | None
|
||||
workspace_id: str | None
|
||||
email: str | None
|
||||
|
||||
|
||||
class ActivationCheckResponse(BaseModel):
|
||||
is_valid: bool = Field(description="Whether token is valid")
|
||||
data: ActivationCheckData | None = Field(default=None, description="Activation data if valid")
|
||||
|
||||
|
||||
register_schema_models(
|
||||
console_ns,
|
||||
ActivateCheckQuery,
|
||||
ActivatePayload,
|
||||
ActivationCheckData,
|
||||
ActivationCheckResponse,
|
||||
ActivationResponse,
|
||||
)
|
||||
|
||||
|
||||
@console_ns.route("/activate/check")
|
||||
|
||||
@ -1,7 +1,8 @@
|
||||
from flask_restx import Resource
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
from controllers.common.schema import register_schema_models
|
||||
from controllers.common.schema import register_response_schema_models, register_schema_models
|
||||
from fields.base import ResponseModel
|
||||
from libs.login import current_account_with_tenant, login_required
|
||||
from services.auth.api_key_auth_service import ApiKeyAuthService
|
||||
|
||||
@ -16,11 +17,26 @@ class ApiKeyAuthBindingPayload(BaseModel):
|
||||
credentials: dict = Field(...)
|
||||
|
||||
|
||||
class ApiKeyAuthDataSourceItem(ResponseModel):
|
||||
id: str
|
||||
category: str
|
||||
provider: str
|
||||
disabled: bool
|
||||
created_at: int
|
||||
updated_at: int
|
||||
|
||||
|
||||
class ApiKeyAuthDataSourceListResponse(ResponseModel):
|
||||
sources: list[ApiKeyAuthDataSourceItem]
|
||||
|
||||
|
||||
register_schema_models(console_ns, ApiKeyAuthBindingPayload)
|
||||
register_response_schema_models(console_ns, ApiKeyAuthDataSourceItem, ApiKeyAuthDataSourceListResponse)
|
||||
|
||||
|
||||
@console_ns.route("/api-key-auth/data-source")
|
||||
class ApiKeyAuthDataSource(Resource):
|
||||
@console_ns.response(200, "Success", console_ns.models[ApiKeyAuthDataSourceListResponse.__name__])
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@ -70,6 +86,7 @@ class ApiKeyAuthDataSourceBindingDelete(Resource):
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@is_admin_or_owner_required
|
||||
@console_ns.response(204, "Binding deleted successfully")
|
||||
def delete(self, binding_id):
|
||||
# The role of the current user in the table must be admin or owner
|
||||
_, current_tenant_id = current_account_with_tenant()
|
||||
|
||||
@ -4,7 +4,8 @@ from pydantic import BaseModel, Field, field_validator
|
||||
|
||||
from configs import dify_config
|
||||
from constants.languages import get_valid_language, languages
|
||||
from controllers.common.schema import register_schema_models
|
||||
from controllers.common.fields import SimpleResultDataResponse, VerificationTokenResponse
|
||||
from controllers.common.schema import register_response_schema_models, register_schema_models
|
||||
from controllers.console import console_ns
|
||||
from controllers.console.auth.error import (
|
||||
EmailAlreadyInUseError,
|
||||
@ -58,6 +59,7 @@ class EmailRegisterResetPayload(BaseModel):
|
||||
|
||||
|
||||
register_schema_models(console_ns, EmailRegisterSendPayload, EmailRegisterValidityPayload, EmailRegisterResetPayload)
|
||||
register_response_schema_models(console_ns, SimpleResultDataResponse, VerificationTokenResponse)
|
||||
|
||||
|
||||
@console_ns.route("/email-register/send-email")
|
||||
@ -65,6 +67,7 @@ class EmailRegisterSendEmailApi(Resource):
|
||||
@setup_required
|
||||
@email_password_login_enabled
|
||||
@email_register_enabled
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleResultDataResponse.__name__])
|
||||
def post(self):
|
||||
args = EmailRegisterSendPayload.model_validate(console_ns.payload)
|
||||
normalized_email = args.email.lower()
|
||||
@ -89,6 +92,7 @@ class EmailRegisterCheckApi(Resource):
|
||||
@setup_required
|
||||
@email_password_login_enabled
|
||||
@email_register_enabled
|
||||
@console_ns.response(200, "Success", console_ns.models[VerificationTokenResponse.__name__])
|
||||
def post(self):
|
||||
args = EmailRegisterValidityPayload.model_validate(console_ns.payload)
|
||||
|
||||
|
||||
@ -9,7 +9,8 @@ from werkzeug.exceptions import Unauthorized
|
||||
import services
|
||||
from configs import dify_config
|
||||
from constants.languages import get_valid_language
|
||||
from controllers.common.schema import register_schema_models
|
||||
from controllers.common.fields import SimpleResultDataResponse, SimpleResultOptionalDataResponse, SimpleResultResponse
|
||||
from controllers.common.schema import register_response_schema_models, register_schema_models
|
||||
from controllers.console import console_ns
|
||||
from controllers.console.auth.error import (
|
||||
AuthenticationFailedError,
|
||||
@ -81,6 +82,12 @@ class EmailCodeLoginPayload(BaseModel):
|
||||
|
||||
|
||||
register_schema_models(console_ns, LoginPayload, EmailPayload, EmailCodeLoginPayload)
|
||||
register_response_schema_models(
|
||||
console_ns,
|
||||
SimpleResultDataResponse,
|
||||
SimpleResultOptionalDataResponse,
|
||||
SimpleResultResponse,
|
||||
)
|
||||
|
||||
|
||||
@console_ns.route("/login")
|
||||
@ -90,6 +97,7 @@ class LoginApi(Resource):
|
||||
@setup_required
|
||||
@email_password_login_enabled
|
||||
@console_ns.expect(console_ns.models[LoginPayload.__name__])
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleResultOptionalDataResponse.__name__])
|
||||
@decrypt_password_field
|
||||
def post(self):
|
||||
"""Authenticate user and login."""
|
||||
@ -163,6 +171,7 @@ class LoginApi(Resource):
|
||||
@console_ns.route("/logout")
|
||||
class LogoutApi(Resource):
|
||||
@setup_required
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleResultResponse.__name__])
|
||||
def post(self):
|
||||
current_user, _ = current_account_with_tenant()
|
||||
account = current_user
|
||||
@ -186,6 +195,7 @@ class ResetPasswordSendEmailApi(Resource):
|
||||
@setup_required
|
||||
@email_password_login_enabled
|
||||
@console_ns.expect(console_ns.models[EmailPayload.__name__])
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleResultDataResponse.__name__])
|
||||
def post(self):
|
||||
args = EmailPayload.model_validate(console_ns.payload)
|
||||
normalized_email = args.email.lower()
|
||||
@ -213,6 +223,7 @@ class ResetPasswordSendEmailApi(Resource):
|
||||
class EmailCodeLoginSendEmailApi(Resource):
|
||||
@setup_required
|
||||
@console_ns.expect(console_ns.models[EmailPayload.__name__])
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleResultDataResponse.__name__])
|
||||
def post(self):
|
||||
args = EmailPayload.model_validate(console_ns.payload)
|
||||
normalized_email = args.email.lower()
|
||||
@ -245,6 +256,7 @@ class EmailCodeLoginSendEmailApi(Resource):
|
||||
class EmailCodeLoginApi(Resource):
|
||||
@setup_required
|
||||
@console_ns.expect(console_ns.models[EmailCodeLoginPayload.__name__])
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleResultResponse.__name__])
|
||||
@decrypt_code_field
|
||||
def post(self):
|
||||
args = EmailCodeLoginPayload.model_validate(console_ns.payload)
|
||||
@ -321,6 +333,7 @@ class EmailCodeLoginApi(Resource):
|
||||
|
||||
@console_ns.route("/refresh-token")
|
||||
class RefreshTokenApi(Resource):
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleResultResponse.__name__])
|
||||
def post(self):
|
||||
# Get refresh token from cookie instead of request body
|
||||
refresh_token = extract_refresh_token(request)
|
||||
|
||||
@ -9,7 +9,8 @@ from sqlalchemy import select
|
||||
from sqlalchemy.orm import sessionmaker
|
||||
from werkzeug.exceptions import NotFound
|
||||
|
||||
from controllers.common.schema import get_or_create_model, register_schema_model
|
||||
from controllers.common.fields import SimpleResultResponse, TextContentResponse
|
||||
from controllers.common.schema import get_or_create_model, register_response_schema_models, register_schema_model
|
||||
from core.datasource.entities.datasource_entities import DatasourceProviderType, OnlineDocumentPagesMessage
|
||||
from core.datasource.online_document.online_document_plugin import OnlineDocumentDatasourcePlugin
|
||||
from core.indexing_runner import IndexingRunner
|
||||
@ -54,6 +55,7 @@ class DataSourceNotionPreviewQuery(BaseModel):
|
||||
|
||||
|
||||
register_schema_model(console_ns, NotionEstimatePayload)
|
||||
register_response_schema_models(console_ns, SimpleResultResponse, TextContentResponse)
|
||||
|
||||
|
||||
integrate_icon_model = get_or_create_model("DataSourceIntegrateIcon", integrate_icon_fields)
|
||||
@ -157,6 +159,7 @@ class DataSourceApi(Resource):
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleResultResponse.__name__])
|
||||
def patch(self, binding_id, action: Literal["enable", "disable"]):
|
||||
_, current_tenant_id = current_account_with_tenant()
|
||||
binding_id = str(binding_id)
|
||||
@ -289,6 +292,7 @@ class DataSourceNotionApi(Resource):
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@console_ns.response(200, "Success", console_ns.models[TextContentResponse.__name__])
|
||||
def get(self, page_id, page_type):
|
||||
_, current_tenant_id = current_account_with_tenant()
|
||||
|
||||
@ -362,6 +366,7 @@ class DataSourceNotionDatasetSyncApi(Resource):
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleResultResponse.__name__])
|
||||
def get(self, dataset_id):
|
||||
dataset_id_str = str(dataset_id)
|
||||
dataset = DatasetService.get_dataset(dataset_id_str)
|
||||
@ -379,6 +384,7 @@ class DataSourceNotionDocumentSyncApi(Resource):
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleResultResponse.__name__])
|
||||
def get(self, dataset_id, document_id):
|
||||
dataset_id_str = str(dataset_id)
|
||||
document_id_str = str(document_id)
|
||||
|
||||
@ -8,7 +8,8 @@ from werkzeug.exceptions import Forbidden, NotFound
|
||||
|
||||
import services
|
||||
from configs import dify_config
|
||||
from controllers.common.schema import get_or_create_model, register_schema_models
|
||||
from controllers.common.fields import ApiBaseUrlResponse, SimpleResultResponse, UsageCheckResponse
|
||||
from controllers.common.schema import get_or_create_model, register_response_schema_models, register_schema_models
|
||||
from controllers.console import console_ns
|
||||
from controllers.console.apikey import ApiKeyItem, ApiKeyList
|
||||
from controllers.console.app.error import ProviderNotInitializeError
|
||||
@ -58,6 +59,8 @@ from models.provider_ids import ModelProviderID
|
||||
from services.api_token_service import ApiTokenCache
|
||||
from services.dataset_service import DatasetPermissionService, DatasetService, DocumentService
|
||||
|
||||
register_response_schema_models(console_ns, ApiBaseUrlResponse, SimpleResultResponse, UsageCheckResponse)
|
||||
|
||||
# Register models for flask_restx to avoid dict type issues in Swagger
|
||||
dataset_base_model = get_or_create_model("DatasetBase", dataset_fields)
|
||||
|
||||
@ -521,6 +524,7 @@ class DatasetApi(Resource):
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@cloud_edition_billing_rate_limit_check("knowledge")
|
||||
@console_ns.response(204, "Dataset deleted successfully")
|
||||
def delete(self, dataset_id):
|
||||
dataset_id_str = str(dataset_id)
|
||||
current_user, _ = current_account_with_tenant()
|
||||
@ -543,7 +547,11 @@ class DatasetUseCheckApi(Resource):
|
||||
@console_ns.doc("check_dataset_use")
|
||||
@console_ns.doc(description="Check if dataset is in use")
|
||||
@console_ns.doc(params={"dataset_id": "Dataset ID"})
|
||||
@console_ns.response(200, "Dataset use status retrieved successfully")
|
||||
@console_ns.response(
|
||||
200,
|
||||
"Dataset use status retrieved successfully",
|
||||
console_ns.models[UsageCheckResponse.__name__],
|
||||
)
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@ -873,6 +881,7 @@ class DatasetEnableApiApi(Resource):
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleResultResponse.__name__])
|
||||
def post(self, dataset_id, status):
|
||||
dataset_id_str = str(dataset_id)
|
||||
|
||||
@ -885,7 +894,7 @@ class DatasetEnableApiApi(Resource):
|
||||
class DatasetApiBaseUrlApi(Resource):
|
||||
@console_ns.doc("get_dataset_api_base_info")
|
||||
@console_ns.doc(description="Get dataset API base information")
|
||||
@console_ns.response(200, "API base info retrieved successfully")
|
||||
@console_ns.response(200, "API base info retrieved successfully", console_ns.models[ApiBaseUrlResponse.__name__])
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
|
||||
@ -15,7 +15,8 @@ from werkzeug.exceptions import Forbidden, NotFound
|
||||
|
||||
import services
|
||||
from controllers.common.controller_schemas import DocumentBatchDownloadZipPayload
|
||||
from controllers.common.schema import register_schema_models
|
||||
from controllers.common.fields import SimpleResultMessageResponse, SimpleResultResponse, UrlResponse
|
||||
from controllers.common.schema import register_response_schema_models, register_schema_models
|
||||
from controllers.console import console_ns
|
||||
from core.errors.error import (
|
||||
LLMBadRequestError,
|
||||
@ -204,6 +205,7 @@ register_schema_models(
|
||||
DocumentWithSegmentsResponse,
|
||||
DatasetAndDocumentResponse,
|
||||
)
|
||||
register_response_schema_models(console_ns, SimpleResultMessageResponse, SimpleResultResponse, UrlResponse)
|
||||
|
||||
|
||||
class DocumentResource(Resource):
|
||||
@ -487,6 +489,7 @@ class DatasetDocumentListApi(Resource):
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@cloud_edition_billing_rate_limit_check("knowledge")
|
||||
@console_ns.response(204, "Documents deleted successfully")
|
||||
def delete(self, dataset_id):
|
||||
dataset_id = str(dataset_id)
|
||||
dataset = DatasetService.get_dataset(dataset_id)
|
||||
@ -946,6 +949,7 @@ class DocumentApi(DocumentResource):
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@cloud_edition_billing_rate_limit_check("knowledge")
|
||||
@console_ns.response(204, "Document deleted successfully")
|
||||
def delete(self, dataset_id, document_id):
|
||||
dataset_id = str(dataset_id)
|
||||
document_id = str(document_id)
|
||||
@ -971,6 +975,7 @@ class DocumentDownloadApi(DocumentResource):
|
||||
|
||||
@console_ns.doc("get_dataset_document_download_url")
|
||||
@console_ns.doc(description="Get a signed download URL for a dataset document's original uploaded file")
|
||||
@console_ns.response(200, "Download URL generated successfully", console_ns.models[UrlResponse.__name__])
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@ -1028,7 +1033,11 @@ class DocumentProcessingApi(DocumentResource):
|
||||
@console_ns.doc(
|
||||
params={"dataset_id": "Dataset ID", "document_id": "Document ID", "action": "Action to perform (pause/resume)"}
|
||||
)
|
||||
@console_ns.response(200, "Processing status updated successfully")
|
||||
@console_ns.response(
|
||||
200,
|
||||
"Processing status updated successfully",
|
||||
console_ns.models[SimpleResultResponse.__name__],
|
||||
)
|
||||
@console_ns.response(404, "Document not found")
|
||||
@console_ns.response(400, "Invalid action")
|
||||
@setup_required
|
||||
@ -1073,7 +1082,11 @@ class DocumentMetadataApi(DocumentResource):
|
||||
@console_ns.doc(description="Update document metadata")
|
||||
@console_ns.doc(params={"dataset_id": "Dataset ID", "document_id": "Document ID"})
|
||||
@console_ns.expect(console_ns.models[DocumentMetadataUpdatePayload.__name__])
|
||||
@console_ns.response(200, "Document metadata updated successfully")
|
||||
@console_ns.response(
|
||||
200,
|
||||
"Document metadata updated successfully",
|
||||
console_ns.models[SimpleResultMessageResponse.__name__],
|
||||
)
|
||||
@console_ns.response(404, "Document not found")
|
||||
@console_ns.response(403, "Permission denied")
|
||||
@setup_required
|
||||
@ -1127,6 +1140,7 @@ class DocumentStatusApi(DocumentResource):
|
||||
@account_initialization_required
|
||||
@cloud_edition_billing_resource_check("vector_space")
|
||||
@cloud_edition_billing_rate_limit_check("knowledge")
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleResultResponse.__name__])
|
||||
def patch(self, dataset_id, action: Literal["enable", "disable", "archive", "un_archive"]):
|
||||
current_user, _ = current_account_with_tenant()
|
||||
dataset_id = str(dataset_id)
|
||||
@ -1164,6 +1178,7 @@ class DocumentPauseApi(DocumentResource):
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@cloud_edition_billing_rate_limit_check("knowledge")
|
||||
@console_ns.response(204, "Document paused successfully")
|
||||
def patch(self, dataset_id, document_id):
|
||||
"""pause document."""
|
||||
dataset_id = str(dataset_id)
|
||||
@ -1198,6 +1213,7 @@ class DocumentRecoverApi(DocumentResource):
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@cloud_edition_billing_rate_limit_check("knowledge")
|
||||
@console_ns.response(204, "Document resumed successfully")
|
||||
def patch(self, dataset_id, document_id):
|
||||
"""recover document."""
|
||||
dataset_id = str(dataset_id)
|
||||
@ -1230,6 +1246,7 @@ class DocumentRetryApi(DocumentResource):
|
||||
@account_initialization_required
|
||||
@cloud_edition_billing_rate_limit_check("knowledge")
|
||||
@console_ns.expect(console_ns.models[DocumentRetryPayload.__name__])
|
||||
@console_ns.response(204, "Documents retry started successfully")
|
||||
def post(self, dataset_id):
|
||||
"""retry document."""
|
||||
payload = DocumentRetryPayload.model_validate(console_ns.payload or {})
|
||||
@ -1296,6 +1313,7 @@ class WebsiteDocumentSyncApi(DocumentResource):
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleResultResponse.__name__])
|
||||
def get(self, dataset_id, document_id):
|
||||
"""sync website document."""
|
||||
_, current_tenant_id = current_account_with_tenant()
|
||||
@ -1362,7 +1380,11 @@ class DocumentGenerateSummaryApi(Resource):
|
||||
@console_ns.doc(description="Generate summary index for documents")
|
||||
@console_ns.doc(params={"dataset_id": "Dataset ID"})
|
||||
@console_ns.expect(console_ns.models[GenerateSummaryPayload.__name__])
|
||||
@console_ns.response(200, "Summary generation started successfully")
|
||||
@console_ns.response(
|
||||
200,
|
||||
"Summary generation started successfully",
|
||||
console_ns.models[SimpleResultResponse.__name__],
|
||||
)
|
||||
@console_ns.response(400, "Invalid request or dataset configuration")
|
||||
@console_ns.response(403, "Permission denied")
|
||||
@console_ns.response(404, "Dataset not found")
|
||||
|
||||
@ -10,7 +10,8 @@ from werkzeug.exceptions import Forbidden, NotFound
|
||||
import services
|
||||
from configs import dify_config
|
||||
from controllers.common.controller_schemas import ChildChunkCreatePayload, ChildChunkUpdatePayload
|
||||
from controllers.common.schema import register_schema_models
|
||||
from controllers.common.fields import SimpleResultResponse
|
||||
from controllers.common.schema import register_response_schema_models, register_schema_models
|
||||
from controllers.console import console_ns
|
||||
from controllers.console.app.error import ProviderNotInitializeError
|
||||
from controllers.console.datasets.error import (
|
||||
@ -30,6 +31,7 @@ from core.model_manager import ModelManager
|
||||
from core.rag.index_processor.constant.index_type import IndexTechniqueType
|
||||
from extensions.ext_database import db
|
||||
from extensions.ext_redis import redis_client
|
||||
from fields.base import ResponseModel
|
||||
from fields.segment_fields import child_chunk_fields, segment_fields
|
||||
from graphon.model_runtime.entities.model_entities import ModelType
|
||||
from libs.helper import escape_like_pattern
|
||||
@ -83,6 +85,11 @@ class BatchImportPayload(BaseModel):
|
||||
upload_file_id: str
|
||||
|
||||
|
||||
class SegmentBatchImportStatusResponse(ResponseModel):
|
||||
job_id: str
|
||||
job_status: str
|
||||
|
||||
|
||||
class ChildChunkBatchUpdatePayload(BaseModel):
|
||||
chunks: list[ChildChunkUpdateArgs]
|
||||
|
||||
@ -98,6 +105,7 @@ register_schema_models(
|
||||
ChildChunkBatchUpdatePayload,
|
||||
ChildChunkUpdateArgs,
|
||||
)
|
||||
register_response_schema_models(console_ns, SegmentBatchImportStatusResponse, SimpleResultResponse)
|
||||
|
||||
|
||||
@console_ns.route("/datasets/<uuid:dataset_id>/documents/<uuid:document_id>/segments")
|
||||
@ -217,6 +225,7 @@ class DatasetDocumentSegmentListApi(Resource):
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@cloud_edition_billing_rate_limit_check("knowledge")
|
||||
@console_ns.response(204, "Segments deleted successfully")
|
||||
def delete(self, dataset_id, document_id):
|
||||
current_user, _ = current_account_with_tenant()
|
||||
|
||||
@ -252,6 +261,7 @@ class DatasetDocumentSegmentApi(Resource):
|
||||
@account_initialization_required
|
||||
@cloud_edition_billing_resource_check("vector_space")
|
||||
@cloud_edition_billing_rate_limit_check("knowledge")
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleResultResponse.__name__])
|
||||
def patch(self, dataset_id, document_id, action):
|
||||
current_user, current_tenant_id = current_account_with_tenant()
|
||||
|
||||
@ -424,6 +434,7 @@ class DatasetDocumentSegmentUpdateApi(Resource):
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@cloud_edition_billing_rate_limit_check("knowledge")
|
||||
@console_ns.response(204, "Segment deleted successfully")
|
||||
def delete(self, dataset_id, document_id, segment_id):
|
||||
current_user, current_tenant_id = current_account_with_tenant()
|
||||
|
||||
@ -464,6 +475,7 @@ class DatasetDocumentSegmentUpdateApi(Resource):
|
||||
"/datasets/batch_import_status/<uuid:job_id>",
|
||||
)
|
||||
class DatasetDocumentSegmentBatchImportApi(Resource):
|
||||
@console_ns.response(200, "Batch import started", console_ns.models[SegmentBatchImportStatusResponse.__name__])
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@ -514,6 +526,7 @@ class DatasetDocumentSegmentBatchImportApi(Resource):
|
||||
return {"error": str(e)}, 500
|
||||
return {"job_id": job_id, "job_status": "waiting"}, 200
|
||||
|
||||
@console_ns.response(200, "Batch import status", console_ns.models[SegmentBatchImportStatusResponse.__name__])
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@ -691,6 +704,7 @@ class ChildChunkUpdateApi(Resource):
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@cloud_edition_billing_rate_limit_check("knowledge")
|
||||
@console_ns.response(204, "Child chunk deleted successfully")
|
||||
def delete(self, dataset_id, document_id, segment_id, child_chunk_id):
|
||||
current_user, current_tenant_id = current_account_with_tenant()
|
||||
|
||||
|
||||
@ -4,7 +4,8 @@ from pydantic import BaseModel, Field
|
||||
from werkzeug.exceptions import Forbidden, InternalServerError, NotFound
|
||||
|
||||
import services
|
||||
from controllers.common.schema import get_or_create_model, register_schema_models
|
||||
from controllers.common.fields import UsageCountResponse
|
||||
from controllers.common.schema import get_or_create_model, register_response_schema_models, register_schema_models
|
||||
from controllers.console import console_ns
|
||||
from controllers.console.datasets.error import DatasetNameDuplicateError
|
||||
from controllers.console.wraps import account_initialization_required, edit_permission_required, setup_required
|
||||
@ -27,6 +28,8 @@ from services.external_knowledge_service import ExternalDatasetService
|
||||
from services.hit_testing_service import HitTestingService
|
||||
from services.knowledge_service import BedrockRetrievalSetting, ExternalDatasetTestService
|
||||
|
||||
register_response_schema_models(console_ns, UsageCountResponse)
|
||||
|
||||
|
||||
def _build_dataset_detail_model():
|
||||
keyword_setting_model = get_or_create_model("DatasetKeywordSetting", keyword_setting_fields)
|
||||
@ -206,6 +209,7 @@ class ExternalApiTemplateApi(Resource):
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@console_ns.response(204, "External knowledge API deleted successfully")
|
||||
def delete(self, external_knowledge_api_id):
|
||||
current_user, current_tenant_id = current_account_with_tenant()
|
||||
external_knowledge_api_id = str(external_knowledge_api_id)
|
||||
@ -222,7 +226,7 @@ class ExternalApiUseCheckApi(Resource):
|
||||
@console_ns.doc("check_external_api_usage")
|
||||
@console_ns.doc(description="Check if external knowledge API is being used")
|
||||
@console_ns.doc(params={"external_knowledge_api_id": "External knowledge API ID"})
|
||||
@console_ns.response(200, "Usage check completed successfully")
|
||||
@console_ns.response(200, "Usage check completed successfully", console_ns.models[UsageCountResponse.__name__])
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
|
||||
@ -4,7 +4,8 @@ from flask_restx import Resource, marshal_with
|
||||
from werkzeug.exceptions import NotFound
|
||||
|
||||
from controllers.common.controller_schemas import MetadataUpdatePayload
|
||||
from controllers.common.schema import register_schema_models
|
||||
from controllers.common.fields import SimpleResultResponse
|
||||
from controllers.common.schema import register_response_schema_models, register_schema_models
|
||||
from controllers.console import console_ns
|
||||
from controllers.console.wraps import account_initialization_required, enterprise_license_required, setup_required
|
||||
from fields.dataset_fields import dataset_metadata_fields
|
||||
@ -21,6 +22,7 @@ from services.metadata_service import MetadataService
|
||||
register_schema_models(
|
||||
console_ns, MetadataArgs, MetadataOperationData, MetadataUpdatePayload, DocumentMetadataOperation, MetadataDetail
|
||||
)
|
||||
register_response_schema_models(console_ns, SimpleResultResponse)
|
||||
|
||||
|
||||
@console_ns.route("/datasets/<uuid:dataset_id>/metadata")
|
||||
@ -83,6 +85,7 @@ class DatasetMetadataApi(Resource):
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@enterprise_license_required
|
||||
@console_ns.response(204, "Metadata deleted successfully")
|
||||
def delete(self, dataset_id, metadata_id):
|
||||
current_user, _ = current_account_with_tenant()
|
||||
dataset_id_str = str(dataset_id)
|
||||
@ -113,6 +116,7 @@ class DatasetMetadataBuiltInFieldActionApi(Resource):
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@enterprise_license_required
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleResultResponse.__name__])
|
||||
def post(self, dataset_id, action: Literal["enable", "disable"]):
|
||||
current_user, _ = current_account_with_tenant()
|
||||
dataset_id_str = str(dataset_id)
|
||||
@ -136,6 +140,7 @@ class DocumentMetadataEditApi(Resource):
|
||||
@account_initialization_required
|
||||
@enterprise_license_required
|
||||
@console_ns.expect(console_ns.models[MetadataOperationData.__name__])
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleResultResponse.__name__])
|
||||
def post(self, dataset_id):
|
||||
current_user, _ = current_account_with_tenant()
|
||||
dataset_id_str = str(dataset_id)
|
||||
|
||||
@ -6,7 +6,8 @@ from pydantic import BaseModel, Field
|
||||
from werkzeug.exceptions import Forbidden, NotFound
|
||||
|
||||
from configs import dify_config
|
||||
from controllers.common.schema import register_schema_models
|
||||
from controllers.common.fields import SimpleResultResponse
|
||||
from controllers.common.schema import register_response_schema_models, register_schema_models
|
||||
from controllers.console import console_ns
|
||||
from controllers.console.wraps import account_initialization_required, edit_permission_required, setup_required
|
||||
from core.plugin.impl.oauth import OAuthHandler
|
||||
@ -56,6 +57,7 @@ register_schema_models(
|
||||
DatasourceDefaultPayload,
|
||||
DatasourceUpdateNamePayload,
|
||||
)
|
||||
register_response_schema_models(console_ns, SimpleResultResponse)
|
||||
|
||||
|
||||
@console_ns.route("/oauth/plugin/<path:provider_id>/datasource/get-authorization-url")
|
||||
@ -209,6 +211,7 @@ class DatasourceAuth(Resource):
|
||||
@console_ns.route("/auth/plugin/datasource/<path:provider_id>/delete")
|
||||
class DatasourceAuthDeleteApi(Resource):
|
||||
@console_ns.expect(console_ns.models[DatasourceCredentialDeletePayload.__name__])
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleResultResponse.__name__])
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@ -306,6 +309,7 @@ class DatasourceAuthOauthCustomClient(Resource):
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleResultResponse.__name__])
|
||||
def delete(self, provider_id: str):
|
||||
_, current_tenant_id = current_account_with_tenant()
|
||||
|
||||
@ -321,6 +325,7 @@ class DatasourceAuthOauthCustomClient(Resource):
|
||||
@console_ns.route("/auth/plugin/datasource/<path:provider_id>/default")
|
||||
class DatasourceAuthDefaultApi(Resource):
|
||||
@console_ns.expect(console_ns.models[DatasourceDefaultPayload.__name__])
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleResultResponse.__name__])
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@ -342,6 +347,7 @@ class DatasourceAuthDefaultApi(Resource):
|
||||
@console_ns.route("/auth/plugin/datasource/<path:provider_id>/update-name")
|
||||
class DatasourceUpdateProviderNameApi(Resource):
|
||||
@console_ns.expect(console_ns.models[DatasourceUpdateNamePayload.__name__])
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleResultResponse.__name__])
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
|
||||
@ -6,7 +6,8 @@ from pydantic import BaseModel, Field
|
||||
from sqlalchemy import select
|
||||
from sqlalchemy.orm import sessionmaker
|
||||
|
||||
from controllers.common.schema import register_schema_models
|
||||
from controllers.common.fields import SimpleDataResponse
|
||||
from controllers.common.schema import register_response_schema_models, register_schema_models
|
||||
from controllers.console import console_ns
|
||||
from controllers.console.wraps import (
|
||||
account_initialization_required,
|
||||
@ -59,6 +60,7 @@ class Payload(BaseModel):
|
||||
|
||||
|
||||
register_schema_models(console_ns, Payload)
|
||||
register_response_schema_models(console_ns, SimpleDataResponse)
|
||||
|
||||
|
||||
@console_ns.route("/rag/pipeline/customized/templates/<string:template_id>")
|
||||
@ -85,6 +87,7 @@ class CustomizedPipelineTemplateApi(Resource):
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@enterprise_license_required
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleDataResponse.__name__])
|
||||
def post(self, template_id: str):
|
||||
with sessionmaker(db.engine, expire_on_commit=False).begin() as session:
|
||||
template = session.scalar(
|
||||
|
||||
@ -10,6 +10,7 @@ from werkzeug.exceptions import BadRequest, Forbidden, InternalServerError, NotF
|
||||
|
||||
import services
|
||||
from controllers.common.controller_schemas import DefaultBlockConfigQuery, WorkflowListQuery, WorkflowUpdatePayload
|
||||
from controllers.common.fields import SimpleResultResponse
|
||||
from controllers.common.schema import register_response_schema_models, register_schema_models
|
||||
from controllers.console import console_ns
|
||||
from controllers.console.app.error import (
|
||||
@ -34,6 +35,7 @@ from core.app.apps.pipeline.pipeline_generator import PipelineGenerator
|
||||
from core.app.entities.app_invoke_entities import InvokeFrom
|
||||
from extensions.ext_database import db
|
||||
from factories import variable_factory
|
||||
from fields.base import ResponseModel
|
||||
from fields.workflow_run_fields import (
|
||||
WorkflowRunDetailResponse,
|
||||
WorkflowRunNodeExecutionListResponse,
|
||||
@ -115,6 +117,17 @@ class RagPipelineRecommendedPluginQuery(BaseModel):
|
||||
type: str = "all"
|
||||
|
||||
|
||||
class RagPipelineWorkflowSyncResponse(ResponseModel):
|
||||
result: str
|
||||
hash: str
|
||||
updated_at: int
|
||||
|
||||
|
||||
class RagPipelineWorkflowPublishResponse(ResponseModel):
|
||||
result: str
|
||||
created_at: int
|
||||
|
||||
|
||||
register_schema_models(
|
||||
console_ns,
|
||||
DraftWorkflowSyncPayload,
|
||||
@ -133,6 +146,9 @@ register_schema_models(
|
||||
)
|
||||
register_response_schema_models(
|
||||
console_ns,
|
||||
RagPipelineWorkflowPublishResponse,
|
||||
RagPipelineWorkflowSyncResponse,
|
||||
SimpleResultResponse,
|
||||
WorkflowRunDetailResponse,
|
||||
WorkflowRunNodeExecutionListResponse,
|
||||
WorkflowRunNodeExecutionResponse,
|
||||
@ -172,6 +188,7 @@ class DraftRagPipelineApi(Resource):
|
||||
@account_initialization_required
|
||||
@get_rag_pipeline
|
||||
@edit_permission_required
|
||||
@console_ns.response(200, "Success", console_ns.models[RagPipelineWorkflowSyncResponse.__name__])
|
||||
def post(self, pipeline: Pipeline):
|
||||
"""
|
||||
Sync draft workflow
|
||||
@ -462,6 +479,7 @@ class RagPipelineDraftNodeRunApi(Resource):
|
||||
|
||||
@console_ns.route("/rag/pipelines/<uuid:pipeline_id>/workflow-runs/tasks/<string:task_id>/stop")
|
||||
class RagPipelineTaskStopApi(Resource):
|
||||
@console_ns.response(200, "Task stopped successfully", console_ns.models[SimpleResultResponse.__name__])
|
||||
@setup_required
|
||||
@login_required
|
||||
@edit_permission_required
|
||||
@ -508,6 +526,7 @@ class PublishedRagPipelineApi(Resource):
|
||||
|
||||
return dump_response(WorkflowResponse, workflow)
|
||||
|
||||
@console_ns.response(200, "Success", console_ns.models[RagPipelineWorkflowPublishResponse.__name__])
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@ -630,6 +649,7 @@ class PublishedAllRagPipelineApi(Resource):
|
||||
|
||||
@console_ns.route("/rag/pipelines/<uuid:pipeline_id>/workflows/<string:workflow_id>/restore")
|
||||
class RagPipelineDraftWorkflowRestoreApi(Resource):
|
||||
@console_ns.response(200, "Success", console_ns.models[RagPipelineWorkflowSyncResponse.__name__])
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@ -699,6 +719,7 @@ class RagPipelineByIdApi(Resource):
|
||||
|
||||
return dump_response(WorkflowResponse, workflow)
|
||||
|
||||
@console_ns.response(204, "Workflow deleted successfully")
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
|
||||
@ -6,7 +6,8 @@ from pydantic import BaseModel, Field, field_validator
|
||||
from werkzeug.exceptions import InternalServerError, NotFound
|
||||
|
||||
import services
|
||||
from controllers.common.schema import register_schema_models
|
||||
from controllers.common.fields import SimpleResultResponse
|
||||
from controllers.common.schema import register_response_schema_models, register_schema_models
|
||||
from controllers.console.app.error import (
|
||||
AppUnavailableError,
|
||||
CompletionRequestError,
|
||||
@ -72,6 +73,7 @@ class ChatMessagePayload(BaseModel):
|
||||
|
||||
|
||||
register_schema_models(console_ns, CompletionMessageExplorePayload, ChatMessagePayload)
|
||||
register_response_schema_models(console_ns, SimpleResultResponse)
|
||||
|
||||
|
||||
# define completion api for user
|
||||
@ -130,6 +132,7 @@ class CompletionApi(InstalledAppResource):
|
||||
endpoint="installed_app_stop_completion",
|
||||
)
|
||||
class CompletionStopApi(InstalledAppResource):
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleResultResponse.__name__])
|
||||
def post(self, installed_app, task_id):
|
||||
app_model = installed_app.app
|
||||
if app_model.mode != AppMode.COMPLETION:
|
||||
@ -205,6 +208,7 @@ class ChatApi(InstalledAppResource):
|
||||
endpoint="installed_app_stop_chat_completion",
|
||||
)
|
||||
class ChatStopApi(InstalledAppResource):
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleResultResponse.__name__])
|
||||
def post(self, installed_app, task_id):
|
||||
app_model = installed_app.app
|
||||
app_mode = AppMode.value_of(app_model.mode)
|
||||
|
||||
@ -6,7 +6,7 @@ from sqlalchemy.orm import sessionmaker
|
||||
from werkzeug.exceptions import NotFound
|
||||
|
||||
from controllers.common.controller_schemas import ConversationRenamePayload
|
||||
from controllers.common.schema import register_schema_models
|
||||
from controllers.common.schema import register_response_schema_models, register_schema_models
|
||||
from controllers.console.explore.error import NotChatAppError
|
||||
from controllers.console.explore.wraps import InstalledAppResource
|
||||
from core.app.entities.app_invoke_entities import InvokeFrom
|
||||
@ -34,6 +34,7 @@ class ConversationListQuery(BaseModel):
|
||||
|
||||
|
||||
register_schema_models(console_ns, ConversationListQuery, ConversationRenamePayload)
|
||||
register_response_schema_models(console_ns, ResultResponse)
|
||||
|
||||
|
||||
@console_ns.route(
|
||||
@ -89,6 +90,7 @@ class ConversationListApi(InstalledAppResource):
|
||||
endpoint="installed_app_conversation",
|
||||
)
|
||||
class ConversationApi(InstalledAppResource):
|
||||
@console_ns.response(204, "Conversation deleted successfully")
|
||||
def delete(self, installed_app, c_id):
|
||||
app_model = installed_app.app
|
||||
app_mode = AppMode.value_of(app_model.mode)
|
||||
@ -142,6 +144,7 @@ class ConversationRenameApi(InstalledAppResource):
|
||||
endpoint="installed_app_conversation_pin",
|
||||
)
|
||||
class ConversationPinApi(InstalledAppResource):
|
||||
@console_ns.response(200, "Success", console_ns.models[ResultResponse.__name__])
|
||||
def patch(self, installed_app, c_id):
|
||||
app_model = installed_app.app
|
||||
app_mode = AppMode.value_of(app_model.mode)
|
||||
@ -165,6 +168,7 @@ class ConversationPinApi(InstalledAppResource):
|
||||
endpoint="installed_app_conversation_unpin",
|
||||
)
|
||||
class ConversationUnPinApi(InstalledAppResource):
|
||||
@console_ns.response(200, "Success", console_ns.models[ResultResponse.__name__])
|
||||
def patch(self, installed_app, c_id):
|
||||
app_model = installed_app.app
|
||||
app_mode = AppMode.value_of(app_model.mode)
|
||||
|
||||
@ -8,7 +8,8 @@ from pydantic import BaseModel, Field, computed_field, field_validator
|
||||
from sqlalchemy import and_, select
|
||||
from werkzeug.exceptions import BadRequest, Forbidden, NotFound
|
||||
|
||||
from controllers.common.schema import register_schema_models
|
||||
from controllers.common.fields import SimpleMessageResponse, SimpleResultMessageResponse
|
||||
from controllers.common.schema import register_response_schema_models, register_schema_models
|
||||
from controllers.console import console_ns
|
||||
from controllers.console.explore.wraps import InstalledAppResource
|
||||
from controllers.console.wraps import account_initialization_required, cloud_edition_billing_resource_check
|
||||
@ -122,6 +123,7 @@ register_schema_models(
|
||||
InstalledAppResponse,
|
||||
InstalledAppListResponse,
|
||||
)
|
||||
register_response_schema_models(console_ns, SimpleMessageResponse, SimpleResultMessageResponse)
|
||||
|
||||
|
||||
@console_ns.route("/installed-apps")
|
||||
@ -209,6 +211,7 @@ class InstalledAppsListApi(Resource):
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@cloud_edition_billing_resource_check("apps")
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleMessageResponse.__name__])
|
||||
def post(self):
|
||||
payload = InstalledAppCreatePayload.model_validate(console_ns.payload or {})
|
||||
|
||||
@ -258,6 +261,7 @@ class InstalledAppApi(InstalledAppResource):
|
||||
use InstalledAppResource to apply default decorators and get installed_app
|
||||
"""
|
||||
|
||||
@console_ns.response(204, "App uninstalled successfully")
|
||||
def delete(self, installed_app):
|
||||
_, current_tenant_id = current_account_with_tenant()
|
||||
if installed_app.app_owner_tenant_id == current_tenant_id:
|
||||
@ -268,6 +272,7 @@ class InstalledAppApi(InstalledAppResource):
|
||||
|
||||
return {"result": "success", "message": "App uninstalled successfully"}, 204
|
||||
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleResultMessageResponse.__name__])
|
||||
def patch(self, installed_app):
|
||||
payload = InstalledAppUpdatePayload.model_validate(console_ns.payload or {})
|
||||
|
||||
|
||||
@ -6,7 +6,7 @@ from pydantic import BaseModel, TypeAdapter
|
||||
from werkzeug.exceptions import InternalServerError, NotFound
|
||||
|
||||
from controllers.common.controller_schemas import MessageFeedbackPayload, MessageListQuery
|
||||
from controllers.common.schema import register_schema_models
|
||||
from controllers.common.schema import register_response_schema_models, register_schema_models
|
||||
from controllers.console.app.error import (
|
||||
AppMoreLikeThisDisabledError,
|
||||
CompletionRequestError,
|
||||
@ -49,6 +49,7 @@ class MoreLikeThisQuery(BaseModel):
|
||||
|
||||
|
||||
register_schema_models(console_ns, MessageListQuery, MessageFeedbackPayload, MoreLikeThisQuery)
|
||||
register_response_schema_models(console_ns, ResultResponse, SuggestedQuestionsResponse)
|
||||
|
||||
|
||||
@console_ns.route(
|
||||
@ -93,6 +94,7 @@ class MessageListApi(InstalledAppResource):
|
||||
)
|
||||
class MessageFeedbackApi(InstalledAppResource):
|
||||
@console_ns.expect(console_ns.models[MessageFeedbackPayload.__name__])
|
||||
@console_ns.response(200, "Feedback submitted successfully", console_ns.models[ResultResponse.__name__])
|
||||
def post(self, installed_app, message_id):
|
||||
current_user, _ = current_account_with_tenant()
|
||||
app_model = installed_app.app
|
||||
@ -166,6 +168,7 @@ class MessageMoreLikeThisApi(InstalledAppResource):
|
||||
endpoint="installed_app_suggested_question",
|
||||
)
|
||||
class MessageSuggestedQuestionApi(InstalledAppResource):
|
||||
@console_ns.response(200, "Success", console_ns.models[SuggestedQuestionsResponse.__name__])
|
||||
def get(self, installed_app, message_id):
|
||||
current_user, _ = current_account_with_tenant()
|
||||
app_model = installed_app.app
|
||||
|
||||
@ -3,7 +3,7 @@ from pydantic import TypeAdapter
|
||||
from werkzeug.exceptions import NotFound
|
||||
|
||||
from controllers.common.controller_schemas import SavedMessageCreatePayload, SavedMessageListQuery
|
||||
from controllers.common.schema import register_schema_models
|
||||
from controllers.common.schema import register_response_schema_models, register_schema_models
|
||||
from controllers.console import console_ns
|
||||
from controllers.console.explore.error import NotCompletionAppError
|
||||
from controllers.console.explore.wraps import InstalledAppResource
|
||||
@ -14,6 +14,7 @@ from services.errors.message import MessageNotExistsError
|
||||
from services.saved_message_service import SavedMessageService
|
||||
|
||||
register_schema_models(console_ns, SavedMessageListQuery, SavedMessageCreatePayload)
|
||||
register_response_schema_models(console_ns, ResultResponse)
|
||||
|
||||
|
||||
@console_ns.route("/installed-apps/<uuid:installed_app_id>/saved-messages", endpoint="installed_app_saved_messages")
|
||||
@ -42,6 +43,7 @@ class SavedMessageListApi(InstalledAppResource):
|
||||
).model_dump(mode="json")
|
||||
|
||||
@console_ns.expect(console_ns.models[SavedMessageCreatePayload.__name__])
|
||||
@console_ns.response(200, "Success", console_ns.models[ResultResponse.__name__])
|
||||
def post(self, installed_app):
|
||||
current_user, _ = current_account_with_tenant()
|
||||
app_model = installed_app.app
|
||||
@ -62,6 +64,7 @@ class SavedMessageListApi(InstalledAppResource):
|
||||
"/installed-apps/<uuid:installed_app_id>/saved-messages/<uuid:message_id>", endpoint="installed_app_saved_message"
|
||||
)
|
||||
class SavedMessageApi(InstalledAppResource):
|
||||
@console_ns.response(204, "Saved message deleted successfully")
|
||||
def delete(self, installed_app, message_id):
|
||||
current_user, _ = current_account_with_tenant()
|
||||
app_model = installed_app.app
|
||||
|
||||
@ -3,7 +3,8 @@ import logging
|
||||
from werkzeug.exceptions import InternalServerError
|
||||
|
||||
from controllers.common.controller_schemas import WorkflowRunPayload
|
||||
from controllers.common.schema import register_schema_model
|
||||
from controllers.common.fields import SimpleResultResponse
|
||||
from controllers.common.schema import register_response_schema_models, register_schema_model
|
||||
from controllers.console.app.error import (
|
||||
CompletionRequestError,
|
||||
ProviderModelCurrentlyNotSupportError,
|
||||
@ -34,6 +35,7 @@ from .. import console_ns
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
register_schema_model(console_ns, WorkflowRunPayload)
|
||||
register_response_schema_models(console_ns, SimpleResultResponse)
|
||||
|
||||
|
||||
@console_ns.route("/installed-apps/<uuid:installed_app_id>/workflows/run")
|
||||
@ -78,6 +80,7 @@ class InstalledAppWorkflowRunApi(InstalledAppResource):
|
||||
|
||||
@console_ns.route("/installed-apps/<uuid:installed_app_id>/workflows/tasks/<string:task_id>/stop")
|
||||
class InstalledAppWorkflowTaskStopApi(InstalledAppResource):
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleResultResponse.__name__])
|
||||
def post(self, installed_app: InstalledApp, task_id: str):
|
||||
"""
|
||||
Stop workflow task
|
||||
|
||||
@ -1,12 +1,15 @@
|
||||
from flask_restx import Resource, fields
|
||||
from flask_restx import Resource
|
||||
from werkzeug.exceptions import Unauthorized
|
||||
|
||||
from controllers.common.schema import register_response_schema_models
|
||||
from libs.login import current_account_with_tenant, current_user, login_required
|
||||
from services.feature_service import FeatureService
|
||||
from services.feature_service import FeatureModel, FeatureService, SystemFeatureModel
|
||||
|
||||
from . import console_ns
|
||||
from .wraps import account_initialization_required, cloud_utm_record, setup_required
|
||||
|
||||
register_response_schema_models(console_ns, FeatureModel, SystemFeatureModel)
|
||||
|
||||
|
||||
@console_ns.route("/features")
|
||||
class FeatureApi(Resource):
|
||||
@ -15,7 +18,7 @@ class FeatureApi(Resource):
|
||||
@console_ns.response(
|
||||
200,
|
||||
"Success",
|
||||
console_ns.model("FeatureResponse", {"features": fields.Raw(description="Feature configuration object")}),
|
||||
console_ns.models[FeatureModel.__name__],
|
||||
)
|
||||
@setup_required
|
||||
@login_required
|
||||
@ -35,9 +38,7 @@ class SystemFeatureApi(Resource):
|
||||
@console_ns.response(
|
||||
200,
|
||||
"Success",
|
||||
console_ns.model(
|
||||
"SystemFeatureResponse", {"features": fields.Raw(description="System feature configuration object")}
|
||||
),
|
||||
console_ns.models[SystemFeatureModel.__name__],
|
||||
)
|
||||
def get(self):
|
||||
"""Get system-wide feature configuration
|
||||
|
||||
@ -15,7 +15,8 @@ from controllers.common.errors import (
|
||||
TooManyFilesError,
|
||||
UnsupportedFileTypeError,
|
||||
)
|
||||
from controllers.common.schema import register_schema_models
|
||||
from controllers.common.fields import AllowedExtensionsResponse, TextContentResponse
|
||||
from controllers.common.schema import register_response_schema_models, register_schema_models
|
||||
from controllers.console.wraps import (
|
||||
account_initialization_required,
|
||||
cloud_edition_billing_resource_check,
|
||||
@ -29,6 +30,7 @@ from services.file_service import FileService
|
||||
from . import console_ns
|
||||
|
||||
register_schema_models(console_ns, UploadConfig, FileResponse)
|
||||
register_response_schema_models(console_ns, AllowedExtensionsResponse, TextContentResponse)
|
||||
|
||||
PREVIEW_WORDS_LIMIT = 3000
|
||||
|
||||
@ -103,6 +105,7 @@ class FilePreviewApi(Resource):
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@console_ns.response(200, "Success", console_ns.models[TextContentResponse.__name__])
|
||||
def get(self, file_id):
|
||||
file_id = str(file_id)
|
||||
_, tenant_id = current_account_with_tenant()
|
||||
@ -115,5 +118,6 @@ class FileSupportTypeApi(Resource):
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@console_ns.response(200, "Success", console_ns.models[AllowedExtensionsResponse.__name__])
|
||||
def get(self):
|
||||
return {"allowed_extensions": list(DOCUMENT_EXTENSIONS)}
|
||||
|
||||
@ -5,6 +5,8 @@ from flask import request
|
||||
from flask_restx import Resource
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
from controllers.common.fields import SimpleResultResponse
|
||||
from controllers.common.schema import register_response_schema_models
|
||||
from controllers.console import console_ns
|
||||
from controllers.console.wraps import account_initialization_required, only_edition_cloud, setup_required
|
||||
from libs.login import current_account_with_tenant, login_required
|
||||
@ -48,6 +50,9 @@ class DismissNotificationPayload(BaseModel):
|
||||
notification_id: str = Field(...)
|
||||
|
||||
|
||||
register_response_schema_models(console_ns, SimpleResultResponse)
|
||||
|
||||
|
||||
@console_ns.route("/notification")
|
||||
class NotificationApi(Resource):
|
||||
@console_ns.doc("get_notification")
|
||||
@ -110,6 +115,7 @@ class NotificationDismissApi(Resource):
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@only_edition_cloud
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleResultResponse.__name__])
|
||||
def post(self):
|
||||
current_user, _ = current_account_with_tenant()
|
||||
payload = DismissNotificationPayload.model_validate(request.get_json())
|
||||
|
||||
@ -11,6 +11,7 @@ from controllers.common.errors import (
|
||||
RemoteFileUploadError,
|
||||
UnsupportedFileTypeError,
|
||||
)
|
||||
from controllers.common.schema import register_response_schema_models, register_schema_models
|
||||
from controllers.console import console_ns
|
||||
from core.helper import ssrf_proxy
|
||||
from extensions.ext_database import db
|
||||
@ -24,8 +25,13 @@ class RemoteFileUploadPayload(BaseModel):
|
||||
url: str = Field(..., description="URL to fetch")
|
||||
|
||||
|
||||
register_schema_models(console_ns, RemoteFileUploadPayload)
|
||||
register_response_schema_models(console_ns, FileWithSignedUrl, RemoteFileInfo)
|
||||
|
||||
|
||||
@console_ns.route("/remote-files/<path:url>")
|
||||
class GetRemoteFileInfo(Resource):
|
||||
@console_ns.response(200, "Success", console_ns.models[RemoteFileInfo.__name__])
|
||||
@login_required
|
||||
def get(self, url: str):
|
||||
decoded_url = urllib.parse.unquote(url)
|
||||
@ -41,6 +47,8 @@ class GetRemoteFileInfo(Resource):
|
||||
|
||||
@console_ns.route("/remote-files/upload")
|
||||
class RemoteFileUpload(Resource):
|
||||
@console_ns.expect(console_ns.models[RemoteFileUploadPayload.__name__])
|
||||
@console_ns.response(201, "File uploaded successfully", console_ns.models[FileWithSignedUrl.__name__])
|
||||
@login_required
|
||||
def post(self):
|
||||
payload = RemoteFileUploadPayload.model_validate(console_ns.payload)
|
||||
|
||||
@ -5,7 +5,8 @@ from flask_restx import Resource
|
||||
from pydantic import BaseModel, Field, field_validator
|
||||
from werkzeug.exceptions import Forbidden
|
||||
|
||||
from controllers.common.schema import register_schema_models
|
||||
from controllers.common.fields import SimpleResultResponse
|
||||
from controllers.common.schema import register_response_schema_models, register_schema_models
|
||||
from controllers.console import console_ns
|
||||
from controllers.console.wraps import account_initialization_required, edit_permission_required, setup_required
|
||||
from fields.base import ResponseModel
|
||||
@ -78,6 +79,7 @@ register_schema_models(
|
||||
TagListQueryParam,
|
||||
TagResponse,
|
||||
)
|
||||
register_response_schema_models(console_ns, SimpleResultResponse)
|
||||
|
||||
|
||||
@console_ns.route("/tags")
|
||||
@ -102,6 +104,7 @@ class TagListApi(Resource):
|
||||
return serialized_tags, 200
|
||||
|
||||
@console_ns.expect(console_ns.models[TagBasePayload.__name__])
|
||||
@console_ns.response(200, "Success", console_ns.models[TagResponse.__name__])
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@ -124,6 +127,7 @@ class TagListApi(Resource):
|
||||
@console_ns.route("/tags/<uuid:tag_id>")
|
||||
class TagUpdateDeleteApi(Resource):
|
||||
@console_ns.expect(console_ns.models[TagUpdateRequestPayload.__name__])
|
||||
@console_ns.response(200, "Success", console_ns.models[TagResponse.__name__])
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@ -149,6 +153,7 @@ class TagUpdateDeleteApi(Resource):
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@edit_permission_required
|
||||
@console_ns.response(204, "Tag deleted successfully")
|
||||
def delete(self, tag_id):
|
||||
tag_id = str(tag_id)
|
||||
|
||||
@ -203,6 +208,7 @@ class TagBindingCollectionApi(Resource):
|
||||
|
||||
@console_ns.doc("create_tag_binding")
|
||||
@console_ns.expect(console_ns.models[TagBindingPayload.__name__])
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleResultResponse.__name__])
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@ -217,6 +223,7 @@ class TagBindingRemoveApi(Resource):
|
||||
@console_ns.doc("remove_tag_bindings")
|
||||
@console_ns.doc(description="Remove one or more tag bindings from a target.")
|
||||
@console_ns.expect(console_ns.models[TagBindingRemovePayload.__name__])
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleResultResponse.__name__])
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
|
||||
@ -12,7 +12,13 @@ from werkzeug.exceptions import NotFound
|
||||
|
||||
from configs import dify_config
|
||||
from constants.languages import supported_language
|
||||
from controllers.common.schema import register_schema_models
|
||||
from controllers.common.fields import (
|
||||
AvatarUrlResponse,
|
||||
SimpleResultDataResponse,
|
||||
SimpleResultResponse,
|
||||
VerificationTokenResponse,
|
||||
)
|
||||
from controllers.common.schema import register_response_schema_models, register_schema_models
|
||||
from controllers.console import console_ns
|
||||
from controllers.console.auth.error import (
|
||||
EmailAlreadyInUseError,
|
||||
@ -231,11 +237,19 @@ register_schema_models(
|
||||
EducationStatusResponse,
|
||||
EducationAutocompleteResponse,
|
||||
)
|
||||
register_response_schema_models(
|
||||
console_ns,
|
||||
AvatarUrlResponse,
|
||||
SimpleResultDataResponse,
|
||||
SimpleResultResponse,
|
||||
VerificationTokenResponse,
|
||||
)
|
||||
|
||||
|
||||
@console_ns.route("/account/init")
|
||||
class AccountInitApi(Resource):
|
||||
@console_ns.expect(console_ns.models[AccountInitPayload.__name__])
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleResultResponse.__name__])
|
||||
@setup_required
|
||||
@login_required
|
||||
def post(self):
|
||||
@ -312,6 +326,7 @@ class AccountAvatarApi(Resource):
|
||||
@console_ns.expect(console_ns.models[AccountAvatarQuery.__name__])
|
||||
@console_ns.doc("get_account_avatar")
|
||||
@console_ns.doc(description="Get account avatar url")
|
||||
@console_ns.response(200, "Success", console_ns.models[AvatarUrlResponse.__name__])
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@ -473,6 +488,7 @@ class AccountDeleteVerifyApi(Resource):
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleResultDataResponse.__name__])
|
||||
def get(self):
|
||||
account, _ = current_account_with_tenant()
|
||||
|
||||
@ -485,6 +501,7 @@ class AccountDeleteVerifyApi(Resource):
|
||||
@console_ns.route("/account/delete")
|
||||
class AccountDeleteApi(Resource):
|
||||
@console_ns.expect(console_ns.models[AccountDeletePayload.__name__])
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleResultResponse.__name__])
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@ -505,6 +522,7 @@ class AccountDeleteApi(Resource):
|
||||
@console_ns.route("/account/delete/feedback")
|
||||
class AccountDeleteUpdateFeedbackApi(Resource):
|
||||
@console_ns.expect(console_ns.models[AccountDeletionFeedbackPayload.__name__])
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleResultResponse.__name__])
|
||||
@setup_required
|
||||
def post(self):
|
||||
payload = console_ns.payload or {}
|
||||
@ -584,6 +602,7 @@ class EducationAutoCompleteApi(Resource):
|
||||
@console_ns.route("/account/change-email")
|
||||
class ChangeEmailSendEmailApi(Resource):
|
||||
@console_ns.expect(console_ns.models[ChangeEmailSendPayload.__name__])
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleResultDataResponse.__name__])
|
||||
@enable_change_email
|
||||
@setup_required
|
||||
@login_required
|
||||
@ -649,6 +668,7 @@ class ChangeEmailSendEmailApi(Resource):
|
||||
@console_ns.route("/account/change-email/validity")
|
||||
class ChangeEmailCheckApi(Resource):
|
||||
@console_ns.expect(console_ns.models[ChangeEmailValidityPayload.__name__])
|
||||
@console_ns.response(200, "Success", console_ns.models[VerificationTokenResponse.__name__])
|
||||
@enable_change_email
|
||||
@setup_required
|
||||
@login_required
|
||||
@ -765,6 +785,7 @@ class ChangeEmailResetApi(Resource):
|
||||
@console_ns.route("/account/change-email/check-email-unique")
|
||||
class CheckEmailUnique(Resource):
|
||||
@console_ns.expect(console_ns.models[CheckEmailUniquePayload.__name__])
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleResultResponse.__name__])
|
||||
@setup_required
|
||||
def post(self):
|
||||
payload = console_ns.payload or {}
|
||||
|
||||
@ -6,7 +6,8 @@ from pydantic import BaseModel, Field, TypeAdapter
|
||||
|
||||
import services
|
||||
from configs import dify_config
|
||||
from controllers.common.schema import register_enum_models, register_schema_models
|
||||
from controllers.common.fields import SimpleResultDataResponse, VerificationTokenResponse
|
||||
from controllers.common.schema import register_enum_models, register_response_schema_models, register_schema_models
|
||||
from controllers.console import console_ns
|
||||
from controllers.console.auth.error import (
|
||||
CannotTransferOwnerToSelfError,
|
||||
@ -68,6 +69,7 @@ register_schema_models(
|
||||
OwnerTransferCheckPayload,
|
||||
OwnerTransferPayload,
|
||||
)
|
||||
register_response_schema_models(console_ns, SimpleResultDataResponse, VerificationTokenResponse)
|
||||
|
||||
|
||||
def _is_role_enabled(role: TenantAccountRole | str, tenant_id: str) -> bool:
|
||||
@ -262,6 +264,7 @@ class SendOwnerTransferEmailApi(Resource):
|
||||
"""Send owner transfer email."""
|
||||
|
||||
@console_ns.expect(console_ns.models[OwnerTransferEmailPayload.__name__])
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleResultDataResponse.__name__])
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@ -299,6 +302,7 @@ class SendOwnerTransferEmailApi(Resource):
|
||||
@console_ns.route("/workspaces/current/members/owner-transfer-check")
|
||||
class OwnerTransferCheckApi(Resource):
|
||||
@console_ns.expect(console_ns.models[OwnerTransferCheckPayload.__name__])
|
||||
@console_ns.response(200, "Success", console_ns.models[VerificationTokenResponse.__name__])
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
|
||||
@ -5,7 +5,8 @@ from flask import request, send_file
|
||||
from flask_restx import Resource
|
||||
from pydantic import BaseModel, Field, field_validator
|
||||
|
||||
from controllers.common.schema import register_schema_models
|
||||
from controllers.common.fields import SimpleResultResponse
|
||||
from controllers.common.schema import register_response_schema_models, register_schema_models
|
||||
from controllers.console import console_ns
|
||||
from controllers.console.wraps import account_initialization_required, is_admin_or_owner_required, setup_required
|
||||
from graphon.model_runtime.entities.model_entities import ModelType
|
||||
@ -85,6 +86,7 @@ register_schema_models(
|
||||
ParserCredentialValidate,
|
||||
ParserPreferredProviderType,
|
||||
)
|
||||
register_response_schema_models(console_ns, SimpleResultResponse)
|
||||
|
||||
|
||||
@console_ns.route("/workspaces/current/model-providers")
|
||||
@ -177,6 +179,7 @@ class ModelProviderCredentialApi(Resource):
|
||||
return {"result": "success"}
|
||||
|
||||
@console_ns.expect(console_ns.models[ParserCredentialDelete.__name__])
|
||||
@console_ns.response(204, "Credential deleted successfully")
|
||||
@setup_required
|
||||
@login_required
|
||||
@is_admin_or_owner_required
|
||||
@ -197,6 +200,7 @@ class ModelProviderCredentialApi(Resource):
|
||||
@console_ns.route("/workspaces/current/model-providers/<path:provider>/credentials/switch")
|
||||
class ModelProviderCredentialSwitchApi(Resource):
|
||||
@console_ns.expect(console_ns.models[ParserCredentialSwitch.__name__])
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleResultResponse.__name__])
|
||||
@setup_required
|
||||
@login_required
|
||||
@is_admin_or_owner_required
|
||||
@ -271,6 +275,7 @@ class ModelProviderIconApi(Resource):
|
||||
@console_ns.route("/workspaces/current/model-providers/<path:provider>/preferred-provider-type")
|
||||
class PreferredProviderTypeUpdateApi(Resource):
|
||||
@console_ns.expect(console_ns.models[ParserPreferredProviderType.__name__])
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleResultResponse.__name__])
|
||||
@setup_required
|
||||
@login_required
|
||||
@is_admin_or_owner_required
|
||||
|
||||
@ -5,7 +5,8 @@ from flask import request
|
||||
from flask_restx import Resource
|
||||
from pydantic import BaseModel, Field, field_validator
|
||||
|
||||
from controllers.common.schema import register_enum_models, register_schema_models
|
||||
from controllers.common.fields import SimpleResultResponse
|
||||
from controllers.common.schema import register_enum_models, register_response_schema_models, register_schema_models
|
||||
from controllers.console import console_ns
|
||||
from controllers.console.wraps import account_initialization_required, is_admin_or_owner_required, setup_required
|
||||
from graphon.model_runtime.entities.model_entities import ModelType
|
||||
@ -126,6 +127,7 @@ register_schema_models(
|
||||
Inner,
|
||||
ParserSwitch,
|
||||
)
|
||||
register_response_schema_models(console_ns, SimpleResultResponse)
|
||||
|
||||
register_enum_models(console_ns, ModelType)
|
||||
|
||||
@ -149,6 +151,7 @@ class DefaultModelApi(Resource):
|
||||
return jsonable_encoder({"data": default_model_entity})
|
||||
|
||||
@console_ns.expect(console_ns.models[ParserPostDefault.__name__])
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleResultResponse.__name__])
|
||||
@setup_required
|
||||
@login_required
|
||||
@is_admin_or_owner_required
|
||||
@ -241,6 +244,7 @@ class ModelProviderModelApi(Resource):
|
||||
return {"result": "success"}, 200
|
||||
|
||||
@console_ns.expect(console_ns.models[ParserDeleteModels.__name__])
|
||||
@console_ns.response(204, "Model deleted successfully")
|
||||
@setup_required
|
||||
@login_required
|
||||
@is_admin_or_owner_required
|
||||
@ -373,6 +377,7 @@ class ModelProviderModelCredentialApi(Resource):
|
||||
return {"result": "success"}
|
||||
|
||||
@console_ns.expect(console_ns.models[ParserDeleteCredential.__name__])
|
||||
@console_ns.response(204, "Credential deleted successfully")
|
||||
@setup_required
|
||||
@login_required
|
||||
@is_admin_or_owner_required
|
||||
@ -396,6 +401,7 @@ class ModelProviderModelCredentialApi(Resource):
|
||||
@console_ns.route("/workspaces/current/model-providers/<path:provider>/models/credentials/switch")
|
||||
class ModelProviderModelCredentialSwitchApi(Resource):
|
||||
@console_ns.expect(console_ns.models[ParserSwitch.__name__])
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleResultResponse.__name__])
|
||||
@setup_required
|
||||
@login_required
|
||||
@is_admin_or_owner_required
|
||||
@ -420,6 +426,7 @@ class ModelProviderModelCredentialSwitchApi(Resource):
|
||||
)
|
||||
class ModelProviderModelEnableApi(Resource):
|
||||
@console_ns.expect(console_ns.models[ParserDeleteModels.__name__])
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleResultResponse.__name__])
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@ -441,6 +448,7 @@ class ModelProviderModelEnableApi(Resource):
|
||||
)
|
||||
class ModelProviderModelDisableApi(Resource):
|
||||
@console_ns.expect(console_ns.models[ParserDeleteModels.__name__])
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleResultResponse.__name__])
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
|
||||
@ -9,11 +9,13 @@ from werkzeug.datastructures import FileStorage
|
||||
from werkzeug.exceptions import Forbidden
|
||||
|
||||
from configs import dify_config
|
||||
from controllers.common.schema import register_enum_models, register_schema_models
|
||||
from controllers.common.fields import SuccessResponse
|
||||
from controllers.common.schema import register_enum_models, register_response_schema_models, register_schema_models
|
||||
from controllers.console import console_ns
|
||||
from controllers.console.workspace import plugin_permission_required
|
||||
from controllers.console.wraps import account_initialization_required, is_admin_or_owner_required, setup_required
|
||||
from core.plugin.impl.exc import PluginDaemonClientSideError
|
||||
from fields.base import ResponseModel
|
||||
from graphon.model_runtime.utils.encoders import jsonable_encoder
|
||||
from libs.login import current_account_with_tenant, login_required
|
||||
from models.account import TenantPluginAutoUpgradeStrategy, TenantPluginPermission
|
||||
@ -137,6 +139,12 @@ class ParserReadme(BaseModel):
|
||||
language: str = Field(default="en-US")
|
||||
|
||||
|
||||
class PluginDebuggingKeyResponse(ResponseModel):
|
||||
key: str
|
||||
host: str
|
||||
port: int
|
||||
|
||||
|
||||
register_schema_models(
|
||||
console_ns,
|
||||
ParserList,
|
||||
@ -160,6 +168,7 @@ register_schema_models(
|
||||
ParserExcludePlugin,
|
||||
ParserReadme,
|
||||
)
|
||||
register_response_schema_models(console_ns, PluginDebuggingKeyResponse, SuccessResponse)
|
||||
|
||||
register_enum_models(
|
||||
console_ns,
|
||||
@ -186,6 +195,7 @@ def _read_upload_content(file: FileStorage, max_size: int) -> bytes:
|
||||
|
||||
@console_ns.route("/workspaces/current/plugin/debugging-key")
|
||||
class PluginDebuggingKeyApi(Resource):
|
||||
@console_ns.response(200, "Success", console_ns.models[PluginDebuggingKeyResponse.__name__])
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@ -491,6 +501,7 @@ class PluginFetchInstallTaskApi(Resource):
|
||||
|
||||
@console_ns.route("/workspaces/current/plugin/tasks/<task_id>/delete")
|
||||
class PluginDeleteInstallTaskApi(Resource):
|
||||
@console_ns.response(200, "Success", console_ns.models[SuccessResponse.__name__])
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@ -506,6 +517,7 @@ class PluginDeleteInstallTaskApi(Resource):
|
||||
|
||||
@console_ns.route("/workspaces/current/plugin/tasks/delete_all")
|
||||
class PluginDeleteAllInstallTaskItemsApi(Resource):
|
||||
@console_ns.response(200, "Success", console_ns.models[SuccessResponse.__name__])
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@ -521,6 +533,7 @@ class PluginDeleteAllInstallTaskItemsApi(Resource):
|
||||
|
||||
@console_ns.route("/workspaces/current/plugin/tasks/<task_id>/delete/<path:identifier>")
|
||||
class PluginDeleteInstallTaskItemApi(Resource):
|
||||
@console_ns.response(200, "Success", console_ns.models[SuccessResponse.__name__])
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@ -586,6 +599,7 @@ class PluginUpgradeFromGithubApi(Resource):
|
||||
@console_ns.route("/workspaces/current/plugin/uninstall")
|
||||
class PluginUninstallApi(Resource):
|
||||
@console_ns.expect(console_ns.models[ParserUninstall.__name__])
|
||||
@console_ns.response(200, "Success", console_ns.models[SuccessResponse.__name__])
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
@ -604,6 +618,7 @@ class PluginUninstallApi(Resource):
|
||||
@console_ns.route("/workspaces/current/plugin/permission/change")
|
||||
class PluginChangePermissionApi(Resource):
|
||||
@console_ns.expect(console_ns.models[ParserPermissionChange.__name__])
|
||||
@console_ns.response(200, "Success", console_ns.models[SuccessResponse.__name__])
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
|
||||
@ -10,7 +10,8 @@ from sqlalchemy.orm import sessionmaker
|
||||
from werkzeug.exceptions import Forbidden
|
||||
|
||||
from configs import dify_config
|
||||
from controllers.common.schema import register_schema_models
|
||||
from controllers.common.fields import SimpleResultResponse
|
||||
from controllers.common.schema import register_response_schema_models, register_schema_models
|
||||
from controllers.console import console_ns
|
||||
from controllers.console.wraps import (
|
||||
account_initialization_required,
|
||||
@ -252,6 +253,7 @@ register_schema_models(
|
||||
MCPProviderDeletePayload,
|
||||
MCPAuthPayload,
|
||||
)
|
||||
register_response_schema_models(console_ns, SimpleResultResponse)
|
||||
|
||||
|
||||
@console_ns.route("/workspaces/current/tool-providers")
|
||||
@ -1055,6 +1057,7 @@ class ToolProviderMCPApi(Resource):
|
||||
return {"result": "success"}
|
||||
|
||||
@console_ns.expect(console_ns.models[MCPProviderDeletePayload.__name__])
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleResultResponse.__name__])
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
|
||||
@ -8,7 +8,8 @@ from sqlalchemy.orm import sessionmaker
|
||||
from werkzeug.exceptions import BadRequest, Forbidden
|
||||
|
||||
from configs import dify_config
|
||||
from controllers.common.schema import register_schema_models
|
||||
from controllers.common.fields import SimpleResultResponse
|
||||
from controllers.common.schema import register_response_schema_models, register_schema_models
|
||||
from controllers.web.error import NotFoundError
|
||||
from core.plugin.entities.plugin_daemon import CredentialType
|
||||
from core.plugin.impl.oauth import OAuthHandler
|
||||
@ -68,6 +69,7 @@ register_schema_models(
|
||||
TriggerSubscriptionBuilderUpdatePayload,
|
||||
TriggerOAuthClientPayload,
|
||||
)
|
||||
register_response_schema_models(console_ns, SimpleResultResponse)
|
||||
|
||||
|
||||
@console_ns.route("/workspaces/current/trigger-provider/<path:provider>/icon")
|
||||
@ -365,6 +367,7 @@ class TriggerSubscriptionUpdateApi(Resource):
|
||||
"/workspaces/current/trigger-provider/<path:subscription_id>/subscriptions/delete",
|
||||
)
|
||||
class TriggerSubscriptionDeleteApi(Resource):
|
||||
@console_ns.response(200, "Success", console_ns.models[SimpleResultResponse.__name__])
|
||||
@setup_required
|
||||
@login_required
|
||||
@is_admin_or_owner_required
|
||||
|
||||
@ -16,7 +16,7 @@ from controllers.common.errors import (
|
||||
TooManyFilesError,
|
||||
UnsupportedFileTypeError,
|
||||
)
|
||||
from controllers.common.schema import register_schema_models
|
||||
from controllers.common.schema import register_response_schema_models, register_schema_models
|
||||
from controllers.console import console_ns
|
||||
from controllers.console.admin import admin_required
|
||||
from controllers.console.error import AccountNotLinkTenantError
|
||||
@ -89,6 +89,12 @@ class TenantInfoResponse(ResponseModel):
|
||||
return to_timestamp(value)
|
||||
|
||||
|
||||
class WorkspacePermissionResponse(ResponseModel):
|
||||
workspace_id: str
|
||||
allow_member_invite: bool
|
||||
allow_owner_transfer: bool
|
||||
|
||||
|
||||
register_schema_models(
|
||||
console_ns,
|
||||
WorkspaceListQuery,
|
||||
@ -97,6 +103,7 @@ register_schema_models(
|
||||
WorkspaceInfoPayload,
|
||||
TenantInfoResponse,
|
||||
)
|
||||
register_response_schema_models(console_ns, WorkspacePermissionResponse)
|
||||
|
||||
provider_fields = {
|
||||
"provider_name": fields.String,
|
||||
@ -357,6 +364,7 @@ class WorkspaceInfoApi(Resource):
|
||||
class WorkspacePermissionApi(Resource):
|
||||
"""Get workspace permissions for the current workspace."""
|
||||
|
||||
@console_ns.response(200, "Success", console_ns.models[WorkspacePermissionResponse.__name__])
|
||||
@setup_required
|
||||
@login_required
|
||||
@account_initialization_required
|
||||
|
||||
@ -3,14 +3,27 @@ from typing import Any, cast
|
||||
from flask_restx import Resource
|
||||
|
||||
from controllers.common.fields import Parameters
|
||||
from controllers.common.schema import register_response_schema_models
|
||||
from controllers.service_api import service_api_ns
|
||||
from controllers.service_api.app.error import AppUnavailableError
|
||||
from controllers.service_api.wraps import validate_app_token
|
||||
from core.app.app_config.common.parameters_mapping import get_parameters_from_feature_dict
|
||||
from fields.base import ResponseModel
|
||||
from models.model import App, AppMode
|
||||
from services.app_service import AppService
|
||||
|
||||
|
||||
class AppInfoResponse(ResponseModel):
|
||||
name: str
|
||||
description: str | None
|
||||
tags: list[str]
|
||||
mode: str
|
||||
author_name: str | None
|
||||
|
||||
|
||||
register_response_schema_models(service_api_ns, AppInfoResponse)
|
||||
|
||||
|
||||
@service_api_ns.route("/parameters")
|
||||
class AppParameterApi(Resource):
|
||||
"""Resource for app variables."""
|
||||
@ -81,6 +94,11 @@ class AppInfoApi(Resource):
|
||||
404: "Application not found",
|
||||
}
|
||||
)
|
||||
@service_api_ns.response(
|
||||
200,
|
||||
"Application info retrieved successfully",
|
||||
service_api_ns.models[AppInfoResponse.__name__],
|
||||
)
|
||||
@validate_app_token
|
||||
def get(self, app_model: App):
|
||||
"""Get app information.
|
||||
|
||||
@ -8,7 +8,8 @@ from pydantic import BaseModel, Field, field_validator
|
||||
from werkzeug.exceptions import BadRequest, InternalServerError, NotFound
|
||||
|
||||
import services
|
||||
from controllers.common.schema import register_schema_models
|
||||
from controllers.common.fields import SimpleResultResponse
|
||||
from controllers.common.schema import register_response_schema_models, register_schema_models
|
||||
from controllers.service_api import service_api_ns
|
||||
from controllers.service_api.app.error import (
|
||||
AppUnavailableError,
|
||||
@ -75,6 +76,7 @@ class ChatRequestPayload(BaseModel):
|
||||
|
||||
|
||||
register_schema_models(service_api_ns, CompletionRequestPayload, ChatRequestPayload)
|
||||
register_response_schema_models(service_api_ns, SimpleResultResponse)
|
||||
|
||||
|
||||
@service_api_ns.route("/completion-messages")
|
||||
@ -155,6 +157,7 @@ class CompletionStopApi(Resource):
|
||||
404: "Task not found",
|
||||
}
|
||||
)
|
||||
@service_api_ns.response(200, "Task stopped successfully", service_api_ns.models[SimpleResultResponse.__name__])
|
||||
@validate_app_token(fetch_user_arg=FetchUserArg(fetch_from=WhereisUserArg.JSON, required=True))
|
||||
def post(self, app_model: App, end_user: EndUser, task_id: str):
|
||||
"""Stop a running completion task."""
|
||||
@ -254,6 +257,7 @@ class ChatStopApi(Resource):
|
||||
404: "Task not found",
|
||||
}
|
||||
)
|
||||
@service_api_ns.response(200, "Task stopped successfully", service_api_ns.models[SimpleResultResponse.__name__])
|
||||
@validate_app_token(fetch_user_arg=FetchUserArg(fetch_from=WhereisUserArg.JSON, required=True))
|
||||
def post(self, app_model: App, end_user: EndUser, task_id: str):
|
||||
"""Stop a running chat message generation."""
|
||||
|
||||
@ -7,7 +7,8 @@ from werkzeug.exceptions import BadRequest, InternalServerError, NotFound
|
||||
|
||||
import services
|
||||
from controllers.common.controller_schemas import MessageFeedbackPayload, MessageListQuery
|
||||
from controllers.common.schema import register_schema_models
|
||||
from controllers.common.fields import SimpleResultStringListResponse
|
||||
from controllers.common.schema import register_response_schema_models, register_schema_models
|
||||
from controllers.service_api import service_api_ns
|
||||
from controllers.service_api.app.error import NotChatAppError
|
||||
from controllers.service_api.wraps import FetchUserArg, WhereisUserArg, validate_app_token
|
||||
@ -32,6 +33,7 @@ class FeedbackListQuery(BaseModel):
|
||||
|
||||
|
||||
register_schema_models(service_api_ns, MessageListQuery, MessageFeedbackPayload, FeedbackListQuery)
|
||||
register_response_schema_models(service_api_ns, ResultResponse, SimpleResultStringListResponse)
|
||||
|
||||
|
||||
@service_api_ns.route("/messages")
|
||||
@ -80,6 +82,7 @@ class MessageListApi(Resource):
|
||||
@service_api_ns.route("/messages/<uuid:message_id>/feedbacks")
|
||||
class MessageFeedbackApi(Resource):
|
||||
@service_api_ns.expect(service_api_ns.models[MessageFeedbackPayload.__name__])
|
||||
@service_api_ns.response(200, "Feedback submitted successfully", service_api_ns.models[ResultResponse.__name__])
|
||||
@service_api_ns.doc("create_message_feedback")
|
||||
@service_api_ns.doc(description="Submit feedback for a message")
|
||||
@service_api_ns.doc(params={"message_id": "Message ID"})
|
||||
@ -138,6 +141,11 @@ class AppGetFeedbacksApi(Resource):
|
||||
|
||||
@service_api_ns.route("/messages/<uuid:message_id>/suggested")
|
||||
class MessageSuggestedApi(Resource):
|
||||
@service_api_ns.response(
|
||||
200,
|
||||
"Suggested questions retrieved successfully",
|
||||
service_api_ns.models[SimpleResultStringListResponse.__name__],
|
||||
)
|
||||
@service_api_ns.doc("get_suggested_questions")
|
||||
@service_api_ns.doc(description="Get suggested follow-up questions for a message")
|
||||
@service_api_ns.doc(params={"message_id": "Message ID"})
|
||||
|
||||
@ -3,12 +3,15 @@ from sqlalchemy import select
|
||||
from werkzeug.exceptions import Forbidden
|
||||
|
||||
from controllers.common.fields import Site as SiteResponse
|
||||
from controllers.common.schema import register_response_schema_models
|
||||
from controllers.service_api import service_api_ns
|
||||
from controllers.service_api.wraps import validate_app_token
|
||||
from extensions.ext_database import db
|
||||
from models.account import TenantStatus
|
||||
from models.model import App, Site
|
||||
|
||||
register_response_schema_models(service_api_ns, SiteResponse)
|
||||
|
||||
|
||||
@service_api_ns.route("/site")
|
||||
class AppSiteApi(Resource):
|
||||
@ -23,6 +26,11 @@ class AppSiteApi(Resource):
|
||||
403: "Forbidden - site not found or tenant archived",
|
||||
}
|
||||
)
|
||||
@service_api_ns.response(
|
||||
200,
|
||||
"Site configuration retrieved successfully",
|
||||
service_api_ns.models[SiteResponse.__name__],
|
||||
)
|
||||
@validate_app_token
|
||||
def get(self, app_model: App):
|
||||
"""Retrieve app site info.
|
||||
|
||||
@ -11,7 +11,8 @@ from sqlalchemy.orm import sessionmaker
|
||||
from werkzeug.exceptions import BadRequest, InternalServerError, NotFound
|
||||
|
||||
from controllers.common.controller_schemas import WorkflowRunPayload as WorkflowRunPayloadBase
|
||||
from controllers.common.schema import register_schema_models
|
||||
from controllers.common.fields import SimpleResultResponse
|
||||
from controllers.common.schema import register_response_schema_models, register_schema_models
|
||||
from controllers.service_api import service_api_ns
|
||||
from controllers.service_api.app.error import (
|
||||
CompletionRequestError,
|
||||
@ -67,6 +68,7 @@ class WorkflowLogQuery(BaseModel):
|
||||
|
||||
|
||||
register_schema_models(service_api_ns, WorkflowRunPayload, WorkflowLogQuery)
|
||||
register_response_schema_models(service_api_ns, SimpleResultResponse)
|
||||
|
||||
|
||||
def _enum_value(value):
|
||||
@ -376,6 +378,7 @@ class WorkflowTaskStopApi(Resource):
|
||||
404: "Task not found",
|
||||
}
|
||||
)
|
||||
@service_api_ns.response(200, "Task stopped successfully", service_api_ns.models[SimpleResultResponse.__name__])
|
||||
@validate_app_token(fetch_user_arg=FetchUserArg(fetch_from=WhereisUserArg.JSON, required=True))
|
||||
def post(self, app_model: App, end_user: EndUser, task_id: str):
|
||||
"""Stop a running workflow task."""
|
||||
|
||||
@ -6,7 +6,8 @@ from pydantic import BaseModel, Field, TypeAdapter, field_validator, model_valid
|
||||
from werkzeug.exceptions import Forbidden, NotFound
|
||||
|
||||
import services
|
||||
from controllers.common.schema import register_enum_models, register_schema_models
|
||||
from controllers.common.fields import SimpleResultResponse
|
||||
from controllers.common.schema import register_enum_models, register_response_schema_models, register_schema_models
|
||||
from controllers.console.wraps import edit_permission_required
|
||||
from controllers.service_api import service_api_ns
|
||||
from controllers.service_api.dataset.error import DatasetInUseError, DatasetNameDuplicateError, InvalidActionError
|
||||
@ -138,6 +139,7 @@ register_schema_models(
|
||||
DatasetListQuery,
|
||||
DataSetTag,
|
||||
)
|
||||
register_response_schema_models(service_api_ns, SimpleResultResponse)
|
||||
|
||||
|
||||
@service_api_ns.route("/datasets")
|
||||
@ -434,6 +436,11 @@ class DatasetApi(DatasetApiResource):
|
||||
class DocumentStatusApi(DatasetApiResource):
|
||||
"""Resource for batch document status operations."""
|
||||
|
||||
@service_api_ns.response(
|
||||
200,
|
||||
"Document status updated successfully",
|
||||
service_api_ns.models[SimpleResultResponse.__name__],
|
||||
)
|
||||
@service_api_ns.doc("update_document_status")
|
||||
@service_api_ns.doc(description="Batch update document status")
|
||||
@service_api_ns.doc(
|
||||
|
||||
@ -26,7 +26,8 @@ from controllers.common.errors import (
|
||||
TooManyFilesError,
|
||||
UnsupportedFileTypeError,
|
||||
)
|
||||
from controllers.common.schema import register_enum_models, register_schema_models
|
||||
from controllers.common.fields import UrlResponse
|
||||
from controllers.common.schema import register_enum_models, register_response_schema_models, register_schema_models
|
||||
from controllers.service_api import service_api_ns
|
||||
from controllers.service_api.app.error import ProviderNotInitializeError
|
||||
from controllers.service_api.dataset.error import (
|
||||
@ -120,6 +121,7 @@ register_schema_models(
|
||||
PreProcessingRule,
|
||||
Segmentation,
|
||||
)
|
||||
register_response_schema_models(service_api_ns, UrlResponse)
|
||||
|
||||
|
||||
def _create_document_by_text(tenant_id: str, dataset_id: UUID) -> tuple[Mapping[str, object], int]:
|
||||
@ -749,6 +751,11 @@ class DocumentDownloadApi(DatasetApiResource):
|
||||
404: "Document or upload file not found",
|
||||
}
|
||||
)
|
||||
@service_api_ns.response(
|
||||
200,
|
||||
"Download URL generated successfully",
|
||||
service_api_ns.models[UrlResponse.__name__],
|
||||
)
|
||||
@cloud_edition_billing_rate_limit_check("knowledge", "dataset")
|
||||
def get(self, tenant_id, dataset_id, document_id):
|
||||
dataset = self.get_dataset(str(dataset_id), str(tenant_id))
|
||||
|
||||
@ -5,7 +5,8 @@ from flask_restx import marshal
|
||||
from werkzeug.exceptions import NotFound
|
||||
|
||||
from controllers.common.controller_schemas import MetadataUpdatePayload
|
||||
from controllers.common.schema import register_schema_model, register_schema_models
|
||||
from controllers.common.fields import SimpleResultResponse
|
||||
from controllers.common.schema import register_response_schema_models, register_schema_model, register_schema_models
|
||||
from controllers.service_api import service_api_ns
|
||||
from controllers.service_api.wraps import DatasetApiResource, cloud_edition_billing_rate_limit_check
|
||||
from fields.dataset_fields import dataset_metadata_fields
|
||||
@ -26,6 +27,7 @@ register_schema_models(
|
||||
DocumentMetadataOperation,
|
||||
MetadataOperationData,
|
||||
)
|
||||
register_response_schema_models(service_api_ns, SimpleResultResponse)
|
||||
|
||||
|
||||
@service_api_ns.route("/datasets/<uuid:dataset_id>/metadata")
|
||||
@ -154,6 +156,11 @@ class DatasetMetadataBuiltInFieldActionServiceApi(DatasetApiResource):
|
||||
404: "Dataset not found",
|
||||
}
|
||||
)
|
||||
@service_api_ns.response(
|
||||
200,
|
||||
"Action completed successfully",
|
||||
service_api_ns.models[SimpleResultResponse.__name__],
|
||||
)
|
||||
@cloud_edition_billing_rate_limit_check("knowledge", "dataset")
|
||||
def post(self, tenant_id, dataset_id, action: Literal["enable", "disable"]):
|
||||
"""Enable or disable built-in metadata field."""
|
||||
@ -184,6 +191,11 @@ class DocumentMetadataEditServiceApi(DatasetApiResource):
|
||||
404: "Dataset not found",
|
||||
}
|
||||
)
|
||||
@service_api_ns.response(
|
||||
200,
|
||||
"Documents metadata updated successfully",
|
||||
service_api_ns.models[SimpleResultResponse.__name__],
|
||||
)
|
||||
@cloud_edition_billing_rate_limit_check("knowledge", "dataset")
|
||||
def post(self, tenant_id, dataset_id):
|
||||
"""Update metadata for multiple documents."""
|
||||
|
||||
@ -2,6 +2,7 @@ from uuid import UUID
|
||||
|
||||
from flask_restx import Resource
|
||||
|
||||
from controllers.common.schema import register_response_schema_models
|
||||
from controllers.service_api import service_api_ns
|
||||
from controllers.service_api.end_user.error import EndUserNotFoundError
|
||||
from controllers.service_api.wraps import validate_app_token
|
||||
@ -9,6 +10,8 @@ from fields.end_user_fields import EndUserDetail
|
||||
from models.model import App
|
||||
from services.end_user_service import EndUserService
|
||||
|
||||
register_response_schema_models(service_api_ns, EndUserDetail)
|
||||
|
||||
|
||||
@service_api_ns.route("/end-users/<uuid:end_user_id>")
|
||||
class EndUserApi(Resource):
|
||||
@ -24,6 +27,7 @@ class EndUserApi(Resource):
|
||||
404: "End user not found",
|
||||
},
|
||||
)
|
||||
@service_api_ns.response(200, "End user retrieved successfully", service_api_ns.models[EndUserDetail.__name__])
|
||||
@validate_app_token
|
||||
def get(self, app_model: App, end_user_id: UUID):
|
||||
"""Get end user detail.
|
||||
|
||||
@ -1,11 +1,16 @@
|
||||
from flask_restx import Resource
|
||||
|
||||
from configs import dify_config
|
||||
from controllers.common.fields import IndexInfoResponse
|
||||
from controllers.common.schema import register_response_schema_models
|
||||
from controllers.service_api import service_api_ns
|
||||
|
||||
register_response_schema_models(service_api_ns, IndexInfoResponse)
|
||||
|
||||
|
||||
@service_api_ns.route("/")
|
||||
class IndexApi(Resource):
|
||||
@service_api_ns.response(200, "Success", service_api_ns.models[IndexInfoResponse.__name__])
|
||||
def get(self):
|
||||
return {
|
||||
"welcome": "Dify OpenAPI",
|
||||
|
||||
@ -8,7 +8,7 @@ from werkzeug.exceptions import Unauthorized
|
||||
|
||||
from constants import HEADER_NAME_APP_CODE
|
||||
from controllers.common import fields
|
||||
from controllers.common.schema import register_schema_models
|
||||
from controllers.common.schema import register_response_schema_models, register_schema_models
|
||||
from core.app.app_config.common.parameters_mapping import get_parameters_from_feature_dict
|
||||
from libs.passport import PassportService
|
||||
from libs.token import extract_webapp_passport
|
||||
@ -33,6 +33,11 @@ class AppAccessModeQuery(BaseModel):
|
||||
|
||||
|
||||
register_schema_models(web_ns, AppAccessModeQuery)
|
||||
register_response_schema_models(
|
||||
web_ns,
|
||||
fields.AccessModeResponse,
|
||||
fields.BooleanResultResponse,
|
||||
)
|
||||
|
||||
|
||||
@web_ns.route("/parameters")
|
||||
@ -109,6 +114,7 @@ class AppAccessMode(Resource):
|
||||
500: "Internal Server Error",
|
||||
}
|
||||
)
|
||||
@web_ns.response(200, "Success", web_ns.models[fields.AccessModeResponse.__name__])
|
||||
def get(self):
|
||||
raw_args = request.args.to_dict()
|
||||
args = AppAccessModeQuery.model_validate(raw_args)
|
||||
@ -142,6 +148,7 @@ class AppWebAuthPermission(Resource):
|
||||
500: "Internal Server Error",
|
||||
}
|
||||
)
|
||||
@web_ns.response(200, "Success", web_ns.models[fields.BooleanResultResponse.__name__])
|
||||
def get(self):
|
||||
user_id = "visitor"
|
||||
app_code = request.headers.get(HEADER_NAME_APP_CODE)
|
||||
|
||||
@ -5,7 +5,8 @@ from pydantic import BaseModel, Field, field_validator
|
||||
from werkzeug.exceptions import InternalServerError, NotFound
|
||||
|
||||
import services
|
||||
from controllers.common.schema import register_schema_models
|
||||
from controllers.common.fields import SimpleResultResponse
|
||||
from controllers.common.schema import register_response_schema_models, register_schema_models
|
||||
from controllers.web import web_ns
|
||||
from controllers.web.error import (
|
||||
AppUnavailableError,
|
||||
@ -66,6 +67,7 @@ class ChatMessagePayload(BaseModel):
|
||||
|
||||
|
||||
register_schema_models(web_ns, CompletionMessagePayload, ChatMessagePayload)
|
||||
register_response_schema_models(web_ns, SimpleResultResponse)
|
||||
|
||||
|
||||
# define completion api for user
|
||||
@ -137,6 +139,7 @@ class CompletionStopApi(WebApiResource):
|
||||
500: "Internal Server Error",
|
||||
}
|
||||
)
|
||||
@web_ns.response(200, "Success", web_ns.models[SimpleResultResponse.__name__])
|
||||
def post(self, app_model, end_user, task_id):
|
||||
if app_model.mode != AppMode.COMPLETION:
|
||||
raise NotCompletionAppError()
|
||||
@ -222,6 +225,7 @@ class ChatStopApi(WebApiResource):
|
||||
500: "Internal Server Error",
|
||||
}
|
||||
)
|
||||
@web_ns.response(200, "Success", web_ns.models[SimpleResultResponse.__name__])
|
||||
def post(self, app_model, end_user, task_id):
|
||||
app_mode = AppMode.value_of(app_model.mode)
|
||||
if app_mode not in {AppMode.CHAT, AppMode.AGENT_CHAT, AppMode.ADVANCED_CHAT}:
|
||||
|
||||
@ -6,7 +6,7 @@ from sqlalchemy.orm import sessionmaker
|
||||
from werkzeug.exceptions import NotFound
|
||||
|
||||
from controllers.common.controller_schemas import ConversationRenamePayload
|
||||
from controllers.common.schema import register_schema_models
|
||||
from controllers.common.schema import register_response_schema_models, register_schema_models
|
||||
from controllers.web import web_ns
|
||||
from controllers.web.error import NotChatAppError
|
||||
from controllers.web.wraps import WebApiResource
|
||||
@ -39,6 +39,7 @@ class ConversationListQuery(BaseModel):
|
||||
|
||||
|
||||
register_schema_models(web_ns, ConversationListQuery, ConversationRenamePayload)
|
||||
register_response_schema_models(web_ns, ResultResponse)
|
||||
|
||||
|
||||
@web_ns.route("/conversations")
|
||||
@ -201,6 +202,7 @@ class ConversationPinApi(WebApiResource):
|
||||
500: "Internal Server Error",
|
||||
}
|
||||
)
|
||||
@web_ns.response(200, "Conversation pinned successfully", web_ns.models[ResultResponse.__name__])
|
||||
def patch(self, app_model, end_user, c_id):
|
||||
app_mode = AppMode.value_of(app_model.mode)
|
||||
if app_mode not in {AppMode.CHAT, AppMode.AGENT_CHAT, AppMode.ADVANCED_CHAT}:
|
||||
@ -231,6 +233,7 @@ class ConversationUnPinApi(WebApiResource):
|
||||
500: "Internal Server Error",
|
||||
}
|
||||
)
|
||||
@web_ns.response(200, "Conversation unpinned successfully", web_ns.models[ResultResponse.__name__])
|
||||
def patch(self, app_model, end_user, c_id):
|
||||
app_mode = AppMode.value_of(app_model.mode)
|
||||
if app_mode not in {AppMode.CHAT, AppMode.AGENT_CHAT, AppMode.ADVANCED_CHAT}:
|
||||
|
||||
@ -1,7 +1,10 @@
|
||||
from flask_restx import Resource
|
||||
|
||||
from controllers.common.schema import register_response_schema_models
|
||||
from controllers.web import web_ns
|
||||
from services.feature_service import FeatureService
|
||||
from services.feature_service import FeatureService, SystemFeatureModel
|
||||
|
||||
register_response_schema_models(web_ns, SystemFeatureModel)
|
||||
|
||||
|
||||
@web_ns.route("/system-features")
|
||||
@ -9,6 +12,11 @@ class SystemFeatureApi(Resource):
|
||||
@web_ns.doc("get_system_features")
|
||||
@web_ns.doc(description="Get system feature flags and configuration")
|
||||
@web_ns.doc(responses={200: "System features retrieved successfully", 500: "Internal server error"})
|
||||
@web_ns.response(
|
||||
200,
|
||||
"System features retrieved successfully",
|
||||
web_ns.models[SystemFeatureModel.__name__],
|
||||
)
|
||||
def get(self):
|
||||
"""Get system feature flags and configuration.
|
||||
|
||||
|
||||
@ -4,7 +4,8 @@ import secrets
|
||||
from flask import request
|
||||
from flask_restx import Resource
|
||||
|
||||
from controllers.common.schema import register_schema_models
|
||||
from controllers.common.fields import SimpleResultDataResponse, SimpleResultResponse, VerificationTokenResponse
|
||||
from controllers.common.schema import register_response_schema_models, register_schema_models
|
||||
from controllers.console.auth.error import (
|
||||
AuthenticationFailedError,
|
||||
EmailCodeError,
|
||||
@ -28,6 +29,12 @@ from services.entities.auth_entities import (
|
||||
)
|
||||
|
||||
register_schema_models(web_ns, ForgotPasswordSendPayload, ForgotPasswordCheckPayload, ForgotPasswordResetPayload)
|
||||
register_response_schema_models(
|
||||
web_ns,
|
||||
SimpleResultDataResponse,
|
||||
SimpleResultResponse,
|
||||
VerificationTokenResponse,
|
||||
)
|
||||
|
||||
|
||||
@web_ns.route("/forgot-password")
|
||||
@ -46,6 +53,7 @@ class ForgotPasswordSendEmailApi(Resource):
|
||||
429: "Too many requests - rate limit exceeded",
|
||||
}
|
||||
)
|
||||
@web_ns.response(200, "Password reset email sent successfully", web_ns.models[SimpleResultDataResponse.__name__])
|
||||
def post(self):
|
||||
payload = ForgotPasswordSendPayload.model_validate(web_ns.payload or {})
|
||||
|
||||
@ -81,6 +89,7 @@ class ForgotPasswordCheckApi(Resource):
|
||||
@web_ns.doc(
|
||||
responses={200: "Token is valid", 400: "Bad request - invalid token format", 401: "Invalid or expired token"}
|
||||
)
|
||||
@web_ns.response(200, "Token is valid", web_ns.models[VerificationTokenResponse.__name__])
|
||||
def post(self):
|
||||
payload = ForgotPasswordCheckPayload.model_validate(web_ns.payload or {})
|
||||
|
||||
@ -134,6 +143,7 @@ class ForgotPasswordResetApi(Resource):
|
||||
404: "Account not found",
|
||||
}
|
||||
)
|
||||
@web_ns.response(200, "Password reset successfully", web_ns.models[SimpleResultResponse.__name__])
|
||||
def post(self):
|
||||
payload = ForgotPasswordResetPayload.model_validate(web_ns.payload or {})
|
||||
|
||||
|
||||
@ -8,7 +8,13 @@ from werkzeug.exceptions import Unauthorized
|
||||
|
||||
import services
|
||||
from configs import dify_config
|
||||
from controllers.common.schema import register_schema_models
|
||||
from controllers.common.fields import (
|
||||
AccessTokenResultResponse,
|
||||
LoginStatusResponse,
|
||||
SimpleResultDataResponse,
|
||||
SimpleResultResponse,
|
||||
)
|
||||
from controllers.common.schema import register_response_schema_models, register_schema_models
|
||||
from controllers.console.auth.error import (
|
||||
AuthenticationFailedError,
|
||||
EmailCodeError,
|
||||
@ -57,6 +63,13 @@ class EmailCodeLoginVerifyPayload(BaseModel):
|
||||
|
||||
|
||||
register_schema_models(web_ns, LoginPayload, EmailCodeLoginSendPayload, EmailCodeLoginVerifyPayload)
|
||||
register_response_schema_models(
|
||||
web_ns,
|
||||
AccessTokenResultResponse,
|
||||
LoginStatusResponse,
|
||||
SimpleResultDataResponse,
|
||||
SimpleResultResponse,
|
||||
)
|
||||
|
||||
|
||||
@web_ns.route("/login")
|
||||
@ -77,6 +90,7 @@ class LoginApi(Resource):
|
||||
404: "Account not found",
|
||||
}
|
||||
)
|
||||
@web_ns.response(200, "Authentication successful", web_ns.models[AccessTokenResultResponse.__name__])
|
||||
@decrypt_password_field
|
||||
def post(self):
|
||||
"""Authenticate user and login."""
|
||||
@ -114,6 +128,7 @@ class LoginStatusApi(Resource):
|
||||
401: "Login status",
|
||||
}
|
||||
)
|
||||
@web_ns.response(200, "Login status", web_ns.models[LoginStatusResponse.__name__])
|
||||
def get(self):
|
||||
app_code = request.args.get("app_code")
|
||||
user_id = request.args.get("user_id")
|
||||
@ -160,6 +175,7 @@ class LogoutApi(Resource):
|
||||
200: "Logout successful",
|
||||
}
|
||||
)
|
||||
@web_ns.response(200, "Logout successful", web_ns.models[SimpleResultResponse.__name__])
|
||||
def post(self):
|
||||
response = make_response({"result": "success"})
|
||||
# enterprise SSO sets same site to None in https deployment
|
||||
@ -182,6 +198,7 @@ class EmailCodeLoginSendEmailApi(Resource):
|
||||
404: "Account not found",
|
||||
}
|
||||
)
|
||||
@web_ns.response(200, "Email code sent successfully", web_ns.models[SimpleResultDataResponse.__name__])
|
||||
def post(self):
|
||||
payload = EmailCodeLoginSendPayload.model_validate(web_ns.payload or {})
|
||||
|
||||
@ -213,6 +230,11 @@ class EmailCodeLoginApi(Resource):
|
||||
404: "Account not found",
|
||||
}
|
||||
)
|
||||
@web_ns.response(
|
||||
200,
|
||||
"Email code verified and login successful",
|
||||
web_ns.models[AccessTokenResultResponse.__name__],
|
||||
)
|
||||
@decrypt_code_field
|
||||
def post(self):
|
||||
payload = EmailCodeLoginVerifyPayload.model_validate(web_ns.payload or {})
|
||||
|
||||
@ -6,7 +6,7 @@ from pydantic import BaseModel, Field, TypeAdapter
|
||||
from werkzeug.exceptions import InternalServerError, NotFound
|
||||
|
||||
from controllers.common.controller_schemas import MessageFeedbackPayload, MessageListQuery
|
||||
from controllers.common.schema import register_schema_models
|
||||
from controllers.common.schema import register_response_schema_models, register_schema_models
|
||||
from controllers.web import web_ns
|
||||
from controllers.web.error import (
|
||||
AppMoreLikeThisDisabledError,
|
||||
@ -47,6 +47,7 @@ class MessageMoreLikeThisQuery(BaseModel):
|
||||
|
||||
|
||||
register_schema_models(web_ns, MessageListQuery, MessageFeedbackPayload, MessageMoreLikeThisQuery)
|
||||
register_response_schema_models(web_ns, ResultResponse, SuggestedQuestionsResponse)
|
||||
|
||||
|
||||
@web_ns.route("/messages")
|
||||
@ -130,6 +131,7 @@ class MessageFeedbackApi(WebApiResource):
|
||||
500: "Internal Server Error",
|
||||
}
|
||||
)
|
||||
@web_ns.response(200, "Feedback submitted successfully", web_ns.models[ResultResponse.__name__])
|
||||
def post(self, app_model, end_user, message_id):
|
||||
message_id = str(message_id)
|
||||
|
||||
@ -206,6 +208,7 @@ class MessageMoreLikeThisApi(WebApiResource):
|
||||
|
||||
@web_ns.route("/messages/<uuid:message_id>/suggested-questions")
|
||||
class MessageSuggestedQuestionApi(WebApiResource):
|
||||
@web_ns.response(200, "Success", web_ns.models[SuggestedQuestionsResponse.__name__])
|
||||
@web_ns.doc("Get Suggested Questions")
|
||||
@web_ns.doc(description="Get suggested follow-up questions after a message (chat apps only).")
|
||||
@web_ns.doc(params={"message_id": {"description": "Message UUID", "type": "string", "required": True}})
|
||||
|
||||
@ -16,7 +16,7 @@ from fields.file_fields import FileWithSignedUrl, RemoteFileInfo
|
||||
from graphon.file import helpers as file_helpers
|
||||
from services.file_service import FileService
|
||||
|
||||
from ..common.schema import register_schema_models
|
||||
from ..common.schema import register_response_schema_models, register_schema_models
|
||||
from . import web_ns
|
||||
from .wraps import WebApiResource
|
||||
|
||||
@ -25,7 +25,8 @@ class RemoteFileUploadPayload(BaseModel):
|
||||
url: HttpUrl = Field(description="Remote file URL")
|
||||
|
||||
|
||||
register_schema_models(web_ns, RemoteFileUploadPayload, RemoteFileInfo, FileWithSignedUrl)
|
||||
register_schema_models(web_ns, RemoteFileUploadPayload)
|
||||
register_response_schema_models(web_ns, RemoteFileInfo, FileWithSignedUrl)
|
||||
|
||||
|
||||
@web_ns.route("/remote-files/<path:url>")
|
||||
|
||||
@ -3,7 +3,7 @@ from pydantic import TypeAdapter
|
||||
from werkzeug.exceptions import NotFound
|
||||
|
||||
from controllers.common.controller_schemas import SavedMessageCreatePayload, SavedMessageListQuery
|
||||
from controllers.common.schema import register_schema_models
|
||||
from controllers.common.schema import register_response_schema_models, register_schema_models
|
||||
from controllers.web import web_ns
|
||||
from controllers.web.error import NotCompletionAppError
|
||||
from controllers.web.wraps import WebApiResource
|
||||
@ -13,6 +13,7 @@ from services.errors.message import MessageNotExistsError
|
||||
from services.saved_message_service import SavedMessageService
|
||||
|
||||
register_schema_models(web_ns, SavedMessageListQuery, SavedMessageCreatePayload)
|
||||
register_response_schema_models(web_ns, ResultResponse)
|
||||
|
||||
|
||||
@web_ns.route("/saved-messages")
|
||||
@ -73,6 +74,7 @@ class SavedMessageListApi(WebApiResource):
|
||||
500: "Internal Server Error",
|
||||
}
|
||||
)
|
||||
@web_ns.response(200, "Message saved successfully", web_ns.models[ResultResponse.__name__])
|
||||
def post(self, app_model, end_user):
|
||||
if app_model.mode != "completion":
|
||||
raise NotCompletionAppError()
|
||||
|
||||
@ -3,7 +3,8 @@ import logging
|
||||
from werkzeug.exceptions import InternalServerError
|
||||
|
||||
from controllers.common.controller_schemas import WorkflowRunPayload
|
||||
from controllers.common.schema import register_schema_models
|
||||
from controllers.common.fields import SimpleResultResponse
|
||||
from controllers.common.schema import register_response_schema_models, register_schema_models
|
||||
from controllers.web import web_ns
|
||||
from controllers.web.error import (
|
||||
CompletionRequestError,
|
||||
@ -32,6 +33,7 @@ from services.errors.llm import InvokeRateLimitError
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
register_schema_models(web_ns, WorkflowRunPayload)
|
||||
register_response_schema_models(web_ns, SimpleResultResponse)
|
||||
|
||||
|
||||
@web_ns.route("/workflows/run")
|
||||
@ -102,6 +104,7 @@ class WorkflowTaskStopApi(WebApiResource):
|
||||
500: "Internal Server Error",
|
||||
}
|
||||
)
|
||||
@web_ns.response(200, "Success", web_ns.models[SimpleResultResponse.__name__])
|
||||
def post(self, app_model: App, end_user: EndUser, task_id: str):
|
||||
"""
|
||||
Stop workflow task
|
||||
|
||||
@ -2,7 +2,7 @@ from __future__ import annotations
|
||||
|
||||
from datetime import datetime
|
||||
|
||||
from pydantic import field_validator
|
||||
from pydantic import ConfigDict, field_validator
|
||||
|
||||
from fields.base import ResponseModel
|
||||
from libs.helper import to_timestamp
|
||||
@ -49,6 +49,8 @@ class RemoteFileInfo(ResponseModel):
|
||||
|
||||
|
||||
class FileWithSignedUrl(ResponseModel):
|
||||
model_config = ConfigDict(json_schema_serialization_defaults_required=True)
|
||||
|
||||
id: str
|
||||
name: str
|
||||
size: int
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -21,9 +21,9 @@ Service operations
|
||||
#### GET
|
||||
##### Responses
|
||||
|
||||
| Code | Description |
|
||||
| ---- | ----------- |
|
||||
| 200 | Success |
|
||||
| Code | Description | Schema |
|
||||
| ---- | ----------- | ------ |
|
||||
| 200 | Success | [IndexInfoResponse](#indexinforesponse) |
|
||||
|
||||
### /app/feedbacks
|
||||
|
||||
@ -264,11 +264,11 @@ Stop a running chat message generation
|
||||
|
||||
##### Responses
|
||||
|
||||
| Code | Description |
|
||||
| ---- | ----------- |
|
||||
| 200 | Task stopped successfully |
|
||||
| 401 | Unauthorized - invalid API token |
|
||||
| 404 | Task not found |
|
||||
| Code | Description | Schema |
|
||||
| ---- | ----------- | ------ |
|
||||
| 200 | Task stopped successfully | [SimpleResultResponse](#simpleresultresponse) |
|
||||
| 401 | Unauthorized - invalid API token | |
|
||||
| 404 | Task not found | |
|
||||
|
||||
### /completion-messages
|
||||
|
||||
@ -318,11 +318,11 @@ Stop a running completion task
|
||||
|
||||
##### Responses
|
||||
|
||||
| Code | Description |
|
||||
| ---- | ----------- |
|
||||
| 200 | Task stopped successfully |
|
||||
| 401 | Unauthorized - invalid API token |
|
||||
| 404 | Task not found |
|
||||
| Code | Description | Schema |
|
||||
| ---- | ----------- | ------ |
|
||||
| 200 | Task stopped successfully | [SimpleResultResponse](#simpleresultresponse) |
|
||||
| 401 | Unauthorized - invalid API token | |
|
||||
| 404 | Task not found | |
|
||||
|
||||
### /conversations
|
||||
|
||||
@ -875,11 +875,11 @@ Update metadata for multiple documents
|
||||
|
||||
##### Responses
|
||||
|
||||
| Code | Description |
|
||||
| ---- | ----------- |
|
||||
| 200 | Documents metadata updated successfully |
|
||||
| 401 | Unauthorized - invalid API token |
|
||||
| 404 | Dataset not found |
|
||||
| Code | Description | Schema |
|
||||
| ---- | ----------- | ------ |
|
||||
| 200 | Documents metadata updated successfully | [SimpleResultResponse](#simpleresultresponse) |
|
||||
| 401 | Unauthorized - invalid API token | |
|
||||
| 404 | Dataset not found | |
|
||||
|
||||
### /datasets/{dataset_id}/documents/status/{action}
|
||||
|
||||
@ -914,13 +914,13 @@ Raises:
|
||||
|
||||
##### Responses
|
||||
|
||||
| Code | Description |
|
||||
| ---- | ----------- |
|
||||
| 200 | Document status updated successfully |
|
||||
| 400 | Bad request - invalid action |
|
||||
| 401 | Unauthorized - invalid API token |
|
||||
| 403 | Forbidden - insufficient permissions |
|
||||
| 404 | Dataset not found |
|
||||
| Code | Description | Schema |
|
||||
| ---- | ----------- | ------ |
|
||||
| 200 | Document status updated successfully | [SimpleResultResponse](#simpleresultresponse) |
|
||||
| 400 | Bad request - invalid action | |
|
||||
| 401 | Unauthorized - invalid API token | |
|
||||
| 403 | Forbidden - insufficient permissions | |
|
||||
| 404 | Dataset not found | |
|
||||
|
||||
### /datasets/{dataset_id}/documents/{batch}/indexing-status
|
||||
|
||||
@ -1028,12 +1028,12 @@ Get a signed download URL for a document's original uploaded file
|
||||
|
||||
##### Responses
|
||||
|
||||
| Code | Description |
|
||||
| ---- | ----------- |
|
||||
| 200 | Download URL generated successfully |
|
||||
| 401 | Unauthorized - invalid API token |
|
||||
| 403 | Forbidden - insufficient permissions |
|
||||
| 404 | Document or upload file not found |
|
||||
| Code | Description | Schema |
|
||||
| ---- | ----------- | ------ |
|
||||
| 200 | Download URL generated successfully | [UrlResponse](#urlresponse) |
|
||||
| 401 | Unauthorized - invalid API token | |
|
||||
| 403 | Forbidden - insufficient permissions | |
|
||||
| 404 | Document or upload file not found | |
|
||||
|
||||
### /datasets/{dataset_id}/documents/{document_id}/segments
|
||||
|
||||
@ -1452,11 +1452,11 @@ Enable or disable built-in metadata field
|
||||
|
||||
##### Responses
|
||||
|
||||
| Code | Description |
|
||||
| ---- | ----------- |
|
||||
| 200 | Action completed successfully |
|
||||
| 401 | Unauthorized - invalid API token |
|
||||
| 404 | Dataset not found |
|
||||
| Code | Description | Schema |
|
||||
| ---- | ----------- | ------ |
|
||||
| 200 | Action completed successfully | [SimpleResultResponse](#simpleresultresponse) |
|
||||
| 401 | Unauthorized - invalid API token | |
|
||||
| 404 | Dataset not found | |
|
||||
|
||||
### /datasets/{dataset_id}/metadata/{metadata_id}
|
||||
|
||||
@ -1655,11 +1655,11 @@ cross-tenant/app access when an end-user ID is known.
|
||||
|
||||
##### Responses
|
||||
|
||||
| Code | Description |
|
||||
| ---- | ----------- |
|
||||
| 200 | End user retrieved successfully |
|
||||
| 401 | Unauthorized - invalid API token |
|
||||
| 404 | End user not found |
|
||||
| Code | Description | Schema |
|
||||
| ---- | ----------- | ------ |
|
||||
| 200 | End user retrieved successfully | [EndUserDetail](#enduserdetail) |
|
||||
| 401 | Unauthorized - invalid API token | |
|
||||
| 404 | End user not found | |
|
||||
|
||||
### /files/upload
|
||||
|
||||
@ -1770,11 +1770,11 @@ Returns basic information about the application including name, description, tag
|
||||
|
||||
##### Responses
|
||||
|
||||
| Code | Description |
|
||||
| ---- | ----------- |
|
||||
| 200 | Application info retrieved successfully |
|
||||
| 401 | Unauthorized - invalid API token |
|
||||
| 404 | Application not found |
|
||||
| Code | Description | Schema |
|
||||
| ---- | ----------- | ------ |
|
||||
| 200 | Application info retrieved successfully | [AppInfoResponse](#appinforesponse) |
|
||||
| 401 | Unauthorized - invalid API token | |
|
||||
| 404 | Application not found | |
|
||||
|
||||
### /messages
|
||||
|
||||
@ -1823,11 +1823,11 @@ Allows users to rate messages as like/dislike and provide optional feedback cont
|
||||
|
||||
##### Responses
|
||||
|
||||
| Code | Description |
|
||||
| ---- | ----------- |
|
||||
| 200 | Feedback submitted successfully |
|
||||
| 401 | Unauthorized - invalid API token |
|
||||
| 404 | Message not found |
|
||||
| Code | Description | Schema |
|
||||
| ---- | ----------- | ------ |
|
||||
| 200 | Feedback submitted successfully | [ResultResponse](#resultresponse) |
|
||||
| 401 | Unauthorized - invalid API token | |
|
||||
| 404 | Message not found | |
|
||||
|
||||
### /messages/{message_id}/suggested
|
||||
|
||||
@ -1849,13 +1849,13 @@ Returns AI-generated follow-up questions based on the message content.
|
||||
|
||||
##### Responses
|
||||
|
||||
| Code | Description |
|
||||
| ---- | ----------- |
|
||||
| 200 | Suggested questions retrieved successfully |
|
||||
| 400 | Suggested questions feature is disabled |
|
||||
| 401 | Unauthorized - invalid API token |
|
||||
| 404 | Message not found |
|
||||
| 500 | Internal server error |
|
||||
| Code | Description | Schema |
|
||||
| ---- | ----------- | ------ |
|
||||
| 200 | Suggested questions retrieved successfully | [SimpleResultStringListResponse](#simpleresultstringlistresponse) |
|
||||
| 400 | Suggested questions feature is disabled | |
|
||||
| 401 | Unauthorized - invalid API token | |
|
||||
| 404 | Message not found | |
|
||||
| 500 | Internal server error | |
|
||||
|
||||
### /meta
|
||||
|
||||
@ -1911,11 +1911,11 @@ Returns the site configuration for the application including theme, icons, and t
|
||||
|
||||
##### Responses
|
||||
|
||||
| Code | Description |
|
||||
| ---- | ----------- |
|
||||
| 200 | Site configuration retrieved successfully |
|
||||
| 401 | Unauthorized - invalid API token |
|
||||
| 403 | Forbidden - site not found or tenant archived |
|
||||
| Code | Description | Schema |
|
||||
| ---- | ----------- | ------ |
|
||||
| 200 | Site configuration retrieved successfully | [Site](#site) |
|
||||
| 401 | Unauthorized - invalid API token | |
|
||||
| 403 | Forbidden - site not found or tenant archived | |
|
||||
|
||||
### /text-to-audio
|
||||
|
||||
@ -2068,11 +2068,11 @@ Stop a running workflow task
|
||||
|
||||
##### Responses
|
||||
|
||||
| Code | Description |
|
||||
| ---- | ----------- |
|
||||
| 200 | Task stopped successfully |
|
||||
| 401 | Unauthorized - invalid API token |
|
||||
| 404 | Task not found |
|
||||
| Code | Description | Schema |
|
||||
| ---- | ----------- | ------ |
|
||||
| 200 | Task stopped successfully | [SimpleResultResponse](#simpleresultresponse) |
|
||||
| 401 | Unauthorized - invalid API token | |
|
||||
| 404 | Task not found | |
|
||||
|
||||
### /workflows/{workflow_id}/run
|
||||
|
||||
@ -2167,6 +2167,16 @@ Returns a list of available models for the specified model type.
|
||||
| embedding_provider_name | string | Embedding provider name | Yes |
|
||||
| score_threshold | number | Score threshold for annotation matching | Yes |
|
||||
|
||||
#### AppInfoResponse
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
| ---- | ---- | ----------- | -------- |
|
||||
| author_name | string | | Yes |
|
||||
| description | string | | Yes |
|
||||
| mode | string | | Yes |
|
||||
| name | string | | Yes |
|
||||
| tags | [ string ] | | Yes |
|
||||
|
||||
#### ChatRequestPayload
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
@ -2386,6 +2396,27 @@ Request payload for bulk downloading documents as a zip archive.
|
||||
| retrieval_model | [RetrievalModel](#retrievalmodel) | | No |
|
||||
| text | string | | No |
|
||||
|
||||
#### EndUserDetail
|
||||
|
||||
Full EndUser record for API responses.
|
||||
|
||||
Note: The SQLAlchemy model defines an `is_anonymous` property for Flask-Login semantics
|
||||
(always False). The database column is exposed as `_is_anonymous`, so this DTO maps
|
||||
`is_anonymous` from `_is_anonymous` to return the stored value.
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
| ---- | ---- | ----------- | -------- |
|
||||
| app_id | string | | No |
|
||||
| created_at | dateTime | | Yes |
|
||||
| external_user_id | string | | No |
|
||||
| id | string | | Yes |
|
||||
| is_anonymous | boolean | | Yes |
|
||||
| name | string | | No |
|
||||
| session_id | string | | Yes |
|
||||
| tenant_id | string | | Yes |
|
||||
| type | string | | Yes |
|
||||
| updated_at | dateTime | | Yes |
|
||||
|
||||
#### FeedbackListQuery
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
@ -2434,6 +2465,14 @@ Request payload for bulk downloading documents as a zip archive.
|
||||
| action | string | | Yes |
|
||||
| inputs | object | | Yes |
|
||||
|
||||
#### IndexInfoResponse
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
| ---- | ---- | ----------- | -------- |
|
||||
| api_version | string | | Yes |
|
||||
| server_version | string | | Yes |
|
||||
| welcome | string | | Yes |
|
||||
|
||||
#### JsonValue
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
@ -2525,6 +2564,12 @@ Metadata operation data
|
||||
| reranking_model_name | string | | No |
|
||||
| reranking_provider_name | string | | No |
|
||||
|
||||
#### ResultResponse
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
| ---- | ---- | ----------- | -------- |
|
||||
| result | string | | Yes |
|
||||
|
||||
#### RetrievalMethod
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
@ -2610,6 +2655,38 @@ Metadata operation data
|
||||
| session_id | string | | No |
|
||||
| type | string | | Yes |
|
||||
|
||||
#### SimpleResultResponse
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
| ---- | ---- | ----------- | -------- |
|
||||
| result | string | | Yes |
|
||||
|
||||
#### SimpleResultStringListResponse
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
| ---- | ---- | ----------- | -------- |
|
||||
| data | [ string ] | | Yes |
|
||||
| result | string | | Yes |
|
||||
|
||||
#### Site
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
| ---- | ---- | ----------- | -------- |
|
||||
| chat_color_theme | string | | No |
|
||||
| chat_color_theme_inverted | boolean | | Yes |
|
||||
| copyright | string | | No |
|
||||
| custom_disclaimer | string | | No |
|
||||
| default_language | string | | Yes |
|
||||
| description | string | | No |
|
||||
| icon | string | | No |
|
||||
| icon_background | string | | No |
|
||||
| icon_type | string | | No |
|
||||
| icon_url | string | | Yes |
|
||||
| privacy_policy | string | | No |
|
||||
| show_workflow_steps | boolean | | Yes |
|
||||
| title | string | | Yes |
|
||||
| use_icon_as_answer_icon | boolean | | Yes |
|
||||
|
||||
#### TagBindingPayload
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
@ -2655,6 +2732,12 @@ Accept the legacy single-tag Service API payload while exposing a normalized tag
|
||||
| text | string | Text to convert to audio | No |
|
||||
| voice | string | Voice to use for TTS | No |
|
||||
|
||||
#### UrlResponse
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
| ---- | ---- | ----------- | -------- |
|
||||
| url | string | | Yes |
|
||||
|
||||
#### WeightKeywordSetting
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
|
||||
@ -78,14 +78,14 @@ Stop a running chat message task.
|
||||
|
||||
##### Responses
|
||||
|
||||
| Code | Description |
|
||||
| ---- | ----------- |
|
||||
| 200 | Success |
|
||||
| 400 | Bad Request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Task Not Found |
|
||||
| 500 | Internal Server Error |
|
||||
| Code | Description | Schema |
|
||||
| ---- | ----------- | ------ |
|
||||
| 200 | Success | [SimpleResultResponse](#simpleresultresponse) |
|
||||
| 400 | Bad Request | |
|
||||
| 401 | Unauthorized | |
|
||||
| 403 | Forbidden | |
|
||||
| 404 | Task Not Found | |
|
||||
| 500 | Internal Server Error | |
|
||||
|
||||
### /completion-messages
|
||||
|
||||
@ -126,14 +126,14 @@ Stop a running completion message task.
|
||||
|
||||
##### Responses
|
||||
|
||||
| Code | Description |
|
||||
| ---- | ----------- |
|
||||
| 200 | Success |
|
||||
| 400 | Bad Request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Task Not Found |
|
||||
| 500 | Internal Server Error |
|
||||
| Code | Description | Schema |
|
||||
| ---- | ----------- | ------ |
|
||||
| 200 | Success | [SimpleResultResponse](#simpleresultresponse) |
|
||||
| 400 | Bad Request | |
|
||||
| 401 | Unauthorized | |
|
||||
| 403 | Forbidden | |
|
||||
| 404 | Task Not Found | |
|
||||
| 500 | Internal Server Error | |
|
||||
|
||||
### /conversations
|
||||
|
||||
@ -227,14 +227,14 @@ Pin a specific conversation to keep it at the top of the list.
|
||||
|
||||
##### Responses
|
||||
|
||||
| Code | Description |
|
||||
| ---- | ----------- |
|
||||
| 200 | Conversation pinned successfully |
|
||||
| 400 | Bad Request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Conversation Not Found or Not a Chat App |
|
||||
| 500 | Internal Server Error |
|
||||
| Code | Description | Schema |
|
||||
| ---- | ----------- | ------ |
|
||||
| 200 | Conversation pinned successfully | [ResultResponse](#resultresponse) |
|
||||
| 400 | Bad Request | |
|
||||
| 401 | Unauthorized | |
|
||||
| 403 | Forbidden | |
|
||||
| 404 | Conversation Not Found or Not a Chat App | |
|
||||
| 500 | Internal Server Error | |
|
||||
|
||||
### /conversations/{c_id}/unpin
|
||||
|
||||
@ -251,14 +251,14 @@ Unpin a specific conversation to remove it from the top of the list.
|
||||
|
||||
##### Responses
|
||||
|
||||
| Code | Description |
|
||||
| ---- | ----------- |
|
||||
| 200 | Conversation unpinned successfully |
|
||||
| 400 | Bad Request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Conversation Not Found or Not a Chat App |
|
||||
| 500 | Internal Server Error |
|
||||
| Code | Description | Schema |
|
||||
| ---- | ----------- | ------ |
|
||||
| 200 | Conversation unpinned successfully | [ResultResponse](#resultresponse) |
|
||||
| 400 | Bad Request | |
|
||||
| 401 | Unauthorized | |
|
||||
| 403 | Forbidden | |
|
||||
| 404 | Conversation Not Found or Not a Chat App | |
|
||||
| 500 | Internal Server Error | |
|
||||
|
||||
### /email-code-login
|
||||
|
||||
@ -275,11 +275,11 @@ Send email verification code for login
|
||||
|
||||
##### Responses
|
||||
|
||||
| Code | Description |
|
||||
| ---- | ----------- |
|
||||
| 200 | Email code sent successfully |
|
||||
| 400 | Bad request - invalid email format |
|
||||
| 404 | Account not found |
|
||||
| Code | Description | Schema |
|
||||
| ---- | ----------- | ------ |
|
||||
| 200 | Email code sent successfully | [SimpleResultDataResponse](#simpleresultdataresponse) |
|
||||
| 400 | Bad request - invalid email format | |
|
||||
| 404 | Account not found | |
|
||||
|
||||
### /email-code-login/validity
|
||||
|
||||
@ -296,12 +296,12 @@ Verify email code and complete login
|
||||
|
||||
##### Responses
|
||||
|
||||
| Code | Description |
|
||||
| ---- | ----------- |
|
||||
| 200 | Email code verified and login successful |
|
||||
| 400 | Bad request - invalid code or token |
|
||||
| 401 | Invalid token or expired code |
|
||||
| 404 | Account not found |
|
||||
| Code | Description | Schema |
|
||||
| ---- | ----------- | ------ |
|
||||
| 200 | Email code verified and login successful | [AccessTokenResultResponse](#accesstokenresultresponse) |
|
||||
| 400 | Bad request - invalid code or token | |
|
||||
| 401 | Invalid token or expired code | |
|
||||
| 404 | Account not found | |
|
||||
|
||||
### /files/upload
|
||||
|
||||
@ -359,12 +359,12 @@ Send password reset email
|
||||
|
||||
##### Responses
|
||||
|
||||
| Code | Description |
|
||||
| ---- | ----------- |
|
||||
| 200 | Password reset email sent successfully |
|
||||
| 400 | Bad request - invalid email format |
|
||||
| 404 | Account not found |
|
||||
| 429 | Too many requests - rate limit exceeded |
|
||||
| Code | Description | Schema |
|
||||
| ---- | ----------- | ------ |
|
||||
| 200 | Password reset email sent successfully | [SimpleResultDataResponse](#simpleresultdataresponse) |
|
||||
| 400 | Bad request - invalid email format | |
|
||||
| 404 | Account not found | |
|
||||
| 429 | Too many requests - rate limit exceeded | |
|
||||
|
||||
### /forgot-password/resets
|
||||
|
||||
@ -381,12 +381,12 @@ Reset user password with verification token
|
||||
|
||||
##### Responses
|
||||
|
||||
| Code | Description |
|
||||
| ---- | ----------- |
|
||||
| 200 | Password reset successfully |
|
||||
| 400 | Bad request - invalid parameters or password mismatch |
|
||||
| 401 | Invalid or expired token |
|
||||
| 404 | Account not found |
|
||||
| Code | Description | Schema |
|
||||
| ---- | ----------- | ------ |
|
||||
| 200 | Password reset successfully | [SimpleResultResponse](#simpleresultresponse) |
|
||||
| 400 | Bad request - invalid parameters or password mismatch | |
|
||||
| 401 | Invalid or expired token | |
|
||||
| 404 | Account not found | |
|
||||
|
||||
### /forgot-password/validity
|
||||
|
||||
@ -403,11 +403,11 @@ Verify password reset token validity
|
||||
|
||||
##### Responses
|
||||
|
||||
| Code | Description |
|
||||
| ---- | ----------- |
|
||||
| 200 | Token is valid |
|
||||
| 400 | Bad request - invalid token format |
|
||||
| 401 | Invalid or expired token |
|
||||
| Code | Description | Schema |
|
||||
| ---- | ----------- | ------ |
|
||||
| 200 | Token is valid | [VerificationTokenResponse](#verificationtokenresponse) |
|
||||
| 400 | Bad request - invalid token format | |
|
||||
| 401 | Invalid or expired token | |
|
||||
|
||||
### /form/human_input/{form_token}
|
||||
|
||||
@ -480,13 +480,13 @@ Authenticate user for web application access
|
||||
|
||||
##### Responses
|
||||
|
||||
| Code | Description |
|
||||
| ---- | ----------- |
|
||||
| 200 | Authentication successful |
|
||||
| 400 | Bad request - invalid email or password format |
|
||||
| 401 | Authentication failed - email or password mismatch |
|
||||
| 403 | Account banned or login disabled |
|
||||
| 404 | Account not found |
|
||||
| Code | Description | Schema |
|
||||
| ---- | ----------- | ------ |
|
||||
| 200 | Authentication successful | [AccessTokenResultResponse](#accesstokenresultresponse) |
|
||||
| 400 | Bad request - invalid email or password format | |
|
||||
| 401 | Authentication failed - email or password mismatch | |
|
||||
| 403 | Account banned or login disabled | |
|
||||
| 404 | Account not found | |
|
||||
|
||||
### /login/status
|
||||
|
||||
@ -497,10 +497,10 @@ Check login status
|
||||
|
||||
##### Responses
|
||||
|
||||
| Code | Description |
|
||||
| ---- | ----------- |
|
||||
| 200 | Login status |
|
||||
| 401 | Login status |
|
||||
| Code | Description | Schema |
|
||||
| ---- | ----------- | ------ |
|
||||
| 200 | Login status | [LoginStatusResponse](#loginstatusresponse) |
|
||||
| 401 | Login status | |
|
||||
|
||||
### /logout
|
||||
|
||||
@ -511,9 +511,9 @@ Logout user from web application
|
||||
|
||||
##### Responses
|
||||
|
||||
| Code | Description |
|
||||
| ---- | ----------- |
|
||||
| 200 | Logout successful |
|
||||
| Code | Description | Schema |
|
||||
| ---- | ----------- | ------ |
|
||||
| 200 | Logout successful | [SimpleResultResponse](#simpleresultresponse) |
|
||||
|
||||
### /messages
|
||||
|
||||
@ -558,14 +558,14 @@ Submit feedback (like/dislike) for a specific message.
|
||||
|
||||
##### Responses
|
||||
|
||||
| Code | Description |
|
||||
| ---- | ----------- |
|
||||
| 200 | Feedback submitted successfully |
|
||||
| 400 | Bad Request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Message Not Found |
|
||||
| 500 | Internal Server Error |
|
||||
| Code | Description | Schema |
|
||||
| ---- | ----------- | ------ |
|
||||
| 200 | Feedback submitted successfully | [ResultResponse](#resultresponse) |
|
||||
| 400 | Bad Request | |
|
||||
| 401 | Unauthorized | |
|
||||
| 403 | Forbidden | |
|
||||
| 404 | Message Not Found | |
|
||||
| 500 | Internal Server Error | |
|
||||
|
||||
### /messages/{message_id}/more-like-this
|
||||
|
||||
@ -607,14 +607,14 @@ Get suggested follow-up questions after a message (chat apps only).
|
||||
|
||||
##### Responses
|
||||
|
||||
| Code | Description |
|
||||
| ---- | ----------- |
|
||||
| 200 | Success |
|
||||
| 400 | Bad Request - Not a chat app or feature disabled |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Message Not Found or Conversation Not Found |
|
||||
| 500 | Internal Server Error |
|
||||
| Code | Description | Schema |
|
||||
| ---- | ----------- | ------ |
|
||||
| 200 | Success | [SuggestedQuestionsResponse](#suggestedquestionsresponse) |
|
||||
| 400 | Bad Request - Not a chat app or feature disabled | |
|
||||
| 401 | Unauthorized | |
|
||||
| 403 | Forbidden | |
|
||||
| 404 | Message Not Found or Conversation Not Found | |
|
||||
| 500 | Internal Server Error | |
|
||||
|
||||
### /meta
|
||||
|
||||
@ -791,14 +791,14 @@ Save a specific message for later reference.
|
||||
|
||||
##### Responses
|
||||
|
||||
| Code | Description |
|
||||
| ---- | ----------- |
|
||||
| 200 | Message saved successfully |
|
||||
| 400 | Bad Request - Not a completion app |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Message Not Found |
|
||||
| 500 | Internal Server Error |
|
||||
| Code | Description | Schema |
|
||||
| ---- | ----------- | ------ |
|
||||
| 200 | Message saved successfully | [ResultResponse](#resultresponse) |
|
||||
| 400 | Bad Request - Not a completion app | |
|
||||
| 401 | Unauthorized | |
|
||||
| 403 | Forbidden | |
|
||||
| 404 | Message Not Found | |
|
||||
| 500 | Internal Server Error | |
|
||||
|
||||
### /saved-messages/{message_id}
|
||||
|
||||
@ -874,10 +874,10 @@ Only non-sensitive configuration data should be returned by this endpoint.
|
||||
|
||||
##### Responses
|
||||
|
||||
| Code | Description |
|
||||
| ---- | ----------- |
|
||||
| 200 | System features retrieved successfully |
|
||||
| 500 | Internal server error |
|
||||
| Code | Description | Schema |
|
||||
| ---- | ----------- | ------ |
|
||||
| 200 | System features retrieved successfully | [SystemFeatureModel](#systemfeaturemodel) |
|
||||
| 500 | Internal server error | |
|
||||
|
||||
### /text-to-audio
|
||||
|
||||
@ -922,11 +922,11 @@ Retrieve the access mode for a web application (public or restricted).
|
||||
|
||||
##### Responses
|
||||
|
||||
| Code | Description |
|
||||
| ---- | ----------- |
|
||||
| 200 | Success |
|
||||
| 400 | Bad Request |
|
||||
| 500 | Internal Server Error |
|
||||
| Code | Description | Schema |
|
||||
| ---- | ----------- | ------ |
|
||||
| 200 | Success | [AccessModeResponse](#accessmoderesponse) |
|
||||
| 400 | Bad Request | |
|
||||
| 500 | Internal Server Error | |
|
||||
|
||||
### /webapp/permission
|
||||
|
||||
@ -943,12 +943,12 @@ Check if user has permission to access a web application.
|
||||
|
||||
##### Responses
|
||||
|
||||
| Code | Description |
|
||||
| ---- | ----------- |
|
||||
| 200 | Success |
|
||||
| 400 | Bad Request |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal Server Error |
|
||||
| Code | Description | Schema |
|
||||
| ---- | ----------- | ------ |
|
||||
| 200 | Success | [BooleanResultResponse](#booleanresultresponse) |
|
||||
| 400 | Bad Request | |
|
||||
| 401 | Unauthorized | |
|
||||
| 500 | Internal Server Error | |
|
||||
|
||||
### /workflows/run
|
||||
|
||||
@ -997,14 +997,14 @@ Stop a running workflow task.
|
||||
|
||||
##### Responses
|
||||
|
||||
| Code | Description |
|
||||
| ---- | ----------- |
|
||||
| 200 | Success |
|
||||
| 400 | Bad Request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Task Not Found |
|
||||
| 500 | Internal Server Error |
|
||||
| Code | Description | Schema |
|
||||
| ---- | ----------- | ------ |
|
||||
| 200 | Success | [SimpleResultResponse](#simpleresultresponse) |
|
||||
| 400 | Bad Request | |
|
||||
| 401 | Unauthorized | |
|
||||
| 403 | Forbidden | |
|
||||
| 404 | Task Not Found | |
|
||||
| 500 | Internal Server Error | |
|
||||
|
||||
---
|
||||
## default
|
||||
@ -1038,6 +1038,25 @@ Returns Server-Sent Events stream.
|
||||
---
|
||||
### Models
|
||||
|
||||
#### AccessModeResponse
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
| ---- | ---- | ----------- | -------- |
|
||||
| accessMode | string | | Yes |
|
||||
|
||||
#### AccessTokenData
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
| ---- | ---- | ----------- | -------- |
|
||||
| access_token | string | | Yes |
|
||||
|
||||
#### AccessTokenResultResponse
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
| ---- | ---- | ----------- | -------- |
|
||||
| data | [AccessTokenData](#accesstokendata) | | Yes |
|
||||
| result | string | | Yes |
|
||||
|
||||
#### AppAccessModeQuery
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
@ -1045,6 +1064,22 @@ Returns Server-Sent Events stream.
|
||||
| appCode | string | Application code | No |
|
||||
| appId | string | Application ID | No |
|
||||
|
||||
#### BooleanResultResponse
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
| ---- | ---- | ----------- | -------- |
|
||||
| result | boolean | | Yes |
|
||||
|
||||
#### BrandingModel
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
| ---- | ---- | ----------- | -------- |
|
||||
| application_title | string | | Yes |
|
||||
| enabled | boolean | | Yes |
|
||||
| favicon | string | | Yes |
|
||||
| login_page_logo | string | | Yes |
|
||||
| workspace_logo | string | | Yes |
|
||||
|
||||
#### ChatMessagePayload
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
@ -1121,14 +1156,14 @@ Returns Server-Sent Events stream.
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
| ---- | ---- | ----------- | -------- |
|
||||
| created_at | integer | | No |
|
||||
| created_by | string | | No |
|
||||
| extension | string | | No |
|
||||
| created_at | integer | | Yes |
|
||||
| created_by | string | | Yes |
|
||||
| extension | string | | Yes |
|
||||
| id | string | | Yes |
|
||||
| mime_type | string | | No |
|
||||
| mime_type | string | | Yes |
|
||||
| name | string | | Yes |
|
||||
| size | integer | | Yes |
|
||||
| url | string | | No |
|
||||
| url | string | | Yes |
|
||||
|
||||
#### ForgotPasswordCheckPayload
|
||||
|
||||
@ -1153,6 +1188,32 @@ Returns Server-Sent Events stream.
|
||||
| email | string | | Yes |
|
||||
| language | string | | No |
|
||||
|
||||
#### LicenseLimitationModel
|
||||
|
||||
- enabled: whether this limit is enforced
|
||||
- size: current usage count
|
||||
- limit: maximum allowed count; 0 means unlimited
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
| ---- | ---- | ----------- | -------- |
|
||||
| enabled | boolean | Whether this limit is currently active | Yes |
|
||||
| limit | integer | Maximum number of resources allowed; 0 means no limit | Yes |
|
||||
| size | integer | Number of resources already consumed | Yes |
|
||||
|
||||
#### LicenseModel
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
| ---- | ---- | ----------- | -------- |
|
||||
| expired_at | string | | Yes |
|
||||
| status | [LicenseStatus](#licensestatus) | | Yes |
|
||||
| workspaces | [LicenseLimitationModel](#licenselimitationmodel) | | Yes |
|
||||
|
||||
#### LicenseStatus
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
| ---- | ---- | ----------- | -------- |
|
||||
| LicenseStatus | string | | |
|
||||
|
||||
#### LoginPayload
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
@ -1160,6 +1221,13 @@ Returns Server-Sent Events stream.
|
||||
| email | string | | Yes |
|
||||
| password | string | | Yes |
|
||||
|
||||
#### LoginStatusResponse
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
| ---- | ---- | ----------- | -------- |
|
||||
| app_logged_in | boolean | | Yes |
|
||||
| logged_in | boolean | | Yes |
|
||||
|
||||
#### MessageFeedbackPayload
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
@ -1181,6 +1249,25 @@ Returns Server-Sent Events stream.
|
||||
| ---- | ---- | ----------- | -------- |
|
||||
| response_mode | string | Response mode<br>*Enum:* `"blocking"`, `"streaming"` | Yes |
|
||||
|
||||
#### PluginInstallationPermissionModel
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
| ---- | ---- | ----------- | -------- |
|
||||
| plugin_installation_scope | [PluginInstallationScope](#plugininstallationscope) | | Yes |
|
||||
| restrict_to_marketplace_only | boolean | | Yes |
|
||||
|
||||
#### PluginInstallationScope
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
| ---- | ---- | ----------- | -------- |
|
||||
| PluginInstallationScope | string | | |
|
||||
|
||||
#### PluginManagerModel
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
| ---- | ---- | ----------- | -------- |
|
||||
| enabled | boolean | | Yes |
|
||||
|
||||
#### RemoteFileInfo
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
@ -1194,6 +1281,12 @@ Returns Server-Sent Events stream.
|
||||
| ---- | ---- | ----------- | -------- |
|
||||
| url | string (uri) | Remote file URL | Yes |
|
||||
|
||||
#### ResultResponse
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
| ---- | ---- | ----------- | -------- |
|
||||
| result | string | | Yes |
|
||||
|
||||
#### SavedMessageCreatePayload
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
@ -1207,6 +1300,52 @@ Returns Server-Sent Events stream.
|
||||
| last_id | string | | No |
|
||||
| limit | integer | | No |
|
||||
|
||||
#### SimpleResultDataResponse
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
| ---- | ---- | ----------- | -------- |
|
||||
| data | string | | Yes |
|
||||
| result | string | | Yes |
|
||||
|
||||
#### SimpleResultResponse
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
| ---- | ---- | ----------- | -------- |
|
||||
| result | string | | Yes |
|
||||
|
||||
#### SuggestedQuestionsResponse
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
| ---- | ---- | ----------- | -------- |
|
||||
| data | [ string ] | | Yes |
|
||||
|
||||
#### SystemFeatureModel
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
| ---- | ---- | ----------- | -------- |
|
||||
| app_dsl_version | string | | Yes |
|
||||
| branding | [BrandingModel](#brandingmodel) | | Yes |
|
||||
| enable_change_email | boolean | | Yes |
|
||||
| enable_collaboration_mode | boolean | | Yes |
|
||||
| enable_creators_platform | boolean | | Yes |
|
||||
| enable_email_code_login | boolean | | Yes |
|
||||
| enable_email_password_login | boolean | | Yes |
|
||||
| enable_explore_banner | boolean | | Yes |
|
||||
| enable_marketplace | boolean | | Yes |
|
||||
| enable_social_oauth_login | boolean | | Yes |
|
||||
| enable_trial_app | boolean | | Yes |
|
||||
| is_allow_create_workspace | boolean | | Yes |
|
||||
| is_allow_register | boolean | | Yes |
|
||||
| is_email_setup | boolean | | Yes |
|
||||
| license | [LicenseModel](#licensemodel) | | Yes |
|
||||
| max_plugin_package_size | integer | | Yes |
|
||||
| plugin_installation_permission | [PluginInstallationPermissionModel](#plugininstallationpermissionmodel) | | Yes |
|
||||
| plugin_manager | [PluginManagerModel](#pluginmanagermodel) | | Yes |
|
||||
| sso_enforced_for_signin | boolean | | Yes |
|
||||
| sso_enforced_for_signin_protocol | string | | Yes |
|
||||
| trial_models | [ string ] | | Yes |
|
||||
| webapp_auth | [WebAppAuthModel](#webappauthmodel) | | Yes |
|
||||
|
||||
#### TextToAudioPayload
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
@ -1216,6 +1355,30 @@ Returns Server-Sent Events stream.
|
||||
| text | string | Text to convert to audio | No |
|
||||
| voice | string | Voice to use for TTS | No |
|
||||
|
||||
#### VerificationTokenResponse
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
| ---- | ---- | ----------- | -------- |
|
||||
| email | string | | Yes |
|
||||
| is_valid | boolean | | Yes |
|
||||
| token | string | | Yes |
|
||||
|
||||
#### WebAppAuthModel
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
| ---- | ---- | ----------- | -------- |
|
||||
| allow_email_code_login | boolean | | Yes |
|
||||
| allow_email_password_login | boolean | | Yes |
|
||||
| allow_sso | boolean | | Yes |
|
||||
| enabled | boolean | | Yes |
|
||||
| sso_config | [WebAppAuthSSOModel](#webappauthssomodel) | | Yes |
|
||||
|
||||
#### WebAppAuthSSOModel
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
| ---- | ---- | ----------- | -------- |
|
||||
| protocol | string | | Yes |
|
||||
|
||||
#### WorkflowRunPayload
|
||||
|
||||
| Name | Type | Description | Required |
|
||||
|
||||
@ -10,27 +10,31 @@ from services.billing_service import BillingService
|
||||
from services.enterprise.enterprise_service import EnterpriseService
|
||||
|
||||
|
||||
class SubscriptionModel(BaseModel):
|
||||
class FeatureResponseModel(BaseModel):
|
||||
model_config = ConfigDict(json_schema_serialization_defaults_required=True, protected_namespaces=())
|
||||
|
||||
|
||||
class SubscriptionModel(FeatureResponseModel):
|
||||
plan: str = CloudPlan.SANDBOX
|
||||
interval: str = ""
|
||||
|
||||
|
||||
class BillingModel(BaseModel):
|
||||
class BillingModel(FeatureResponseModel):
|
||||
enabled: bool = False
|
||||
subscription: SubscriptionModel = SubscriptionModel()
|
||||
|
||||
|
||||
class EducationModel(BaseModel):
|
||||
class EducationModel(FeatureResponseModel):
|
||||
enabled: bool = False
|
||||
activated: bool = False
|
||||
|
||||
|
||||
class LimitationModel(BaseModel):
|
||||
class LimitationModel(FeatureResponseModel):
|
||||
size: int = 0
|
||||
limit: int = 0
|
||||
|
||||
|
||||
class LicenseLimitationModel(BaseModel):
|
||||
class LicenseLimitationModel(FeatureResponseModel):
|
||||
"""
|
||||
- enabled: whether this limit is enforced
|
||||
- size: current usage count
|
||||
@ -56,7 +60,7 @@ class LicenseLimitationModel(BaseModel):
|
||||
return (self.limit - self.size) >= required
|
||||
|
||||
|
||||
class Quota(BaseModel):
|
||||
class Quota(FeatureResponseModel):
|
||||
usage: int = 0
|
||||
limit: int = 0
|
||||
reset_date: int = -1
|
||||
@ -71,13 +75,13 @@ class LicenseStatus(StrEnum):
|
||||
LOST = "lost"
|
||||
|
||||
|
||||
class LicenseModel(BaseModel):
|
||||
class LicenseModel(FeatureResponseModel):
|
||||
status: LicenseStatus = LicenseStatus.NONE
|
||||
expired_at: str = ""
|
||||
workspaces: LicenseLimitationModel = LicenseLimitationModel(enabled=False, size=0, limit=0)
|
||||
|
||||
|
||||
class BrandingModel(BaseModel):
|
||||
class BrandingModel(FeatureResponseModel):
|
||||
enabled: bool = False
|
||||
application_title: str = ""
|
||||
login_page_logo: str = ""
|
||||
@ -85,11 +89,11 @@ class BrandingModel(BaseModel):
|
||||
favicon: str = ""
|
||||
|
||||
|
||||
class WebAppAuthSSOModel(BaseModel):
|
||||
class WebAppAuthSSOModel(FeatureResponseModel):
|
||||
protocol: str = ""
|
||||
|
||||
|
||||
class WebAppAuthModel(BaseModel):
|
||||
class WebAppAuthModel(FeatureResponseModel):
|
||||
enabled: bool = False
|
||||
allow_sso: bool = False
|
||||
sso_config: WebAppAuthSSOModel = WebAppAuthSSOModel()
|
||||
@ -97,7 +101,7 @@ class WebAppAuthModel(BaseModel):
|
||||
allow_email_password_login: bool = False
|
||||
|
||||
|
||||
class KnowledgePipeline(BaseModel):
|
||||
class KnowledgePipeline(FeatureResponseModel):
|
||||
publish_enabled: bool = False
|
||||
|
||||
|
||||
@ -108,7 +112,7 @@ class PluginInstallationScope(StrEnum):
|
||||
ALL = "all"
|
||||
|
||||
|
||||
class PluginInstallationPermissionModel(BaseModel):
|
||||
class PluginInstallationPermissionModel(FeatureResponseModel):
|
||||
# Plugin installation scope – possible values:
|
||||
# none: prohibit all plugin installations
|
||||
# official_only: allow only Dify official plugins
|
||||
@ -121,7 +125,7 @@ class PluginInstallationPermissionModel(BaseModel):
|
||||
restrict_to_marketplace_only: bool = False
|
||||
|
||||
|
||||
class FeatureModel(BaseModel):
|
||||
class FeatureModel(FeatureResponseModel):
|
||||
billing: BillingModel = BillingModel()
|
||||
education: EducationModel = EducationModel()
|
||||
members: LimitationModel = LimitationModel(size=0, limit=1)
|
||||
@ -141,23 +145,21 @@ class FeatureModel(BaseModel):
|
||||
api_rate_limit: Quota = Quota(usage=0, limit=5000, reset_date=0)
|
||||
# Controls whether email delivery is allowed for HumanInput nodes.
|
||||
human_input_email_delivery_enabled: bool = False
|
||||
# pydantic configs
|
||||
model_config = ConfigDict(protected_namespaces=())
|
||||
knowledge_pipeline: KnowledgePipeline = KnowledgePipeline()
|
||||
next_credit_reset_date: int = 0
|
||||
|
||||
|
||||
class KnowledgeRateLimitModel(BaseModel):
|
||||
class KnowledgeRateLimitModel(FeatureResponseModel):
|
||||
enabled: bool = False
|
||||
limit: int = 10
|
||||
subscription_plan: str = ""
|
||||
|
||||
|
||||
class PluginManagerModel(BaseModel):
|
||||
class PluginManagerModel(FeatureResponseModel):
|
||||
enabled: bool = False
|
||||
|
||||
|
||||
class SystemFeatureModel(BaseModel):
|
||||
class SystemFeatureModel(FeatureResponseModel):
|
||||
app_dsl_version: str = ""
|
||||
sso_enforced_for_signin: bool = False
|
||||
sso_enforced_for_signin_protocol: str = ""
|
||||
|
||||
@ -8,14 +8,14 @@
|
||||
|
||||
Snapshot generated from `packages/contracts/generated/api/readiness.json` after running `pnpm -C packages/contracts gen-api-contract-from-openapi`.
|
||||
|
||||
Are we OpenAPI ready? **No.** Current generated API contracts are **16.7% ready**.
|
||||
Are we OpenAPI ready? **No.** Current generated API contracts are **36.3% ready**.
|
||||
|
||||
| Surface | Ready | Not ready | Total | Ready % |
|
||||
| --------- | ------: | --------: | ------: | --------: |
|
||||
| console | 96 | 474 | 570 | 16.8% |
|
||||
| service | 16 | 72 | 88 | 18.2% |
|
||||
| web | 5 | 36 | 41 | 12.2% |
|
||||
| **total** | **117** | **582** | **699** | **16.7%** |
|
||||
| console | 205 | 365 | 570 | 36.0% |
|
||||
| service | 28 | 60 | 88 | 31.8% |
|
||||
| web | 21 | 20 | 41 | 51.2% |
|
||||
| **total** | **254** | **445** | **699** | **36.3%** |
|
||||
|
||||
Readiness here means the generated contract operation is not marked with:
|
||||
|
||||
@ -23,7 +23,7 @@ Readiness here means the generated contract operation is not marked with:
|
||||
|
||||
Operations marked with that warning should not be migrated to blindly. Prefer fixing backend OpenAPI annotations first so the generated contract has accurate request and response types, then migrate callers endpoint by endpoint.
|
||||
|
||||
The current heuristic marks an operation as not ready when a request body or success response that should have a body contains a loose object type, or when an operation has no documented 2xx response. 204, 205, and 304 responses are treated as bodyless when the request type is otherwise accurate.
|
||||
The current heuristic marks an operation as not ready when a request body or success response that should have a body contains a loose object type, when a mutating controller reads a JSON body that is not documented as a request body, or when an operation has no documented 2xx response. 204, 205, and 304 responses are treated as bodyless when the request type is otherwise accurate.
|
||||
|
||||
<!-- api-openapi-readiness:end -->
|
||||
|
||||
|
||||
@ -45,16 +45,10 @@ import {
|
||||
|
||||
/**
|
||||
* Get account avatar url
|
||||
*
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const get = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Get account avatar url\n\nGenerated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
description: 'Get account avatar url',
|
||||
inputStructure: 'detailed',
|
||||
method: 'GET',
|
||||
operationId: 'getAccountAvatar',
|
||||
@ -80,16 +74,8 @@ export const avatar = {
|
||||
post,
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const post2 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'POST',
|
||||
operationId: 'postAccountChangeEmailCheckEmailUnique',
|
||||
@ -118,16 +104,8 @@ export const reset = {
|
||||
post: post3,
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const post4 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'POST',
|
||||
operationId: 'postAccountChangeEmailValidity',
|
||||
@ -141,16 +119,8 @@ export const validity = {
|
||||
post: post4,
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const post5 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'POST',
|
||||
operationId: 'postAccountChangeEmail',
|
||||
@ -167,16 +137,8 @@ export const changeEmail = {
|
||||
validity,
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const post6 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'POST',
|
||||
operationId: 'postAccountDeleteFeedback',
|
||||
@ -190,16 +152,8 @@ export const feedback = {
|
||||
post: post6,
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const get2 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'GET',
|
||||
operationId: 'getAccountDeleteVerify',
|
||||
@ -212,16 +166,8 @@ export const verify = {
|
||||
get: get2,
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const post7 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'POST',
|
||||
operationId: 'postAccountDelete',
|
||||
@ -302,16 +248,8 @@ export const education = {
|
||||
verify: verify2,
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const post9 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'POST',
|
||||
operationId: 'postAccountInit',
|
||||
|
||||
@ -4,6 +4,10 @@ export type ClientOptions = {
|
||||
baseUrl: `${string}://${string}/console/api` | (string & {})
|
||||
}
|
||||
|
||||
export type AvatarUrlResponse = {
|
||||
avatar_url: string
|
||||
}
|
||||
|
||||
export type AccountAvatarPayload = {
|
||||
avatar: string
|
||||
}
|
||||
@ -29,10 +33,19 @@ export type ChangeEmailSendPayload = {
|
||||
token?: string | null
|
||||
}
|
||||
|
||||
export type SimpleResultDataResponse = {
|
||||
data: string
|
||||
result: string
|
||||
}
|
||||
|
||||
export type CheckEmailUniquePayload = {
|
||||
email: string
|
||||
}
|
||||
|
||||
export type SimpleResultResponse = {
|
||||
result: string
|
||||
}
|
||||
|
||||
export type ChangeEmailResetPayload = {
|
||||
new_email: string
|
||||
token: string
|
||||
@ -44,6 +57,12 @@ export type ChangeEmailValidityPayload = {
|
||||
token: string
|
||||
}
|
||||
|
||||
export type VerificationTokenResponse = {
|
||||
email: string
|
||||
is_valid: boolean
|
||||
token: string
|
||||
}
|
||||
|
||||
export type AccountDeletePayload = {
|
||||
code: string
|
||||
token: string
|
||||
@ -126,9 +145,7 @@ export type GetAccountAvatarData = {
|
||||
}
|
||||
|
||||
export type GetAccountAvatarResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: AvatarUrlResponse
|
||||
}
|
||||
|
||||
export type GetAccountAvatarResponse = GetAccountAvatarResponses[keyof GetAccountAvatarResponses]
|
||||
@ -154,9 +171,7 @@ export type PostAccountChangeEmailData = {
|
||||
}
|
||||
|
||||
export type PostAccountChangeEmailResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SimpleResultDataResponse
|
||||
}
|
||||
|
||||
export type PostAccountChangeEmailResponse
|
||||
@ -170,9 +185,7 @@ export type PostAccountChangeEmailCheckEmailUniqueData = {
|
||||
}
|
||||
|
||||
export type PostAccountChangeEmailCheckEmailUniqueResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SimpleResultResponse
|
||||
}
|
||||
|
||||
export type PostAccountChangeEmailCheckEmailUniqueResponse
|
||||
@ -200,9 +213,7 @@ export type PostAccountChangeEmailValidityData = {
|
||||
}
|
||||
|
||||
export type PostAccountChangeEmailValidityResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: VerificationTokenResponse
|
||||
}
|
||||
|
||||
export type PostAccountChangeEmailValidityResponse
|
||||
@ -216,9 +227,7 @@ export type PostAccountDeleteData = {
|
||||
}
|
||||
|
||||
export type PostAccountDeleteResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SimpleResultResponse
|
||||
}
|
||||
|
||||
export type PostAccountDeleteResponse = PostAccountDeleteResponses[keyof PostAccountDeleteResponses]
|
||||
@ -231,9 +240,7 @@ export type PostAccountDeleteFeedbackData = {
|
||||
}
|
||||
|
||||
export type PostAccountDeleteFeedbackResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SimpleResultResponse
|
||||
}
|
||||
|
||||
export type PostAccountDeleteFeedbackResponse
|
||||
@ -247,9 +254,7 @@ export type GetAccountDeleteVerifyData = {
|
||||
}
|
||||
|
||||
export type GetAccountDeleteVerifyResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SimpleResultDataResponse
|
||||
}
|
||||
|
||||
export type GetAccountDeleteVerifyResponse
|
||||
@ -325,9 +330,7 @@ export type PostAccountInitData = {
|
||||
}
|
||||
|
||||
export type PostAccountInitResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SimpleResultResponse
|
||||
}
|
||||
|
||||
export type PostAccountInitResponse = PostAccountInitResponses[keyof PostAccountInitResponses]
|
||||
|
||||
@ -2,6 +2,13 @@
|
||||
|
||||
import * as z from 'zod'
|
||||
|
||||
/**
|
||||
* AvatarUrlResponse
|
||||
*/
|
||||
export const zAvatarUrlResponse = z.object({
|
||||
avatar_url: z.string(),
|
||||
})
|
||||
|
||||
/**
|
||||
* AccountAvatarPayload
|
||||
*/
|
||||
@ -36,6 +43,14 @@ export const zChangeEmailSendPayload = z.object({
|
||||
token: z.string().nullish(),
|
||||
})
|
||||
|
||||
/**
|
||||
* SimpleResultDataResponse
|
||||
*/
|
||||
export const zSimpleResultDataResponse = z.object({
|
||||
data: z.string(),
|
||||
result: z.string(),
|
||||
})
|
||||
|
||||
/**
|
||||
* CheckEmailUniquePayload
|
||||
*/
|
||||
@ -43,6 +58,13 @@ export const zCheckEmailUniquePayload = z.object({
|
||||
email: z.string(),
|
||||
})
|
||||
|
||||
/**
|
||||
* SimpleResultResponse
|
||||
*/
|
||||
export const zSimpleResultResponse = z.object({
|
||||
result: z.string(),
|
||||
})
|
||||
|
||||
/**
|
||||
* ChangeEmailResetPayload
|
||||
*/
|
||||
@ -60,6 +82,15 @@ export const zChangeEmailValidityPayload = z.object({
|
||||
token: z.string(),
|
||||
})
|
||||
|
||||
/**
|
||||
* VerificationTokenResponse
|
||||
*/
|
||||
export const zVerificationTokenResponse = z.object({
|
||||
email: z.string(),
|
||||
is_valid: z.boolean(),
|
||||
token: z.string(),
|
||||
})
|
||||
|
||||
/**
|
||||
* AccountDeletePayload
|
||||
*/
|
||||
@ -181,7 +212,7 @@ export const zGetAccountAvatarQuery = z.object({
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
export const zGetAccountAvatarResponse = z.record(z.string(), z.unknown())
|
||||
export const zGetAccountAvatarResponse = zAvatarUrlResponse
|
||||
|
||||
export const zPostAccountAvatarBody = zAccountAvatarPayload
|
||||
|
||||
@ -195,14 +226,14 @@ export const zPostAccountChangeEmailBody = zChangeEmailSendPayload
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
export const zPostAccountChangeEmailResponse = z.record(z.string(), z.unknown())
|
||||
export const zPostAccountChangeEmailResponse = zSimpleResultDataResponse
|
||||
|
||||
export const zPostAccountChangeEmailCheckEmailUniqueBody = zCheckEmailUniquePayload
|
||||
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
export const zPostAccountChangeEmailCheckEmailUniqueResponse = z.record(z.string(), z.unknown())
|
||||
export const zPostAccountChangeEmailCheckEmailUniqueResponse = zSimpleResultResponse
|
||||
|
||||
export const zPostAccountChangeEmailResetBody = zChangeEmailResetPayload
|
||||
|
||||
@ -216,26 +247,26 @@ export const zPostAccountChangeEmailValidityBody = zChangeEmailValidityPayload
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
export const zPostAccountChangeEmailValidityResponse = z.record(z.string(), z.unknown())
|
||||
export const zPostAccountChangeEmailValidityResponse = zVerificationTokenResponse
|
||||
|
||||
export const zPostAccountDeleteBody = zAccountDeletePayload
|
||||
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
export const zPostAccountDeleteResponse = z.record(z.string(), z.unknown())
|
||||
export const zPostAccountDeleteResponse = zSimpleResultResponse
|
||||
|
||||
export const zPostAccountDeleteFeedbackBody = zAccountDeletionFeedbackPayload
|
||||
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
export const zPostAccountDeleteFeedbackResponse = z.record(z.string(), z.unknown())
|
||||
export const zPostAccountDeleteFeedbackResponse = zSimpleResultResponse
|
||||
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
export const zGetAccountDeleteVerifyResponse = z.record(z.string(), z.unknown())
|
||||
export const zGetAccountDeleteVerifyResponse = zSimpleResultDataResponse
|
||||
|
||||
/**
|
||||
* Success
|
||||
@ -270,7 +301,7 @@ export const zPostAccountInitBody = zAccountInitPayload
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
export const zPostAccountInitResponse = z.record(z.string(), z.unknown())
|
||||
export const zPostAccountInitResponse = zSimpleResultResponse
|
||||
|
||||
/**
|
||||
* Success
|
||||
|
||||
@ -12,16 +12,10 @@ import {
|
||||
|
||||
/**
|
||||
* Check if activation token is valid
|
||||
*
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const get = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Check if activation token is valid\n\nGenerated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
description: 'Check if activation token is valid',
|
||||
inputStructure: 'detailed',
|
||||
method: 'GET',
|
||||
operationId: 'getActivateCheck',
|
||||
|
||||
@ -18,12 +18,16 @@ export type ActivationResponse = {
|
||||
}
|
||||
|
||||
export type ActivationCheckResponse = {
|
||||
data?: {
|
||||
[key: string]: unknown
|
||||
} | null
|
||||
data?: ActivationCheckData
|
||||
is_valid: boolean
|
||||
}
|
||||
|
||||
export type ActivationCheckData = {
|
||||
email: string | null
|
||||
workspace_id: string | null
|
||||
workspace_name: string | null
|
||||
}
|
||||
|
||||
export type PostActivateData = {
|
||||
body: ActivatePayload
|
||||
path?: never
|
||||
|
||||
@ -21,11 +21,20 @@ export const zActivationResponse = z.object({
|
||||
result: z.string(),
|
||||
})
|
||||
|
||||
/**
|
||||
* ActivationCheckData
|
||||
*/
|
||||
export const zActivationCheckData = z.object({
|
||||
email: z.string().nullable(),
|
||||
workspace_id: z.string().nullable(),
|
||||
workspace_name: z.string().nullable(),
|
||||
})
|
||||
|
||||
/**
|
||||
* ActivationCheckResponse
|
||||
*/
|
||||
export const zActivationCheckResponse = z.object({
|
||||
data: z.record(z.string(), z.unknown()).nullish(),
|
||||
data: zActivationCheckData.optional(),
|
||||
is_valid: z.boolean(),
|
||||
})
|
||||
|
||||
|
||||
@ -34,20 +34,13 @@ export const binding = {
|
||||
post,
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const delete_ = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'DELETE',
|
||||
operationId: 'deleteApiKeyAuthDataSourceByBindingId',
|
||||
path: '/api-key-auth/data-source/{binding_id}',
|
||||
successStatus: 204,
|
||||
tags: ['console'],
|
||||
})
|
||||
.input(z.object({ params: zDeleteApiKeyAuthDataSourceByBindingIdPath }))
|
||||
@ -57,16 +50,8 @@ export const byBindingId = {
|
||||
delete: delete_,
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const get = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'GET',
|
||||
operationId: 'getApiKeyAuthDataSource',
|
||||
|
||||
@ -4,6 +4,10 @@ export type ClientOptions = {
|
||||
baseUrl: `${string}://${string}/console/api` | (string & {})
|
||||
}
|
||||
|
||||
export type ApiKeyAuthDataSourceListResponse = {
|
||||
sources: Array<ApiKeyAuthDataSourceItem>
|
||||
}
|
||||
|
||||
export type ApiKeyAuthBindingPayload = {
|
||||
category: string
|
||||
credentials: {
|
||||
@ -12,6 +16,15 @@ export type ApiKeyAuthBindingPayload = {
|
||||
provider: string
|
||||
}
|
||||
|
||||
export type ApiKeyAuthDataSourceItem = {
|
||||
category: string
|
||||
created_at: number
|
||||
disabled: boolean
|
||||
id: string
|
||||
provider: string
|
||||
updated_at: number
|
||||
}
|
||||
|
||||
export type GetApiKeyAuthDataSourceData = {
|
||||
body?: never
|
||||
path?: never
|
||||
@ -20,9 +33,7 @@ export type GetApiKeyAuthDataSourceData = {
|
||||
}
|
||||
|
||||
export type GetApiKeyAuthDataSourceResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: ApiKeyAuthDataSourceListResponse
|
||||
}
|
||||
|
||||
export type GetApiKeyAuthDataSourceResponse
|
||||
@ -54,8 +65,8 @@ export type DeleteApiKeyAuthDataSourceByBindingIdData = {
|
||||
}
|
||||
|
||||
export type DeleteApiKeyAuthDataSourceByBindingIdResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
204: {
|
||||
[key: string]: never
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -11,10 +11,29 @@ export const zApiKeyAuthBindingPayload = z.object({
|
||||
provider: z.string(),
|
||||
})
|
||||
|
||||
/**
|
||||
* ApiKeyAuthDataSourceItem
|
||||
*/
|
||||
export const zApiKeyAuthDataSourceItem = z.object({
|
||||
category: z.string(),
|
||||
created_at: z.int(),
|
||||
disabled: z.boolean(),
|
||||
id: z.string(),
|
||||
provider: z.string(),
|
||||
updated_at: z.int(),
|
||||
})
|
||||
|
||||
/**
|
||||
* ApiKeyAuthDataSourceListResponse
|
||||
*/
|
||||
export const zApiKeyAuthDataSourceListResponse = z.object({
|
||||
sources: z.array(zApiKeyAuthDataSourceItem),
|
||||
})
|
||||
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
export const zGetApiKeyAuthDataSourceResponse = z.record(z.string(), z.unknown())
|
||||
export const zGetApiKeyAuthDataSourceResponse = zApiKeyAuthDataSourceListResponse
|
||||
|
||||
export const zPostApiKeyAuthDataSourceBindingBody = zApiKeyAuthBindingPayload
|
||||
|
||||
@ -28,6 +47,6 @@ export const zDeleteApiKeyAuthDataSourceByBindingIdPath = z.object({
|
||||
})
|
||||
|
||||
/**
|
||||
* Success
|
||||
* Binding deleted successfully
|
||||
*/
|
||||
export const zDeleteApiKeyAuthDataSourceByBindingIdResponse = z.record(z.string(), z.unknown())
|
||||
export const zDeleteApiKeyAuthDataSourceByBindingIdResponse = z.record(z.string(), z.never())
|
||||
|
||||
@ -1262,16 +1262,10 @@ export const byMessageId = {
|
||||
|
||||
/**
|
||||
* Stop a running chat message generation
|
||||
*
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const post16 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Stop a running chat message generation\n\nGenerated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
description: 'Stop a running chat message generation',
|
||||
inputStructure: 'detailed',
|
||||
method: 'POST',
|
||||
operationId: 'postAppsByAppIdChatMessagesByTaskIdStop',
|
||||
@ -1387,16 +1381,10 @@ export const completionConversations = {
|
||||
|
||||
/**
|
||||
* Stop a running completion message generation
|
||||
*
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const post17 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Stop a running completion message generation\n\nGenerated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
description: 'Stop a running completion message generation',
|
||||
inputStructure: 'detailed',
|
||||
method: 'POST',
|
||||
operationId: 'postAppsByAppIdCompletionMessagesByTaskIdStop',
|
||||
@ -1475,16 +1463,11 @@ export const conversationVariables = {
|
||||
* Convert application to workflow mode
|
||||
* Convert expert mode of chatbot app to workflow mode
|
||||
* Convert Completion App to Workflow App
|
||||
*
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const post19 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Convert application to workflow mode\nConvert expert mode of chatbot app to workflow mode\nConvert Completion App to Workflow App\n\nGenerated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
'Convert application to workflow mode\nConvert expert mode of chatbot app to workflow mode\nConvert Completion App to Workflow App',
|
||||
inputStructure: 'detailed',
|
||||
method: 'POST',
|
||||
operationId: 'postAppsByAppIdConvertToWorkflow',
|
||||
@ -1589,16 +1572,10 @@ export const export3 = {
|
||||
|
||||
/**
|
||||
* Create or update message feedback (like/dislike)
|
||||
*
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const post21 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Create or update message feedback (like/dislike)\n\nGenerated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
description: 'Create or update message feedback (like/dislike)',
|
||||
inputStructure: 'detailed',
|
||||
method: 'POST',
|
||||
operationId: 'postAppsByAppIdFeedbacks',
|
||||
@ -1724,16 +1701,9 @@ export const name = {
|
||||
|
||||
/**
|
||||
* Publish app to Creators Platform
|
||||
*
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const post25 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'POST',
|
||||
operationId: 'postAppsByAppIdPublishToCreatorsPlatform',
|
||||
@ -2217,16 +2187,10 @@ export const get32 = oc
|
||||
|
||||
/**
|
||||
* Update app tracing configuration
|
||||
*
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const post31 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Update app tracing configuration\n\nGenerated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
description: 'Update app tracing configuration',
|
||||
inputStructure: 'detailed',
|
||||
method: 'POST',
|
||||
operationId: 'postAppsByAppIdTrace',
|
||||
@ -2476,16 +2440,10 @@ export const count3 = {
|
||||
* Stop workflow task
|
||||
*
|
||||
* Stop running workflow task
|
||||
*
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const post34 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Stop running workflow task\n\nGenerated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
description: 'Stop running workflow task',
|
||||
inputStructure: 'detailed',
|
||||
method: 'POST',
|
||||
operationId: 'postAppsByAppIdWorkflowRunsTasksByTaskIdStop',
|
||||
|
||||
@ -262,6 +262,10 @@ export type SuggestedQuestionsResponse = {
|
||||
data: Array<string>
|
||||
}
|
||||
|
||||
export type SimpleResultResponse = {
|
||||
result: string
|
||||
}
|
||||
|
||||
export type ConversationPagination = {
|
||||
has_next: boolean
|
||||
items: Array<Conversation>
|
||||
@ -309,6 +313,10 @@ export type ConvertToWorkflowPayload = {
|
||||
name?: string | null
|
||||
}
|
||||
|
||||
export type NewAppResponse = {
|
||||
new_app_id: string
|
||||
}
|
||||
|
||||
export type CopyAppPayload = {
|
||||
description?: string | null
|
||||
icon?: string | null
|
||||
@ -397,6 +405,10 @@ export type AppNamePayload = {
|
||||
name: string
|
||||
}
|
||||
|
||||
export type RedirectUrlResponse = {
|
||||
redirect_url: string
|
||||
}
|
||||
|
||||
export type AppMcpServerResponse = {
|
||||
created_at?: number | null
|
||||
description: string
|
||||
@ -2420,9 +2432,7 @@ export type PostAppsByAppIdChatMessagesByTaskIdStopData = {
|
||||
}
|
||||
|
||||
export type PostAppsByAppIdChatMessagesByTaskIdStopResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SimpleResultResponse
|
||||
}
|
||||
|
||||
export type PostAppsByAppIdChatMessagesByTaskIdStopResponse
|
||||
@ -2561,9 +2571,7 @@ export type PostAppsByAppIdCompletionMessagesByTaskIdStopData = {
|
||||
}
|
||||
|
||||
export type PostAppsByAppIdCompletionMessagesByTaskIdStopResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SimpleResultResponse
|
||||
}
|
||||
|
||||
export type PostAppsByAppIdCompletionMessagesByTaskIdStopResponse
|
||||
@ -2609,9 +2617,7 @@ export type PostAppsByAppIdConvertToWorkflowError
|
||||
= PostAppsByAppIdConvertToWorkflowErrors[keyof PostAppsByAppIdConvertToWorkflowErrors]
|
||||
|
||||
export type PostAppsByAppIdConvertToWorkflowResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: NewAppResponse
|
||||
}
|
||||
|
||||
export type PostAppsByAppIdConvertToWorkflowResponse
|
||||
@ -2690,9 +2696,7 @@ export type PostAppsByAppIdFeedbacksError
|
||||
= PostAppsByAppIdFeedbacksErrors[keyof PostAppsByAppIdFeedbacksErrors]
|
||||
|
||||
export type PostAppsByAppIdFeedbacksResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SimpleResultResponse
|
||||
}
|
||||
|
||||
export type PostAppsByAppIdFeedbacksResponse
|
||||
@ -2843,9 +2847,7 @@ export type PostAppsByAppIdPublishToCreatorsPlatformData = {
|
||||
}
|
||||
|
||||
export type PostAppsByAppIdPublishToCreatorsPlatformResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: RedirectUrlResponse
|
||||
}
|
||||
|
||||
export type PostAppsByAppIdPublishToCreatorsPlatformResponse
|
||||
@ -3259,9 +3261,7 @@ export type PostAppsByAppIdTraceErrors = {
|
||||
export type PostAppsByAppIdTraceError = PostAppsByAppIdTraceErrors[keyof PostAppsByAppIdTraceErrors]
|
||||
|
||||
export type PostAppsByAppIdTraceResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SimpleResultResponse
|
||||
}
|
||||
|
||||
export type PostAppsByAppIdTraceResponse
|
||||
@ -3525,9 +3525,7 @@ export type PostAppsByAppIdWorkflowRunsTasksByTaskIdStopError
|
||||
= PostAppsByAppIdWorkflowRunsTasksByTaskIdStopErrors[keyof PostAppsByAppIdWorkflowRunsTasksByTaskIdStopErrors]
|
||||
|
||||
export type PostAppsByAppIdWorkflowRunsTasksByTaskIdStopResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SimpleResultResponse
|
||||
}
|
||||
|
||||
export type PostAppsByAppIdWorkflowRunsTasksByTaskIdStopResponse
|
||||
@ -4079,9 +4077,7 @@ export type PostAppsByAppIdWorkflowsDraftFeaturesData = {
|
||||
}
|
||||
|
||||
export type PostAppsByAppIdWorkflowsDraftFeaturesResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SimpleResultResponse
|
||||
}
|
||||
|
||||
export type PostAppsByAppIdWorkflowsDraftFeaturesResponse
|
||||
|
||||
@ -160,6 +160,13 @@ export const zSuggestedQuestionsResponse = z.object({
|
||||
data: z.array(z.string()),
|
||||
})
|
||||
|
||||
/**
|
||||
* SimpleResultResponse
|
||||
*/
|
||||
export const zSimpleResultResponse = z.object({
|
||||
result: z.string(),
|
||||
})
|
||||
|
||||
/**
|
||||
* CompletionMessagePayload
|
||||
*/
|
||||
@ -182,6 +189,13 @@ export const zConvertToWorkflowPayload = z.object({
|
||||
name: z.string().nullish(),
|
||||
})
|
||||
|
||||
/**
|
||||
* NewAppResponse
|
||||
*/
|
||||
export const zNewAppResponse = z.object({
|
||||
new_app_id: z.string(),
|
||||
})
|
||||
|
||||
/**
|
||||
* AppExportResponse
|
||||
*/
|
||||
@ -223,6 +237,13 @@ export const zAppNamePayload = z.object({
|
||||
name: z.string().min(1),
|
||||
})
|
||||
|
||||
/**
|
||||
* RedirectUrlResponse
|
||||
*/
|
||||
export const zRedirectUrlResponse = z.object({
|
||||
redirect_url: z.string(),
|
||||
})
|
||||
|
||||
/**
|
||||
* MCPServerCreatePayload
|
||||
*/
|
||||
@ -2327,7 +2348,7 @@ export const zPostAppsByAppIdChatMessagesByTaskIdStopPath = z.object({
|
||||
/**
|
||||
* Task stopped successfully
|
||||
*/
|
||||
export const zPostAppsByAppIdChatMessagesByTaskIdStopResponse = z.record(z.string(), z.unknown())
|
||||
export const zPostAppsByAppIdChatMessagesByTaskIdStopResponse = zSimpleResultResponse
|
||||
|
||||
export const zGetAppsByAppIdCompletionConversationsPath = z.object({
|
||||
app_id: z.string(),
|
||||
@ -2390,10 +2411,7 @@ export const zPostAppsByAppIdCompletionMessagesByTaskIdStopPath = z.object({
|
||||
/**
|
||||
* Task stopped successfully
|
||||
*/
|
||||
export const zPostAppsByAppIdCompletionMessagesByTaskIdStopResponse = z.record(
|
||||
z.string(),
|
||||
z.unknown(),
|
||||
)
|
||||
export const zPostAppsByAppIdCompletionMessagesByTaskIdStopResponse = zSimpleResultResponse
|
||||
|
||||
export const zGetAppsByAppIdConversationVariablesPath = z.object({
|
||||
app_id: z.string(),
|
||||
@ -2417,7 +2435,7 @@ export const zPostAppsByAppIdConvertToWorkflowPath = z.object({
|
||||
/**
|
||||
* Application converted to workflow successfully
|
||||
*/
|
||||
export const zPostAppsByAppIdConvertToWorkflowResponse = z.record(z.string(), z.unknown())
|
||||
export const zPostAppsByAppIdConvertToWorkflowResponse = zNewAppResponse
|
||||
|
||||
export const zPostAppsByAppIdCopyBody = zCopyAppPayload
|
||||
|
||||
@ -2453,7 +2471,7 @@ export const zPostAppsByAppIdFeedbacksPath = z.object({
|
||||
/**
|
||||
* Feedback updated successfully
|
||||
*/
|
||||
export const zPostAppsByAppIdFeedbacksResponse = z.record(z.string(), z.unknown())
|
||||
export const zPostAppsByAppIdFeedbacksResponse = zSimpleResultResponse
|
||||
|
||||
export const zGetAppsByAppIdFeedbacksExportPath = z.object({
|
||||
app_id: z.string(),
|
||||
@ -2523,7 +2541,7 @@ export const zPostAppsByAppIdPublishToCreatorsPlatformPath = z.object({
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
export const zPostAppsByAppIdPublishToCreatorsPlatformResponse = z.record(z.string(), z.unknown())
|
||||
export const zPostAppsByAppIdPublishToCreatorsPlatformResponse = zRedirectUrlResponse
|
||||
|
||||
export const zGetAppsByAppIdServerPath = z.object({
|
||||
app_id: z.string(),
|
||||
@ -2757,7 +2775,7 @@ export const zPostAppsByAppIdTracePath = z.object({
|
||||
/**
|
||||
* Trace configuration updated successfully
|
||||
*/
|
||||
export const zPostAppsByAppIdTraceResponse = z.record(z.string(), z.unknown())
|
||||
export const zPostAppsByAppIdTraceResponse = zSimpleResultResponse
|
||||
|
||||
export const zDeleteAppsByAppIdTraceConfigBody = zTraceProviderQuery
|
||||
|
||||
@ -2906,10 +2924,7 @@ export const zPostAppsByAppIdWorkflowRunsTasksByTaskIdStopPath = z.object({
|
||||
/**
|
||||
* Task stopped successfully
|
||||
*/
|
||||
export const zPostAppsByAppIdWorkflowRunsTasksByTaskIdStopResponse = z.record(
|
||||
z.string(),
|
||||
z.unknown(),
|
||||
)
|
||||
export const zPostAppsByAppIdWorkflowRunsTasksByTaskIdStopResponse = zSimpleResultResponse
|
||||
|
||||
export const zGetAppsByAppIdWorkflowRunsByRunIdPath = z.object({
|
||||
app_id: z.string(),
|
||||
@ -3246,7 +3261,7 @@ export const zPostAppsByAppIdWorkflowsDraftFeaturesPath = z.object({
|
||||
/**
|
||||
* Workflow features updated successfully
|
||||
*/
|
||||
export const zPostAppsByAppIdWorkflowsDraftFeaturesResponse = z.record(z.string(), z.unknown())
|
||||
export const zPostAppsByAppIdWorkflowsDraftFeaturesResponse = zSimpleResultResponse
|
||||
|
||||
export const zPostAppsByAppIdWorkflowsDraftHumanInputNodesByNodeIdDeliveryTestBody
|
||||
= zHumanInputDeliveryTestPayload
|
||||
|
||||
@ -74,16 +74,8 @@ export const list = {
|
||||
get: get2,
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const delete_ = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'DELETE',
|
||||
operationId: 'deleteAuthPluginDatasourceByProviderIdCustomClient',
|
||||
@ -122,16 +114,8 @@ export const customClient = {
|
||||
post,
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const post2 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'POST',
|
||||
operationId: 'postAuthPluginDatasourceByProviderIdDefault',
|
||||
@ -150,16 +134,8 @@ export const default_ = {
|
||||
post: post2,
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const post3 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'POST',
|
||||
operationId: 'postAuthPluginDatasourceByProviderIdDelete',
|
||||
@ -206,16 +182,8 @@ export const update = {
|
||||
post: post4,
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const post5 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'POST',
|
||||
operationId: 'postAuthPluginDatasourceByProviderIdUpdateName',
|
||||
|
||||
@ -11,6 +11,10 @@ export type DatasourceCredentialPayload = {
|
||||
name?: string | null
|
||||
}
|
||||
|
||||
export type SimpleResultResponse = {
|
||||
result: string
|
||||
}
|
||||
|
||||
export type DatasourceCustomClientPayload = {
|
||||
client_params?: {
|
||||
[key: string]: unknown
|
||||
@ -117,9 +121,7 @@ export type DeleteAuthPluginDatasourceByProviderIdCustomClientData = {
|
||||
}
|
||||
|
||||
export type DeleteAuthPluginDatasourceByProviderIdCustomClientResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SimpleResultResponse
|
||||
}
|
||||
|
||||
export type DeleteAuthPluginDatasourceByProviderIdCustomClientResponse
|
||||
@ -153,9 +155,7 @@ export type PostAuthPluginDatasourceByProviderIdDefaultData = {
|
||||
}
|
||||
|
||||
export type PostAuthPluginDatasourceByProviderIdDefaultResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SimpleResultResponse
|
||||
}
|
||||
|
||||
export type PostAuthPluginDatasourceByProviderIdDefaultResponse
|
||||
@ -171,9 +171,7 @@ export type PostAuthPluginDatasourceByProviderIdDeleteData = {
|
||||
}
|
||||
|
||||
export type PostAuthPluginDatasourceByProviderIdDeleteResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SimpleResultResponse
|
||||
}
|
||||
|
||||
export type PostAuthPluginDatasourceByProviderIdDeleteResponse
|
||||
@ -207,9 +205,7 @@ export type PostAuthPluginDatasourceByProviderIdUpdateNameData = {
|
||||
}
|
||||
|
||||
export type PostAuthPluginDatasourceByProviderIdUpdateNameResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SimpleResultResponse
|
||||
}
|
||||
|
||||
export type PostAuthPluginDatasourceByProviderIdUpdateNameResponse
|
||||
|
||||
@ -10,6 +10,13 @@ export const zDatasourceCredentialPayload = z.object({
|
||||
name: z.string().max(100).nullish(),
|
||||
})
|
||||
|
||||
/**
|
||||
* SimpleResultResponse
|
||||
*/
|
||||
export const zSimpleResultResponse = z.object({
|
||||
result: z.string(),
|
||||
})
|
||||
|
||||
/**
|
||||
* DatasourceCustomClientPayload
|
||||
*/
|
||||
@ -86,10 +93,7 @@ export const zDeleteAuthPluginDatasourceByProviderIdCustomClientPath = z.object(
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
export const zDeleteAuthPluginDatasourceByProviderIdCustomClientResponse = z.record(
|
||||
z.string(),
|
||||
z.unknown(),
|
||||
)
|
||||
export const zDeleteAuthPluginDatasourceByProviderIdCustomClientResponse = zSimpleResultResponse
|
||||
|
||||
export const zPostAuthPluginDatasourceByProviderIdCustomClientBody = zDatasourceCustomClientPayload
|
||||
|
||||
@ -114,10 +118,7 @@ export const zPostAuthPluginDatasourceByProviderIdDefaultPath = z.object({
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
export const zPostAuthPluginDatasourceByProviderIdDefaultResponse = z.record(
|
||||
z.string(),
|
||||
z.unknown(),
|
||||
)
|
||||
export const zPostAuthPluginDatasourceByProviderIdDefaultResponse = zSimpleResultResponse
|
||||
|
||||
export const zPostAuthPluginDatasourceByProviderIdDeleteBody = zDatasourceCredentialDeletePayload
|
||||
|
||||
@ -128,7 +129,7 @@ export const zPostAuthPluginDatasourceByProviderIdDeletePath = z.object({
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
export const zPostAuthPluginDatasourceByProviderIdDeleteResponse = z.record(z.string(), z.unknown())
|
||||
export const zPostAuthPluginDatasourceByProviderIdDeleteResponse = zSimpleResultResponse
|
||||
|
||||
export const zPostAuthPluginDatasourceByProviderIdUpdateBody = zDatasourceCredentialUpdatePayload
|
||||
|
||||
@ -150,7 +151,4 @@ export const zPostAuthPluginDatasourceByProviderIdUpdateNamePath = z.object({
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
export const zPostAuthPluginDatasourceByProviderIdUpdateNameResponse = z.record(
|
||||
z.string(),
|
||||
z.unknown(),
|
||||
)
|
||||
export const zPostAuthPluginDatasourceByProviderIdUpdateNameResponse = zSimpleResultResponse
|
||||
|
||||
@ -31,16 +31,8 @@ export const get = oc
|
||||
.input(z.object({ params: zGetDataSourceIntegratesByBindingIdByActionPath }))
|
||||
.output(zGetDataSourceIntegratesByBindingIdByActionResponse)
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const patch = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'PATCH',
|
||||
operationId: 'patchDataSourceIntegratesByBindingIdByAction',
|
||||
@ -77,16 +69,8 @@ export const get2 = oc
|
||||
})
|
||||
.output(zGetDataSourceIntegratesResponse)
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const patch2 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'PATCH',
|
||||
operationId: 'patchDataSourceIntegrates',
|
||||
|
||||
@ -4,6 +4,10 @@ export type ClientOptions = {
|
||||
baseUrl: `${string}://${string}/console/api` | (string & {})
|
||||
}
|
||||
|
||||
export type SimpleResultResponse = {
|
||||
result: string
|
||||
}
|
||||
|
||||
export type GetDataSourceIntegratesData = {
|
||||
body?: never
|
||||
path?: never
|
||||
@ -28,9 +32,7 @@ export type PatchDataSourceIntegratesData = {
|
||||
}
|
||||
|
||||
export type PatchDataSourceIntegratesResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SimpleResultResponse
|
||||
}
|
||||
|
||||
export type PatchDataSourceIntegratesResponse
|
||||
@ -66,9 +68,7 @@ export type PatchDataSourceIntegratesByBindingIdByActionData = {
|
||||
}
|
||||
|
||||
export type PatchDataSourceIntegratesByBindingIdByActionResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SimpleResultResponse
|
||||
}
|
||||
|
||||
export type PatchDataSourceIntegratesByBindingIdByActionResponse
|
||||
|
||||
@ -2,6 +2,13 @@
|
||||
|
||||
import * as z from 'zod'
|
||||
|
||||
/**
|
||||
* SimpleResultResponse
|
||||
*/
|
||||
export const zSimpleResultResponse = z.object({
|
||||
result: z.string(),
|
||||
})
|
||||
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
@ -10,7 +17,7 @@ export const zGetDataSourceIntegratesResponse = z.record(z.string(), z.unknown()
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
export const zPatchDataSourceIntegratesResponse = z.record(z.string(), z.unknown())
|
||||
export const zPatchDataSourceIntegratesResponse = zSimpleResultResponse
|
||||
|
||||
export const zGetDataSourceIntegratesByBindingIdByActionPath = z.object({
|
||||
action: z.string(),
|
||||
@ -30,7 +37,4 @@ export const zPatchDataSourceIntegratesByBindingIdByActionPath = z.object({
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
export const zPatchDataSourceIntegratesByBindingIdByActionResponse = z.record(
|
||||
z.string(),
|
||||
z.unknown(),
|
||||
)
|
||||
export const zPatchDataSourceIntegratesByBindingIdByActionResponse = zSimpleResultResponse
|
||||
|
||||
@ -187,16 +187,10 @@ import {
|
||||
|
||||
/**
|
||||
* Get dataset API base information
|
||||
*
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const get = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Get dataset API base information\n\nGenerated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
description: 'Get dataset API base information',
|
||||
inputStructure: 'detailed',
|
||||
method: 'GET',
|
||||
operationId: 'getDatasetsApiBaseInfo',
|
||||
@ -259,16 +253,8 @@ export const apiKeys = {
|
||||
byApiKeyId,
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const get3 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'GET',
|
||||
operationId: 'getDatasetsBatchImportStatusByJobId',
|
||||
@ -278,16 +264,8 @@ export const get3 = oc
|
||||
.input(z.object({ params: zGetDatasetsBatchImportStatusByJobIdPath }))
|
||||
.output(zGetDatasetsBatchImportStatusByJobIdResponse)
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const post2 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'POST',
|
||||
operationId: 'postDatasetsBatchImportStatusByJobId',
|
||||
@ -339,16 +317,10 @@ export const external = {
|
||||
|
||||
/**
|
||||
* Check if external knowledge API is being used
|
||||
*
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const get4 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Check if external knowledge API is being used\n\nGenerated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
description: 'Check if external knowledge API is being used',
|
||||
inputStructure: 'detailed',
|
||||
method: 'GET',
|
||||
operationId: 'getDatasetsExternalKnowledgeApiByExternalKnowledgeApiIdUseCheck',
|
||||
@ -362,20 +334,13 @@ export const useCheck = {
|
||||
get: get4,
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const delete2 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'DELETE',
|
||||
operationId: 'deleteDatasetsExternalKnowledgeApiByExternalKnowledgeApiId',
|
||||
path: '/datasets/external-knowledge-api/{external_knowledge_api_id}',
|
||||
successStatus: 204,
|
||||
tags: ['console'],
|
||||
})
|
||||
.input(z.object({ params: zDeleteDatasetsExternalKnowledgeApiByExternalKnowledgeApiIdPath }))
|
||||
@ -556,16 +521,8 @@ export const metadata = {
|
||||
builtIn,
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const get8 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'GET',
|
||||
operationId: 'getDatasetsNotionIndexingEstimate',
|
||||
@ -673,16 +630,8 @@ export const retrievalSetting = {
|
||||
byVectorType,
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const post8 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'POST',
|
||||
operationId: 'postDatasetsByDatasetIdApiKeysByStatus',
|
||||
@ -820,16 +769,11 @@ export const downloadZip = {
|
||||
* This endpoint checks if the dataset configuration supports summary generation
|
||||
* (indexing_technique must be 'high_quality' and summary_index_setting.enable must be true),
|
||||
* then asynchronously generates summary indexes for the provided documents.
|
||||
*
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const post10 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generate summary index for documents\nThis endpoint checks if the dataset configuration supports summary generation\n(indexing_technique must be \'high_quality\' and summary_index_setting.enable must be true),\nthen asynchronously generates summary indexes for the provided documents.\n\nGenerated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
'Generate summary index for documents\nThis endpoint checks if the dataset configuration supports summary generation\n(indexing_technique must be \'high_quality\' and summary_index_setting.enable must be true),\nthen asynchronously generates summary indexes for the provided documents.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'POST',
|
||||
operationId: 'postDatasetsByDatasetIdDocumentsGenerateSummary',
|
||||
@ -849,16 +793,8 @@ export const generateSummary = {
|
||||
post: post10,
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const post11 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'POST',
|
||||
operationId: 'postDatasetsByDatasetIdDocumentsMetadata',
|
||||
@ -877,16 +813,8 @@ export const metadata2 = {
|
||||
post: post11,
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const patch2 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'PATCH',
|
||||
operationId: 'patchDatasetsByDatasetIdDocumentsStatusByActionBatch',
|
||||
@ -910,16 +838,10 @@ export const status = {
|
||||
|
||||
/**
|
||||
* Get a signed download URL for a dataset document's original uploaded file
|
||||
*
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const get15 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Get a signed download URL for a dataset document\'s original uploaded file\n\nGenerated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
description: 'Get a signed download URL for a dataset document\'s original uploaded file',
|
||||
inputStructure: 'detailed',
|
||||
method: 'GET',
|
||||
operationId: 'getDatasetsByDatasetIdDocumentsByDocumentIdDownload',
|
||||
@ -985,16 +907,10 @@ export const indexingStatus2 = {
|
||||
|
||||
/**
|
||||
* Update document metadata
|
||||
*
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const put = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Update document metadata\n\nGenerated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
description: 'Update document metadata',
|
||||
inputStructure: 'detailed',
|
||||
method: 'PUT',
|
||||
operationId: 'putDatasetsByDatasetIdDocumentsByDocumentIdMetadata',
|
||||
@ -1013,16 +929,8 @@ export const metadata3 = {
|
||||
put,
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const get18 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'GET',
|
||||
operationId: 'getDatasetsByDatasetIdDocumentsByDocumentIdNotionSync',
|
||||
@ -1065,20 +973,14 @@ export const pipelineExecutionLog = {
|
||||
|
||||
/**
|
||||
* pause document
|
||||
*
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const patch3 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'PATCH',
|
||||
operationId: 'patchDatasetsByDatasetIdDocumentsByDocumentIdProcessingPause',
|
||||
path: '/datasets/{dataset_id}/documents/{document_id}/processing/pause',
|
||||
successStatus: 204,
|
||||
summary: 'pause document',
|
||||
tags: ['console'],
|
||||
})
|
||||
@ -1091,20 +993,14 @@ export const pause = {
|
||||
|
||||
/**
|
||||
* recover document
|
||||
*
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const patch4 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'PATCH',
|
||||
operationId: 'patchDatasetsByDatasetIdDocumentsByDocumentIdProcessingResume',
|
||||
path: '/datasets/{dataset_id}/documents/{document_id}/processing/resume',
|
||||
successStatus: 204,
|
||||
summary: 'recover document',
|
||||
tags: ['console'],
|
||||
})
|
||||
@ -1117,16 +1013,10 @@ export const resume = {
|
||||
|
||||
/**
|
||||
* Update document processing status (pause/resume)
|
||||
*
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const patch5 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Update document processing status (pause/resume)\n\nGenerated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
description: 'Update document processing status (pause/resume)',
|
||||
inputStructure: 'detailed',
|
||||
method: 'PATCH',
|
||||
operationId: 'patchDatasetsByDatasetIdDocumentsByDocumentIdProcessingByAction',
|
||||
@ -1166,16 +1056,8 @@ export const rename = {
|
||||
post: post12,
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const patch6 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'PATCH',
|
||||
operationId: 'patchDatasetsByDatasetIdDocumentsByDocumentIdSegmentByAction',
|
||||
@ -1218,16 +1100,8 @@ export const segment = {
|
||||
byAction: byAction3,
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const get20 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'GET',
|
||||
operationId: 'getDatasetsByDatasetIdDocumentsByDocumentIdSegmentsBatchImport',
|
||||
@ -1237,16 +1111,8 @@ export const get20 = oc
|
||||
.input(z.object({ params: zGetDatasetsByDatasetIdDocumentsByDocumentIdSegmentsBatchImportPath }))
|
||||
.output(zGetDatasetsByDatasetIdDocumentsByDocumentIdSegmentsBatchImportResponse)
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const post14 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'POST',
|
||||
operationId: 'postDatasetsByDatasetIdDocumentsByDocumentIdSegmentsBatchImport',
|
||||
@ -1266,21 +1132,14 @@ export const batchImport = {
|
||||
post: post14,
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const delete3 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'DELETE',
|
||||
operationId:
|
||||
'deleteDatasetsByDatasetIdDocumentsByDocumentIdSegmentsBySegmentIdChildChunksByChildChunkId',
|
||||
path: '/datasets/{dataset_id}/documents/{document_id}/segments/{segment_id}/child_chunks/{child_chunk_id}',
|
||||
successStatus: 204,
|
||||
tags: ['console'],
|
||||
})
|
||||
.input(
|
||||
@ -1403,20 +1262,13 @@ export const childChunks = {
|
||||
byChildChunkId,
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const delete4 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'DELETE',
|
||||
operationId: 'deleteDatasetsByDatasetIdDocumentsByDocumentIdSegmentsBySegmentId',
|
||||
path: '/datasets/{dataset_id}/documents/{document_id}/segments/{segment_id}',
|
||||
successStatus: 204,
|
||||
tags: ['console'],
|
||||
})
|
||||
.input(
|
||||
@ -1454,20 +1306,13 @@ export const bySegmentId = {
|
||||
childChunks,
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const delete5 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'DELETE',
|
||||
operationId: 'deleteDatasetsByDatasetIdDocumentsByDocumentIdSegments',
|
||||
path: '/datasets/{dataset_id}/documents/{document_id}/segments',
|
||||
successStatus: 204,
|
||||
tags: ['console'],
|
||||
})
|
||||
.input(z.object({ params: zDeleteDatasetsByDatasetIdDocumentsByDocumentIdSegmentsPath }))
|
||||
@ -1537,16 +1382,9 @@ export const summaryStatus = {
|
||||
|
||||
/**
|
||||
* sync website document
|
||||
*
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const get24 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'GET',
|
||||
operationId: 'getDatasetsByDatasetIdDocumentsByDocumentIdWebsiteSync',
|
||||
@ -1561,20 +1399,13 @@ export const websiteSync = {
|
||||
get: get24,
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const delete6 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'DELETE',
|
||||
operationId: 'deleteDatasetsByDatasetIdDocumentsByDocumentId',
|
||||
path: '/datasets/{dataset_id}/documents/{document_id}',
|
||||
successStatus: 204,
|
||||
tags: ['console'],
|
||||
})
|
||||
.input(z.object({ params: zDeleteDatasetsByDatasetIdDocumentsByDocumentIdPath }))
|
||||
@ -1623,20 +1454,13 @@ export const byDocumentId = {
|
||||
websiteSync,
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const delete7 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'DELETE',
|
||||
operationId: 'deleteDatasetsByDatasetIdDocuments',
|
||||
path: '/datasets/{dataset_id}/documents',
|
||||
successStatus: 204,
|
||||
tags: ['console'],
|
||||
})
|
||||
.input(z.object({ params: zDeleteDatasetsByDatasetIdDocumentsPath }))
|
||||
@ -1813,16 +1637,8 @@ export const indexingStatus3 = {
|
||||
get: get28,
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const post19 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'POST',
|
||||
operationId: 'postDatasetsByDatasetIdMetadataBuiltInByAction',
|
||||
@ -1840,20 +1656,13 @@ export const builtIn2 = {
|
||||
byAction: byAction4,
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const delete8 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'DELETE',
|
||||
operationId: 'deleteDatasetsByDatasetIdMetadataByMetadataId',
|
||||
path: '/datasets/{dataset_id}/metadata/{metadata_id}',
|
||||
successStatus: 204,
|
||||
tags: ['console'],
|
||||
})
|
||||
.input(z.object({ params: zDeleteDatasetsByDatasetIdMetadataByMetadataIdPath }))
|
||||
@ -1938,16 +1747,8 @@ export const metadata4 = {
|
||||
byMetadataId,
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const get30 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'GET',
|
||||
operationId: 'getDatasetsByDatasetIdNotionSync',
|
||||
@ -2042,20 +1843,14 @@ export const relatedApps = {
|
||||
|
||||
/**
|
||||
* retry document
|
||||
*
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const post21 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'POST',
|
||||
operationId: 'postDatasetsByDatasetIdRetry',
|
||||
path: '/datasets/{dataset_id}/retry',
|
||||
successStatus: 204,
|
||||
summary: 'retry document',
|
||||
tags: ['console'],
|
||||
})
|
||||
@ -2073,16 +1868,10 @@ export const retry = {
|
||||
|
||||
/**
|
||||
* Check if dataset is in use
|
||||
*
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const get34 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Check if dataset is in use\n\nGenerated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
description: 'Check if dataset is in use',
|
||||
inputStructure: 'detailed',
|
||||
method: 'GET',
|
||||
operationId: 'getDatasetsByDatasetIdUseCheck',
|
||||
@ -2096,20 +1885,13 @@ export const useCheck2 = {
|
||||
get: get34,
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const delete9 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'DELETE',
|
||||
operationId: 'deleteDatasetsByDatasetId',
|
||||
path: '/datasets/{dataset_id}',
|
||||
successStatus: 204,
|
||||
tags: ['console'],
|
||||
})
|
||||
.input(z.object({ params: zDeleteDatasetsByDatasetIdPath }))
|
||||
|
||||
@ -14,6 +14,10 @@ export type DatasetCreatePayload = {
|
||||
provider?: string
|
||||
}
|
||||
|
||||
export type ApiBaseUrlResponse = {
|
||||
api_base_url: string
|
||||
}
|
||||
|
||||
export type ApiKeyList = {
|
||||
data: Array<ApiKeyItem>
|
||||
}
|
||||
@ -26,6 +30,11 @@ export type ApiKeyItem = {
|
||||
type: string
|
||||
}
|
||||
|
||||
export type SegmentBatchImportStatusResponse = {
|
||||
job_id: string
|
||||
job_status: string
|
||||
}
|
||||
|
||||
export type BatchImportPayload = {
|
||||
upload_file_id: string
|
||||
}
|
||||
@ -89,6 +98,11 @@ export type ExternalKnowledgeApiPayload = {
|
||||
}
|
||||
}
|
||||
|
||||
export type UsageCountResponse = {
|
||||
count: number
|
||||
is_using: boolean
|
||||
}
|
||||
|
||||
export type IndexingEstimatePayload = {
|
||||
dataset_id?: string | null
|
||||
doc_form?: string
|
||||
@ -126,6 +140,10 @@ export type DatasetAndDocumentResponse = {
|
||||
documents: Array<DocumentResponse>
|
||||
}
|
||||
|
||||
export type TextContentResponse = {
|
||||
content: string
|
||||
}
|
||||
|
||||
export type NotionEstimatePayload = {
|
||||
doc_form?: string
|
||||
doc_language?: string
|
||||
@ -164,6 +182,10 @@ export type DatasetUpdatePayload = {
|
||||
} | null
|
||||
}
|
||||
|
||||
export type SimpleResultResponse = {
|
||||
result: string
|
||||
}
|
||||
|
||||
export type DocumentBatchDownloadZipPayload = {
|
||||
document_ids: Array<string>
|
||||
}
|
||||
@ -176,11 +198,20 @@ export type MetadataOperationData = {
|
||||
operation_data: Array<DocumentMetadataOperation>
|
||||
}
|
||||
|
||||
export type UrlResponse = {
|
||||
url: string
|
||||
}
|
||||
|
||||
export type DocumentMetadataUpdatePayload = {
|
||||
doc_metadata?: unknown
|
||||
doc_type?: string | null
|
||||
}
|
||||
|
||||
export type SimpleResultMessageResponse = {
|
||||
message: string
|
||||
result: string
|
||||
}
|
||||
|
||||
export type DocumentRenamePayload = {
|
||||
name: string
|
||||
}
|
||||
@ -290,6 +321,10 @@ export type DocumentRetryPayload = {
|
||||
document_ids: Array<string>
|
||||
}
|
||||
|
||||
export type UsageCheckResponse = {
|
||||
is_using: boolean
|
||||
}
|
||||
|
||||
export type DatasetPermissionEnum = 'all_team_members' | 'only_me' | 'partial_members'
|
||||
|
||||
export type DatasetDocMetadata = {
|
||||
@ -665,9 +700,7 @@ export type GetDatasetsApiBaseInfoData = {
|
||||
}
|
||||
|
||||
export type GetDatasetsApiBaseInfoResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: ApiBaseUrlResponse
|
||||
}
|
||||
|
||||
export type GetDatasetsApiBaseInfoResponse
|
||||
@ -737,9 +770,7 @@ export type GetDatasetsBatchImportStatusByJobIdData = {
|
||||
}
|
||||
|
||||
export type GetDatasetsBatchImportStatusByJobIdResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SegmentBatchImportStatusResponse
|
||||
}
|
||||
|
||||
export type GetDatasetsBatchImportStatusByJobIdResponse
|
||||
@ -755,9 +786,7 @@ export type PostDatasetsBatchImportStatusByJobIdData = {
|
||||
}
|
||||
|
||||
export type PostDatasetsBatchImportStatusByJobIdResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SegmentBatchImportStatusResponse
|
||||
}
|
||||
|
||||
export type PostDatasetsBatchImportStatusByJobIdResponse
|
||||
@ -834,8 +863,8 @@ export type DeleteDatasetsExternalKnowledgeApiByExternalKnowledgeApiIdData = {
|
||||
}
|
||||
|
||||
export type DeleteDatasetsExternalKnowledgeApiByExternalKnowledgeApiIdResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
204: {
|
||||
[key: string]: never
|
||||
}
|
||||
}
|
||||
|
||||
@ -897,9 +926,7 @@ export type GetDatasetsExternalKnowledgeApiByExternalKnowledgeApiIdUseCheckData
|
||||
}
|
||||
|
||||
export type GetDatasetsExternalKnowledgeApiByExternalKnowledgeApiIdUseCheckResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: UsageCountResponse
|
||||
}
|
||||
|
||||
export type GetDatasetsExternalKnowledgeApiByExternalKnowledgeApiIdUseCheckResponse
|
||||
@ -966,9 +993,7 @@ export type GetDatasetsNotionIndexingEstimateData = {
|
||||
}
|
||||
|
||||
export type GetDatasetsNotionIndexingEstimateResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: TextContentResponse
|
||||
}
|
||||
|
||||
export type GetDatasetsNotionIndexingEstimateResponse
|
||||
@ -1052,8 +1077,8 @@ export type DeleteDatasetsByDatasetIdData = {
|
||||
}
|
||||
|
||||
export type DeleteDatasetsByDatasetIdResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
204: {
|
||||
[key: string]: never
|
||||
}
|
||||
}
|
||||
|
||||
@ -1127,9 +1152,7 @@ export type PostDatasetsByDatasetIdApiKeysByStatusData = {
|
||||
}
|
||||
|
||||
export type PostDatasetsByDatasetIdApiKeysByStatusResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SimpleResultResponse
|
||||
}
|
||||
|
||||
export type PostDatasetsByDatasetIdApiKeysByStatusResponse
|
||||
@ -1210,8 +1233,8 @@ export type DeleteDatasetsByDatasetIdDocumentsData = {
|
||||
}
|
||||
|
||||
export type DeleteDatasetsByDatasetIdDocumentsResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
204: {
|
||||
[key: string]: never
|
||||
}
|
||||
}
|
||||
|
||||
@ -1302,9 +1325,7 @@ export type PostDatasetsByDatasetIdDocumentsGenerateSummaryError
|
||||
= PostDatasetsByDatasetIdDocumentsGenerateSummaryErrors[keyof PostDatasetsByDatasetIdDocumentsGenerateSummaryErrors]
|
||||
|
||||
export type PostDatasetsByDatasetIdDocumentsGenerateSummaryResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SimpleResultResponse
|
||||
}
|
||||
|
||||
export type PostDatasetsByDatasetIdDocumentsGenerateSummaryResponse
|
||||
@ -1320,9 +1341,7 @@ export type PostDatasetsByDatasetIdDocumentsMetadataData = {
|
||||
}
|
||||
|
||||
export type PostDatasetsByDatasetIdDocumentsMetadataResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SimpleResultResponse
|
||||
}
|
||||
|
||||
export type PostDatasetsByDatasetIdDocumentsMetadataResponse
|
||||
@ -1339,9 +1358,7 @@ export type PatchDatasetsByDatasetIdDocumentsStatusByActionBatchData = {
|
||||
}
|
||||
|
||||
export type PatchDatasetsByDatasetIdDocumentsStatusByActionBatchResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SimpleResultResponse
|
||||
}
|
||||
|
||||
export type PatchDatasetsByDatasetIdDocumentsStatusByActionBatchResponse
|
||||
@ -1358,8 +1375,8 @@ export type DeleteDatasetsByDatasetIdDocumentsByDocumentIdData = {
|
||||
}
|
||||
|
||||
export type DeleteDatasetsByDatasetIdDocumentsByDocumentIdResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
204: {
|
||||
[key: string]: never
|
||||
}
|
||||
}
|
||||
|
||||
@ -1407,9 +1424,7 @@ export type GetDatasetsByDatasetIdDocumentsByDocumentIdDownloadData = {
|
||||
}
|
||||
|
||||
export type GetDatasetsByDatasetIdDocumentsByDocumentIdDownloadResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: UrlResponse
|
||||
}
|
||||
|
||||
export type GetDatasetsByDatasetIdDocumentsByDocumentIdDownloadResponse
|
||||
@ -1497,9 +1512,7 @@ export type PutDatasetsByDatasetIdDocumentsByDocumentIdMetadataError
|
||||
= PutDatasetsByDatasetIdDocumentsByDocumentIdMetadataErrors[keyof PutDatasetsByDatasetIdDocumentsByDocumentIdMetadataErrors]
|
||||
|
||||
export type PutDatasetsByDatasetIdDocumentsByDocumentIdMetadataResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SimpleResultMessageResponse
|
||||
}
|
||||
|
||||
export type PutDatasetsByDatasetIdDocumentsByDocumentIdMetadataResponse
|
||||
@ -1516,9 +1529,7 @@ export type GetDatasetsByDatasetIdDocumentsByDocumentIdNotionSyncData = {
|
||||
}
|
||||
|
||||
export type GetDatasetsByDatasetIdDocumentsByDocumentIdNotionSyncResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SimpleResultResponse
|
||||
}
|
||||
|
||||
export type GetDatasetsByDatasetIdDocumentsByDocumentIdNotionSyncResponse
|
||||
@ -1554,8 +1565,8 @@ export type PatchDatasetsByDatasetIdDocumentsByDocumentIdProcessingPauseData = {
|
||||
}
|
||||
|
||||
export type PatchDatasetsByDatasetIdDocumentsByDocumentIdProcessingPauseResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
204: {
|
||||
[key: string]: never
|
||||
}
|
||||
}
|
||||
|
||||
@ -1573,8 +1584,8 @@ export type PatchDatasetsByDatasetIdDocumentsByDocumentIdProcessingResumeData =
|
||||
}
|
||||
|
||||
export type PatchDatasetsByDatasetIdDocumentsByDocumentIdProcessingResumeResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
204: {
|
||||
[key: string]: never
|
||||
}
|
||||
}
|
||||
|
||||
@ -1605,9 +1616,7 @@ export type PatchDatasetsByDatasetIdDocumentsByDocumentIdProcessingByActionError
|
||||
= PatchDatasetsByDatasetIdDocumentsByDocumentIdProcessingByActionErrors[keyof PatchDatasetsByDatasetIdDocumentsByDocumentIdProcessingByActionErrors]
|
||||
|
||||
export type PatchDatasetsByDatasetIdDocumentsByDocumentIdProcessingByActionResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SimpleResultResponse
|
||||
}
|
||||
|
||||
export type PatchDatasetsByDatasetIdDocumentsByDocumentIdProcessingByActionResponse
|
||||
@ -1661,9 +1670,7 @@ export type PatchDatasetsByDatasetIdDocumentsByDocumentIdSegmentByActionData = {
|
||||
}
|
||||
|
||||
export type PatchDatasetsByDatasetIdDocumentsByDocumentIdSegmentByActionResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SimpleResultResponse
|
||||
}
|
||||
|
||||
export type PatchDatasetsByDatasetIdDocumentsByDocumentIdSegmentByActionResponse
|
||||
@ -1680,8 +1687,8 @@ export type DeleteDatasetsByDatasetIdDocumentsByDocumentIdSegmentsData = {
|
||||
}
|
||||
|
||||
export type DeleteDatasetsByDatasetIdDocumentsByDocumentIdSegmentsResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
204: {
|
||||
[key: string]: never
|
||||
}
|
||||
}
|
||||
|
||||
@ -1718,9 +1725,7 @@ export type GetDatasetsByDatasetIdDocumentsByDocumentIdSegmentsBatchImportData =
|
||||
}
|
||||
|
||||
export type GetDatasetsByDatasetIdDocumentsByDocumentIdSegmentsBatchImportResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SegmentBatchImportStatusResponse
|
||||
}
|
||||
|
||||
export type GetDatasetsByDatasetIdDocumentsByDocumentIdSegmentsBatchImportResponse
|
||||
@ -1737,9 +1742,7 @@ export type PostDatasetsByDatasetIdDocumentsByDocumentIdSegmentsBatchImportData
|
||||
}
|
||||
|
||||
export type PostDatasetsByDatasetIdDocumentsByDocumentIdSegmentsBatchImportResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SegmentBatchImportStatusResponse
|
||||
}
|
||||
|
||||
export type PostDatasetsByDatasetIdDocumentsByDocumentIdSegmentsBatchImportResponse
|
||||
@ -1757,8 +1760,8 @@ export type DeleteDatasetsByDatasetIdDocumentsByDocumentIdSegmentsBySegmentIdDat
|
||||
}
|
||||
|
||||
export type DeleteDatasetsByDatasetIdDocumentsByDocumentIdSegmentsBySegmentIdResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
204: {
|
||||
[key: string]: never
|
||||
}
|
||||
}
|
||||
|
||||
@ -1860,8 +1863,8 @@ export type DeleteDatasetsByDatasetIdDocumentsByDocumentIdSegmentsBySegmentIdChi
|
||||
|
||||
export type DeleteDatasetsByDatasetIdDocumentsByDocumentIdSegmentsBySegmentIdChildChunksByChildChunkIdResponses
|
||||
= {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
204: {
|
||||
[key: string]: never
|
||||
}
|
||||
}
|
||||
|
||||
@ -1930,9 +1933,7 @@ export type GetDatasetsByDatasetIdDocumentsByDocumentIdWebsiteSyncData = {
|
||||
}
|
||||
|
||||
export type GetDatasetsByDatasetIdDocumentsByDocumentIdWebsiteSyncResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SimpleResultResponse
|
||||
}
|
||||
|
||||
export type GetDatasetsByDatasetIdDocumentsByDocumentIdWebsiteSyncResponse
|
||||
@ -2088,9 +2089,7 @@ export type PostDatasetsByDatasetIdMetadataBuiltInByActionData = {
|
||||
}
|
||||
|
||||
export type PostDatasetsByDatasetIdMetadataBuiltInByActionResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SimpleResultResponse
|
||||
}
|
||||
|
||||
export type PostDatasetsByDatasetIdMetadataBuiltInByActionResponse
|
||||
@ -2107,8 +2106,8 @@ export type DeleteDatasetsByDatasetIdMetadataByMetadataIdData = {
|
||||
}
|
||||
|
||||
export type DeleteDatasetsByDatasetIdMetadataByMetadataIdResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
204: {
|
||||
[key: string]: never
|
||||
}
|
||||
}
|
||||
|
||||
@ -2144,9 +2143,7 @@ export type GetDatasetsByDatasetIdNotionSyncData = {
|
||||
}
|
||||
|
||||
export type GetDatasetsByDatasetIdNotionSyncResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SimpleResultResponse
|
||||
}
|
||||
|
||||
export type GetDatasetsByDatasetIdNotionSyncResponse
|
||||
@ -2224,8 +2221,8 @@ export type PostDatasetsByDatasetIdRetryData = {
|
||||
}
|
||||
|
||||
export type PostDatasetsByDatasetIdRetryResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
204: {
|
||||
[key: string]: never
|
||||
}
|
||||
}
|
||||
|
||||
@ -2242,9 +2239,7 @@ export type GetDatasetsByDatasetIdUseCheckData = {
|
||||
}
|
||||
|
||||
export type GetDatasetsByDatasetIdUseCheckResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: UsageCheckResponse
|
||||
}
|
||||
|
||||
export type GetDatasetsByDatasetIdUseCheckResponse
|
||||
|
||||
@ -2,6 +2,13 @@
|
||||
|
||||
import * as z from 'zod'
|
||||
|
||||
/**
|
||||
* ApiBaseUrlResponse
|
||||
*/
|
||||
export const zApiBaseUrlResponse = z.object({
|
||||
api_base_url: z.string(),
|
||||
})
|
||||
|
||||
/**
|
||||
* ApiKeyItem
|
||||
*/
|
||||
@ -20,6 +27,14 @@ export const zApiKeyList = z.object({
|
||||
data: z.array(zApiKeyItem),
|
||||
})
|
||||
|
||||
/**
|
||||
* SegmentBatchImportStatusResponse
|
||||
*/
|
||||
export const zSegmentBatchImportStatusResponse = z.object({
|
||||
job_id: z.string(),
|
||||
job_status: z.string(),
|
||||
})
|
||||
|
||||
/**
|
||||
* BatchImportPayload
|
||||
*/
|
||||
@ -46,6 +61,14 @@ export const zExternalKnowledgeApiPayload = z.object({
|
||||
settings: z.record(z.string(), z.unknown()),
|
||||
})
|
||||
|
||||
/**
|
||||
* UsageCountResponse
|
||||
*/
|
||||
export const zUsageCountResponse = z.object({
|
||||
count: z.int(),
|
||||
is_using: z.boolean(),
|
||||
})
|
||||
|
||||
/**
|
||||
* IndexingEstimatePayload
|
||||
*/
|
||||
@ -58,6 +81,13 @@ export const zIndexingEstimatePayload = z.object({
|
||||
process_rule: z.record(z.string(), z.unknown()),
|
||||
})
|
||||
|
||||
/**
|
||||
* TextContentResponse
|
||||
*/
|
||||
export const zTextContentResponse = z.object({
|
||||
content: z.string(),
|
||||
})
|
||||
|
||||
/**
|
||||
* NotionEstimatePayload
|
||||
*/
|
||||
@ -68,6 +98,13 @@ export const zNotionEstimatePayload = z.object({
|
||||
process_rule: z.record(z.string(), z.unknown()),
|
||||
})
|
||||
|
||||
/**
|
||||
* SimpleResultResponse
|
||||
*/
|
||||
export const zSimpleResultResponse = z.object({
|
||||
result: z.string(),
|
||||
})
|
||||
|
||||
/**
|
||||
* DocumentBatchDownloadZipPayload
|
||||
*
|
||||
@ -84,6 +121,13 @@ export const zGenerateSummaryPayload = z.object({
|
||||
document_list: z.array(z.string()),
|
||||
})
|
||||
|
||||
/**
|
||||
* UrlResponse
|
||||
*/
|
||||
export const zUrlResponse = z.object({
|
||||
url: z.string(),
|
||||
})
|
||||
|
||||
/**
|
||||
* DocumentMetadataUpdatePayload
|
||||
*/
|
||||
@ -92,6 +136,14 @@ export const zDocumentMetadataUpdatePayload = z.object({
|
||||
doc_type: z.string().nullish(),
|
||||
})
|
||||
|
||||
/**
|
||||
* SimpleResultMessageResponse
|
||||
*/
|
||||
export const zSimpleResultMessageResponse = z.object({
|
||||
message: z.string(),
|
||||
result: z.string(),
|
||||
})
|
||||
|
||||
/**
|
||||
* DocumentRenamePayload
|
||||
*/
|
||||
@ -166,6 +218,13 @@ export const zDocumentRetryPayload = z.object({
|
||||
document_ids: z.array(z.string()),
|
||||
})
|
||||
|
||||
/**
|
||||
* UsageCheckResponse
|
||||
*/
|
||||
export const zUsageCheckResponse = z.object({
|
||||
is_using: z.boolean(),
|
||||
})
|
||||
|
||||
/**
|
||||
* DatasetPermissionEnum
|
||||
*/
|
||||
@ -777,7 +836,7 @@ export const zPostDatasetsResponse = z.record(z.string(), z.unknown())
|
||||
/**
|
||||
* API base info retrieved successfully
|
||||
*/
|
||||
export const zGetDatasetsApiBaseInfoResponse = z.record(z.string(), z.unknown())
|
||||
export const zGetDatasetsApiBaseInfoResponse = zApiBaseUrlResponse
|
||||
|
||||
/**
|
||||
* API keys retrieved successfully
|
||||
@ -803,9 +862,9 @@ export const zGetDatasetsBatchImportStatusByJobIdPath = z.object({
|
||||
})
|
||||
|
||||
/**
|
||||
* Success
|
||||
* Batch import status
|
||||
*/
|
||||
export const zGetDatasetsBatchImportStatusByJobIdResponse = z.record(z.string(), z.unknown())
|
||||
export const zGetDatasetsBatchImportStatusByJobIdResponse = zSegmentBatchImportStatusResponse
|
||||
|
||||
export const zPostDatasetsBatchImportStatusByJobIdBody = zBatchImportPayload
|
||||
|
||||
@ -814,9 +873,9 @@ export const zPostDatasetsBatchImportStatusByJobIdPath = z.object({
|
||||
})
|
||||
|
||||
/**
|
||||
* Success
|
||||
* Batch import started
|
||||
*/
|
||||
export const zPostDatasetsBatchImportStatusByJobIdResponse = z.record(z.string(), z.unknown())
|
||||
export const zPostDatasetsBatchImportStatusByJobIdResponse = zSegmentBatchImportStatusResponse
|
||||
|
||||
export const zPostDatasetsExternalBody = zExternalDatasetCreatePayload
|
||||
|
||||
@ -848,11 +907,11 @@ export const zDeleteDatasetsExternalKnowledgeApiByExternalKnowledgeApiIdPath = z
|
||||
})
|
||||
|
||||
/**
|
||||
* Success
|
||||
* External knowledge API deleted successfully
|
||||
*/
|
||||
export const zDeleteDatasetsExternalKnowledgeApiByExternalKnowledgeApiIdResponse = z.record(
|
||||
z.string(),
|
||||
z.unknown(),
|
||||
z.never(),
|
||||
)
|
||||
|
||||
export const zGetDatasetsExternalKnowledgeApiByExternalKnowledgeApiIdPath = z.object({
|
||||
@ -889,10 +948,8 @@ export const zGetDatasetsExternalKnowledgeApiByExternalKnowledgeApiIdUseCheckPat
|
||||
/**
|
||||
* Usage check completed successfully
|
||||
*/
|
||||
export const zGetDatasetsExternalKnowledgeApiByExternalKnowledgeApiIdUseCheckResponse = z.record(
|
||||
z.string(),
|
||||
z.unknown(),
|
||||
)
|
||||
export const zGetDatasetsExternalKnowledgeApiByExternalKnowledgeApiIdUseCheckResponse
|
||||
= zUsageCountResponse
|
||||
|
||||
export const zPostDatasetsIndexingEstimateBody = zIndexingEstimatePayload
|
||||
|
||||
@ -916,7 +973,7 @@ export const zGetDatasetsMetadataBuiltInResponse = z.record(z.string(), z.unknow
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
export const zGetDatasetsNotionIndexingEstimateResponse = z.record(z.string(), z.unknown())
|
||||
export const zGetDatasetsNotionIndexingEstimateResponse = zTextContentResponse
|
||||
|
||||
export const zPostDatasetsNotionIndexingEstimateBody = zNotionEstimatePayload
|
||||
|
||||
@ -953,9 +1010,9 @@ export const zDeleteDatasetsByDatasetIdPath = z.object({
|
||||
})
|
||||
|
||||
/**
|
||||
* Success
|
||||
* Dataset deleted successfully
|
||||
*/
|
||||
export const zDeleteDatasetsByDatasetIdResponse = z.record(z.string(), z.unknown())
|
||||
export const zDeleteDatasetsByDatasetIdResponse = z.record(z.string(), z.never())
|
||||
|
||||
export const zGetDatasetsByDatasetIdPath = z.object({
|
||||
dataset_id: z.string(),
|
||||
@ -985,7 +1042,7 @@ export const zPostDatasetsByDatasetIdApiKeysByStatusPath = z.object({
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
export const zPostDatasetsByDatasetIdApiKeysByStatusResponse = z.record(z.string(), z.unknown())
|
||||
export const zPostDatasetsByDatasetIdApiKeysByStatusResponse = zSimpleResultResponse
|
||||
|
||||
export const zGetDatasetsByDatasetIdAutoDisableLogsPath = z.object({
|
||||
dataset_id: z.string(),
|
||||
@ -1027,9 +1084,9 @@ export const zDeleteDatasetsByDatasetIdDocumentsPath = z.object({
|
||||
})
|
||||
|
||||
/**
|
||||
* Success
|
||||
* Documents deleted successfully
|
||||
*/
|
||||
export const zDeleteDatasetsByDatasetIdDocumentsResponse = z.record(z.string(), z.unknown())
|
||||
export const zDeleteDatasetsByDatasetIdDocumentsResponse = z.record(z.string(), z.never())
|
||||
|
||||
export const zGetDatasetsByDatasetIdDocumentsPath = z.object({
|
||||
dataset_id: z.string(),
|
||||
@ -1083,10 +1140,7 @@ export const zPostDatasetsByDatasetIdDocumentsGenerateSummaryPath = z.object({
|
||||
/**
|
||||
* Summary generation started successfully
|
||||
*/
|
||||
export const zPostDatasetsByDatasetIdDocumentsGenerateSummaryResponse = z.record(
|
||||
z.string(),
|
||||
z.unknown(),
|
||||
)
|
||||
export const zPostDatasetsByDatasetIdDocumentsGenerateSummaryResponse = zSimpleResultResponse
|
||||
|
||||
export const zPostDatasetsByDatasetIdDocumentsMetadataBody = zMetadataOperationData
|
||||
|
||||
@ -1097,7 +1151,7 @@ export const zPostDatasetsByDatasetIdDocumentsMetadataPath = z.object({
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
export const zPostDatasetsByDatasetIdDocumentsMetadataResponse = z.record(z.string(), z.unknown())
|
||||
export const zPostDatasetsByDatasetIdDocumentsMetadataResponse = zSimpleResultResponse
|
||||
|
||||
export const zPatchDatasetsByDatasetIdDocumentsStatusByActionBatchPath = z.object({
|
||||
action: z.string(),
|
||||
@ -1107,10 +1161,7 @@ export const zPatchDatasetsByDatasetIdDocumentsStatusByActionBatchPath = z.objec
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
export const zPatchDatasetsByDatasetIdDocumentsStatusByActionBatchResponse = z.record(
|
||||
z.string(),
|
||||
z.unknown(),
|
||||
)
|
||||
export const zPatchDatasetsByDatasetIdDocumentsStatusByActionBatchResponse = zSimpleResultResponse
|
||||
|
||||
export const zDeleteDatasetsByDatasetIdDocumentsByDocumentIdPath = z.object({
|
||||
dataset_id: z.string(),
|
||||
@ -1118,11 +1169,11 @@ export const zDeleteDatasetsByDatasetIdDocumentsByDocumentIdPath = z.object({
|
||||
})
|
||||
|
||||
/**
|
||||
* Success
|
||||
* Document deleted successfully
|
||||
*/
|
||||
export const zDeleteDatasetsByDatasetIdDocumentsByDocumentIdResponse = z.record(
|
||||
z.string(),
|
||||
z.unknown(),
|
||||
z.never(),
|
||||
)
|
||||
|
||||
export const zGetDatasetsByDatasetIdDocumentsByDocumentIdPath = z.object({
|
||||
@ -1148,12 +1199,9 @@ export const zGetDatasetsByDatasetIdDocumentsByDocumentIdDownloadPath = z.object
|
||||
})
|
||||
|
||||
/**
|
||||
* Success
|
||||
* Download URL generated successfully
|
||||
*/
|
||||
export const zGetDatasetsByDatasetIdDocumentsByDocumentIdDownloadResponse = z.record(
|
||||
z.string(),
|
||||
z.unknown(),
|
||||
)
|
||||
export const zGetDatasetsByDatasetIdDocumentsByDocumentIdDownloadResponse = zUrlResponse
|
||||
|
||||
export const zGetDatasetsByDatasetIdDocumentsByDocumentIdIndexingEstimatePath = z.object({
|
||||
dataset_id: z.string(),
|
||||
@ -1192,10 +1240,8 @@ export const zPutDatasetsByDatasetIdDocumentsByDocumentIdMetadataPath = z.object
|
||||
/**
|
||||
* Document metadata updated successfully
|
||||
*/
|
||||
export const zPutDatasetsByDatasetIdDocumentsByDocumentIdMetadataResponse = z.record(
|
||||
z.string(),
|
||||
z.unknown(),
|
||||
)
|
||||
export const zPutDatasetsByDatasetIdDocumentsByDocumentIdMetadataResponse
|
||||
= zSimpleResultMessageResponse
|
||||
|
||||
export const zGetDatasetsByDatasetIdDocumentsByDocumentIdNotionSyncPath = z.object({
|
||||
dataset_id: z.string(),
|
||||
@ -1205,10 +1251,7 @@ export const zGetDatasetsByDatasetIdDocumentsByDocumentIdNotionSyncPath = z.obje
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
export const zGetDatasetsByDatasetIdDocumentsByDocumentIdNotionSyncResponse = z.record(
|
||||
z.string(),
|
||||
z.unknown(),
|
||||
)
|
||||
export const zGetDatasetsByDatasetIdDocumentsByDocumentIdNotionSyncResponse = zSimpleResultResponse
|
||||
|
||||
export const zGetDatasetsByDatasetIdDocumentsByDocumentIdPipelineExecutionLogPath = z.object({
|
||||
dataset_id: z.string(),
|
||||
@ -1229,11 +1272,11 @@ export const zPatchDatasetsByDatasetIdDocumentsByDocumentIdProcessingPausePath =
|
||||
})
|
||||
|
||||
/**
|
||||
* Success
|
||||
* Document paused successfully
|
||||
*/
|
||||
export const zPatchDatasetsByDatasetIdDocumentsByDocumentIdProcessingPauseResponse = z.record(
|
||||
z.string(),
|
||||
z.unknown(),
|
||||
z.never(),
|
||||
)
|
||||
|
||||
export const zPatchDatasetsByDatasetIdDocumentsByDocumentIdProcessingResumePath = z.object({
|
||||
@ -1242,11 +1285,11 @@ export const zPatchDatasetsByDatasetIdDocumentsByDocumentIdProcessingResumePath
|
||||
})
|
||||
|
||||
/**
|
||||
* Success
|
||||
* Document resumed successfully
|
||||
*/
|
||||
export const zPatchDatasetsByDatasetIdDocumentsByDocumentIdProcessingResumeResponse = z.record(
|
||||
z.string(),
|
||||
z.unknown(),
|
||||
z.never(),
|
||||
)
|
||||
|
||||
export const zPatchDatasetsByDatasetIdDocumentsByDocumentIdProcessingByActionPath = z.object({
|
||||
@ -1258,10 +1301,8 @@ export const zPatchDatasetsByDatasetIdDocumentsByDocumentIdProcessingByActionPat
|
||||
/**
|
||||
* Processing status updated successfully
|
||||
*/
|
||||
export const zPatchDatasetsByDatasetIdDocumentsByDocumentIdProcessingByActionResponse = z.record(
|
||||
z.string(),
|
||||
z.unknown(),
|
||||
)
|
||||
export const zPatchDatasetsByDatasetIdDocumentsByDocumentIdProcessingByActionResponse
|
||||
= zSimpleResultResponse
|
||||
|
||||
export const zPostDatasetsByDatasetIdDocumentsByDocumentIdRenameBody = zDocumentRenamePayload
|
||||
|
||||
@ -1299,10 +1340,8 @@ export const zPatchDatasetsByDatasetIdDocumentsByDocumentIdSegmentByActionPath =
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
export const zPatchDatasetsByDatasetIdDocumentsByDocumentIdSegmentByActionResponse = z.record(
|
||||
z.string(),
|
||||
z.unknown(),
|
||||
)
|
||||
export const zPatchDatasetsByDatasetIdDocumentsByDocumentIdSegmentByActionResponse
|
||||
= zSimpleResultResponse
|
||||
|
||||
export const zDeleteDatasetsByDatasetIdDocumentsByDocumentIdSegmentsPath = z.object({
|
||||
dataset_id: z.string(),
|
||||
@ -1310,11 +1349,11 @@ export const zDeleteDatasetsByDatasetIdDocumentsByDocumentIdSegmentsPath = z.obj
|
||||
})
|
||||
|
||||
/**
|
||||
* Success
|
||||
* Segments deleted successfully
|
||||
*/
|
||||
export const zDeleteDatasetsByDatasetIdDocumentsByDocumentIdSegmentsResponse = z.record(
|
||||
z.string(),
|
||||
z.unknown(),
|
||||
z.never(),
|
||||
)
|
||||
|
||||
export const zGetDatasetsByDatasetIdDocumentsByDocumentIdSegmentsPath = z.object({
|
||||
@ -1336,12 +1375,10 @@ export const zGetDatasetsByDatasetIdDocumentsByDocumentIdSegmentsBatchImportPath
|
||||
})
|
||||
|
||||
/**
|
||||
* Success
|
||||
* Batch import status
|
||||
*/
|
||||
export const zGetDatasetsByDatasetIdDocumentsByDocumentIdSegmentsBatchImportResponse = z.record(
|
||||
z.string(),
|
||||
z.unknown(),
|
||||
)
|
||||
export const zGetDatasetsByDatasetIdDocumentsByDocumentIdSegmentsBatchImportResponse
|
||||
= zSegmentBatchImportStatusResponse
|
||||
|
||||
export const zPostDatasetsByDatasetIdDocumentsByDocumentIdSegmentsBatchImportBody
|
||||
= zBatchImportPayload
|
||||
@ -1352,12 +1389,10 @@ export const zPostDatasetsByDatasetIdDocumentsByDocumentIdSegmentsBatchImportPat
|
||||
})
|
||||
|
||||
/**
|
||||
* Success
|
||||
* Batch import started
|
||||
*/
|
||||
export const zPostDatasetsByDatasetIdDocumentsByDocumentIdSegmentsBatchImportResponse = z.record(
|
||||
z.string(),
|
||||
z.unknown(),
|
||||
)
|
||||
export const zPostDatasetsByDatasetIdDocumentsByDocumentIdSegmentsBatchImportResponse
|
||||
= zSegmentBatchImportStatusResponse
|
||||
|
||||
export const zDeleteDatasetsByDatasetIdDocumentsByDocumentIdSegmentsBySegmentIdPath = z.object({
|
||||
dataset_id: z.string(),
|
||||
@ -1366,11 +1401,11 @@ export const zDeleteDatasetsByDatasetIdDocumentsByDocumentIdSegmentsBySegmentIdP
|
||||
})
|
||||
|
||||
/**
|
||||
* Success
|
||||
* Segment deleted successfully
|
||||
*/
|
||||
export const zDeleteDatasetsByDatasetIdDocumentsByDocumentIdSegmentsBySegmentIdResponse = z.record(
|
||||
z.string(),
|
||||
z.unknown(),
|
||||
z.never(),
|
||||
)
|
||||
|
||||
export const zPatchDatasetsByDatasetIdDocumentsByDocumentIdSegmentsBySegmentIdBody
|
||||
@ -1441,10 +1476,10 @@ export const zDeleteDatasetsByDatasetIdDocumentsByDocumentIdSegmentsBySegmentIdC
|
||||
})
|
||||
|
||||
/**
|
||||
* Success
|
||||
* Child chunk deleted successfully
|
||||
*/
|
||||
export const zDeleteDatasetsByDatasetIdDocumentsByDocumentIdSegmentsBySegmentIdChildChunksByChildChunkIdResponse
|
||||
= z.record(z.string(), z.unknown())
|
||||
= z.record(z.string(), z.never())
|
||||
|
||||
export const zPatchDatasetsByDatasetIdDocumentsByDocumentIdSegmentsBySegmentIdChildChunksByChildChunkIdBody
|
||||
= zChildChunkUpdatePayload
|
||||
@ -1484,10 +1519,7 @@ export const zGetDatasetsByDatasetIdDocumentsByDocumentIdWebsiteSyncPath = z.obj
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
export const zGetDatasetsByDatasetIdDocumentsByDocumentIdWebsiteSyncResponse = z.record(
|
||||
z.string(),
|
||||
z.unknown(),
|
||||
)
|
||||
export const zGetDatasetsByDatasetIdDocumentsByDocumentIdWebsiteSyncResponse = zSimpleResultResponse
|
||||
|
||||
export const zGetDatasetsByDatasetIdErrorDocsPath = z.object({
|
||||
dataset_id: z.string(),
|
||||
@ -1557,10 +1589,7 @@ export const zPostDatasetsByDatasetIdMetadataBuiltInByActionPath = z.object({
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
export const zPostDatasetsByDatasetIdMetadataBuiltInByActionResponse = z.record(
|
||||
z.string(),
|
||||
z.unknown(),
|
||||
)
|
||||
export const zPostDatasetsByDatasetIdMetadataBuiltInByActionResponse = zSimpleResultResponse
|
||||
|
||||
export const zDeleteDatasetsByDatasetIdMetadataByMetadataIdPath = z.object({
|
||||
dataset_id: z.string(),
|
||||
@ -1568,11 +1597,11 @@ export const zDeleteDatasetsByDatasetIdMetadataByMetadataIdPath = z.object({
|
||||
})
|
||||
|
||||
/**
|
||||
* Success
|
||||
* Metadata deleted successfully
|
||||
*/
|
||||
export const zDeleteDatasetsByDatasetIdMetadataByMetadataIdResponse = z.record(
|
||||
z.string(),
|
||||
z.unknown(),
|
||||
z.never(),
|
||||
)
|
||||
|
||||
export const zPatchDatasetsByDatasetIdMetadataByMetadataIdBody = zMetadataUpdatePayload
|
||||
@ -1597,7 +1626,7 @@ export const zGetDatasetsByDatasetIdNotionSyncPath = z.object({
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
export const zGetDatasetsByDatasetIdNotionSyncResponse = z.record(z.string(), z.unknown())
|
||||
export const zGetDatasetsByDatasetIdNotionSyncResponse = zSimpleResultResponse
|
||||
|
||||
export const zGetDatasetsByDatasetIdPermissionPartUsersPath = z.object({
|
||||
dataset_id: z.string(),
|
||||
@ -1633,9 +1662,9 @@ export const zPostDatasetsByDatasetIdRetryPath = z.object({
|
||||
})
|
||||
|
||||
/**
|
||||
* Success
|
||||
* Documents retry started successfully
|
||||
*/
|
||||
export const zPostDatasetsByDatasetIdRetryResponse = z.record(z.string(), z.unknown())
|
||||
export const zPostDatasetsByDatasetIdRetryResponse = z.record(z.string(), z.never())
|
||||
|
||||
export const zGetDatasetsByDatasetIdUseCheckPath = z.object({
|
||||
dataset_id: z.string(),
|
||||
@ -1644,7 +1673,7 @@ export const zGetDatasetsByDatasetIdUseCheckPath = z.object({
|
||||
/**
|
||||
* Dataset use status retrieved successfully
|
||||
*/
|
||||
export const zGetDatasetsByDatasetIdUseCheckResponse = z.record(z.string(), z.unknown())
|
||||
export const zGetDatasetsByDatasetIdUseCheckResponse = zUsageCheckResponse
|
||||
|
||||
export const zGetDatasetsByResourceIdApiKeysPath = z.object({
|
||||
resource_id: z.string(),
|
||||
|
||||
@ -10,16 +10,8 @@ import {
|
||||
zPostEmailCodeLoginValidityResponse,
|
||||
} from './zod.gen'
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const post = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'POST',
|
||||
operationId: 'postEmailCodeLoginValidity',
|
||||
@ -33,16 +25,8 @@ export const validity = {
|
||||
post,
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const post2 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'POST',
|
||||
operationId: 'postEmailCodeLogin',
|
||||
|
||||
@ -9,6 +9,11 @@ export type EmailPayload = {
|
||||
language?: string | null
|
||||
}
|
||||
|
||||
export type SimpleResultDataResponse = {
|
||||
data: string
|
||||
result: string
|
||||
}
|
||||
|
||||
export type EmailCodeLoginPayload = {
|
||||
code: string
|
||||
email: string
|
||||
@ -17,6 +22,10 @@ export type EmailCodeLoginPayload = {
|
||||
token: string
|
||||
}
|
||||
|
||||
export type SimpleResultResponse = {
|
||||
result: string
|
||||
}
|
||||
|
||||
export type PostEmailCodeLoginData = {
|
||||
body: EmailPayload
|
||||
path?: never
|
||||
@ -25,9 +34,7 @@ export type PostEmailCodeLoginData = {
|
||||
}
|
||||
|
||||
export type PostEmailCodeLoginResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SimpleResultDataResponse
|
||||
}
|
||||
|
||||
export type PostEmailCodeLoginResponse
|
||||
@ -41,9 +48,7 @@ export type PostEmailCodeLoginValidityData = {
|
||||
}
|
||||
|
||||
export type PostEmailCodeLoginValidityResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SimpleResultResponse
|
||||
}
|
||||
|
||||
export type PostEmailCodeLoginValidityResponse
|
||||
|
||||
@ -10,6 +10,14 @@ export const zEmailPayload = z.object({
|
||||
language: z.string().nullish(),
|
||||
})
|
||||
|
||||
/**
|
||||
* SimpleResultDataResponse
|
||||
*/
|
||||
export const zSimpleResultDataResponse = z.object({
|
||||
data: z.string(),
|
||||
result: z.string(),
|
||||
})
|
||||
|
||||
/**
|
||||
* EmailCodeLoginPayload
|
||||
*/
|
||||
@ -21,16 +29,23 @@ export const zEmailCodeLoginPayload = z.object({
|
||||
token: z.string(),
|
||||
})
|
||||
|
||||
/**
|
||||
* SimpleResultResponse
|
||||
*/
|
||||
export const zSimpleResultResponse = z.object({
|
||||
result: z.string(),
|
||||
})
|
||||
|
||||
export const zPostEmailCodeLoginBody = zEmailPayload
|
||||
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
export const zPostEmailCodeLoginResponse = z.record(z.string(), z.unknown())
|
||||
export const zPostEmailCodeLoginResponse = zSimpleResultDataResponse
|
||||
|
||||
export const zPostEmailCodeLoginValidityBody = zEmailCodeLoginPayload
|
||||
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
export const zPostEmailCodeLoginValidityResponse = z.record(z.string(), z.unknown())
|
||||
export const zPostEmailCodeLoginValidityResponse = zSimpleResultResponse
|
||||
|
||||
@ -4,6 +4,17 @@ export type ClientOptions = {
|
||||
baseUrl: `${string}://${string}/console/api` | (string & {})
|
||||
}
|
||||
|
||||
export type SimpleResultDataResponse = {
|
||||
data: string
|
||||
result: string
|
||||
}
|
||||
|
||||
export type VerificationTokenResponse = {
|
||||
email: string
|
||||
is_valid: boolean
|
||||
token: string
|
||||
}
|
||||
|
||||
export type PostEmailRegisterData = {
|
||||
body?: never
|
||||
path?: never
|
||||
@ -27,9 +38,7 @@ export type PostEmailRegisterSendEmailData = {
|
||||
}
|
||||
|
||||
export type PostEmailRegisterSendEmailResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SimpleResultDataResponse
|
||||
}
|
||||
|
||||
export type PostEmailRegisterSendEmailResponse
|
||||
@ -43,9 +52,7 @@ export type PostEmailRegisterValidityData = {
|
||||
}
|
||||
|
||||
export type PostEmailRegisterValidityResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: VerificationTokenResponse
|
||||
}
|
||||
|
||||
export type PostEmailRegisterValidityResponse
|
||||
|
||||
@ -2,6 +2,23 @@
|
||||
|
||||
import * as z from 'zod'
|
||||
|
||||
/**
|
||||
* SimpleResultDataResponse
|
||||
*/
|
||||
export const zSimpleResultDataResponse = z.object({
|
||||
data: z.string(),
|
||||
result: z.string(),
|
||||
})
|
||||
|
||||
/**
|
||||
* VerificationTokenResponse
|
||||
*/
|
||||
export const zVerificationTokenResponse = z.object({
|
||||
email: z.string(),
|
||||
is_valid: z.boolean(),
|
||||
token: z.string(),
|
||||
})
|
||||
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
@ -10,9 +27,9 @@ export const zPostEmailRegisterResponse = z.record(z.string(), z.unknown())
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
export const zPostEmailRegisterSendEmailResponse = z.record(z.string(), z.unknown())
|
||||
export const zPostEmailRegisterSendEmailResponse = zSimpleResultDataResponse
|
||||
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
export const zPostEmailRegisterValidityResponse = z.record(z.string(), z.unknown())
|
||||
export const zPostEmailRegisterValidityResponse = zVerificationTokenResponse
|
||||
|
||||
@ -8,16 +8,10 @@ import { zGetFeaturesResponse } from './zod.gen'
|
||||
* Get feature configuration for current tenant
|
||||
*
|
||||
* Get feature configuration for current tenant
|
||||
*
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const get = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Get feature configuration for current tenant\n\nGenerated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
description: 'Get feature configuration for current tenant',
|
||||
inputStructure: 'detailed',
|
||||
method: 'GET',
|
||||
operationId: 'getFeatures',
|
||||
|
||||
@ -4,10 +4,63 @@ export type ClientOptions = {
|
||||
baseUrl: `${string}://${string}/console/api` | (string & {})
|
||||
}
|
||||
|
||||
export type FeatureResponse = {
|
||||
features?: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
export type FeatureModel = {
|
||||
annotation_quota_limit: LimitationModel
|
||||
api_rate_limit: Quota
|
||||
apps: LimitationModel
|
||||
billing: BillingModel
|
||||
can_replace_logo: boolean
|
||||
dataset_operator_enabled: boolean
|
||||
docs_processing: string
|
||||
documents_upload_quota: LimitationModel
|
||||
education: EducationModel
|
||||
human_input_email_delivery_enabled: boolean
|
||||
is_allow_transfer_workspace: boolean
|
||||
knowledge_pipeline: KnowledgePipeline
|
||||
knowledge_rate_limit: number
|
||||
members: LimitationModel
|
||||
model_load_balancing_enabled: boolean
|
||||
next_credit_reset_date: number
|
||||
trigger_event: Quota
|
||||
vector_space: LimitationModel
|
||||
webapp_copyright_enabled: boolean
|
||||
workspace_members: LicenseLimitationModel
|
||||
}
|
||||
|
||||
export type LimitationModel = {
|
||||
limit: number
|
||||
size: number
|
||||
}
|
||||
|
||||
export type Quota = {
|
||||
limit: number
|
||||
reset_date: number
|
||||
usage: number
|
||||
}
|
||||
|
||||
export type BillingModel = {
|
||||
enabled: boolean
|
||||
subscription: SubscriptionModel
|
||||
}
|
||||
|
||||
export type EducationModel = {
|
||||
activated: boolean
|
||||
enabled: boolean
|
||||
}
|
||||
|
||||
export type KnowledgePipeline = {
|
||||
publish_enabled: boolean
|
||||
}
|
||||
|
||||
export type LicenseLimitationModel = {
|
||||
enabled: boolean
|
||||
limit: number
|
||||
size: number
|
||||
}
|
||||
|
||||
export type SubscriptionModel = {
|
||||
interval: string
|
||||
plan: string
|
||||
}
|
||||
|
||||
export type GetFeaturesData = {
|
||||
@ -18,7 +71,7 @@ export type GetFeaturesData = {
|
||||
}
|
||||
|
||||
export type GetFeaturesResponses = {
|
||||
200: FeatureResponse
|
||||
200: FeatureModel
|
||||
}
|
||||
|
||||
export type GetFeaturesResponse = GetFeaturesResponses[keyof GetFeaturesResponses]
|
||||
|
||||
@ -2,11 +2,94 @@
|
||||
|
||||
import * as z from 'zod'
|
||||
|
||||
export const zFeatureResponse = z.object({
|
||||
features: z.record(z.string(), z.unknown()).optional(),
|
||||
/**
|
||||
* LimitationModel
|
||||
*/
|
||||
export const zLimitationModel = z.object({
|
||||
limit: z.int().default(0),
|
||||
size: z.int().default(0),
|
||||
})
|
||||
|
||||
/**
|
||||
* Quota
|
||||
*/
|
||||
export const zQuota = z.object({
|
||||
limit: z.int().default(0),
|
||||
reset_date: z.int().default(-1),
|
||||
usage: z.int().default(0),
|
||||
})
|
||||
|
||||
/**
|
||||
* EducationModel
|
||||
*/
|
||||
export const zEducationModel = z.object({
|
||||
activated: z.boolean().default(false),
|
||||
enabled: z.boolean().default(false),
|
||||
})
|
||||
|
||||
/**
|
||||
* KnowledgePipeline
|
||||
*/
|
||||
export const zKnowledgePipeline = z.object({
|
||||
publish_enabled: z.boolean().default(false),
|
||||
})
|
||||
|
||||
/**
|
||||
* LicenseLimitationModel
|
||||
*
|
||||
* - enabled: whether this limit is enforced
|
||||
* - size: current usage count
|
||||
* - limit: maximum allowed count; 0 means unlimited
|
||||
*/
|
||||
export const zLicenseLimitationModel = z.object({
|
||||
enabled: z.boolean().default(false),
|
||||
limit: z.int().default(0),
|
||||
size: z.int().default(0),
|
||||
})
|
||||
|
||||
/**
|
||||
* SubscriptionModel
|
||||
*/
|
||||
export const zSubscriptionModel = z.object({
|
||||
interval: z.string().default(''),
|
||||
plan: z.string().default('sandbox'),
|
||||
})
|
||||
|
||||
/**
|
||||
* BillingModel
|
||||
*/
|
||||
export const zBillingModel = z.object({
|
||||
enabled: z.boolean().default(false),
|
||||
subscription: zSubscriptionModel,
|
||||
})
|
||||
|
||||
/**
|
||||
* FeatureModel
|
||||
*/
|
||||
export const zFeatureModel = z.object({
|
||||
annotation_quota_limit: zLimitationModel,
|
||||
api_rate_limit: zQuota,
|
||||
apps: zLimitationModel,
|
||||
billing: zBillingModel,
|
||||
can_replace_logo: z.boolean().default(false),
|
||||
dataset_operator_enabled: z.boolean().default(false),
|
||||
docs_processing: z.string().default('standard'),
|
||||
documents_upload_quota: zLimitationModel,
|
||||
education: zEducationModel,
|
||||
human_input_email_delivery_enabled: z.boolean().default(false),
|
||||
is_allow_transfer_workspace: z.boolean().default(true),
|
||||
knowledge_pipeline: zKnowledgePipeline,
|
||||
knowledge_rate_limit: z.int().default(10),
|
||||
members: zLimitationModel,
|
||||
model_load_balancing_enabled: z.boolean().default(false),
|
||||
next_credit_reset_date: z.int().default(0),
|
||||
trigger_event: zQuota,
|
||||
vector_space: zLimitationModel,
|
||||
webapp_copyright_enabled: z.boolean().default(false),
|
||||
workspace_members: zLicenseLimitationModel,
|
||||
})
|
||||
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
export const zGetFeaturesResponse = zFeatureResponse
|
||||
export const zGetFeaturesResponse = zFeatureModel
|
||||
|
||||
@ -11,16 +11,8 @@ import {
|
||||
zPostFilesUploadResponse,
|
||||
} from './zod.gen'
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const get = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'GET',
|
||||
operationId: 'getFilesSupportType',
|
||||
@ -59,16 +51,8 @@ export const upload = {
|
||||
post,
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const get3 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'GET',
|
||||
operationId: 'getFilesByFileIdPreview',
|
||||
|
||||
@ -4,6 +4,10 @@ export type ClientOptions = {
|
||||
baseUrl: `${string}://${string}/console/api` | (string & {})
|
||||
}
|
||||
|
||||
export type AllowedExtensionsResponse = {
|
||||
allowed_extensions: Array<string>
|
||||
}
|
||||
|
||||
export type UploadConfig = {
|
||||
attachment_image_file_size_limit?: number | null
|
||||
audio_file_size_limit: number
|
||||
@ -34,6 +38,10 @@ export type FileResponse = {
|
||||
user_id?: string | null
|
||||
}
|
||||
|
||||
export type TextContentResponse = {
|
||||
content: string
|
||||
}
|
||||
|
||||
export type GetFilesSupportTypeData = {
|
||||
body?: never
|
||||
path?: never
|
||||
@ -42,9 +50,7 @@ export type GetFilesSupportTypeData = {
|
||||
}
|
||||
|
||||
export type GetFilesSupportTypeResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: AllowedExtensionsResponse
|
||||
}
|
||||
|
||||
export type GetFilesSupportTypeResponse
|
||||
@ -86,9 +92,7 @@ export type GetFilesByFileIdPreviewData = {
|
||||
}
|
||||
|
||||
export type GetFilesByFileIdPreviewResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: TextContentResponse
|
||||
}
|
||||
|
||||
export type GetFilesByFileIdPreviewResponse
|
||||
|
||||
@ -2,6 +2,13 @@
|
||||
|
||||
import * as z from 'zod'
|
||||
|
||||
/**
|
||||
* AllowedExtensionsResponse
|
||||
*/
|
||||
export const zAllowedExtensionsResponse = z.object({
|
||||
allowed_extensions: z.array(z.string()),
|
||||
})
|
||||
|
||||
/**
|
||||
* UploadConfig
|
||||
*/
|
||||
@ -38,10 +45,17 @@ export const zFileResponse = z.object({
|
||||
user_id: z.string().nullish(),
|
||||
})
|
||||
|
||||
/**
|
||||
* TextContentResponse
|
||||
*/
|
||||
export const zTextContentResponse = z.object({
|
||||
content: z.string(),
|
||||
})
|
||||
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
export const zGetFilesSupportTypeResponse = z.record(z.string(), z.unknown())
|
||||
export const zGetFilesSupportTypeResponse = zAllowedExtensionsResponse
|
||||
|
||||
/**
|
||||
* Success
|
||||
@ -60,4 +74,4 @@ export const zGetFilesByFileIdPreviewPath = z.object({
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
export const zGetFilesByFileIdPreviewResponse = z.record(z.string(), z.unknown())
|
||||
export const zGetFilesByFileIdPreviewResponse = zTextContentResponse
|
||||
|
||||
@ -90,16 +90,8 @@ export const audioToText = {
|
||||
post,
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const post2 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'POST',
|
||||
operationId: 'postInstalledAppsByInstalledAppIdChatMessagesByTaskIdStop',
|
||||
@ -146,16 +138,8 @@ export const chatMessages = {
|
||||
byTaskId,
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const post4 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'POST',
|
||||
operationId: 'postInstalledAppsByInstalledAppIdCompletionMessagesByTaskIdStop',
|
||||
@ -230,16 +214,8 @@ export const name = {
|
||||
post: post6,
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const patch = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'PATCH',
|
||||
operationId: 'patchInstalledAppsByInstalledAppIdConversationsByCIdPin',
|
||||
@ -253,16 +229,8 @@ export const pin = {
|
||||
patch,
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const patch2 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'PATCH',
|
||||
operationId: 'patchInstalledAppsByInstalledAppIdConversationsByCIdUnpin',
|
||||
@ -276,20 +244,13 @@ export const unpin = {
|
||||
patch: patch2,
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const delete_ = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'DELETE',
|
||||
operationId: 'deleteInstalledAppsByInstalledAppIdConversationsByCId',
|
||||
path: '/installed-apps/{installed_app_id}/conversations/{c_id}',
|
||||
successStatus: 204,
|
||||
tags: ['console'],
|
||||
})
|
||||
.input(z.object({ params: zDeleteInstalledAppsByInstalledAppIdConversationsByCIdPath }))
|
||||
@ -331,16 +292,8 @@ export const conversations = {
|
||||
byCId,
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const post7 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'POST',
|
||||
operationId: 'postInstalledAppsByInstalledAppIdMessagesByMessageIdFeedbacks',
|
||||
@ -387,16 +340,8 @@ export const moreLikeThis = {
|
||||
get: get2,
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const get3 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'GET',
|
||||
operationId: 'getInstalledAppsByInstalledAppIdMessagesByMessageIdSuggestedQuestions',
|
||||
@ -501,20 +446,13 @@ export const parameters = {
|
||||
get: get6,
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const delete2 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'DELETE',
|
||||
operationId: 'deleteInstalledAppsByInstalledAppIdSavedMessagesByMessageId',
|
||||
path: '/installed-apps/{installed_app_id}/saved-messages/{message_id}',
|
||||
successStatus: 204,
|
||||
tags: ['console'],
|
||||
})
|
||||
.input(z.object({ params: zDeleteInstalledAppsByInstalledAppIdSavedMessagesByMessageIdPath }))
|
||||
@ -548,16 +486,8 @@ export const get7 = oc
|
||||
)
|
||||
.output(zGetInstalledAppsByInstalledAppIdSavedMessagesResponse)
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const post8 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'POST',
|
||||
operationId: 'postInstalledAppsByInstalledAppIdSavedMessages',
|
||||
@ -639,16 +569,9 @@ export const run = {
|
||||
|
||||
/**
|
||||
* Stop workflow task
|
||||
*
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const post11 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'POST',
|
||||
operationId: 'postInstalledAppsByInstalledAppIdWorkflowsTasksByTaskIdStop',
|
||||
@ -676,20 +599,13 @@ export const workflows = {
|
||||
tasks,
|
||||
}
|
||||
|
||||
/**
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const delete3 = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'DELETE',
|
||||
operationId: 'deleteInstalledAppsByInstalledAppId',
|
||||
path: '/installed-apps/{installed_app_id}',
|
||||
successStatus: 204,
|
||||
tags: ['console'],
|
||||
})
|
||||
.input(z.object({ params: zDeleteInstalledAppsByInstalledAppIdPath }))
|
||||
|
||||
@ -8,6 +8,15 @@ export type InstalledAppListResponse = {
|
||||
installed_apps: Array<InstalledAppResponse>
|
||||
}
|
||||
|
||||
export type SimpleMessageResponse = {
|
||||
message: string
|
||||
}
|
||||
|
||||
export type SimpleResultMessageResponse = {
|
||||
message: string
|
||||
result: string
|
||||
}
|
||||
|
||||
export type ChatMessagePayload = {
|
||||
conversation_id?: string | null
|
||||
files?: Array<unknown> | null
|
||||
@ -23,6 +32,10 @@ export type ChatMessagePayload = {
|
||||
retriever_from?: string
|
||||
}
|
||||
|
||||
export type SimpleResultResponse = {
|
||||
result: string
|
||||
}
|
||||
|
||||
export type CompletionMessageExplorePayload = {
|
||||
files?: Array<{
|
||||
[key: string]: unknown
|
||||
@ -40,12 +53,20 @@ export type ConversationRenamePayload = {
|
||||
name?: string | null
|
||||
}
|
||||
|
||||
export type ResultResponse = {
|
||||
result: string
|
||||
}
|
||||
|
||||
export type MessageFeedbackPayload = {
|
||||
content?: string | null
|
||||
message_id: string
|
||||
rating?: 'dislike' | 'like' | null
|
||||
}
|
||||
|
||||
export type SuggestedQuestionsResponse = {
|
||||
data: Array<string>
|
||||
}
|
||||
|
||||
export type SavedMessageCreatePayload = {
|
||||
message_id: string
|
||||
}
|
||||
@ -107,9 +128,7 @@ export type PostInstalledAppsData = {
|
||||
}
|
||||
|
||||
export type PostInstalledAppsResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SimpleMessageResponse
|
||||
}
|
||||
|
||||
export type PostInstalledAppsResponse = PostInstalledAppsResponses[keyof PostInstalledAppsResponses]
|
||||
@ -124,8 +143,8 @@ export type DeleteInstalledAppsByInstalledAppIdData = {
|
||||
}
|
||||
|
||||
export type DeleteInstalledAppsByInstalledAppIdResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
204: {
|
||||
[key: string]: never
|
||||
}
|
||||
}
|
||||
|
||||
@ -142,9 +161,7 @@ export type PatchInstalledAppsByInstalledAppIdData = {
|
||||
}
|
||||
|
||||
export type PatchInstalledAppsByInstalledAppIdResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SimpleResultMessageResponse
|
||||
}
|
||||
|
||||
export type PatchInstalledAppsByInstalledAppIdResponse
|
||||
@ -197,9 +214,7 @@ export type PostInstalledAppsByInstalledAppIdChatMessagesByTaskIdStopData = {
|
||||
}
|
||||
|
||||
export type PostInstalledAppsByInstalledAppIdChatMessagesByTaskIdStopResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SimpleResultResponse
|
||||
}
|
||||
|
||||
export type PostInstalledAppsByInstalledAppIdChatMessagesByTaskIdStopResponse
|
||||
@ -234,9 +249,7 @@ export type PostInstalledAppsByInstalledAppIdCompletionMessagesByTaskIdStopData
|
||||
}
|
||||
|
||||
export type PostInstalledAppsByInstalledAppIdCompletionMessagesByTaskIdStopResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SimpleResultResponse
|
||||
}
|
||||
|
||||
export type PostInstalledAppsByInstalledAppIdCompletionMessagesByTaskIdStopResponse
|
||||
@ -275,8 +288,8 @@ export type DeleteInstalledAppsByInstalledAppIdConversationsByCIdData = {
|
||||
}
|
||||
|
||||
export type DeleteInstalledAppsByInstalledAppIdConversationsByCIdResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
204: {
|
||||
[key: string]: never
|
||||
}
|
||||
}
|
||||
|
||||
@ -313,9 +326,7 @@ export type PatchInstalledAppsByInstalledAppIdConversationsByCIdPinData = {
|
||||
}
|
||||
|
||||
export type PatchInstalledAppsByInstalledAppIdConversationsByCIdPinResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: ResultResponse
|
||||
}
|
||||
|
||||
export type PatchInstalledAppsByInstalledAppIdConversationsByCIdPinResponse
|
||||
@ -332,9 +343,7 @@ export type PatchInstalledAppsByInstalledAppIdConversationsByCIdUnpinData = {
|
||||
}
|
||||
|
||||
export type PatchInstalledAppsByInstalledAppIdConversationsByCIdUnpinResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: ResultResponse
|
||||
}
|
||||
|
||||
export type PatchInstalledAppsByInstalledAppIdConversationsByCIdUnpinResponse
|
||||
@ -373,9 +382,7 @@ export type PostInstalledAppsByInstalledAppIdMessagesByMessageIdFeedbacksData =
|
||||
}
|
||||
|
||||
export type PostInstalledAppsByInstalledAppIdMessagesByMessageIdFeedbacksResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: ResultResponse
|
||||
}
|
||||
|
||||
export type PostInstalledAppsByInstalledAppIdMessagesByMessageIdFeedbacksResponse
|
||||
@ -413,9 +420,7 @@ export type GetInstalledAppsByInstalledAppIdMessagesByMessageIdSuggestedQuestion
|
||||
}
|
||||
|
||||
export type GetInstalledAppsByInstalledAppIdMessagesByMessageIdSuggestedQuestionsResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SuggestedQuestionsResponse
|
||||
}
|
||||
|
||||
export type GetInstalledAppsByInstalledAppIdMessagesByMessageIdSuggestedQuestionsResponse
|
||||
@ -488,9 +493,7 @@ export type PostInstalledAppsByInstalledAppIdSavedMessagesData = {
|
||||
}
|
||||
|
||||
export type PostInstalledAppsByInstalledAppIdSavedMessagesResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: ResultResponse
|
||||
}
|
||||
|
||||
export type PostInstalledAppsByInstalledAppIdSavedMessagesResponse
|
||||
@ -507,8 +510,8 @@ export type DeleteInstalledAppsByInstalledAppIdSavedMessagesByMessageIdData = {
|
||||
}
|
||||
|
||||
export type DeleteInstalledAppsByInstalledAppIdSavedMessagesByMessageIdResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
204: {
|
||||
[key: string]: never
|
||||
}
|
||||
}
|
||||
|
||||
@ -562,9 +565,7 @@ export type PostInstalledAppsByInstalledAppIdWorkflowsTasksByTaskIdStopData = {
|
||||
}
|
||||
|
||||
export type PostInstalledAppsByInstalledAppIdWorkflowsTasksByTaskIdStopResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SimpleResultResponse
|
||||
}
|
||||
|
||||
export type PostInstalledAppsByInstalledAppIdWorkflowsTasksByTaskIdStopResponse
|
||||
|
||||
@ -2,6 +2,21 @@
|
||||
|
||||
import * as z from 'zod'
|
||||
|
||||
/**
|
||||
* SimpleMessageResponse
|
||||
*/
|
||||
export const zSimpleMessageResponse = z.object({
|
||||
message: z.string(),
|
||||
})
|
||||
|
||||
/**
|
||||
* SimpleResultMessageResponse
|
||||
*/
|
||||
export const zSimpleResultMessageResponse = z.object({
|
||||
message: z.string(),
|
||||
result: z.string(),
|
||||
})
|
||||
|
||||
/**
|
||||
* ChatMessagePayload
|
||||
*/
|
||||
@ -16,6 +31,13 @@ export const zChatMessagePayload = z.object({
|
||||
retriever_from: z.string().optional().default('dev'),
|
||||
})
|
||||
|
||||
/**
|
||||
* SimpleResultResponse
|
||||
*/
|
||||
export const zSimpleResultResponse = z.object({
|
||||
result: z.string(),
|
||||
})
|
||||
|
||||
/**
|
||||
* CompletionMessageExplorePayload
|
||||
*/
|
||||
@ -35,6 +57,13 @@ export const zConversationRenamePayload = z.object({
|
||||
name: z.string().nullish(),
|
||||
})
|
||||
|
||||
/**
|
||||
* ResultResponse
|
||||
*/
|
||||
export const zResultResponse = z.object({
|
||||
result: z.string(),
|
||||
})
|
||||
|
||||
/**
|
||||
* MessageFeedbackPayload
|
||||
*/
|
||||
@ -44,6 +73,13 @@ export const zMessageFeedbackPayload = z.object({
|
||||
rating: z.enum(['dislike', 'like']).nullish(),
|
||||
})
|
||||
|
||||
/**
|
||||
* SuggestedQuestionsResponse
|
||||
*/
|
||||
export const zSuggestedQuestionsResponse = z.object({
|
||||
data: z.array(z.string()),
|
||||
})
|
||||
|
||||
/**
|
||||
* SavedMessageCreatePayload
|
||||
*/
|
||||
@ -110,16 +146,16 @@ export const zGetInstalledAppsResponse = zInstalledAppListResponse
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
export const zPostInstalledAppsResponse = z.record(z.string(), z.unknown())
|
||||
export const zPostInstalledAppsResponse = zSimpleMessageResponse
|
||||
|
||||
export const zDeleteInstalledAppsByInstalledAppIdPath = z.object({
|
||||
installed_app_id: z.string(),
|
||||
})
|
||||
|
||||
/**
|
||||
* Success
|
||||
* App uninstalled successfully
|
||||
*/
|
||||
export const zDeleteInstalledAppsByInstalledAppIdResponse = z.record(z.string(), z.unknown())
|
||||
export const zDeleteInstalledAppsByInstalledAppIdResponse = z.record(z.string(), z.never())
|
||||
|
||||
export const zPatchInstalledAppsByInstalledAppIdPath = z.object({
|
||||
installed_app_id: z.string(),
|
||||
@ -128,7 +164,7 @@ export const zPatchInstalledAppsByInstalledAppIdPath = z.object({
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
export const zPatchInstalledAppsByInstalledAppIdResponse = z.record(z.string(), z.unknown())
|
||||
export const zPatchInstalledAppsByInstalledAppIdResponse = zSimpleResultMessageResponse
|
||||
|
||||
export const zPostInstalledAppsByInstalledAppIdAudioToTextPath = z.object({
|
||||
installed_app_id: z.string(),
|
||||
@ -164,10 +200,8 @@ export const zPostInstalledAppsByInstalledAppIdChatMessagesByTaskIdStopPath = z.
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
export const zPostInstalledAppsByInstalledAppIdChatMessagesByTaskIdStopResponse = z.record(
|
||||
z.string(),
|
||||
z.unknown(),
|
||||
)
|
||||
export const zPostInstalledAppsByInstalledAppIdChatMessagesByTaskIdStopResponse
|
||||
= zSimpleResultResponse
|
||||
|
||||
export const zPostInstalledAppsByInstalledAppIdCompletionMessagesBody
|
||||
= zCompletionMessageExplorePayload
|
||||
@ -192,10 +226,8 @@ export const zPostInstalledAppsByInstalledAppIdCompletionMessagesByTaskIdStopPat
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
export const zPostInstalledAppsByInstalledAppIdCompletionMessagesByTaskIdStopResponse = z.record(
|
||||
z.string(),
|
||||
z.unknown(),
|
||||
)
|
||||
export const zPostInstalledAppsByInstalledAppIdCompletionMessagesByTaskIdStopResponse
|
||||
= zSimpleResultResponse
|
||||
|
||||
export const zGetInstalledAppsByInstalledAppIdConversationsPath = z.object({
|
||||
installed_app_id: z.string(),
|
||||
@ -221,11 +253,11 @@ export const zDeleteInstalledAppsByInstalledAppIdConversationsByCIdPath = z.obje
|
||||
})
|
||||
|
||||
/**
|
||||
* Success
|
||||
* Conversation deleted successfully
|
||||
*/
|
||||
export const zDeleteInstalledAppsByInstalledAppIdConversationsByCIdResponse = z.record(
|
||||
z.string(),
|
||||
z.unknown(),
|
||||
z.never(),
|
||||
)
|
||||
|
||||
export const zPostInstalledAppsByInstalledAppIdConversationsByCIdNameBody
|
||||
@ -252,10 +284,7 @@ export const zPatchInstalledAppsByInstalledAppIdConversationsByCIdPinPath = z.ob
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
export const zPatchInstalledAppsByInstalledAppIdConversationsByCIdPinResponse = z.record(
|
||||
z.string(),
|
||||
z.unknown(),
|
||||
)
|
||||
export const zPatchInstalledAppsByInstalledAppIdConversationsByCIdPinResponse = zResultResponse
|
||||
|
||||
export const zPatchInstalledAppsByInstalledAppIdConversationsByCIdUnpinPath = z.object({
|
||||
c_id: z.string(),
|
||||
@ -265,10 +294,7 @@ export const zPatchInstalledAppsByInstalledAppIdConversationsByCIdUnpinPath = z.
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
export const zPatchInstalledAppsByInstalledAppIdConversationsByCIdUnpinResponse = z.record(
|
||||
z.string(),
|
||||
z.unknown(),
|
||||
)
|
||||
export const zPatchInstalledAppsByInstalledAppIdConversationsByCIdUnpinResponse = zResultResponse
|
||||
|
||||
export const zGetInstalledAppsByInstalledAppIdMessagesPath = z.object({
|
||||
installed_app_id: z.string(),
|
||||
@ -294,12 +320,10 @@ export const zPostInstalledAppsByInstalledAppIdMessagesByMessageIdFeedbacksPath
|
||||
})
|
||||
|
||||
/**
|
||||
* Success
|
||||
* Feedback submitted successfully
|
||||
*/
|
||||
export const zPostInstalledAppsByInstalledAppIdMessagesByMessageIdFeedbacksResponse = z.record(
|
||||
z.string(),
|
||||
z.unknown(),
|
||||
)
|
||||
export const zPostInstalledAppsByInstalledAppIdMessagesByMessageIdFeedbacksResponse
|
||||
= zResultResponse
|
||||
|
||||
export const zGetInstalledAppsByInstalledAppIdMessagesByMessageIdMoreLikeThisPath = z.object({
|
||||
installed_app_id: z.string(),
|
||||
@ -327,7 +351,7 @@ export const zGetInstalledAppsByInstalledAppIdMessagesByMessageIdSuggestedQuesti
|
||||
* Success
|
||||
*/
|
||||
export const zGetInstalledAppsByInstalledAppIdMessagesByMessageIdSuggestedQuestionsResponse
|
||||
= z.record(z.string(), z.unknown())
|
||||
= zSuggestedQuestionsResponse
|
||||
|
||||
export const zGetInstalledAppsByInstalledAppIdMetaPath = z.object({
|
||||
installed_app_id: z.string(),
|
||||
@ -373,10 +397,7 @@ export const zPostInstalledAppsByInstalledAppIdSavedMessagesPath = z.object({
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
export const zPostInstalledAppsByInstalledAppIdSavedMessagesResponse = z.record(
|
||||
z.string(),
|
||||
z.unknown(),
|
||||
)
|
||||
export const zPostInstalledAppsByInstalledAppIdSavedMessagesResponse = zResultResponse
|
||||
|
||||
export const zDeleteInstalledAppsByInstalledAppIdSavedMessagesByMessageIdPath = z.object({
|
||||
installed_app_id: z.string(),
|
||||
@ -384,11 +405,11 @@ export const zDeleteInstalledAppsByInstalledAppIdSavedMessagesByMessageIdPath =
|
||||
})
|
||||
|
||||
/**
|
||||
* Success
|
||||
* Saved message deleted successfully
|
||||
*/
|
||||
export const zDeleteInstalledAppsByInstalledAppIdSavedMessagesByMessageIdResponse = z.record(
|
||||
z.string(),
|
||||
z.unknown(),
|
||||
z.never(),
|
||||
)
|
||||
|
||||
export const zPostInstalledAppsByInstalledAppIdTextToAudioBody = zTextToAudioPayload
|
||||
@ -427,7 +448,5 @@ export const zPostInstalledAppsByInstalledAppIdWorkflowsTasksByTaskIdStopPath =
|
||||
/**
|
||||
* Success
|
||||
*/
|
||||
export const zPostInstalledAppsByInstalledAppIdWorkflowsTasksByTaskIdStopResponse = z.record(
|
||||
z.string(),
|
||||
z.unknown(),
|
||||
)
|
||||
export const zPostInstalledAppsByInstalledAppIdWorkflowsTasksByTaskIdStopResponse
|
||||
= zSimpleResultResponse
|
||||
|
||||
@ -7,16 +7,9 @@ import { zPostLoginBody, zPostLoginResponse } from './zod.gen'
|
||||
|
||||
/**
|
||||
* Authenticate user and login
|
||||
*
|
||||
* Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
export const post = oc
|
||||
.route({
|
||||
deprecated: true,
|
||||
description:
|
||||
'Generated contract types may be inaccurate because backend OpenAPI annotations are incomplete. Do not migrate callers until the generated contract is accurate.',
|
||||
inputStructure: 'detailed',
|
||||
method: 'POST',
|
||||
operationId: 'postLogin',
|
||||
|
||||
@ -11,6 +11,11 @@ export type LoginPayload = {
|
||||
remember_me?: boolean
|
||||
}
|
||||
|
||||
export type SimpleResultOptionalDataResponse = {
|
||||
data?: string | null
|
||||
result: string
|
||||
}
|
||||
|
||||
export type PostLoginData = {
|
||||
body: LoginPayload
|
||||
path?: never
|
||||
@ -19,9 +24,7 @@ export type PostLoginData = {
|
||||
}
|
||||
|
||||
export type PostLoginResponses = {
|
||||
200: {
|
||||
[key: string]: unknown
|
||||
}
|
||||
200: SimpleResultOptionalDataResponse
|
||||
}
|
||||
|
||||
export type PostLoginResponse = PostLoginResponses[keyof PostLoginResponses]
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user