From fa4d81af7a6b3bec02e28037932fb791617c2e49 Mon Sep 17 00:00:00 2001 From: langfuse-bot Date: Tue, 2 Jun 2026 14:09:01 +0000 Subject: [PATCH] feat(api): update API spec from langfuse/langfuse 9ce4aa4 --- langfuse/api/llm_connections/client.py | 4 ++-- langfuse/api/llm_connections/raw_client.py | 4 ++-- langfuse/api/llm_connections/types/llm_connection.py | 2 +- .../types/upsert_llm_connection_request.py | 2 +- langfuse/api/observations/client.py | 12 ++++++------ langfuse/api/observations/raw_client.py | 12 ++++++------ 6 files changed, 18 insertions(+), 18 deletions(-) diff --git a/langfuse/api/llm_connections/client.py b/langfuse/api/llm_connections/client.py index 62c4293ff..3d4e60d00 100644 --- a/langfuse/api/llm_connections/client.py +++ b/langfuse/api/llm_connections/client.py @@ -113,7 +113,7 @@ def upsert( Extra headers to send with requests config : typing.Optional[typing.Dict[str, typing.Any]] - Adapter-specific configuration. Validation rules: - **Bedrock**: Required. Must be `{"region": ""}` (e.g., `{"region":"us-east-1"}`) - **VertexAI**: Optional. If provided, must be `{"location": ""}` (e.g., `{"location":"us-central1"}`) - **Other adapters**: Not supported. Omit this field or set to null. + Adapter-specific configuration. Validation rules: - **Bedrock**: Required. Must be `{"region": ""}` (e.g., `{"region":"us-east-1"}`) - **OpenAI**: Optional. If provided, must be `{"useResponsesApi": }` to control whether Langfuse routes calls through OpenAI's Responses API. - **VertexAI**: Optional. If provided, must be `{"location": ""}` (e.g., `{"location":"us-central1"}`) - **Other adapters**: Not supported. Omit this field or set to null. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -298,7 +298,7 @@ async def upsert( Extra headers to send with requests config : typing.Optional[typing.Dict[str, typing.Any]] - Adapter-specific configuration. Validation rules: - **Bedrock**: Required. Must be `{"region": ""}` (e.g., `{"region":"us-east-1"}`) - **VertexAI**: Optional. If provided, must be `{"location": ""}` (e.g., `{"location":"us-central1"}`) - **Other adapters**: Not supported. Omit this field or set to null. + Adapter-specific configuration. Validation rules: - **Bedrock**: Required. Must be `{"region": ""}` (e.g., `{"region":"us-east-1"}`) - **OpenAI**: Optional. If provided, must be `{"useResponsesApi": }` to control whether Langfuse routes calls through OpenAI's Responses API. - **VertexAI**: Optional. If provided, must be `{"location": ""}` (e.g., `{"location":"us-central1"}`) - **Other adapters**: Not supported. Omit this field or set to null. request_options : typing.Optional[RequestOptions] Request-specific configuration. diff --git a/langfuse/api/llm_connections/raw_client.py b/langfuse/api/llm_connections/raw_client.py index 30f7beebb..9a6388658 100644 --- a/langfuse/api/llm_connections/raw_client.py +++ b/langfuse/api/llm_connections/raw_client.py @@ -179,7 +179,7 @@ def upsert( Extra headers to send with requests config : typing.Optional[typing.Dict[str, typing.Any]] - Adapter-specific configuration. Validation rules: - **Bedrock**: Required. Must be `{"region": ""}` (e.g., `{"region":"us-east-1"}`) - **VertexAI**: Optional. If provided, must be `{"location": ""}` (e.g., `{"location":"us-central1"}`) - **Other adapters**: Not supported. Omit this field or set to null. + Adapter-specific configuration. Validation rules: - **Bedrock**: Required. Must be `{"region": ""}` (e.g., `{"region":"us-east-1"}`) - **OpenAI**: Optional. If provided, must be `{"useResponsesApi": }` to control whether Langfuse routes calls through OpenAI's Responses API. - **VertexAI**: Optional. If provided, must be `{"location": ""}` (e.g., `{"location":"us-central1"}`) - **Other adapters**: Not supported. Omit this field or set to null. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -539,7 +539,7 @@ async def upsert( Extra headers to send with requests config : typing.Optional[typing.Dict[str, typing.Any]] - Adapter-specific configuration. Validation rules: - **Bedrock**: Required. Must be `{"region": ""}` (e.g., `{"region":"us-east-1"}`) - **VertexAI**: Optional. If provided, must be `{"location": ""}` (e.g., `{"location":"us-central1"}`) - **Other adapters**: Not supported. Omit this field or set to null. + Adapter-specific configuration. Validation rules: - **Bedrock**: Required. Must be `{"region": ""}` (e.g., `{"region":"us-east-1"}`) - **OpenAI**: Optional. If provided, must be `{"useResponsesApi": }` to control whether Langfuse routes calls through OpenAI's Responses API. - **VertexAI**: Optional. If provided, must be `{"location": ""}` (e.g., `{"location":"us-central1"}`) - **Other adapters**: Not supported. Omit this field or set to null. request_options : typing.Optional[RequestOptions] Request-specific configuration. diff --git a/langfuse/api/llm_connections/types/llm_connection.py b/langfuse/api/llm_connections/types/llm_connection.py index f74ff98c2..470fd3d76 100644 --- a/langfuse/api/llm_connections/types/llm_connection.py +++ b/langfuse/api/llm_connections/types/llm_connection.py @@ -62,7 +62,7 @@ class LlmConnection(UniversalBaseModel): config: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(default=None) """ - Adapter-specific configuration. Required for Bedrock (`{"region":"us-east-1"}`), optional for VertexAI (`{"location":"us-central1"}`), not used by other adapters. + Adapter-specific configuration. Required for Bedrock (`{"region":"us-east-1"}`), optional for OpenAI (`{"useResponsesApi":true}`), optional for VertexAI (`{"location":"us-central1"}`), not used by other adapters. """ created_at: typing_extensions.Annotated[ diff --git a/langfuse/api/llm_connections/types/upsert_llm_connection_request.py b/langfuse/api/llm_connections/types/upsert_llm_connection_request.py index 712362fa1..4d99f183a 100644 --- a/langfuse/api/llm_connections/types/upsert_llm_connection_request.py +++ b/langfuse/api/llm_connections/types/upsert_llm_connection_request.py @@ -61,7 +61,7 @@ class UpsertLlmConnectionRequest(UniversalBaseModel): config: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(default=None) """ - Adapter-specific configuration. Validation rules: - **Bedrock**: Required. Must be `{"region": ""}` (e.g., `{"region":"us-east-1"}`) - **VertexAI**: Optional. If provided, must be `{"location": ""}` (e.g., `{"location":"us-central1"}`) - **Other adapters**: Not supported. Omit this field or set to null. + Adapter-specific configuration. Validation rules: - **Bedrock**: Required. Must be `{"region": ""}` (e.g., `{"region":"us-east-1"}`) - **OpenAI**: Optional. If provided, must be `{"useResponsesApi": }` to control whether Langfuse routes calls through OpenAI's Responses API. - **VertexAI**: Optional. If provided, must be `{"location": ""}` (e.g., `{"location":"us-central1"}`) - **Other adapters**: Not supported. Omit this field or set to null. """ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict( diff --git a/langfuse/api/observations/client.py b/langfuse/api/observations/client.py index ff7069ede..995dba08b 100644 --- a/langfuse/api/observations/client.py +++ b/langfuse/api/observations/client.py @@ -193,11 +193,11 @@ def get_many( - `promptVersion` (number) - Associated prompt version ### Structured Data - - `input` (string) - Observation input. Supports accelerated token search with the `matches` operator. - - `output` (string) - Observation output. Supports accelerated token search with the `matches` operator. + - `input` (string) - Observation input. Supports accelerated indexed literal search with the `matches` operator. + - `output` (string) - Observation output. Supports accelerated indexed literal search with the `matches` operator. - `metadata` (stringObject/numberObject/categoryOptions) - Metadata key-value pairs. Use `key` parameter to filter on specific metadata keys. - The `matches` operator is only supported for `input`, `output`, and stringObject `metadata` filters. It performs token-based full-text search using the events table text indexes. Case sensitivity differs by target: `input` and `output` matches are case-insensitive, while metadata value matches are case-sensitive. Use `contains` for substring semantics. Any v2 `input` or `output` filter must be accompanied by at least one `=` or `matches` filter on `input` or `output`; standalone `contains`, `starts with`, `ends with`, and `does not contain` filters on these columns are rejected. + The `matches` operator is only supported for `input`, `output`, and stringObject `metadata` filters. It performs indexed literal search with token-boundary pruning using the events table text indexes. Case sensitivity differs by target: `input` and `output` matches are case-insensitive, while metadata value matches are case-sensitive. Unlike SQL `LIKE`, `%` and `_` are treated as literal characters. Use `contains` for legacy substring semantics where the API allows it. Any v2 `input` or `output` filter must be accompanied by at least one `=` or `matches` filter on `input` or `output`; standalone `contains`, `starts with`, `ends with`, and `does not contain` filters on these columns are rejected. ## Filter Examples ```json @@ -456,11 +456,11 @@ async def get_many( - `promptVersion` (number) - Associated prompt version ### Structured Data - - `input` (string) - Observation input. Supports accelerated token search with the `matches` operator. - - `output` (string) - Observation output. Supports accelerated token search with the `matches` operator. + - `input` (string) - Observation input. Supports accelerated indexed literal search with the `matches` operator. + - `output` (string) - Observation output. Supports accelerated indexed literal search with the `matches` operator. - `metadata` (stringObject/numberObject/categoryOptions) - Metadata key-value pairs. Use `key` parameter to filter on specific metadata keys. - The `matches` operator is only supported for `input`, `output`, and stringObject `metadata` filters. It performs token-based full-text search using the events table text indexes. Case sensitivity differs by target: `input` and `output` matches are case-insensitive, while metadata value matches are case-sensitive. Use `contains` for substring semantics. Any v2 `input` or `output` filter must be accompanied by at least one `=` or `matches` filter on `input` or `output`; standalone `contains`, `starts with`, `ends with`, and `does not contain` filters on these columns are rejected. + The `matches` operator is only supported for `input`, `output`, and stringObject `metadata` filters. It performs indexed literal search with token-boundary pruning using the events table text indexes. Case sensitivity differs by target: `input` and `output` matches are case-insensitive, while metadata value matches are case-sensitive. Unlike SQL `LIKE`, `%` and `_` are treated as literal characters. Use `contains` for legacy substring semantics where the API allows it. Any v2 `input` or `output` filter must be accompanied by at least one `=` or `matches` filter on `input` or `output`; standalone `contains`, `starts with`, `ends with`, and `does not contain` filters on these columns are rejected. ## Filter Examples ```json diff --git a/langfuse/api/observations/raw_client.py b/langfuse/api/observations/raw_client.py index f6502014e..017199252 100644 --- a/langfuse/api/observations/raw_client.py +++ b/langfuse/api/observations/raw_client.py @@ -191,11 +191,11 @@ def get_many( - `promptVersion` (number) - Associated prompt version ### Structured Data - - `input` (string) - Observation input. Supports accelerated token search with the `matches` operator. - - `output` (string) - Observation output. Supports accelerated token search with the `matches` operator. + - `input` (string) - Observation input. Supports accelerated indexed literal search with the `matches` operator. + - `output` (string) - Observation output. Supports accelerated indexed literal search with the `matches` operator. - `metadata` (stringObject/numberObject/categoryOptions) - Metadata key-value pairs. Use `key` parameter to filter on specific metadata keys. - The `matches` operator is only supported for `input`, `output`, and stringObject `metadata` filters. It performs token-based full-text search using the events table text indexes. Case sensitivity differs by target: `input` and `output` matches are case-insensitive, while metadata value matches are case-sensitive. Use `contains` for substring semantics. Any v2 `input` or `output` filter must be accompanied by at least one `=` or `matches` filter on `input` or `output`; standalone `contains`, `starts with`, `ends with`, and `does not contain` filters on these columns are rejected. + The `matches` operator is only supported for `input`, `output`, and stringObject `metadata` filters. It performs indexed literal search with token-boundary pruning using the events table text indexes. Case sensitivity differs by target: `input` and `output` matches are case-insensitive, while metadata value matches are case-sensitive. Unlike SQL `LIKE`, `%` and `_` are treated as literal characters. Use `contains` for legacy substring semantics where the API allows it. Any v2 `input` or `output` filter must be accompanied by at least one `=` or `matches` filter on `input` or `output`; standalone `contains`, `starts with`, `ends with`, and `does not contain` filters on these columns are rejected. ## Filter Examples ```json @@ -513,11 +513,11 @@ async def get_many( - `promptVersion` (number) - Associated prompt version ### Structured Data - - `input` (string) - Observation input. Supports accelerated token search with the `matches` operator. - - `output` (string) - Observation output. Supports accelerated token search with the `matches` operator. + - `input` (string) - Observation input. Supports accelerated indexed literal search with the `matches` operator. + - `output` (string) - Observation output. Supports accelerated indexed literal search with the `matches` operator. - `metadata` (stringObject/numberObject/categoryOptions) - Metadata key-value pairs. Use `key` parameter to filter on specific metadata keys. - The `matches` operator is only supported for `input`, `output`, and stringObject `metadata` filters. It performs token-based full-text search using the events table text indexes. Case sensitivity differs by target: `input` and `output` matches are case-insensitive, while metadata value matches are case-sensitive. Use `contains` for substring semantics. Any v2 `input` or `output` filter must be accompanied by at least one `=` or `matches` filter on `input` or `output`; standalone `contains`, `starts with`, `ends with`, and `does not contain` filters on these columns are rejected. + The `matches` operator is only supported for `input`, `output`, and stringObject `metadata` filters. It performs indexed literal search with token-boundary pruning using the events table text indexes. Case sensitivity differs by target: `input` and `output` matches are case-insensitive, while metadata value matches are case-sensitive. Unlike SQL `LIKE`, `%` and `_` are treated as literal characters. Use `contains` for legacy substring semantics where the API allows it. Any v2 `input` or `output` filter must be accompanied by at least one `=` or `matches` filter on `input` or `output`; standalone `contains`, `starts with`, `ends with`, and `does not contain` filters on these columns are rejected. ## Filter Examples ```json