OverviewFilesCommitsIssuesDocsReleasesPeers

hyper-identity / index.js

52 lines · javascript ref:
/**
 * hyper-identity — Generic P2P identity management
 *
 * Provides multi-method authentication (ANProto, BIP39 mnemonic, bearer tokens, SSH keys),
 * Autobase-backed identity registry, device linking, and encrypted storage.
 *
 * Extracted from pear-git's battle-tested identity backend, genericized
 * with injectable permission model (resources instead of repos/notebooks).
 */

// Core authentication
export { AuthManager, Permissions, sendAuthError } from './lib/auth.js'

// ANProto protocol
export { ANProto } from './lib/anproto.js'

// Identity management
export { IdentityManager } from './lib/identity-manager.js'
export { DeviceLinker } from './lib/device-linker.js'
export { SecureStorage } from './lib/secure-storage.js'

// Autobase identity registry
export { IdentityRegistry } from './lib/auth/identity-registry.js'
export { createApplyFunction } from './lib/auth/identity-apply.js'
export { OpTypes, encodeOp, decodeOp, validateOp } from './lib/auth/identity-operations.js'

// Auth providers
export { BaseProvider } from './lib/auth/base-provider.js'
export { WebIdentityProvider } from './lib/auth/providers/web-identity.js'
export { KeetIdentityProvider } from './lib/auth/providers/keet-identity.js'
export { BearerTokenProvider } from './lib/auth/providers/bearer-token.js'
export { SSHKeyProvider } from './lib/auth/providers/ssh-key.js'
export { AtprotoProvider } from './lib/auth/providers/atproto.js'

// Auth helpers
export { ChallengeManager } from './lib/auth/challenge-manager.js'
export { RateLimiter } from './lib/auth/rate-limiter.js'
export { SSHKeyParser } from './lib/auth/ssh-parser.js'

// Hyperident master-vault bridge — load master, attest local writer
// devices, verify chains against the local master, export/import or
// network-share the master vault between machines.
export {
  loadHyperidentMaster,
  attestLocalDevice,
  verifyChainAgainstLocalMaster,
  exportMasterBundle,
  importMasterBundle,
  shareMasterVault,
  joinSharedDevice
} from './lib/hyperident-vault.js'