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

[bot] Vercel AI SDK: `experimental_evaluate` instrumentation is stale after upstream rename to `experimental_decide`

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

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
1-2 天
新手友好度
45/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
活跃
领域
ai, observability

调研方向

Start with the sole Vercel AI SDK entry in js/src/auto-instrumentations/configs/ai-sdk.ts (lines 18-31), which targets functionQuery experimental_evaluate for the ai >=7.0.103 <8.0.0 range, and read the comment above it. Check how the existing config entries and tests in that directory are structured, then see whether a decision-feature entry for experimental_decide fits the same pattern. Done when a call through experimental_decide yields a Braintrust span and the config is covered by a test.

由索引模型根据 Issue 内容生成。

描述

Summary

This repo's Vercel AI SDK instrumentation targets the function export experimental_evaluate to trace the AI SDK's structured-decision feature, but upstream renamed that export to experimental_decide in [email protected] ("feat: rename evaluate to decide"). The existing instrumentation config's version range (>=7.0.103 <8.0.0) still nominally spans the current ai release line (latest: 7.0.140), but it is matching against an export name (experimental_evaluate) that no longer corresponds to the feature's current public entrypoint upstream. This is an existing-instrumentation-goes-stale-after-upstream-rename gap, not a never-instrumented surface: calls made through the current public function name produce no Braintrust span.

What instrumentation is missing

  • experimental_decide(...) — the current public export (post-rename) for the AI SDK's structured decision/evaluation feature. Upstream continued developing this feature under the new name after the rename, including: image input support for "OpenAI Decisions and language model adapters" ([email protected]), ordered text/file/JSON parts in decision state ([email protected]), and serialization of decision file bytes as base64 in OpenTelemetry attributes — i.e. upstream already emits its own OTel attributes for this feature that this repo's tracing does not pick up.

Current (stale) coverage:

  • js/src/auto-instrumentations/configs/ai-sdk.ts:18-31 — the sole config entry for this feature targets functionQuery: { functionName: "experimental_evaluate", isExportAlias: true } against ai >=7.0.103 <8.0.0, dist/index.js. No entry anywhere in this file (or js/src/instrumentation/plugins/ai-sdk-*) references experimental_decide.
  • A repo-wide case-insensitive search for experimental_decide / generateDecision under js/src/ returns no matches.

Braintrust docs status

not_found — https://www.braintrust.dev/docs/integrations/ai-providers/vercel-ai-sdk and the Vercel AI SDK tracing cookbook describe Braintrust's AI SDK span coverage (generateText, streamText, generateObject, streamObject, tool-call child spans) and do not mention experimental_evaluate, experimental_decide, or a decision/evaluation span anywhere.

Upstream references

  • ai package changelog (raw): https://raw.githubusercontent.com/vercel/ai/main/packages/ai/CHANGELOG.md
    • 7.0.128: "feat: rename evaluate to decide"
    • 7.0.133: "Add ordered text, file, and JSON parts to experimental decision state"; image input support for "OpenAI Decisions and language model adapters"; "Serialize decision file bytes as base64" in OpenTelemetry attributes
    • 7.0.139: "Fix validation of rounded choice probabilities in experimental_decide"
    • Latest version in changelog: 7.0.140

Local files inspected

  • js/src/auto-instrumentations/configs/ai-sdk.ts — full file read; only experimental_evaluate is targeted, with a comment noting "Evaluation does not emit v7 telemetry callbacks. Instrument its public export."
  • Repo-wide case-insensitive grep for experimental_decide, generateDecision, decisions under js/src/ — no relevant matches
主要语言
TypeScript
星标
29
派生
16
平均合并
1 天 19 小时
30 天内合并 PR
69

环境准备

  • 提供 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 没有贡献指南

从这里开始

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

braintrustdata/braintrust-sdk-javascript 的其他 Issue

查看 braintrustdata/braintrust-sdk-javascript 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

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