Bläddra i källkod

chore: docstring not match the function parameter (#17162)

tags/1.2.0
非法操作 7 månader sedan
förälder
incheckning
44f911a0a8
Inget konto är kopplat till bidragsgivarens mejladress
47 ändrade filer med 60 tillägg och 95 borttagningar
  1. 1
    1
      api/configs/feature/hosted_service/__init__.py
  2. 0
    2
      api/configs/remote_settings_sources/__init__.py
  3. 1
    0
      api/controllers/service_api/dataset/dataset.py
  4. 0
    1
      api/core/app/app_config/easy_ui_based_app/model_config/converter.py
  5. 5
    5
      api/core/app/apps/advanced_chat/app_generator.py
  6. 1
    1
      api/core/app/apps/agent_chat/app_generator.py
  7. 1
    0
      api/core/app/apps/base_app_runner.py
  8. 1
    1
      api/core/app/apps/chat/app_generator.py
  9. 1
    1
      api/core/app/apps/completion/app_generator.py
  10. 5
    5
      api/core/app/apps/workflow/app_generator.py
  11. 0
    3
      api/core/app/apps/workflow/app_runner.py
  12. 1
    1
      api/core/app/task_pipeline/message_cycle_manage.py
  13. 2
    2
      api/core/app/task_pipeline/workflow_cycle_manage.py
  14. 1
    1
      api/core/file/upload_file_parser.py
  15. 1
    0
      api/core/helper/code_executor/code_executor.py
  16. 1
    1
      api/core/helper/position_helper.py
  17. 1
    6
      api/core/helper/tool_parameter_cache.py
  18. 0
    1
      api/core/model_runtime/model_providers/__base/tts_model.py
  19. 0
    1
      api/core/rag/datasource/vdb/opengauss/opengauss.py
  20. 0
    1
      api/core/rag/datasource/vdb/oracle/oraclevector.py
  21. 0
    1
      api/core/rag/datasource/vdb/pgvector/pgvector.py
  22. 2
    4
      api/core/rag/datasource/vdb/tidb_on_qdrant/tidb_service.py
  23. 0
    1
      api/core/rag/datasource/vdb/weaviate/weaviate_vector.py
  24. 2
    3
      api/core/rag/extractor/firecrawl/firecrawl_web_extractor.py
  25. 0
    9
      api/core/rag/extractor/unstructured/unstructured_markdown_extractor.py
  26. 2
    2
      api/core/rag/retrieval/dataset_retrieval.py
  27. 1
    0
      api/core/rag/retrieval/router/multi_dataset_react_route.py
  28. 2
    3
      api/core/tools/__base/tool.py
  29. 2
    2
      api/core/tools/builtin_tool/provider.py
  30. 2
    5
      api/core/tools/builtin_tool/tool.py
  31. 0
    1
      api/core/tools/custom_tool/provider.py
  32. 1
    3
      api/core/tools/custom_tool/tool.py
  33. 1
    1
      api/core/tools/entities/tool_entities.py
  34. 0
    1
      api/core/tools/tool_engine.py
  35. 6
    4
      api/core/tools/tool_manager.py
  36. 1
    5
      api/core/tools/utils/model_invocation_utils.py
  37. 6
    0
      api/core/tools/utils/parser.py
  38. 0
    1
      api/core/tools/workflow_as_tool/provider.py
  39. 1
    3
      api/core/tools/workflow_as_tool/tool.py
  40. 0
    1
      api/core/workflow/utils/variable_template_parser.py
  41. 2
    0
      api/core/workflow/workflow_entry.py
  42. 1
    0
      api/services/app_dsl_service.py
  43. 0
    1
      api/services/tools/builtin_tools_manage_service.py
  44. 1
    0
      api/services/tools/tools_transform_service.py
  45. 3
    3
      api/services/tools/workflow_tools_manage_service.py
  46. 1
    5
      api/tasks/mail_account_deletion_task.py
  47. 0
    2
      api/tasks/ops_trace_task.py

+ 1
- 1
api/configs/feature/hosted_service/__init__.py Visa fil

@@ -1,6 +1,6 @@
from typing import Optional

from pydantic import Field, NonNegativeInt, computed_field
from pydantic import Field, NonNegativeInt
from pydantic_settings import BaseSettings



+ 0
- 2
api/configs/remote_settings_sources/__init__.py Visa fil

@@ -1,5 +1,3 @@
from typing import Optional

from pydantic import Field

from .apollo import ApolloSettingsSourceInfo

+ 1
- 0
api/controllers/service_api/dataset/dataset.py Visa fil

@@ -142,6 +142,7 @@ class DatasetApi(DatasetApiResource):
Deletes a dataset given its ID.

Args:
_: ignore
dataset_id (UUID): The ID of the dataset to be deleted.

Returns:

+ 0
- 1
api/core/app/app_config/easy_ui_based_app/model_config/converter.py Visa fil

@@ -16,7 +16,6 @@ class ModelConfigConverter:
"""
Convert app model config dict to entity.
:param app_config: app config
:param skip_check: skip check
:raises ProviderTokenNotInitError: provider token not init error
:return: app orchestration config entity
"""

+ 5
- 5
api/core/app/apps/advanced_chat/app_generator.py Visa fil

@@ -88,7 +88,7 @@ class AdvancedChatAppGenerator(MessageBasedAppGenerator):
:param user: account or end user
:param args: request args
:param invoke_from: invoke from source
:param stream: is stream
:param streaming: is stream
"""
if not args.get("query"):
raise ValueError("query is required")
@@ -181,10 +181,10 @@ class AdvancedChatAppGenerator(MessageBasedAppGenerator):

:param app_model: App
:param workflow: Workflow
:param node_id: the node id
:param user: account or end user
:param args: request args
:param invoke_from: invoke from source
:param stream: is stream
:param streaming: is streamed
"""
if not node_id:
raise ValueError("node_id is required")
@@ -238,10 +238,10 @@ class AdvancedChatAppGenerator(MessageBasedAppGenerator):

:param app_model: App
:param workflow: Workflow
:param node_id: the node id
:param user: account or end user
:param args: request args
:param invoke_from: invoke from source
:param stream: is stream
:param streaming: is stream
"""
if not node_id:
raise ValueError("node_id is required")

+ 1
- 1
api/core/app/apps/agent_chat/app_generator.py Visa fil

@@ -80,7 +80,7 @@ class AgentChatAppGenerator(MessageBasedAppGenerator):
:param user: account or end user
:param args: request args
:param invoke_from: invoke from source
:param stream: is stream
:param streaming: is stream
"""
if not streaming:
raise ValueError("Agent Chat App does not support blocking mode")

+ 1
- 0
api/core/app/apps/base_app_runner.py Visa fil

@@ -157,6 +157,7 @@ class AppRunner:
:param files: files
:param query: query
:param memory: memory
:param image_detail_config: the image quality config
:return:
"""
# get prompt without memory and context

+ 1
- 1
api/core/app/apps/chat/app_generator.py Visa fil

@@ -76,7 +76,7 @@ class ChatAppGenerator(MessageBasedAppGenerator):
:param user: account or end user
:param args: request args
:param invoke_from: invoke from source
:param stream: is stream
:param streaming: is stream
"""
if not args.get("query"):
raise ValueError("query is required")

+ 1
- 1
api/core/app/apps/completion/app_generator.py Visa fil

@@ -74,7 +74,7 @@ class CompletionAppGenerator(MessageBasedAppGenerator):
:param user: account or end user
:param args: request args
:param invoke_from: invoke from source
:param stream: is stream
:param streaming: is stream
"""
query = args["query"]
if not isinstance(query, str):

+ 5
- 5
api/core/app/apps/workflow/app_generator.py Visa fil

@@ -158,7 +158,7 @@ class WorkflowAppGenerator(BaseAppGenerator):
:param user: account or end user
:param application_generate_entity: application generate entity
:param invoke_from: invoke from source
:param stream: is stream
:param streaming: is stream
:param workflow_thread_pool_id: workflow thread pool id
"""
# init queue manager
@@ -208,10 +208,10 @@ class WorkflowAppGenerator(BaseAppGenerator):

:param app_model: App
:param workflow: Workflow
:param node_id: the node id
:param user: account or end user
:param args: request args
:param invoke_from: invoke from source
:param stream: is stream
:param streaming: is streamed
"""
if not node_id:
raise ValueError("node_id is required")
@@ -264,10 +264,10 @@ class WorkflowAppGenerator(BaseAppGenerator):

:param app_model: App
:param workflow: Workflow
:param node_id: the node id
:param user: account or end user
:param args: request args
:param invoke_from: invoke from source
:param stream: is stream
:param streaming: is streamed
"""
if not node_id:
raise ValueError("node_id is required")

+ 0
- 3
api/core/app/apps/workflow/app_runner.py Visa fil

@@ -44,9 +44,6 @@ class WorkflowAppRunner(WorkflowBasedAppRunner):
def run(self) -> None:
"""
Run application
:param application_generate_entity: application generate entity
:param queue_manager: application queue manager
:return:
"""
app_config = self.application_generate_entity.app_config
app_config = cast(WorkflowAppConfig, app_config)

+ 1
- 1
api/core/app/task_pipeline/message_cycle_manage.py Visa fil

@@ -48,7 +48,7 @@ class MessageCycleManage:
def _generate_conversation_name(self, *, conversation_id: str, query: str) -> Optional[Thread]:
"""
Generate conversation name.
:param conversation: conversation
:param conversation_id: conversation id
:param query: query
:return: thread
"""

+ 2
- 2
api/core/app/task_pipeline/workflow_cycle_manage.py Visa fil

@@ -153,7 +153,7 @@ class WorkflowCycleManage:
) -> WorkflowRun:
"""
Workflow run success
:param workflow_run: workflow run
:param workflow_run_id: workflow run id
:param start_at: start time
:param total_tokens: total tokens
:param total_steps: total steps
@@ -236,7 +236,7 @@ class WorkflowCycleManage:
) -> WorkflowRun:
"""
Workflow run failed
:param workflow_run: workflow run
:param workflow_run_id: workflow run id
:param start_at: start time
:param total_tokens: total tokens
:param total_steps: total steps

