6a91ce30e391cc277f2ecfab88294c51912adf00
- add FileEntity, ScenarioFileEntity, ScenarioRunFileEntity with UUID-sharded disk tree - FileStorageService: write/sha256/expiry, paginated listing, dynamic cleanup cron via SchedulerRegistry - expose getScenarioFiles() and downloadFile() on ScriptContext for use in exec code - wire scenarioId, runId, fileService into ExecContextBuilder and scenario scheduler - add file upload and listing endpoints to ScenarioController - add FILES_DIR, FILE_RUN_EXPIRATION_DAYS, FILE_CLEANUP_CRON to AppConfig
liquio-qa-bot
A headless QA automation service for Liquio environments. Exposes an MCP (Model Context Protocol) server that lets AI agents define, run, and monitor multi-step browser test scenarios using Playwright.
Overview
The bot manages four core concepts:
| Concept | Description |
|---|---|
| Environment | A named set of URLs for a deployment target (e.g. liquio-diia-stg) |
| Key | A JSON descriptor in keys/ that points to an EDS key file + password |
| Session | Saved browser state (cookies + localStorage) produced by a login |
| Scenario | An ordered list of steps that run in sequence against a shared browser instance |
Architecture
See docs/architecture.md.
Key descriptors
MCP tools
See docs/mcp.md.
Scenario execution
See docs/scenario.md.
Development
See docs/development.md for setup, running, testing, linting, and Docker instructions.
Languages
TypeScript
92.7%
CSS
6.6%
Dockerfile
0.3%
JavaScript
0.3%