Expose the per-file Downloads API (/v1/downloads) in the SDK

Aperta
#218 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
66/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
openapi, typescript

Direzione di ricerca

Individua la specifica OpenAPI e confronta la risorsa sessions.downloads esistente con api.md negli SDK Python e Node. Aggiungi le operazioni documentate di elenco, recupero ed eliminazione per /v1/downloads e aggiorna la descrizione dei download della sessione per identificare la risposta ZIP. Il lavoro è completato quando entrambi gli SDK espongono la risorsa downloads generata e l'endpoint della sessione documenta la restituzione dell'archivio.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

What exists today

The only way to retrieve downloaded files through the SDK is client.sessions.downloads.list(id). It calls GET /v1/sessions/{id}/downloads with Accept: application/zip and hands back the raw response (BinaryAPIResponse in Python, Response in Node): a zip archive containing every file the session downloaded. Nothing in the method's description says so. The generated docstring is just "Session Downloads", so the first hint that you are holding a zip is the response body.

What's missing

Browserbase documents a per-file Downloads API that is not in the SDK at all. Neither SDK has a downloads resource, and api.md in each lists only the zip endpoint and sessions.recording.downloads. The documented endpoints:

Feature overview: https://docs.browserbase.com/features/downloads

Why it matters

  • Per-file access with mimeType and size filters and pagination, instead of one opaque archive per session.
  • No zip round-trip when you want a single file: fetch it by id and you are done.
  • A caller can gate on one body's magic bytes, or compare size / checksum from the listing, before doing anything with the file.

Our integration ended up dropping the SDK for these calls and using raw httpx against /v1/downloads for exactly these reasons. The client's get() plus make_request_options() covers the gap in the meantime, but it means hand-writing the types the generator would otherwise produce.

Ask

  1. Add the three /v1/downloads endpoints to the OpenAPI spec so they generate into both the Python and Node SDKs as a downloads resource (list, retrieve, delete).
  2. While there, give GET /v1/sessions/{id}/downloads a description that says it returns a zip archive of all files downloaded during the session, so sessions.downloads.list() documents its return type.
Lingua principale
TypeScript
Stelle
64
Fork
17
Merge medio
13m
PR unite (30g)
4

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di browserbase/sdk-node

Tutte le issue di browserbase/sdk-node

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.