+ 1
- 1
api/core/file/upload_file_parser.py Visa fil

@@ -36,7 +36,7 @@ class UploadFileParser:
"""
get signed url from upload file

:param upload_file: UploadFile object
:param upload_file_id: the id of UploadFile object
:return:
"""
base_url = dify_config.FILES_URL

+ 1
- 0
api/core/helper/code_executor/code_executor.py Visa fil

@@ -60,6 +60,7 @@ class CodeExecutor:
"""
Execute code
:param language: code language
:param preload: the preload script
:param code: code
:return:
"""

+ 1
- 1
api/core/helper/position_helper.py Visa fil

@@ -53,7 +53,7 @@ def pin_position_map(original_position_map: dict[str, int], pin_list: list[str])
"""
Pin the items in the pin list to the beginning of the position map.
Overall logic: exclude > include > pin
:param position_map: the position map to be sorted and filtered
:param original_position_map: the position map to be sorted and filtered
:param pin_list: the list of pins to be put at the beginning
:return: the sorted position map
"""

+ 1
- 6
api/core/helper/tool_parameter_cache.py Visa fil

@@ -38,12 +38,7 @@ class ToolParameterCache:
return None

def set(self, parameters: dict) -> None:
"""
Cache model provider credentials.

:param credentials: provider credentials
:return:
"""
"""Cache model provider credentials."""
redis_client.setex(self.cache_key, 86400, json.dumps(parameters))

