- Created `quick-replies.blade.php` for managing quick replies. - Added `settings.blade.php` for admin settings management. - Implemented `ticket-show.blade.php` to display ticket details. - Introduced `timeline-card.blade.php` component for displaying timeline information. Enhance quick reply management functionality - Developed `quick-reply-manager.blade.php` for creating and editing quick replies. - Integrated Livewire for dynamic interaction and validation. Implement settings page for AI configuration - Created `settings-page.blade.php` for managing AI settings, including prompts and provider instances. - Added functionality for managing models and embeddings. Add ticket show functionality with real-time updates - Implemented ticket details view with processing status and tool call logs. - Added support for displaying article suggestions and error messages. Create unit tests for AI classifier and domain info tool - Added `AIClassifierServiceTest.php` to validate AI classifier functionality. - Implemented `DomainInfoToolTest.php` for domain parameter validation. - Created `OxxaClientTest.php` to test API interactions and password hashing.
40 lines
985 B
PHP
40 lines
985 B
PHP
<?php
|
|
|
|
namespace App\Services;
|
|
|
|
class ToolCallRequestValidator
|
|
{
|
|
public function validate(mixed $toolCall): ?array
|
|
{
|
|
if ($toolCall === null || $toolCall === '') {
|
|
return null;
|
|
}
|
|
|
|
if (! is_array($toolCall)) {
|
|
return null;
|
|
}
|
|
|
|
$action = (string) ($toolCall['action'] ?? '');
|
|
if ($action !== 'domain_inf') {
|
|
return null;
|
|
}
|
|
|
|
$parameters = is_array($toolCall['parameters'] ?? null) ? $toolCall['parameters'] : [];
|
|
$sld = trim((string) ($parameters['sld'] ?? ''));
|
|
$tld = trim((string) ($parameters['tld'] ?? ''));
|
|
|
|
if ($sld === '' || $tld === '') {
|
|
return null;
|
|
}
|
|
|
|
return [
|
|
'action' => $action,
|
|
'parameters' => [
|
|
'sld' => mb_strtolower($sld),
|
|
'tld' => mb_strtolower($tld),
|
|
],
|
|
'reason' => trim((string) ($toolCall['reason'] ?? '')),
|
|
];
|
|
}
|
|
}
|