From 2c0146ebab24cb9d1663ff6b981d73dbf0602b5a Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Wed, 29 Jul 2026 15:40:42 +0000 Subject: [PATCH] Regenerate client from commit a8774ee of spec repo --- .generator/schemas/v2/openapi.yaml | 44 +++++++++++++++---- features/v2/llm_observability.feature | 14 ++++-- services/ddsql/README.md | 8 ---- services/ddsql/src/v2/DDSQLApi.ts | 12 ----- .../src/v2/models/DdsqlTabularQueryColumn.ts | 14 ++++-- .../src/v2/LLMObservabilityApi.ts | 1 + .../models/LLMObsPatternsConfigAttributes.ts | 8 ++++ .../src/v2/models/LLMObsPatternsConfigItem.ts | 8 ++++ ...bsPatternsConfigUpsertRequestAttributes.ts | 10 +++++ 9 files changed, 84 insertions(+), 35 deletions(-) diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index acd63e70a663..42d8846893fb 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -31063,9 +31063,17 @@ components: type: string values: description: |- - Column values in row order. The element type matches the column's `type`; - for example a `VARCHAR` column carries strings, a `TIMESTAMP` column carries - Unix-millisecond integers. `null` is allowed for missing values. + Column values in row order, one entry per result row. The element type + follows the column's `type`. The following serialization rules should be + taken into account: + + - `BIGINT` values are encoded as JSON numbers in the signed 64-bit integer range. + - `DECIMAL` values are encoded as JSON numbers with 64-bit double precision. + - `TIMESTAMP` and `DATE` values are encoded as Unix-millisecond integers; a + `DATE` resolves to midnight UTC. + - `JSON` values are returned as a JSON-encoded string. + + `null` is allowed for any column type where a value is missing. example: - web-store - checkout @@ -55956,6 +55964,10 @@ components: example: "2024-01-15T10:30:00Z" format: date-time type: string + curation_enabled: + description: Whether automatic dataset curation is enabled for this configuration. + example: true + type: boolean evp_query: description: Query that selects the spans the patterns run analyzes. example: "@ml_app:support-bot" @@ -56028,6 +56040,10 @@ components: example: "2024-01-15T10:30:00Z" format: date-time type: string + curation_enabled: + description: Whether automatic dataset curation is enabled for this configuration. + example: true + type: boolean evp_query: description: Query that selects the spans the patterns run analyzes. example: "@ml_app:support-bot" @@ -56185,6 +56201,13 @@ components: description: The ID of an existing configuration to update. If omitted, a new configuration is created. example: "a7c8d9e0-1234-5678-9abc-def012345678" type: string + curation_enabled: + description: |- + When true, Datadog automatically provisions a managed project and dataset + (`{pattern-name}-pattern-curated`) to receive suggested interactions after + each run. Defaults to true for new patterns. + example: true + type: boolean evp_query: description: Query that selects the spans the patterns run analyzes. example: "@ml_app:support-bot" @@ -135602,9 +135625,6 @@ paths: summary: Execute a tabular DDSQL query tags: - DDSQL - x-unstable: |- - **Note**: This endpoint is in preview and is subject to change. - If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). /api/v2/ddsql/query/tabular/fetch: post: description: |- @@ -135713,9 +135733,6 @@ paths: summary: Fetch the result of a DDSQL query tags: - DDSQL - x-unstable: |- - **Note**: This endpoint is in preview and is subject to change. - If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). /api/v2/deletion/data/{product}: post: description: Creates a data deletion request by providing a query and a timeframe targeting the proper data. @@ -154572,6 +154589,7 @@ paths: attributes: configs: - created_at: "2024-01-15T10:30:00Z" + curation_enabled: true evp_query: "@ml_app:support-bot" hierarchy_depth: 2 id: a7c8d9e0-1234-5678-9abc-def012345678 @@ -154651,6 +154669,7 @@ paths: data: attributes: created_at: "2024-01-15T10:30:00Z" + curation_enabled: true evp_query: "@ml_app:support-bot" hierarchy_depth: 2 name: Support chatbot topics @@ -154687,6 +154706,12 @@ paths: schema: $ref: "#/components/schemas/JSONAPIErrorResponse" description: Not Found + "409": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Conflict "429": $ref: "#/components/responses/TooManyRequestsResponse" "500": @@ -154718,6 +154743,7 @@ paths: data: attributes: created_at: "2024-01-15T10:30:00Z" + curation_enabled: true evp_query: "@ml_app:support-bot" hierarchy_depth: 2 name: Support chatbot topics diff --git a/features/v2/llm_observability.feature b/features/v2/llm_observability.feature index b1897f532b9f..37ac6ede0075 100644 --- a/features/v2/llm_observability.feature +++ b/features/v2/llm_observability.feature @@ -373,15 +373,23 @@ Feature: LLM Observability Scenario: Create or update a patterns configuration returns "Bad Request" response Given operation "UpsertLLMObsPatternsConfig" enabled And new "UpsertLLMObsPatternsConfig" request - And body with value {"data": {"attributes": {"account_id": "1000000001", "config_id": "a7c8d9e0-1234-5678-9abc-def012345678", "evp_query": "@ml_app:support-bot", "hierarchy_depth": 2, "integration_provider": "openai", "model_name": "gpt-4o", "name": "Support chatbot topics", "num_records": 1000, "sampling_ratio": 0.1, "scope": "", "template": ""}, "type": "topic_discovery_configs"}} + And body with value {"data": {"attributes": {"account_id": "1000000001", "config_id": "a7c8d9e0-1234-5678-9abc-def012345678", "curation_enabled": true, "evp_query": "@ml_app:support-bot", "hierarchy_depth": 2, "integration_provider": "openai", "model_name": "gpt-4o", "name": "Support chatbot topics", "num_records": 1000, "sampling_ratio": 0.1, "scope": "", "template": ""}, "type": "topic_discovery_configs"}} When the request is sent Then the response status is 400 Bad Request + @generated @skip @team:DataDog/ml-observability + Scenario: Create or update a patterns configuration returns "Conflict" response + Given operation "UpsertLLMObsPatternsConfig" enabled + And new "UpsertLLMObsPatternsConfig" request + And body with value {"data": {"attributes": {"account_id": "1000000001", "config_id": "a7c8d9e0-1234-5678-9abc-def012345678", "curation_enabled": true, "evp_query": "@ml_app:support-bot", "hierarchy_depth": 2, "integration_provider": "openai", "model_name": "gpt-4o", "name": "Support chatbot topics", "num_records": 1000, "sampling_ratio": 0.1, "scope": "", "template": ""}, "type": "topic_discovery_configs"}} + When the request is sent + Then the response status is 409 Conflict + @generated @skip @team:DataDog/ml-observability Scenario: Create or update a patterns configuration returns "Not Found" response Given operation "UpsertLLMObsPatternsConfig" enabled And new "UpsertLLMObsPatternsConfig" request - And body with value {"data": {"attributes": {"account_id": "1000000001", "config_id": "a7c8d9e0-1234-5678-9abc-def012345678", "evp_query": "@ml_app:support-bot", "hierarchy_depth": 2, "integration_provider": "openai", "model_name": "gpt-4o", "name": "Support chatbot topics", "num_records": 1000, "sampling_ratio": 0.1, "scope": "", "template": ""}, "type": "topic_discovery_configs"}} + And body with value {"data": {"attributes": {"account_id": "1000000001", "config_id": "a7c8d9e0-1234-5678-9abc-def012345678", "curation_enabled": true, "evp_query": "@ml_app:support-bot", "hierarchy_depth": 2, "integration_provider": "openai", "model_name": "gpt-4o", "name": "Support chatbot topics", "num_records": 1000, "sampling_ratio": 0.1, "scope": "", "template": ""}, "type": "topic_discovery_configs"}} When the request is sent Then the response status is 404 Not Found @@ -389,7 +397,7 @@ Feature: LLM Observability Scenario: Create or update a patterns configuration returns "OK" response Given operation "UpsertLLMObsPatternsConfig" enabled And new "UpsertLLMObsPatternsConfig" request - And body with value {"data": {"attributes": {"account_id": "1000000001", "config_id": "a7c8d9e0-1234-5678-9abc-def012345678", "evp_query": "@ml_app:support-bot", "hierarchy_depth": 2, "integration_provider": "openai", "model_name": "gpt-4o", "name": "Support chatbot topics", "num_records": 1000, "sampling_ratio": 0.1, "scope": "", "template": ""}, "type": "topic_discovery_configs"}} + And body with value {"data": {"attributes": {"account_id": "1000000001", "config_id": "a7c8d9e0-1234-5678-9abc-def012345678", "curation_enabled": true, "evp_query": "@ml_app:support-bot", "hierarchy_depth": 2, "integration_provider": "openai", "model_name": "gpt-4o", "name": "Support chatbot topics", "num_records": 1000, "sampling_ratio": 0.1, "scope": "", "template": ""}, "type": "topic_discovery_configs"}} When the request is sent Then the response status is 200 OK diff --git a/services/ddsql/README.md b/services/ddsql/README.md index 5cbb81c8cb6a..65777fa65ab6 100644 --- a/services/ddsql/README.md +++ b/services/ddsql/README.md @@ -28,14 +28,6 @@ import { DDSQLApiV2 } from "@datadog/datadog-api-client-ddsql"; import { v2 } from "@datadog/datadog-api-client-ddsql"; const configuration = createConfiguration(); -// Enable unstable operations -const configurationOpts = { - unstableOperations: { - "DDSQLApi.v2.executeDdsqlTabularQuery": true - } -} - -const configuration = createConfiguration(configurationOpts); const apiInstance = new DDSQLApiV2(configuration); const params = {/* parameters */}; diff --git a/services/ddsql/src/v2/DDSQLApi.ts b/services/ddsql/src/v2/DDSQLApi.ts index af3712b1fdee..518e048eb73e 100644 --- a/services/ddsql/src/v2/DDSQLApi.ts +++ b/services/ddsql/src/v2/DDSQLApi.ts @@ -44,12 +44,6 @@ export class DDSQLApiRequestFactory extends BaseAPIRequestFactory { ): Promise { const _config = _options || this.configuration; - if (!_config.unstableOperations["DDSQLApi.v2.executeDdsqlTabularQuery"]) { - throw new Error( - "Unstable operation 'executeDdsqlTabularQuery' is disabled. Enable it by setting `configuration.unstableOperations['DDSQLApi.v2.executeDdsqlTabularQuery'] = true`", - ); - } - // verify required parameter 'body' is not null or undefined if (body === null || body === undefined) { throw new RequiredError("body", "executeDdsqlTabularQuery"); @@ -100,12 +94,6 @@ export class DDSQLApiRequestFactory extends BaseAPIRequestFactory { ): Promise { const _config = _options || this.configuration; - if (!_config.unstableOperations["DDSQLApi.v2.fetchDdsqlTabularQuery"]) { - throw new Error( - "Unstable operation 'fetchDdsqlTabularQuery' is disabled. Enable it by setting `configuration.unstableOperations['DDSQLApi.v2.fetchDdsqlTabularQuery'] = true`", - ); - } - // verify required parameter 'body' is not null or undefined if (body === null || body === undefined) { throw new RequiredError("body", "fetchDdsqlTabularQuery"); diff --git a/services/ddsql/src/v2/models/DdsqlTabularQueryColumn.ts b/services/ddsql/src/v2/models/DdsqlTabularQueryColumn.ts index aa3bb799edb8..275f6c499a7c 100644 --- a/services/ddsql/src/v2/models/DdsqlTabularQueryColumn.ts +++ b/services/ddsql/src/v2/models/DdsqlTabularQueryColumn.ts @@ -17,9 +17,17 @@ export class DdsqlTabularQueryColumn { */ "type": string; /** - * Column values in row order. The element type matches the column's `type`; - * for example a `VARCHAR` column carries strings, a `TIMESTAMP` column carries - * Unix-millisecond integers. `null` is allowed for missing values. + * Column values in row order, one entry per result row. The element type + * follows the column's `type`. The following serialization rules should be + * taken into account: + * + * - `BIGINT` values are encoded as JSON numbers in the signed 64-bit integer range. + * - `DECIMAL` values are encoded as JSON numbers with 64-bit double precision. + * - `TIMESTAMP` and `DATE` values are encoded as Unix-millisecond integers; a + * `DATE` resolves to midnight UTC. + * - `JSON` values are returned as a JSON-encoded string. + * + * `null` is allowed for any column type where a value is missing. */ "values": Array; /** diff --git a/services/llm_observability/src/v2/LLMObservabilityApi.ts b/services/llm_observability/src/v2/LLMObservabilityApi.ts index 6c09bf99a819..102996bfc651 100644 --- a/services/llm_observability/src/v2/LLMObservabilityApi.ts +++ b/services/llm_observability/src/v2/LLMObservabilityApi.ts @@ -10819,6 +10819,7 @@ export class LLMObservabilityApiResponseProcessor { response.httpStatusCode === 401 || response.httpStatusCode === 403 || response.httpStatusCode === 404 || + response.httpStatusCode === 409 || response.httpStatusCode === 500 ) { const bodyText = parse(await response.body.text(), contentType); diff --git a/services/llm_observability/src/v2/models/LLMObsPatternsConfigAttributes.ts b/services/llm_observability/src/v2/models/LLMObsPatternsConfigAttributes.ts index 6cd2d89901be..7c385a248c17 100644 --- a/services/llm_observability/src/v2/models/LLMObsPatternsConfigAttributes.ts +++ b/services/llm_observability/src/v2/models/LLMObsPatternsConfigAttributes.ts @@ -12,6 +12,10 @@ export class LLMObsPatternsConfigAttributes { * Timestamp when the configuration was created. */ "createdAt": Date; + /** + * Whether automatic dataset curation is enabled for this configuration. + */ + "curationEnabled"?: boolean; /** * Query that selects the spans the patterns run analyzes. */ @@ -77,6 +81,10 @@ export class LLMObsPatternsConfigAttributes { required: true, format: "date-time", }, + curationEnabled: { + baseName: "curation_enabled", + type: "boolean", + }, evpQuery: { baseName: "evp_query", type: "string", diff --git a/services/llm_observability/src/v2/models/LLMObsPatternsConfigItem.ts b/services/llm_observability/src/v2/models/LLMObsPatternsConfigItem.ts index 3af3f2302039..77ea8e6e4cca 100644 --- a/services/llm_observability/src/v2/models/LLMObsPatternsConfigItem.ts +++ b/services/llm_observability/src/v2/models/LLMObsPatternsConfigItem.ts @@ -12,6 +12,10 @@ export class LLMObsPatternsConfigItem { * Timestamp when the configuration was created. */ "createdAt": Date; + /** + * Whether automatic dataset curation is enabled for this configuration. + */ + "curationEnabled"?: boolean; /** * Query that selects the spans the patterns run analyzes. */ @@ -81,6 +85,10 @@ export class LLMObsPatternsConfigItem { required: true, format: "date-time", }, + curationEnabled: { + baseName: "curation_enabled", + type: "boolean", + }, evpQuery: { baseName: "evp_query", type: "string", diff --git a/services/llm_observability/src/v2/models/LLMObsPatternsConfigUpsertRequestAttributes.ts b/services/llm_observability/src/v2/models/LLMObsPatternsConfigUpsertRequestAttributes.ts index cbcd188dc072..14df626dace3 100644 --- a/services/llm_observability/src/v2/models/LLMObsPatternsConfigUpsertRequestAttributes.ts +++ b/services/llm_observability/src/v2/models/LLMObsPatternsConfigUpsertRequestAttributes.ts @@ -12,6 +12,12 @@ export class LLMObsPatternsConfigUpsertRequestAttributes { * The ID of an existing configuration to update. If omitted, a new configuration is created. */ "configId"?: string; + /** + * When true, Datadog automatically provisions a managed project and dataset + * (`{pattern-name}-pattern-curated`) to receive suggested interactions after + * each run. Defaults to true for new patterns. + */ + "curationEnabled"?: boolean; /** * Query that selects the spans the patterns run analyzes. */ @@ -71,6 +77,10 @@ export class LLMObsPatternsConfigUpsertRequestAttributes { baseName: "config_id", type: "string", }, + curationEnabled: { + baseName: "curation_enabled", + type: "boolean", + }, evpQuery: { baseName: "evp_query", type: "string",