feat: switch tool entities and format

This commit is contained in:
Junyan Qin
2025-06-15 12:51:51 +08:00
parent c5eeab2fd0
commit 0c2560cafb
55 changed files with 455 additions and 774 deletions

View File

@@ -7,6 +7,7 @@ import pydantic.v1 as pydantic
from ..core import entities as core_entities
from ..provider import entities as llm_entities
from ..platform.types import message as platform_message
import langbot_plugin.api.entities.builtin.provider.session as provider_session
class BaseEventModel(pydantic.BaseModel):
@@ -139,7 +140,7 @@ class NormalMessageResponded(BaseEventModel):
sender_id: typing.Union[int, str]
session: core_entities.Session
session: provider_session.Session
"""会话对象"""
prefix: str

View File

@@ -73,3 +73,18 @@ class RuntimeConnectionHandler(handler.Handler):
)
return result['plugins']
async def emit_event(
self,
event_context: dict[str, Any],
) -> dict[str, Any]:
"""Emit event"""
result = await self.call_action(
LangBotToRuntimeAction.EMIT_EVENT,
{
'event_context': event_context,
},
timeout=10,
)
return result['event_context']

View File

@@ -7,7 +7,7 @@ import traceback
from .. import loader, events, context, models
from ...core import entities as core_entities
from ...provider.tools import entities as tools_entities
from langbot_plugin.api.entities.builtin.resource import tool as resource_tool
from ...utils import funcschema
from ...discover import engine as discover_engine
@@ -101,7 +101,7 @@ class PluginLoader(loader.PluginLoader):
async def handler(plugin: context.BasePlugin, query: core_entities.Query, *args, **kwargs):
return func(*args, **kwargs)
llm_function = tools_entities.LLMFunction(
llm_function = resource_tool.LLMTool(
name=function_name,
human_desc='',
description=function_schema['description'],
@@ -147,7 +147,7 @@ class PluginLoader(loader.PluginLoader):
function_schema = funcschema.get_func_schema(func)
function_name = self._current_container.plugin_name + '-' + (func.__name__ if name is None else name)
llm_function = tools_entities.LLMFunction(
llm_function = resource_tool.LLMTool(
name=function_name,
human_desc='',
description=function_schema['description'],

View File

@@ -8,7 +8,7 @@ from ...core import app
from .. import context, events
from .. import loader
from ...utils import funcschema
from ...provider.tools import entities as tools_entities
import langbot_plugin.api.entities.builtin.resource.tool as resource_tool
class PluginManifestLoader(loader.PluginLoader):
@@ -41,7 +41,7 @@ class PluginManifestLoader(loader.PluginLoader):
function_schema = funcschema.get_func_schema(func)
function_name = self._current_container.plugin_name + '-' + (func.__name__ if name is None else name)
llm_function = tools_entities.LLMFunction(
llm_function = resource_tool.LLMTool(
name=function_name,
human_desc='',
description=function_schema['description'],