@endo/compartment-mapper
Version:
The compartment mapper assembles Node applications in a sandbox
49 lines • 2.58 kB
TypeScript
/**
* Const string to identify the internal attenuators compartment
*/
export const ATTENUATORS_COMPARTMENT: "<ATTENUATORS>";
export function detectAttenuators(policy?: Policy): Array<string>;
export function dependencyAllowedByPolicy(namingKit: PackageNamingKit, packagePolicy: PackagePolicy): boolean;
/**
* Returns the policy applicable to the canonicalName of the package
*
* @overload
* @param {PackageNamingKit} namingKit - a key in the policy resources spec is derived from these
* @param {SomePolicy} policy - user supplied policy
* @returns {SomePackagePolicy} packagePolicy if policy was specified
*/
export function getPolicyForPackage(namingKit: PackageNamingKit, policy: SomePolicy): SomePackagePolicy;
/**
* Returns `undefined`
*
* @overload
* @param {PackageNamingKit} namingKit - a key in the policy resources spec is derived from these
* @param {SomePolicy} [policy] - user supplied policy
* @returns {SomePackagePolicy|undefined} packagePolicy if policy was specified
*/
export function getPolicyForPackage(namingKit: PackageNamingKit, policy?: SomePolicy | undefined): SomePackagePolicy | undefined;
export function makeDeferredAttenuatorsProvider(compartments: Record<string, Compartment>, compartmentDescriptors: Record<string, CompartmentDescriptor>): DeferredAttenuatorsProvider;
export function attenuateGlobals(globalThis: object, globals: object, packagePolicy: PackagePolicy, attenuators: DeferredAttenuatorsProvider, pendingJobs: Array<Promise<any>>, name?: string): void;
export function enforceModulePolicy(specifier: string, compartmentDescriptor: CompartmentDescriptor, { exit, errorHint }?: EnforceModulePolicyOptions): void;
export function attenuateModuleHook(specifier: string, originalModuleRecord: import("ses").ThirdPartyStaticModuleInterface, policy: PackagePolicy, attenuators: DeferredAttenuatorsProvider): Promise<import("ses").ThirdPartyStaticModuleInterface>;
/**
* Options for {@link enforceModulePolicy}
*/
export type EnforceModulePolicyOptions = {
/**
* - Whether it is an exit module
*/
exit?: boolean | undefined;
/**
* - Error hint message
*/
errorHint?: string | undefined;
};
import type { Policy } from './types.js';
import type { PackageNamingKit } from './types.js';
import type { PackagePolicy } from './types.js';
import type { SomePolicy } from './types.js';
import type { SomePackagePolicy } from './types.js';
import type { CompartmentDescriptor } from './types.js';
import type { DeferredAttenuatorsProvider } from './types.js';
//# sourceMappingURL=policy.d.ts.map