Merge branch 'fix/chore-fix' into dev/plugin-deploy

pull/12372/head
Yeuoly 1 year ago
commit 527abcb2e9

@ -1,5 +1,6 @@
from abc import ABC, abstractmethod
from typing import Any, Generator, Optional, Sequence
from collections.abc import Generator, Sequence
from typing import Any, Optional
from core.agent.entities import AgentInvokeMessage
from core.agent.plugin_entities import AgentStrategyParameter

@ -1,4 +1,5 @@
from typing import Any, Generator, Optional, Sequence
from collections.abc import Generator, Sequence
from typing import Any, Optional
from core.agent.entities import AgentInvokeMessage
from core.agent.plugin_entities import AgentStrategyEntity, AgentStrategyParameter

@ -2,8 +2,8 @@ import contextvars
import logging
import threading
import uuid
from collections.abc import Generator
from typing import Any, Literal, Mapping, Optional, Union, overload
from collections.abc import Generator, Mapping
from typing import Any, Literal, Optional, Union, overload
from flask import Flask, current_app
from pydantic import ValidationError

@ -1,6 +1,7 @@
from collections.abc import Mapping
from datetime import datetime
from enum import Enum, StrEnum
from typing import Any, Mapping, Optional
from typing import Any, Optional
from pydantic import BaseModel

@ -27,3 +27,9 @@ def batch_fetch_plugin_manifests(plugin_ids: list[str]) -> Sequence[MarketplaceP
response = requests.post(url, json={"plugin_ids": plugin_ids})
response.raise_for_status()
return [MarketplacePluginDeclaration(**plugin) for plugin in response.json()["data"]["plugins"]]
def record_install_plugin_event(plugin_unique_identifier: str):
url = str(URL(str(dify_config.MARKETPLACE_API_URL)) / "api/v1/stats/plugins/install_count")
response = requests.post(url, json={"unique_identifier": plugin_unique_identifier})
response.raise_for_status()

@ -1,5 +1,5 @@
from collections.abc import Generator
from typing import Generic, Mapping, Optional, TypeVar
from collections.abc import Generator, Mapping
from typing import Generic, Optional, TypeVar
from pydantic import BaseModel

@ -1,7 +1,8 @@
import base64
import enum
from collections.abc import Mapping
from enum import Enum
from typing import Any, Mapping, Optional, Union
from typing import Any, Optional, Union
from pydantic import BaseModel, ConfigDict, Field, ValidationInfo, field_serializer, field_validator

@ -1,5 +1,5 @@
from collections.abc import Generator
from typing import Any, Sequence, cast
from collections.abc import Generator, Sequence
from typing import Any, cast
from core.agent.plugin_entities import AgentStrategyParameter
from core.plugin.manager.exc import PluginDaemonClientSideError

@ -10,10 +10,10 @@ from collections.abc import Generator
from datetime import datetime
from hashlib import sha256
from typing import TYPE_CHECKING, Any, Optional, Union, cast
from zoneinfo import available_timezones
from flask import Response, stream_with_context
from flask_restful import fields
from zoneinfo import available_timezones
from configs import dify_config
from core.app.features.rate_limiting.rate_limit import RateLimitGenerator

@ -144,7 +144,8 @@ class PluginService:
try:
manager.fetch_plugin_manifest(tenant_id, new_plugin_unique_identifier)
# already downloaded, skip
# already downloaded, skip, and record install event
marketplace.record_install_plugin_event(new_plugin_unique_identifier)
except Exception:
# plugin not installed, download and upload pkg
pkg = download_plugin_pkg(new_plugin_unique_identifier)

Loading…
Cancel
Save