/**
 * @vaultfire/sdk-v3 — side-by-side with @vaultfire/agent-sdk v0.7.x.
 * Never redirects a V2 write to V3, and vice versa. `version: "v3"` must be
 * passed explicitly for every mutating call.
 */

export { VaultfireSDKv3, createVaultfireSDKv3, V3WritesBlockedError } from "./client";
export { BondsModuleV3 }      from "./bonds";
export { MandateModuleV3 }    from "./mandate";
export { RewardModuleV3 }     from "./rewards";
export { TasksModuleV3 }      from "./tasks";
export { ReputationModuleV3 } from "./reputation";
export { X402ClientV3 }       from "./x402";

export type {
  VaultfireV3Config,
  ProtocolVersion,
  ContractStatus,
  Finality,
  V3BondTerms,
  V3AccountabilityTerms,
  V3Mandate,
  V3EscrowTask,
  V3RewardProgram,
  V3StreetCredScore,
  V3RouteRegistryEntry,
} from "./types";
