replica-omnisciente/telminal/pyproject.toml
Aurelio 56be25c1ed feat(telminal): add hardened Terminal-in-Telegram bot to aurelio
Port fristhon/telminal (MIT) into the aurelio monorepo as a self-hosted
Telegram shell bot for the fleet gateway (CT-217).

- telminal/ package: config (env + state file, refuses empty admins),
  core orchestrator (event handlers, router, watchers, interactive mode,
  file up/download, xterm.js image render), process (pexpect PTY + streaming
  + inline control buttons), telegram (Telethon wrapper, swappable for tests),
  cli (entry point reading TELEGRAM_* env), utils, values.
- aurelio hardening vs upstream: no first-run random token auth (explicit
  admin allowlist required); cd sandbox validated against working root;
  secrets from env mirroring the CT-217 gateway .env.
- 35 real tests (pty capture/control-char, router, watchers, perms, sandbox,
  fake-client orchestration) -- all green.
- deployment: systemd/telminal.service, .env.example entries, README, AGENTS.md.

Verified: pytest 35 passed; CLI refuses start with missing env / no admins.
2026-07-15 23:42:31 +01:00

28 lines
716 B
TOML

[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"
[project]
name = "telminal"
version = "1.0.0"
description = "A Terminal in Telegram — run a sandboxed shell on the aurelio fleet from Telegram."
readme = "README.md"
license = { text = "MIT" }
requires-python = ">=3.9"
authors = [{ name = "fristhon (original), Portugal Futurista (aurelio port)" }]
keywords = ["telegram", "terminal", "pty", "bot", "aurelio"]
dependencies = [
"telethon>=1.24",
"pexpect>=4.8",
]
[project.optional-dependencies]
image = ["pyppeteer>=0.2.6"]
dev = ["pytest>=7.0"]
[project.scripts]
telminal = "telminal.cli:main"
[tool.setuptools.packages.find]
where = ["."]
include = ["telminal*"]