File size: 727 Bytes
4c76b0d | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | import type { ExecutionIdentityAdmissionToken } from "../../../audit/execution-identity-admission.js";
const parentExecutionIdentities = new WeakMap<object, ExecutionIdentityAdmissionToken>();
/** Carry exact parent provenance without adding it to public spawn context types. */
export function withParentExecutionIdentity<T extends object>(
context: T,
token: ExecutionIdentityAdmissionToken | undefined,
): T {
if (!token) {
return context;
}
const carried = { ...context };
parentExecutionIdentities.set(carried, token);
return carried;
}
export function readParentExecutionIdentity(
context: object,
): ExecutionIdentityAdmissionToken | undefined {
return parentExecutionIdentities.get(context);
}
|