Files
marcocosta10000 79d12fa2f4 feat: add City10 platform with Laravel 13, AI agents, 3D viewer, and LGPD compliance
Initial commit of the complete City10 virtual city simulation platform.

Backend (Laravel 13):
- REST API with Sanctum tokens and session-based web authentication
- Role-based access control (admin/user) with middleware protection
- AI agent CRUD with OpenRouter.ai integration restricted to free models
- Store management with 3D coordinates and AI shopkeeper assignment
- Versioned legal documents (Terms, Privacy, Cookies) with LGPD audit trail
- Math CAPTCHA on public forms and multi-language support (pt_BR, en, es)

Frontend:
- Responsive Blade templates with Tailwind CSS v4
- Three.js 3D city viewer with SSE chat streaming to AI agents
- Admin panel for store and user administration

Infrastructure:
- MariaDB/MySQL database with comprehensive migrations
- Database seeders for demo content and test accounts
- PHPUnit test suite and Laravel Pint code styling
- Vite build configuration with hot reload
2026-10-17 20:46:15 -03:00

79 lines
2.7 KiB
PHP
Executable File

<?php
return [
/*
|--------------------------------------------------------------------------
| OpenRouter.ai Integration
|--------------------------------------------------------------------------
|
| Credentials and behaviour settings used by the AI agents to take
| strategic decisions through the OpenRouter.ai chat completions API.
| The API key must be provided via the OPENROUTER_API_KEY env variable
| and must never be committed to version control.
|
*/
'openrouter' => [
'api_key' => env('OPENROUTER_API_KEY'),
'base_url' => env('OPENROUTER_BASE_URL', 'https://openrouter.ai/api/v1'),
'timeout' => (int) env('OPENROUTER_TIMEOUT', 30),
'app_name' => env('APP_NAME', 'City10'),
'app_url' => env('APP_URL', 'http://localhost:16980'),
],
/*
|--------------------------------------------------------------------------
| Allow-listed Free Models
|--------------------------------------------------------------------------
|
| Only the free models listed below may be selected for AI agents.
| Administrators cannot register agents with models outside this list,
| which keeps operating costs at zero and enforces the platform policy.
|
*/
'allowed_models' => [
'poolside/laguna-m.1:free',
'cohere/north-mini-code:free',
'deepseek/deepseek-v4-flash-0731:free',
'qwen/qwen3.8-27b:free',
'nvidia/nemotron-3-ultra-550b-a55b:free',
'nvidia/nemotron-3-super-120b-a12b:free',
'google/gemma-4-31b-it:free',
'google/gemma-4-26b-a4b-it:free',
'openai/gpt-oss-20b:free',
'nvidia/nemotron-nano-12b-v2-vl:free',
'nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free',
'nvidia/nemotron-3-nano-30b-a3b:free',
'nvidia/nemotron-nano-9b-v2:free',
'poolside/laguna-xs-2.1:free',
'inclusionai/ling-3.0-flash-vl:free',
'qwen/qwen3.7-flash:free',
],
/*
|--------------------------------------------------------------------------
| Default Model
|--------------------------------------------------------------------------
|
| Model assigned to newly created agents when none is specified.
|
*/
'default_model' => env('AI_DEFAULT_MODEL', 'deepseek/deepseek-v4-flash-0731'),
/*
|--------------------------------------------------------------------------
| Agent Decision Cadence (seconds)
|--------------------------------------------------------------------------
|
| Minimum interval between two reasoning calls for the same agent,
| protecting the upstream API from excessive usage.
|
*/
'think_interval' => (int) env('AI_THINK_INTERVAL', 60),
];