DBL Gateway
Project description
DBL Gateway
Authoritative DBL and KL gateway. This service is the single writer for append-only trails, applies policy via dbl-policy, and executes via kl-kernel-logic. UI and boundary services consume its snapshots and emit INTENT only.
This release stabilizes the 0.3.x stackline and does not introduce new wire contracts.
Compatible stack versions:
- dbl-core==0.3.2
- dbl-policy==0.2.2
- dbl-main==0.3.1
- kl-kernel-logic==0.5.0
Quickstart (PowerShell)
py -3.11 -m venv .venv
.venv\Scripts\Activate.ps1
python -m pip install -e ".[dev]"
Run the gateway:
dbl-gateway serve --db .\data\trail.sqlite --host 127.0.0.1 --port 8010
Run with uvicorn:
$env:DBL_GATEWAY_DB=".\data\trail.sqlite"
py -3.11 -m uvicorn dbl_gateway.app:app --host 127.0.0.1 --port 8010
Local API docs (OpenAPI)
When the gateway is running, the interactive API docs are available at:
- Swagger UI:
http://127.0.0.1:8010/docs - OpenAPI JSON:
http://127.0.0.1:8010/openapi.json
Quick verification:
- Health:
http://127.0.0.1:8010/healthz - Capabilities:
http://127.0.0.1:8010/capabilities - Snapshot (first page):
http://127.0.0.1:8010/snapshot?offset=0&limit=50&stream_id=default
Quick probes (PowerShell)
Health:
curl -s "http://127.0.0.1:8010/healthz"
Capabilities:
curl -s "http://127.0.0.1:8010/capabilities"
Snapshot (page through the trail):
curl -s "http://127.0.0.1:8010/snapshot?offset=0&limit=50&stream_id=default"
curl -s "http://127.0.0.1:8010/snapshot?offset=50&limit=50&stream_id=default"
Tail (SSE stream):
curl -N "http://127.0.0.1:8010/tail?since=0&stream_id=default"
Emit an INTENT (example):
$body = @{
interface_version = 1
correlation_id = [guid]::NewGuid().ToString()
payload = @{
stream_id = "default"
lane = "ui"
actor = "dev"
intent_type = "ui.ping"
payload = @{ text = "hello" }
}
} | ConvertTo-Json -Depth 8
curl -s -X POST "http://127.0.0.1:8010/ingress/intent" `
-H "content-type: application/json" `
-d $body
Endpoints
Write:
- POST
/ingress/intent
Read:
- GET
/snapshot - GET
/capabilities - GET
/healthz
Environment contract
See docs/env_contract.md.
Validation against dbl-reference
See docs/validation_workflow.md.
Notes
- The gateway is the only component that performs governance and execution.
- All stabilization is expressed explicitly via DECISION events.
- Boundary and UI clients do not import dbl-core or dbl-policy.
- The gateway uses dbl-core for canonicalization and digest computation.
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 dbl_gateway-0.3.4.tar.gz.
File metadata
- Download URL: dbl_gateway-0.3.4.tar.gz
- Upload date:
- Size: 28.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f9d114d74ff7dea88dc6a5fb26e4260194ebbdec7c6f08293dfdc949f9bae648
|
|
| MD5 |
21d4782df016cf1896c37dbf4b243af3
|
|
| BLAKE2b-256 |
bccf5133d1354e335db408e95a53713dc4b3b05b3b66a2547ebe4b979e113706
|
File details
Details for the file dbl_gateway-0.3.4-py3-none-any.whl.
File metadata
- Download URL: dbl_gateway-0.3.4-py3-none-any.whl
- Upload date:
- Size: 30.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c1a081f61dd4bfb4741d60f984e1a6129ed55421e8d592189da7087586b2bc66
|
|
| MD5 |
f0f85d073e68b5a884b95a7ad120b286
|
|
| BLAKE2b-256 |
4ecb25c9cc268f36a9c203a792dcbafe5e3e37a41e0ad41cea745350f892c266
|