Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Instrument TypeSafe Jev (`@typesafe-ai/sdk`)

未关闭
#24,693 2 条评论 0 个 reaction 已指派 1 人 在 GitHub 查看

维护者通常 1 天内回复

@andreiborza 已经在做这个了。

开始于 2026年9月24日。

评估

这个 Issue 还没有评估数据。

描述

Waiting for: Product Owner

TypeSafe's official SDK (@typesafe-ai/sdk, latest 0.6.0) calls the Jev evaluation model with TypeSafeClient.systemOne({ state, questions, model? }). Users who call Jev directly (not through Vercel AI experimental_evaluate, see getsentry/sentry-javascript#24692) get no span today, only a plain http.client span from fetch.

Scope

  • Add a new AI integration in packages/server-utils/: logic in src/ai/typesafe/, integration in src/integrations/typesafe.ts, registered in getTracingIntegrations(). Re-export it from the runtime packages.
  • Instrument TypeSafeClient.prototype.systemOne. Make one span for each call, not one span for each retry.
  • models.list() is out of scope.

Target span

Use the same shape as the Vercel AI evaluate span in getsentry/sentry-javascript#24692, so that both paths look the same in the product.

  • Name: evaluate <model>, op gen_ai.evaluate, origin auto.ai.typesafe
  • gen_ai.operation.name: evaluate, gen_ai.provider.name: typesafe
  • gen_ai.request.model (the model option, or the client default, jev-latest), gen_ai.response.model (result.model, for example jev-1.13.0)
  • gen_ai.usage.input_tokens, output_tokens, total_tokens (from result.usage.input_tokens / output_tokens)
  • gen_ai.input.messages: [{ type: 'evaluation', state, questions }] (only when recordInputs is on)
  • gen_ai.output.messages: [{ type: 'evaluation', answers }] (only when recordOutputs is on)
  • Set the span status to error when the call throws (TypeSafeError and API errors).

Notes

  • The SDK sends requests with fetch to POST /v1/systemone. It has no tracing channel, so we must patch the client.
  • @sentry/conventions has no gen_ai.evaluate op yet (same gap as getsentry/sentry-javascript#24692).
  • Add a node-integration test with a mocked TypeSafe API server.
主要语言
TypeScript
星标
8.7k
派生
1.9k
平均合并
1 天 16 小时
30 天内合并 PR
552

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

getsentry/sentry-javascript 的其他 Issue

查看 getsentry/sentry-javascript 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。