feat: added sample-csv command to download sample files with headers for csv file based uploads

Summary

This MR introduces a new sample-csv command to the CLI that allows users to download/generate sample CSV templates for supported upload workflows.

The feature provides predefined CSV files containing the required headers and structure for different upload types, helping users prepare valid CSV files before performing uploads.


What This MR Does

Adds support for generating/downloading sample CSV templates for:

  • Normal bulk uploads
  • Patch uploads
  • Extracted text uploads

The generated CSV files contain:

  • Required column headers
  • Correct CSV structure for the selected upload type

This reduces user errors caused by incorrect CSV formatting and improves overall usability of CSV-based upload flows.


Motivation

Users currently need to manually determine the required CSV structure for each upload type, which can lead to:

  • Invalid uploads
  • Missing headers
  • Incorrect column ordering
  • Increased support/debugging effort

Providing downloadable sample templates directly from the CLI improves discoverability and streamlines the upload process.


CLI Usage

<cli-name> sample-csv upload
<cli-name> sample-csv patch
<cli-name> sample-csv extracted-text

Acceptance Criteria

  • A new sample-csv command is available in the CLI
  • Users can generate/download sample CSV files for:
    • Bulk uploads
    • Patch uploads
    • Extracted text uploads
  • Generated CSVs contain the correct headers for the selected upload type
  • Generated files are valid CSV format
  • Command help/usage documentation is updated
  • Proper error handling exists for unsupported template types
  • File generation/download works across supported environments

Testing Performed

  • Verified CSV generation for all supported upload types
  • Verified generated headers match upload validation requirements
  • Tested command with valid and invalid template types
  • Verified generated files can be used successfully in upload workflows

Merge request reports

Loading