Lines 1-21javascript
1var AutotelDevtools=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=Array.isArray,n=Array.prototype.indexOf,r=Array.prototype.includes,i=Array.from,a=Object.defineProperty,o=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyDescriptors,c=Object.prototype,l=Array.prototype,u=Object.getPrototypeOf,d=Object.isExtensible;function f(e){return typeof e==`function`}var p=()=>{};function m(e){for(var t=0;t<e.length;t++)e[t]()}function h(){var e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}function g(e,t,n=!1){return e===void 0?n?t():t:e}functi ...
2\r\f\xA0\v`];function Ka(e,t,n){var r=e==null?``:``+e;if(t&&(r=r?r+` `+t:t),n){for(var i of Object.keys(n))if(n[i])r=r?r+` `+i:i;else if(r.length)for(var a=i.length,o=0;(o=r.indexOf(i,o))>=0;){var s=o+a;(o===0||Ga.includes(r[o-1]))&&(s===r.length||Ga.includes(r[s]))?r=(o===0?``:r.substring(0,o))+r.substring(s+1):o=s}}return r===``?null:r}function qa(e,t=!1){var n=t?` !important;`:`;`,r=``;for(var i of Object.keys(e)){var a=e[i];a!=null&&a!==``&&(r+=` `+i+`: `+a+n)}return r}function Ja(e){return e[0]!==`-`||e[1]!==`-`?e.toLowerCase():e}function Ya(e,t){if(t){var n=``,r,i;if(Array.isArray(t)?(r ...
3 ${t.span.scope.version?`@${t.span.scope.version}`:``}`)),B(e,n)};H(de,e=>{t.span.scope?.name&&e(fe)}),k(se),k(ae);var pe=
4 span received; the duration covers only the spans present.</div>`),Iv=z(`<span class="text-xs text-fg-muted tabular-nums flex-shrink-0"> </span>`),Lv=z(`<div class="px-4 py-2 border-b border-line flex items-center gap-2"><!> <!></div>`),Rv=z(`<div class="overflow-auto h-full"><div class="divide-y divide-line-subtle"></div></div>`),zv=z(`<!> <div class="flex-shrink-0 overflow-hidden"><!></div>`,1),Bv=z(`<div class="flex flex-col h-full"><div class="px-4 py-3 border-b border-line"><div class="flex items-center justify-between mb-3"><button><!> Back to traces</button> <div class="fl ...
5 ${L(o)===1?`match`:`matches`}`)),B(e,t)},c=j(()=>L(a).trim());H(r,e=>{L(c)&&e(i)}),k(t),B(e,t)};H(we,e=>{L(n)===`waterfall`&&e(Te)});var Ee=F(we,2),De=P(Ee),Oe=P(De),ke=e=>{{let n=j(()=>L(r)?.spanId);ug(e,{get trace(){return t.trace},onSpanSelect:i,get selectedSpanId(){return L(n)},get query(){return L(a)},onMatchCount:e=>N(o,e,!0)})}},Ae=e=>{{let n=j(()=>L(r)?.spanId);Dg(e,{get trace(){return t.trace},onSpanSelect:i,get selectedSpanId(){return L(n)}})}},je=e=>{var n=Rv(),a=P(n);U(a,21,()=>t.trace.spans,e=>e.spanId,(e,n)=>{{let a=j(()=>L(r)?.spanId===L(n).spanId);hv(e,{get span(){ret ...
6 cost, tool, MCP, sub-agent & skill usage will appear here.</p></div> <div class="flex items-center gap-2 bg-subtle border border-line rounded-md px-3 py-2 font-mono text-xs text-fg"><!> <span></span> <!></div> <p class="text-[11px] text-fg-muted/80 max-w-md">Uses OTLP <span class="font-mono">http/protobuf</span> to <span class="font-mono">:4318</span> — not the gRPC setup from most guides,
7 which this receiver doesn't speak.</p></div>`),by=z(`<span class="flex items-center gap-1 px-2 py-1 bg-subtle rounded-md text-red-600"><!> </span>`),xy=z(`<span class="px-2 py-1 bg-subtle rounded-md text-fg-muted font-mono"> </span>`),Sy=z(`<button><div class="flex items-center justify-between gap-2"><span class="font-mono text-xs text-fg truncate"> </span> <span class="text-[11px] text-fg-muted"> </span></div> <div class="flex items-center gap-2 mt-1 text-[11px] text-fg-muted"><span> </span> <span>·</span> <span> </span> <span>·</span> <span> </span></div></button>`),Cy=z(`<span class ...
8`)]),B(e,n)};H(C,e=>{t.span.warnings&&t.span.warnings.length>0&&e(w)});var T=F(C,2),ee=e=>{var t=sb(),n=P(t),r=P(n,!0);k(n),_v(F(n,2),{get value(){return L(h)},label:`Copy model name`,class:`opacity-0 group-hover:opacity-100 focus-visible:opacity-100 transition-opacity`}),k(t),I(()=>V(r,L(h))),B(e,t)};H(T,e=>{L(h)!==`unknown`&&e(ee)});var te=F(T,2),ne=P(te,!0);k(te);var E=F(te,2),re=P(E),ie=e=>{var n=cb(),r=P(n);k(n),I(e=>V(r,`trace ${e??``}…`),[()=>t.span.traceId.slice(0,8)]),R(`click`,n,function(...e){t.onOpenTrace?.apply(this,e)}),B(e,n)},ae=e=>{var n=lb(),r=P(n);k(n),I(e=>{K(n,`title`,t.sp ...
9 transcripts.</p></div>`),Hb=z(`<div class="p-4 text-sm text-fg-subtle italic">No conversation payload on this span. Enable content capture (<code class="text-xs">OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT=true</code>) in your instrumentation to see prompts and completions.</div>`),Ub=z(`<div class="p-3 space-y-2"></div>`);function Wb(e,t){Qe(t,!0);let n=(e,t=p)=>{let n=j(()=>i[t().role]??i.user),a=j(()=>L(n).icon);var o=Pb(),s=P(o),c=P(s),l=P(c);Aa(l,()=>L(a),(e,t)=>{t(e,{size:10})});var u=F(l);k(c);var d=F(c,2),f=e=>{var n=Mb(),r=P(n);k(n),I(()=>V(r,`finish: ${t().finishReason?? ...
11`)}let i={system:{wrap:`bg-subtle border-line`,chip:`bg-hover text-fg-muted`,label:`system`,icon:xm},user:{wrap:`bg-blue-500/10 border-blue-500/30`,chip:`bg-blue-500/15 text-blue-600`,label:`user`,icon:qm},assistant:{wrap:`bg-emerald-500/10 border-emerald-500/30`,chip:`bg-emerald-500/15 text-emerald-600`,label:`assistant`,icon:_f},tool:{wrap:`bg-amber-500/10 border-amber-500/30`,chip:`bg-amber-500/15 text-amber-600`,label:`tool`,icon:$m}};var a=ia(),o=Dr(a),s=e=>{var n=ia(),r=Dr(n),i=e=>{Eb(e,()=>t.span)},a=e=>{Db(e,()=>t.span)},o=e=>{B(e,Hb())};H(r,e=>{t.span.operation===`execute_handoff`||t. ...
12 attributes (any of <code class="text-xs">gen_ai.system</code>, <code class="text-xs">gen_ai.provider.name</code>, or <code class="text-xs">gen_ai.operation.name</code>). Works with Vercel AI
13 SDK <code class="text-xs">experimental_telemetry</code>, Pydantic AI +
14 Logfire, OpenAI Agents v2, Anthropic, Google GenAI, LangChain, OpenLLMetry
15 — anything following the spec.</p></div>`),Bx=z(`<div class="flex flex-col h-full"><!> <div class="flex-1 overflow-hidden"><!></div></div>`),Vx=z(`<div class="p-6 text-sm text-fg-subtle">Select a span (in List) to trace its run, or wait for a multi-span run
16 to arrive.</div>`),Hx=z(`<div class="flex flex-col h-full"><!> <!> <div class="flex-1 overflow-hidden"><!></div></div>`),Ux=z(`<div class="flex items-center justify-between px-3 pt-2"><button type="button" class="@md:hidden inline-flex items-center gap-1 px-1.5 py-0.5 rounded text-[11px] text-fg-subtle hover:text-fg hover:bg-hover transition-colors"><!> Back</button> <button type="button" class="ml-auto inline-flex items-center gap-1 px-1.5 py-0.5 rounded text-[11px] text-fg-subtle hover:text-fg hover:bg-hover transition-colors" title="Open this span in the Traces waterfall"><!> Open ...
17 AI tool calls and plain functions, with repeated calls collapsed into one
18 node (e.g. <code class="text-xs">calculate (5)</code>). Send a trace to
19 devtools and it appears here.</p></div>`),_S=z(`<option> </option>`),vS=z(`<select class="text-xs bg-surface border border-line rounded px-2 py-1 text-fg max-w-[16rem]"></select>`),yS=z(`<div class="flex items-center gap-1.5 text-xs font-medium text-fg-muted"><!> </div>`),bS=z(`<span> </span>`),xS=z(`<div class="flex items-center gap-1.5 px-2 py-0.5 rounded-full bg-accent/10 border border-accent/30 text-[11px] font-medium text-accent" title="Total LLM tokens and cost for this trace"><!> <!> <span class="font-mono text-accent/80"> </span></div>`),SS=z(`<span class="text-[10px] text-fg-mut ...
20 ${L(u).count===1?`call`:`calls`}`)},[()=>W(Q(`inline-block w-2 h-2 rounded-sm`,L(t).dot))]),B(e,n)};H(se,e=>{L(u)&&e(O)}),k(E),k(t),I(()=>{K(D,`width`,L(s).width),K(D,`height`,L(s).height),K(D,`viewBox`,`0 0 ${L(s).width} ${L(s).height}`)}),R(`focusin`,re,()=>N(x,!0)),R(`focusout`,re,()=>N(x,!1)),B(e,t)};H(w,e=>{!L(a)||!L(s)||L(s).nodes.length===0?e(T):e(ee,-1)}),B(e,C),$e()}Yi(
21@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeri ...
Long lines were clipped for display.