def delete(self) -> None:

+ 0
- 1
api/core/model_runtime/model_providers/__base/tts_model.py Visa fil

@@ -38,7 +38,6 @@ class TTSModel(AIModel):
:param credentials: model credentials
:param voice: model timbre
:param content_text: text content to be translated
:param streaming: output is streaming
:param user: unique user id
:return: translated audio file
"""

+ 0
- 1
api/core/rag/datasource/vdb/opengauss/opengauss.py Visa fil

@@ -177,7 +177,6 @@ class OpenGauss(BaseVector):
Search the nearest neighbors to a vector.

:param query_vector: The input vector to search for similar items.
:param top_k: The number of nearest neighbors to return, default is 5.
:return: List of Documents that are nearest to the query vector.
"""
top_k = kwargs.get("top_k", 4)

+ 0
- 1
api/core/rag/datasource/vdb/oracle/oraclevector.py Visa fil

@@ -197,7 +197,6 @@ class OracleVector(BaseVector):
Search the nearest neighbors to a vector.

:param query_vector: The input vector to search for similar items.
:param top_k: The number of nearest neighbors to return, default is 5.
:return: List of Documents that are nearest to the query vector.
"""
top_k = kwargs.get("top_k", 4)

+ 0
- 1
api/core/rag/datasource/vdb/pgvector/pgvector.py Visa fil

@@ -167,7 +167,6 @@ class PGVector(BaseVector):
Search the nearest neighbors to a vector.

:param query_vector: The input vector to search for similar items.
:param top_k: The number of nearest neighbors to return, default is 5.
:return: List of Documents that are nearest to the query vector.
"""
top_k = kwargs.get("top_k", 4)

