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)
48 lines
1.2 KiB
PHP
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;
|
|
}
|