xml-pipeline/xml_pipeline/message_bus
dullfig 8b11323a8b Add token budget enforcement and usage tracking
Token Budget System:
- ThreadBudgetRegistry tracks per-thread token usage with configurable limits
- BudgetExhaustedError raised when thread exceeds max_tokens_per_thread
- Integrates with LLMRouter to block LLM calls when budget exhausted
- Automatic cleanup when threads are pruned

Usage Tracking (for production billing):
- UsageTracker emits events after each LLM completion
- Subscribers receive UsageEvent with tokens, latency, estimated cost
- Cost estimation for common models (Grok, Claude, GPT, etc.)
- Aggregate stats by agent, model, and totals

Configuration:
- max_tokens_per_thread in organism.yaml (default 100k)
- LLMRouter.complete() accepts thread_id and metadata parameters

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 21:07:43 -08:00
..
steps Fix XSD path for installed package (v0.3.1) 2026-01-19 22:24:36 -08:00
__init__.py Add token budget enforcement and usage tracking 2026-01-27 21:07:43 -08:00
budget_registry.py Add token budget enforcement and usage tracking 2026-01-27 21:07:43 -08:00
buffer_registry.py Add Sequence and Buffer orchestration primitives 2026-01-25 14:56:15 -08:00
config.py Rename agentserver to xml_pipeline, add console example 2026-01-19 21:41:19 -08:00
envelope.py Add Ed25519 envelope signing infrastructure 2026-01-27 20:00:35 -08:00
errors.py Rename agentserver to xml_pipeline, add console example 2026-01-19 21:41:19 -08:00
message_state.py Rename agentserver to xml_pipeline, add console example 2026-01-19 21:41:19 -08:00
scheduler.py Rename agentserver to xml_pipeline, add console example 2026-01-19 21:41:19 -08:00
sequence_registry.py Add Sequence and Buffer orchestration primitives 2026-01-25 14:56:15 -08:00
stream_pump.py Add token budget enforcement and usage tracking 2026-01-27 21:07:43 -08:00
system_pipeline.py Rename agentserver to xml_pipeline, add console example 2026-01-19 21:41:19 -08:00
thread.py Rename agentserver to xml_pipeline, add console example 2026-01-19 21:41:19 -08:00
thread_registry.py Add shared backend for multiprocess pipeline support 2026-01-20 20:18:22 -08:00
todo_registry.py Rename agentserver to xml_pipeline, add console example 2026-01-19 21:41:19 -08:00
worker.py Add shared backend for multiprocess pipeline support 2026-01-20 20:18:22 -08:00