eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
1 lines • 1.17 kB
JavaScript
import{normalizeChannelAudience}from"#shared/channel-audience.js";import{ChannelInstrumentationKey,ParentSessionKey,ParentTraceContextKey,SessionCallbackKey,SessionTraceSeedKey}from"#context/keys.js";import{ChannelKey}from"#runtime/sessions/runtime-context-keys.js";import{readForwardedTraceAssertion,resolveForwardedTraceSeed}from"#shared/forwarded-trace-policy.js";import{resolveParentLineage}from"#instrumentation/parent-lineage.js";import{readInstrumentationPrincipals}from"#instrumentation/principal-summary.js";function readInstrumentationSessionContext(e){let t=e.get(SessionTraceSeedKey),n=resolveForwardedTraceSeed(t),r=t===void 0||n===void 0?void 0:{...t,...n},i=e.get(ParentSessionKey),a=e.get(ChannelKey),o=e.get(ChannelInstrumentationKey),s=normalizeChannelAudience(o?.metadata.audience);return{audience:s,channel:a,context:e,forwardedTracePolicy:readForwardedTraceAssertion(r?.forwardedTracePolicy),instrumentation:o,parent:i,parentLineage:resolveParentLineage(i,a,e.get(SessionCallbackKey)),parentTraceContext:e.get(ParentTraceContextKey),principals:readInstrumentationPrincipals(e,s,r?.decision),traceSeed:r}}export{readInstrumentationSessionContext};