Generic framework features, code-only — the tables come from the schema snapshot:
- controllers/account.php — email signup (verified) + Google OAuth (server-side auth-code
flow, async-popup friendly); native password_hash sessions on sp_users; sp_oauth_accounts +
sp_user_tokens; PublicController origin+throttle guards; {ok,data,error} envelope.
- Helpers/Mailer.php — transactional email: Brevo HTTP API (Guzzle) -> SMTP fallback
(PHPMailer) -> logs; config in sp_settings (encrypted).
- cli/rebuild.php — queue a static rebuild (sp_settings rebuild_pending flag) after DB edits.
- cli/resources.php — read a curated source registry (mde_resources) per agent_type.
- db/seed_google_oauth.php, db/seed_email.php — env-seeded encrypted secrets into sp_settings.
- templates/emails/verify.html — verification email template.
- composer.json — declare guzzlehttp/guzzle ^7.10 (account.php + Mailer use GuzzleHttp\Client).
Depends on the schema-snapshot branch (sp_users / sp_oauth_accounts / sp_user_tokens /
sp_settings / mde_resources) plus `composer require guzzlehttp/guzzle`. No data.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FMQeUnUrAeexcZ7P2Hxa6G
51 lines
1.6 KiB
JSON
51 lines
1.6 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/guzzle": "^7.10",
|
|
"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
|
|
}
|
|
}
|
|
}
|