# nimpak/types.nim
# Core data structures and types for the NimPak system

import std/[times, tables, options, json, hashes]

# Re-export the comprehensive types from types_fixed
include types_fixed

# Additional hash function for PackageId
proc hash*(pkg: PackageId): Hash =
  hash((pkg.name, pkg.version, pkg.stream))

# String conversion for debugging
proc `$`*(pkg: PackageId): string =
  result = pkg.name & "-" & pkg.version & "[" & $pkg.stream & "]"