xet-object-viewer / README.md
assafvayner's picture
assafvayner HF Staff
update readme
fe77549
metadata
title: Xet Object Viewer
emoji: πŸ‘
colorFrom: purple
colorTo: indigo
sdk: static
pinned: false
app_build_command: pnpm run build:dist && ls -la
app_file: dist/index.html
license: mit
short_description: Display the contents of a xorb or a shard

XORB & Shard File Viewer

A static web application built with Svelte that allows you to upload and analyze XORB or Shard object files to view their metadata structure.

Features

  • File Upload: Drag & drop or click to upload XORB and Shard files
  • Automatic Detection: Automatically detects file type based on binary structure
  • Comprehensive Metadata Display: Shows detailed information about file contents
  • Responsive Design: Works on desktop and mobile devices
  • Error Handling: Provides clear error messages for invalid files

Supported File Types

πŸ“¦ XORB Files

XORB (Xet Orb) files contain collections of compressed chunks with metadata. The viewer displays:

  • Chunk count and sizes
  • Compression ratios
  • Hash information
  • Boundary offsets
  • Individual chunk details

πŸ—‚οΈ Shard Files

MDB Shard files store file metadata and content-addressable storage information for efficient deduplication. The viewer shows:

  • File information entries
  • CAS (Content Addressable Storage) data
  • Lookup tables
  • Timestamps and security keys
  • Header and footer details

Development

Prerequisites

  • Node.js 18+
  • pnpm (or npm/yarn)

Setup

cd xorb-shard-viewer
pnpm install
pnpm run dev

The application will be available at http://localhost:5173

Build for Production

pnpm run build

The static files will be generated in the build directory.

File Format Support

The application implements binary parsers for:

  • XORB Format: Based on the CAS object format with chunk compression and merkle hashing
  • Shard Format: MDB shard file format v2 with header, footer, file info, and CAS info sections

Architecture

  • Frontend: Svelte + TypeScript
  • Parsing: Custom binary parsers for both file formats
  • Styling: Component-scoped CSS with responsive design
  • Type Safety: Full TypeScript support with detailed type definitions

Browser Compatibility

Works in all modern browsers that support:

  • File API
  • ArrayBuffer/Uint8Array
  • ES2020+ features

Security

  • All file processing happens client-side
  • No data is uploaded to any server
  • Files are processed entirely in the browser's memory