по идее это должно работать:
<div al-app="mainCtrl" >
            <div al-init="search={}">
                Name: <input type="text" al-value="search.name" /> <br/>
                Age: <input type="text" al-value="search.age" /> <br/>
            </div>
            <table class="table table-bordered">
                <tr al-repeat="it in list | smart:search">
                    <td>{{=it.name}}</td>
                    <td>{{=it.age}}</td>
                </tr>
            </table>
        </div>
но когда я меняю значения в input то al-repeat  не перестраивает дом
такой вариант рабочий:
<div al-app="mainCtrl" >
            <div al-init="search={}">
                Name: <input type="text" al-value="search.name" /> <br/>
                Age: <input type="text" al-value="search.age" /> <br/>
            </div>
            <table class="table table-bordered">
                <tr al-repeat="it in list | smart:search.name">
                    <td>{{=it.name}}</td>
                    <td>{{=it.age}}</td>
                </tr>
            </table>
        </div>
но такой вариант не позволяет передать объект целиком в фильтр
код JS тут:
alight.controllers.mainCtrl = function(scope) {
                scope.list = [{name:'Alex',age:35},{name:'Masha',age:28}];
            };
            alight.filters.smart = function (name, scope) {
                console.log(name, scope);
            }
Очень хотел заюзать эту библиотеку в проекте, но что-то не всё однозначно. Предыдущая версия позволяет делать что-то что я хочу, но не работают другие примеры из документации. 
версия 0.14