+ 2
- 4
api/core/rag/datasource/vdb/tidb_on_qdrant/tidb_service.py Visa fil

@@ -22,7 +22,6 @@ class TidbService:
:param iam_url: The URL of the TiDB Cloud IAM API (required).
:param public_key: The public key for the API (required).
:param private_key: The private key for the API (required).
:param display_name: The user-friendly display name of the cluster (required).
:param region: The region where the cluster will be created (required).

:return: The response from the API.
@@ -149,13 +148,12 @@ class TidbService:
):
"""
Update the status of a new TiDB Serverless cluster.
:param tidb_serverless_list: The TiDB serverless list (required).
:param project_id: The project ID of the TiDB Cloud project (required).
:param api_url: The URL of the TiDB Cloud API (required).
:param iam_url: The URL of the TiDB Cloud IAM API (required).
:param public_key: The public key for the API (required).
:param private_key: The private key for the API (required).
:param display_name: The user-friendly display name of the cluster (required).
:param region: The region where the cluster will be created (required).

:return: The response from the API.
"""
@@ -186,12 +184,12 @@ class TidbService:
) -> list[dict]:
"""
Creates a new TiDB Serverless cluster.
:param batch_size: The batch size (required).
:param project_id: The project ID of the TiDB Cloud project (required).
:param api_url: The URL of the TiDB Cloud API (required).
:param iam_url: The URL of the TiDB Cloud IAM API (required).
:param public_key: The public key for the API (required).
:param private_key: The private key for the API (required).
:param display_name: The user-friendly display name of the cluster (required).
:param region: The region where the cluster will be created (required).

:return: The response from the API.

+ 0
- 1
api/core/rag/datasource/vdb/weaviate/weaviate_vector.py Visa fil

@@ -226,7 +226,6 @@ class WeaviateVector(BaseVector):

Args:
query: Text to look up documents similar to.
k: Number of Documents to return. Defaults to 4.

Returns:
List of Documents most similar to the query.

+ 2
- 3
api/core/rag/extractor/firecrawl/firecrawl_web_extractor.py Visa fil

@@ -7,11 +7,10 @@ class FirecrawlWebExtractor(BaseExtractor):
"""
Crawl and scrape websites and return content in clean llm-ready markdown.


