From c6df289345909d025256324ea2d6bc880a8cdb42 Mon Sep 17 00:00:00 2001 From: Hyu Date: Sun, 25 Oct 2026 00:07:44 +0800 Subject: [PATCH] fix(plugin): initialize setting capability for locally mounted plugins --- src/langbot/pkg/plugin/handler.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/langbot/pkg/plugin/handler.py b/src/langbot/pkg/plugin/handler.py index e823c9591..f0253c4e3 100644 --- a/src/langbot/pkg/plugin/handler.py +++ b/src/langbot/pkg/plugin/handler.py @@ -971,6 +971,28 @@ class RuntimeConnectionHandler(handler.Handler): ) if isinstance(action_context, InstallationBinding): self._require_setting_binding(setting, action_context) + elif setting is None: + installation_uuid = str(uuid.uuid4()) + artifact_digest = hashlib.sha256(f'local:{plugin_author}/{plugin_name}'.encode()).hexdigest() + await self.ap.persistence_mgr.execute_async( + sqlalchemy.insert(persistence_plugin.PluginSetting).values( + workspace_uuid=action_context.workspace_uuid, + plugin_author=plugin_author, + plugin_name=plugin_name, + installation_uuid=installation_uuid, + artifact_digest=artifact_digest, + install_source='local', + install_info={}, + enabled=True, + priority=0, + config={}, + ) + ) + setting = await self._get_plugin_setting_by_name( + action_context, + plugin_author, + plugin_name, + ) data = { 'enabled': True,