{ "name": "marcreichel/laya-php", "description": "Self-hosted multilingual text classification for PHP: typed decisions from Laya (via laya-serve), no LLM API needed.", "type": "library", "license": "Apache-2.0", "keywords": ["laya", "jev", "jev-ai", "jev-api", "systemone", "classification", "text-classification", "zero-shot", "decisions", "nlp", "ai", "llm", "machine-learning", "multilingual", "sentiment", "ticket-triage", "sdk", "psr-18"], "authors": [ { "name": "Marc Reichel" } ], "require": { "php": "^8.4", "php-http/discovery": "^1.19", "psr/event-dispatcher": "^1.0", "psr/http-client": "^1.0", "psr/http-factory": "^1.0", "psr/http-message": "^1.1 || ^2.0", "psr/simple-cache": "^1.0 || ^2.0 || ^3.0" }, "suggest": { "laravel/framework": "The service provider registers Laya from config/laya.php (^13.0, auto-discovered).", "symfony/http-client": "Builds the HTTP client for the Laravel LAYA_TIMEOUT and LAYA_RETRIES settings." }, "bin": [ "bin/laya-eval" ], "autoload": { "psr-4": { "MarcReichel\\Laya\\": "src/" } }, "autoload-dev": { "psr-4": { "MarcReichel\\Laya\\Tests\\": "tests/" } }, "extra": { "laravel": { "providers": [ "MarcReichel\\Laya\\Laravel\\LayaServiceProvider" ] } }, "scripts": { "test": "pest", "test:coverage": [ "@putenv XDEBUG_MODE=coverage", "pest --coverage --min=100" ], "test:mutate": [ "@putenv XDEBUG_MODE=coverage", "pest --mutate --everything --parallel --min=100" ], "test:integration": "pest --group=integration", "test:contract": "pest --group=contract", "analyse": "phpstan analyse", "lint": "pint --test", "format": "pint", "rector": "rector process --dry-run" }, "config": { "sort-packages": true, "allow-plugins": { "pestphp/pest-plugin": true, "php-http/discovery": true } }, "minimum-stability": "stable", "prefer-stable": true, "require-dev": { "guzzlehttp/guzzle": "^8.2", "laravel/pint": "^1.32", "orchestra/testbench": "^11.0", "pestphp/pest": "^5.2", "phpstan/phpstan": "^2.2", "rector/rector": "^2.6", "symfony/http-client": "^8.1" } }