* feat: accept pdf, images and office files * refactor: rename FileConverter to FileParser, simplify file retain API - Rename engine/converters/ → engine/parsers/, FileConverter → FileParser, ConverterRegistry → FileParserRegistry, MarkitdownConverter → MarkitdownParser - Rename env var HINDSIGHT_API_FILE_CONVERTER → HINDSIGHT_API_FILE_PARSER - Remove async/document_tags params from FileRetainRequest (always async now) - Add retain_files() to Python Hindsight client and retainFiles() to TypeScript client - Add sample.pdf to doc examples for working file upload demonstrations - Update test_file_retain.py to use new parser names and always-async behavior - Fix Go client missing os import in api_files.go - Simplify postgresql.py storage to minimal schema * fix: update rust CLI tests to use is_supported_file instead of is_text_file * fix: patch Go api_files.go to add missing 'os' import after generation * fix: insert 'os' import after 'net/url' in api_files.go patch for correct position * chore: regenerate OpenAPI spec and clients (converter→parser description update)
57 lines
1.8 KiB
Bash
Executable file
57 lines
1.8 KiB
Bash
Executable file
#!/bin/bash
|
|
# Retain API examples for Hindsight CLI
|
|
# Run: bash examples/api/retain.sh
|
|
|
|
set -e
|
|
|
|
HINDSIGHT_URL="${HINDSIGHT_API_URL:-http://localhost:8888}"
|
|
|
|
# =============================================================================
|
|
# Doc Examples
|
|
# =============================================================================
|
|
|
|
# [docs:retain-basic]
|
|
hindsight memory retain my-bank "Alice works at Google as a software engineer"
|
|
# [/docs:retain-basic]
|
|
|
|
|
|
# [docs:retain-with-context]
|
|
hindsight memory retain my-bank "Alice got promoted" \
|
|
--context "career update"
|
|
# [/docs:retain-with-context]
|
|
|
|
|
|
# [docs:retain-async]
|
|
hindsight memory retain my-bank "Meeting notes" --async
|
|
# [/docs:retain-async]
|
|
|
|
|
|
# [docs:retain-files]
|
|
# Upload a single file (PDF, DOCX, PPTX, XLSX, images, audio, and more)
|
|
hindsight memory retain-files my-bank report.pdf
|
|
|
|
# Upload a directory of files
|
|
hindsight memory retain-files my-bank ./documents/
|
|
|
|
# Upload and wait for processing to complete (polls until done)
|
|
hindsight memory retain-files my-bank report.pdf
|
|
|
|
# Queue files for background processing (returns immediately)
|
|
hindsight memory retain-files my-bank ./documents/ --async
|
|
# [/docs:retain-files]
|
|
|
|
|
|
# [docs:retain-files-curl]
|
|
# Via HTTP API (multipart/form-data)
|
|
curl -X POST "${HINDSIGHT_URL}/v1/default/banks/my-bank/files/retain" \
|
|
-F "files=@report.pdf;type=application/octet-stream" \
|
|
-F "request={\"files_metadata\": [{\"context\": \"quarterly report\"}]}"
|
|
# [/docs:retain-files-curl]
|
|
|
|
|
|
# =============================================================================
|
|
# Cleanup (not shown in docs)
|
|
# =============================================================================
|
|
curl -s -X DELETE "${HINDSIGHT_URL}/v1/default/banks/my-bank" > /dev/null
|
|
|
|
echo "retain.sh: All examples passed"
|