Enable Discovery debug logging for production troubleshooting

- Add DISCOVERY_LOG_LEVEL=debug
- Add DISCOVERY_SHOW_PROGRESS=true
- Temporary changes for debugging InitializerProcessor fixes on production
This commit is contained in:
2025-08-11 20:13:26 +02:00
parent 59fd3dd3b1
commit 55a330b223
3683 changed files with 2956207 additions and 16948 deletions

View File

@@ -0,0 +1,52 @@
<?php
declare(strict_types=1);
namespace App\Framework\Mcp;
use App\Framework\Core\AttributeMapper;
use App\Framework\Reflection\WrappedReflectionClass;
use App\Framework\Reflection\WrappedReflectionMethod;
final readonly class McpToolMapper implements AttributeMapper
{
public function getAttributeClass(): string
{
return McpTool::class;
}
public function map(WrappedReflectionClass|WrappedReflectionMethod $reflectionTarget, object $attributeInstance): ?array
{
if (! $reflectionTarget instanceof WrappedReflectionMethod || ! $attributeInstance instanceof McpTool) {
return null;
}
$class = $reflectionTarget->getDeclaringClass();
return [
'name' => $attributeInstance->name,
'description' => $attributeInstance->description,
'inputSchema' => $attributeInstance->inputSchema,
'class' => $class->getFullyQualified(),
'method' => $reflectionTarget->getName(),
'parameters' => $this->extractParameters($reflectionTarget),
];
}
private function extractParameters(WrappedReflectionMethod $method): array
{
$parameters = [];
foreach ($method->getParameters() as $param) {
$type = $param->getType();
$parameters[] = [
'name' => $param->getName(),
'type' => $type ? $type->getName() : 'mixed',
'required' => ! $param->isOptional(),
'default' => $param->isOptional() ? $param->getDefaultValue() : null,
];
}
return $parameters;
}
}