Self-Hosted LangSmith Alternatives: 4 Tools Tested on One TypeScript Agent