queryAll(); } catch (\Throwable) { // fail-open: may not be available in CLI context } return [ 'addressBook' => [ 'url' => lurl('address-book'), 'activeSearch' => trim((string) ($query['search'] ?? '')), 'activeTenants' => appNormalizeStringList($query['tenants'] ?? ''), 'activeDepartments' => appNormalizePositiveIntList($query['departments'] ?? ''), 'activeRoles' => appNormalizePositiveIntList($query['roles'] ?? ''), 'activeCustomFilters' => appNormalizeAddressBookCustomFilterQuery($query), 'peopleGroups' => is_array($session['available_departments_by_tenant'] ?? null) ? $session['available_departments_by_tenant'] : [], ], ]; } }