소스 검색

feat: support tool plugin id

Yeuoly 6 달 전
부모
커밋
739e15f88b
2개의 변경된 파일7개의 추가작업 그리고 0개의 파일을 삭제
  1. 6 0
      api/core/plugin/entities/plugin.py
  2. 1 0
      api/core/tools/entities/tool_entities.py

+ 6 - 0
api/core/plugin/entities/plugin.py

@@ -110,6 +110,12 @@ class PluginEntity(BasePluginEntity):
     source: PluginInstallationSource
     meta: Mapping[str, Any]
 
+    @model_validator(mode="after")
+    def set_plugin_id(self):
+        if self.declaration.tool:
+            self.declaration.tool.plugin_id = self.plugin_id
+        return self
+
 
 class GithubPackage(BaseModel):
     repo: str

+ 1 - 0
api/core/tools/entities/tool_entities.py

@@ -377,6 +377,7 @@ class ToolEntity(BaseModel):
 
 class ToolProviderEntity(BaseModel):
     identity: ToolProviderIdentity
+    plugin_id: Optional[str] = Field(None, description="The id of the plugin")
     credentials_schema: list[ProviderConfig] = Field(default_factory=list)