Args:
url: The URL to scrape.
api_key: The API key for Firecrawl.
base_url: The base URL for the Firecrawl API. Defaults to 'https://api.firecrawl.dev'.
job_id: The crawl job id.
tenant_id: The tenant id.
mode: The mode of operation. Defaults to 'scrape'. Options are 'crawl', 'scrape' and 'crawl_return_urls'.
only_main_content: Only return the main content of the page excluding headers, navs, footers, etc.
"""

+ 0
- 9
api/core/rag/extractor/unstructured/unstructured_markdown_extractor.py Visa fil

@@ -14,15 +14,6 @@ class UnstructuredMarkdownExtractor(BaseExtractor):
Args:
file_path: Path to the file to load.

remove_hyperlinks: Whether to remove hyperlinks from the text.

remove_images: Whether to remove images from the text.

encoding: File encoding to use. If `None`, the file will be loaded
with the default system encoding.

autodetect_encoding: Whether to try to autodetect the file encoding
if the specified encoding fails.
"""

def __init__(self, file_path: str, api_url: Optional[str] = None, api_key: str = ""):

+ 2
- 2
api/core/rag/retrieval/dataset_retrieval.py Visa fil

@@ -100,6 +100,7 @@ class DatasetRetrieval:
:param hit_callback: hit callback
:param message_id: message id
:param memory: memory
:param inputs: inputs
:return:
"""
dataset_ids = config.dataset_ids
@@ -734,6 +735,7 @@ class DatasetRetrieval:
Calculate keywords scores
:param query: search query
:param documents: documents for reranking
:param top_k: top k

:return:
"""
@@ -1031,8 +1033,6 @@ class DatasetRetrieval:
) -> tuple[ModelInstance, ModelConfigWithCredentialsEntity]:
"""
Fetch model config
:param node_data: node data
:return:
"""
if model is None:
raise ValueError("single_retrieval_config is required")

+ 1
- 0
api/core/rag/retrieval/router/multi_dataset_react_route.py Visa fil

@@ -235,6 +235,7 @@ class ReactMultiDatasetRouter:
tools: List of tools the agent will have access to, used to format the
prompt.
prefix: String to put before the list of tools.
format_instructions: The format instruction prompt.
Returns:
A PromptTemplate with the template assembled from the pieces here.
"""

+ 2
- 3
api/core/tools/__base/tool.py Visa fil

@@ -29,9 +29,7 @@ class Tool(ABC):

def fork_tool_runtime(self, runtime: ToolRuntime) -> "Tool":
"""
fork a new tool with meta data

