1.9 KiB
Stash PDF metadata client
This slice generates a read-only Stash client for the response contract in
vernonkeenan/stash draft PR #16 at provider commit
b2f5b4a6ae5ff507dfdc86bb7b9ee5a9bb924131.
The generated surface contains only:
GET /v1/pdfs, with boundedlimitandoffset;GET /v1/pdfs/{pdfId}; and- response metadata fields
ID,Filename,Title, andURI.
The provider spec retains a deprecated POST /v1/pdfs compatibility route
that always fails closed. Lib deliberately does not generate that operation.
It also narrows the provider's legacy Document definition to the four fields
the PR #16 handlers populate, so document bytes, render inputs, tenant IDs, and
legacy ownership fields cannot enter the consumer contract.
Both reads require one caller-supplied runtime.ClientAuthInfoWriter that
writes the native service credential to X-API-Key and forwards only the
kvSession cookie. The generated operations retain that single compound
writer. Callers must not forward the browser's complete cookie header.
swagger/client/stash-pdf-metadata.yaml is the reproducible consumer
projection. scripts/release.sh regen uses it only for Stash while continuing
to copy the complete provider spec into the normal internal and external
documentation locations.
Dependency and release gate
This Lib PR may be reviewed while Stash PR #16 is open, but it must not be released for production consumption before the provider PR is merged and its deployment gates are satisfied. In particular, Stash deployment remains blocked on:
- the governed PDF tenancy migration from
go/dbcommit5e3c03d5d52c8328708897032fcc213f548bc667; - the exact
stash:pdf:readscope grant; - canonical Keenan Vision tenant configuration; and
- the provider's production no-write smoke test.
This client slice applies no database change, grants no scope, changes no credential, creates no release, and performs no deployment.