feature/Client-identification · L-260923-fd0e26 — User-Agent client surface in analytics - #40
Conversation
PipelexAPIClient now sets a User-Agent default header on its one httpx AsyncClient, authenticated or anonymous: [app_info] pipelex-sdk-python/<v> mthds-python/<v> python/<x.y.z> (<os>; <arch>), per the workspace client-identification spec. The builder lives in pipelex_sdk/user_agent.py because the pinned mthds does not ship one yet; AppInfo mirrors the shape mthds will expose and refuses a non-token field with ValueError. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…t-identification spec An empty version or url now counts as absent instead of being refused, a url must be visible ASCII so a non-ASCII one is refused at construction rather than breaking httpx on every request, and the runtime comment keeps whichever platform part is a readable token, as mthds-python does. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
/rev pass, profile 2, round 1 (bar: open), on 81f9663. Reviewers: cubic, Codex (review), and the official code-review (low, clean). The focus was conformance to the client-identification spec and consistency of Fixed in 13ae4ad: an empty Deferred to wip/client-identification/plan.md under "Deferred from review": the Verdict: round 2 — bar defects — profile 3. |
|
/rev pass — profile 3, round 2, bar defects, on 13ae4ad. Reviewers that produced a review: cubic and code-review (Codex failed: workspace out of credits). No defects found, nothing fixed. |
PipelexAPIClient now sends a User-Agent on every request, authenticated or anonymous, of the form [app_info] pipelex-sdk-python/ mthds-python/ python/<x.y.z> (; ), following the workspace client-identification spec so the platform can attribute SDK traffic. A new app_info constructor argument takes a Stripe-style AppInfo that puts the integrator first and refuses an invalid token with ValueError; the builder lives in pipelex_sdk/user_agent.py because the pinned mthds 0.14.0 does not ship one yet.
Advances L-260923-fd0e26
🤖 Generated with Claude Code