/** * asTracePort —— 把 span 侧适配成 `@drama/llm` `TracePort` 形状(`startSpan(name) → Span`)。 * * `sink` 必注入、原样透传给 `startSpan`;无「可能没有 sink」的守卫分支—— * 缺 tracePort 的降级由 `@drama/llm` 的 `noopTracePort` 承担,不在本包重复。 */ import { startSpan } from './span.js' /** * @typedef {import('./span.js').Sink} Sink * @typedef {import('@drama/llm').TracePort} TracePort */ /** * @param {object} deps * @param {Sink} deps.sink * @returns {TracePort} */ export function asTracePort({ sink }) { return { startSpan(name) { return startSpan(name, { sink }) }, } }