seedproject-web/api/composer.json
Carlos Arias 1fdfc3174b feat(api): Foundation — installer, migrations, two-tier auth, health round-trip
Builds the /api Foundation into the base (per api/.memory/foundation-plan.md):
- app/Services/Installer.php  DB test + dump.sql import + crypto keys + /api config + lock
- app/Services/Migrator.php   versioned db/migrations/*.sql runner (+ migrations table)
- commands/InstallCommand.php (app:install), commands/MigrateCommand.php (db:migrate)
- app/Controllers/{JsonController,PublicController,ApiController}  envelope + two-tier auth
- public/controllers/{health,admin}.php  GET /api/health (public), /api/admin/ping (bearer)
- db/migrations/001_*.sql  smoke migration
- install/controllers/index.php  web wizard now delegates to Installer (path bugs fixed, lock)
- console + composer.json  register commands / add commands to classmap
- app/src/pages/api-health-test.astro  browser round-trip proof page

Verified (no DB): composer install OK; php console lists app:install + db:migrate;
PSR-4 classes autoload; CLI fails gracefully (validation, bad DB, missing config) with
no artifacts left; app builds 14 pages. Live DB + HTTP round-trip pending a served instance.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SYHWLHihq3v9nxNwoPCKSn
2026-07-04 23:23:51 +00:00

50 lines
1.5 KiB
JSON

{
"name": "seedproject/seedproject",
"require": {
"anthropic-ai/sdk": "^0.3.0",
"carbonphp/carbon-doctrine-types": "^2.1.0",
"getbrevo/brevo-php": "^1.0.2",
"guzzlehttp/promises": "^2.3.0",
"guzzlehttp/psr7": "^2.8.0",
"mashape/unirest-php": "^3.0.4",
"nyholm/psr7": "^1.8.2",
"php-http/discovery": "^1.20.0",
"php-http/multipart-stream-builder": "^1.4.2",
"phpmailer/phpmailer": "^6.12.0",
"psr/container": "^2.0.2",
"psr/http-client": "^1.0.3",
"psr/http-factory": "^1.1.0",
"psr/http-message": "^2.0",
"symfony/console": "^5.4.47",
"symfony/deprecation-contracts": "^3.6.0",
"symfony/polyfill-ctype": "^1.33.0",
"symfony/polyfill-intl-grapheme": "^1.33.0",
"symfony/polyfill-intl-normalizer": "^1.33.0",
"symfony/polyfill-mbstring": "^1.33.0",
"symfony/polyfill-php73": "^1.33.0",
"symfony/polyfill-php80": "^1.33.0",
"symfony/service-contracts": "^3.6.1",
"symfony/string": "^6.4.30"
},
"autoload": {
"classmap": [
"commands",
"core/",
"app/Helpers",
"app/Controllers",
"app/Components",
"app/Gateways",
"system/"
],
"psr-4": {
"App\\": "app",
"Models\\": "models"
}
},
"config": {
"platform-check": false,
"allow-plugins": {
"php-http/discovery": true
}
}
}