export { PERMISSION_CLIENT_PATH_BATCH, PERMISSION_CLIENT_PATH_CHECK, PERMISSION_CLIENT_PATH_EXPLAIN, PERMISSION_CLIENT_PATH_WHAT, PERMISSION_CLIENT_CONTEXT_EMPTY, PERMISSION_CLIENT_KEY_GLOBAL, PERMISSION_CLIENT_KEY_NONE, PERMISSION_CLIENT_KEY_SEPARATOR, PERMISSION_LOGGER_CATEGORY as LOGGER_CATEGORY, PERMISSION_HTTP_CREDENTIALS_INCLUDE, PERMISSION_HTTP_STATUS_BAD_REQUEST, PERMISSION_HTTP_STATUS_FORBIDDEN, PERMISSION_HTTP_STATUS_METHOD_NOT_ALLOWED, PERMISSION_HTTP_STATUS_NOT_FOUND, PERMISSION_HTTP_STATUS_OK, PERMISSION_HTTP_ERROR_METHOD_NOT_ALLOWED, PERMISSION_HTTP_ERROR_METHOD_NOT_ALLOWED_MESSAGE, PERMISSION_HTTP_ERROR_ROUTE_NOT_FOUND, PERMISSION_HTTP_ERROR_ROUTE_NOT_FOUND_MESSAGE, PERMISSION_REQUEST_FIELD_ACTION, PERMISSION_REQUEST_FIELD_ACTIONS, PERMISSION_REQUEST_FIELD_CHECKS, PERMISSION_REQUEST_FIELD_CONTEXT, PERMISSION_REQUEST_FIELD_RESOURCE, PERMISSION_RESPONSE_FIELD_ACTIONS, PERMISSION_RESPONSE_FIELD_DECISIONS, PERMISSION_RESPONSE_FIELD_ERROR } from '$libs/svrs/perm'; export const PERMISSION_CONTEXT_KEY = 'active.permissions'; export const PERMISSION_CLIENT_DEFAULT_CACHE_TTL_MS = 30_000; export const PERMISSION_CLIENT_DEFAULT_NON_ALLOW_CACHE_TTL_MS = 5_000; export const PERMISSION_CLIENT_DEFAULT_REMOTE_FAILURE_BACKOFF_MS = 1_000; export const PERMISSION_SNAPSHOT_DECISIONS_KEY = 'decisions'; export const PERMISSION_SNAPSHOT_GLOBAL_POLICY = 'snapshot.global'; export const PERMISSION_CLIENT_SCOPE_PREFIX = 'scope'; export const PERMISSION_CLIENT_DIAGNOSTIC_EVENTS = { REMOTE_BATCH_FAILED: 'perm.client.remote_batch_failed', REMOTE_CHECK_FAILED: 'perm.client.remote_check_failed', REMOTE_WHAT_FAILED: 'perm.client.remote_what_failed' } as const; // Method labels used by `ensureLive(method)` for error messages. They are // scoped with the artifact prefix `perm.` so that aggregated diagnostic // streams do not collide with identically-named methods from other modules // (`cach.check`, `sess.refresh`, etc.). export const PERMISSION_METHOD_CHECK = 'perm.check'; export const PERMISSION_METHOD_CAN = 'perm.can'; export const PERMISSION_METHOD_BATCH = 'perm.batch'; export const PERMISSION_METHOD_EXPLAIN = 'perm.explain'; export const PERMISSION_METHOD_WHAT = 'perm.what'; export const PERMISSION_METHOD_SUBSCRIBE = 'perm.subscribe'; export const PERMISSION_METHOD_CLEAR_ERROR = 'perm.clearError'; export const PERMISSION_METHOD_DECISION_KEY = 'perm.decisionKey'; export const PERMISSION_METHOD_HYDRATE = 'perm.hydrate'; export const PERMISSION_METHOD_INVALIDATE = 'perm.invalidate'; export const PERMISSION_AUTO_INVALIDATE_NONE = 'none'; export const PERMISSION_AUTO_INVALIDATE_STANDARD = 'standard'; export const PERMISSION_AUTO_INVALIDATE_USER_IDENTITY_CHANGE = 'userIdentityChange'; export const PERMISSION_AUTO_INVALIDATE_PERMISSIONS_REFRESH = 'permissionsRefresh'; export const PERMISSION_AUTO_INVALIDATE_TENANT_SWITCHED = 'tenantSwitched'; export const PERMISSION_LOG_MSG_REMOTE_CHECK_FAILED = 'remote authorization check failed'; export const PERMISSION_LOG_MSG_REMOTE_BATCH_FAILED = 'remote authorization batch failed'; export const PERMISSION_LOG_MSG_REMOTE_WHAT_FAILED = 'remote authorization what failed'; export const PERMISSION_LOG_MSG_DECISION = 'authorization decision'; export const PERMISSION_LOG_MSG_DENIED = 'authorization denied'; export const PERMISSION_LOG_MSG_INDETERMINATE = 'authorization indeterminate'; export const PERMISSION_DECISION_REASON_REMOTE_CHECK_FAILED = 'permission.remote.check_failed'; export const PERMISSION_DECISION_REASON_REMOTE_BATCH_FAILED = 'permission.remote.batch_failed'; export const PERMISSION_ERROR_MSG_REQUEST_FAILED_PREFIX = 'Authorization request failed: '; export const PERMISSION_ERROR_MSG_RESPONSE_NOT_JSON_PREFIX = 'Authorization response is not valid JSON: '; export const PERMISSION_ERROR_MSG_NO_CONTEXT = 'Permission context is not available'; export const PERMISSION_ERROR_MSG_DISPOSED_SUFFIX = '() called on a disposed permissions client'; export const PERMISSION_ERROR_MSG_CLIENT_ENDPOINT_REQUIRED = 'createActivePermissions requires an endpoint'; export const PERMISSION_ERROR_NAME_INVALID_ENDPOINT = 'PermInvalidEndpointError'; export const PERMISSION_ERROR_NAME_NO_CONTEXT = 'PermNoContextError'; export const PERMISSION_ERROR_NAME_REMOTE_REQUEST = 'PermRemoteRequestError'; export const PERMISSION_ERROR_NAME_DISPOSED = 'PermDisposedError';