Files
michaelschiemer/src/Framework/Console/Result/ConsoleResult.php
Michael Schiemer 3ed2685e74 feat: add comprehensive framework features and deployment improvements
Major additions:
- Storage abstraction layer with filesystem and in-memory implementations
- Gitea API integration with MCP tools for repository management
- Console dialog mode with interactive command execution
- WireGuard VPN DNS fix implementation and documentation
- HTTP client streaming response support
- Router generic result type
- Parameter type validator for framework core

Framework enhancements:
- Console command registry improvements
- Console dialog components
- Method signature analyzer updates
- Route mapper refinements
- MCP server and tool mapper updates
- Queue job chain and dependency commands
- Discovery tokenizer improvements

Infrastructure:
- Deployment architecture documentation
- Ansible playbook updates for WireGuard client regeneration
- Production environment configuration updates
- Docker Compose local configuration updates
- Remove obsolete docker-compose.yml (replaced by environment-specific configs)

Documentation:
- PERMISSIONS.md for access control guidelines
- WireGuard DNS fix implementation details
- Console dialog mode usage guide
- Deployment architecture overview

Testing:
- Multi-purpose attribute tests
- Gitea Actions integration tests (typed and untyped)
2025-11-04 20:39:48 +01:00

48 lines
1.2 KiB
PHP

<?php
declare(strict_types=1);
namespace App\Framework\Console\Result;
use App\Framework\Console\ConsoleOutputInterface;
use App\Framework\Console\ExitCode;
use App\Framework\Router\ActionResult;
/**
* Console Result Interface
*
* Represents the result of a console command execution.
* Similar to HTTP ActionResult, but for console output.
*
* Results are value objects that encapsulate:
* - Exit code (success/failure)
* - Rendering logic
* - Metadata for testing/introspection
*/
interface ConsoleResult extends ActionResult
{
/**
* Exit code for this result
*
* Determines the process exit code (0 = success, >0 = failure)
*/
public ExitCode $exitCode { get; }
/**
* Metadata for testing/introspection
*
* Returns array with result data that can be inspected in tests.
* Useful for asserting on result contents without rendering.
*
* @return array<string, mixed>
*/
public array $data { get; }
/**
* Render result to console output
*
* Implementations should write to the provided output interface.
*/
public function render(ConsoleOutputInterface $output): void;
}