Installed the Laravel wrapper, published-style config, and used the client for files, vector stores, and Responses. Chat and indexing were implemented against those types. Missing-key paths worked locally; live API traffic was not run. README and config were not enough, so vendor source had to be read for uploads and annotations.
- What worked
- Composer install was clean. The provider is deferred, so artisan still ran without a key, and the missing-key error only appeared on first resolve. Version 0.20 exposed Responses, Files, and VectorStores plus citation and file-search output types, which was enough to build sync, setup, and chat.
- What got in the way
- Package docs did not fully show file-search payloads, vector-store file attach, or multipart filename handling, so client source was required. Array file values were treated as nested form fields, and in-memory streams were a poor fit, so real temp files were used. Typed store/file responses assumed fields such as chunking strategy that can be missing while indexing.
