Files
open-terminal/pyproject.toml
T
Timothy Jaeryang Baek fbaf2e8e69 feat: per-session working directory tracking via X-Session-Id header
Replace the process-global os.chdir() with an in-memory dictionary
keyed by session ID (passed via X-Session-Id header). Multiple
concurrent chat sessions now maintain independent working directories.

- GET/POST /files/cwd read X-Session-Id to resolve per-session cwd
- POST /execute falls back to session cwd when no cwd param provided
- POST /api/terminals spawns PTY in the session's cwd
- 7-day sliding TTL for session entries
- Fully backward compatible: no header = fs.home default
2026-03-29 20:59:47 -05:00

45 lines
937 B
TOML

[project]
name = "open-terminal"
version = "0.11.31"
description = "A remote terminal API."
readme = "README.md"
authors = [
{ name = "Timothy Jaeryang Baek", email = "tim@openwebui.com" }
]
requires-python = ">=3.11"
dependencies = [
"fastapi>=0.115.0",
"uvicorn[standard]>=0.34.0",
"click>=8.1.0",
"httpx>=0.27.0",
"python-multipart>=0.0.22",
"aiofiles>=25.1.0",
"pypdf>=5.0.0",
"python-docx>=1.0.0",
"openpyxl>=3.1.0",
"python-pptx>=1.0.0",
"striprtf>=0.0.26",
"xlrd>=2.0.0",
"nbclient>=0.10.0",
"ipykernel>=6.0.0",
"pywinpty>=2.0.0; sys_platform == 'win32'",
]
[project.optional-dependencies]
mcp = ["fastmcp>=2.0.0"]
[project.scripts]
open-terminal = "open_terminal.cli:main"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["open_terminal"]
[dependency-groups]
dev = [
"pytest>=9.0.2",
]