:param meta: the meta data of a tool call processing, tenant_id is required
fork a new tool with metadata
:return: the new tool
"""
return self.__class__(
@@ -206,6 +204,7 @@ class Tool(ABC):
create a blob message

:param blob: the blob
:param meta: the meta info of blob object
:return: the blob message
"""
return ToolInvokeMessage(

+ 2
- 2
api/core/tools/builtin_tool/provider.py Visa fil

@@ -153,7 +153,7 @@ class BuiltinToolProviderController(ToolProviderController):
"""
validate the credentials of the provider

:param tool_name: the name of the tool, defined in `get_tools`
:param user_id: use id
:param credentials: the credentials of the tool
"""
# validate credentials format
@@ -167,7 +167,7 @@ class BuiltinToolProviderController(ToolProviderController):
"""
validate the credentials of the provider

:param tool_name: the name of the tool, defined in `get_tools`
:param user_id: use id
:param credentials: the credentials of the tool
"""
pass

+ 2
- 5
api/core/tools/builtin_tool/tool.py Visa fil

@@ -28,9 +28,7 @@ class BuiltinTool(Tool):

def fork_tool_runtime(self, runtime: ToolRuntime) -> "BuiltinTool":
"""
fork a new tool with meta data

:param meta: the meta data of a tool call processing, tenant_id is required
fork a new tool with metadata
:return: the new tool
"""
return self.__class__(
@@ -43,7 +41,7 @@ class BuiltinTool(Tool):
"""
invoke model

:param model_config: the model config
:param user_id: the user id
:param prompt_messages: the prompt messages
:param stop: the stop words
:return: the model result
@@ -64,7 +62,6 @@ class BuiltinTool(Tool):
"""
get max tokens

:param model_config: the model config
:return: the max tokens
"""
if self.runtime is None:

+ 0
- 1
api/core/tools/custom_tool/provider.py Visa fil

@@ -145,7 +145,6 @@ class ApiToolProviderController(ToolProviderController):
"""
fetch tools from database

:param user_id: the user id
:param tenant_id: the tenant id
:return: the tools
"""

+ 1
- 3
api/core/tools/custom_tool/tool.py Visa fil

@@ -35,9 +35,7 @@ class ApiTool(Tool):

def fork_tool_runtime(self, runtime: ToolRuntime):
"""
fork a new tool with meta data

:param meta: the meta data of a tool call processing, tenant_id is required
fork a new tool with metadata
:return: the new tool
"""
if self.api_bundle is None:

+ 1
- 1
api/core/tools/entities/tool_entities.py Visa fil

@@ -264,7 +264,7 @@ class ToolParameter(PluginParameter):

:param name: the name of the parameter
:param llm_description: the description presented to the LLM
:param type: the type of the parameter
:param typ: the type of the parameter
:param required: if the parameter is required
:param options: the options of the parameter
"""

+ 0
- 1
api/core/tools/tool_engine.py Visa fil

@@ -313,7 +313,6 @@ class ToolEngine:
"""
Create message file

:param messages: messages
:return: message file ids
"""
result = []

+ 6
- 4
api/core/tools/tool_manager.py Visa fil

@@ -161,8 +161,11 @@ class ToolManager:
get the tool runtime

:param provider_type: the type of the provider
:param provider_name: the name of the provider
:param provider_id: the id of the provider
:param tool_name: the name of the tool
:param tenant_id: the tenant id
:param invoke_from: invoke from
:param tool_invoke_from: the tool invoke from

:return: the tool
"""
@@ -427,8 +430,6 @@ class ToolManager:
get the absolute path of the icon of the hardcoded provider

:param provider: the name of the provider
:param tenant_id: the id of the tenant

:return: the absolute path of the icon, the mime type of the icon
"""
# get provider
@@ -672,7 +673,8 @@ class ToolManager:
"""
get the api provider

:param provider_name: the name of the provider
:param tenant_id: the id of the tenant
:param provider_id: the id of the provider

:return: the provider controller, the credentials
"""

+ 1
- 5
api/core/tools/utils/model_invocation_utils.py Visa fil

@@ -84,12 +84,8 @@ class ModelInvocationUtils:

:param user_id: user id
:param tenant_id: tenant id, the tenant id of the creator of the tool
:param tool_provider: tool provider
:param tool_id: tool id
:param tool_type: tool type
:param tool_name: tool name
:param provider: model provider
:param model: model name
:param model_parameters: model parameters
:param prompt_messages: prompt messages
:return: AssistantPromptMessage
"""

+ 6
- 0
api/core/tools/utils/parser.py Visa fil

@@ -200,6 +200,8 @@ class ApiBasedToolSchemaParser:
parse openapi yaml to tool bundle

:param yaml: the yaml string
:param extra_info: the extra info
:param warning: the warning message
:return: the tool bundle
"""
warning = warning if warning is not None else {}
@@ -281,6 +283,8 @@ class ApiBasedToolSchemaParser:
parse openapi plugin yaml to tool bundle

:param json: the json string
:param extra_info: the extra info
:param warning: the warning message
:return: the tool bundle
"""
warning = warning if warning is not None else {}
@@ -315,6 +319,8 @@ class ApiBasedToolSchemaParser:
auto parse to tool bundle

:param content: the content
:param extra_info: the extra info
:param warning: the warning message
:return: tools bundle, schema_type
"""
warning = warning if warning is not None else {}

+ 0
- 1
api/core/tools/workflow_as_tool/provider.py Visa fil

@@ -182,7 +182,6 @@ class WorkflowToolProviderController(ToolProviderController):
"""
fetch tools from database

:param user_id: the user id
:param tenant_id: the tenant id
:return: the tools
"""

+ 1
- 3
api/core/tools/workflow_as_tool/tool.py Visa fil

@@ -127,9 +127,8 @@ class WorkflowTool(Tool):

def fork_tool_runtime(self, runtime: ToolRuntime) -> "WorkflowTool":
"""
fork a new tool with meta data
fork a new tool with metadata

:param meta: the meta data of a tool call processing, tenant_id is required
:return: the new tool
"""
return self.__class__(
@@ -212,7 +211,6 @@ class WorkflowTool(Tool):
"""
extract files from the result

:param result: the result
:return: the result, files
"""
files: list[File] = []

+ 0
- 1
api/core/workflow/utils/variable_template_parser.py Visa fil

@@ -95,7 +95,6 @@ class VariableTemplateParser:

Args:
inputs: A dictionary containing the values for the template variables.
remove_template_variables: A boolean indicating whether to remove the template variables from the output.

Returns:
The formatted string with template variables replaced by their values.

+ 2
- 0
api/core/workflow/workflow_entry.py Visa fil

@@ -204,6 +204,8 @@ class WorkflowEntry:
NOTE: only parameter_extractor/question_classifier are supported

:param node_data: node data
:param node_id: node id
:param tenant_id: tenant id
:param user_id: user id
:param user_inputs: user inputs
:return:

+ 1
- 0
api/services/app_dsl_service.py Visa fil

@@ -513,6 +513,7 @@ class AppDslService:
"""
Export app
:param app_model: App instance
:param include_secret: Whether include secret variable
:return:
"""
app_mode = AppMode.value_of(app_model.mode)

+ 0
- 1
api/services/tools/builtin_tools_manage_service.py Visa fil

@@ -28,7 +28,6 @@ class BuiltinToolManageService:
"""
list builtin tool provider tools

:param user_id: the id of the user
:param tenant_id: the id of the tenant
:param provider: the name of the provider


+ 1
- 0
api/services/tools/tools_transform_service.py Visa fil

@@ -60,6 +60,7 @@ class ToolTransformService:
"""
repack provider

:param tenant_id: the tenant id
:param provider: the provider dict
"""
if isinstance(provider, dict) and "icon" in provider:

+ 3
- 3
api/services/tools/workflow_tools_manage_service.py Visa fil

@@ -222,7 +222,7 @@ class WorkflowToolManageService:
Delete a workflow tool.
:param user_id: the user id
:param tenant_id: the tenant id
:param workflow_app_id: the workflow app id
:param workflow_tool_id: the workflow tool id
"""
db.session.query(WorkflowToolProvider).filter(
WorkflowToolProvider.tenant_id == tenant_id, WorkflowToolProvider.id == workflow_tool_id
@@ -238,7 +238,7 @@ class WorkflowToolManageService:
Get a workflow tool.
:param user_id: the user id
:param tenant_id: the tenant id
:param workflow_app_id: the workflow app id
:param workflow_tool_id: the workflow tool id
:return: the tool
"""
db_tool: WorkflowToolProvider | None = (
@@ -313,7 +313,7 @@ class WorkflowToolManageService:
List workflow tool provider tools.
:param user_id: the user id
:param tenant_id: the tenant id
:param workflow_app_id: the workflow app id
:param workflow_tool_id: the workflow tool id
:return: the list of tools
"""
db_tool: WorkflowToolProvider | None = (

+ 1
- 5
api/tasks/mail_account_deletion_task.py Visa fil

@@ -10,11 +10,7 @@ from extensions.ext_mail import mail

@shared_task(queue="mail")
def send_deletion_success_task(to):
"""Send email to user regarding account deletion.

Args:
log (AccountDeletionLog): Account deletion log object
"""
"""Send email to user regarding account deletion."""
if not mail.is_inited():
return


+ 0
- 2
api/tasks/ops_trace_task.py Visa fil

@@ -17,8 +17,6 @@ from models.workflow import WorkflowRun
def process_trace_tasks(file_info):
"""
Async process trace tasks
:param tasks_data: List of dictionaries containing task data

Usage: process_trace_tasks.delay(tasks_data)
"""
from core.ops.ops_trace_manager import OpsTraceManager

Laddar…
Avbryt
Spara