eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
1 lines • 2.15 kB
JavaScript
import{applyAudienceCeiling}from"#shared/instrumentation-content.js";import{DROP_INSTRUMENTATION,intersectInstrumentationDecisions,readInstrumentationDecision}from"#shared/instrumentation-decision.js";const FAIL_CLOSED_FORWARDED_TRACE_ASSERTION={ceiling:{recordInputs:!1,recordOutputs:!1},originAudience:`unknown`};function decisionToTraceContentCeiling(e){let t=readInstrumentationDecision(e);return t?.action===`record`?{recordInputs:t.recordInputs,recordOutputs:t.recordOutputs}:void 0}function traceContentCeilingToDecision(e){return{action:`record`,...e}}function formatTraceContentCeiling(e){return`i${e.recordInputs?`1`:`0`}o${e.recordOutputs?`1`:`0`}`}function applyLiveDeliveryAudienceCeiling(e,t,n){return n!==void 0&&(t===`unknown`||t===n.originAudience)?e:applyAudienceCeiling(e,t)}function readForwardedTraceAssertion(e){if(e===void 0)return;if(typeof e!=`object`||!e||Array.isArray(e))return FAIL_CLOSED_FORWARDED_TRACE_ASSERTION;let t=e,n=t.ceiling;return typeof n!=`object`||!n||typeof n.recordInputs!=`boolean`||typeof n.recordOutputs!=`boolean`||t.originAudience!==`public`&&t.originAudience!==`private`&&t.originAudience!==`unknown`?FAIL_CLOSED_FORWARDED_TRACE_ASSERTION:{ceiling:{recordInputs:n.recordInputs,recordOutputs:n.recordOutputs},originAudience:t.originAudience}}function resolveForwardedTraceState(e){let t=readForwardedTraceAssertion(e.forwardedTracePolicy),n=readInstrumentationDecision(e.decision);if(t!==void 0){let e=traceContentCeilingToDecision(t.ceiling);n=n===void 0?DROP_INSTRUMENTATION:intersectInstrumentationDecisions(n,e)}return{decision:n,forwardedTracePolicy:t,traceFlags:n?.action===`drop`?e.traceFlags&-2:e.traceFlags}}function resolveForwardedTraceSeed(e,t){if(e===void 0)return;let n=Object.prototype.hasOwnProperty.call(e,`forwardedTracePolicy`);return resolveForwardedTraceState({decision:e.decision,forwardedTracePolicy:n?e.forwardedTracePolicy:t,traceFlags:e.traceFlags})}export{FAIL_CLOSED_FORWARDED_TRACE_ASSERTION,applyLiveDeliveryAudienceCeiling,decisionToTraceContentCeiling,formatTraceContentCeiling,readForwardedTraceAssertion,resolveForwardedTraceSeed,traceContentCeilingToDecision};