xml-pipeline/config/organism.yaml
dullfig 82b5fcdd78 Replace MessageBus with aiostream-based StreamPump
Major refactor of the message pump architecture:

- Replace bus.py with stream_pump.py using aiostream for composable
  stream processing with natural fan-out via flatmap
- Add to_id field to MessageState for explicit routing
- Fix routing to use to_id.class format (e.g., "greeter.greeting")
- Generate XSD schemas from xmlified payload classes
- Fix xmlable imports (absolute -> relative) and parse_element ctx

New features:
- handlers/hello.py: Sample Greeting/GreetingResponse handler
- config/organism.yaml: Sample organism configuration
- 41 tests (31 unit + 10 integration) all passing

Schema changes:
- envelope.xsd: Allow any namespace payloads (##other -> ##any)

Dependencies added to pyproject.toml:
- aiostream>=0.5 (core dependency)
- pyhumps, termcolor (for xmlable)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 10:41:17 -08:00

24 lines
635 B
YAML

# organism.yaml — Sample configuration for testing the message pump
#
# This defines a simple "hello world" organism with one listener.
organism:
name: hello-world
port: 8765
# Concurrency settings
max_concurrent_pipelines: 50
max_concurrent_handlers: 20
max_concurrent_per_agent: 5
# Thread scheduling: breadth-first or depth-first
thread_scheduling: breadth-first
listeners:
# The greeter listener responds to Greeting payloads
- name: greeter
payload_class: handlers.hello.Greeting
handler: handlers.hello.handle_greeting
description: Responds with a greeting message
agent: false
broadcast: false