From df7d02b5c813fe88c511950da5195ba91ffcb97d Mon Sep 17 00:00:00 2001 From: dullfig Date: Fri, 2 Jan 2026 00:01:20 -0800 Subject: [PATCH] creating new file for thread context --- agentserver/message_bus/__init__.py | 0 .../{message_bus.py => message_bus/bus.py} | 6 ++-- agentserver/message_bus/config.py | 0 agentserver/message_bus/envelope.py | 0 agentserver/message_bus/errors.py | 0 agentserver/message_bus/scheduler.py | 0 agentserver/message_bus/thread.py | 35 +++++++++++++++++++ 7 files changed, 38 insertions(+), 3 deletions(-) create mode 100644 agentserver/message_bus/__init__.py rename agentserver/{message_bus.py => message_bus/bus.py} (97%) create mode 100644 agentserver/message_bus/config.py create mode 100644 agentserver/message_bus/envelope.py create mode 100644 agentserver/message_bus/errors.py create mode 100644 agentserver/message_bus/scheduler.py create mode 100644 agentserver/message_bus/thread.py diff --git a/agentserver/message_bus/__init__.py b/agentserver/message_bus/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/agentserver/message_bus.py b/agentserver/message_bus/bus.py similarity index 97% rename from agentserver/message_bus.py rename to agentserver/message_bus/bus.py index 5f2c9a1..d34eed6 100644 --- a/agentserver/message_bus.py +++ b/agentserver/message_bus/bus.py @@ -1,4 +1,4 @@ -# agentserver/message_bus.py +# agentserver/bus.py # Refactored January 01, 2026 – MessageBus with run() pump and out-of-band shutdown import asyncio @@ -7,8 +7,8 @@ from typing import AsyncIterator, Callable, Dict, Optional, Awaitable from lxml import etree -from .xml_listener import XMLListener -from .utils.message import repair_and_canonicalize, XmlTamperError +from agentserver.xml_listener import XMLListener +from agentserver.utils.message import repair_and_canonicalize, XmlTamperError # Constants for Internal Physics ENV_NS = "https://xml-pipeline.org/ns/envelope/1" diff --git a/agentserver/message_bus/config.py b/agentserver/message_bus/config.py new file mode 100644 index 0000000..e69de29 diff --git a/agentserver/message_bus/envelope.py b/agentserver/message_bus/envelope.py new file mode 100644 index 0000000..e69de29 diff --git a/agentserver/message_bus/errors.py b/agentserver/message_bus/errors.py new file mode 100644 index 0000000..e69de29 diff --git a/agentserver/message_bus/scheduler.py b/agentserver/message_bus/scheduler.py new file mode 100644 index 0000000..e69de29 diff --git a/agentserver/message_bus/thread.py b/agentserver/message_bus/thread.py new file mode 100644 index 0000000..4f06091 --- /dev/null +++ b/agentserver/message_bus/thread.py @@ -0,0 +1,35 @@ +# message_bus/thread.py +from __future__ import annotations +from typing import Optional +from lxml import etree +import uuid + + +class Thread: + """ + Internal thread context used by MessageBus. + + Not part of the public API — do not import or instantiate directly. + Exists in its own module only to keep MessageBus readable. + """ + + def __init__( + self, + parent: Optional['Thread'] = None, + thread_id: Optional[str] = None, + metadata: Optional[dict] = None, + ): + self.id = thread_id or str(uuid.uuid4()) + self.parent = parent + self.depth = parent.depth + 1 if parent else 0 + self.buffer = bytearray() + + # noinspection PyTypeChecker + self.parser = etree.XMLPullParser(events=("end",)) + + self.active = True + self.metadata = metadata or (parent.metadata.copy() if parent else {}) + + # Optional: add __repr__ for debugging + def __repr__(self) -> str: + return f"" \ No newline at end of file