feat(server-utils): Add TypeSafe integration - #24703
andreiborza wants to merge 2 commits into
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
size-limit report 📦
|
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 59126fd. Configure here.
| expect(span.attributes[GEN_AI_INPUT_MESSAGES]).toBeUndefined(); | ||
| expect(span.attributes[GEN_AI_OUTPUT_MESSAGES]).toBeUndefined(); | ||
| // State, questions and answers must not come back through another attribute (e.g. an error message). | ||
| expect(JSON.stringify(span)).not.toMatch(/cannot log in|Charges and refunds|0\.98/); |
There was a problem hiding this comment.
Flaky privacy regex matches timestamps
Medium Severity
The privacy assertion stringifies each span and forbids the substring 0.98. Streamed spans include fractional Unix start_timestamp and end_timestamp values, so a time whose decimal part contains 0.98 fails even when no evaluation data leaked. Flagged because the review rules call out flake-prone tests.
Triggered by project rule: PR Review Guidelines for Cursor Bot
Reviewed by Cursor Bugbot for commit 59126fd. Configure here.


What
Calls to TypeSafe's Jev through
@typesafe-ai/sdk(TypeSafeClient.systemOne) now create agen_ai.evaluatespan with the same shape as the Vercel AI evaluate span.instrumentTypeSafeClient()does the same for runtimes without auto-instrumentation.Why
Users who call Jev directly got only a plain
http.clientspan.Closes: #24693