{{-- AI Assistant Setup — shared between create + edit. Inputs from caller: $assistantModes : array (key => description) $model (optional) : ModelItem when editing; null on create --}} @php $existingMode = old('ai_assistant_mode', $model?->ai_assistant_mode ?? 'default'); $existingInstruction = old('ai_assistant_custom_instruction', $model?->ai_assistant_custom_instruction ?? ''); $oldPrompts = old('assistant_prompts'); if (is_array($oldPrompts)) { $promptsForForm = collect($oldPrompts) ->filter(fn ($p) => is_array($p) && trim((string) ($p['prompt_text'] ?? '')) !== '') ->map(fn ($p) => [ 'prompt_text' => trim((string) ($p['prompt_text'] ?? '')), 'is_active' => array_key_exists('is_active', $p) ? (bool) $p['is_active'] : true, ]) ->values() ->all(); } elseif (isset($model) && $model && $model->assistantPrompts) { $promptsForForm = $model->assistantPrompts->map(fn ($p) => [ 'prompt_text' => $p->prompt_text, 'is_active' => (bool) $p->is_active, ])->all(); } else { $promptsForForm = []; } $suggestUrl = isset($model) && $model && $model->exists ? route('staff.models.assistant.suggest', $model) : null; @endphp