204:  local collected_rows=""
205:  collected_rows=$(cmd::list::_collect_all_rows | ui::sort_rows)
207:  if [[ -z "$collected_rows" ]]; then
213:    cmd::list::_render_detailed "$collected_rows"
214:    cmd::list::_render_summary_from_rows "$collected_rows"
223:    compact) cmd::list::_render_compact "$collected_rows" ;;
224:    *)       cmd::list::_render_compact "$collected_rows" ;;
229:# Row collection (single pass, all filters)
232:function cmd::list::_collect_all_rows() {
291:      attempt_ts=$(json::iso_to_ts "$last_ts")
567:  done < <(json::peer_data "$(ctx::clients)" "$(ctx::meta)" "$(ctx::events_log)")
604:    done < <(json::peer_group_map "$groups_dir")
63:  ip=$(peers::get_ip "$name")
64:  type=$(peers::get_type "$name")
65:  rule=$(peers::get_meta "$name" "rule")
67:  allowed_ips=$(grep "^AllowedIPs" "$(ctx::clients)/${name}.conf" \
73:  peers::is_blocked "$name" && is_blocked="true" || is_blocked="false"
80:  status=$(peers::format_status_verbose "$name" "$public_key" \
82:  last_seen=$(peers::format_last_seen "$name" "$public_key" \
87:  activity_total=$(peers::format_activity_total "$public_key")
90:  activity_current=$(peers::format_activity_current "$public_key")
98:      mapfile -t ext < <(json::get "$rule_file" "extends" 2>/dev/null || true)
117:  ui::row "Type"       "$(peers::display_type "$type")" "${INSPECT_LABEL_WIDTH}"
140:  rule=$(peers::get_meta "$name" "rule")
238:  mapfile -t groups < <(json::peer_groups "$(ctx::groups)" "$name")
250:    peer_count=$(json::count "$(group::path "$g")" "peers")
251:    [[ "$g" == "$(peers::get_main_group "$name")" ]] && \
263:  ip=$(peers::get_ip "$name")
291:  cat "$(ctx::clients)/${name}.conf"
330:  name=$(peers::resolve_and_require "$name" "$type") || return 1
