Reusable runtime core for durable agent applications.
Project description
Soveren Agent Platform
Reusable runtime core for durable agent applications.
This repository is the extraction target for the shared runtime currently
implemented inside poruchen. It is intentionally separate from both
application repositories:
soveren-agent-platformowns reusable mechanics: durable queueing, run tracking, decision/action framework, batching, scheduler, sessions, integration contracts, and bundled SQLite adapters for the default embedded runtime.poruchenowns private product behavior: prompts, ClickUp tools, approval copy, policies, and app-specific schema.pulsell-agentowns Pulsell-specific media, transcription, vision, task, and workflow behavior.
The first usable slice in this repo contains:
- SQLite connection setup
- durable queue port with a SQLite adapter
- layered migration runner with platform/app migration providers
- platform migrations for
event_queueandagent_runs - durable queue API
- inbound batching module with SQLite state and flush wakeups
- agent worker module that consumes queue events and calls app-provided agents
- cron module with due-job leasing and app-provided handlers
- Telegram interface module that normalizes Telegram ingress into queue events
- optional Telegram adapter for inbound normalization and outbound sending
- optional Telegram polling runtime builder with message and callback hooks
- LLM backend contracts and reusable OpenAI-compatible/session-backed backends
- agent run persistence helpers
- rich planner context builder for batches, sessions, mailbox, actions, outbound, cron, and routing metadata
- optional app-neutral prompt formatter for rich planner context
- planner envelope that injects session routing and rich context into LLM requests
- execution session mailbox for prompts queued behind busy sessions
- persistent execution-session events, snapshots, and deterministic routing
- reusable stub and tmux execution session backends
- reusable Codex app-server execution session backend
- Codex app-server dynamic tool contracts, registry, and fail-closed JSON-RPC tool-call handling
- session backend registry for wiring reusable and custom backends
- platform SQLite migration and schema compatibility checks
- generic actions/approvals lifecycle with app-registered executors
- generic outbound channel queue with app-registered senders
- decision dispatcher that maps typed decisions to outbound, actions, session mailbox, or cron side effects
- planner-dispatch helper for fake-tested context to side-effect pipelines
- runtime supervisor and
AgentPlatformAppcomposition helper for standard platform workers
See docs/ARCHITECTURE.md for the current architecture. See docs/API.md for the consumer integration API and quick start. See docs/CONSUMING_APP.md for a practical consuming-app guide covering package dependency, Telegram wiring, and app-owned tools such as ClickUp. See docs/EXTRACTION_PLAN.md for the rollout plan. See docs/PORTS.md for the queue/store abstraction strategy.
Consumer Quick Start
from pathlib import Path
from soveren_agent_platform.agent import AgentEvent, AgentHandler
from soveren_agent_platform.app_api import AgentPlatformApp
class AppAgentHandler(AgentHandler):
async def handle(self, event: AgentEvent) -> None:
...
app = (
AgentPlatformApp(db_path=Path("data/app.db"))
.use_batching()
.use_agent(handler=AppAgentHandler())
)
AgentPlatformApp applies and validates platform migrations before workers
start. Apps with a separate migration pipeline can call
soveren_agent_platform.storage.bootstrap_platform_storage(db_path) themselves and pass
bootstrap_storage=False.
Local Development
uv sync --group dev
uv run ruff check src tests
uv run mypy
uv run pytest
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file soveren_agent_platform-0.2.2.tar.gz.
File metadata
- Download URL: soveren_agent_platform-0.2.2.tar.gz
- Upload date:
- Size: 131.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e79156382ea69f1679fbf6d29ee7633e4dc6b3b5044bc4c109a2ebe557d4bba2
|
|
| MD5 |
1163973be0ef871a83fd58e8ac0118b4
|
|
| BLAKE2b-256 |
2f3db48b4304de26cc17dc327c4a8acd94a33507b8304f43582f7b932ea6cd65
|
Provenance
The following attestation bundles were made for soveren_agent_platform-0.2.2.tar.gz:
Publisher:
publish.yml on neureca/soveren-agent-platform
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
soveren_agent_platform-0.2.2.tar.gz -
Subject digest:
e79156382ea69f1679fbf6d29ee7633e4dc6b3b5044bc4c109a2ebe557d4bba2 - Sigstore transparency entry: 2107881196
- Sigstore integration time:
-
Permalink:
neureca/soveren-agent-platform@15a9af45d07e1eba413b0e0ad6165bfbde532bbf -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/neureca
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@15a9af45d07e1eba413b0e0ad6165bfbde532bbf -
Trigger Event:
push
-
Statement type:
File details
Details for the file soveren_agent_platform-0.2.2-py3-none-any.whl.
File metadata
- Download URL: soveren_agent_platform-0.2.2-py3-none-any.whl
- Upload date:
- Size: 108.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c41407fa2202523d402f18ea69750fc0c440ff09772074140bdc4648a7457336
|
|
| MD5 |
87f04d49f492041250537edcb59a738a
|
|
| BLAKE2b-256 |
98a01e2b7c7eae74a46899ec1a795b42be8a3cfbb5bd0d1b9ea2b23421217157
|
Provenance
The following attestation bundles were made for soveren_agent_platform-0.2.2-py3-none-any.whl:
Publisher:
publish.yml on neureca/soveren-agent-platform
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
soveren_agent_platform-0.2.2-py3-none-any.whl -
Subject digest:
c41407fa2202523d402f18ea69750fc0c440ff09772074140bdc4648a7457336 - Sigstore transparency entry: 2107881308
- Sigstore integration time:
-
Permalink:
neureca/soveren-agent-platform@15a9af45d07e1eba413b0e0ad6165bfbde532bbf -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/neureca
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@15a9af45d07e1eba413b0e0ad6165bfbde532bbf -
Trigger Event:
push
-
Statement type: