#!/bin/bash
# CallJots API Client - curl-based
# Usage: CALLJOTS_API_KEY=your_key ./calljots-client.sh
API_KEY="${CALLJOTS_API_KEY:-your-api-key-here}"
BASE="http://localhost:8915/api/v1"

# Extract jots from text
extract_jots() {
  curl -s -X POST "$BASE/jots/extract" \
    -H "Authorization: Bearer $API_KEY" \
    -H "Content-Type: application/json" \
    -d "{\"text\":\"$1\",\"threshold\":0.3}"
}

# Upload audio for transcription
transcribe() {
  curl -s -X POST "$BASE/jobs/transcribe" \
    -H "Authorization: Bearer $API_KEY" \
    -F "file=@$1" -F "threshold=0.3"
}

# Check job status
job_status() {
  curl -s -H "Authorization: Bearer $API_KEY" "$BASE/jobs/$1"
}

# Search jots
search_jots() {
  curl -s -H "Authorization: Bearer $API_KEY" "$BASE/jots/search?q=$1&limit=10"
}

# Get available models
list_models() {
  curl -s -H "Authorization: Bearer $API_KEY" "$BASE/models"
}

# Usage examples
if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
  case "${1:-help}" in
    extract)   shift; extract_jots "$*" ;;
    transcribe) shift; transcribe "$1" ;;
    status)    shift; job_status "$1" ;;
    search)    shift; search_jots "$*" ;;
    models)    list_models ;;
    *)         echo "Usage: $0 <extract|transcribe|status|search|models> [args]"
               echo "  extract <text>     - Extract jots from text"
               echo "  transcribe <file>  - Upload audio for transcription"
               echo "  status <job_id>    - Check job status"
               echo "  search <query>     - Search jots"
               echo "  models             - List available models"
               exit 1 ;;
  esac
fi