liquiddesign / liquid-monitor-connector
Connector mezi webem a Liquid Monitor
Package info
github.com/liquiddesign/liquid-monitor-connector
pkg:composer/liquiddesign/liquid-monitor-connector
Requires
- php: >=8.1
- guzzlehttp/guzzle: ^7.0
- liquiddesign/base: ^2.0.33
- liquiddesign/nette-log-viewer: ^1.2
- nesbot/carbon: ^2.0 || ^3.0
- nette/application: ^3.0
- nette/di: ~3.0
- nette/http: ^3.0
- nette/security: ^3.0
- nette/utils: ^3.0 || ^4.0
- symfony/console: ^7.0 || ^8.0
- symfony/dotenv: ^7.0 || ^8.0
- symfony/process: ^7.0 || ^8.0
- tracy/tracy: ^2.0
Requires (Dev)
- composer/composer: ~2.0
- liquiddesign/codestyle: ~3.0.9
- liquiddesign/migrator: ~1.0
- nette/tester: ^2.0
- phpcompatibility/php-compatibility: ^9.0
- phpstan/phpstan-nette: ^2.0
This package is auto-updated.
Last update: 2026-06-09 13:21:26 UTC
README
Connector mezi webem a Liquid Monitor.
Components
Cron(src/Cron.php) — Nette DI integrace pro produkční reporting (schedule-job, error logging, health check).orchestrator:run(bin/orchestrator-run) — autonomous programming worker. Pollne/api/orchestrator/worker/poll, v repo-mode pracuje přímo v repu (volitelně git worktree), spustí tmux + interaktivní Claude Code REPL (send-keys,--resume), doručí brief, parsuje JSON milníky, spustícomposer testa zapíšetriage_resultzpět na monitor.orchestrator-init(bin/orchestrator-init) — jednorázový setup hostu: vygeneruje<repo>/.orchestrator/.env, doplní.orchestrator/do.gitignorea ověří kredity proti monitoru.LiquidMonitorLogViewerDI(src/Bridges/LiquidMonitorLogViewerDI.php) — DI extension, která vystaví read-only JSON API pro Tracy logy přímo z connectoru. Bundluje balíčekliquiddesign/nette-log-viewera registruje jeho routy/presentery, takže hostová aplikace nemusí balíček instalovat ani registrovat zvlášť. Viz Log viewer.
Starý bin/triage-pull (read-only claude -p) je nahrazen orchestrátorem — nepoužívat.
Log viewer
Connector umí vystavit identické API jako liquiddesign/nette-log-viewer — read-only přístup k Tracy logům (Debugger::$logDirectory) přes JSON endpointy pod /<urlPrefix>/api/<action> (list, stat, view, search, download). Slouží monitoru/orchestrátoru pro čtení logů aplikace.
Registrace v host aplikaci:
extensions: liquidMonitorLogViewer: LiquidMonitorConnector\Bridges\LiquidMonitorLogViewerDI # volitelné (výchozí hodnoty níže): liquidMonitorLogViewer: urlPrefix: log-viewer presenter: LogViewer:LogViewer apiPresenter: LogViewer:LogViewerApi registerRoutes: true # false = routy si spravuje host sám registerPresenterMapping: true # false = host má vlastní presenter mapping
Přístup je gatovaný přes Tracy debug mode (Debugger::isEnabled()) ve startupu presenterů — stejně jako v samotném balíčku. Žádná další autentizace se nepřidává; produkční přístup monitoru je tedy nutné řešit přes Tracy debug allowlist (IP), případně vlastními subclassy presenterů v aplikaci.
Orchestrator worker setup
1. Projekt na monitoru
php artisan triage:provision-project <id> --json --repo-path=/opt/autonomy/my-app
Vytvoří triage_api_key, zapne orchestrator_enabled a založí git context source pro daný repo path.
2. Host (z kořene repa)
/path/to/liquid-monitor-connector/bin/orchestrator-init
Vypíše .env do <repo>/.orchestrator/.env. Potřeba jsou jen dvě hodnoty:
ORCHESTRATOR_MONITOR_URL=https://monitor.lqd.cz ORCHESTRATOR_API_KEY=trk_…
Kapacita, claude_binary a turn timeout přicházejí z monitoru (orchestrator_settings); odpovídající env proměnné jsou jen volitelný debug override. Alias env vars: TRIAGE_MONITOR_URL, TRIAGE_API_KEY, …
3. Cron
* * * * * /path/to/liquid-monitor-connector/bin/orchestrator-run --env-file=/opt/autonomy/my-app/.orchestrator/.env >> /var/log/orchestrator-run.log 2>&1
Pre-flight
git,tmux,claudev PATH (kontroluje iorchestrator-init)orchestrator_repo_pathna projektu ukazuje na existující clone- Repo-mode (default): čistý pracovní strom (modifikované tracked soubory blokují běh; untracked se ignorují)
Development
composer install composer check-code