#!/usr/bin/env -S uv run --script # /// script # requires-python = ">=3.11" # dependencies = [ # "httpx", # "typer", # ] # /// """Read text document content from the document sync server.""" import typer from pathlib import Path import json import sys # Add lib directory to path for imports sys.path.insert(0, str(Path(__file__).parent / "lib")) from config import Config from client import DocumentClient app = typer.Typer(add_completion=False) @app.command() def main( document_id: str = typer.Argument(..., help="Document ID to read content from"), ): """Read text document content directly to stdout (text files only).""" try: # Create client and read document config = Config() client = DocumentClient(config) content = client.read_document(document_id) # Output raw content to stdout (no JSON wrapper) print(content, end="") except Exception as e: # Output error as JSON to stderr error = {"error": str(e)} print(json.dumps(error), file=sys.stderr) raise typer.Exit(1) if __name__ == "__main__": app()