Skip to content

v0.3.17 — structured queries: SQL & natural-language analytics over collections

Choose a tag to compare

@kdr kdr released this 03 Aug 07:15
· 11 commits to main since this release
d92a441

✨ New

The query verb — analytics over your video library. Where probe/ask find content semantically, query measures it: run a single read-only SQL SELECT — or ask in plain English and let Cloudglue compile it to SQL — over the structured data your collections already hold. Counts, rankings, group-bys, and joins across file attributes, user metadata, connector source_metadata, and extracted entities:

tinycloud query schema --in collection:<id> --json                 # what's queryable (always start here)
tinycloud query "how many videos per source platform?" --in collection:<id> --json
tinycloud query --sql "SELECT source, COUNT(*) AS n FROM files GROUP BY source ORDER BY n DESC" \
  --in collection:<id> --json

Queries execute against three virtual tables built per request from the collections you select (up to 20, joinable): files (one row per file+collection — filename, title, duration, dimensions, plus metadata and source_metadata JSON columns), entities (file-level extracted fields), and segment_entities (segment-level entities with timestamps). Natural-language runs return the compiled statement in data.sql — inspect it, tweak it, resubmit it as --sql (which also bills less). A question that can't compile fails with the attempted SQL rather than guessing.

Dry runs and full-result exports. --dry-run validates/compiles and previews the output columns without executing (reduced cost). Sync results cap at --max-rows (default 1000, max 10000); for everything else, --export csv|jsonl streams the full result server-side to a gzipped file and downloads it:

tinycloud query --sql "SELECT * FROM files ORDER BY filename" --in collection:<id> --export csv --json
tinycloud query --sql "..." --in collection:<id> --export jsonl --background --json   # pending → poll
tinycloud query show <query-id> -o ./exports/ --json                                  # download when done

A stored run history, free to read. Every run is stored server-side: query list browses history, query show <id> re-fetches results (and re-downloads a completed export while its 24h link lives), and query cancel <id> aborts an in-flight export with a refund. schema, list, show, and cancel are all free.

Notes

Verbs 16 → 17; features 40 → 42 with query.v1 and query.export.v1. The bundled Cloudglue SDK moves to 0.7.23. Entity tables reflect each file's most recent completed extraction only; metadata collections have no extraction — query their files.metadata / files.source_metadata JSON columns instead. Runs are billed per the rate card (SQL cheaper than natural language; failed runs auto-refund). The skill floor rises to 0.3.17, since the skill teaches the new verb.

Install

curl -fsSL https://app.cloudglue.dev/tinycloud.sh | bash
# or
npm install -g @cloudglue/tinycloud