Fix NLU flow: media_id, upload perm, catalog filter, nlu_description field
- WpWebhook: inject media_id into context before calling BotRouter so MediaTranscriber can download audio/image (was passing caption='') - BotRouter: use context['media_id'] for transcription (non-breaking fallback) - AiBot::processMedia: fix canUpload to include permType 1 (solo reporta) - AiBot::buildFlowCatalog: include text flows that have nlu_description set - DashboardController + index.php: add nlu_description field per flow card Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
bb4b5dab10
commit
1d9484a1e0
+4
-3
@@ -17,7 +17,7 @@ class AiBot
|
||||
default => 'un archivo',
|
||||
};
|
||||
|
||||
$canUpload = $permType === 3;
|
||||
$canUpload = in_array($permType, [1, 3], true); // 1=solo reporta, 3=ambos
|
||||
$permDesc = $canUpload
|
||||
? 'El usuario tiene permisos para subir información y reportes.'
|
||||
: 'El usuario solo puede recibir información o descargar informes, NO puede subir archivos.';
|
||||
@@ -382,8 +382,9 @@ PROMPT;
|
||||
if ($isUpload && !in_array($permType, [1, 3], true)) continue;
|
||||
if ($isDownload && !in_array($permType, [2, 3], true)) continue;
|
||||
|
||||
// Skip purely internal/navigation flows
|
||||
if (in_array($type, ['text', 'image'], true) && !$isUpload && !$isDownload) continue;
|
||||
// Skip internal/navigation flows unless they have an explicit NLU description
|
||||
$hasNluDesc = isset($flow['nlu_description']) && $flow['nlu_description'] !== '';
|
||||
if (in_array($type, ['text', 'image'], true) && !$isUpload && !$isDownload && !$hasNluDesc) continue;
|
||||
|
||||
$label = $flow['nlu_description'] ?? $labels[$key] ?? $key;
|
||||
$dir = $isUpload ? 'subida' : ($isDownload ? 'descarga' : '');
|
||||
|
||||
Reference in New Issue
Block a user