Skip to content

LANG-137: Skip event RPC for plugins without EventListener - #186

Merged
RockChinQ merged 2 commits into
mainfrom
task/LANG-137-listener-admission
Oct 20, 2026
Merged

RockChinQ merged 2 commits into
mainfrom
task/LANG-137-listener-admission

Conversation

@RockChinQ

Copy link
Copy Markdown
Member

Closes LANG-137

Tracking: LANG-137, child of LANG-131.

Changes

Listener dispatch remains serial, with trusted identity, filtering and failure semantics. SDK #183 already upstream; not resubmitted.

Already upstream

Core #2706/#2718/#2725 and SDK #183 remain untouched. Summary transaction and explicit selected-path export protocol preserved.

Tests

20 passed; sdk-final.log.

ation/
class BaseEventModel(WorkspaceExecutionScope):

scratch/sdk-admission/src/langbot_plugin/runtime/plugin/container.py:29
/home/rock/multica_workspaces/langbot-app-edb069796238/lang-131-daf85ff93baf/workdir/scratch/sdk-admission/src/langbot_plugin/runtime/plugin/container.py:29: PydanticDeprecatedSince20: Support for class-based config is deprecated, use ConfigDict instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.12/migration/
class PluginContainer(pydantic.BaseModel):

scratch/sdk-admission/src/langbot_plugin/runtime/plugin/container.py:100
/home/rock/multica_workspaces/langbot-app-edb069796238/lang-131-daf85ff93baf/workdir/scratch/sdk-admission/src/langbot_plugin/runtime/plugin/container.py:100: PydanticDeprecatedSince20: Support for class-based config is deprecated, use ConfigDict instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.12/migration/
class ComponentContainer(pydantic.BaseModel):

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
20 passed, 48 deselected, 9 warnings in 0.58s

Risks

Listener dispatch remains serial, with trusted identity, filtering and failure semantics. SDK #183 already upstream; not resubmitted.
No actual Docker, real-model, deployment or release validation; no CI wait.

Reproduce focused checks

PYTHONPATH=src python -m pytest tests/runtime/plugin/test_manager.py -k "emit_event or listener or subscriber_failures" -q

Early restricted-sandbox runs used an external polling-loop harness for thread wakeups; final busy/SDK/LocalAgent regressions ran without that harness after network was enabled.

@RockChinQ
RockChinQ merged commit 3d11acb into main Oct 20, 2026
8 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators Oct 20, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant