- Add PushSubscription ORM model with unique(user_id, endpoint) constraint - Add Alembic migration 012 for push_subscriptions table - Add push router (subscribe, unsubscribe, send) in shared/api/push.py - Mount push router in gateway/main.py - Add pywebpush to gateway dependencies for server-side VAPID delivery - Wire push trigger into WebSocket handler (fires when client disconnects mid-stream) - Add VAPID keys to .env / .env.example - Add push/install i18n keys in en/es/pt message files
31 lines
737 B
TOML
31 lines
737 B
TOML
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[project]
|
|
name = "konstruct-gateway"
|
|
version = "0.1.0"
|
|
description = "Channel Gateway — unified ingress for all messaging platforms"
|
|
requires-python = ">=3.12"
|
|
dependencies = [
|
|
"konstruct-shared",
|
|
"konstruct-router",
|
|
"konstruct-orchestrator",
|
|
"fastapi[standard]>=0.115.0",
|
|
"slack-bolt>=1.22.0",
|
|
"aiohttp>=3.9.0",
|
|
"python-telegram-bot>=21.0",
|
|
"httpx>=0.28.0",
|
|
"redis>=5.0.0",
|
|
"boto3>=1.35.0",
|
|
"pywebpush>=2.0.0",
|
|
]
|
|
|
|
[tool.uv.sources]
|
|
konstruct-shared = { workspace = true }
|
|
konstruct-router = { workspace = true }
|
|
konstruct-orchestrator = { workspace = true }
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["gateway"]
|