/**
 * @vaultfire/sdk — Official TypeScript SDK for Vaultfire Protocol
 *
 * The trust and accountability layer for AI agents.
 * Deployed on Base and Avalanche.
 *
 * @packageDocumentation
 */

// Core SDK
export {
  VaultfireSDK,
  createVaultfireSDK,
} from './vaultfire';

// Safe-defaults wrapper (privacy-preserving)
export {
  VaultfireSafeSDK,
  createVaultfireSafeSDK,
  createVaultfireSafeSDKForChain,
} from './safe';

// Types
export type {
  ChainId,
  VaultfireConfig,
  BeliefAttestation,
  VerificationResult,
  Attestation,
  ModuleInfo,
} from './vaultfire';

export type {
  VaultfireSafeConfig,
  VerifyStatementRequest,
} from './safe';

// Enums
export { ModuleType } from './vaultfire';

// Bonds module — partnership, accountability, insurance
export { BondsModule, BOND_CONTRACTS } from './bonds';
export {
  BaseSepoliaV3Rehearsal,
  BASE_SEPOLIA_V3_CHAIN_ID,
  OBJECTIVE_RULE_SCHEMA_VERSION,
  V3SAFE_NO_OBJECTIVE_RULE_SCHEMA_VERSION,
  ObjectiveRuleClassV3,
  assertObjectiveRuleV3,
  canonicalManifestContentHash,
  canonicalArtifactEvidenceAttestationHash,
  parseCanonicalEvidenceJson,
  validateBaseSepoliaV3ManifestJson,
  validateBaseSepoliaV3Manifest,
} from './baseSepoliaV3Rehearsal';
export type { BaseSepoliaV3RehearsalManifest, BaseSepoliaV3ArtifactEvidenceAttestation } from './baseSepoliaV3Rehearsal';
export type {
  BondType,
  PartnershipBond,
  PartnershipBondParams,
  AccountabilityBond,
  AccountabilityBondParams,
  InsuranceProfile,
  PoolStats,
} from './bonds';

// Trust module — partner-grade combined trust profile
export { TrustModule } from './trust';
export type {
  AgentTrustProfile,
  TrustClientOptions,
} from './trust';

// Tasks module — VaultfireTaskEscrow USDC task posting + settlement
export { TasksModule, TASK_CONTRACTS } from './tasks';
export type {
  EscrowTask,
  TaskBid,
  CreateTaskParams,
} from './tasks';

// Canonical V3 is additive and intentionally available only through this namespace.
export * as v3 from './v3';
