grabart client write in TypeScript