diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 1a0972d5a21f..ef3ae811327b 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -57962,6 +57962,9 @@ components: type: string type: object LLMObsContentBlock: + anyOf: + - $ref: '#/components/schemas/LLMObsFrontendContentBlock' + - $ref: '#/components/schemas/LLMObsLegacyContentBlock' description: |- A single content block rendered inside a `display_block` interaction. `type` discriminates which other fields are meaningful: @@ -57972,6 +57975,7 @@ components: - `image`: `url` is required. - `widget`: `tileDef` is required (any well-formed JSON; the frontend owns the renderable schema). - `llmobs_trace`: `traceId` is required; `interactionType`, when set, must be `trace` or `experiment_trace`. + - `frontend`: `code` is required and must be a non-empty string; `label` is optional. `height`, when set, must be positive. properties: @@ -57979,11 +57983,13 @@ components: description: Alternative text for an `image` block. example: "Example image" type: string + code: + $ref: '#/components/schemas/LLMObsFrontendContentBlockCode' content: description: |- Block payload. A string for `markdown`, `header`, and `text`; an arbitrary JSON value (object, array, or scalar) for `json`. Omitted - for `image`, `widget`, and `llmobs_trace`. + for `image`, `widget`, `llmobs_trace`, and `frontend`. example: "## Triage Instructions" height: description: Optional rendered height. Must be positive when set. @@ -57993,7 +57999,7 @@ components: interactionType: $ref: '#/components/schemas/LLMObsContentBlockLLMObsTraceInteractionType' label: - description: Optional label rendered alongside the block. + description: Optional label rendered alongside a `frontend` block. example: "Triage Instructions" type: string level: @@ -58081,6 +58087,7 @@ components: - image - widget - llmobs_trace + - frontend example: markdown type: string x-enum-varnames: @@ -58091,6 +58098,7 @@ components: - IMAGE - WIDGET - LLMOBS_TRACE + - FRONTEND LLMObsContentBlocks: description: |- List of content blocks that make up a `display_block` interaction. @@ -60915,6 +60923,29 @@ components: required: - data type: object + LLMObsFrontendContentBlock: + description: Validation requirements for a `frontend` display block. + properties: + code: + $ref: '#/components/schemas/LLMObsFrontendContentBlockCode' + type: + $ref: '#/components/schemas/LLMObsFrontendContentBlockType' + required: + - code + type: object + LLMObsFrontendContentBlockCode: + description: HTML code rendered by a `frontend` block. Required for `frontend` blocks. + example: '
Ready for review
' + minLength: 1 + type: string + LLMObsFrontendContentBlockType: + description: Type discriminator for a `frontend` display block. + enum: + - frontend + example: frontend + type: string + x-enum-varnames: + - FRONTEND LLMObsInferenceCode: description: A generated code snippet for running an inference request programmatically. properties: @@ -61520,6 +61551,32 @@ components: - CATEGORICAL - BOOLEAN - TEXT + LLMObsLegacyContentBlock: + description: Validation requirements for an existing non-frontend display block. + properties: + type: + $ref: '#/components/schemas/LLMObsLegacyContentBlockType' + type: object + LLMObsLegacyContentBlockType: + description: Type discriminator for an existing non-frontend display block. + enum: + - markdown + - header + - text + - json + - image + - widget + - llmobs_trace + example: markdown + type: string + x-enum-varnames: + - MARKDOWN + - HEADER + - TEXT + - JSON + - IMAGE + - WIDGET + - LLMOBS_TRACE LLMObsMetricAssessment: description: Assessment result for an Agent Observability experiment metric. enum: @@ -169960,6 +170017,9 @@ paths: experiment_id: abc-123 label: "Experiments" type: json + - code: '
Ready for review
' + label: "Review status" + type: frontend type: display_block type: interactions schema: diff --git a/packages/datadog-api-client-v2/index.ts b/packages/datadog-api-client-v2/index.ts index 442644ed7b39..b369a13d8a0d 100644 --- a/packages/datadog-api-client-v2/index.ts +++ b/packages/datadog-api-client-v2/index.ts @@ -5715,6 +5715,8 @@ export { LLMObsExperimentUpdateDataAttributesRequest } from "./models/LLMObsExpe export { LLMObsExperimentUpdateDataRequest } from "./models/LLMObsExperimentUpdateDataRequest"; export { LLMObsExperimentUpdateRequest } from "./models/LLMObsExperimentUpdateRequest"; export { LLMObsExperimentUser } from "./models/LLMObsExperimentUser"; +export { LLMObsFrontendContentBlock } from "./models/LLMObsFrontendContentBlock"; +export { LLMObsFrontendContentBlockType } from "./models/LLMObsFrontendContentBlockType"; export { LLMObsInferenceCode } from "./models/LLMObsInferenceCode"; export { LLMObsInferenceContent } from "./models/LLMObsInferenceContent"; export { LLMObsInferenceContentValue } from "./models/LLMObsInferenceContentValue"; @@ -5733,6 +5735,8 @@ export { LLMObsIntegrationName } from "./models/LLMObsIntegrationName"; export { LLMObsInternalReasoning } from "./models/LLMObsInternalReasoning"; export { LLMObsLabelSchema } from "./models/LLMObsLabelSchema"; export { LLMObsLabelSchemaType } from "./models/LLMObsLabelSchemaType"; +export { LLMObsLegacyContentBlock } from "./models/LLMObsLegacyContentBlock"; +export { LLMObsLegacyContentBlockType } from "./models/LLMObsLegacyContentBlockType"; export { LLMObsMetricAssessment } from "./models/LLMObsMetricAssessment"; export { LLMObsMetricScoreType } from "./models/LLMObsMetricScoreType"; export { LLMObsOpenAIMetadata } from "./models/LLMObsOpenAIMetadata"; diff --git a/packages/datadog-api-client-v2/models/LLMObsContentBlock.ts b/packages/datadog-api-client-v2/models/LLMObsContentBlock.ts index 960eb380357e..3c274eddcde9 100644 --- a/packages/datadog-api-client-v2/models/LLMObsContentBlock.ts +++ b/packages/datadog-api-client-v2/models/LLMObsContentBlock.ts @@ -20,6 +20,7 @@ import { AttributeTypeMap } from "../../datadog-api-client-common/util"; * - `image`: `url` is required. * - `widget`: `tileDef` is required (any well-formed JSON; the frontend owns the renderable schema). * - `llmobs_trace`: `traceId` is required; `interactionType`, when set, must be `trace` or `experiment_trace`. + * - `frontend`: `code` is required and must be a non-empty string; `label` is optional. * * `height`, when set, must be positive. */ @@ -28,10 +29,14 @@ export class LLMObsContentBlock { * Alternative text for an `image` block. */ "alt"?: string; + /** + * HTML code rendered by a `frontend` block. Required for `frontend` blocks. + */ + "code"?: string; /** * Block payload. A string for `markdown`, `header`, and `text`; an * arbitrary JSON value (object, array, or scalar) for `json`. Omitted - * for `image`, `widget`, and `llmobs_trace`. + * for `image`, `widget`, `llmobs_trace`, and `frontend`. */ "content"?: any; /** @@ -44,7 +49,7 @@ export class LLMObsContentBlock { */ "interactionType"?: LLMObsContentBlockLLMObsTraceInteractionType; /** - * Optional label rendered alongside the block. + * Optional label rendered alongside a `frontend` block. */ "label"?: string; /** @@ -94,6 +99,10 @@ export class LLMObsContentBlock { baseName: "alt", type: "string", }, + code: { + baseName: "code", + type: "string", + }, content: { baseName: "content", type: "any", diff --git a/packages/datadog-api-client-v2/models/LLMObsContentBlockType.ts b/packages/datadog-api-client-v2/models/LLMObsContentBlockType.ts index 77484b94bdd1..df6c63a967db 100644 --- a/packages/datadog-api-client-v2/models/LLMObsContentBlockType.ts +++ b/packages/datadog-api-client-v2/models/LLMObsContentBlockType.ts @@ -19,6 +19,7 @@ export type LLMObsContentBlockType = | typeof IMAGE | typeof WIDGET | typeof LLMOBS_TRACE + | typeof FRONTEND | UnparsedObject; export const MARKDOWN = "markdown"; export const HEADER = "header"; @@ -27,3 +28,4 @@ export const JSON = "json"; export const IMAGE = "image"; export const WIDGET = "widget"; export const LLMOBS_TRACE = "llmobs_trace"; +export const FRONTEND = "frontend"; diff --git a/packages/datadog-api-client-v2/models/LLMObsFrontendContentBlock.ts b/packages/datadog-api-client-v2/models/LLMObsFrontendContentBlock.ts new file mode 100644 index 000000000000..f7cdcc842175 --- /dev/null +++ b/packages/datadog-api-client-v2/models/LLMObsFrontendContentBlock.ts @@ -0,0 +1,62 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { LLMObsFrontendContentBlockType } from "./LLMObsFrontendContentBlockType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Validation requirements for a `frontend` display block. + */ +export class LLMObsFrontendContentBlock { + /** + * HTML code rendered by a `frontend` block. Required for `frontend` blocks. + */ + "code": string; + /** + * Type discriminator for a `frontend` display block. + */ + "type"?: LLMObsFrontendContentBlockType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + code: { + baseName: "code", + type: "string", + required: true, + }, + type: { + baseName: "type", + type: "LLMObsFrontendContentBlockType", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return LLMObsFrontendContentBlock.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/LLMObsFrontendContentBlockType.ts b/packages/datadog-api-client-v2/models/LLMObsFrontendContentBlockType.ts new file mode 100644 index 000000000000..7161cd110952 --- /dev/null +++ b/packages/datadog-api-client-v2/models/LLMObsFrontendContentBlockType.ts @@ -0,0 +1,14 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Type discriminator for a `frontend` display block. + */ + +export type LLMObsFrontendContentBlockType = typeof FRONTEND | UnparsedObject; +export const FRONTEND = "frontend"; diff --git a/packages/datadog-api-client-v2/models/LLMObsLegacyContentBlock.ts b/packages/datadog-api-client-v2/models/LLMObsLegacyContentBlock.ts new file mode 100644 index 000000000000..84b6050d3a9f --- /dev/null +++ b/packages/datadog-api-client-v2/models/LLMObsLegacyContentBlock.ts @@ -0,0 +1,53 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { LLMObsLegacyContentBlockType } from "./LLMObsLegacyContentBlockType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Validation requirements for an existing non-frontend display block. + */ +export class LLMObsLegacyContentBlock { + /** + * Type discriminator for an existing non-frontend display block. + */ + "type"?: LLMObsLegacyContentBlockType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + type: { + baseName: "type", + type: "LLMObsLegacyContentBlockType", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return LLMObsLegacyContentBlock.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/LLMObsLegacyContentBlockType.ts b/packages/datadog-api-client-v2/models/LLMObsLegacyContentBlockType.ts new file mode 100644 index 000000000000..4dee353e0e18 --- /dev/null +++ b/packages/datadog-api-client-v2/models/LLMObsLegacyContentBlockType.ts @@ -0,0 +1,28 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Type discriminator for an existing non-frontend display block. + */ + +export type LLMObsLegacyContentBlockType = + | typeof MARKDOWN + | typeof HEADER + | typeof TEXT + | typeof JSON + | typeof IMAGE + | typeof WIDGET + | typeof LLMOBS_TRACE + | UnparsedObject; +export const MARKDOWN = "markdown"; +export const HEADER = "header"; +export const TEXT = "text"; +export const JSON = "json"; +export const IMAGE = "image"; +export const WIDGET = "widget"; +export const LLMOBS_TRACE = "llmobs_trace"; diff --git a/packages/datadog-api-client-v2/models/ObjectSerializer.ts b/packages/datadog-api-client-v2/models/ObjectSerializer.ts index aab73007df9f..65525c6a8556 100644 --- a/packages/datadog-api-client-v2/models/ObjectSerializer.ts +++ b/packages/datadog-api-client-v2/models/ObjectSerializer.ts @@ -2843,6 +2843,7 @@ import { LLMObsExperimentationSimpleSearchRequest } from "./LLMObsExperimentatio import { LLMObsExperimentationSimpleSearchResponse } from "./LLMObsExperimentationSimpleSearchResponse"; import { LLMObsExperimentationSortField } from "./LLMObsExperimentationSortField"; import { LLMObsExperimentsResponse } from "./LLMObsExperimentsResponse"; +import { LLMObsFrontendContentBlock } from "./LLMObsFrontendContentBlock"; import { LLMObsInferenceCode } from "./LLMObsInferenceCode"; import { LLMObsInferenceContent } from "./LLMObsInferenceContent"; import { LLMObsInferenceContentValue } from "./LLMObsInferenceContentValue"; @@ -2859,6 +2860,7 @@ import { LLMObsIntegrationInferenceResponse } from "./LLMObsIntegrationInference import { LLMObsIntegrationModel } from "./LLMObsIntegrationModel"; import { LLMObsInternalReasoning } from "./LLMObsInternalReasoning"; import { LLMObsLabelSchema } from "./LLMObsLabelSchema"; +import { LLMObsLegacyContentBlock } from "./LLMObsLegacyContentBlock"; import { LLMObsOpenAIMetadata } from "./LLMObsOpenAIMetadata"; import { LLMObsPatternsActivityProgress } from "./LLMObsPatternsActivityProgress"; import { LLMObsPatternsClusteredPoint } from "./LLMObsPatternsClusteredPoint"; @@ -7327,6 +7329,7 @@ const enumsMap: { [key: string]: any[] } = { "image", "widget", "llmobs_trace", + "frontend", ], LLMObsCustomEvalConfigEvalScope: ["span", "trace", "session"], LLMObsCustomEvalConfigIntegrationProvider: [ @@ -7356,6 +7359,7 @@ const enumsMap: { [key: string]: any[] } = { LLMObsExperimentType: ["experiments"], LLMObsExperimentationSortFieldDirection: ["asc", "desc"], LLMObsExperimentationType: ["experimentation"], + LLMObsFrontendContentBlockType: ["frontend"], LLMObsIntegrationName: [ "openai", "amazon_bedrock", @@ -7365,6 +7369,15 @@ const enumsMap: { [key: string]: any[] } = { "llmproxy", ], LLMObsLabelSchemaType: ["score", "categorical", "boolean", "text"], + LLMObsLegacyContentBlockType: [ + "markdown", + "header", + "text", + "json", + "image", + "widget", + "llmobs_trace", + ], LLMObsMetricAssessment: ["pass", "fail"], LLMObsMetricScoreType: ["score", "categorical", "boolean", "json"], LLMObsOpenAIReasoningEffort: ["none", "low", "medium", "high", "xhigh"], @@ -12748,6 +12761,7 @@ const typeMap: { [index: string]: any } = { LLMObsExperimentationSimpleSearchResponse, LLMObsExperimentationSortField: LLMObsExperimentationSortField, LLMObsExperimentsResponse: LLMObsExperimentsResponse, + LLMObsFrontendContentBlock: LLMObsFrontendContentBlock, LLMObsInferenceCode: LLMObsInferenceCode, LLMObsInferenceContent: LLMObsInferenceContent, LLMObsInferenceContentValue: LLMObsInferenceContentValue, @@ -12764,6 +12778,7 @@ const typeMap: { [index: string]: any } = { LLMObsIntegrationModel: LLMObsIntegrationModel, LLMObsInternalReasoning: LLMObsInternalReasoning, LLMObsLabelSchema: LLMObsLabelSchema, + LLMObsLegacyContentBlock: LLMObsLegacyContentBlock, LLMObsOpenAIMetadata: LLMObsOpenAIMetadata, LLMObsPatternsActivityProgress: LLMObsPatternsActivityProgress, LLMObsPatternsClusteredPoint: LLMObsPatternsClusteredPoint,