/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import { ClosedEnum } from "../../types/enums.js"; import * as z from "zod"; export type TeamCreationDtoDefaultGateMetrics = { /** * The name of the metric. */ name: string; /** * The type of the metric. */ type: string; }; export type TeamCreationDtoDefaultExperimentPrimaryMetrics = { /** * The name of the metric. */ name: string; /** * The type of the metric. */ type: string; }; export type TeamCreationDtoDefaultExperimentSecondaryMetrics = { /** * The name of the metric. */ name: string; /** * The type of the metric. */ type: string; }; export type TeamCreationDtoDefaultHoldoutMetrics = { /** * The name of the metric. */ name: string; /** * The type of the metric. */ type: string; }; /** * Who can change team configurations: "anyone" or "team_only". */ export const TeamCreationDtoChangeTeamConfigs = { Anyone: "anyone", TeamOnly: "team_only", } as const; /** * Who can change team configurations: "anyone" or "team_only". */ export type TeamCreationDtoChangeTeamConfigs = ClosedEnum; /** * Who can review and approve changes: "anyone", "team_only", or "admin_only". */ export const TeamCreationDtoReviewApproval = { Anyone: "anyone", TeamOnly: "team_only", AdminOnly: "admin_only", } as const; /** * Who can review and approve changes: "anyone", "team_only", or "admin_only". */ export type TeamCreationDtoReviewApproval = ClosedEnum; export type TeamCreationDto = { /** * The name of the team. */ name: string; /** * Array of member email addresses in the team. */ members: Array; /** * Array of admin email addresses in the team. */ admins: Array; /** * Default gate metrics for the team. */ defaultGateMetrics: Array; /** * Default primary metrics for experiments in the team. */ defaultExperimentPrimaryMetrics: Array; /** * Default secondary metrics for experiments in the team. */ defaultExperimentSecondaryMetrics: Array; /** * Default holdout metrics for the team. */ defaultHoldoutMetrics: Array; /** * Who can change team configurations: "anyone" or "team_only". */ changeTeamConfigs: TeamCreationDtoChangeTeamConfigs; /** * Who can review and approve changes: "anyone", "team_only", or "admin_only". */ reviewApproval: TeamCreationDtoReviewApproval; /** * Default target applications for the team. */ defaultTargetApplications: Array; /** * Default holdout ID for the team, if applicable. */ defaultHoldoutID?: any | null | undefined; /** * Whether reviews are required for changes, if applicable. */ requireReviews?: any | null | undefined; /** * Whether gate templates are required for the team, if applicable. */ requireGateTemplates?: any | null | undefined; /** * Whether experiment templates are required for the team, if applicable. */ requireExperimentTemplates?: any | null | undefined; }; /** @internal */ export const TeamCreationDtoDefaultGateMetrics$inboundSchema: z.ZodType< TeamCreationDtoDefaultGateMetrics, z.ZodTypeDef, unknown > = z.object({ name: z.string(), type: z.string(), }); /** @internal */ export type TeamCreationDtoDefaultGateMetrics$Outbound = { name: string; type: string; }; /** @internal */ export const TeamCreationDtoDefaultGateMetrics$outboundSchema: z.ZodType< TeamCreationDtoDefaultGateMetrics$Outbound, z.ZodTypeDef, TeamCreationDtoDefaultGateMetrics > = z.object({ name: z.string(), type: z.string(), }); /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace TeamCreationDtoDefaultGateMetrics$ { /** @deprecated use `TeamCreationDtoDefaultGateMetrics$inboundSchema` instead. */ export const inboundSchema = TeamCreationDtoDefaultGateMetrics$inboundSchema; /** @deprecated use `TeamCreationDtoDefaultGateMetrics$outboundSchema` instead. */ export const outboundSchema = TeamCreationDtoDefaultGateMetrics$outboundSchema; /** @deprecated use `TeamCreationDtoDefaultGateMetrics$Outbound` instead. */ export type Outbound = TeamCreationDtoDefaultGateMetrics$Outbound; } /** @internal */ export const TeamCreationDtoDefaultExperimentPrimaryMetrics$inboundSchema: z.ZodType< TeamCreationDtoDefaultExperimentPrimaryMetrics, z.ZodTypeDef, unknown > = z.object({ name: z.string(), type: z.string(), }); /** @internal */ export type TeamCreationDtoDefaultExperimentPrimaryMetrics$Outbound = { name: string; type: string; }; /** @internal */ export const TeamCreationDtoDefaultExperimentPrimaryMetrics$outboundSchema: z.ZodType< TeamCreationDtoDefaultExperimentPrimaryMetrics$Outbound, z.ZodTypeDef, TeamCreationDtoDefaultExperimentPrimaryMetrics > = z.object({ name: z.string(), type: z.string(), }); /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace TeamCreationDtoDefaultExperimentPrimaryMetrics$ { /** @deprecated use `TeamCreationDtoDefaultExperimentPrimaryMetrics$inboundSchema` instead. */ export const inboundSchema = TeamCreationDtoDefaultExperimentPrimaryMetrics$inboundSchema; /** @deprecated use `TeamCreationDtoDefaultExperimentPrimaryMetrics$outboundSchema` instead. */ export const outboundSchema = TeamCreationDtoDefaultExperimentPrimaryMetrics$outboundSchema; /** @deprecated use `TeamCreationDtoDefaultExperimentPrimaryMetrics$Outbound` instead. */ export type Outbound = TeamCreationDtoDefaultExperimentPrimaryMetrics$Outbound; } /** @internal */ export const TeamCreationDtoDefaultExperimentSecondaryMetrics$inboundSchema: z.ZodType< TeamCreationDtoDefaultExperimentSecondaryMetrics, z.ZodTypeDef, unknown > = z.object({ name: z.string(), type: z.string(), }); /** @internal */ export type TeamCreationDtoDefaultExperimentSecondaryMetrics$Outbound = { name: string; type: string; }; /** @internal */ export const TeamCreationDtoDefaultExperimentSecondaryMetrics$outboundSchema: z.ZodType< TeamCreationDtoDefaultExperimentSecondaryMetrics$Outbound, z.ZodTypeDef, TeamCreationDtoDefaultExperimentSecondaryMetrics > = z.object({ name: z.string(), type: z.string(), }); /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace TeamCreationDtoDefaultExperimentSecondaryMetrics$ { /** @deprecated use `TeamCreationDtoDefaultExperimentSecondaryMetrics$inboundSchema` instead. */ export const inboundSchema = TeamCreationDtoDefaultExperimentSecondaryMetrics$inboundSchema; /** @deprecated use `TeamCreationDtoDefaultExperimentSecondaryMetrics$outboundSchema` instead. */ export const outboundSchema = TeamCreationDtoDefaultExperimentSecondaryMetrics$outboundSchema; /** @deprecated use `TeamCreationDtoDefaultExperimentSecondaryMetrics$Outbound` instead. */ export type Outbound = TeamCreationDtoDefaultExperimentSecondaryMetrics$Outbound; } /** @internal */ export const TeamCreationDtoDefaultHoldoutMetrics$inboundSchema: z.ZodType< TeamCreationDtoDefaultHoldoutMetrics, z.ZodTypeDef, unknown > = z.object({ name: z.string(), type: z.string(), }); /** @internal */ export type TeamCreationDtoDefaultHoldoutMetrics$Outbound = { name: string; type: string; }; /** @internal */ export const TeamCreationDtoDefaultHoldoutMetrics$outboundSchema: z.ZodType< TeamCreationDtoDefaultHoldoutMetrics$Outbound, z.ZodTypeDef, TeamCreationDtoDefaultHoldoutMetrics > = z.object({ name: z.string(), type: z.string(), }); /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace TeamCreationDtoDefaultHoldoutMetrics$ { /** @deprecated use `TeamCreationDtoDefaultHoldoutMetrics$inboundSchema` instead. */ export const inboundSchema = TeamCreationDtoDefaultHoldoutMetrics$inboundSchema; /** @deprecated use `TeamCreationDtoDefaultHoldoutMetrics$outboundSchema` instead. */ export const outboundSchema = TeamCreationDtoDefaultHoldoutMetrics$outboundSchema; /** @deprecated use `TeamCreationDtoDefaultHoldoutMetrics$Outbound` instead. */ export type Outbound = TeamCreationDtoDefaultHoldoutMetrics$Outbound; } /** @internal */ export const TeamCreationDtoChangeTeamConfigs$inboundSchema: z.ZodNativeEnum< typeof TeamCreationDtoChangeTeamConfigs > = z.nativeEnum(TeamCreationDtoChangeTeamConfigs); /** @internal */ export const TeamCreationDtoChangeTeamConfigs$outboundSchema: z.ZodNativeEnum< typeof TeamCreationDtoChangeTeamConfigs > = TeamCreationDtoChangeTeamConfigs$inboundSchema; /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace TeamCreationDtoChangeTeamConfigs$ { /** @deprecated use `TeamCreationDtoChangeTeamConfigs$inboundSchema` instead. */ export const inboundSchema = TeamCreationDtoChangeTeamConfigs$inboundSchema; /** @deprecated use `TeamCreationDtoChangeTeamConfigs$outboundSchema` instead. */ export const outboundSchema = TeamCreationDtoChangeTeamConfigs$outboundSchema; } /** @internal */ export const TeamCreationDtoReviewApproval$inboundSchema: z.ZodNativeEnum< typeof TeamCreationDtoReviewApproval > = z.nativeEnum(TeamCreationDtoReviewApproval); /** @internal */ export const TeamCreationDtoReviewApproval$outboundSchema: z.ZodNativeEnum< typeof TeamCreationDtoReviewApproval > = TeamCreationDtoReviewApproval$inboundSchema; /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace TeamCreationDtoReviewApproval$ { /** @deprecated use `TeamCreationDtoReviewApproval$inboundSchema` instead. */ export const inboundSchema = TeamCreationDtoReviewApproval$inboundSchema; /** @deprecated use `TeamCreationDtoReviewApproval$outboundSchema` instead. */ export const outboundSchema = TeamCreationDtoReviewApproval$outboundSchema; } /** @internal */ export const TeamCreationDto$inboundSchema: z.ZodType = z.object({ name: z.string(), members: z.array(z.string()), admins: z.array(z.string()), defaultGateMetrics: z.array(z.lazy(() => TeamCreationDtoDefaultGateMetrics$inboundSchema)), defaultExperimentPrimaryMetrics: z.array( z.lazy(() => TeamCreationDtoDefaultExperimentPrimaryMetrics$inboundSchema) ), defaultExperimentSecondaryMetrics: z.array( z.lazy(() => TeamCreationDtoDefaultExperimentSecondaryMetrics$inboundSchema) ), defaultHoldoutMetrics: z.array( z.lazy(() => TeamCreationDtoDefaultHoldoutMetrics$inboundSchema) ), changeTeamConfigs: TeamCreationDtoChangeTeamConfigs$inboundSchema, reviewApproval: TeamCreationDtoReviewApproval$inboundSchema, defaultTargetApplications: z.array(z.string()), defaultHoldoutID: z.nullable(z.any()).optional(), requireReviews: z.nullable(z.any()).optional(), requireGateTemplates: z.nullable(z.any()).optional(), requireExperimentTemplates: z.nullable(z.any()).optional(), }); /** @internal */ export type TeamCreationDto$Outbound = { name: string; members: Array; admins: Array; defaultGateMetrics: Array; defaultExperimentPrimaryMetrics: Array; defaultExperimentSecondaryMetrics: Array; defaultHoldoutMetrics: Array; changeTeamConfigs: string; reviewApproval: string; defaultTargetApplications: Array; defaultHoldoutID?: any | null | undefined; requireReviews?: any | null | undefined; requireGateTemplates?: any | null | undefined; requireExperimentTemplates?: any | null | undefined; }; /** @internal */ export const TeamCreationDto$outboundSchema: z.ZodType< TeamCreationDto$Outbound, z.ZodTypeDef, TeamCreationDto > = z.object({ name: z.string(), members: z.array(z.string()), admins: z.array(z.string()), defaultGateMetrics: z.array(z.lazy(() => TeamCreationDtoDefaultGateMetrics$outboundSchema)), defaultExperimentPrimaryMetrics: z.array( z.lazy(() => TeamCreationDtoDefaultExperimentPrimaryMetrics$outboundSchema) ), defaultExperimentSecondaryMetrics: z.array( z.lazy(() => TeamCreationDtoDefaultExperimentSecondaryMetrics$outboundSchema) ), defaultHoldoutMetrics: z.array( z.lazy(() => TeamCreationDtoDefaultHoldoutMetrics$outboundSchema) ), changeTeamConfigs: TeamCreationDtoChangeTeamConfigs$outboundSchema, reviewApproval: TeamCreationDtoReviewApproval$outboundSchema, defaultTargetApplications: z.array(z.string()), defaultHoldoutID: z.nullable(z.any()).optional(), requireReviews: z.nullable(z.any()).optional(), requireGateTemplates: z.nullable(z.any()).optional(), requireExperimentTemplates: z.nullable(z.any()).optional(), }); /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace TeamCreationDto$ { /** @deprecated use `TeamCreationDto$inboundSchema` instead. */ export const inboundSchema = TeamCreationDto$inboundSchema; /** @deprecated use `TeamCreationDto$outboundSchema` instead. */ export const outboundSchema = TeamCreationDto$outboundSchema; /** @deprecated use `TeamCreationDto$Outbound` instead. */ export type Outbound = TeamCreationDto$Outbound; }