eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
1 lines • 878 B
JavaScript
const contentRedactions=new WeakMap,composedPolicies=new WeakMap;function redactSpanInputs(e=()=>!0){let t={};return contentRedactions.set(t,{inputs:[e],outputs:[]}),t}function redactSpanOutputs(e=()=>!0){let t={};return contentRedactions.set(t,{inputs:[],outputs:[e]}),t}function composeSpanExportPolicies(...e){if(e.length===0)return{};if(e.length===1)return e[0];let t={};return composedPolicies.set(t,e.flatMap(spanExportPolicyStages)),t}function spanExportPolicyStages(e){return composedPolicies.get(e)??[e]}function contentRedactionForSpan(e,t){let n=e===void 0?void 0:contentRedactions.get(e);return{redactInputs:n?.inputs.some(e=>matches(e,t))??!1,redactOutputs:n?.outputs.some(e=>matches(e,t))??!1}}function matches(e,t){try{return e(t)}catch{return!0}}export{composeSpanExportPolicies,contentRedactionForSpan,redactSpanInputs,redactSpanOutputs,spanExportPolicyStages};