import {z} from 'zod' export type LogRecordsIDFilter = {column_id: string, operator?: ('eq' | 'ne' | 'one_of' | 'not_in' | 'contains') | undefined, value: unknown | Array | string, type?: 'id' | undefined}; export type LogRecordsDateFilter = {column_id: string, operator: 'eq' | 'ne' | 'gt' | 'gte' | 'lt' | 'lte', value: string, type?: 'date' | undefined}; export type LogRecordsNumberFilter = {column_id: string, operator: 'eq' | 'ne' | 'gt' | 'gte' | 'lt' | 'lte' | 'between', value: number | number | Array | Array, type?: 'number' | undefined}; export type LogRecordsBooleanFilter = {column_id: string, operator?: ('eq' | 'ne') | undefined, value: boolean, type?: 'boolean' | undefined}; export type LogRecordsCollectionFilter = {column_id: string, operator: 'eq' | 'contains' | 'one_of' | 'not_in', value: string | Array, case_sensitive?: boolean | undefined, type?: 'collection' | undefined}; export type LogRecordsTextFilter = {column_id: string, operator: 'eq' | 'ne' | 'contains' | 'one_of' | 'not_in', value: string | Array, case_sensitive?: boolean | undefined, type?: 'text' | undefined}; export type LogRecordsFullyAnnotatedFilter = {column_id?: 'fully_annotated' | undefined, type?: 'fully_annotated' | undefined, user_ids?: (Array | null) | undefined}; export type FilterLeafAnnotatedUnionLogRecordsIDFilterLogRecordsDateFilterLogRecordsNumberFilterLogRecordsBooleanFilterLogRecordsCollectionFilterLogRecordsTextFilterLogRecordsFullyAnnotatedFilterFieldInfoAnnotationNoneTypeRequiredTrueDiscriminatorType = {filter: LogRecordsIDFilter | LogRecordsDateFilter | LogRecordsNumberFilter | LogRecordsBooleanFilter | LogRecordsCollectionFilter | LogRecordsTextFilter | LogRecordsFullyAnnotatedFilter}; export type NotNodeAnnotatedUnionLogRecordsIDFilterLogRecordsDateFilterLogRecordsNumberFilterLogRecordsBooleanFilterLogRecordsCollectionFilterLogRecordsTextFilterLogRecordsFullyAnnotatedFilterFieldInfoAnnotationNoneTypeRequiredTrueDiscriminatorTypeInput = {not: FilterLeafAnnotatedUnionLogRecordsIDFilterLogRecordsDateFilterLogRecordsNumberFilterLogRecordsBooleanFilterLogRecordsCollectionFilterLogRecordsTextFilterLogRecordsFullyAnnotatedFilterFieldInfoAnnotationNoneTypeRequiredTrueDiscriminatorType | AndNodeAnnotatedUnionLogRecordsIDFilterLogRecordsDateFilterLogRecordsNumberFilterLogRecordsBooleanFilterLogRecordsCollectionFilterLogRecordsTextFilterLogRecordsFullyAnnotatedFilterFieldInfoAnnotationNoneTypeRequiredTrueDiscriminatorTypeInput | OrNodeAnnotatedUnionLogRecordsIDFilterLogRecordsDateFilterLogRecordsNumberFilterLogRecordsBooleanFilterLogRecordsCollectionFilterLogRecordsTextFilterLogRecordsFullyAnnotatedFilterFieldInfoAnnotationNoneTypeRequiredTrueDiscriminatorTypeInput | NotNodeAnnotatedUnionLogRecordsIDFilterLogRecordsDateFilterLogRecordsNumberFilterLogRecordsBooleanFilterLogRecordsCollectionFilterLogRecordsTextFilterLogRecordsFullyAnnotatedFilterFieldInfoAnnotationNoneTypeRequiredTrueDiscriminatorTypeInput}; export type OrNodeAnnotatedUnionLogRecordsIDFilterLogRecordsDateFilterLogRecordsNumberFilterLogRecordsBooleanFilterLogRecordsCollectionFilterLogRecordsTextFilterLogRecordsFullyAnnotatedFilterFieldInfoAnnotationNoneTypeRequiredTrueDiscriminatorTypeInput = {or: Array}; export type AndNodeAnnotatedUnionLogRecordsIDFilterLogRecordsDateFilterLogRecordsNumberFilterLogRecordsBooleanFilterLogRecordsCollectionFilterLogRecordsTextFilterLogRecordsFullyAnnotatedFilterFieldInfoAnnotationNoneTypeRequiredTrueDiscriminatorTypeInput = {and: Array}; export type FilterExpressionAnnotatedUnionLogRecordsIDFilterLogRecordsDateFilterLogRecordsNumberFilterLogRecordsBooleanFilterLogRecordsCollectionFilterLogRecordsTextFilterLogRecordsFullyAnnotatedFilterFieldInfoAnnotationNoneTypeRequiredTrueDiscriminatorTypeInput = FilterLeafAnnotatedUnionLogRecordsIDFilterLogRecordsDateFilterLogRecordsNumberFilterLogRecordsBooleanFilterLogRecordsCollectionFilterLogRecordsTextFilterLogRecordsFullyAnnotatedFilterFieldInfoAnnotationNoneTypeRequiredTrueDiscriminatorType | AndNodeAnnotatedUnionLogRecordsIDFilterLogRecordsDateFilterLogRecordsNumberFilterLogRecordsBooleanFilterLogRecordsCollectionFilterLogRecordsTextFilterLogRecordsFullyAnnotatedFilterFieldInfoAnnotationNoneTypeRequiredTrueDiscriminatorTypeInput | OrNodeAnnotatedUnionLogRecordsIDFilterLogRecordsDateFilterLogRecordsNumberFilterLogRecordsBooleanFilterLogRecordsCollectionFilterLogRecordsTextFilterLogRecordsFullyAnnotatedFilterFieldInfoAnnotationNoneTypeRequiredTrueDiscriminatorTypeInput | NotNodeAnnotatedUnionLogRecordsIDFilterLogRecordsDateFilterLogRecordsNumberFilterLogRecordsBooleanFilterLogRecordsCollectionFilterLogRecordsTextFilterLogRecordsFullyAnnotatedFilterFieldInfoAnnotationNoneTypeRequiredTrueDiscriminatorTypeInput; export type LogRecordsSortClause = {column_id: string, ascending?: boolean | undefined, sort_type?: 'column' | undefined}; export type SelectColumns = {column_ids?: Array | undefined, include_all_metrics?: boolean | undefined, include_all_feedback?: boolean | undefined}; export type LogRecordsPartialQueryRequest = {starting_token?: number | undefined, limit?: number | undefined, previous_last_row_id?: (unknown | null) | undefined, log_stream_id?: (unknown | null) | undefined, experiment_id?: (unknown | null) | undefined, metrics_testing_id?: (unknown | null) | undefined, access_view_id?: (unknown | null) | undefined, filters?: (Array) | undefined, filter_tree?: (FilterExpressionAnnotatedUnionLogRecordsIDFilterLogRecordsDateFilterLogRecordsNumberFilterLogRecordsBooleanFilterLogRecordsCollectionFilterLogRecordsTextFilterLogRecordsFullyAnnotatedFilterFieldInfoAnnotationNoneTypeRequiredTrueDiscriminatorTypeInput | null) | undefined, sort?: (LogRecordsSortClause | null) | undefined, truncate_fields?: boolean | undefined, include_counts?: boolean | undefined, include_code_metric_metadata?: boolean | undefined, select_columns: SelectColumns}; export type CreateApiPublicV2ProjectsProjectIdSpansPartialSearchArgs = {project_id: unknown, body: LogRecordsPartialQueryRequest}; export type CreateApiPublicV2ProjectsProjectIdSpansPartialSearchOptions = {baseUrl?: string | undefined, APIKeyHeader?: string | undefined, fetch?: typeof fetch | undefined}; export const textContentPart = z.object({type: z.literal("text").optional(), text: z.string()}); export const fileContentPart = z.object({type: z.literal("file").optional(), file_id: z.string()}); export const metrics = z.object({duration_ns: z.number().int().nullable().optional()}).and(z.record(z.string(), z.unknown())); export const feedbackType = z.enum(["like_dislike", "star", "score", "tags", "text", "choice", "tree_choice"]); export const feedbackRatingInfo = z.object({feedback_type: feedbackType, value: z.union([z.boolean(), z.number().int(), z.string(), z.array(z.string().min(1).max(255))]), explanation: z.string().nullable()}); export const annotationType = z.enum(["like_dislike", "star", "score", "tags", "text", "choice", "tree_choice"]); export const annotationRatingInfo = z.object({annotation_type: annotationType, value: z.union([z.boolean(), z.number().int(), z.string(), z.array(z.string().min(1).max(255))]), explanation: z.string().nullable()}); export const contentModality = z.enum(["text", "document", "image", "audio", "video"]); export const annotationLikeDislikeAggregate = z.object({annotation_type: z.literal("like_dislike").optional(), like_count: z.number().int(), dislike_count: z.number().int(), unrated_count: z.number().int(), tie_count: z.number().int().nullable().optional()}); export const annotationStarAggregate = z.object({annotation_type: z.literal("star").optional(), average: z.number(), counts: z.record(z.string(), z.number().int()), unrated_count: z.number().int()}); export const scoreBucket = z.object({min_inclusive: z.number().int(), max_exclusive: z.number().int().nullable(), count: z.number().int()}); export const annotationScoreAggregate = z.object({annotation_type: z.literal("score").optional(), buckets: z.array(scoreBucket), average: z.number(), unrated_count: z.number().int()}); export const annotationTagsAggregate = z.object({annotation_type: z.literal("tags").optional(), counts: z.record(z.string(), z.number().int()), unrated_count: z.number().int()}); export const annotationChoiceAggregate = z.object({annotation_type: z.literal("choice").optional(), counts: z.record(z.string(), z.number().int()), unrated_count: z.number().int()}); export const annotationTreeChoiceAggregate = z.object({annotation_type: z.literal("tree_choice").optional(), counts: z.record(z.string(), z.number().int()), unrated_count: z.number().int()}); export const annotationTextAggregate = z.object({annotation_type: z.literal("text").optional(), count: z.number().int(), unrated_count: z.number().int()}); export const annotationAggregate = z.object({aggregate: z.discriminatedUnion("annotation_type", [annotationLikeDislikeAggregate, annotationStarAggregate, annotationScoreAggregate, annotationTagsAggregate, annotationChoiceAggregate, annotationTreeChoiceAggregate, annotationTextAggregate])}); export const annotationStatus = z.enum(["NOT_STARTED", "IN_PROGRESS", "DONE"]); export const errorType = z.enum(["llm_api_error", "credentials_error", "data_validation_error", "configuration_error", "permission_error", "not_found_error", "workflow_error", "rate_limit_error", "system_error", "timeout_error", "not_applicable_reason", "uncataloged_error"]); export const errorSeverity = z.enum(["low", "medium", "high", "critical"]); export const standardError = z.object({error_code: z.number().int(), error_type: errorType, error_group: z.string(), severity: errorSeverity, message: z.string(), user_action: z.string().nullable().optional(), documentation_link: z.string().min(1).max(2083).nullable().optional(), retriable: z.boolean().optional(), blocking: z.boolean().optional(), http_status_code: z.number().int().nullable().optional(), source_service: z.string().nullable().optional(), context: z.record(z.string(), z.unknown()).optional()}); export const metricNotComputed = z.object({status_type: z.literal("not_computed").optional(), metric_key_alias: z.string().nullable().optional(), message: z.string().optional(), ems_error_code: z.number().int().nullable().optional(), standard_error: standardError.nullable().optional()}); export const metricPending = z.object({status_type: z.literal("pending").optional(), metric_key_alias: z.string().nullable().optional()}); export const metricComputing = z.object({status_type: z.literal("computing").optional(), metric_key_alias: z.string().nullable().optional(), message: z.string().optional()}); export const metricNotApplicable = z.object({status_type: z.literal("not_applicable").optional(), metric_key_alias: z.string().nullable().optional(), message: z.string().optional(), ems_error_code: z.number().int().nullable().optional(), standard_error: standardError.nullable().optional()}); export const segment = z.object({start: z.number().int(), end: z.number().int(), value: z.union([z.number(), z.number().int(), z.string()]), prob: z.number().nullable().optional()}); export const hallucinationSegment = z.object({hallucination_severity: z.number().int().gte(0).lte(2).optional(), start: z.number().int(), end: z.number().int(), hallucination: z.number()}); export const documentOutput = z.object({content: z.string(), metadata: z.record(z.string(), z.union([z.boolean(), z.string(), z.number().int(), z.number()])).optional()}); export const libsPythonSchemasLogRecordsFeedbackLikeDislikeRating = z.object({feedback_type: z.literal("like_dislike").optional(), value: z.boolean()}); export const libsPythonSchemasLogRecordsFeedbackStarRating = z.object({feedback_type: z.literal("star").optional(), value: z.number().int().gte(1).lte(5)}); export const libsPythonSchemasLogRecordsFeedbackScoreRating = z.object({feedback_type: z.literal("score").optional(), value: z.number().int()}); export const libsPythonSchemasLogRecordsFeedbackTagsRating = z.object({feedback_type: z.literal("tags").optional(), value: z.array(z.string().min(1).max(255))}); export const libsPythonSchemasLogRecordsFeedbackTextRating = z.object({feedback_type: z.literal("text").optional(), value: z.string().min(1)}); export const libsPythonSchemasLogRecordsFeedbackChoiceRating = z.object({feedback_type: z.literal("choice").optional(), value: z.string().min(1).max(255)}); export const libsPythonSchemasLogRecordsFeedbackTreeChoiceRating = z.object({feedback_type: z.literal("tree_choice").optional(), value: z.string().min(1)}); export const feedbackRatingDB = z.object({explanation: z.string().min(1).nullable().optional(), rating: z.discriminatedUnion("feedback_type", [libsPythonSchemasLogRecordsFeedbackLikeDislikeRating, libsPythonSchemasLogRecordsFeedbackStarRating, libsPythonSchemasLogRecordsFeedbackScoreRating, libsPythonSchemasLogRecordsFeedbackTagsRating, libsPythonSchemasLogRecordsFeedbackTextRating, libsPythonSchemasLogRecordsFeedbackChoiceRating, libsPythonSchemasLogRecordsFeedbackTreeChoiceRating]), created_at: z.string(), created_by: z.string().nullable()}); export const likeDislikeAggregate = z.object({feedback_type: z.literal("like_dislike").optional(), like_count: z.number().int(), dislike_count: z.number().int(), unrated_count: z.number().int()}); export const starAggregate = z.object({feedback_type: z.literal("star").optional(), average: z.number(), counts: z.record(z.string(), z.number().int()), unrated_count: z.number().int()}); export const scoreAggregate = z.object({feedback_type: z.literal("score").optional(), average: z.number(), unrated_count: z.number().int()}); export const tagsAggregate = z.object({feedback_type: z.literal("tags").optional(), counts: z.record(z.string(), z.number().int()), unrated_count: z.number().int()}); export const textAggregate = z.object({feedback_type: z.literal("text").optional(), count: z.number().int(), unrated_count: z.number().int()}); export const choiceAggregate = z.object({feedback_type: z.literal("choice").optional(), counts: z.record(z.string(), z.number().int()), unrated_count: z.number().int()}); export const treeChoiceAggregate = z.object({feedback_type: z.literal("tree_choice").optional(), counts: z.record(z.string(), z.number().int()), unrated_count: z.number().int()}); export const feedbackAggregate = z.object({aggregate: z.discriminatedUnion("feedback_type", [likeDislikeAggregate, starAggregate, scoreAggregate, tagsAggregate, textAggregate, choiceAggregate, treeChoiceAggregate])}); export const metricSuccess = z.object({status_type: z.literal("success").optional(), metric_key_alias: z.string().nullable().optional(), value: z.union([z.string(), z.number().int(), z.number(), z.boolean(), z.string(), z.string(), segment, hallucinationSegment, documentOutput, feedbackRatingDB, feedbackAggregate, z.array(z.union([z.string(), z.number().int(), z.number(), z.boolean(), z.string(), z.string(), segment, hallucinationSegment, documentOutput, feedbackRatingDB, feedbackAggregate]).nullable()), z.array(z.array(z.union([z.string(), z.number().int(), z.number(), z.boolean(), z.string(), z.string(), segment, hallucinationSegment, documentOutput, feedbackRatingDB, feedbackAggregate]).nullable())), z.array(z.array(z.array(z.union([z.string(), z.number().int(), z.number(), z.boolean(), z.string(), z.string(), segment, hallucinationSegment, documentOutput, feedbackRatingDB, feedbackAggregate]).nullable())))]).nullable(), explanation: z.string().nullable().optional(), cost: z.number().nullable().optional(), model_alias: z.string().nullable().optional(), num_judges: z.number().int().nullable().optional(), multijudge_average: z.number().nullable().optional(), boolean_from_prob: z.boolean().nullable().optional(), input_tokens: z.number().int().nullable().optional(), output_tokens: z.number().int().nullable().optional(), total_tokens: z.number().int().nullable().optional(), batch_size: z.number().int().nullable().optional(), metadata: z.record(z.string(), z.unknown()).nullable().optional(), display_value: z.string().nullable().optional(), rationale: z.string().nullable().optional(), value_description: z.string().nullable().optional()}); export const metricError = z.object({status_type: z.literal("error").optional(), metric_key_alias: z.string().nullable().optional(), message: z.string().nullable().optional(), ems_error_code: z.number().int().nullable().optional(), standard_error: standardError.nullable().optional()}); export const metricFailed = z.object({status_type: z.literal("failed").optional(), metric_key_alias: z.string().nullable().optional(), message: z.string().nullable().optional(), ems_error_code: z.number().int().nullable().optional(), standard_error: standardError.nullable().optional()}); export const metricRollUp = z.object({status_type: z.literal("roll_up").optional(), metric_key_alias: z.string().nullable().optional(), value: z.union([z.string(), z.number().int(), z.number(), z.boolean(), z.string(), z.string(), segment, hallucinationSegment, documentOutput, feedbackRatingDB, feedbackAggregate, z.array(z.union([z.string(), z.number().int(), z.number(), z.boolean(), z.string(), z.string(), segment, hallucinationSegment, documentOutput, feedbackRatingDB, feedbackAggregate]).nullable()), z.array(z.array(z.union([z.string(), z.number().int(), z.number(), z.boolean(), z.string(), z.string(), segment, hallucinationSegment, documentOutput, feedbackRatingDB, feedbackAggregate]).nullable())), z.array(z.array(z.array(z.union([z.string(), z.number().int(), z.number(), z.boolean(), z.string(), z.string(), segment, hallucinationSegment, documentOutput, feedbackRatingDB, feedbackAggregate]).nullable())))]).nullable(), explanation: z.string().nullable().optional(), cost: z.number().nullable().optional(), model_alias: z.string().nullable().optional(), num_judges: z.number().int().nullable().optional(), multijudge_average: z.number().nullable().optional(), boolean_from_prob: z.boolean().nullable().optional(), input_tokens: z.number().int().nullable().optional(), output_tokens: z.number().int().nullable().optional(), total_tokens: z.number().int().nullable().optional(), batch_size: z.number().int().nullable().optional(), metadata: z.record(z.string(), z.unknown()).nullable().optional(), roll_up_metrics: z.record(z.string(), z.union([z.number(), z.record(z.string(), z.number().int())])).optional()}); export const fileSource = z.enum(["direct_upload", "external_files_api", "external_url", "assembled_stream"]); export const fileStatus = z.enum(["complete", "failed", "pending", "not_uploaded"]); export const fileMetadata = z.object({file_id: z.string(), modality: contentModality, content_type: z.string().nullable().optional(), url: z.string().nullable().optional(), url_expires_at: z.string().nullable().optional(), size_bytes: z.number().int().nullable().optional(), filename: z.string().nullable().optional(), source: fileSource, status: fileStatus}); export const partialExtendedTraceRecord = z.object({type: z.literal("trace").optional(), input: z.union([z.string(), z.array(z.discriminatedUnion("type", [textContentPart, fileContentPart]))]).optional(), redacted_input: z.union([z.string(), z.array(z.discriminatedUnion("type", [textContentPart, fileContentPart]))]).nullable().optional(), output: z.union([z.string(), z.array(z.discriminatedUnion("type", [textContentPart, fileContentPart]))]).nullable().optional(), redacted_output: z.union([z.string(), z.array(z.discriminatedUnion("type", [textContentPart, fileContentPart]))]).nullable().optional(), name: z.string().optional(), created_at: z.string().optional(), user_metadata: z.record(z.string(), z.string()).optional(), tags: z.array(z.string()).optional(), status_code: z.number().int().nullable().optional(), metrics: metrics.optional(), external_id: z.string().nullable().optional(), dataset_input: z.string().nullable().optional(), dataset_output: z.string().nullable().optional(), dataset_metadata: z.record(z.string(), z.string()).optional(), id: z.string().nullable().optional(), session_id: z.string().nullable().optional(), trace_id: z.string().nullable().optional(), project_id: z.string().nullable().optional(), run_id: z.string().nullable().optional(), updated_at: z.string().nullable().optional(), has_children: z.boolean().nullable().optional(), metrics_batch_id: z.string().nullable().optional(), session_batch_id: z.string().nullable().optional(), feedback_rating_info: z.record(z.string(), feedbackRatingInfo).optional(), annotations: z.record(z.string(), z.record(z.string(), annotationRatingInfo)).optional(), file_ids: z.array(z.string()).optional(), file_modalities: z.array(contentModality).optional(), annotation_aggregates: z.record(z.string(), annotationAggregate).optional(), annotation_agreement: z.record(z.string(), z.number()).optional(), overall_annotation_agreement: z.number().nullable().optional(), annotation_queue_ids: z.array(z.string()).optional(), fully_annotated: z.boolean().nullable().optional(), annotation_status: annotationStatus.nullable().optional(), annotated_members: z.array(z.string()).nullable().optional(), progress_message: z.string().optional(), error_message: z.string().optional(), metric_info: z.record(z.string(), z.discriminatedUnion("status_type", [metricNotComputed, metricPending, metricComputing, metricNotApplicable, metricSuccess, metricError, metricFailed, metricRollUp])).nullable().optional(), files: z.record(z.string(), fileMetadata).nullable().optional(), dataset_generated_output: z.string().nullable().optional(), is_complete: z.boolean().optional(), num_spans: z.number().int().nullable().optional()}); export const galileoCoreSchemasLoggingLlmMessageRole = z.enum(["agent", "assistant", "developer", "function", "system", "tool", "user"]); export const toolCallFunction = z.object({name: z.string(), arguments: z.string()}); export const toolCall = z.object({id: z.string(), function: toolCallFunction}); export const galileoCoreSchemasLoggingLlmMessage = z.object({content: z.union([z.string(), z.array(z.discriminatedUnion("type", [textContentPart, fileContentPart]))]), role: galileoCoreSchemasLoggingLlmMessageRole, tool_call_id: z.string().nullable().optional(), tool_calls: z.array(toolCall).nullable().optional()}); export const controlAction = z.enum(["deny", "steer", "observe"]); export const controlResult = z.object({action: controlAction, matched: z.boolean(), confidence: z.number().nullable().optional(), error_message: z.string().nullable().optional()}); export const agentType = z.enum(["default", "planner", "react", "reflection", "router", "classifier", "supervisor", "judge"]); export const partialExtendedAgentSpanRecord = z.object({type: z.literal("agent").optional(), input: z.union([z.string(), z.array(galileoCoreSchemasLoggingLlmMessage), z.array(z.discriminatedUnion("type", [textContentPart, fileContentPart]))]).optional(), redacted_input: z.union([z.string(), z.array(galileoCoreSchemasLoggingLlmMessage), z.array(z.discriminatedUnion("type", [textContentPart, fileContentPart]))]).nullable().optional(), output: z.union([z.string(), galileoCoreSchemasLoggingLlmMessage, z.array(documentOutput), z.array(z.discriminatedUnion("type", [textContentPart, fileContentPart])), controlResult]).nullable().optional(), redacted_output: z.union([z.string(), galileoCoreSchemasLoggingLlmMessage, z.array(documentOutput), z.array(z.discriminatedUnion("type", [textContentPart, fileContentPart])), controlResult]).nullable().optional(), name: z.string().optional(), created_at: z.string().optional(), user_metadata: z.record(z.string(), z.string()).optional(), tags: z.array(z.string()).optional(), status_code: z.number().int().nullable().optional(), metrics: metrics.optional(), external_id: z.string().nullable().optional(), dataset_input: z.string().nullable().optional(), dataset_output: z.string().nullable().optional(), dataset_metadata: z.record(z.string(), z.string()).optional(), id: z.string().nullable().optional(), session_id: z.string().nullable().optional(), trace_id: z.string().nullable().optional(), project_id: z.string().nullable().optional(), run_id: z.string().nullable().optional(), updated_at: z.string().nullable().optional(), has_children: z.boolean().nullable().optional(), metrics_batch_id: z.string().nullable().optional(), session_batch_id: z.string().nullable().optional(), feedback_rating_info: z.record(z.string(), feedbackRatingInfo).optional(), annotations: z.record(z.string(), z.record(z.string(), annotationRatingInfo)).optional(), file_ids: z.array(z.string()).optional(), file_modalities: z.array(contentModality).optional(), annotation_aggregates: z.record(z.string(), annotationAggregate).optional(), annotation_agreement: z.record(z.string(), z.number()).optional(), overall_annotation_agreement: z.number().nullable().optional(), annotation_queue_ids: z.array(z.string()).optional(), fully_annotated: z.boolean().nullable().optional(), annotation_status: annotationStatus.nullable().optional(), annotated_members: z.array(z.string()).nullable().optional(), progress_message: z.string().optional(), error_message: z.string().optional(), metric_info: z.record(z.string(), z.discriminatedUnion("status_type", [metricNotComputed, metricPending, metricComputing, metricNotApplicable, metricSuccess, metricError, metricFailed, metricRollUp])).nullable().optional(), files: z.record(z.string(), fileMetadata).nullable().optional(), parent_id: z.string().nullable().optional(), is_complete: z.boolean().optional(), step_number: z.number().int().nullable().optional(), agent_type: agentType.optional(), agent_name: z.string().nullable().optional()}); export const partialExtendedWorkflowSpanRecord = z.object({type: z.literal("workflow").optional(), input: z.union([z.string(), z.array(galileoCoreSchemasLoggingLlmMessage), z.array(z.discriminatedUnion("type", [textContentPart, fileContentPart]))]).optional(), redacted_input: z.union([z.string(), z.array(galileoCoreSchemasLoggingLlmMessage), z.array(z.discriminatedUnion("type", [textContentPart, fileContentPart]))]).nullable().optional(), output: z.union([z.string(), galileoCoreSchemasLoggingLlmMessage, z.array(documentOutput), z.array(z.discriminatedUnion("type", [textContentPart, fileContentPart])), controlResult]).nullable().optional(), redacted_output: z.union([z.string(), galileoCoreSchemasLoggingLlmMessage, z.array(documentOutput), z.array(z.discriminatedUnion("type", [textContentPart, fileContentPart])), controlResult]).nullable().optional(), name: z.string().optional(), created_at: z.string().optional(), user_metadata: z.record(z.string(), z.string()).optional(), tags: z.array(z.string()).optional(), status_code: z.number().int().nullable().optional(), metrics: metrics.optional(), external_id: z.string().nullable().optional(), dataset_input: z.string().nullable().optional(), dataset_output: z.string().nullable().optional(), dataset_metadata: z.record(z.string(), z.string()).optional(), id: z.string().nullable().optional(), session_id: z.string().nullable().optional(), trace_id: z.string().nullable().optional(), project_id: z.string().nullable().optional(), run_id: z.string().nullable().optional(), updated_at: z.string().nullable().optional(), has_children: z.boolean().nullable().optional(), metrics_batch_id: z.string().nullable().optional(), session_batch_id: z.string().nullable().optional(), feedback_rating_info: z.record(z.string(), feedbackRatingInfo).optional(), annotations: z.record(z.string(), z.record(z.string(), annotationRatingInfo)).optional(), file_ids: z.array(z.string()).optional(), file_modalities: z.array(contentModality).optional(), annotation_aggregates: z.record(z.string(), annotationAggregate).optional(), annotation_agreement: z.record(z.string(), z.number()).optional(), overall_annotation_agreement: z.number().nullable().optional(), annotation_queue_ids: z.array(z.string()).optional(), fully_annotated: z.boolean().nullable().optional(), annotation_status: annotationStatus.nullable().optional(), annotated_members: z.array(z.string()).nullable().optional(), progress_message: z.string().optional(), error_message: z.string().optional(), metric_info: z.record(z.string(), z.discriminatedUnion("status_type", [metricNotComputed, metricPending, metricComputing, metricNotApplicable, metricSuccess, metricError, metricFailed, metricRollUp])).nullable().optional(), files: z.record(z.string(), fileMetadata).nullable().optional(), parent_id: z.string().nullable().optional(), is_complete: z.boolean().optional(), step_number: z.number().int().nullable().optional()}); export const llmMetrics = z.object({duration_ns: z.number().int().nullable().optional(), num_input_tokens: z.number().int().nullable().optional(), num_output_tokens: z.number().int().nullable().optional(), num_total_tokens: z.number().int().nullable().optional(), time_to_first_token_ns: z.number().int().nullable().optional(), num_image_input_tokens: z.number().int().nullable().optional(), num_audio_input_tokens: z.number().int().nullable().optional(), num_audio_output_tokens: z.number().int().nullable().optional(), num_image_output_tokens: z.number().int().nullable().optional()}).and(z.record(z.string(), z.unknown())); export const eventStatus = z.enum(["in_progress", "completed", "failed", "cancelled", "incomplete"]); export const messageEvent = z.object({type: z.literal("message").optional(), id: z.string().nullable().optional(), status: eventStatus.nullable().optional(), metadata: z.record(z.string(), z.unknown()).nullable().optional(), error_message: z.string().nullable().optional(), role: galileoCoreSchemasLoggingLlmMessageRole, content: z.string().nullable().optional(), content_parts: z.array(z.record(z.string(), z.unknown())).nullable().optional()}); export const reasoningEvent = z.object({type: z.literal("reasoning").optional(), id: z.string().nullable().optional(), status: eventStatus.nullable().optional(), metadata: z.record(z.string(), z.unknown()).nullable().optional(), error_message: z.string().nullable().optional(), content: z.string().nullable().optional(), summary: z.union([z.string(), z.array(z.record(z.string(), z.unknown()))]).nullable().optional()}); export const internalToolCall = z.object({type: z.literal("internal_tool_call").optional(), id: z.string().nullable().optional(), status: eventStatus.nullable().optional(), metadata: z.record(z.string(), z.unknown()).nullable().optional(), error_message: z.string().nullable().optional(), name: z.string(), input: z.record(z.string(), z.unknown()).nullable().optional(), output: z.record(z.string(), z.unknown()).nullable().optional()}); export const webSearchAction = z.object({type: z.literal("search"), query: z.string().nullable().optional(), sources: z.unknown()}); export const webSearchCallEvent = z.object({type: z.literal("web_search_call").optional(), id: z.string().nullable().optional(), status: eventStatus.nullable().optional(), metadata: z.record(z.string(), z.unknown()).nullable().optional(), error_message: z.string().nullable().optional(), action: webSearchAction}); export const imageGenerationEvent = z.object({type: z.literal("image_generation").optional(), id: z.string().nullable().optional(), status: eventStatus.nullable().optional(), metadata: z.record(z.string(), z.unknown()).nullable().optional(), error_message: z.string().nullable().optional(), prompt: z.string().nullable().optional(), images: z.array(z.record(z.string(), z.unknown())).nullable().optional(), model: z.string().nullable().optional()}); export const mCPCallEvent = z.object({type: z.literal("mcp_call").optional(), id: z.string().nullable().optional(), status: eventStatus.nullable().optional(), metadata: z.record(z.string(), z.unknown()).nullable().optional(), error_message: z.string().nullable().optional(), tool_name: z.string().nullable().optional(), server_name: z.string().nullable().optional(), arguments: z.record(z.string(), z.unknown()).nullable().optional(), result: z.record(z.string(), z.unknown()).nullable().optional()}); export const mCPListToolsEvent = z.object({type: z.literal("mcp_list_tools").optional(), id: z.string().nullable().optional(), status: eventStatus.nullable().optional(), metadata: z.record(z.string(), z.unknown()).nullable().optional(), error_message: z.string().nullable().optional(), server_name: z.string().nullable().optional(), tools: z.array(z.record(z.string(), z.unknown())).nullable().optional()}); export const mCPApprovalRequestEvent = z.object({type: z.literal("mcp_approval_request").optional(), id: z.string().nullable().optional(), status: eventStatus.nullable().optional(), metadata: z.record(z.string(), z.unknown()).nullable().optional(), error_message: z.string().nullable().optional(), tool_name: z.string().nullable().optional(), tool_invocation: z.record(z.string(), z.unknown()).nullable().optional(), approved: z.boolean().nullable().optional()}); export const partialExtendedLlmSpanRecord = z.object({type: z.literal("llm").optional(), input: z.array(galileoCoreSchemasLoggingLlmMessage).optional(), redacted_input: z.array(galileoCoreSchemasLoggingLlmMessage).nullable().optional(), output: galileoCoreSchemasLoggingLlmMessage.optional(), redacted_output: galileoCoreSchemasLoggingLlmMessage.nullable().optional(), name: z.string().optional(), created_at: z.string().optional(), user_metadata: z.record(z.string(), z.string()).optional(), tags: z.array(z.string()).optional(), status_code: z.number().int().nullable().optional(), metrics: llmMetrics.optional(), external_id: z.string().nullable().optional(), dataset_input: z.string().nullable().optional(), dataset_output: z.string().nullable().optional(), dataset_metadata: z.record(z.string(), z.string()).optional(), id: z.string().nullable().optional(), session_id: z.string().nullable().optional(), trace_id: z.string().nullable().optional(), project_id: z.string().nullable().optional(), run_id: z.string().nullable().optional(), updated_at: z.string().nullable().optional(), has_children: z.boolean().nullable().optional(), metrics_batch_id: z.string().nullable().optional(), session_batch_id: z.string().nullable().optional(), feedback_rating_info: z.record(z.string(), feedbackRatingInfo).optional(), annotations: z.record(z.string(), z.record(z.string(), annotationRatingInfo)).optional(), file_ids: z.array(z.string()).optional(), file_modalities: z.array(contentModality).optional(), annotation_aggregates: z.record(z.string(), annotationAggregate).optional(), annotation_agreement: z.record(z.string(), z.number()).optional(), overall_annotation_agreement: z.number().nullable().optional(), annotation_queue_ids: z.array(z.string()).optional(), fully_annotated: z.boolean().nullable().optional(), annotation_status: annotationStatus.nullable().optional(), annotated_members: z.array(z.string()).nullable().optional(), progress_message: z.string().optional(), error_message: z.string().optional(), metric_info: z.record(z.string(), z.discriminatedUnion("status_type", [metricNotComputed, metricPending, metricComputing, metricNotApplicable, metricSuccess, metricError, metricFailed, metricRollUp])).nullable().optional(), files: z.record(z.string(), fileMetadata).nullable().optional(), parent_id: z.string().nullable().optional(), is_complete: z.boolean().optional(), step_number: z.number().int().nullable().optional(), tools: z.array(z.record(z.string(), z.unknown())).nullable().optional(), events: z.array(z.discriminatedUnion("type", [messageEvent, reasoningEvent, internalToolCall, webSearchCallEvent, imageGenerationEvent, mCPCallEvent, mCPListToolsEvent, mCPApprovalRequestEvent])).nullable().optional(), model: z.string().nullable().optional(), provider: z.string().nullable().optional(), temperature: z.number().nullable().optional(), finish_reason: z.string().nullable().optional()}); export const partialExtendedToolSpanRecord = z.object({type: z.literal("tool").optional(), input: z.string().optional(), redacted_input: z.string().nullable().optional(), output: z.string().nullable().optional(), redacted_output: z.string().nullable().optional(), name: z.string().optional(), created_at: z.string().optional(), user_metadata: z.record(z.string(), z.string()).optional(), tags: z.array(z.string()).optional(), status_code: z.number().int().nullable().optional(), metrics: metrics.optional(), external_id: z.string().nullable().optional(), dataset_input: z.string().nullable().optional(), dataset_output: z.string().nullable().optional(), dataset_metadata: z.record(z.string(), z.string()).optional(), id: z.string().nullable().optional(), session_id: z.string().nullable().optional(), trace_id: z.string().nullable().optional(), project_id: z.string().nullable().optional(), run_id: z.string().nullable().optional(), updated_at: z.string().nullable().optional(), has_children: z.boolean().nullable().optional(), metrics_batch_id: z.string().nullable().optional(), session_batch_id: z.string().nullable().optional(), feedback_rating_info: z.record(z.string(), feedbackRatingInfo).optional(), annotations: z.record(z.string(), z.record(z.string(), annotationRatingInfo)).optional(), file_ids: z.array(z.string()).optional(), file_modalities: z.array(contentModality).optional(), annotation_aggregates: z.record(z.string(), annotationAggregate).optional(), annotation_agreement: z.record(z.string(), z.number()).optional(), overall_annotation_agreement: z.number().nullable().optional(), annotation_queue_ids: z.array(z.string()).optional(), fully_annotated: z.boolean().nullable().optional(), annotation_status: annotationStatus.nullable().optional(), annotated_members: z.array(z.string()).nullable().optional(), progress_message: z.string().optional(), error_message: z.string().optional(), metric_info: z.record(z.string(), z.discriminatedUnion("status_type", [metricNotComputed, metricPending, metricComputing, metricNotApplicable, metricSuccess, metricError, metricFailed, metricRollUp])).nullable().optional(), files: z.record(z.string(), fileMetadata).nullable().optional(), parent_id: z.string().nullable().optional(), is_complete: z.boolean().optional(), step_number: z.number().int().nullable().optional(), tool_call_id: z.string().nullable().optional()}); export const partialExtendedRetrieverSpanRecord = z.object({type: z.literal("retriever").optional(), input: z.string().optional(), redacted_input: z.string().nullable().optional(), output: z.array(documentOutput).optional(), redacted_output: z.array(documentOutput).nullable().optional(), name: z.string().optional(), created_at: z.string().optional(), user_metadata: z.record(z.string(), z.string()).optional(), tags: z.array(z.string()).optional(), status_code: z.number().int().nullable().optional(), metrics: metrics.optional(), external_id: z.string().nullable().optional(), dataset_input: z.string().nullable().optional(), dataset_output: z.string().nullable().optional(), dataset_metadata: z.record(z.string(), z.string()).optional(), id: z.string().nullable().optional(), session_id: z.string().nullable().optional(), trace_id: z.string().nullable().optional(), project_id: z.string().nullable().optional(), run_id: z.string().nullable().optional(), updated_at: z.string().nullable().optional(), has_children: z.boolean().nullable().optional(), metrics_batch_id: z.string().nullable().optional(), session_batch_id: z.string().nullable().optional(), feedback_rating_info: z.record(z.string(), feedbackRatingInfo).optional(), annotations: z.record(z.string(), z.record(z.string(), annotationRatingInfo)).optional(), file_ids: z.array(z.string()).optional(), file_modalities: z.array(contentModality).optional(), annotation_aggregates: z.record(z.string(), annotationAggregate).optional(), annotation_agreement: z.record(z.string(), z.number()).optional(), overall_annotation_agreement: z.number().nullable().optional(), annotation_queue_ids: z.array(z.string()).optional(), fully_annotated: z.boolean().nullable().optional(), annotation_status: annotationStatus.nullable().optional(), annotated_members: z.array(z.string()).nullable().optional(), progress_message: z.string().optional(), error_message: z.string().optional(), metric_info: z.record(z.string(), z.discriminatedUnion("status_type", [metricNotComputed, metricPending, metricComputing, metricNotApplicable, metricSuccess, metricError, metricFailed, metricRollUp])).nullable().optional(), files: z.record(z.string(), fileMetadata).nullable().optional(), parent_id: z.string().nullable().optional(), is_complete: z.boolean().optional(), step_number: z.number().int().nullable().optional()}); export const controlCheckStage = z.enum(["pre", "post"]); export const controlAppliesTo = z.enum(["llm_call", "tool_call", "retriever_call", "trace_call", "session_call"]); export const partialExtendedControlSpanRecord = z.object({type: z.literal("control").optional(), input: z.union([z.string(), z.array(galileoCoreSchemasLoggingLlmMessage), z.array(z.discriminatedUnion("type", [textContentPart, fileContentPart]))]).optional(), redacted_input: z.union([z.string(), z.array(galileoCoreSchemasLoggingLlmMessage), z.array(z.discriminatedUnion("type", [textContentPart, fileContentPart]))]).nullable().optional(), output: controlResult.nullable().optional(), redacted_output: controlResult.nullable().optional(), name: z.string().optional(), created_at: z.string().optional(), user_metadata: z.record(z.string(), z.string()).optional(), tags: z.array(z.string()).optional(), status_code: z.number().int().nullable().optional(), metrics: metrics.optional(), external_id: z.string().nullable().optional(), dataset_input: z.string().nullable().optional(), dataset_output: z.string().nullable().optional(), dataset_metadata: z.record(z.string(), z.string()).optional(), id: z.string().nullable().optional(), session_id: z.string().nullable().optional(), trace_id: z.string().nullable().optional(), project_id: z.string().nullable().optional(), run_id: z.string().nullable().optional(), updated_at: z.string().nullable().optional(), has_children: z.boolean().nullable().optional(), metrics_batch_id: z.string().nullable().optional(), session_batch_id: z.string().nullable().optional(), feedback_rating_info: z.record(z.string(), feedbackRatingInfo).optional(), annotations: z.record(z.string(), z.record(z.string(), annotationRatingInfo)).optional(), file_ids: z.array(z.string()).optional(), file_modalities: z.array(contentModality).optional(), annotation_aggregates: z.record(z.string(), annotationAggregate).optional(), annotation_agreement: z.record(z.string(), z.number()).optional(), overall_annotation_agreement: z.number().nullable().optional(), annotation_queue_ids: z.array(z.string()).optional(), fully_annotated: z.boolean().nullable().optional(), annotation_status: annotationStatus.nullable().optional(), annotated_members: z.array(z.string()).nullable().optional(), progress_message: z.string().optional(), error_message: z.string().optional(), metric_info: z.record(z.string(), z.discriminatedUnion("status_type", [metricNotComputed, metricPending, metricComputing, metricNotApplicable, metricSuccess, metricError, metricFailed, metricRollUp])).nullable().optional(), files: z.record(z.string(), fileMetadata).nullable().optional(), parent_id: z.string().nullable().optional(), is_complete: z.boolean().optional(), step_number: z.number().int().nullable().optional(), control_id: z.number().int().nullable().optional(), agent_name: z.string().nullable().optional(), check_stage: controlCheckStage.nullable().optional(), applies_to: controlAppliesTo.nullable().optional(), evaluator_name: z.string().nullable().optional(), selector_path: z.string().nullable().optional()}); export const partialExtendedHttpSpanRecord = z.object({type: z.literal("http").optional(), input: z.union([z.string(), z.array(galileoCoreSchemasLoggingLlmMessage), z.array(z.discriminatedUnion("type", [textContentPart, fileContentPart]))]).optional(), redacted_input: z.union([z.string(), z.array(galileoCoreSchemasLoggingLlmMessage), z.array(z.discriminatedUnion("type", [textContentPart, fileContentPart]))]).nullable().optional(), output: z.union([z.string(), galileoCoreSchemasLoggingLlmMessage, z.array(documentOutput), z.array(z.discriminatedUnion("type", [textContentPart, fileContentPart])), controlResult]).nullable().optional(), redacted_output: z.union([z.string(), galileoCoreSchemasLoggingLlmMessage, z.array(documentOutput), z.array(z.discriminatedUnion("type", [textContentPart, fileContentPart])), controlResult]).nullable().optional(), name: z.string().optional(), created_at: z.string().optional(), user_metadata: z.record(z.string(), z.string()).optional(), tags: z.array(z.string()).optional(), status_code: z.number().int().nullable().optional(), metrics: metrics.optional(), external_id: z.string().nullable().optional(), dataset_input: z.string().nullable().optional(), dataset_output: z.string().nullable().optional(), dataset_metadata: z.record(z.string(), z.string()).optional(), id: z.string().nullable().optional(), session_id: z.string().nullable().optional(), trace_id: z.string().nullable().optional(), project_id: z.string().nullable().optional(), run_id: z.string().nullable().optional(), updated_at: z.string().nullable().optional(), has_children: z.boolean().nullable().optional(), metrics_batch_id: z.string().nullable().optional(), session_batch_id: z.string().nullable().optional(), feedback_rating_info: z.record(z.string(), feedbackRatingInfo).optional(), annotations: z.record(z.string(), z.record(z.string(), annotationRatingInfo)).optional(), file_ids: z.array(z.string()).optional(), file_modalities: z.array(contentModality).optional(), annotation_aggregates: z.record(z.string(), annotationAggregate).optional(), annotation_agreement: z.record(z.string(), z.number()).optional(), overall_annotation_agreement: z.number().nullable().optional(), annotation_queue_ids: z.array(z.string()).optional(), fully_annotated: z.boolean().nullable().optional(), annotation_status: annotationStatus.nullable().optional(), annotated_members: z.array(z.string()).nullable().optional(), progress_message: z.string().optional(), error_message: z.string().optional(), metric_info: z.record(z.string(), z.discriminatedUnion("status_type", [metricNotComputed, metricPending, metricComputing, metricNotApplicable, metricSuccess, metricError, metricFailed, metricRollUp])).nullable().optional(), files: z.record(z.string(), fileMetadata).nullable().optional(), parent_id: z.string().nullable().optional(), is_complete: z.boolean().optional(), step_number: z.number().int().nullable().optional()}); export const partialExtendedSessionRecord = z.object({type: z.literal("session").optional(), input: z.union([z.string(), z.array(galileoCoreSchemasLoggingLlmMessage), z.array(z.discriminatedUnion("type", [textContentPart, fileContentPart]))]).optional(), redacted_input: z.union([z.string(), z.array(galileoCoreSchemasLoggingLlmMessage), z.array(z.discriminatedUnion("type", [textContentPart, fileContentPart]))]).nullable().optional(), output: z.union([z.string(), galileoCoreSchemasLoggingLlmMessage, z.array(documentOutput), z.array(z.discriminatedUnion("type", [textContentPart, fileContentPart])), controlResult]).nullable().optional(), redacted_output: z.union([z.string(), galileoCoreSchemasLoggingLlmMessage, z.array(documentOutput), z.array(z.discriminatedUnion("type", [textContentPart, fileContentPart])), controlResult]).nullable().optional(), name: z.string().optional(), created_at: z.string().optional(), user_metadata: z.record(z.string(), z.string()).optional(), tags: z.array(z.string()).optional(), status_code: z.number().int().nullable().optional(), metrics: metrics.optional(), external_id: z.string().nullable().optional(), dataset_input: z.string().nullable().optional(), dataset_output: z.string().nullable().optional(), dataset_metadata: z.record(z.string(), z.string()).optional(), id: z.string().nullable().optional(), session_id: z.string().nullable().optional(), trace_id: z.string().nullable().optional(), project_id: z.string().nullable().optional(), run_id: z.string().nullable().optional(), updated_at: z.string().nullable().optional(), has_children: z.boolean().nullable().optional(), metrics_batch_id: z.string().nullable().optional(), session_batch_id: z.string().nullable().optional(), feedback_rating_info: z.record(z.string(), feedbackRatingInfo).optional(), annotations: z.record(z.string(), z.record(z.string(), annotationRatingInfo)).optional(), file_ids: z.array(z.string()).optional(), file_modalities: z.array(contentModality).optional(), annotation_aggregates: z.record(z.string(), annotationAggregate).optional(), annotation_agreement: z.record(z.string(), z.number()).optional(), overall_annotation_agreement: z.number().nullable().optional(), annotation_queue_ids: z.array(z.string()).optional(), fully_annotated: z.boolean().nullable().optional(), annotation_status: annotationStatus.nullable().optional(), annotated_members: z.array(z.string()).nullable().optional(), progress_message: z.string().optional(), error_message: z.string().optional(), metric_info: z.record(z.string(), z.discriminatedUnion("status_type", [metricNotComputed, metricPending, metricComputing, metricNotApplicable, metricSuccess, metricError, metricFailed, metricRollUp])).nullable().optional(), files: z.record(z.string(), fileMetadata).nullable().optional(), previous_session_id: z.string().nullable().optional(), num_traces: z.number().int().nullable().optional()}); export const logRecordsPartialQueryResponse = z.object({starting_token: z.number().int().optional(), limit: z.number().int().optional(), paginated: z.boolean().optional(), next_starting_token: z.number().int().nullable().optional(), last_row_id: z.string().nullable().optional(), records: z.array(z.discriminatedUnion("type", [partialExtendedTraceRecord, partialExtendedAgentSpanRecord, partialExtendedWorkflowSpanRecord, partialExtendedLlmSpanRecord, partialExtendedToolSpanRecord, partialExtendedRetrieverSpanRecord, partialExtendedControlSpanRecord, partialExtendedHttpSpanRecord, partialExtendedSessionRecord])).optional(), num_records: z.number().int()}); export const validateResponse = async ( schema: { readonly '~standard': { readonly validate: (value: unknown) => ({ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }) | Promise<{ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }> } }, value: unknown ): Promise => { const result = await schema['~standard'].validate(value) if (result.issues !== undefined) { const detail = result.issues .map(({ message, path }) => path?.length ? `${path.map((segment) => String(typeof segment === 'object' ? segment.key : segment)).join('.')}: ${message}` : message ) .join('; ') throw new Error(`Response does not match the schema: ${detail}`, { cause: { issues: result.issues } }) } return result.value }; /** * Query Partial Spans * * POST /public/v2/projects/{project_id}/spans/partial_search * * Also accepts auth: ClassicAPIKeyHeader, OAuth2PasswordBearer, HTTPBasic */ export const createApiPublicV2ProjectsProjectIdSpansPartialSearch = async (args: CreateApiPublicV2ProjectsProjectIdSpansPartialSearchArgs, options?: CreateApiPublicV2ProjectsProjectIdSpansPartialSearchOptions) => { const {baseUrl = "https://api.galileo.ai", fetch: fetchFn = fetch, APIKeyHeader} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") headers.set('accept', "application/json") if (APIKeyHeader !== undefined) headers.set("Splunk-AO-API-Key", APIKeyHeader) const url = `${baseUrl.replace(/\/+$/, '')}/public/v2/projects/${encodeURIComponent(String(args.project_id))}/spans/partial_search${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "POST", headers, body: JSON.stringify(args.body)}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return validateResponse(logRecordsPartialQueryResponse, await res.json()) };