feat(api): update API spec from langfuse/langfuse b8db8b6#1706
Conversation
|
@claude review |
There was a problem hiding this comment.
LGTM — auto-generated API spec sync, docstring-only changes.
Extended reasoning...
Overview
This PR is an automated Fern-generated API spec sync from langfuse/langfuse at commit b8db8b6, touching 13 auto-generated client files under langfuse/api/. All changes are docstring/comment updates: clarifying the blob storage export source deprecation gates (adding a new 2026-06-22 integration-level gate and noting cloud defaults to OBSERVATIONS_V2), broadening exportFieldGroups to apply to all export sources, adding a 255-char limit note to dataset item id, marking the v2 scores endpoints as deprecated in favor of v3, and expanding the v3 scores fields parameter documentation.
Security risks
None. No executable code paths, request shapes, or auth logic are modified — only docstrings and class-level descriptions in auto-generated Fern files. The HTTP request bodies, URL paths, and parameter serialization are unchanged.
Level of scrutiny
Minimal. These are auto-generated SDK files that mirror an upstream OpenAPI/Fern spec; the project does not own this code by convention, and any behavioral changes happen server-side at langfuse/langfuse. The only thing to verify is that the diff is in fact docstring-only, which it is.
Other factors
No bugs reported by the bug hunting system. No outstanding human reviewer comments. The PR follows the established pattern of feat(api): update API spec from langfuse/langfuse <sha> commits that have been routinely merged in this repo. Safe to shadow-approve.
|
@niklassemmler could you please take a look at the changes in this PR? Context: as stated in contributing guide: whenever we change our API documentation, we use fern to generate our python and typescript clients. The langfuse-bot opens PRs in the repos respectively. As the diff in this PR is much larger than my docs change to POST /dataset-item API, I'd appreciate if you take a look. Thanks! Same question applies to JS PR: langfuse/langfuse-js#831 |
Sure will do |
Where is this stated in the doc? I see no reference to updating the SDK repos. |
|
@marliessophie I approved my changes, do you want to approve yours? |
Greptile Summary
This is an auto-generated API spec sync (from langfuse/langfuse
b8db8b6) that updates docstrings across blob-storage integration, dataset-item, scores v1/v3 clients — no functional Python logic changes are included.exportFieldGroupsnow documented as applying to all export sources (previously excluded fromLEGACY_TRACES_OBSERVATIONS); a new integration-level deprecation gate (effective 2026-06-22) prohibits creating new integrations with legacy export sources on Cloud.idfield docstring gains a 255-character cap that is not enforced by a Pydanticmax_lengthconstraint, so violations only surface as server errors.coreremoved from the "Allowed" field-group list while the HTTP 400 warning for unknown names is retained, which could silently break callers passingfields="core".Confidence Score: 3/5
Mostly documentation changes, but two spots deserve attention before merging: the
fieldsallowed-values change in scores_v3 may break existing callers, and the response-shape change forLEGACY_TRACES_OBSERVATIONSin the blob storage integration response type removes a previously guaranteednullwithout explaining what replaces it.The removal of
corefrom the allowedfieldslist in scores_v3, combined with the retained "unknown names return HTTP 400" warning, creates a plausible regression for any caller that was explicitly requestingfields="core". The blob storageexportFieldGroupsresponse docstring strips the null-for-legacy-source guarantee without clarifying the new shape, which could confuse code that branches onNone. Both issues stem from behavioral API changes that are only surfaced through docstring updates.langfuse/api/scores_v3/client.pyandraw_client.py(thefieldsallowed-values change), andlangfuse/api/blob_storage_integrations/types/blob_storage_integration_response.py(the missing null/empty-list clarification).Flowchart
%%{init: {'theme': 'neutral'}}%% flowchart TD A[Create Blob Storage Integration] --> B{Cloud or Self-hosted?} B -->|Self-hosted| C[exportSource omitted → LEGACY_TRACES_OBSERVATIONS] B -->|Langfuse Cloud| D{exportSource provided?} D -->|Omitted| E[Default to OBSERVATIONS_V2] D -->|LEGACY_TRACES_OBSERVATIONS or LEGACY_TRACES_AND_ENRICHED_OBSERVATIONS| F{Project created before 2026-05-20?} F -->|Yes| G{Integration created before 2026-06-22?} F -->|No| H[HTTP 400 — use OBSERVATIONS_V2] G -->|Yes — existing integration| I[Accepted] G -->|No — new integration| J[HTTP 400 — use OBSERVATIONS_V2] D -->|OBSERVATIONS_V2| K[Accepted] K --> L{exportFieldGroups provided?} I --> L C --> L E --> L L -->|Yes, must include core| M[Export selected field groups] L -->|Omitted| N[Export all groups by default]Prompt To Fix All With AI
Reviews (1): Last reviewed commit: "feat(api): update API spec from langfuse..." | Re-trigger Greptile