@endo/compartment-mapper
Version:
The compartment mapper assembles Node applications in a sandbox
34 lines • 2.16 kB
TypeScript
export function detectAttenuators(policy?: Policy): Array<string>;
export function dependencyAllowedByPolicy(canonicalName: CanonicalName, packagePolicy: PackagePolicy): boolean;
export function makePackagePolicy(label: CanonicalName | typeof ATTENUATORS_COMPARTMENT | typeof ENTRY_COMPARTMENT, { policy }?: {
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 | undefined, attenuators: DeferredAttenuatorsProvider, pendingJobs: Array<Promise<any>>, name?: string): void;
export function enforcePolicyByModule(specifier: string, compartmentDescriptor: CompartmentDescriptor, { exit, errorHint }?: EnforceModulePolicyOptions): void;
export function enforcePackagePolicyByCanonicalName(compartmentDescriptor: CompartmentDescriptor, referrerCompartmentDescriptor: CompartmentDescriptor, { errorHint }?: EnforceModulePolicyOptions): void;
export function attenuateModuleHook(specifier: string, moduleDescriptor: ModuleDescriptor, policy: PackagePolicy | undefined, attenuators: DeferredAttenuatorsProvider): Promise<ModuleDescriptor>;
/**
* Options for {@link enforcePolicyByModule}
*/
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 { CanonicalName } from './types.js';
import type { PackagePolicy } from './types.js';
import { ATTENUATORS_COMPARTMENT } from './policy-format.js';
import { ENTRY_COMPARTMENT } from './policy-format.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';
import type { ModuleDescriptor } from 'ses';
//# sourceMappingURL=policy.d.ts.map