Add admin views for quick replies, settings, and ticket details
- 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.
This commit is contained in:
39
app/Services/ToolCallRequestValidator.php
Normal file
39
app/Services/ToolCallRequestValidator.php
Normal file
@@ -0,0 +1,39 @@
|
||||
<?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'] ?? '')),
|
||||
];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user