@safeapi/safeapi
Version:
SafeAPI: Secure, deterministic, and tamper-resistant API policy engine for Node and browser.
32 lines (31 loc) • 1.09 kB
TypeScript
import type { Frozen } from "./shared/types";
import type { SafeApiPolicy } from "./SafeApiTypes";
/** @internal */
export declare class SafeApiPolicyError extends Error {
code: string;
kind: string;
constructor(message: string, code: string, kind?: string);
}
/** @internal */
export type FrozenSafeApiPolicy = Frozen<SafeApiPolicy>;
/** @internal */
export interface SafeApiPolicyDiff {
policyId: string;
fromVersion: string | null;
toVersion: string | null;
addedRules: string[];
removedRules: string[];
changedRules: Array<{
ruleId: string;
fromHash: string | null;
toHash: string | null;
}>;
}
/** @internal */
export declare function validatePolicy(policy: SafeApiPolicy): void;
/** @internal */
export declare function normalizePolicy(policy: SafeApiPolicy): FrozenSafeApiPolicy;
/** @internal */
export declare function computePolicyHash(policy: SafeApiPolicy | FrozenSafeApiPolicy): string;
/** @internal */
export declare function diffPolicies(oldPolicy: SafeApiPolicy, newPolicy: SafeApiPolicy): SafeApiPolicyDiff;