@flurin17/rapidata-typescript-sdk 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +47 -0
- package/dist/generated/index.cjs +4465 -0
- package/dist/generated/index.cjs.map +1 -0
- package/dist/generated/index.d.cts +1 -0
- package/dist/generated/index.d.ts +1 -0
- package/dist/generated/index.js +4420 -0
- package/dist/generated/index.js.map +1 -0
- package/dist/index-DH4HyFFk.d.cts +7727 -0
- package/dist/index-DH4HyFFk.d.ts +7727 -0
- package/dist/index.cjs +7778 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +789 -0
- package/dist/index.d.ts +789 -0
- package/dist/index.js +7680 -0
- package/dist/index.js.map +1 -0
- package/package.json +77 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/config.ts","../src/domain.ts","../src/errors.ts","../src/generated/index.ts","../src/generated/core/ApiError.ts","../src/generated/core/CancelablePromise.ts","../src/generated/core/OpenAPI.ts","../src/generated/core/request.ts","../src/generated/services/AssetService.ts","../src/generated/services/AudienceService.ts","../src/generated/services/BatchUploadService.ts","../src/generated/services/BenchmarkService.ts","../src/generated/services/CacheService.ts","../src/generated/services/CampaignService.ts","../src/generated/services/ClientService.ts","../src/generated/services/CustomerService.ts","../src/generated/services/CustomerRapidService.ts","../src/generated/services/DatapointService.ts","../src/generated/services/DatasetService.ts","../src/generated/services/DatasetGroupService.ts","../src/generated/services/EvaluationWorkflowService.ts","../src/generated/services/ExamplesService.ts","../src/generated/services/FeedbackService.ts","../src/generated/services/FlowService.ts","../src/generated/services/FlowItemService.ts","../src/generated/services/GroupedRankingWorkflowService.ts","../src/generated/services/IdentityService.ts","../src/generated/services/JobService.ts","../src/generated/services/LeaderboardService.ts","../src/generated/services/NewsletterService.ts","../src/generated/services/OrderService.ts","../src/generated/services/OrganizationService.ts","../src/generated/services/ParticipantService.ts","../src/generated/services/PipelineService.ts","../src/generated/services/PromptService.ts","../src/generated/services/RankingFlowService.ts","../src/generated/services/RankingFlowItemService.ts","../src/generated/services/RankingWorkflowService.ts","../src/generated/services/RapidService.ts","../src/generated/services/RapidataIdentityApiService.ts","../src/generated/services/RapidsService.ts","../src/generated/services/SampleService.ts","../src/generated/services/SimpleWorkflowService.ts","../src/generated/services/SurveyService.ts","../src/generated/services/UserRapidService.ts","../src/generated/services/ValidationFeedbackService.ts","../src/generated/services/ValidationSetService.ts","../src/generated/services/WorkflowService.ts","../src/version.ts","../src/client.ts"],"names":["path","AgeGroup","Gender","DeviceType","TranslationBehaviourOptions","RapidataRetrievalMode","request","resolve","headers","sleep","writeFile","otelContext"],"mappings":"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","file":"index.js","sourcesContent":["import { trace } from \"@opentelemetry/api\";\n\nexport type LogLevel = \"debug\" | \"info\" | \"warn\" | \"error\";\n\nexport interface RapidataRuntimeConfig {\n enableBetaFeatures: boolean;\n logging: {\n level: LogLevel;\n silentMode: boolean;\n enableOtlp: boolean;\n };\n upload: {\n cacheToDisk: boolean;\n cacheLocation: string;\n maxWorkers: number;\n batchSize: number;\n batchPollInterval: number;\n };\n}\n\nexport const rapidataConfig: RapidataRuntimeConfig = {\n enableBetaFeatures: false,\n logging: {\n level: \"info\",\n silentMode: false,\n enableOtlp: true,\n },\n upload: {\n cacheToDisk: false,\n cacheLocation: \".rapidata-cache\",\n maxWorkers: 4,\n batchSize: 25,\n batchPollInterval: 2_000,\n },\n};\n\nconst levelWeight: Record<LogLevel, number> = {\n debug: 10,\n info: 20,\n warn: 30,\n error: 40,\n};\n\nfunction shouldLog(level: LogLevel) {\n if (rapidataConfig.logging.silentMode) {\n return false;\n }\n\n return levelWeight[level] >= levelWeight[rapidataConfig.logging.level];\n}\n\nexport const logger = {\n debug(message: string, ...args: unknown[]) {\n if (shouldLog(\"debug\")) {\n console.debug(message, ...args);\n }\n },\n info(message: string, ...args: unknown[]) {\n if (shouldLog(\"info\")) {\n console.info(message, ...args);\n }\n },\n warn(message: string, ...args: unknown[]) {\n if (shouldLog(\"warn\")) {\n console.warn(message, ...args);\n }\n },\n error(message: string, ...args: unknown[]) {\n if (shouldLog(\"error\")) {\n console.error(message, ...args);\n }\n },\n};\n\nexport function managedPrint(...args: unknown[]) {\n if (!rapidataConfig.logging.silentMode) {\n console.log(...args);\n }\n}\n\nexport class RapidataTracer {\n private readonly tracer = trace.getTracer(\"rapidata-typescript-sdk\");\n\n private sessionId?: string;\n\n private userInfo?: { clientId?: string; email?: string };\n\n setSessionId(sessionId: string) {\n this.sessionId = sessionId;\n }\n\n setUserInfo(userInfo: { clientId?: string; email?: string }) {\n this.userInfo = userInfo;\n }\n\n startActiveSpan<T>(name: string, fn: () => Promise<T>): Promise<T> {\n return this.tracer.startActiveSpan(name, (span) => {\n if (this.sessionId) {\n span.setAttribute(\"rapidata.session_id\", this.sessionId);\n }\n\n if (this.userInfo?.clientId) {\n span.setAttribute(\"enduser.id\", this.userInfo.clientId);\n }\n\n if (this.userInfo?.email) {\n span.setAttribute(\"enduser.email\", this.userInfo.email);\n }\n\n return fn()\n .then((result) => {\n span.end();\n return result;\n })\n .catch((error: unknown) => {\n span.recordException(error instanceof Error ? error : new Error(String(error)));\n span.end();\n throw error;\n });\n });\n }\n}\n\nexport const tracer = new RapidataTracer();\n","import { writeFile } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport type {\n FeatureFlag,\n FeatureFlagModel,\n IAudienceFilter,\n IAssetInput,\n IOrderWorkflowModel,\n IRapidPayload,\n IRefereeModel,\n ISelection,\n IUserFilterModel,\n IValidationTruthModel,\n} from \"./generated\";\nimport { logger } from \"./config\";\n\nexport type DataType = \"text\" | \"media\";\nexport type JsonObject = Record<string, unknown>;\n\nconst IMAGE_EXTENSIONS = [\".jpg\", \".jpeg\", \".png\", \".webp\", \".gif\", \".bmp\", \".tif\", \".tiff\", \".avif\"];\nconst VIDEO_EXTENSIONS = [\".mp4\", \".mov\", \".avi\", \".mkv\", \".webm\", \".m4v\"];\nconst AUDIO_EXTENSIONS = [\".mp3\", \".wav\", \".aac\", \".m4a\", \".ogg\", \".flac\"];\n\nfunction extensionForAsset(asset: string) {\n try {\n const url = new URL(asset);\n return path.extname(url.pathname).toLowerCase();\n } catch {\n return path.extname(asset).toLowerCase();\n }\n}\n\nfunction assertCondition(condition: unknown, message: string): asserts condition {\n if (!condition) {\n throw new Error(message);\n }\n}\n\nexport enum AgeGroup {\n Age0To17 = \"0-17\",\n Age18To29 = \"18-29\",\n Age30To39 = \"30-39\",\n Age40To49 = \"40-49\",\n Age50To64 = \"50-64\",\n Age65Plus = \"65+\",\n}\n\nexport enum Gender {\n Male = \"Male\",\n Female = \"Female\",\n Other = \"Other\",\n}\n\nexport enum DeviceType {\n Unknown = \"Unknown\",\n Phone = \"Phone\",\n Tablet = \"Tablet\",\n}\n\nexport enum TranslationBehaviourOptions {\n BOTH = \"both\",\n ONLY_ORIGINAL = \"only original\",\n ONLY_TRANSLATED = \"only translated\",\n}\n\nexport enum RapidataRetrievalMode {\n Shuffled = \"Shuffled\",\n Sequential = \"Sequential\",\n Random = \"Random\",\n}\n\nexport class Datapoint {\n readonly asset: string | string[];\n\n readonly dataType: DataType;\n\n readonly context?: string;\n\n readonly mediaContext?: string;\n\n readonly sentence?: string;\n\n readonly privateMetadata?: Record<string, string>;\n\n readonly group?: string;\n\n constructor(options: {\n asset: string | string[];\n dataType: DataType;\n context?: string;\n mediaContext?: string;\n sentence?: string;\n privateMetadata?: Record<string, string>;\n group?: string;\n }) {\n if (options.context === \"\") {\n throw new Error(\"context cannot be an empty string. If not needed, set it to undefined.\");\n }\n\n if (options.mediaContext === \"\") {\n throw new Error(\"mediaContext cannot be an empty string. If not needed, set it to undefined.\");\n }\n\n if (options.sentence && options.sentence.trim().split(/\\s+/).length <= 1) {\n throw new Error(\"sentence must contain at least two words.\");\n }\n\n if (options.sentence && options.context) {\n throw new Error(\"Both sentence and context cannot be provided at the same time.\");\n }\n\n this.asset = options.asset;\n this.dataType = options.dataType;\n this.context = options.context;\n this.mediaContext = options.mediaContext;\n this.sentence = options.sentence;\n this.privateMetadata = options.privateMetadata;\n this.group = options.group;\n }\n\n getAssetType() {\n if (this.dataType === \"text\") {\n return \"Text\";\n }\n\n const sample = Array.isArray(this.asset) ? this.asset[0] : this.asset;\n if (!sample) {\n return \"None\";\n }\n const extension = extensionForAsset(sample);\n if (IMAGE_EXTENSIONS.includes(extension)) {\n return \"Image\";\n }\n\n if (VIDEO_EXTENSIONS.includes(extension)) {\n return \"Video\";\n }\n\n if (AUDIO_EXTENSIONS.includes(extension)) {\n return \"Audio\";\n }\n\n logger.debug(\"Could not infer asset type for %s\", sample);\n return \"None\";\n }\n\n getPromptTypes() {\n const promptTypes: string[] = [];\n if (this.context) {\n promptTypes.push(\"Text\");\n }\n\n if (this.mediaContext) {\n promptTypes.push(\"Asset\");\n }\n\n return promptTypes.length > 0 ? promptTypes : [\"None\"];\n }\n}\n\nexport class Box {\n readonly xMin: number;\n\n readonly yMin: number;\n\n readonly xMax: number;\n\n readonly yMax: number;\n\n constructor(xMin: number, yMin: number, xMax: number, yMax: number) {\n for (const coordinate of [xMin, yMin, xMax, yMax]) {\n if (coordinate < 0 || coordinate > 1) {\n throw new Error(\"Box coordinates must be between 0 and 1.\");\n }\n }\n\n if (xMin >= xMax) {\n throw new Error(\"xMin must be less than xMax.\");\n }\n\n if (yMin >= yMax) {\n throw new Error(\"yMin must be less than yMax.\");\n }\n\n this.xMin = xMin;\n this.yMin = yMin;\n this.xMax = xMax;\n this.yMax = yMax;\n }\n\n toModel() {\n return {\n xMin: this.xMin * 100,\n yMin: this.yMin * 100,\n xMax: this.xMax * 100,\n yMax: this.yMax * 100,\n };\n }\n}\n\nexport class RapidataResults {\n constructor(readonly data: Record<string, unknown>) {}\n\n toPandas(splitDetails = false): Array<Record<string, unknown>> {\n const results = Array.isArray(this.data.results) ? this.data.results : [];\n if (!splitDetails) {\n return results.map((item) => this.flatten(item as Record<string, unknown>));\n }\n\n return results.flatMap((item) => {\n const result = item as Record<string, unknown>;\n const detailedResults = Array.isArray(result.detailedResults)\n ? result.detailedResults as Array<Record<string, unknown>>\n : [];\n const base = Object.fromEntries(\n Object.entries(result).filter(([key]) => key !== \"detailedResults\"),\n );\n return detailedResults.map((detail) => ({\n ...this.flatten(base),\n ...this.flatten(detail),\n }));\n });\n }\n\n async toJson(filePath = \"./results.json\") {\n await writeFile(filePath, `${JSON.stringify(this.data, null, 2)}\\n`);\n }\n\n private flatten(input: Record<string, unknown>, prefix = \"\"): Record<string, unknown> {\n return Object.entries(input).reduce<Record<string, unknown>>((accumulator, [key, value]) => {\n const nestedKey = prefix ? `${prefix}_${key}` : key;\n if (value && typeof value === \"object\" && !Array.isArray(value)) {\n Object.assign(accumulator, this.flatten(value as Record<string, unknown>, nestedKey));\n } else {\n accumulator[nestedKey] = value;\n }\n return accumulator;\n }, {});\n }\n}\n\nexport abstract class RapidataSetting {\n constructor(\n readonly key: string,\n readonly value: unknown,\n ) {}\n\n toFeatureFlag(): FeatureFlag {\n return {\n key: this.key,\n value: String(this.value),\n };\n }\n\n toFeatureFlagModel(): FeatureFlagModel {\n return {\n key: this.key,\n value: String(this.value),\n };\n }\n}\n\nexport class AlertOnFastResponseSetting extends RapidataSetting {\n constructor(threshold: number) {\n if (!Number.isInteger(threshold)) {\n throw new Error(\"The alert threshold must be an integer.\");\n }\n\n if (threshold > 25_000 || threshold < 0) {\n throw new Error(\"The alert threshold must be between 0 and 25000 milliseconds.\");\n }\n\n super(\"alert_on_fast_response\", threshold);\n }\n}\n\nexport class AlertOnFastResponse extends AlertOnFastResponseSetting {}\n\nexport class TranslationBehaviourSetting extends RapidataSetting {\n constructor(value: TranslationBehaviourOptions) {\n super(\"translation_behaviour\", value);\n }\n}\n\nexport class TranslationBehaviour extends TranslationBehaviourSetting {}\n\nexport class FreeTextMinimumCharactersSetting extends RapidataSetting {\n constructor(value: number) {\n if (!Number.isInteger(value) || value < 1) {\n throw new Error(\"The minimum number of characters must be an integer greater than or equal to 1.\");\n }\n\n super(\"free_text_minimum_characters\", value);\n }\n}\n\nexport class FreeTextMinimumCharacters extends FreeTextMinimumCharactersSetting {}\n\nexport class NoShuffleSetting extends RapidataSetting {\n constructor(value = true) {\n super(\"no_shuffle\", value);\n }\n}\n\nexport class NoShuffle extends NoShuffleSetting {}\n\nexport class PlayVideoUntilTheEndSetting extends RapidataSetting {\n constructor(additionalTime = 0) {\n if (additionalTime < -25_000 || additionalTime > 25_000) {\n throw new Error(\"The additional time must be between -25000 and 25000.\");\n }\n\n super(\"alert_on_fast_response_add_media_duration\", additionalTime);\n }\n}\n\nexport class PlayVideoUntilTheEnd extends PlayVideoUntilTheEndSetting {}\n\nexport class MuteVideoSetting extends RapidataSetting {\n constructor(value = true) {\n super(\"mute_video_asset\", value);\n }\n}\n\nexport class MuteVideo extends MuteVideoSetting {}\n\nexport class MarkdownSetting extends RapidataSetting {\n constructor(value = true) {\n super(\"use_text_asset_markdown\", value);\n }\n}\n\nexport class Markdown extends MarkdownSetting {}\n\nexport class AllowNeitherBothSetting extends RapidataSetting {\n constructor(value = true) {\n super(\"compare_unsure\", value);\n }\n}\n\nexport class AllowNeitherBoth extends AllowNeitherBothSetting {}\n\nexport class SwapContextInstructionSetting extends RapidataSetting {\n constructor(value = true) {\n super(\"swap_question_and_prompt\", value);\n }\n}\n\nexport class SwapContextInstruction extends SwapContextInstructionSetting {}\n\nexport class CustomSetting extends RapidataSetting {\n constructor(key: string, value: string) {\n super(key, value);\n }\n}\n\nexport class RapidataSettings {\n static readonly AlertOnFastResponse = AlertOnFastResponseSetting;\n static readonly TranslationBehaviour = TranslationBehaviourSetting;\n static readonly FreeTextMinimumCharacters = FreeTextMinimumCharactersSetting;\n static readonly NoShuffle = NoShuffleSetting;\n static readonly PlayVideoUntilTheEnd = PlayVideoUntilTheEndSetting;\n static readonly AllowNeitherBoth = AllowNeitherBothSetting;\n static readonly SwapContextInstruction = SwapContextInstructionSetting;\n static readonly MuteVideo = MuteVideoSetting;\n static readonly Markdown = MarkdownSetting;\n}\n\nexport abstract class RapidataFilter {\n abstract toModel(): IUserFilterModel;\n\n toAudienceModel(): IAudienceFilter {\n throw new Error(\"This filter is not supported for audiences.\");\n }\n\n and(other: RapidataFilter) {\n return new AndFilter([this, other]);\n }\n\n or(other: RapidataFilter) {\n return new OrFilter([this, other]);\n }\n\n not() {\n return new NotFilter(this);\n }\n}\n\nexport class CountryFilter extends RapidataFilter {\n readonly countryCodes: string[];\n\n constructor(countryCodes: string[]) {\n super();\n this.countryCodes = countryCodes.map((code) => {\n if (code.length !== 2) {\n throw new Error(`Country codes must be length 2. Invalid code: \"${code}\".`);\n }\n\n return code.toUpperCase();\n });\n }\n\n toModel(): IUserFilterModel {\n return { _t: \"CountryFilter\", countries: this.countryCodes } as IUserFilterModel;\n }\n\n toAudienceModel(): IAudienceFilter {\n return { _t: \"CountryFilter\", countries: this.countryCodes } as IAudienceFilter;\n }\n}\n\nexport class LanguageFilter extends RapidataFilter {\n readonly languageCodes: string[];\n\n constructor(languageCodes: string[]) {\n super();\n this.languageCodes = languageCodes.map((code) => {\n if (code.length !== 2) {\n throw new Error(`Language codes must be length 2. Invalid code: \"${code}\".`);\n }\n\n return code.toLowerCase();\n });\n }\n\n toModel(): IUserFilterModel {\n return { _t: \"LanguageFilter\", languages: this.languageCodes } as IUserFilterModel;\n }\n\n toAudienceModel(): IAudienceFilter {\n return { _t: \"LanguageFilter\", languages: this.languageCodes } as IAudienceFilter;\n }\n}\n\nexport class AgeFilter extends RapidataFilter {\n constructor(readonly ageGroups: AgeGroup[]) {\n super();\n }\n\n toModel(): IUserFilterModel {\n return {\n _t: \"AgeFilter\",\n ageGroups: this.ageGroups,\n } as IUserFilterModel;\n }\n}\n\nexport class GenderFilter extends RapidataFilter {\n constructor(readonly genders: Gender[]) {\n super();\n }\n\n toModel(): IUserFilterModel {\n return {\n _t: \"GenderFilter\",\n genders: this.genders,\n } as IUserFilterModel;\n }\n}\n\nexport class DeviceFilter extends RapidataFilter {\n constructor(readonly deviceTypes: DeviceType[]) {\n super();\n }\n\n toModel(): IUserFilterModel {\n return {\n _t: \"DeviceFilter\",\n deviceTypes: this.deviceTypes,\n } as IUserFilterModel;\n }\n}\n\nexport class UserScoreFilter extends RapidataFilter {\n constructor(\n readonly lowerBound = 0,\n readonly upperBound = 1,\n readonly dimension?: string,\n ) {\n super();\n if (lowerBound < 0 || lowerBound > 1 || upperBound < 0 || upperBound > 1) {\n throw new Error(\"Bounds must be between 0 and 1.\");\n }\n\n if (lowerBound >= upperBound) {\n throw new Error(\"lowerBound must be less than upperBound.\");\n }\n }\n\n toModel(): IUserFilterModel {\n return {\n _t: \"UserScoreFilter\",\n lowerbound: this.lowerBound,\n upperbound: this.upperBound,\n dimension: this.dimension,\n } as IUserFilterModel;\n }\n}\n\nexport class CampaignFilter extends RapidataFilter {\n constructor(readonly campaignIds: string[]) {\n super();\n }\n\n toModel(): IUserFilterModel {\n return {\n _t: \"CampaignFilter\",\n campaignIds: this.campaignIds,\n } as IUserFilterModel;\n }\n}\n\nexport class CustomFilter extends RapidataFilter {\n constructor(\n readonly identifier: string,\n readonly values: string[],\n ) {\n super();\n }\n\n toModel(): IUserFilterModel {\n return {\n _t: \"CustomFilter\",\n identifier: this.identifier,\n values: this.values,\n } as IUserFilterModel;\n }\n}\n\nexport class NotFilter extends RapidataFilter {\n constructor(readonly filter: RapidataFilter) {\n super();\n }\n\n toModel(): IUserFilterModel {\n return {\n _t: \"NotFilter\",\n filter: this.filter.toModel(),\n } as IUserFilterModel;\n }\n\n toAudienceModel(): IAudienceFilter {\n return {\n _t: \"NotFilter\",\n filter: this.filter.toAudienceModel(),\n } as IAudienceFilter;\n }\n}\n\nexport class AndFilter extends RapidataFilter {\n constructor(readonly filters: RapidataFilter[]) {\n super();\n }\n\n toModel(): IUserFilterModel {\n return {\n _t: \"AndFilter\",\n filters: this.filters.map((filter) => filter.toModel()),\n } as IUserFilterModel;\n }\n\n toAudienceModel(): IAudienceFilter {\n return {\n _t: \"AndFilter\",\n filters: this.filters.map((filter) => filter.toAudienceModel()),\n } as IAudienceFilter;\n }\n}\n\nexport class OrFilter extends RapidataFilter {\n constructor(readonly filters: RapidataFilter[]) {\n super();\n }\n\n toModel(): IUserFilterModel {\n return {\n _t: \"OrFilter\",\n filters: this.filters.map((filter) => filter.toModel()),\n } as IUserFilterModel;\n }\n\n toAudienceModel(): IAudienceFilter {\n return {\n _t: \"OrFilter\",\n filters: this.filters.map((filter) => filter.toAudienceModel()),\n } as IAudienceFilter;\n }\n}\n\nexport class RapidataFilters {\n static readonly Country = CountryFilter;\n static readonly Language = LanguageFilter;\n static readonly UserScore = UserScoreFilter;\n static readonly Campaign = CampaignFilter;\n static readonly Age = AgeFilter;\n static readonly Gender = GenderFilter;\n static readonly Custom = CustomFilter;\n static readonly Device = DeviceFilter;\n static readonly Not = NotFilter;\n static readonly Or = OrFilter;\n static readonly And = AndFilter;\n}\n\nexport abstract class RapidataSelection {\n abstract toModel(): ISelection;\n}\n\nexport class LabelingSelection extends RapidataSelection {\n constructor(\n readonly amount: number,\n readonly retrievalMode: RapidataRetrievalMode = RapidataRetrievalMode.Shuffled,\n readonly maxIterations?: number,\n ) {\n super();\n }\n\n toModel(): ISelection {\n return {\n _t: \"LabelingSelection\",\n amount: this.amount,\n retrievalMode: this.retrievalMode,\n maxIterations: this.maxIterations,\n } as ISelection;\n }\n}\n\nexport class ValidationSelection extends RapidataSelection {\n constructor(\n readonly validationSetId: string,\n readonly amount = 1,\n ) {\n super();\n }\n\n toModel(): ISelection {\n return {\n _t: \"ValidationSelection\",\n validationSetId: this.validationSetId,\n amount: this.amount,\n } as ISelection;\n }\n}\n\nexport class ConditionalValidationSelection extends RapidataSelection {\n constructor(\n readonly validationSetId: string,\n readonly thresholds: number[],\n readonly chances: number[],\n readonly rapidCounts: number[],\n readonly dimensions?: string[],\n ) {\n super();\n assertCondition(\n thresholds.length === chances.length && thresholds.length === rapidCounts.length,\n \"thresholds, chances and rapidCounts must have equal length.\",\n );\n }\n\n toModel(): ISelection {\n return {\n _t: \"ConditionalValidationSelection\",\n validationSetId: this.validationSetId,\n validationChances: this.thresholds.map((threshold, index) => ({\n userScoreThreshold: threshold,\n chance: this.chances[index],\n rapidCount: this.rapidCounts[index],\n })),\n dimensions: this.dimensions,\n } as ISelection;\n }\n}\n\nexport class DemographicSelection extends RapidataSelection {\n constructor(\n readonly keys: string[],\n readonly maxRapids: number,\n ) {\n super();\n }\n\n toModel(): ISelection {\n return {\n _t: \"DemographicSelection\",\n keys: this.keys,\n maxRapids: this.maxRapids,\n } as ISelection;\n }\n}\n\nexport class CappedSelection extends RapidataSelection {\n constructor(\n readonly selections: RapidataSelection[],\n readonly maxRapids: number,\n ) {\n super();\n }\n\n toModel(): ISelection {\n return {\n _t: \"CappedSelection\",\n selections: this.selections.map((selection) => selection.toModel()),\n maxRapids: this.maxRapids,\n } as ISelection;\n }\n}\n\nexport class ShufflingSelection extends RapidataSelection {\n constructor(readonly selections: RapidataSelection[]) {\n super();\n }\n\n toModel(): ISelection {\n return {\n _t: \"ShufflingSelection\",\n selections: this.selections.map((selection) => selection.toModel()),\n } as ISelection;\n }\n}\n\nexport class EffortSelection extends RapidataSelection {\n constructor(\n readonly effortBudget: number,\n readonly retrievalMode: RapidataRetrievalMode = RapidataRetrievalMode.Shuffled,\n readonly maxIterations?: number,\n ) {\n super();\n }\n\n toModel(): ISelection {\n return {\n _t: \"EffortCappedSelection\",\n effortBudget: this.effortBudget,\n retrievalMode: this.retrievalMode,\n maxIterations: this.maxIterations,\n } as ISelection;\n }\n}\n\nexport class StaticSelection extends RapidataSelection {\n constructor(readonly rapidIds: string[]) {\n super();\n }\n\n toModel(): ISelection {\n return {\n _t: \"StaticSelection\",\n rapidIds: this.rapidIds,\n } as ISelection;\n }\n}\n\nexport class AbTestSelection extends RapidataSelection {\n constructor(\n readonly aSelections: RapidataSelection[],\n readonly bSelections: RapidataSelection[],\n ) {\n super();\n }\n\n toModel(): ISelection {\n return {\n _t: \"AbTestSelection\",\n a: this.aSelections.map((selection) => selection.toModel()),\n b: this.bSelections.map((selection) => selection.toModel()),\n } as ISelection;\n }\n}\n\nexport class RapidataSelections {\n static readonly Labeling = LabelingSelection;\n static readonly Validation = ValidationSelection;\n static readonly ConditionalValidation = ConditionalValidationSelection;\n static readonly Demographic = DemographicSelection;\n static readonly Capped = CappedSelection;\n static readonly Shuffling = ShufflingSelection;\n}\n\nabstract class Referee {\n abstract toModel(): IRefereeModel;\n}\n\nexport class NaiveReferee extends Referee {\n constructor(readonly responses = 10) {\n super();\n if (responses < 1) {\n throw new Error(\"responses must be greater than 0.\");\n }\n }\n\n toModel(): IRefereeModel {\n return {\n _t: \"NaiveReferee\",\n totalVotes: this.responses,\n } as IRefereeModel;\n }\n}\n\nexport class EarlyStoppingReferee extends Referee {\n constructor(\n readonly threshold = 0.999,\n readonly maxResponses = 100,\n ) {\n super();\n if (threshold <= 0 || threshold >= 1) {\n throw new Error(\"threshold must be between 0 and 1.\");\n }\n\n if (maxResponses < 1) {\n throw new Error(\"maxResponses must be greater than 0.\");\n }\n }\n\n toModel(): IRefereeModel {\n return {\n _t: \"EarlyStoppingReferee\",\n threshold: this.threshold,\n maxVotes: this.maxResponses,\n } as IRefereeModel;\n }\n}\n\nexport class QuorumReferee extends Referee {\n constructor(\n readonly threshold = 3,\n readonly maxVotes = 5,\n ) {\n super();\n if (threshold < 1 || maxVotes < 1 || threshold > maxVotes) {\n throw new Error(\"threshold must be >= 1, maxVotes must be >= 1, and threshold cannot exceed maxVotes.\");\n }\n }\n\n toModel(): IRefereeModel {\n return {\n _t: \"QuorumReferee\",\n threshold: this.threshold,\n maxVotes: this.maxVotes,\n } as IRefereeModel;\n }\n}\n\nexport abstract class Workflow {\n constructor(readonly type: string) {}\n\n abstract toModel(): IOrderWorkflowModel;\n\n abstract toPayload(datapoint: Datapoint): IRapidPayload;\n\n abstract getInstruction(): string;\n}\n\nexport class ClassifyWorkflow extends Workflow {\n constructor(\n readonly instruction: string,\n readonly answerOptions: string[],\n ) {\n super(\"SimpleWorkflowConfig\");\n }\n\n toModel(): IOrderWorkflowModel {\n return {\n _t: \"SimpleWorkflow\",\n blueprint: {\n _t: \"ClassifyBlueprint\",\n title: this.instruction,\n categories: this.answerOptions.map((option) => ({\n label: option,\n value: option,\n })),\n },\n } as IOrderWorkflowModel;\n }\n\n toPayload(): IRapidPayload {\n return {\n _t: \"ClassifyPayload\",\n title: this.instruction,\n categories: this.answerOptions.map((option) => ({\n label: option,\n value: option,\n })),\n } as IRapidPayload;\n }\n\n getInstruction() {\n return this.instruction;\n }\n}\n\nexport class CompareWorkflow extends Workflow {\n constructor(\n readonly instruction: string,\n readonly abNames?: string[],\n ) {\n super(\"CompareWorkflowConfig\");\n }\n\n toModel(): IOrderWorkflowModel {\n return {\n _t: \"SimpleWorkflow\",\n blueprint: {\n _t: \"CompareBlueprint\",\n criteria: this.instruction,\n indexIdentifiers: this.abNames,\n },\n } as IOrderWorkflowModel;\n }\n\n toPayload(): IRapidPayload {\n return {\n _t: \"ComparePayload\",\n criteria: this.instruction,\n } as IRapidPayload;\n }\n\n getInstruction() {\n return this.instruction;\n }\n}\n\nexport class FreeTextWorkflow extends Workflow {\n constructor(\n readonly instruction: string,\n readonly validationSystemPrompt?: string,\n ) {\n super(\"SimpleWorkflowConfig\");\n }\n\n toModel(): IOrderWorkflowModel {\n return {\n _t: \"SimpleWorkflow\",\n blueprint: {\n _t: \"FreeTextBlueprint\",\n question: this.instruction,\n validationSystemPrompt: this.validationSystemPrompt,\n },\n } as IOrderWorkflowModel;\n }\n\n toPayload(): IRapidPayload {\n return {\n _t: \"FreeTextPayload\",\n question: this.instruction,\n } as IRapidPayload;\n }\n\n getInstruction() {\n return this.instruction;\n }\n}\n\nexport class SelectWordsWorkflow extends Workflow {\n constructor(readonly instruction: string) {\n super(\"SimpleWorkflowConfig\");\n }\n\n toModel(): IOrderWorkflowModel {\n return {\n _t: \"SimpleWorkflow\",\n blueprint: {\n _t: \"TranscriptionBlueprint\",\n title: this.instruction,\n },\n } as IOrderWorkflowModel;\n }\n\n toPayload(datapoint: Datapoint): IRapidPayload {\n assertCondition(datapoint.sentence, \"SelectWordsWorkflow requires a sentence.\");\n return {\n _t: \"TranscriptionPayload\",\n title: this.instruction,\n transcription: datapoint.sentence.split(/\\s+/).map((word, index) => ({\n word,\n wordIndex: index,\n })),\n } as IRapidPayload;\n }\n\n getInstruction() {\n return this.instruction;\n }\n}\n\nexport class LocateWorkflow extends Workflow {\n constructor(readonly instruction: string) {\n super(\"SimpleWorkflowConfig\");\n }\n\n toModel(): IOrderWorkflowModel {\n return {\n _t: \"SimpleWorkflow\",\n blueprint: {\n _t: \"LocateBlueprint\",\n target: this.instruction,\n },\n } as IOrderWorkflowModel;\n }\n\n toPayload(): IRapidPayload {\n return {\n _t: \"LocatePayload\",\n target: this.instruction,\n } as IRapidPayload;\n }\n\n getInstruction() {\n return this.instruction;\n }\n}\n\nexport class DrawWorkflow extends Workflow {\n constructor(readonly instruction: string) {\n super(\"SimpleWorkflowConfig\");\n }\n\n toModel(): IOrderWorkflowModel {\n return {\n _t: \"SimpleWorkflow\",\n blueprint: {\n _t: \"LineBlueprint\",\n target: this.instruction,\n },\n } as IOrderWorkflowModel;\n }\n\n toPayload(): IRapidPayload {\n return {\n _t: \"LinePayload\",\n target: this.instruction,\n } as IRapidPayload;\n }\n\n getInstruction() {\n return this.instruction;\n }\n}\n\nexport class TimestampWorkflow extends Workflow {\n constructor(readonly instruction: string) {\n super(\"SimpleWorkflowConfig\");\n }\n\n toModel(): IOrderWorkflowModel {\n return {\n _t: \"SimpleWorkflow\",\n blueprint: {\n _t: \"ScrubBlueprint\",\n target: this.instruction,\n },\n } as IOrderWorkflowModel;\n }\n\n toPayload(): IRapidPayload {\n return {\n _t: \"ScrubPayload\",\n target: this.instruction,\n } as IRapidPayload;\n }\n\n getInstruction() {\n return this.instruction;\n }\n}\n\nexport class MultiRankingWorkflow extends Workflow {\n constructor(\n readonly instruction: string,\n readonly comparisonBudgetPerRanking: number,\n readonly randomComparisonsRatio: number,\n readonly eloStart = 1200,\n readonly eloKFactor = 40,\n readonly eloScalingFactor = 400,\n readonly contexts?: Record<string, string>,\n readonly mediaContexts?: Record<string, IAssetInput>,\n ) {\n super(\"CompareWorkflowConfig\");\n }\n\n toModel(): IOrderWorkflowModel {\n return {\n _t: \"GroupedRankingWorkflow\",\n criteria: this.instruction,\n pairMakerConfig: {\n _t: \"OnlinePairMaker\",\n totalComparisonBudget: this.comparisonBudgetPerRanking,\n randomMatchesRatio: this.randomComparisonsRatio,\n },\n eloConfig: {\n startingElo: this.eloStart,\n kFactor: this.eloKFactor,\n scalingFactor: this.eloScalingFactor,\n },\n contexts: this.contexts,\n contextAssets: this.mediaContexts,\n } as IOrderWorkflowModel;\n }\n\n toPayload(): IRapidPayload {\n return {\n _t: \"ComparePayload\",\n criteria: this.instruction,\n } as IRapidPayload;\n }\n\n getInstruction() {\n return this.instruction;\n }\n}\n\nexport interface ValidationRapid {\n asset: string | string[];\n payload: IRapidPayload;\n dataType: DataType;\n truth?: IValidationTruthModel;\n context?: string;\n mediaContext?: string;\n sentence?: string;\n randomCorrectProbability?: number;\n explanation?: string;\n settings?: RapidataSetting[];\n}\n\nexport class RapidsManager {\n classificationRapid(options: {\n instruction: string;\n answerOptions: string[];\n datapoint: string;\n truths: string[];\n dataType?: DataType;\n context?: string;\n mediaContext?: string;\n explanation?: string;\n }): ValidationRapid {\n const { instruction, answerOptions, datapoint, truths, dataType = \"media\", context, mediaContext, explanation } = options;\n truths.forEach((truth) => assertCondition(answerOptions.includes(truth), \"Truths must be part of the answer options.\"));\n return {\n asset: datapoint,\n dataType,\n context,\n mediaContext,\n explanation,\n payload: {\n _t: \"ClassifyPayload\",\n title: instruction,\n categories: answerOptions.map((option) => ({ label: option, value: option })),\n } as IRapidPayload,\n truth: {\n _t: \"AttachCategoryTruth\",\n correctCategories: truths,\n } as IValidationTruthModel,\n randomCorrectProbability: truths.length / answerOptions.length,\n };\n }\n\n compareRapid(options: {\n instruction: string;\n truth: string;\n datapoint: string[];\n dataType?: DataType;\n context?: string;\n mediaContext?: string;\n explanation?: string;\n }): ValidationRapid {\n const { instruction, truth, datapoint, dataType = \"media\", context, mediaContext, explanation } = options;\n assertCondition(datapoint.length === 2, \"Compare rapid requires exactly two datapoints.\");\n assertCondition(datapoint.includes(truth), \"truth must be one of the datapoints.\");\n return {\n asset: datapoint,\n dataType,\n context,\n mediaContext,\n explanation,\n payload: {\n _t: \"ComparePayload\",\n criteria: instruction,\n } as IRapidPayload,\n truth: {\n _t: \"CompareTruth\",\n winnerId: truth,\n } as IValidationTruthModel,\n randomCorrectProbability: 0.5,\n };\n }\n\n selectWordsRapid(options: {\n instruction: string;\n truths: number[];\n datapoint: string;\n sentence: string;\n requiredPrecision?: number;\n requiredCompleteness?: number;\n explanation?: string;\n }): ValidationRapid {\n const {\n instruction,\n truths,\n datapoint,\n sentence,\n requiredPrecision = 1,\n requiredCompleteness = 1,\n explanation,\n } = options;\n const transcription = sentence.split(/\\s+/).map((word, index) => ({ word, wordIndex: index }));\n return {\n asset: datapoint,\n dataType: \"media\",\n sentence,\n explanation,\n payload: {\n _t: \"TranscriptionPayload\",\n title: instruction,\n transcription,\n } as IRapidPayload,\n truth: {\n _t: \"TranscriptionTruth\",\n correctWords: truths.map((index) => transcription[index]),\n requiredPrecision,\n requiredCompleteness,\n } as IValidationTruthModel,\n randomCorrectProbability: transcription.length === 0 ? 0 : truths.length / transcription.length,\n };\n }\n\n locateRapid(options: {\n instruction: string;\n truths: Box[];\n datapoint: string;\n context?: string;\n mediaContext?: string;\n explanation?: string;\n }): ValidationRapid {\n const { instruction, truths, datapoint, context, mediaContext, explanation } = options;\n return {\n asset: datapoint,\n dataType: \"media\",\n context,\n mediaContext,\n explanation,\n payload: {\n _t: \"LocatePayload\",\n target: instruction,\n } as IRapidPayload,\n truth: {\n _t: \"LocateBoxTruth\",\n boundingBoxes: truths.map((truth) => truth.toModel()),\n } as IValidationTruthModel,\n randomCorrectProbability: calculateBoxesCoverage(truths),\n };\n }\n\n drawRapid(options: {\n instruction: string;\n truths: Box[];\n datapoint: string;\n context?: string;\n mediaContext?: string;\n explanation?: string;\n }): ValidationRapid {\n const { instruction, truths, datapoint, context, mediaContext, explanation } = options;\n const [firstTruth] = truths;\n assertCondition(firstTruth, \"Draw rapid requires at least one truth box.\");\n return {\n asset: datapoint,\n dataType: \"media\",\n context,\n mediaContext,\n explanation,\n payload: {\n _t: \"LinePayload\",\n target: instruction,\n } as IRapidPayload,\n truth: {\n _t: \"BoundingBoxTruth\",\n xMin: firstTruth.xMin * 100,\n yMin: firstTruth.yMin * 100,\n xMax: firstTruth.xMax * 100,\n yMax: firstTruth.yMax * 100,\n } as IValidationTruthModel,\n randomCorrectProbability: calculateBoxesCoverage(truths),\n };\n }\n\n timestampRapid(options: {\n instruction: string;\n truths: Array<[number, number]>;\n datapoint: string;\n context?: string;\n mediaContext?: string;\n explanation?: string;\n }): ValidationRapid {\n const { instruction, truths, datapoint, context, mediaContext, explanation } = options;\n truths.forEach(([start, end]) => assertCondition(start <= end, \"The start of an interval must be less than or equal to the end.\"));\n return {\n asset: datapoint,\n dataType: \"media\",\n context,\n mediaContext,\n explanation,\n payload: {\n _t: \"ScrubPayload\",\n target: instruction,\n } as IRapidPayload,\n truth: {\n _t: \"ScrubTruth\",\n validRanges: truths.map(([start, end]) => ({ start, end })),\n } as IValidationTruthModel,\n randomCorrectProbability: 0.5,\n };\n }\n}\n\nexport function mapDatapoints(options: {\n datapoints: Array<string | string[]>;\n contexts?: string[];\n mediaContexts?: string[];\n sentences?: string[];\n privateMetadata?: Array<Record<string, string>>;\n groups?: string[];\n dataType?: DataType;\n multiAsset?: boolean;\n}) {\n const {\n datapoints,\n contexts,\n mediaContexts,\n sentences,\n privateMetadata,\n groups,\n dataType = \"media\",\n multiAsset = false,\n } = options;\n\n if (multiAsset && datapoints.some((datapoint) => !Array.isArray(datapoint))) {\n throw new Error(\"Datapoints must be a list of lists of strings for multi-asset workflows.\");\n }\n\n if (!multiAsset && datapoints.some((datapoint) => Array.isArray(datapoint))) {\n throw new Error(\"Datapoints must be a list of strings.\");\n }\n\n const lengths = [contexts, mediaContexts, sentences, privateMetadata, groups]\n .map((value) => Array.isArray(value) ? value.length : undefined)\n .filter((value): value is number => value !== undefined);\n lengths.forEach((length) => assertCondition(length === datapoints.length, \"All per-datapoint lists must match datapoint count.\"));\n\n if (groups && (new Set(groups).size !== groups.length)) {\n throw new Error(\"groups must contain unique values.\");\n }\n\n return datapoints.map((asset, index) => new Datapoint({\n asset,\n dataType,\n context: contexts?.[index],\n mediaContext: mediaContexts?.[index],\n sentence: sentences?.[index],\n privateMetadata: privateMetadata?.[index],\n group: groups?.[index],\n }));\n}\n\nexport function createTextInput(assets: string | string[]): IAssetInput {\n if (Array.isArray(assets)) {\n return {\n _t: \"MultiAssetInput\",\n assets: assets.map((asset) => ({\n _t: \"TextAssetInput\",\n text: asset,\n })),\n } as IAssetInput;\n }\n\n return {\n _t: \"TextAssetInput\",\n text: assets,\n } as IAssetInput;\n}\n\nexport function createExistingAssetInput(uploadedNames: string | string[]): IAssetInput {\n if (Array.isArray(uploadedNames)) {\n return {\n _t: \"MultiAssetInput\",\n assets: uploadedNames.map((name) => ({\n _t: \"ExistingAssetInput\",\n name,\n })),\n } as IAssetInput;\n }\n\n return {\n _t: \"ExistingAssetInput\",\n name: uploadedNames,\n } as IAssetInput;\n}\n\nfunction calculateBoxesCoverage(boxes: Box[]) {\n if (boxes.length === 0) {\n return 0;\n }\n\n const events = boxes.flatMap((box, index) => [\n [box.xMin, \"start\", index] as const,\n [box.xMax, \"end\", index] as const,\n ]).sort((left, right) => left[0] - right[0]);\n\n let totalArea = 0;\n let previousX = 0;\n const activeBoxes = new Set<number>();\n\n for (const [x, event, boxIndex] of events) {\n if (activeBoxes.size > 0 && x > previousX) {\n const yIntervals = [...activeBoxes]\n .map((index) => [boxes[index]!.yMin, boxes[index]!.yMax] as const)\n .sort((left, right) => left[0] - right[0]);\n const merged: Array<[number, number]> = [];\n for (const [start, end] of yIntervals) {\n const last = merged.at(-1);\n if (last && start <= last[1]) {\n last[1] = Math.max(last[1], end);\n } else {\n merged.push([start, end]);\n }\n }\n totalArea += (x - previousX) * merged.reduce((sum, [start, end]) => sum + (end - start), 0);\n }\n\n if (event === \"start\") {\n activeBoxes.add(boxIndex);\n } else {\n activeBoxes.delete(boxIndex);\n }\n previousX = x;\n }\n\n return totalArea;\n}\n","export class RapidataError extends Error {\n readonly statusCode?: number;\n\n readonly details?: unknown;\n\n readonly originalError?: unknown;\n\n constructor(message: string, options?: {\n statusCode?: number;\n details?: unknown;\n originalError?: unknown;\n }) {\n super(message);\n this.name = \"RapidataError\";\n this.statusCode = options?.statusCode;\n this.details = options?.details;\n this.originalError = options?.originalError;\n }\n}\n\nexport class FailedUpload<T> {\n constructor(\n readonly item: T,\n readonly errorType: string,\n readonly errorMessage: string,\n ) {}\n\n static fromException<T>(item: T, error: unknown) {\n if (error instanceof RapidataError) {\n return new FailedUpload(item, \"RapidataError\", error.message);\n }\n\n if (error instanceof Error) {\n return new FailedUpload(item, error.name || \"Error\", error.message);\n }\n\n return new FailedUpload(item, \"UnknownError\", String(error));\n }\n}\n\nexport class FailedUploadException<T> extends Error {\n readonly failedUploads: Array<FailedUpload<T>>;\n\n readonly datasetId?: string;\n\n readonly orderId?: string;\n\n readonly jobDefinitionId?: string;\n\n constructor(message: string, options: {\n failedUploads: Array<FailedUpload<T>>;\n datasetId?: string;\n orderId?: string;\n jobDefinitionId?: string;\n }) {\n super(message);\n this.name = \"FailedUploadException\";\n this.failedUploads = options.failedUploads;\n this.datasetId = options.datasetId;\n this.orderId = options.orderId;\n this.jobDefinitionId = options.jobDefinitionId;\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nexport { ApiError } from './core/ApiError';\nexport { CancelablePromise, CancelError } from './core/CancelablePromise';\nexport { OpenAPI } from './core/OpenAPI';\nexport type { OpenAPIConfig } from './core/OpenAPI';\n\nexport type { AddExampleToAudienceEndpoint_Input } from './models/AddExampleToAudienceEndpoint_Input';\nexport type { AddRapidToAudienceModel } from './models/AddRapidToAudienceModel';\nexport type { AddUserResponseResult } from './models/AddUserResponseResult';\nexport type { AddValidationRapidModel } from './models/AddValidationRapidModel';\nexport type { AgeUserFilterModel_AgeGroup } from './models/AgeUserFilterModel_AgeGroup';\nexport type { AggregatorType } from './models/AggregatorType';\nexport type { AreRapidsActiveResult } from './models/AreRapidsActiveResult';\nexport type { AssetType } from './models/AssetType';\nexport type { AttachCategoryRapidBlueprint_Category } from './models/AttachCategoryRapidBlueprint_Category';\nexport type { AudienceBoost } from './models/AudienceBoost';\nexport type { AudienceJobState } from './models/AudienceJobState';\nexport type { AudienceStatus } from './models/AudienceStatus';\nexport type { BatchUploadStatus } from './models/BatchUploadStatus';\nexport type { BatchUploadUrlStatus } from './models/BatchUploadUrlStatus';\nexport type { BenchmarkQueryResult } from './models/BenchmarkQueryResult';\nexport type { BoostingProfile } from './models/BoostingProfile';\nexport type { BoostLeaderboardModel } from './models/BoostLeaderboardModel';\nexport type { BoostLevel } from './models/BoostLevel';\nexport type { BoostModeModel } from './models/BoostModeModel';\nexport type { BoostStatusModel } from './models/BoostStatusModel';\nexport type { BoxShape } from './models/BoxShape';\nexport type { CampaignStatus } from './models/CampaignStatus';\nexport type { ChangeBoostEndpoint_Input } from './models/ChangeBoostEndpoint_Input';\nexport type { ClassifyPayload } from './models/ClassifyPayload';\nexport type { ClassifyPayload_Category } from './models/ClassifyPayload_Category';\nexport type { ClientModel } from './models/ClientModel';\nexport type { ClientsQueryResult } from './models/ClientsQueryResult';\nexport type { CloneOrderEndpoint_Input } from './models/CloneOrderEndpoint_Input';\nexport type { CloneOrderEndpoint_Output } from './models/CloneOrderEndpoint_Output';\nexport type { ComparisonOperator } from './models/ComparisonOperator';\nexport type { CompressionLibrary } from './models/CompressionLibrary';\nexport type { ConditionalValidationSelection_ValidationChance } from './models/ConditionalValidationSelection_ValidationChance';\nexport type { ConfidenceInterval } from './models/ConfidenceInterval';\nexport type { CreateAudienceRequest } from './models/CreateAudienceRequest';\nexport type { CreateAudienceResult } from './models/CreateAudienceResult';\nexport type { CreateBatchUploadEndpoint_Input } from './models/CreateBatchUploadEndpoint_Input';\nexport type { CreateBatchUploadEndpoint_Output } from './models/CreateBatchUploadEndpoint_Output';\nexport type { CreateBenchmarkModel } from './models/CreateBenchmarkModel';\nexport type { CreateBenchmarkParticipantModel } from './models/CreateBenchmarkParticipantModel';\nexport type { CreateBenchmarkParticipantResult } from './models/CreateBenchmarkParticipantResult';\nexport type { CreateBenchmarkPromptResult } from './models/CreateBenchmarkPromptResult';\nexport type { CreateBenchmarkResult } from './models/CreateBenchmarkResult';\nexport type { CreateBridgeTokenResult } from './models/CreateBridgeTokenResult';\nexport type { CreateClientModel } from './models/CreateClientModel';\nexport type { CreateComplexOrderEndpoint_Input } from './models/CreateComplexOrderEndpoint_Input';\nexport type { CreateComplexOrderEndpoint_Output } from './models/CreateComplexOrderEndpoint_Output';\nexport type { CreateCustomerClientResult } from './models/CreateCustomerClientResult';\nexport type { CreateDatapointModel } from './models/CreateDatapointModel';\nexport type { CreateDatapointResult } from './models/CreateDatapointResult';\nexport type { CreateDatasetEndpoint_Input } from './models/CreateDatasetEndpoint_Input';\nexport type { CreateDatasetEndpoint_Output } from './models/CreateDatasetEndpoint_Output';\nexport type { CreateDatasetGroupEndpoint_Input } from './models/CreateDatasetGroupEndpoint_Input';\nexport type { CreateDemographicRapidModel } from './models/CreateDemographicRapidModel';\nexport type { CreateEmptyValidationSetResult } from './models/CreateEmptyValidationSetResult';\nexport type { CreateFlowEndpoint_Input } from './models/CreateFlowEndpoint_Input';\nexport type { CreateFlowEndpoint_Output } from './models/CreateFlowEndpoint_Output';\nexport type { CreateFlowItemEndpoint_Input } from './models/CreateFlowItemEndpoint_Input';\nexport type { CreateFlowItemEndpoint_Output } from './models/CreateFlowItemEndpoint_Output';\nexport type { CreateJobDefinitionEndpoint_Input } from './models/CreateJobDefinitionEndpoint_Input';\nexport type { CreateJobDefinitionEndpoint_Output } from './models/CreateJobDefinitionEndpoint_Output';\nexport type { CreateJobEndpoint_Input } from './models/CreateJobEndpoint_Input';\nexport type { CreateJobEndpoint_Output } from './models/CreateJobEndpoint_Output';\nexport type { CreateJobRevisionEndpoint_Input } from './models/CreateJobRevisionEndpoint_Input';\nexport type { CreateJobRevisionEndpoint_Output } from './models/CreateJobRevisionEndpoint_Output';\nexport type { CreateLeaderboardModel } from './models/CreateLeaderboardModel';\nexport type { CreateLeaderboardResult } from './models/CreateLeaderboardResult';\nexport type { CreateOrderEndpoint_Output } from './models/CreateOrderEndpoint_Output';\nexport type { CreateOrderModel } from './models/CreateOrderModel';\nexport type { CreateRapidResult } from './models/CreateRapidResult';\nexport type { CreateSampleModel } from './models/CreateSampleModel';\nexport type { CreateUnsupportedOrderEndpoint_Input } from './models/CreateUnsupportedOrderEndpoint_Input';\nexport type { CreateValidationFeedbackEndpoint_Input } from './models/CreateValidationFeedbackEndpoint_Input';\nexport type { CreateValidationSetModel } from './models/CreateValidationSetModel';\nexport type { DatapointState } from './models/DatapointState';\nexport type { DefinitionType } from './models/DefinitionType';\nexport type { DeviceType } from './models/DeviceType';\nexport type { DistillingRetrievalMode } from './models/DistillingRetrievalMode';\nexport type { DynamicClientRegistrationRequest } from './models/DynamicClientRegistrationRequest';\nexport type { EloConfig } from './models/EloConfig';\nexport type { EloConfigModel } from './models/EloConfigModel';\nexport type { ExampleCategory } from './models/ExampleCategory';\nexport type { ExistingAssetInput } from './models/ExistingAssetInput';\nexport type { FeatureFlag } from './models/FeatureFlag';\nexport type { FeatureFlagModel } from './models/FeatureFlagModel';\nexport type { FeedbackModel } from './models/FeedbackModel';\nexport type { FileStreamResult } from './models/FileStreamResult';\nexport type { FileType } from './models/FileType';\nexport type { Filter } from './models/Filter';\nexport type { FilterOperator } from './models/FilterOperator';\nexport type { FlowItemState } from './models/FlowItemState';\nexport type { FlowType } from './models/FlowType';\nexport type { ForkBenchmarkResult } from './models/ForkBenchmarkResult';\nexport type { GenderUserFilterModel_Gender } from './models/GenderUserFilterModel_Gender';\nexport type { GetAudienceByIdResult } from './models/GetAudienceByIdResult';\nexport type { GetAudienceUserStateMetricsResult } from './models/GetAudienceUserStateMetricsResult';\nexport type { GetAvailableValidationSetsResult } from './models/GetAvailableValidationSetsResult';\nexport type { GetBatchUploadResultEndpoint_Output } from './models/GetBatchUploadResultEndpoint_Output';\nexport type { GetBatchUploadResultEndpoint_UrlOutput } from './models/GetBatchUploadResultEndpoint_UrlOutput';\nexport type { GetBatchUploadStatusEndpoint_Output } from './models/GetBatchUploadStatusEndpoint_Output';\nexport type { GetBenchmarkByIdResult } from './models/GetBenchmarkByIdResult';\nexport type { GetBoostStatusEndpoint_Output } from './models/GetBoostStatusEndpoint_Output';\nexport type { GetCampaignCacheEndpoint_CampaignEntry } from './models/GetCampaignCacheEndpoint_CampaignEntry';\nexport type { GetCampaignCacheEndpoint_Output } from './models/GetCampaignCacheEndpoint_Output';\nexport type { GetCombinedBenchmarkMatrixEndpoint_Output } from './models/GetCombinedBenchmarkMatrixEndpoint_Output';\nexport type { GetCombinedBenchmarkStandingsEndpoint_Output } from './models/GetCombinedBenchmarkStandingsEndpoint_Output';\nexport type { GetCombinedBenchmarkStandingsEndpoint_OutputItem } from './models/GetCombinedBenchmarkStandingsEndpoint_OutputItem';\nexport type { GetCombinedLeaderboardMatrixEndpoint_Output } from './models/GetCombinedLeaderboardMatrixEndpoint_Output';\nexport type { GetCombinedLeaderboardStandingsEndpoint_Output } from './models/GetCombinedLeaderboardStandingsEndpoint_Output';\nexport type { GetCombinedLeaderboardStandingsEndpoint_OutputItem } from './models/GetCombinedLeaderboardStandingsEndpoint_OutputItem';\nexport type { GetCompareAbSummaryResult } from './models/GetCompareAbSummaryResult';\nexport type { GetCompletionTimeHistogramEndpoint_Output } from './models/GetCompletionTimeHistogramEndpoint_Output';\nexport type { GetCompletionTimeHistogramEndpoint_Output_Bucket } from './models/GetCompletionTimeHistogramEndpoint_Output_Bucket';\nexport type { GetDatapointByIdResult } from './models/GetDatapointByIdResult';\nexport type { GetDatasetByIdResult } from './models/GetDatasetByIdResult';\nexport type { GetDatasetProgressResult } from './models/GetDatasetProgressResult';\nexport type { GetEvaluationWorkflowResultsModel } from './models/GetEvaluationWorkflowResultsModel';\nexport type { GetFailedDatapointsResult } from './models/GetFailedDatapointsResult';\nexport type { GetFailedDatapointsResult_Datapoint } from './models/GetFailedDatapointsResult_Datapoint';\nexport type { GetFileMetadataResult } from './models/GetFileMetadataResult';\nexport type { GetFlowByIdEndpoint_Output } from './models/GetFlowByIdEndpoint_Output';\nexport type { GetFlowItemByIdEndpoint_Output } from './models/GetFlowItemByIdEndpoint_Output';\nexport type { GetFlowItemCreationTimeseriesEndpoint_Output } from './models/GetFlowItemCreationTimeseriesEndpoint_Output';\nexport type { GetFlowItemCreationTimeseriesEndpoint_Output_DataPoint } from './models/GetFlowItemCreationTimeseriesEndpoint_Output_DataPoint';\nexport type { GetGroupedRankingWorkflowResultsResult } from './models/GetGroupedRankingWorkflowResultsResult';\nexport type { GetJobByIdEndpoint_Output } from './models/GetJobByIdEndpoint_Output';\nexport type { GetJobDefinitionByIdEndpoint_Output } from './models/GetJobDefinitionByIdEndpoint_Output';\nexport type { GetJobRevisionEndpoint_Output } from './models/GetJobRevisionEndpoint_Output';\nexport type { GetLeaderboardByIdResult } from './models/GetLeaderboardByIdResult';\nexport type { GetOrderByIdEndpoint_Output } from './models/GetOrderByIdEndpoint_Output';\nexport type { GetParticipantByIdResult } from './models/GetParticipantByIdResult';\nexport type { GetPipelineByIdResult } from './models/GetPipelineByIdResult';\nexport type { GetPublicOrdersEndpoint_OrderOutput } from './models/GetPublicOrdersEndpoint_OrderOutput';\nexport type { GetPublicOrdersEndpoint_Output } from './models/GetPublicOrdersEndpoint_Output';\nexport type { GetPublicResponsesResult } from './models/GetPublicResponsesResult';\nexport type { GetPublicResponsesResult_Response } from './models/GetPublicResponsesResult_Response';\nexport type { GetRankingFlowItemResultsEndpoint_Output } from './models/GetRankingFlowItemResultsEndpoint_Output';\nexport type { GetRankingFlowItemResultsEndpoint_Output_Datapoint } from './models/GetRankingFlowItemResultsEndpoint_Output_Datapoint';\nexport type { GetRankingFlowItemVoteMatrixEndpoint_Output } from './models/GetRankingFlowItemVoteMatrixEndpoint_Output';\nexport type { GetRankingWorkflowResultsModel } from './models/GetRankingWorkflowResultsModel';\nexport type { GetRankingWorkflowResultsResult } from './models/GetRankingWorkflowResultsResult';\nexport type { GetRankingWorkflowResultsResult_Datapoint } from './models/GetRankingWorkflowResultsResult_Datapoint';\nexport type { GetRecommendedValidationSetResult } from './models/GetRecommendedValidationSetResult';\nexport type { GetResponseCountHistogramEndpoint_Output } from './models/GetResponseCountHistogramEndpoint_Output';\nexport type { GetResponseCountHistogramEndpoint_Output_Bucket } from './models/GetResponseCountHistogramEndpoint_Output_Bucket';\nexport type { GetResponseCountTimeseriesEndpoint_Output } from './models/GetResponseCountTimeseriesEndpoint_Output';\nexport type { GetResponseCountTimeseriesEndpoint_Output_DataPoint } from './models/GetResponseCountTimeseriesEndpoint_Output_DataPoint';\nexport type { GetResponsesForRapidResult } from './models/GetResponsesForRapidResult';\nexport type { GetResponsesForRapidResult_Response } from './models/GetResponsesForRapidResult_Response';\nexport type { GetResponsesResult } from './models/GetResponsesResult';\nexport type { GetResponsesResult_Response } from './models/GetResponsesResult_Response';\nexport type { GetSampleByIdResult } from './models/GetSampleByIdResult';\nexport type { GetSimpleWorkflowResultsModel } from './models/GetSimpleWorkflowResultsModel';\nexport type { GetStandingByIdResult } from './models/GetStandingByIdResult';\nexport type { GetUserScoreCacheEndpoint_Output } from './models/GetUserScoreCacheEndpoint_Output';\nexport type { GetValidationRapidsResult } from './models/GetValidationRapidsResult';\nexport type { GetValidationSetByIdResult } from './models/GetValidationSetByIdResult';\nexport type { GetWorkflowByIdResult } from './models/GetWorkflowByIdResult';\nexport type { GetWorkflowProgressResult } from './models/GetWorkflowProgressResult';\nexport type { GetWorkflowResultsResult } from './models/GetWorkflowResultsResult';\nexport type { GetWorkflowResultsResult_Response } from './models/GetWorkflowResultsResult_Response';\nexport type { GoogleOneTapLoginModel } from './models/GoogleOneTapLoginModel';\nexport type { IArtifactModel } from './models/IArtifactModel';\nexport type { IArtifactModelCampaignArtifactModel } from './models/IArtifactModelCampaignArtifactModel';\nexport type { IArtifactModelDatasetArtifactModel } from './models/IArtifactModelDatasetArtifactModel';\nexport type { IArtifactModelFileArtifactModel } from './models/IArtifactModelFileArtifactModel';\nexport type { IArtifactModelWorkflowArtifactModel } from './models/IArtifactModelWorkflowArtifactModel';\nexport type { IArtifactModelWorkflowConfigArtifactModel } from './models/IArtifactModelWorkflowConfigArtifactModel';\nexport type { IAsset } from './models/IAsset';\nexport type { IAssetFileAsset } from './models/IAssetFileAsset';\nexport type { IAssetInput } from './models/IAssetInput';\nexport type { IAssetInputExistingAssetInput } from './models/IAssetInputExistingAssetInput';\nexport type { IAssetInputMultiAssetInput } from './models/IAssetInputMultiAssetInput';\nexport type { IAssetInputTextAssetInput } from './models/IAssetInputTextAssetInput';\nexport type { IAssetModel } from './models/IAssetModel';\nexport type { IAssetModelFileAssetModel } from './models/IAssetModelFileAssetModel';\nexport type { IAssetModelMultiAssetModel } from './models/IAssetModelMultiAssetModel';\nexport type { IAssetModelNullAssetModel } from './models/IAssetModelNullAssetModel';\nexport type { IAssetModelTextAssetModel } from './models/IAssetModelTextAssetModel';\nexport type { IAssetMultiAsset } from './models/IAssetMultiAsset';\nexport type { IAssetNullAsset } from './models/IAssetNullAsset';\nexport type { IAssetTextAsset } from './models/IAssetTextAsset';\nexport type { IAudienceFilter } from './models/IAudienceFilter';\nexport type { IAudienceFilterAndAudienceFilter } from './models/IAudienceFilterAndAudienceFilter';\nexport type { IAudienceFilterCountryAudienceFilter } from './models/IAudienceFilterCountryAudienceFilter';\nexport type { IAudienceFilterLanguageAudienceFilter } from './models/IAudienceFilterLanguageAudienceFilter';\nexport type { IAudienceFilterNotAudienceFilter } from './models/IAudienceFilterNotAudienceFilter';\nexport type { IAudienceFilterOrAudienceFilter } from './models/IAudienceFilterOrAudienceFilter';\nexport type { ICampaignFilter } from './models/ICampaignFilter';\nexport type { ICampaignFilterAndFilter } from './models/ICampaignFilterAndFilter';\nexport type { ICampaignFilterAudienceStateFilter } from './models/ICampaignFilterAudienceStateFilter';\nexport type { ICampaignFilterCampaignFilter } from './models/ICampaignFilterCampaignFilter';\nexport type { ICampaignFilterCampaignSessionCountFilter } from './models/ICampaignFilterCampaignSessionCountFilter';\nexport type { ICampaignFilterCountryFilter } from './models/ICampaignFilterCountryFilter';\nexport type { ICampaignFilterDemographicFilter } from './models/ICampaignFilterDemographicFilter';\nexport type { ICampaignFilterDeviceFilter } from './models/ICampaignFilterDeviceFilter';\nexport type { ICampaignFilterLanguageFilter } from './models/ICampaignFilterLanguageFilter';\nexport type { ICampaignFilterNewUserFilter } from './models/ICampaignFilterNewUserFilter';\nexport type { ICampaignFilterNotFilter } from './models/ICampaignFilterNotFilter';\nexport type { ICampaignFilterOrFilter } from './models/ICampaignFilterOrFilter';\nexport type { ICampaignFilterResponseCountFilter } from './models/ICampaignFilterResponseCountFilter';\nexport type { ICampaignFilterUserActionRestrictionFilter } from './models/ICampaignFilterUserActionRestrictionFilter';\nexport type { ICampaignFilterUserScoreFilter } from './models/ICampaignFilterUserScoreFilter';\nexport type { IDatasetModel } from './models/IDatasetModel';\nexport type { IDatasetModelCloneDatasetModel } from './models/IDatasetModelCloneDatasetModel';\nexport type { IExamplePayload } from './models/IExamplePayload';\nexport type { IExamplePayloadClassifyExamplePayload } from './models/IExamplePayloadClassifyExamplePayload';\nexport type { IExamplePayloadCompareExamplePayload } from './models/IExamplePayloadCompareExamplePayload';\nexport type { IExampleTruth } from './models/IExampleTruth';\nexport type { IExampleTruthClassifyExampleTruth } from './models/IExampleTruthClassifyExampleTruth';\nexport type { IExampleTruthCompareExampleTruth } from './models/IExampleTruthCompareExampleTruth';\nexport type { IFormFile } from './models/IFormFile';\nexport type { IMetadata } from './models/IMetadata';\nexport type { IMetadataClassificationMetadata } from './models/IMetadataClassificationMetadata';\nexport type { IMetadataCountMetadata } from './models/IMetadataCountMetadata';\nexport type { IMetadataDurationMetadata } from './models/IMetadataDurationMetadata';\nexport type { IMetadataFileTypeMetadata } from './models/IMetadataFileTypeMetadata';\nexport type { IMetadataImageDimensionMetadata } from './models/IMetadataImageDimensionMetadata';\nexport type { IMetadataInput } from './models/IMetadataInput';\nexport type { IMetadataInputTextMetadataInput } from './models/IMetadataInputTextMetadataInput';\nexport type { IMetadataLocationMetadata } from './models/IMetadataLocationMetadata';\nexport type { IMetadataModel } from './models/IMetadataModel';\nexport type { IMetadataModelClassificationMetadataModel } from './models/IMetadataModelClassificationMetadataModel';\nexport type { IMetadataModelCountMetadataModel } from './models/IMetadataModelCountMetadataModel';\nexport type { IMetadataModelFileTypeMetadataModel } from './models/IMetadataModelFileTypeMetadataModel';\nexport type { IMetadataModelImageDimensionMetadataModel } from './models/IMetadataModelImageDimensionMetadataModel';\nexport type { IMetadataModelLocationMetadataModel } from './models/IMetadataModelLocationMetadataModel';\nexport type { IMetadataModelOriginalFilenameMetadataModel } from './models/IMetadataModelOriginalFilenameMetadataModel';\nexport type { IMetadataModelSourceUrlMetadataModel } from './models/IMetadataModelSourceUrlMetadataModel';\nexport type { IMetadataModelStreamsMetadataModel } from './models/IMetadataModelStreamsMetadataModel';\nexport type { IMetadataModelTextMetadataModel } from './models/IMetadataModelTextMetadataModel';\nexport type { IMetadataModelVideoDurationMetadataModel } from './models/IMetadataModelVideoDurationMetadataModel';\nexport type { IMetadataOriginalFilenameMetadata } from './models/IMetadataOriginalFilenameMetadata';\nexport type { IMetadataSourceUrlMetadata } from './models/IMetadataSourceUrlMetadata';\nexport type { IMetadataStreamsMetadata } from './models/IMetadataStreamsMetadata';\nexport type { IMetadataTextMetadata } from './models/IMetadataTextMetadata';\nexport type { InspectReportResult } from './models/InspectReportResult';\nexport type { IOrderWorkflowModel } from './models/IOrderWorkflowModel';\nexport type { IOrderWorkflowModelEvaluationWorkflowModel } from './models/IOrderWorkflowModelEvaluationWorkflowModel';\nexport type { IOrderWorkflowModelGroupedRankingWorkflowModel } from './models/IOrderWorkflowModelGroupedRankingWorkflowModel';\nexport type { IOrderWorkflowModelRankingWorkflowModel } from './models/IOrderWorkflowModelRankingWorkflowModel';\nexport type { IOrderWorkflowModelSimpleWorkflowModel } from './models/IOrderWorkflowModelSimpleWorkflowModel';\nexport type { IPairMakerConfig } from './models/IPairMakerConfig';\nexport type { IPairMakerConfigFullPermutationPairMakerConfig } from './models/IPairMakerConfigFullPermutationPairMakerConfig';\nexport type { IPairMakerConfigModel } from './models/IPairMakerConfigModel';\nexport type { IPairMakerConfigModelOnlinePairMakerConfigModel } from './models/IPairMakerConfigModelOnlinePairMakerConfigModel';\nexport type { IPairMakerConfigOnlinePairMakerConfig } from './models/IPairMakerConfigOnlinePairMakerConfig';\nexport type { IPairMakerInformation } from './models/IPairMakerInformation';\nexport type { IPairMakerInformationFullPermutationPairMakerInformation } from './models/IPairMakerInformationFullPermutationPairMakerInformation';\nexport type { IPairMakerInformationOnlinePairMakerInformation } from './models/IPairMakerInformationOnlinePairMakerInformation';\nexport type { IPipelineArtifactModel } from './models/IPipelineArtifactModel';\nexport type { IPipelineArtifactModelCreateDatasetArtifactModel } from './models/IPipelineArtifactModelCreateDatasetArtifactModel';\nexport type { IPipelineModel } from './models/IPipelineModel';\nexport type { IPipelineModelCreateSimplePipelineModel } from './models/IPipelineModelCreateSimplePipelineModel';\nexport type { IPipelineStepModel } from './models/IPipelineStepModel';\nexport type { IPipelineStepModelDatasetEvaluationStepModel } from './models/IPipelineStepModelDatasetEvaluationStepModel';\nexport type { IPipelineStepModelSendCompletionMailStepModel } from './models/IPipelineStepModelSendCompletionMailStepModel';\nexport type { IPipelineStepModelWorkflowAggregationStepModel } from './models/IPipelineStepModelWorkflowAggregationStepModel';\nexport type { IPipelineStepModelWorkflowLabelingStepModel } from './models/IPipelineStepModelWorkflowLabelingStepModel';\nexport type { IRankingConfig } from './models/IRankingConfig';\nexport type { IRankingConfigBradleyTerryRankingConfig } from './models/IRankingConfigBradleyTerryRankingConfig';\nexport type { IRankingConfigEloConfig } from './models/IRankingConfigEloConfig';\nexport type { IRankingConfigModel } from './models/IRankingConfigModel';\nexport type { IRankingConfigModelBradleyTerryRankingConfigModel } from './models/IRankingConfigModelBradleyTerryRankingConfigModel';\nexport type { IRankingConfigModelEloConfigModel } from './models/IRankingConfigModelEloConfigModel';\nexport type { IRapidBlueprint } from './models/IRapidBlueprint';\nexport type { IRapidBlueprintAttachCategoryRapidBlueprint } from './models/IRapidBlueprintAttachCategoryRapidBlueprint';\nexport type { IRapidBlueprintBoundingBoxRapidBlueprint } from './models/IRapidBlueprintBoundingBoxRapidBlueprint';\nexport type { IRapidBlueprintCompareRapidBlueprint } from './models/IRapidBlueprintCompareRapidBlueprint';\nexport type { IRapidBlueprintFreeTextRapidBlueprint } from './models/IRapidBlueprintFreeTextRapidBlueprint';\nexport type { IRapidBlueprintLineRapidBlueprint } from './models/IRapidBlueprintLineRapidBlueprint';\nexport type { IRapidBlueprintLocateRapidBlueprint } from './models/IRapidBlueprintLocateRapidBlueprint';\nexport type { IRapidBlueprintNamedEntityRapidBlueprint } from './models/IRapidBlueprintNamedEntityRapidBlueprint';\nexport type { IRapidBlueprintPolygonRapidBlueprint } from './models/IRapidBlueprintPolygonRapidBlueprint';\nexport type { IRapidBlueprintScrubRapidBlueprint } from './models/IRapidBlueprintScrubRapidBlueprint';\nexport type { IRapidBlueprintTranscriptionRapidBlueprint } from './models/IRapidBlueprintTranscriptionRapidBlueprint';\nexport type { IRapidPayload } from './models/IRapidPayload';\nexport type { IRapidPayloadBoundingBoxPayload } from './models/IRapidPayloadBoundingBoxPayload';\nexport type { IRapidPayloadClassifyPayload } from './models/IRapidPayloadClassifyPayload';\nexport type { IRapidPayloadComparePayload } from './models/IRapidPayloadComparePayload';\nexport type { IRapidPayloadFreeTextPayload } from './models/IRapidPayloadFreeTextPayload';\nexport type { IRapidPayloadLinePayload } from './models/IRapidPayloadLinePayload';\nexport type { IRapidPayloadLocatePayload } from './models/IRapidPayloadLocatePayload';\nexport type { IRapidPayloadNamedEntityPayload } from './models/IRapidPayloadNamedEntityPayload';\nexport type { IRapidPayloadPolygonPayload } from './models/IRapidPayloadPolygonPayload';\nexport type { IRapidPayloadScrubPayload } from './models/IRapidPayloadScrubPayload';\nexport type { IRapidPayloadTranscriptionPayload } from './models/IRapidPayloadTranscriptionPayload';\nexport type { IRapidResult } from './models/IRapidResult';\nexport type { IRapidResultAttachCategoryResult } from './models/IRapidResultAttachCategoryResult';\nexport type { IRapidResultBoundingBoxResult } from './models/IRapidResultBoundingBoxResult';\nexport type { IRapidResultCompareResult } from './models/IRapidResultCompareResult';\nexport type { IRapidResultFreeTextResult } from './models/IRapidResultFreeTextResult';\nexport type { IRapidResultLineResult } from './models/IRapidResultLineResult';\nexport type { IRapidResultLocateResult } from './models/IRapidResultLocateResult';\nexport type { IRapidResultNamedEntityResult } from './models/IRapidResultNamedEntityResult';\nexport type { IRapidResultPolygonResult } from './models/IRapidResultPolygonResult';\nexport type { IRapidResultScrubResult } from './models/IRapidResultScrubResult';\nexport type { IRapidResultSkipResult } from './models/IRapidResultSkipResult';\nexport type { IRapidResultTranscriptionResult } from './models/IRapidResultTranscriptionResult';\nexport type { IRefereeConfig } from './models/IRefereeConfig';\nexport type { IRefereeConfigBudgetRefereeConfig } from './models/IRefereeConfigBudgetRefereeConfig';\nexport type { IRefereeConfigNaiveRefereeConfig } from './models/IRefereeConfigNaiveRefereeConfig';\nexport type { IRefereeConfigNeverEndingRefereeConfig } from './models/IRefereeConfigNeverEndingRefereeConfig';\nexport type { IRefereeConfigProbabilisticAttachCategoryRefereeConfig } from './models/IRefereeConfigProbabilisticAttachCategoryRefereeConfig';\nexport type { IRefereeConfigQuorumRefereeConfig } from './models/IRefereeConfigQuorumRefereeConfig';\nexport type { IRefereeInfo } from './models/IRefereeInfo';\nexport type { IRefereeInfoNaiveRefereeInfo } from './models/IRefereeInfoNaiveRefereeInfo';\nexport type { IRefereeInfoNeverEndingRefereeInfo } from './models/IRefereeInfoNeverEndingRefereeInfo';\nexport type { IRefereeInfoProbabilisticAttachCategoryRefereeInfo } from './models/IRefereeInfoProbabilisticAttachCategoryRefereeInfo';\nexport type { IRefereeInfoQuorumRefereeInfo } from './models/IRefereeInfoQuorumRefereeInfo';\nexport type { IRefereeModel } from './models/IRefereeModel';\nexport type { IRefereeModelBudgetRefereeModel } from './models/IRefereeModelBudgetRefereeModel';\nexport type { IRefereeModelEarlyStoppingRefereeModel } from './models/IRefereeModelEarlyStoppingRefereeModel';\nexport type { IRefereeModelNaiveRefereeModel } from './models/IRefereeModelNaiveRefereeModel';\nexport type { IRefereeModelQuorumRefereeModel } from './models/IRefereeModelQuorumRefereeModel';\nexport type { ISampleByParticipant } from './models/ISampleByParticipant';\nexport type { ISampleByParticipantPlaceholderSampleByParticipant } from './models/ISampleByParticipantPlaceholderSampleByParticipant';\nexport type { ISampleByParticipantSampleByParticipant } from './models/ISampleByParticipantSampleByParticipant';\nexport type { ISelection } from './models/ISelection';\nexport type { ISelectionAbTestSelection } from './models/ISelectionAbTestSelection';\nexport type { ISelectionCappedSelection } from './models/ISelectionCappedSelection';\nexport type { ISelectionConditionalValidationSelection } from './models/ISelectionConditionalValidationSelection';\nexport type { ISelectionDemographicSelection } from './models/ISelectionDemographicSelection';\nexport type { ISelectionEffortCappedSelection } from './models/ISelectionEffortCappedSelection';\nexport type { ISelectionLabelingSelection } from './models/ISelectionLabelingSelection';\nexport type { ISelectionShufflingSelection } from './models/ISelectionShufflingSelection';\nexport type { ISelectionStaticSelection } from './models/ISelectionStaticSelection';\nexport type { ISelectionValidationSelection } from './models/ISelectionValidationSelection';\nexport type { IUserFilterModel } from './models/IUserFilterModel';\nexport type { IUserFilterModelAgeUserFilterModel } from './models/IUserFilterModelAgeUserFilterModel';\nexport type { IUserFilterModelAndUserFilterModel } from './models/IUserFilterModelAndUserFilterModel';\nexport type { IUserFilterModelCampaignUserFilterModel } from './models/IUserFilterModelCampaignUserFilterModel';\nexport type { IUserFilterModelCountryUserFilterModel } from './models/IUserFilterModelCountryUserFilterModel';\nexport type { IUserFilterModelCustomUserFilterModel } from './models/IUserFilterModelCustomUserFilterModel';\nexport type { IUserFilterModelDeviceUserFilterModel } from './models/IUserFilterModelDeviceUserFilterModel';\nexport type { IUserFilterModelGenderUserFilterModel } from './models/IUserFilterModelGenderUserFilterModel';\nexport type { IUserFilterModelLanguageUserFilterModel } from './models/IUserFilterModelLanguageUserFilterModel';\nexport type { IUserFilterModelNewUserFilterModel } from './models/IUserFilterModelNewUserFilterModel';\nexport type { IUserFilterModelNotUserFilterModel } from './models/IUserFilterModelNotUserFilterModel';\nexport type { IUserFilterModelOrUserFilterModel } from './models/IUserFilterModelOrUserFilterModel';\nexport type { IUserFilterModelResponseCountUserFilterModel } from './models/IUserFilterModelResponseCountUserFilterModel';\nexport type { IUserFilterModelUserScoreUserFilterModel } from './models/IUserFilterModelUserScoreUserFilterModel';\nexport type { IValidationTruth } from './models/IValidationTruth';\nexport type { IValidationTruthAttachCategoryTruth } from './models/IValidationTruthAttachCategoryTruth';\nexport type { IValidationTruthBoundingBoxTruth } from './models/IValidationTruthBoundingBoxTruth';\nexport type { IValidationTruthCompareTruth } from './models/IValidationTruthCompareTruth';\nexport type { IValidationTruthEmptyValidationTruth } from './models/IValidationTruthEmptyValidationTruth';\nexport type { IValidationTruthLineTruth } from './models/IValidationTruthLineTruth';\nexport type { IValidationTruthLocateBoxTruth } from './models/IValidationTruthLocateBoxTruth';\nexport type { IValidationTruthModel } from './models/IValidationTruthModel';\nexport type { IValidationTruthModelAttachCategoryTruthModel } from './models/IValidationTruthModelAttachCategoryTruthModel';\nexport type { IValidationTruthModelBoundingBoxTruthModel } from './models/IValidationTruthModelBoundingBoxTruthModel';\nexport type { IValidationTruthModelClassifyTruthModel } from './models/IValidationTruthModelClassifyTruthModel';\nexport type { IValidationTruthModelCompareTruthModel } from './models/IValidationTruthModelCompareTruthModel';\nexport type { IValidationTruthModelEmptyValidationTruthModel } from './models/IValidationTruthModelEmptyValidationTruthModel';\nexport type { IValidationTruthModelLineTruthModel } from './models/IValidationTruthModelLineTruthModel';\nexport type { IValidationTruthModelLocateBoxTruthModel } from './models/IValidationTruthModelLocateBoxTruthModel';\nexport type { IValidationTruthModelMultiCompareTruthModel } from './models/IValidationTruthModelMultiCompareTruthModel';\nexport type { IValidationTruthModelNamedEntityTruthModel } from './models/IValidationTruthModelNamedEntityTruthModel';\nexport type { IValidationTruthModelPolygonTruthModel } from './models/IValidationTruthModelPolygonTruthModel';\nexport type { IValidationTruthModelScrubTruthModel } from './models/IValidationTruthModelScrubTruthModel';\nexport type { IValidationTruthModelSkipTruthModel } from './models/IValidationTruthModelSkipTruthModel';\nexport type { IValidationTruthModelTranscriptionTruthModel } from './models/IValidationTruthModelTranscriptionTruthModel';\nexport type { IValidationTruthMultiCompareTruth } from './models/IValidationTruthMultiCompareTruth';\nexport type { IValidationTruthNamedEntityTruth } from './models/IValidationTruthNamedEntityTruth';\nexport type { IValidationTruthPolygonTruth } from './models/IValidationTruthPolygonTruth';\nexport type { IValidationTruthScrubTruth } from './models/IValidationTruthScrubTruth';\nexport type { IValidationTruthSkipTruth } from './models/IValidationTruthSkipTruth';\nexport type { IValidationTruthTranscriptionTruth } from './models/IValidationTruthTranscriptionTruth';\nexport type { IWorkflowConfig } from './models/IWorkflowConfig';\nexport type { IWorkflowConfigEvaluationWorkflowConfig } from './models/IWorkflowConfigEvaluationWorkflowConfig';\nexport type { IWorkflowConfigGroupedRankingWorkflowConfig } from './models/IWorkflowConfigGroupedRankingWorkflowConfig';\nexport type { IWorkflowConfigRankingWorkflowConfig } from './models/IWorkflowConfigRankingWorkflowConfig';\nexport type { IWorkflowConfigSimpleWorkflowConfig } from './models/IWorkflowConfigSimpleWorkflowConfig';\nexport type { IWorkflowModel } from './models/IWorkflowModel';\nexport type { IWorkflowModelEvaluationWorkflowModel } from './models/IWorkflowModelEvaluationWorkflowModel';\nexport type { IWorkflowModelGroupedRankingWorkflowModel } from './models/IWorkflowModelGroupedRankingWorkflowModel';\nexport type { IWorkflowModelRankingWorkflowModel } from './models/IWorkflowModelRankingWorkflowModel';\nexport type { IWorkflowModelSimpleWorkflowModel } from './models/IWorkflowModelSimpleWorkflowModel';\nexport type { JobDefinitionRevisionState } from './models/JobDefinitionRevisionState';\nexport type { JsonWebKey } from './models/JsonWebKey';\nexport type { JsonWebKeySet } from './models/JsonWebKeySet';\nexport type { LeaderboardsQueryResult } from './models/LeaderboardsQueryResult';\nexport type { LineResult_Line } from './models/LineResult_Line';\nexport type { LineResult_LinePoint } from './models/LineResult_LinePoint';\nexport type { LocateCoordinate } from './models/LocateCoordinate';\nexport type { LogicOperator } from './models/LogicOperator';\nexport type { Metadata_IOrderMetadataInput } from './models/Metadata_IOrderMetadataInput';\nexport type { Metadata_IOrderMetadataInputMetadata_PromptAssetMetadataInput } from './models/Metadata_IOrderMetadataInputMetadata_PromptAssetMetadataInput';\nexport type { Metadata_IOrderMetadataInputMetadata_PromptMetadataInput } from './models/Metadata_IOrderMetadataInputMetadata_PromptMetadataInput';\nexport type { Metadata_IOrderMetadataInputMetadata_TranscriptionMetadataInput } from './models/Metadata_IOrderMetadataInputMetadata_TranscriptionMetadataInput';\nexport type { MetadataCollection } from './models/MetadataCollection';\nexport type { MetadataInputCollection } from './models/MetadataInputCollection';\nexport type { MetadataModelCollection } from './models/MetadataModelCollection';\nexport type { MetadataVisibilities } from './models/MetadataVisibilities';\nexport type { NamedClassification } from './models/NamedClassification';\nexport type { NewsletterModel } from './models/NewsletterModel';\nexport type { NotAvailableYetResult } from './models/NotAvailableYetResult';\nexport type { OrderState } from './models/OrderState';\nexport type { PagedResultOfBenchmarkQueryResult } from './models/PagedResultOfBenchmarkQueryResult';\nexport type { PagedResultOfClientsQueryResult } from './models/PagedResultOfClientsQueryResult';\nexport type { PagedResultOfGetGroupedRankingWorkflowResultsResult } from './models/PagedResultOfGetGroupedRankingWorkflowResultsResult';\nexport type { PagedResultOfGetValidationRapidsResult } from './models/PagedResultOfGetValidationRapidsResult';\nexport type { PagedResultOfGetWorkflowResultsResult } from './models/PagedResultOfGetWorkflowResultsResult';\nexport type { PagedResultOfISampleByParticipant } from './models/PagedResultOfISampleByParticipant';\nexport type { PagedResultOfIWorkflowModel } from './models/PagedResultOfIWorkflowModel';\nexport type { PagedResultOfLeaderboardsQueryResult } from './models/PagedResultOfLeaderboardsQueryResult';\nexport type { PagedResultOfParticipantByBenchmark } from './models/PagedResultOfParticipantByBenchmark';\nexport type { PagedResultOfPromptByBenchmarkResult } from './models/PagedResultOfPromptByBenchmarkResult';\nexport type { PagedResultOfQueryAudiencesResult } from './models/PagedResultOfQueryAudiencesResult';\nexport type { PagedResultOfQueryDatapointsByDatasetIdResult } from './models/PagedResultOfQueryDatapointsByDatasetIdResult';\nexport type { PagedResultOfQueryJobDefinitionsResult } from './models/PagedResultOfQueryJobDefinitionsResult';\nexport type { PagedResultOfQueryJobRevisionsResult } from './models/PagedResultOfQueryJobRevisionsResult';\nexport type { PagedResultOfQueryJobsResult } from './models/PagedResultOfQueryJobsResult';\nexport type { PagedResultOfQueryRapidsOutput } from './models/PagedResultOfQueryRapidsOutput';\nexport type { PagedResultOfQueryValidationRapidEligibilityResult } from './models/PagedResultOfQueryValidationRapidEligibilityResult';\nexport type { PagedResultOfRapidModel } from './models/PagedResultOfRapidModel';\nexport type { PagedResultOfRunsByLeaderboardResult } from './models/PagedResultOfRunsByLeaderboardResult';\nexport type { PagedResultOfSampleByIdentifier } from './models/PagedResultOfSampleByIdentifier';\nexport type { PagedResultOfStandingByLeaderboard } from './models/PagedResultOfStandingByLeaderboard';\nexport type { PagedResultOfValidationSetModel } from './models/PagedResultOfValidationSetModel';\nexport type { PageInfo } from './models/PageInfo';\nexport type { ParticipantByBenchmark } from './models/ParticipantByBenchmark';\nexport type { ParticipantStatus } from './models/ParticipantStatus';\nexport type { PolygonResult_Coordinate } from './models/PolygonResult_Coordinate';\nexport type { PolygonResult_Shape } from './models/PolygonResult_Shape';\nexport type { PreliminaryDownloadModel } from './models/PreliminaryDownloadModel';\nexport type { PreviewOrderEndpoint_Input } from './models/PreviewOrderEndpoint_Input';\nexport type { ProblemDetails } from './models/ProblemDetails';\nexport type { PromptByBenchmarkResult } from './models/PromptByBenchmarkResult';\nexport type { PromptType } from './models/PromptType';\nexport type { QueryAggregatedOrdersEndpoint_Output } from './models/QueryAggregatedOrdersEndpoint_Output';\nexport type { QueryAggregatedOrdersEndpoint_PagedResultOfOutput } from './models/QueryAggregatedOrdersEndpoint_PagedResultOfOutput';\nexport type { QueryAudiencesResult } from './models/QueryAudiencesResult';\nexport type { QueryCampaignsEndpoint_Output } from './models/QueryCampaignsEndpoint_Output';\nexport type { QueryCampaignsEndpoint_PagedResultOfOutput } from './models/QueryCampaignsEndpoint_PagedResultOfOutput';\nexport type { QueryCustomersEndpoint_Output } from './models/QueryCustomersEndpoint_Output';\nexport type { QueryCustomersEndpoint_PagedResultOfOutput } from './models/QueryCustomersEndpoint_PagedResultOfOutput';\nexport type { QueryDatapointsByDatasetIdResult } from './models/QueryDatapointsByDatasetIdResult';\nexport type { QueryExamplesForAudienceEndpoint_Output } from './models/QueryExamplesForAudienceEndpoint_Output';\nexport type { QueryExamplesForAudienceEndpoint_PagedResultOfOutput } from './models/QueryExamplesForAudienceEndpoint_PagedResultOfOutput';\nexport type { QueryFlowItemsEndpoint_Output } from './models/QueryFlowItemsEndpoint_Output';\nexport type { QueryFlowItemsEndpoint_PagedResultOfOutput } from './models/QueryFlowItemsEndpoint_PagedResultOfOutput';\nexport type { QueryFlowsEndpoint_Output } from './models/QueryFlowsEndpoint_Output';\nexport type { QueryFlowsEndpoint_PagedResultOfOutput } from './models/QueryFlowsEndpoint_PagedResultOfOutput';\nexport type { QueryJobDefinitionsResult } from './models/QueryJobDefinitionsResult';\nexport type { QueryJobRevisionsResult } from './models/QueryJobRevisionsResult';\nexport type { QueryJobsResult } from './models/QueryJobsResult';\nexport type { QueryModel } from './models/QueryModel';\nexport type { QueryOrdersEndpoint_Output } from './models/QueryOrdersEndpoint_Output';\nexport type { QueryOrdersEndpoint_PagedResultOfOutput } from './models/QueryOrdersEndpoint_PagedResultOfOutput';\nexport type { QueryOrganizationsEndpoint_Output } from './models/QueryOrganizationsEndpoint_Output';\nexport type { QueryOrganizationsEndpoint_PagedResultOfOutput } from './models/QueryOrganizationsEndpoint_PagedResultOfOutput';\nexport type { QueryRapidsOutput } from './models/QueryRapidsOutput';\nexport type { QueryValidationFeedbacksEndpoint_Output } from './models/QueryValidationFeedbacksEndpoint_Output';\nexport type { QueryValidationFeedbacksEndpoint_PagedResultOfOutput } from './models/QueryValidationFeedbacksEndpoint_PagedResultOfOutput';\nexport type { QueryValidationRapidEligibilityModel_QueryValidationModel } from './models/QueryValidationRapidEligibilityModel_QueryValidationModel';\nexport type { QueryValidationRapidEligibilityResult } from './models/QueryValidationRapidEligibilityResult';\nexport type { RapidIssue } from './models/RapidIssue';\nexport type { RapidModality } from './models/RapidModality';\nexport type { RapidModel } from './models/RapidModel';\nexport type { RapidResultModel } from './models/RapidResultModel';\nexport type { RapidSkippedModel } from './models/RapidSkippedModel';\nexport type { RapidState } from './models/RapidState';\nexport type { ReadBridgeTokenKeysResult } from './models/ReadBridgeTokenKeysResult';\nexport type { RecreateExternalAudiencesEndpoint_Input } from './models/RecreateExternalAudiencesEndpoint_Input';\nexport type { ReportModel } from './models/ReportModel';\nexport type { RetrievalMode } from './models/RetrievalMode';\nexport type { RootFilter } from './models/RootFilter';\nexport type { RunsByLeaderboardResult } from './models/RunsByLeaderboardResult';\nexport type { RunStatus } from './models/RunStatus';\nexport type { SampleByIdentifier } from './models/SampleByIdentifier';\nexport type { ScrubRange } from './models/ScrubRange';\nexport type { SendSurveyModel } from './models/SendSurveyModel';\nexport type { SimplifiedAudienceUserState } from './models/SimplifiedAudienceUserState';\nexport type { SortCriterion } from './models/SortCriterion';\nexport type { SortDirection } from './models/SortDirection';\nexport type { StandingByBenchmark } from './models/StandingByBenchmark';\nexport type { StandingByLeaderboard } from './models/StandingByLeaderboard';\nexport type { StandingsByBenchmarkResult } from './models/StandingsByBenchmarkResult';\nexport type { StandingsByLeaderboardResult } from './models/StandingsByLeaderboardResult';\nexport type { StandingStatus } from './models/StandingStatus';\nexport type { StartPreliminaryDownloadResult } from './models/StartPreliminaryDownloadResult';\nexport type { StickyConfig } from './models/StickyConfig';\nexport type { StickyState } from './models/StickyState';\nexport type { SubmitOrderEndpoint_Input } from './models/SubmitOrderEndpoint_Input';\nexport type { SubmitParticipantResult } from './models/SubmitParticipantResult';\nexport type { SubmitPromptModel } from './models/SubmitPromptModel';\nexport type { TagsByBenchmarkResult } from './models/TagsByBenchmarkResult';\nexport type { TranscriptionWord } from './models/TranscriptionWord';\nexport type { TranslatedString } from './models/TranslatedString';\nexport type { UnlockOrderEndpoint_Output } from './models/UnlockOrderEndpoint_Output';\nexport type { UpdateAudienceExampleEndpoint_Input } from './models/UpdateAudienceExampleEndpoint_Input';\nexport type { UpdateAudienceRapidEndpoint_Input } from './models/UpdateAudienceRapidEndpoint_Input';\nexport type { UpdateAudienceRequest } from './models/UpdateAudienceRequest';\nexport type { UpdateBenchmarkModel } from './models/UpdateBenchmarkModel';\nexport type { UpdateBenchmarkNameModel } from './models/UpdateBenchmarkNameModel';\nexport type { UpdateBoostConfigEndpoint_Input } from './models/UpdateBoostConfigEndpoint_Input';\nexport type { UpdateCampaignEndpoint_Input } from './models/UpdateCampaignEndpoint_Input';\nexport type { UpdateConfigEndpoint_Input } from './models/UpdateConfigEndpoint_Input';\nexport type { UpdateDatasetNameModel } from './models/UpdateDatasetNameModel';\nexport type { UpdateDimensionsModel } from './models/UpdateDimensionsModel';\nexport type { UpdateJobDefinitionEndpoint_Input } from './models/UpdateJobDefinitionEndpoint_Input';\nexport type { UpdateJobEndpoint_Input } from './models/UpdateJobEndpoint_Input';\nexport type { UpdateLeaderboardModel } from './models/UpdateLeaderboardModel';\nexport type { UpdateLeaderboardNameModel } from './models/UpdateLeaderboardNameModel';\nexport type { UpdateLeaderboardResponseConfigModel } from './models/UpdateLeaderboardResponseConfigModel';\nexport type { UpdateOrderEndpoint_Input } from './models/UpdateOrderEndpoint_Input';\nexport type { UpdateParticipantModel } from './models/UpdateParticipantModel';\nexport type { UpdateParticipantNameModel } from './models/UpdateParticipantNameModel';\nexport type { UpdatePromptTagsModel } from './models/UpdatePromptTagsModel';\nexport type { UpdateShouldAlertModel } from './models/UpdateShouldAlertModel';\nexport type { UpdateValidationRapidModel } from './models/UpdateValidationRapidModel';\nexport type { UpdateValidationSetModel } from './models/UpdateValidationSetModel';\nexport type { UploadFileResult } from './models/UploadFileResult';\nexport type { ValidationProblemDetails } from './models/ValidationProblemDetails';\nexport type { ValidationSetModel } from './models/ValidationSetModel';\nexport type { ValidationSetOverviewModel } from './models/ValidationSetOverviewModel';\nexport type { VoteMatrixResult } from './models/VoteMatrixResult';\nexport type { WorkflowState } from './models/WorkflowState';\n\nexport { AssetService } from './services/AssetService';\nexport { AudienceService } from './services/AudienceService';\nexport { BatchUploadService } from './services/BatchUploadService';\nexport { BenchmarkService } from './services/BenchmarkService';\nexport { CacheService } from './services/CacheService';\nexport { CampaignService } from './services/CampaignService';\nexport { ClientService } from './services/ClientService';\nexport { CustomerService } from './services/CustomerService';\nexport { CustomerRapidService } from './services/CustomerRapidService';\nexport { DatapointService } from './services/DatapointService';\nexport { DatasetService } from './services/DatasetService';\nexport { DatasetGroupService } from './services/DatasetGroupService';\nexport { EvaluationWorkflowService } from './services/EvaluationWorkflowService';\nexport { ExamplesService } from './services/ExamplesService';\nexport { FeedbackService } from './services/FeedbackService';\nexport { FlowService } from './services/FlowService';\nexport { FlowItemService } from './services/FlowItemService';\nexport { GroupedRankingWorkflowService } from './services/GroupedRankingWorkflowService';\nexport { IdentityService } from './services/IdentityService';\nexport { JobService } from './services/JobService';\nexport { LeaderboardService } from './services/LeaderboardService';\nexport { NewsletterService } from './services/NewsletterService';\nexport { OrderService } from './services/OrderService';\nexport { OrganizationService } from './services/OrganizationService';\nexport { ParticipantService } from './services/ParticipantService';\nexport { PipelineService } from './services/PipelineService';\nexport { PromptService } from './services/PromptService';\nexport { RankingFlowService } from './services/RankingFlowService';\nexport { RankingFlowItemService } from './services/RankingFlowItemService';\nexport { RankingWorkflowService } from './services/RankingWorkflowService';\nexport { RapidService } from './services/RapidService';\nexport { RapidataIdentityApiService } from './services/RapidataIdentityApiService';\nexport { RapidsService } from './services/RapidsService';\nexport { SampleService } from './services/SampleService';\nexport { SimpleWorkflowService } from './services/SimpleWorkflowService';\nexport { SurveyService } from './services/SurveyService';\nexport { UserRapidService } from './services/UserRapidService';\nexport { ValidationFeedbackService } from './services/ValidationFeedbackService';\nexport { ValidationSetService } from './services/ValidationSetService';\nexport { WorkflowService } from './services/WorkflowService';\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\n\nexport class ApiError extends Error {\n public readonly url: string;\n public readonly status: number;\n public readonly statusText: string;\n public readonly body: any;\n public readonly request: ApiRequestOptions;\n\n constructor(request: ApiRequestOptions, response: ApiResult, message: string) {\n super(message);\n\n this.name = 'ApiError';\n this.url = response.url;\n this.status = response.status;\n this.statusText = response.statusText;\n this.body = response.body;\n this.request = request;\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nexport class CancelError extends Error {\n\n constructor(message: string) {\n super(message);\n this.name = 'CancelError';\n }\n\n public get isCancelled(): boolean {\n return true;\n }\n}\n\nexport interface OnCancel {\n readonly isResolved: boolean;\n readonly isRejected: boolean;\n readonly isCancelled: boolean;\n\n (cancelHandler: () => void): void;\n}\n\nexport class CancelablePromise<T> implements Promise<T> {\n #isResolved: boolean;\n #isRejected: boolean;\n #isCancelled: boolean;\n readonly #cancelHandlers: (() => void)[];\n readonly #promise: Promise<T>;\n #resolve?: (value: T | PromiseLike<T>) => void;\n #reject?: (reason?: any) => void;\n\n constructor(\n executor: (\n resolve: (value: T | PromiseLike<T>) => void,\n reject: (reason?: any) => void,\n onCancel: OnCancel\n ) => void\n ) {\n this.#isResolved = false;\n this.#isRejected = false;\n this.#isCancelled = false;\n this.#cancelHandlers = [];\n this.#promise = new Promise<T>((resolve, reject) => {\n this.#resolve = resolve;\n this.#reject = reject;\n\n const onResolve = (value: T | PromiseLike<T>): void => {\n if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n return;\n }\n this.#isResolved = true;\n if (this.#resolve) this.#resolve(value);\n };\n\n const onReject = (reason?: any): void => {\n if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n return;\n }\n this.#isRejected = true;\n if (this.#reject) this.#reject(reason);\n };\n\n const onCancel = (cancelHandler: () => void): void => {\n if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n return;\n }\n this.#cancelHandlers.push(cancelHandler);\n };\n\n Object.defineProperty(onCancel, 'isResolved', {\n get: (): boolean => this.#isResolved,\n });\n\n Object.defineProperty(onCancel, 'isRejected', {\n get: (): boolean => this.#isRejected,\n });\n\n Object.defineProperty(onCancel, 'isCancelled', {\n get: (): boolean => this.#isCancelled,\n });\n\n return executor(onResolve, onReject, onCancel as OnCancel);\n });\n }\n\n get [Symbol.toStringTag]() {\n return \"Cancellable Promise\";\n }\n\n public then<TResult1 = T, TResult2 = never>(\n onFulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null,\n onRejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null\n ): Promise<TResult1 | TResult2> {\n return this.#promise.then(onFulfilled, onRejected);\n }\n\n public catch<TResult = never>(\n onRejected?: ((reason: any) => TResult | PromiseLike<TResult>) | null\n ): Promise<T | TResult> {\n return this.#promise.catch(onRejected);\n }\n\n public finally(onFinally?: (() => void) | null): Promise<T> {\n return this.#promise.finally(onFinally);\n }\n\n public cancel(): void {\n if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n return;\n }\n this.#isCancelled = true;\n if (this.#cancelHandlers.length) {\n try {\n for (const cancelHandler of this.#cancelHandlers) {\n cancelHandler();\n }\n } catch (error) {\n console.warn('Cancellation threw an error', error);\n return;\n }\n }\n this.#cancelHandlers.length = 0;\n if (this.#reject) this.#reject(new CancelError('Request aborted'));\n }\n\n public get isCancelled(): boolean {\n return this.#isCancelled;\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ApiRequestOptions } from './ApiRequestOptions';\n\ntype Resolver<T> = (options: ApiRequestOptions) => Promise<T>;\ntype Headers = Record<string, string>;\n\nexport type OpenAPIConfig = {\n BASE: string;\n VERSION: string;\n WITH_CREDENTIALS: boolean;\n CREDENTIALS: 'include' | 'omit' | 'same-origin';\n TOKEN?: string | Resolver<string> | undefined;\n USERNAME?: string | Resolver<string> | undefined;\n PASSWORD?: string | Resolver<string> | undefined;\n HEADERS?: Headers | Resolver<Headers> | undefined;\n ENCODE_PATH?: ((path: string) => string) | undefined;\n};\n\nexport const OpenAPI: OpenAPIConfig = {\n BASE: 'https://api.rabbitdata.ch',\n VERSION: '1',\n WITH_CREDENTIALS: false,\n CREDENTIALS: 'include',\n TOKEN: undefined,\n USERNAME: undefined,\n PASSWORD: undefined,\n HEADERS: undefined,\n ENCODE_PATH: undefined,\n};\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport { ApiError } from './ApiError';\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\nimport { CancelablePromise } from './CancelablePromise';\nimport type { OnCancel } from './CancelablePromise';\nimport type { OpenAPIConfig } from './OpenAPI';\n\nexport const isDefined = <T>(value: T | null | undefined): value is Exclude<T, null | undefined> => {\n return value !== undefined && value !== null;\n};\n\nexport const isString = (value: any): value is string => {\n return typeof value === 'string';\n};\n\nexport const isStringWithValue = (value: any): value is string => {\n return isString(value) && value !== '';\n};\n\nexport const isBlob = (value: any): value is Blob => {\n return (\n typeof value === 'object' &&\n typeof value.type === 'string' &&\n typeof value.stream === 'function' &&\n typeof value.arrayBuffer === 'function' &&\n typeof value.constructor === 'function' &&\n typeof value.constructor.name === 'string' &&\n /^(Blob|File)$/.test(value.constructor.name) &&\n /^(Blob|File)$/.test(value[Symbol.toStringTag])\n );\n};\n\nexport const isFormData = (value: any): value is FormData => {\n return value instanceof FormData;\n};\n\nexport const base64 = (str: string): string => {\n try {\n return btoa(str);\n } catch (err) {\n // @ts-ignore\n return Buffer.from(str).toString('base64');\n }\n};\n\nexport const getQueryString = (params: Record<string, any>): string => {\n const qs: string[] = [];\n\n const append = (key: string, value: any) => {\n qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);\n };\n\n const process = (key: string, value: any) => {\n if (isDefined(value)) {\n if (Array.isArray(value)) {\n value.forEach(v => {\n process(key, v);\n });\n } else if (typeof value === 'object') {\n Object.entries(value).forEach(([k, v]) => {\n process(`${key}[${k}]`, v);\n });\n } else {\n append(key, value);\n }\n }\n };\n\n Object.entries(params).forEach(([key, value]) => {\n process(key, value);\n });\n\n if (qs.length > 0) {\n return `?${qs.join('&')}`;\n }\n\n return '';\n};\n\nconst getUrl = (config: OpenAPIConfig, options: ApiRequestOptions): string => {\n const encoder = config.ENCODE_PATH || encodeURI;\n\n const path = options.url\n .replace('{api-version}', config.VERSION)\n .replace(/{(.*?)}/g, (substring: string, group: string) => {\n if (options.path?.hasOwnProperty(group)) {\n return encoder(String(options.path[group]));\n }\n return substring;\n });\n\n const url = `${config.BASE}${path}`;\n if (options.query) {\n return `${url}${getQueryString(options.query)}`;\n }\n return url;\n};\n\nexport const getFormData = (options: ApiRequestOptions): FormData | undefined => {\n if (options.formData) {\n const formData = new FormData();\n\n const process = (key: string, value: any) => {\n if (isString(value) || isBlob(value)) {\n formData.append(key, value);\n } else {\n formData.append(key, JSON.stringify(value));\n }\n };\n\n Object.entries(options.formData)\n .filter(([_, value]) => isDefined(value))\n .forEach(([key, value]) => {\n if (Array.isArray(value)) {\n value.forEach(v => process(key, v));\n } else {\n process(key, value);\n }\n });\n\n return formData;\n }\n return undefined;\n};\n\ntype Resolver<T> = (options: ApiRequestOptions) => Promise<T>;\n\nexport const resolve = async <T>(options: ApiRequestOptions, resolver?: T | Resolver<T>): Promise<T | undefined> => {\n if (typeof resolver === 'function') {\n return (resolver as Resolver<T>)(options);\n }\n return resolver;\n};\n\nexport const getHeaders = async (config: OpenAPIConfig, options: ApiRequestOptions): Promise<Headers> => {\n const [token, username, password, additionalHeaders] = await Promise.all([\n resolve(options, config.TOKEN),\n resolve(options, config.USERNAME),\n resolve(options, config.PASSWORD),\n resolve(options, config.HEADERS),\n ]);\n\n const headers = Object.entries({\n Accept: 'application/json',\n ...additionalHeaders,\n ...options.headers,\n })\n .filter(([_, value]) => isDefined(value))\n .reduce((headers, [key, value]) => ({\n ...headers,\n [key]: String(value),\n }), {} as Record<string, string>);\n\n if (isStringWithValue(token)) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n if (isStringWithValue(username) && isStringWithValue(password)) {\n const credentials = base64(`${username}:${password}`);\n headers['Authorization'] = `Basic ${credentials}`;\n }\n\n if (options.body !== undefined) {\n if (options.mediaType) {\n headers['Content-Type'] = options.mediaType;\n } else if (isBlob(options.body)) {\n headers['Content-Type'] = options.body.type || 'application/octet-stream';\n } else if (isString(options.body)) {\n headers['Content-Type'] = 'text/plain';\n } else if (!isFormData(options.body)) {\n headers['Content-Type'] = 'application/json';\n }\n }\n\n return new Headers(headers);\n};\n\nexport const getRequestBody = (options: ApiRequestOptions): any => {\n if (options.body !== undefined) {\n if (options.mediaType?.includes('/json')) {\n return JSON.stringify(options.body)\n } else if (isString(options.body) || isBlob(options.body) || isFormData(options.body)) {\n return options.body;\n } else {\n return JSON.stringify(options.body);\n }\n }\n return undefined;\n};\n\nexport const sendRequest = async (\n config: OpenAPIConfig,\n options: ApiRequestOptions,\n url: string,\n body: any,\n formData: FormData | undefined,\n headers: Headers,\n onCancel: OnCancel\n): Promise<Response> => {\n const controller = new AbortController();\n\n const request: RequestInit = {\n headers,\n body: body ?? formData,\n method: options.method,\n signal: controller.signal,\n };\n\n if (config.WITH_CREDENTIALS) {\n request.credentials = config.CREDENTIALS;\n }\n\n onCancel(() => controller.abort());\n\n return await fetch(url, request);\n};\n\nexport const getResponseHeader = (response: Response, responseHeader?: string): string | undefined => {\n if (responseHeader) {\n const content = response.headers.get(responseHeader);\n if (isString(content)) {\n return content;\n }\n }\n return undefined;\n};\n\nexport const getResponseBody = async (response: Response): Promise<any> => {\n if (response.status !== 204) {\n try {\n const contentType = response.headers.get('Content-Type');\n if (contentType) {\n const jsonTypes = ['application/json', 'application/problem+json']\n const isJSON = jsonTypes.some(type => contentType.toLowerCase().startsWith(type));\n if (isJSON) {\n return await response.json();\n } else {\n return await response.text();\n }\n }\n } catch (error) {\n console.error(error);\n }\n }\n return undefined;\n};\n\nexport const catchErrorCodes = (options: ApiRequestOptions, result: ApiResult): void => {\n const errors: Record<number, string> = {\n 400: 'Bad Request',\n 401: 'Unauthorized',\n 403: 'Forbidden',\n 404: 'Not Found',\n 500: 'Internal Server Error',\n 502: 'Bad Gateway',\n 503: 'Service Unavailable',\n ...options.errors,\n }\n\n const error = errors[result.status];\n if (error) {\n throw new ApiError(options, result, error);\n }\n\n if (!result.ok) {\n const errorStatus = result.status ?? 'unknown';\n const errorStatusText = result.statusText ?? 'unknown';\n const errorBody = (() => {\n try {\n return JSON.stringify(result.body, null, 2);\n } catch (e) {\n return undefined;\n }\n })();\n\n throw new ApiError(options, result,\n `Generic Error: status: ${errorStatus}; status text: ${errorStatusText}; body: ${errorBody}`\n );\n }\n};\n\n/**\n * Request method\n * @param config The OpenAPI configuration object\n * @param options The request options from the service\n * @returns CancelablePromise<T>\n * @throws ApiError\n */\nexport const request = <T>(config: OpenAPIConfig, options: ApiRequestOptions): CancelablePromise<T> => {\n return new CancelablePromise(async (resolve, reject, onCancel) => {\n try {\n const url = getUrl(config, options);\n const formData = getFormData(options);\n const body = getRequestBody(options);\n const headers = await getHeaders(config, options);\n\n if (!onCancel.isCancelled) {\n const response = await sendRequest(config, options, url, body, formData, headers, onCancel);\n const responseBody = await getResponseBody(response);\n const responseHeader = getResponseHeader(response, options.responseHeader);\n\n const result: ApiResult = {\n url,\n ok: response.ok,\n status: response.status,\n statusText: response.statusText,\n body: responseHeader ?? responseBody,\n };\n\n catchErrorCodes(options, result);\n\n resolve(result.body);\n }\n } catch (error) {\n reject(error);\n }\n });\n};\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { CompressionLibrary } from '../models/CompressionLibrary';\nimport type { GetFileMetadataResult } from '../models/GetFileMetadataResult';\nimport type { IFormFile } from '../models/IFormFile';\nimport type { UploadFileResult } from '../models/UploadFileResult';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class AssetService {\n /**\n * Compresses an uploaded image and returns the WebP result.\n * Compression metrics are returned in response headers: X-Original-Size, X-Compressed-Size,\n * X-Processing-Time-Ms, X-Original-Dimensions, X-Output-Dimensions.\n * @returns binary OK\n * @throws ApiError\n */\n public static postAssetCompress({\n formData,\n library,\n quality = 85,\n maxdim = 800,\n }: {\n /**\n * The image file to compress.\n */\n formData: {\n file: IFormFile;\n },\n /**\n * The compression library to use.\n */\n library?: CompressionLibrary,\n /**\n * The compression quality from 1 to 100.\n */\n quality?: number,\n /**\n * The maximum dimension (width or height) of the output image.\n */\n maxdim?: number,\n }): CancelablePromise<Blob> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/asset/compress',\n query: {\n 'library': library,\n 'quality': quality,\n 'maxdim': maxdim,\n },\n formData: formData,\n mediaType: 'multipart/form-data',\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Uploads a single asset to S3 and returns the asset details.\n * This endpoint allows uploading a single file to S3 storage with the asset creator.\n * The uploaded asset will be stored using the configured S3 settings and a unique filename will be generated.\n * @returns UploadFileResult OK\n * @throws ApiError\n */\n public static postAssetFile({\n formData,\n }: {\n /**\n * The file to upload to S3.\n */\n formData: {\n file?: IFormFile;\n },\n }): CancelablePromise<UploadFileResult> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/asset/file',\n formData: formData,\n mediaType: 'multipart/form-data',\n });\n }\n /**\n * Uploads a single asset to S3 and returns the asset details.\n * This endpoint allows uploading a single file to S3 storage with the asset creator.\n * The uploaded asset will be stored using the configured S3 settings and a unique filename will be generated.\n * @returns UploadFileResult OK\n * @throws ApiError\n */\n public static postAssetUrl({\n url,\n }: {\n /**\n * The url of the file to upload to S3.\n */\n url?: string,\n }): CancelablePromise<UploadFileResult> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/asset/url',\n query: {\n 'url': url,\n },\n });\n }\n /**\n * Gets the metadata for an asset by file name.\n * This endpoint retrieves metadata information for an asset stored in S3.\n * The metadata includes details such as content type, size, creation date, and custom metadata fields.\n * @returns GetFileMetadataResult OK\n * @throws ApiError\n */\n public static getAssetMetadata({\n fileName,\n }: {\n /**\n * The name of the file to retrieve metadata for.\n */\n fileName: string,\n }): CancelablePromise<GetFileMetadataResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/asset/{fileName}/metadata',\n path: {\n 'fileName': fileName,\n },\n errors: {\n 404: `Not Found`,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { CreateAudienceRequest } from '../models/CreateAudienceRequest';\nimport type { CreateAudienceResult } from '../models/CreateAudienceResult';\nimport type { GetAudienceByIdResult } from '../models/GetAudienceByIdResult';\nimport type { GetAudienceUserStateMetricsResult } from '../models/GetAudienceUserStateMetricsResult';\nimport type { PagedResultOfQueryAudiencesResult } from '../models/PagedResultOfQueryAudiencesResult';\nimport type { PagedResultOfQueryJobsResult } from '../models/PagedResultOfQueryJobsResult';\nimport type { RecreateExternalAudiencesEndpoint_Input } from '../models/RecreateExternalAudiencesEndpoint_Input';\nimport type { UpdateAudienceRequest } from '../models/UpdateAudienceRequest';\nimport type { UpdateBoostConfigEndpoint_Input } from '../models/UpdateBoostConfigEndpoint_Input';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class AudienceService {\n /**\n * Deletes the specified audience.\n * @returns void\n * @throws ApiError\n */\n public static deleteAudience({\n audienceId,\n }: {\n /**\n * The unique identifier of the audience to delete.\n */\n audienceId: string,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/audience/{audienceId}',\n path: {\n 'audienceId': audienceId,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Gets an audience by its Id.\n * @returns GetAudienceByIdResult OK\n * @throws ApiError\n */\n public static getAudience({\n audienceId,\n }: {\n /**\n * The id of the audience to get.\n */\n audienceId: string,\n }): CancelablePromise<GetAudienceByIdResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/audience/{audienceId}',\n path: {\n 'audienceId': audienceId,\n },\n });\n }\n /**\n * Patches an existing audience.\n * @returns void\n * @throws ApiError\n */\n public static patchAudience({\n audienceId,\n requestBody,\n }: {\n audienceId: string,\n requestBody: UpdateAudienceRequest,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'PATCH',\n url: '/audience/{audienceId}',\n path: {\n 'audienceId': audienceId,\n },\n body: requestBody,\n mediaType: 'application/json',\n });\n }\n /**\n * Gets the count of users in each state for the specified audience.\n * @returns GetAudienceUserStateMetricsResult OK\n * @throws ApiError\n */\n public static getAudienceUserMetrics({\n audienceId,\n }: {\n /**\n * The unique identifier of the audience.\n */\n audienceId: string,\n }): CancelablePromise<GetAudienceUserStateMetricsResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/audience/{audienceId}/user-metrics',\n path: {\n 'audienceId': audienceId,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Pauses the distillation campaign for the specified audience.\n * @returns void\n * @throws ApiError\n */\n public static postAudiencePauseDistillation({\n audienceId,\n }: {\n /**\n * The unique identifier of the audience.\n */\n audienceId: string,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/audience/{audienceId}/pause-distillation',\n path: {\n 'audienceId': audienceId,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Queries jobs for the specified audience.\n * @returns PagedResultOfQueryJobsResult OK\n * @throws ApiError\n */\n public static getAudienceJobs({\n audienceId,\n }: {\n /**\n * The unique identifier of the audience.\n */\n audienceId: string,\n }): CancelablePromise<PagedResultOfQueryJobsResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/audience/{audienceId}/jobs',\n path: {\n 'audienceId': audienceId,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Rebuilds the distilling campaign for the specified audience.\n * Recalculates campaign filters and selections based on the audience's current settings\n * (demographic filters, exit conditions, etc.).\n * @returns void\n * @throws ApiError\n */\n public static postAudienceRebuildDistillingCampaign({\n audienceId,\n }: {\n /**\n * The unique identifier of the audience.\n */\n audienceId: string,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/audience/{audienceId}/rebuild-distilling-campaign',\n path: {\n 'audienceId': audienceId,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Recreates external audiences for the specified audience.\n * @returns void\n * @throws ApiError\n */\n public static postAudienceRecreateExternalAudiences({\n audienceId,\n requestBody,\n }: {\n /**\n * The unique identifier of the audience.\n */\n audienceId: string,\n /**\n * Configuration for which external audiences to recreate.\n */\n requestBody: RecreateExternalAudiencesEndpoint_Input,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/audience/{audienceId}/recreate-external-audiences',\n path: {\n 'audienceId': audienceId,\n },\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Resumes the distillation campaign for the specified audience.\n * @returns void\n * @throws ApiError\n */\n public static postAudienceResumeDistillation({\n audienceId,\n }: {\n /**\n * The unique identifier of the audience.\n */\n audienceId: string,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/audience/{audienceId}/resume-distillation',\n path: {\n 'audienceId': audienceId,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Starts recruiting users for the specified audience.\n * @returns void\n * @throws ApiError\n */\n public static postAudienceRecruit({\n audienceId,\n }: {\n /**\n * The unique identifier of the audience.\n */\n audienceId: string,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/audience/{audienceId}/recruit',\n path: {\n 'audienceId': audienceId,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Updates the boost configuration for the specified audience.\n * @returns void\n * @throws ApiError\n */\n public static patchAudienceBoostConfig({\n audienceId,\n requestBody,\n }: {\n /**\n * The unique identifier of the audience.\n */\n audienceId: string,\n /**\n * The boost configuration values to update.\n */\n requestBody: UpdateBoostConfigEndpoint_Input,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'PATCH',\n url: '/audience/{audienceId}/boost-config',\n path: {\n 'audienceId': audienceId,\n },\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Queries all available audiences.\n * @returns PagedResultOfQueryAudiencesResult OK\n * @throws ApiError\n */\n public static getAudiences({\n request,\n }: {\n request?: any,\n }): CancelablePromise<PagedResultOfQueryAudiencesResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/audiences',\n query: {\n 'request': request,\n },\n });\n }\n /**\n * Creates a new empty audience.\n * An audience is a group of users that are trained to solve particular tasks.\n * @returns CreateAudienceResult OK\n * @throws ApiError\n */\n public static postAudience({\n requestBody,\n }: {\n requestBody: CreateAudienceRequest,\n }): CancelablePromise<CreateAudienceResult> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/audience',\n body: requestBody,\n mediaType: 'application/json',\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { CreateBatchUploadEndpoint_Input } from '../models/CreateBatchUploadEndpoint_Input';\nimport type { CreateBatchUploadEndpoint_Output } from '../models/CreateBatchUploadEndpoint_Output';\nimport type { GetBatchUploadResultEndpoint_Output } from '../models/GetBatchUploadResultEndpoint_Output';\nimport type { GetBatchUploadStatusEndpoint_Output } from '../models/GetBatchUploadStatusEndpoint_Output';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class BatchUploadService {\n /**\n * Aborts the specified batch upload.\n * URLs already processed will not be reverted. Only remaining URLs are prevented from processing.\n * @returns void\n * @throws ApiError\n */\n public static postAssetBatchUploadAbort({\n batchUploadId,\n }: {\n /**\n * The identifier of the batch upload to abort.\n */\n batchUploadId: string,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/asset/batch-upload/{batchUploadId}/abort',\n path: {\n 'batchUploadId': batchUploadId,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Creates a batch upload and queues processing for each URL.\n * Each URL is processed asynchronously. Use the batch upload status or result endpoints to track progress.\n * @returns CreateBatchUploadEndpoint_Output OK\n * @throws ApiError\n */\n public static postAssetBatchUpload({\n requestBody,\n }: {\n /**\n * The list of URLs to include in the batch upload.\n */\n requestBody: CreateBatchUploadEndpoint_Input,\n }): CancelablePromise<CreateBatchUploadEndpoint_Output> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/asset/batch-upload',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Gets the full result of a batch upload including all items.\n * @returns GetBatchUploadResultEndpoint_Output OK\n * @throws ApiError\n */\n public static getAssetBatchUpload({\n batchUploadId,\n }: {\n /**\n * The identifier of the batch upload to retrieve.\n */\n batchUploadId: string,\n }): CancelablePromise<GetBatchUploadResultEndpoint_Output> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/asset/batch-upload/{batchUploadId}',\n path: {\n 'batchUploadId': batchUploadId,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Gets aggregated status for batch uploads identified by IDs or a correlation ID.\n * @returns GetBatchUploadStatusEndpoint_Output OK\n * @throws ApiError\n */\n public static getAssetBatchUploadStatus({\n batchUploadIds,\n correlationId,\n }: {\n /**\n * The identifiers of the batch uploads to query.\n */\n batchUploadIds?: Array<string>,\n /**\n * A client-supplied identifier to look up related batch uploads.\n */\n correlationId?: string,\n }): CancelablePromise<GetBatchUploadStatusEndpoint_Output> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/asset/batch-upload/status',\n query: {\n 'batchUploadIds': batchUploadIds,\n 'correlationId': correlationId,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { CreateBenchmarkModel } from '../models/CreateBenchmarkModel';\nimport type { CreateBenchmarkParticipantModel } from '../models/CreateBenchmarkParticipantModel';\nimport type { CreateBenchmarkParticipantResult } from '../models/CreateBenchmarkParticipantResult';\nimport type { CreateBenchmarkPromptResult } from '../models/CreateBenchmarkPromptResult';\nimport type { CreateBenchmarkResult } from '../models/CreateBenchmarkResult';\nimport type { ForkBenchmarkResult } from '../models/ForkBenchmarkResult';\nimport type { GetBenchmarkByIdResult } from '../models/GetBenchmarkByIdResult';\nimport type { GetCombinedBenchmarkMatrixEndpoint_Output } from '../models/GetCombinedBenchmarkMatrixEndpoint_Output';\nimport type { GetCombinedBenchmarkStandingsEndpoint_Output } from '../models/GetCombinedBenchmarkStandingsEndpoint_Output';\nimport type { PagedResultOfBenchmarkQueryResult } from '../models/PagedResultOfBenchmarkQueryResult';\nimport type { PagedResultOfLeaderboardsQueryResult } from '../models/PagedResultOfLeaderboardsQueryResult';\nimport type { PagedResultOfParticipantByBenchmark } from '../models/PagedResultOfParticipantByBenchmark';\nimport type { PagedResultOfPromptByBenchmarkResult } from '../models/PagedResultOfPromptByBenchmarkResult';\nimport type { PagedResultOfSampleByIdentifier } from '../models/PagedResultOfSampleByIdentifier';\nimport type { StandingsByBenchmarkResult } from '../models/StandingsByBenchmarkResult';\nimport type { SubmitPromptModel } from '../models/SubmitPromptModel';\nimport type { TagsByBenchmarkResult } from '../models/TagsByBenchmarkResult';\nimport type { UpdateBenchmarkModel } from '../models/UpdateBenchmarkModel';\nimport type { VoteMatrixResult } from '../models/VoteMatrixResult';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class BenchmarkService {\n /**\n * Returns the pairwise vote matrix for a benchmark.\n * The matrix is returned in pandas split format.\n * @returns VoteMatrixResult OK\n * @throws ApiError\n */\n public static getBenchmarkMatrix({\n benchmarkId,\n tags,\n participantIds,\n leaderboardIds,\n useWeightedScoring = false,\n }: {\n /**\n * The identifier of the benchmark.\n */\n benchmarkId: string,\n /**\n * Optional tags to filter the matrix entries.\n */\n tags?: Array<string>,\n /**\n * Optional participant identifiers to include in the matrix.\n */\n participantIds?: Array<string>,\n /**\n * Optional leaderboard identifiers to scope the matrix.\n */\n leaderboardIds?: Array<string>,\n /**\n * Whether to apply weighted scoring to the matrix values.\n */\n useWeightedScoring?: boolean,\n }): CancelablePromise<VoteMatrixResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/benchmark/{benchmarkId}/matrix',\n path: {\n 'benchmarkId': benchmarkId,\n },\n query: {\n 'tags': tags,\n 'participantIds': participantIds,\n 'leaderboardIds': leaderboardIds,\n 'useWeightedScoring': useWeightedScoring,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Returns the combined pairwise vote matrix for multiple benchmarks.\n * @returns GetCombinedBenchmarkMatrixEndpoint_Output OK\n * @throws ApiError\n */\n public static getBenchmarkCombinedMatrix({\n benchmarkIds,\n useWeightedScoring = false,\n }: {\n /**\n * The identifiers of the benchmarks to combine.\n */\n benchmarkIds: Array<string>,\n /**\n * Whether to apply weighted scoring to the matrix values.\n */\n useWeightedScoring?: boolean,\n }): CancelablePromise<GetCombinedBenchmarkMatrixEndpoint_Output> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/benchmark/combined-matrix',\n query: {\n 'benchmarkIds': benchmarkIds,\n 'useWeightedScoring': useWeightedScoring,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Returns the combined standings for multiple benchmarks.\n * @returns GetCombinedBenchmarkStandingsEndpoint_Output OK\n * @throws ApiError\n */\n public static getBenchmarkCombinedStandings({\n benchmarkIds,\n useWeightedScoring = false,\n includeConfidenceIntervals = false,\n }: {\n /**\n * The identifiers of the benchmarks to combine.\n */\n benchmarkIds: Array<string>,\n /**\n * Whether to apply weighted scoring.\n */\n useWeightedScoring?: boolean,\n /**\n * Whether to include confidence intervals in results.\n */\n includeConfidenceIntervals?: boolean,\n }): CancelablePromise<GetCombinedBenchmarkStandingsEndpoint_Output> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/benchmark/combined-standings',\n query: {\n 'benchmarkIds': benchmarkIds,\n 'useWeightedScoring': useWeightedScoring,\n 'includeConfidenceIntervals': includeConfidenceIntervals,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Queries all benchmarks of the user.\n * @returns PagedResultOfBenchmarkQueryResult OK\n * @throws ApiError\n */\n public static getBenchmarks({\n request,\n }: {\n request?: any,\n }): CancelablePromise<PagedResultOfBenchmarkQueryResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/benchmarks',\n query: {\n 'request': request,\n },\n });\n }\n /**\n * Queries all leaderboards for the current user's benchmarks.\n * @returns PagedResultOfLeaderboardsQueryResult OK\n * @throws ApiError\n */\n public static getBenchmarkLeaderboards({\n benchmarkId,\n request,\n }: {\n /**\n * The Id of the benchmark whoms leaderboards will be returned\n */\n benchmarkId: string,\n /**\n * Query parameters\n */\n request?: any,\n }): CancelablePromise<PagedResultOfLeaderboardsQueryResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/benchmark/{benchmarkId}/leaderboards',\n path: {\n 'benchmarkId': benchmarkId,\n },\n query: {\n 'request': request,\n },\n });\n }\n /**\n * Creates a benchmark\n * @returns CreateBenchmarkResult OK\n * @throws ApiError\n */\n public static postBenchmark({\n requestBody,\n }: {\n requestBody: CreateBenchmarkModel,\n }): CancelablePromise<CreateBenchmarkResult> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/benchmark',\n body: requestBody,\n mediaType: 'application/json',\n });\n }\n /**\n * Returns a single benchmark by its ID.\n * @returns GetBenchmarkByIdResult OK\n * @throws ApiError\n */\n public static getBenchmark({\n benchmarkId,\n }: {\n benchmarkId: string,\n }): CancelablePromise<GetBenchmarkByIdResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/benchmark/{benchmarkId}',\n path: {\n 'benchmarkId': benchmarkId,\n },\n });\n }\n /**\n * Deletes a single benchmark.\n * @returns void\n * @throws ApiError\n */\n public static deleteBenchmark({\n benchmarkId,\n }: {\n benchmarkId: string,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/benchmark/{benchmarkId}',\n path: {\n 'benchmarkId': benchmarkId,\n },\n });\n }\n /**\n * Updates a benchmark using patch semantics.\n * @returns void\n * @throws ApiError\n */\n public static patchBenchmark({\n benchmarkId,\n requestBody,\n }: {\n benchmarkId: string,\n requestBody: UpdateBenchmarkModel,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'PATCH',\n url: '/benchmark/{benchmarkId}',\n path: {\n 'benchmarkId': benchmarkId,\n },\n body: requestBody,\n mediaType: 'application/json',\n });\n }\n /**\n * Query all participants within a benchmark\n * @returns PagedResultOfParticipantByBenchmark OK\n * @throws ApiError\n */\n public static getBenchmarkParticipants({\n benchmarkId,\n request,\n }: {\n benchmarkId: string,\n request?: any,\n }): CancelablePromise<PagedResultOfParticipantByBenchmark> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/benchmark/{benchmarkId}/participants',\n path: {\n 'benchmarkId': benchmarkId,\n },\n query: {\n 'request': request,\n },\n });\n }\n /**\n * Creates a participant in a benchmark.\n * @returns CreateBenchmarkParticipantResult OK\n * @throws ApiError\n */\n public static postBenchmarkParticipants({\n benchmarkId,\n requestBody,\n }: {\n benchmarkId: string,\n requestBody: CreateBenchmarkParticipantModel,\n }): CancelablePromise<CreateBenchmarkParticipantResult> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/benchmark/{benchmarkId}/participants',\n path: {\n 'benchmarkId': benchmarkId,\n },\n body: requestBody,\n mediaType: 'application/json',\n });\n }\n /**\n * Queries all the standings for a benchmark by its ID.\n * @returns StandingsByBenchmarkResult OK\n * @throws ApiError\n */\n public static getBenchmarkStandings({\n benchmarkId,\n tags,\n participantIds,\n leaderboardIds,\n useWeightedScoring = false,\n includeConfidenceIntervals = false,\n }: {\n /**\n * The id of the benchmark, which standings should be queried\n */\n benchmarkId: string,\n /**\n * The tags the benchmark should filter for.\n */\n tags?: Array<string>,\n /**\n * The ids of the participants that should be filtered for. leave empty to not filter\n */\n participantIds?: Array<string>,\n /**\n * The ids of the leaderboards that should be filtered for. leave empty to not filter\n */\n leaderboardIds?: Array<string>,\n /**\n * Whether to use weighted scoring based on user scores (defaults to false for backwards compatibility)\n */\n useWeightedScoring?: boolean,\n /**\n * Whether to include the confidence intervals\n */\n includeConfidenceIntervals?: boolean,\n }): CancelablePromise<StandingsByBenchmarkResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/benchmark/{benchmarkId}/standings',\n path: {\n 'benchmarkId': benchmarkId,\n },\n query: {\n 'tags': tags,\n 'participantIds': participantIds,\n 'leaderboardIds': leaderboardIds,\n 'useWeightedScoring': useWeightedScoring,\n 'includeConfidenceIntervals': includeConfidenceIntervals,\n },\n });\n }\n /**\n * Creates a copy of a public benchmark and all of its related entities\n * @returns ForkBenchmarkResult OK\n * @throws ApiError\n */\n public static postBenchmarkFork({\n benchmarkId,\n }: {\n benchmarkId: string,\n }): CancelablePromise<ForkBenchmarkResult> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/benchmark/{benchmarkId}/fork',\n path: {\n 'benchmarkId': benchmarkId,\n },\n });\n }\n /**\n * Returns the paged prompts of a benchmark by its ID.\n * @returns PagedResultOfPromptByBenchmarkResult OK\n * @throws ApiError\n */\n public static getBenchmarkPrompts({\n benchmarkId,\n request,\n }: {\n benchmarkId: string,\n request?: any,\n }): CancelablePromise<PagedResultOfPromptByBenchmarkResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/benchmark/{benchmarkId}/prompts',\n path: {\n 'benchmarkId': benchmarkId,\n },\n query: {\n 'request': request,\n },\n });\n }\n /**\n * Returns the paged prompts of a benchmark by its ID.\n * @returns PagedResultOfSampleByIdentifier OK\n * @throws ApiError\n */\n public static getBenchmarkSamples({\n benchmarkId,\n identifier,\n request,\n }: {\n /**\n * The id of the benchmark to query\n */\n benchmarkId: string,\n /**\n * The identifier to filter all samples for\n */\n identifier: string,\n /**\n * additional query settings\n */\n request?: any,\n }): CancelablePromise<PagedResultOfSampleByIdentifier> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/benchmark/{benchmarkId}/samples/{identifier}',\n path: {\n 'benchmarkId': benchmarkId,\n 'identifier': identifier,\n },\n query: {\n 'request': request,\n },\n });\n }\n /**\n * Adds a new prompt to a benchmark.\n * @returns CreateBenchmarkPromptResult OK\n * @throws ApiError\n */\n public static postBenchmarkPrompt({\n benchmarkId,\n requestBody,\n }: {\n /**\n * The benchmark id.\n */\n benchmarkId: string,\n requestBody: SubmitPromptModel,\n }): CancelablePromise<CreateBenchmarkPromptResult> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/benchmark/{benchmarkId}/prompt',\n path: {\n 'benchmarkId': benchmarkId,\n },\n body: requestBody,\n mediaType: 'application/json',\n });\n }\n /**\n * Query all tags within a benchmark\n * @returns TagsByBenchmarkResult OK\n * @throws ApiError\n */\n public static getBenchmarkTags({\n benchmarkId,\n }: {\n /**\n * The id of the benchmark the prompts should be retrieved from\n */\n benchmarkId: string,\n }): CancelablePromise<TagsByBenchmarkResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/benchmark/{benchmarkId}/tags',\n path: {\n 'benchmarkId': benchmarkId,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { GetCampaignCacheEndpoint_Output } from '../models/GetCampaignCacheEndpoint_Output';\nimport type { GetUserScoreCacheEndpoint_Output } from '../models/GetUserScoreCacheEndpoint_Output';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class CacheService {\n /**\n * Returns the current state of the in-memory campaign cache.\n * @returns GetCampaignCacheEndpoint_Output OK\n * @throws ApiError\n */\n public static getCampaignCacheCampaigns(): CancelablePromise<GetCampaignCacheEndpoint_Output> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/campaign/cache/campaigns',\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Returns the current state of the in-memory default user score cache.\n * @returns GetUserScoreCacheEndpoint_Output OK\n * @throws ApiError\n */\n public static getCampaignCacheUserScores(): CancelablePromise<GetUserScoreCacheEndpoint_Output> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/campaign/cache/user-scores',\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ChangeBoostEndpoint_Input } from '../models/ChangeBoostEndpoint_Input';\nimport type { GetBoostStatusEndpoint_Output } from '../models/GetBoostStatusEndpoint_Output';\nimport type { QueryCampaignsEndpoint_PagedResultOfOutput } from '../models/QueryCampaignsEndpoint_PagedResultOfOutput';\nimport type { UpdateCampaignEndpoint_Input } from '../models/UpdateCampaignEndpoint_Input';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class CampaignService {\n /**\n * Changes the boost configuration.\n * @returns void\n * @throws ApiError\n */\n public static putCampaignBoost({\n requestBody,\n }: {\n /**\n * The boost configuration to apply.\n */\n requestBody: ChangeBoostEndpoint_Input,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/campaign/boost',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Returns the current boost status including active and inactive campaigns.\n * @returns GetBoostStatusEndpoint_Output OK\n * @throws ApiError\n */\n public static getCampaignBoostStatus(): CancelablePromise<GetBoostStatusEndpoint_Output> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/campaign/boost/status',\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * @returns any OK\n * @throws ApiError\n */\n public static getCampaignMonitor(): CancelablePromise<any> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/campaign/monitor',\n errors: {\n 400: `Bad Request`,\n },\n });\n }\n /**\n * Pauses the specified campaign.\n * @returns void\n * @throws ApiError\n */\n public static postCampaignPause({\n campaignId,\n }: {\n /**\n * The identifier of the campaign to pause.\n */\n campaignId: string,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/campaign/{campaignId}/pause',\n path: {\n 'campaignId': campaignId,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Queries campaigns with optional filtering, sorting, and pagination.\n * @returns QueryCampaignsEndpoint_PagedResultOfOutput OK\n * @throws ApiError\n */\n public static getCampaigns({\n page,\n pageSize,\n sort,\n id,\n name,\n status,\n priority,\n ownerMail,\n createdAt,\n }: {\n /**\n * The 1-based page index.\n */\n page?: number,\n /**\n * The number of items per page.\n */\n pageSize?: number,\n /**\n * Sort fields. Prefix with - for descending order (e.g. -created_at).\n */\n sort?: Array<'name' | '-name' | 'priority' | '-priority' | 'status' | '-status' | 'created_at' | '-created_at'>,\n /**\n * Filter by id.\n */\n id?: {\n eq?: string;\n neq?: string;\n gt?: string;\n gte?: string;\n lt?: string;\n lte?: string;\n contains?: string;\n starts_with?: string;\n ends_with?: string;\n in?: string;\n not_contains?: string;\n },\n /**\n * Filter by name.\n */\n name?: {\n eq?: string;\n neq?: string;\n gt?: string;\n gte?: string;\n lt?: string;\n lte?: string;\n contains?: string;\n starts_with?: string;\n ends_with?: string;\n in?: string;\n not_contains?: string;\n },\n /**\n * Filter by status.\n */\n status?: {\n eq?: string;\n neq?: string;\n gt?: string;\n gte?: string;\n lt?: string;\n lte?: string;\n contains?: string;\n starts_with?: string;\n ends_with?: string;\n in?: string;\n not_contains?: string;\n },\n /**\n * Filter by priority.\n */\n priority?: {\n eq?: string;\n neq?: string;\n gt?: string;\n gte?: string;\n lt?: string;\n lte?: string;\n contains?: string;\n starts_with?: string;\n ends_with?: string;\n in?: string;\n not_contains?: string;\n },\n /**\n * Filter by owner_mail.\n */\n ownerMail?: {\n eq?: string;\n neq?: string;\n gt?: string;\n gte?: string;\n lt?: string;\n lte?: string;\n contains?: string;\n starts_with?: string;\n ends_with?: string;\n in?: string;\n not_contains?: string;\n },\n /**\n * Filter by created_at.\n */\n createdAt?: {\n eq?: string;\n neq?: string;\n gt?: string;\n gte?: string;\n lt?: string;\n lte?: string;\n contains?: string;\n starts_with?: string;\n ends_with?: string;\n in?: string;\n not_contains?: string;\n },\n }): CancelablePromise<QueryCampaignsEndpoint_PagedResultOfOutput> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/campaigns',\n query: {\n 'page': page,\n 'page_size': pageSize,\n 'sort': sort,\n 'id': id,\n 'name': name,\n 'status': status,\n 'priority': priority,\n 'owner_mail': ownerMail,\n 'created_at': createdAt,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Resumes the specified campaign.\n * @returns void\n * @throws ApiError\n */\n public static postCampaignResume({\n campaignId,\n }: {\n /**\n * The identifier of the campaign to resume.\n */\n campaignId: string,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/campaign/{campaignId}/resume',\n path: {\n 'campaignId': campaignId,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Updates the specified campaign's properties.\n * @returns void\n * @throws ApiError\n */\n public static patchCampaign({\n campaignId,\n requestBody,\n }: {\n /**\n * The identifier of the campaign to update.\n */\n campaignId: string,\n /**\n * The properties to update.\n */\n requestBody: UpdateCampaignEndpoint_Input,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'PATCH',\n url: '/campaign/{campaignId}',\n path: {\n 'campaignId': campaignId,\n },\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ClientModel } from '../models/ClientModel';\nimport type { CreateClientModel } from '../models/CreateClientModel';\nimport type { CreateCustomerClientResult } from '../models/CreateCustomerClientResult';\nimport type { DynamicClientRegistrationRequest } from '../models/DynamicClientRegistrationRequest';\nimport type { PagedResultOfClientsQueryResult } from '../models/PagedResultOfClientsQueryResult';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class ClientService {\n /**\n * Queries the clients for the current customer.\n * A client allows a customer to authenticate with the APIs without using their own credentials.\n * This is useful for creating service accounts or other automated processes,\n * as when using the Rapidata Python SDK.\n * @returns PagedResultOfClientsQueryResult OK\n * @throws ApiError\n */\n public static getClients({\n request,\n }: {\n request?: any,\n }): CancelablePromise<PagedResultOfClientsQueryResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/clients',\n query: {\n 'request': request,\n },\n });\n }\n /**\n * Gets a specific client by its ID.\n * @returns ClientModel OK\n * @throws ApiError\n */\n public static getClient({\n clientId,\n }: {\n /**\n * The ID of the client to retrieve.\n */\n clientId: string,\n }): CancelablePromise<ClientModel> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/client/{clientId}',\n path: {\n 'clientId': clientId,\n },\n });\n }\n /**\n * Deletes a customers' client.\n * @returns void\n * @throws ApiError\n */\n public static deleteClient({\n clientId,\n }: {\n /**\n * The id of the client to delete.\n */\n clientId: string,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/client/{clientId}',\n path: {\n 'clientId': clientId,\n },\n });\n }\n /**\n * Creates a new client for the current customer.\n * @returns CreateCustomerClientResult OK\n * @throws ApiError\n */\n public static postClient({\n requestBody,\n }: {\n /**\n * The model for creating a new client.\n */\n requestBody: CreateClientModel,\n }): CancelablePromise<CreateCustomerClientResult> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/client',\n body: requestBody,\n mediaType: 'application/json',\n });\n }\n /**\n * Registers a new client dynamically.\n * The implementation of this method follows the OpenID Connect Dynamic Client Registration.\n * @returns ClientModel Created\n * @throws ApiError\n */\n public static postClientRegister({\n requestBody,\n }: {\n requestBody: DynamicClientRegistrationRequest,\n }): CancelablePromise<ClientModel> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/client/register',\n body: requestBody,\n mediaType: 'application/json',\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { QueryCustomersEndpoint_PagedResultOfOutput } from '../models/QueryCustomersEndpoint_PagedResultOfOutput';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class CustomerService {\n /**\n * Queries customers with filtering and pagination.\n * Results are scoped to customers that belong to the caller's organization.\n * @returns QueryCustomersEndpoint_PagedResultOfOutput OK\n * @throws ApiError\n */\n public static getCustomers({\n page,\n pageSize,\n sort,\n id,\n email,\n organizationName,\n organizationId,\n }: {\n /**\n * The 1-based page index.\n */\n page?: number,\n /**\n * The number of items per page.\n */\n pageSize?: number,\n /**\n * Sort fields. Prefix with - for descending order (e.g. -created_at).\n */\n sort?: Array<'email' | '-email' | 'organization_name' | '-organization_name'>,\n /**\n * Filter by id.\n */\n id?: {\n eq?: string;\n neq?: string;\n gt?: string;\n gte?: string;\n lt?: string;\n lte?: string;\n contains?: string;\n starts_with?: string;\n ends_with?: string;\n in?: string;\n not_contains?: string;\n },\n /**\n * Filter by email.\n */\n email?: {\n eq?: string;\n neq?: string;\n gt?: string;\n gte?: string;\n lt?: string;\n lte?: string;\n contains?: string;\n starts_with?: string;\n ends_with?: string;\n in?: string;\n not_contains?: string;\n },\n /**\n * Filter by organization_name.\n */\n organizationName?: {\n eq?: string;\n neq?: string;\n gt?: string;\n gte?: string;\n lt?: string;\n lte?: string;\n contains?: string;\n starts_with?: string;\n ends_with?: string;\n in?: string;\n not_contains?: string;\n },\n /**\n * Filter by organization_id.\n */\n organizationId?: {\n eq?: string;\n neq?: string;\n gt?: string;\n gte?: string;\n lt?: string;\n lte?: string;\n contains?: string;\n starts_with?: string;\n ends_with?: string;\n in?: string;\n not_contains?: string;\n },\n }): CancelablePromise<QueryCustomersEndpoint_PagedResultOfOutput> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/customers',\n query: {\n 'page': page,\n 'page_size': pageSize,\n 'sort': sort,\n 'id': id,\n 'email': email,\n 'organization_name': organizationName,\n 'organization_id': organizationId,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { CreateDemographicRapidModel } from '../models/CreateDemographicRapidModel';\nimport type { CreateRapidResult } from '../models/CreateRapidResult';\nimport type { GetPublicResponsesResult } from '../models/GetPublicResponsesResult';\nimport type { GetResponsesForRapidResult } from '../models/GetResponsesForRapidResult';\nimport type { PagedResultOfQueryValidationRapidEligibilityResult } from '../models/PagedResultOfQueryValidationRapidEligibilityResult';\nimport type { PagedResultOfRapidModel } from '../models/PagedResultOfRapidModel';\nimport type { UpdateValidationRapidModel } from '../models/UpdateValidationRapidModel';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class CustomerRapidService {\n /**\n * Allows querying all rapids that have been flagged.\n * @returns PagedResultOfRapidModel OK\n * @throws ApiError\n */\n public static getRapidsFlagged({\n request,\n }: {\n /**\n * The request to use to filter, sort and page the results\n */\n request?: any,\n }): CancelablePromise<PagedResultOfRapidModel> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/rapids/flagged',\n query: {\n 'request': request,\n },\n });\n }\n /**\n * Gets all responses for a given rapid.\n * @returns GetResponsesForRapidResult OK\n * @throws ApiError\n */\n public static getRapidResponses({\n rapidId,\n }: {\n /**\n * The rapid to get the responses for.\n */\n rapidId: string,\n }): CancelablePromise<GetResponsesForRapidResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/rapid/{rapidId}/responses',\n path: {\n 'rapidId': rapidId,\n },\n });\n }\n /**\n * A public endpoint to query the most recent responses globally\n * @returns GetPublicResponsesResult OK\n * @throws ApiError\n */\n public static getRapidGlobalResponses(): CancelablePromise<GetPublicResponsesResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/rapid/global-responses',\n });\n }\n /**\n * Creates a new Demographic Rapid with JSON body.\n * @returns CreateRapidResult OK\n * @throws ApiError\n */\n public static postRapidDemographic({\n requestBody,\n }: {\n /**\n * The model containing the demographic rapid.\n */\n requestBody: CreateDemographicRapidModel,\n }): CancelablePromise<CreateRapidResult> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/rapid/demographic',\n body: requestBody,\n mediaType: 'application/json',\n });\n }\n /**\n * Updates the validation information of a Rapid.\n * @returns void\n * @throws ApiError\n */\n public static patchRapidValidation({\n rapidId,\n requestBody,\n }: {\n /**\n * The id of the rapid to update\n */\n rapidId: string,\n /**\n * The body request\n */\n requestBody: UpdateValidationRapidModel,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'PATCH',\n url: '/rapid/validation/{rapidId}',\n path: {\n 'rapidId': rapidId,\n },\n body: requestBody,\n mediaType: 'application/json',\n });\n }\n /**\n * Unflags a flagged rapid.\n * This will add the rapid back to the active labeling pool and prevent it from being flagged again.\n * @returns void\n * @throws ApiError\n */\n public static postRapidUnflag({\n rapidId,\n }: {\n /**\n * The id of the rapid to unflag\n */\n rapidId: string,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/rapid/{rapidId}/unflag',\n path: {\n 'rapidId': rapidId,\n },\n });\n }\n /**\n * Deletes a rapid.\n * @returns void\n * @throws ApiError\n */\n public static deleteRapid({\n rapidId,\n }: {\n /**\n * The rapid to be deleted\n */\n rapidId: string,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/rapid/{rapidId}',\n path: {\n 'rapidId': rapidId,\n },\n });\n }\n /**\n * Queries rapids that are potentially eligible for validation set creation.\n * @returns PagedResultOfQueryValidationRapidEligibilityResult OK\n * @throws ApiError\n */\n public static getRapidValidationPotential({\n correlationId,\n minResponses,\n minConfidence,\n targetGroupId,\n request,\n }: {\n correlationId: string,\n minResponses?: number,\n minConfidence?: number,\n targetGroupId?: string,\n request?: any,\n }): CancelablePromise<PagedResultOfQueryValidationRapidEligibilityResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/rapid/{correlationId}/validation-potential',\n path: {\n 'correlationId': correlationId,\n },\n query: {\n 'MinResponses': minResponses,\n 'MinConfidence': minConfidence,\n 'TargetGroupId': targetGroupId,\n 'request': request,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { GetDatapointByIdResult } from '../models/GetDatapointByIdResult';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class DatapointService {\n /**\n * Gets a datapoint by its id.\n * @returns GetDatapointByIdResult OK\n * @throws ApiError\n */\n public static getDatapoint({\n datapointId,\n }: {\n /**\n * The id of the datapoint to get.\n */\n datapointId: string,\n }): CancelablePromise<GetDatapointByIdResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/datapoint/{datapointId}',\n path: {\n 'datapointId': datapointId,\n },\n });\n }\n /**\n * Deletes a datapoint by its id.\n * @returns void\n * @throws ApiError\n */\n public static deleteDatapoint({\n datapointId,\n }: {\n /**\n * The id of the datapoint to delete.\n */\n datapointId: string,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/datapoint/{datapointId}',\n path: {\n 'datapointId': datapointId,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { CreateDatapointModel } from '../models/CreateDatapointModel';\nimport type { CreateDatapointResult } from '../models/CreateDatapointResult';\nimport type { CreateDatasetEndpoint_Input } from '../models/CreateDatasetEndpoint_Input';\nimport type { CreateDatasetEndpoint_Output } from '../models/CreateDatasetEndpoint_Output';\nimport type { GetDatasetByIdResult } from '../models/GetDatasetByIdResult';\nimport type { GetDatasetProgressResult } from '../models/GetDatasetProgressResult';\nimport type { GetFailedDatapointsResult } from '../models/GetFailedDatapointsResult';\nimport type { PagedResultOfQueryDatapointsByDatasetIdResult } from '../models/PagedResultOfQueryDatapointsByDatasetIdResult';\nimport type { UpdateDatasetNameModel } from '../models/UpdateDatasetNameModel';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class DatasetService {\n /**\n * Creates a new empty dataset.\n * @returns CreateDatasetEndpoint_Output OK\n * @throws ApiError\n */\n public static postDataset({\n requestBody,\n }: {\n /**\n * The dataset creation parameters.\n */\n requestBody: CreateDatasetEndpoint_Input,\n }): CancelablePromise<CreateDatasetEndpoint_Output> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/dataset',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Gets a dataset by its id.\n * @returns GetDatasetByIdResult OK\n * @throws ApiError\n */\n public static getDataset({\n datasetId,\n }: {\n /**\n * The id of the dataset to get.\n */\n datasetId: string,\n }): CancelablePromise<GetDatasetByIdResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/dataset/{datasetId}',\n path: {\n 'datasetId': datasetId,\n },\n });\n }\n /**\n * Gets all datapoints of a dataset.\n * @returns PagedResultOfQueryDatapointsByDatasetIdResult OK\n * @throws ApiError\n */\n public static getDatasetDatapoints({\n datasetId,\n request,\n }: {\n /**\n * The id of the dataset to get the datapoints of.\n */\n datasetId: string,\n /**\n * The query model to filter, sort, and paginate the results.\n */\n request?: any,\n }): CancelablePromise<PagedResultOfQueryDatapointsByDatasetIdResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/dataset/{datasetId}/datapoints',\n path: {\n 'datasetId': datasetId,\n },\n query: {\n 'request': request,\n },\n });\n }\n /**\n * Gets the upload progress of a dataset.\n * @returns GetDatasetProgressResult OK\n * @throws ApiError\n */\n public static getDatasetProgress({\n datasetId,\n }: {\n /**\n * The id of the dataset to get the progress of.\n */\n datasetId: string,\n }): CancelablePromise<GetDatasetProgressResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/dataset/{datasetId}/progress',\n path: {\n 'datasetId': datasetId,\n },\n });\n }\n /**\n * Gets a list of all datapoints that failed to upload.\n * A datapoint usually fails to upload when using a deferred upload mechanism such as when providing a URL\n * and the URL is not accessible.\n * @returns GetFailedDatapointsResult OK\n * @throws ApiError\n */\n public static getDatasetDatapointsFailed({\n datasetId,\n }: {\n /**\n * The id of the dataset to get the failed datapoints of.\n */\n datasetId: string,\n }): CancelablePromise<GetFailedDatapointsResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/dataset/{datasetId}/datapoints/failed',\n path: {\n 'datasetId': datasetId,\n },\n });\n }\n /**\n * Creates a datapoint with JSON body.\n * @returns CreateDatapointResult OK\n * @throws ApiError\n */\n public static postDatasetDatapoint({\n datasetId,\n requestBody,\n }: {\n /**\n * The id of the dataset to create the datapoint in.\n */\n datasetId: string,\n /**\n * The datapoint model containing asset, metadata, and sort index.\n */\n requestBody: CreateDatapointModel,\n }): CancelablePromise<CreateDatapointResult> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/dataset/{datasetId}/datapoint',\n path: {\n 'datasetId': datasetId,\n },\n body: requestBody,\n mediaType: 'application/json',\n });\n }\n /**\n * Updates the name of a dataset.\n * @returns void\n * @throws ApiError\n */\n public static patchDatasetName({\n datasetId,\n requestBody,\n }: {\n /**\n * The id of the dataset to update.\n */\n datasetId: string,\n /**\n * The body of the request.\n */\n requestBody: UpdateDatasetNameModel,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'PATCH',\n url: '/dataset/{datasetId}/name',\n path: {\n 'datasetId': datasetId,\n },\n body: requestBody,\n mediaType: 'application/json',\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { CreateDatasetGroupEndpoint_Input } from '../models/CreateDatasetGroupEndpoint_Input';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class DatasetGroupService {\n /**\n * Creates a new dataset group.\n * @returns void\n * @throws ApiError\n */\n public static postDatasetGroup({\n datasetId,\n requestBody,\n }: {\n /**\n * The id of the dataset to create the group for.\n */\n datasetId: string,\n /**\n * The dataset group creation parameters.\n */\n requestBody: CreateDatasetGroupEndpoint_Input,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/dataset/{datasetId}/group',\n path: {\n 'datasetId': datasetId,\n },\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { PagedResultOfGetWorkflowResultsResult } from '../models/PagedResultOfGetWorkflowResultsResult';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class EvaluationWorkflowService {\n /**\n * Get the results for an evaluation workflow.\n * @returns PagedResultOfGetWorkflowResultsResult OK\n * @throws ApiError\n */\n public static getWorkflowEvaluationResults({\n workflowId,\n model,\n }: {\n /**\n * The ID of the workflow to get the results for.\n */\n workflowId: string,\n /**\n * The body of the request.\n */\n model?: any,\n }): CancelablePromise<PagedResultOfGetWorkflowResultsResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/workflow/evaluation/{workflowId}/results',\n path: {\n 'workflowId': workflowId,\n },\n query: {\n 'model': model,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { AddExampleToAudienceEndpoint_Input } from '../models/AddExampleToAudienceEndpoint_Input';\nimport type { QueryExamplesForAudienceEndpoint_PagedResultOfOutput } from '../models/QueryExamplesForAudienceEndpoint_PagedResultOfOutput';\nimport type { UpdateAudienceExampleEndpoint_Input } from '../models/UpdateAudienceExampleEndpoint_Input';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class ExamplesService {\n /**\n * Adds a new example to an audience.\n * @returns void\n * @throws ApiError\n */\n public static postAudienceExample({\n audienceId,\n requestBody,\n }: {\n /**\n * The unique identifier of the audience.\n */\n audienceId: string,\n /**\n * The example data to add.\n */\n requestBody: AddExampleToAudienceEndpoint_Input,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/audience/{audienceId}/example',\n path: {\n 'audienceId': audienceId,\n },\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Deletes the specified audience example.\n * @returns void\n * @throws ApiError\n */\n public static deleteAudienceExample({\n exampleId,\n }: {\n /**\n * The unique identifier of the example to delete.\n */\n exampleId: string,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/audience/example/{exampleId}',\n path: {\n 'exampleId': exampleId,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Queries all examples for the specified audience.\n * @returns QueryExamplesForAudienceEndpoint_PagedResultOfOutput OK\n * @throws ApiError\n */\n public static getAudienceExamples({\n audienceId,\n page,\n pageSize,\n }: {\n /**\n * The unique identifier of the audience.\n */\n audienceId: string,\n /**\n * The 1-based page index.\n */\n page?: number,\n /**\n * The number of items per page.\n */\n pageSize?: number,\n }): CancelablePromise<QueryExamplesForAudienceEndpoint_PagedResultOfOutput> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/audience/{audienceId}/examples',\n path: {\n 'audienceId': audienceId,\n },\n query: {\n 'page': page,\n 'page_size': pageSize,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Updates an example's properties within an audience.\n * @returns void\n * @throws ApiError\n */\n public static patchAudienceExample({\n audienceId,\n exampleId,\n requestBody,\n }: {\n /**\n * The unique identifier of the audience.\n */\n audienceId: string,\n /**\n * The unique identifier of the example to update.\n */\n exampleId: string,\n /**\n * The example properties to update.\n */\n requestBody: UpdateAudienceExampleEndpoint_Input,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'PATCH',\n url: '/audience/{audienceId}/example/{exampleId}',\n path: {\n 'audienceId': audienceId,\n 'exampleId': exampleId,\n },\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { FeedbackModel } from '../models/FeedbackModel';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class FeedbackService {\n /**\n * Submits feedback about our services.\n * @returns void\n * @throws ApiError\n */\n public static postFeedback({\n requestBody,\n }: {\n /**\n * The body content of the request\n */\n requestBody: FeedbackModel,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/feedback',\n body: requestBody,\n mediaType: 'application/json',\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { GetCompletionTimeHistogramEndpoint_Output } from '../models/GetCompletionTimeHistogramEndpoint_Output';\nimport type { GetFlowByIdEndpoint_Output } from '../models/GetFlowByIdEndpoint_Output';\nimport type { GetFlowItemCreationTimeseriesEndpoint_Output } from '../models/GetFlowItemCreationTimeseriesEndpoint_Output';\nimport type { GetResponseCountHistogramEndpoint_Output } from '../models/GetResponseCountHistogramEndpoint_Output';\nimport type { GetResponseCountTimeseriesEndpoint_Output } from '../models/GetResponseCountTimeseriesEndpoint_Output';\nimport type { QueryFlowsEndpoint_PagedResultOfOutput } from '../models/QueryFlowsEndpoint_PagedResultOfOutput';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class FlowService {\n /**\n * Deletes a flow.\n * @returns void\n * @throws ApiError\n */\n public static deleteFlow({\n flowId,\n }: {\n /**\n * The ID of the flow to delete.\n */\n flowId: string,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/flow/{flowId}',\n path: {\n 'flowId': flowId,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Retrieves a flow by its ID.\n * @returns GetFlowByIdEndpoint_Output OK\n * @throws ApiError\n */\n public static getFlow({\n flowId,\n }: {\n /**\n * The ID of the flow to retrieve.\n */\n flowId: string,\n }): CancelablePromise<GetFlowByIdEndpoint_Output> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/flow/{flowId}',\n path: {\n 'flowId': flowId,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Returns the distribution of completion durations (in seconds) per completed flow item.\n * @returns GetCompletionTimeHistogramEndpoint_Output OK\n * @throws ApiError\n */\n public static getFlowRankingCompletionTimeHistogram({\n flowId,\n from,\n to,\n bucketCount,\n }: {\n /**\n * The ID of the flow.\n */\n flowId: string,\n /**\n * Optional start of the date range filter (inclusive).\n */\n from?: string,\n /**\n * Optional end of the date range filter (inclusive).\n */\n to?: string,\n /**\n * Number of histogram buckets (default 10, max 100).\n */\n bucketCount?: number,\n }): CancelablePromise<GetCompletionTimeHistogramEndpoint_Output> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/flow/ranking/{flowId}/completion-time-histogram',\n path: {\n 'flowId': flowId,\n },\n query: {\n 'from': from,\n 'to': to,\n 'bucketCount': bucketCount,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Returns flow item creation counts bucketed over time.\n * @returns GetFlowItemCreationTimeseriesEndpoint_Output OK\n * @throws ApiError\n */\n public static getFlowRankingFlowItemCreationTimeseries({\n flowId,\n from,\n to,\n datapoints,\n }: {\n /**\n * The ID of the flow.\n */\n flowId: string,\n /**\n * Optional start of the date range filter (inclusive).\n */\n from?: string,\n /**\n * Optional end of the date range filter (exclusive).\n */\n to?: string,\n /**\n * Number of time buckets (default 100, max 1000).\n */\n datapoints?: number,\n }): CancelablePromise<GetFlowItemCreationTimeseriesEndpoint_Output> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/flow/ranking/{flowId}/flow-item-creation-timeseries',\n path: {\n 'flowId': flowId,\n },\n query: {\n 'from': from,\n 'to': to,\n 'datapoints': datapoints,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Returns the distribution of total votes per completed flow item.\n * @returns GetResponseCountHistogramEndpoint_Output OK\n * @throws ApiError\n */\n public static getFlowRankingResponseCountHistogram({\n flowId,\n from,\n to,\n bucketCount,\n }: {\n /**\n * The ID of the flow.\n */\n flowId: string,\n /**\n * Optional start of the date range filter (inclusive).\n */\n from?: string,\n /**\n * Optional end of the date range filter (inclusive).\n */\n to?: string,\n /**\n * Number of histogram buckets (default 10, max 100).\n */\n bucketCount?: number,\n }): CancelablePromise<GetResponseCountHistogramEndpoint_Output> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/flow/ranking/{flowId}/response-count-histogram',\n path: {\n 'flowId': flowId,\n },\n query: {\n 'from': from,\n 'to': to,\n 'bucketCount': bucketCount,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Returns average response counts bucketed over time for completed flow items.\n * @returns GetResponseCountTimeseriesEndpoint_Output OK\n * @throws ApiError\n */\n public static getFlowRankingResponseCountTimeseries({\n flowId,\n from,\n to,\n datapoints,\n }: {\n /**\n * The ID of the flow.\n */\n flowId: string,\n /**\n * Optional start of the date range filter (inclusive).\n */\n from?: string,\n /**\n * Optional end of the date range filter (exclusive).\n */\n to?: string,\n /**\n * Number of time buckets (default 100, max 1000).\n */\n datapoints?: number,\n }): CancelablePromise<GetResponseCountTimeseriesEndpoint_Output> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/flow/ranking/{flowId}/response-count-timeseries',\n path: {\n 'flowId': flowId,\n },\n query: {\n 'from': from,\n 'to': to,\n 'datapoints': datapoints,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Queries flows with filtering and pagination.\n * @returns QueryFlowsEndpoint_PagedResultOfOutput OK\n * @throws ApiError\n */\n public static getFlow1({\n page,\n pageSize,\n sort,\n name,\n createdAt,\n }: {\n /**\n * The 1-based page index.\n */\n page?: number,\n /**\n * The number of items per page.\n */\n pageSize?: number,\n /**\n * Sort fields. Prefix with - for descending order (e.g. -created_at).\n */\n sort?: Array<'name' | '-name' | 'created_at' | '-created_at'>,\n /**\n * Filter by name.\n */\n name?: {\n eq?: string;\n neq?: string;\n gt?: string;\n gte?: string;\n lt?: string;\n lte?: string;\n contains?: string;\n starts_with?: string;\n ends_with?: string;\n in?: string;\n not_contains?: string;\n },\n /**\n * Filter by created_at.\n */\n createdAt?: {\n eq?: string;\n neq?: string;\n gt?: string;\n gte?: string;\n lt?: string;\n lte?: string;\n contains?: string;\n starts_with?: string;\n ends_with?: string;\n in?: string;\n not_contains?: string;\n },\n }): CancelablePromise<QueryFlowsEndpoint_PagedResultOfOutput> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/flow',\n query: {\n 'page': page,\n 'page_size': pageSize,\n 'sort': sort,\n 'name': name,\n 'created_at': createdAt,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class FlowItemService {\n /**\n * Stops the specified flow item and triggers partial result processing.\n * @returns void\n * @throws ApiError\n */\n public static postFlowItemStop({\n flowItemId,\n }: {\n /**\n * The ID of the flow item to stop.\n */\n flowItemId: string,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/flow/item/{flowItemId}/stop',\n path: {\n 'flowItemId': flowItemId,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { PagedResultOfGetGroupedRankingWorkflowResultsResult } from '../models/PagedResultOfGetGroupedRankingWorkflowResultsResult';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class GroupedRankingWorkflowService {\n /**\n * Get the result overview for a multi ranking workflow.\n * @returns PagedResultOfGetGroupedRankingWorkflowResultsResult OK\n * @throws ApiError\n */\n public static getWorkflowGroupedRankingResults({\n workflowId,\n model,\n }: {\n /**\n * The ID of the workflow to get the results for.\n */\n workflowId: string,\n /**\n * The model for the request.\n */\n model?: any,\n }): CancelablePromise<PagedResultOfGetGroupedRankingWorkflowResultsResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/workflow/grouped-ranking/{workflowId}/results',\n path: {\n 'workflowId': workflowId,\n },\n query: {\n 'model': model,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { CreateBridgeTokenResult } from '../models/CreateBridgeTokenResult';\nimport type { GoogleOneTapLoginModel } from '../models/GoogleOneTapLoginModel';\nimport type { NotAvailableYetResult } from '../models/NotAvailableYetResult';\nimport type { ReadBridgeTokenKeysResult } from '../models/ReadBridgeTokenKeysResult';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class IdentityService {\n /**\n * Creates a pair of read and write keys for a client.\n * The write key is used to store the authentication result.\n * The read key is used to retrieve the authentication result.\n * @returns CreateBridgeTokenResult OK\n * @throws ApiError\n */\n public static postIdentityBridgeToken({\n clientId,\n }: {\n /**\n * The client ID to create the keys for.\n */\n clientId?: string,\n }): CancelablePromise<CreateBridgeTokenResult> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/identity/bridge-token',\n query: {\n 'clientId': clientId,\n },\n });\n }\n /**\n * Tries to read the bridge token keys for a given read key.\n * The read key is used to retrieve the authentication result written by the write key.\n * @returns ReadBridgeTokenKeysResult OK\n * @returns NotAvailableYetResult Accepted\n * @throws ApiError\n */\n public static getIdentityBridgeToken({\n readKey,\n }: {\n /**\n * The read key to read the bridge token keys for.\n */\n readKey?: string,\n }): CancelablePromise<ReadBridgeTokenKeysResult | NotAvailableYetResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/identity/bridge-token',\n query: {\n 'readKey': readKey,\n },\n });\n }\n /**\n * Sets the referrer for the current customer.\n * @returns void\n * @throws ApiError\n */\n public static postIdentityReferrer({\n referrer,\n }: {\n referrer?: string,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/identity/referrer',\n query: {\n 'referrer': referrer,\n },\n });\n }\n /**\n * Signs in a user using a token received from Google One Tap.\n * @returns void\n * @throws ApiError\n */\n public static postIdentityGoogleOneTap({\n requestBody,\n }: {\n /**\n * The body of the request containing the id token.\n */\n requestBody: GoogleOneTapLoginModel,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/identity/google-one-tap',\n body: requestBody,\n mediaType: 'application/json',\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { CreateJobDefinitionEndpoint_Input } from '../models/CreateJobDefinitionEndpoint_Input';\nimport type { CreateJobDefinitionEndpoint_Output } from '../models/CreateJobDefinitionEndpoint_Output';\nimport type { CreateJobEndpoint_Input } from '../models/CreateJobEndpoint_Input';\nimport type { CreateJobEndpoint_Output } from '../models/CreateJobEndpoint_Output';\nimport type { CreateJobRevisionEndpoint_Input } from '../models/CreateJobRevisionEndpoint_Input';\nimport type { CreateJobRevisionEndpoint_Output } from '../models/CreateJobRevisionEndpoint_Output';\nimport type { GetJobByIdEndpoint_Output } from '../models/GetJobByIdEndpoint_Output';\nimport type { GetJobDefinitionByIdEndpoint_Output } from '../models/GetJobDefinitionByIdEndpoint_Output';\nimport type { GetJobRevisionEndpoint_Output } from '../models/GetJobRevisionEndpoint_Output';\nimport type { PagedResultOfQueryJobDefinitionsResult } from '../models/PagedResultOfQueryJobDefinitionsResult';\nimport type { PagedResultOfQueryJobRevisionsResult } from '../models/PagedResultOfQueryJobRevisionsResult';\nimport type { PagedResultOfQueryJobsResult } from '../models/PagedResultOfQueryJobsResult';\nimport type { UpdateJobDefinitionEndpoint_Input } from '../models/UpdateJobDefinitionEndpoint_Input';\nimport type { UpdateJobEndpoint_Input } from '../models/UpdateJobEndpoint_Input';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class JobService {\n /**\n * Creates a new job definition.\n * A preview pipeline is automatically created and returned in the response.\n * @returns CreateJobDefinitionEndpoint_Output OK\n * @throws ApiError\n */\n public static postJobDefinition({\n requestBody,\n }: {\n /**\n * The job definition parameters.\n */\n requestBody: CreateJobDefinitionEndpoint_Input,\n }): CancelablePromise<CreateJobDefinitionEndpoint_Output> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/job/definition',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Creates a new job from a job definition and audience.\n * If the audience is not already recruiting, recruiting is started automatically.\n * The RecruitingStarted field indicates whether this happened.\n * @returns CreateJobEndpoint_Output OK\n * @throws ApiError\n */\n public static postJob({\n requestBody,\n }: {\n /**\n * The job creation parameters.\n */\n requestBody: CreateJobEndpoint_Input,\n }): CancelablePromise<CreateJobEndpoint_Output> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/job',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Creates a new revision for an existing job definition.\n * Unspecified fields are inherited from the previous revision. Workflow and Referee must be\n * provided together if either is specified.\n * @returns CreateJobRevisionEndpoint_Output OK\n * @throws ApiError\n */\n public static postJobDefinitionRevision({\n definitionId,\n requestBody,\n }: {\n /**\n * The id of the job definition to create a revision for.\n */\n definitionId: string,\n /**\n * The revision parameters.\n */\n requestBody: CreateJobRevisionEndpoint_Input,\n }): CancelablePromise<CreateJobRevisionEndpoint_Output> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/job/definition/{definitionId}/revision',\n path: {\n 'definitionId': definitionId,\n },\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Gets the latest revision for a job definition.\n * @returns GetJobRevisionEndpoint_Output OK\n * @throws ApiError\n */\n public static getJobDefinitionRevision({\n definitionId,\n }: {\n /**\n * The id of the job definition.\n */\n definitionId: string,\n }): CancelablePromise<GetJobRevisionEndpoint_Output> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/job/definition/{definitionId}/revision',\n path: {\n 'definitionId': definitionId,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Deletes a job definition and all its revisions.\n * @returns void\n * @throws ApiError\n */\n public static deleteJobDefinition({\n definitionId,\n }: {\n /**\n * The id of the job definition to delete.\n */\n definitionId: string,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/job/definition/{definitionId}',\n path: {\n 'definitionId': definitionId,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Gets a job definition by its id.\n * @returns GetJobDefinitionByIdEndpoint_Output OK\n * @throws ApiError\n */\n public static getJobDefinition({\n definitionId,\n }: {\n /**\n * The id of the job definition to retrieve.\n */\n definitionId: string,\n }): CancelablePromise<GetJobDefinitionByIdEndpoint_Output> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/job/definition/{definitionId}',\n path: {\n 'definitionId': definitionId,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Updates a job definition.\n * @returns void\n * @throws ApiError\n */\n public static patchJobDefinition({\n definitionId,\n requestBody,\n }: {\n /**\n * The id of the job definition to update.\n */\n definitionId: string,\n /**\n * The fields to update.\n */\n requestBody: UpdateJobDefinitionEndpoint_Input,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'PATCH',\n url: '/job/definition/{definitionId}',\n path: {\n 'definitionId': definitionId,\n },\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Deletes a job.\n * @returns void\n * @throws ApiError\n */\n public static deleteJob({\n jobId,\n }: {\n /**\n * The id of the job to delete.\n */\n jobId: string,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/job/{jobId}',\n path: {\n 'jobId': jobId,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Gets a job by its id.\n * @returns GetJobByIdEndpoint_Output OK\n * @throws ApiError\n */\n public static getJob({\n jobId,\n }: {\n /**\n * The id of the job to retrieve.\n */\n jobId: string,\n }): CancelablePromise<GetJobByIdEndpoint_Output> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/job/{jobId}',\n path: {\n 'jobId': jobId,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Updates a job.\n * @returns void\n * @throws ApiError\n */\n public static patchJob({\n jobId,\n requestBody,\n }: {\n /**\n * The id of the job to update.\n */\n jobId: string,\n /**\n * The fields to update.\n */\n requestBody: UpdateJobEndpoint_Input,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'PATCH',\n url: '/job/{jobId}',\n path: {\n 'jobId': jobId,\n },\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Downloads the results of a job as a file attachment.\n * @returns binary OK\n * @throws ApiError\n */\n public static getJobDownloadResults({\n jobId,\n }: {\n /**\n * The id of the job to download results for.\n */\n jobId: string,\n }): CancelablePromise<Blob> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/job/{jobId}/download-results',\n path: {\n 'jobId': jobId,\n },\n errors: {\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Gets the results of a job as a JSON string.\n * For file download, use the download-results endpoint instead.\n * @returns string OK\n * @throws ApiError\n */\n public static getJobResults({\n jobId,\n }: {\n /**\n * The id of the job to get results for.\n */\n jobId: string,\n }): CancelablePromise<string> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/job/{jobId}/results',\n path: {\n 'jobId': jobId,\n },\n errors: {\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Gets a specific revision for a job definition.\n * @returns GetJobRevisionEndpoint_Output OK\n * @throws ApiError\n */\n public static getJobDefinitionRevision1({\n definitionId,\n revisionNumber,\n }: {\n /**\n * The id of the job definition.\n */\n definitionId: string,\n /**\n * The revision number to retrieve.\n */\n revisionNumber: number,\n }): CancelablePromise<GetJobRevisionEndpoint_Output> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/job/definition/{definitionId}/revision/{revisionNumber}',\n path: {\n 'definitionId': definitionId,\n 'revisionNumber': revisionNumber,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Queries job definitions based on filter, page, and sort criteria.\n * @returns PagedResultOfQueryJobDefinitionsResult OK\n * @throws ApiError\n */\n public static getJobDefinitions({\n request,\n }: {\n /**\n * The parameters for filtering, paging, and sorting\n */\n request?: any,\n }): CancelablePromise<PagedResultOfQueryJobDefinitionsResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/job/definitions',\n query: {\n 'request': request,\n },\n });\n }\n /**\n * Queries job revisions for a specific definition based on filter, page, and sort criteria.\n * @returns PagedResultOfQueryJobRevisionsResult OK\n * @throws ApiError\n */\n public static getJobDefinitionRevisions({\n definitionId,\n request,\n }: {\n /**\n * The id of the job definition\n */\n definitionId: string,\n /**\n * The parameters for filtering, paging, and sorting\n */\n request?: any,\n }): CancelablePromise<PagedResultOfQueryJobRevisionsResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/job/definition/{definitionId}/revisions',\n path: {\n 'definitionId': definitionId,\n },\n query: {\n 'request': request,\n },\n });\n }\n /**\n * Queries jobs based on filter, page, and sort criteria.\n * @returns PagedResultOfQueryJobsResult OK\n * @throws ApiError\n */\n public static getJobs({\n request,\n }: {\n /**\n * The parameters for filtering, paging, and sorting\n */\n request?: any,\n }): CancelablePromise<PagedResultOfQueryJobsResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/jobs',\n query: {\n 'request': request,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { BoostLeaderboardModel } from '../models/BoostLeaderboardModel';\nimport type { CreateLeaderboardModel } from '../models/CreateLeaderboardModel';\nimport type { CreateLeaderboardResult } from '../models/CreateLeaderboardResult';\nimport type { GetCombinedLeaderboardMatrixEndpoint_Output } from '../models/GetCombinedLeaderboardMatrixEndpoint_Output';\nimport type { GetCombinedLeaderboardStandingsEndpoint_Output } from '../models/GetCombinedLeaderboardStandingsEndpoint_Output';\nimport type { GetLeaderboardByIdResult } from '../models/GetLeaderboardByIdResult';\nimport type { GetStandingByIdResult } from '../models/GetStandingByIdResult';\nimport type { PagedResultOfLeaderboardsQueryResult } from '../models/PagedResultOfLeaderboardsQueryResult';\nimport type { PagedResultOfRunsByLeaderboardResult } from '../models/PagedResultOfRunsByLeaderboardResult';\nimport type { StandingsByLeaderboardResult } from '../models/StandingsByLeaderboardResult';\nimport type { SubmitParticipantResult } from '../models/SubmitParticipantResult';\nimport type { UpdateLeaderboardModel } from '../models/UpdateLeaderboardModel';\nimport type { VoteMatrixResult } from '../models/VoteMatrixResult';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class LeaderboardService {\n /**\n * Returns the combined pairwise vote matrix for multiple leaderboards.\n * @returns GetCombinedLeaderboardMatrixEndpoint_Output OK\n * @throws ApiError\n */\n public static getLeaderboardCombinedMatrix({\n leaderboardIds,\n useWeightedScoring = false,\n }: {\n /**\n * The identifiers of the leaderboards to combine.\n */\n leaderboardIds: Array<string>,\n /**\n * Whether to apply weighted scoring to the matrix values.\n */\n useWeightedScoring?: boolean,\n }): CancelablePromise<GetCombinedLeaderboardMatrixEndpoint_Output> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/leaderboard/combined-matrix',\n query: {\n 'leaderboardIds': leaderboardIds,\n 'useWeightedScoring': useWeightedScoring,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Returns the combined standings for multiple leaderboards.\n * @returns GetCombinedLeaderboardStandingsEndpoint_Output OK\n * @throws ApiError\n */\n public static getLeaderboardCombinedStandings({\n leaderboardIds,\n useWeightedScoring = false,\n includeConfidenceIntervals = false,\n }: {\n /**\n * The identifiers of the leaderboards to combine.\n */\n leaderboardIds: Array<string>,\n /**\n * Whether to apply weighted scoring.\n */\n useWeightedScoring?: boolean,\n /**\n * Whether to include confidence intervals in results.\n */\n includeConfidenceIntervals?: boolean,\n }): CancelablePromise<GetCombinedLeaderboardStandingsEndpoint_Output> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/leaderboard/combined-standings',\n query: {\n 'leaderboardIds': leaderboardIds,\n 'useWeightedScoring': useWeightedScoring,\n 'includeConfidenceIntervals': includeConfidenceIntervals,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Returns the pairwise vote matrix for a leaderboard.\n * The matrix is returned in pandas split format.\n * @returns VoteMatrixResult OK\n * @throws ApiError\n */\n public static getLeaderboardMatrix({\n leaderboardId,\n tags,\n useWeightedScoring = false,\n }: {\n /**\n * The identifier of the leaderboard.\n */\n leaderboardId: string,\n /**\n * Optional tags to filter the matrix entries.\n */\n tags?: Array<string>,\n /**\n * Whether to apply weighted scoring to the matrix values.\n */\n useWeightedScoring?: boolean,\n }): CancelablePromise<VoteMatrixResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/leaderboard/{leaderboardId}/matrix',\n path: {\n 'leaderboardId': leaderboardId,\n },\n query: {\n 'tags': tags,\n 'useWeightedScoring': useWeightedScoring,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Queries all leaderboards for a specific benchmark.\n * @returns PagedResultOfLeaderboardsQueryResult OK\n * @throws ApiError\n */\n public static getLeaderboards({\n request,\n }: {\n /**\n * Query parameters\n */\n request?: any,\n }): CancelablePromise<PagedResultOfLeaderboardsQueryResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/leaderboards',\n query: {\n 'request': request,\n },\n });\n }\n /**\n * Gets a leaderboard by its ID.\n * @returns GetLeaderboardByIdResult OK\n * @throws ApiError\n */\n public static getLeaderboard({\n leaderboardId,\n }: {\n leaderboardId: string,\n }): CancelablePromise<GetLeaderboardByIdResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/leaderboard/{leaderboardId}',\n path: {\n 'leaderboardId': leaderboardId,\n },\n });\n }\n /**\n * Updates the response config of a leaderboard.\n * @returns void\n * @throws ApiError\n */\n public static patchLeaderboard({\n leaderboardId,\n requestBody,\n }: {\n leaderboardId: string,\n requestBody: UpdateLeaderboardModel,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'PATCH',\n url: '/leaderboard/{leaderboardId}',\n path: {\n 'leaderboardId': leaderboardId,\n },\n body: requestBody,\n mediaType: 'application/json',\n });\n }\n /**\n * Deletes a leaderboard by its ID.\n * @returns void\n * @throws ApiError\n */\n public static deleteLeaderboard({\n leaderboardId,\n }: {\n /**\n * The id of the leaderboard that gets deleted\n */\n leaderboardId: string,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/leaderboard/{leaderboardId}',\n path: {\n 'leaderboardId': leaderboardId,\n },\n });\n }\n /**\n * Creates a new leaderboard with the specified name and criteria.\n * @returns CreateLeaderboardResult OK\n * @throws ApiError\n */\n public static postLeaderboard({\n requestBody,\n }: {\n requestBody: CreateLeaderboardModel,\n }): CancelablePromise<CreateLeaderboardResult> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/leaderboard',\n body: requestBody,\n mediaType: 'application/json',\n });\n }\n /**\n * queries all the participants connected to leaderboard by its ID.\n * @returns StandingsByLeaderboardResult OK\n * @throws ApiError\n */\n public static getLeaderboardStandings({\n leaderboardId,\n tags,\n useWeightedScoring = false,\n includeConfidenceIntervals = false,\n }: {\n /**\n * The id of the leaderboard, which standings should be queried\n */\n leaderboardId: string,\n /**\n * The tags the leaderboard should filter for.\n */\n tags?: Array<string>,\n /**\n * Whether to use weighted scoring based on user scores (defaults to false for backwards compatibility)\n */\n useWeightedScoring?: boolean,\n /**\n * Whether to include the confidence intervals\n */\n includeConfidenceIntervals?: boolean,\n }): CancelablePromise<StandingsByLeaderboardResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/leaderboard/{leaderboardId}/standings',\n path: {\n 'leaderboardId': leaderboardId,\n },\n query: {\n 'tags': tags,\n 'useWeightedScoring': useWeightedScoring,\n 'includeConfidenceIntervals': includeConfidenceIntervals,\n },\n });\n }\n /**\n * Gets the runs related to a leaderboard\n * @returns PagedResultOfRunsByLeaderboardResult OK\n * @throws ApiError\n */\n public static getLeaderboardRuns({\n leaderboardId,\n request,\n }: {\n leaderboardId: string,\n request?: any,\n }): CancelablePromise<PagedResultOfRunsByLeaderboardResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/leaderboard/{leaderboardId}/runs',\n path: {\n 'leaderboardId': leaderboardId,\n },\n query: {\n 'request': request,\n },\n });\n }\n /**\n * Gets a standing by leaderboardId and participantId.\n * @returns GetStandingByIdResult OK\n * @throws ApiError\n */\n public static getBenchmarkStanding({\n leaderboardId,\n participantId,\n }: {\n leaderboardId: string,\n participantId: string,\n }): CancelablePromise<GetStandingByIdResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/benchmark/standing/{leaderboardId}/{participantId}',\n path: {\n 'leaderboardId': leaderboardId,\n 'participantId': participantId,\n },\n });\n }\n /**\n * Boosts a subset of participants within a leaderboard.\n * @returns SubmitParticipantResult OK\n * @throws ApiError\n */\n public static postLeaderboardBoost({\n leaderboardId,\n requestBody,\n }: {\n /**\n * the leaderboard that should be boosted\n */\n leaderboardId: string,\n requestBody: BoostLeaderboardModel,\n }): CancelablePromise<SubmitParticipantResult> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/leaderboard/{leaderboardId}/boost',\n path: {\n 'leaderboardId': leaderboardId,\n },\n body: requestBody,\n mediaType: 'application/json',\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { NewsletterModel } from '../models/NewsletterModel';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class NewsletterService {\n /**\n * Signs a user up to the newsletter.\n * @returns void\n * @throws ApiError\n */\n public static postNewsletterSubscribe({\n requestBody,\n }: {\n /**\n * The model containing the email of a user and recaptcha token.\n */\n requestBody: NewsletterModel,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/newsletter/subscribe',\n body: requestBody,\n mediaType: 'application/json',\n });\n }\n /**\n * Unsubscribes a user from the newsletter.\n * @returns void\n * @throws ApiError\n */\n public static postNewsletterUnsubscribe({\n requestBody,\n }: {\n /**\n * The model containing the email of a user and recaptcha token.\n */\n requestBody: NewsletterModel,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/newsletter/unsubscribe',\n body: requestBody,\n mediaType: 'application/json',\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { CloneOrderEndpoint_Input } from '../models/CloneOrderEndpoint_Input';\nimport type { CloneOrderEndpoint_Output } from '../models/CloneOrderEndpoint_Output';\nimport type { CreateComplexOrderEndpoint_Input } from '../models/CreateComplexOrderEndpoint_Input';\nimport type { CreateComplexOrderEndpoint_Output } from '../models/CreateComplexOrderEndpoint_Output';\nimport type { CreateOrderEndpoint_Output } from '../models/CreateOrderEndpoint_Output';\nimport type { CreateOrderModel } from '../models/CreateOrderModel';\nimport type { CreateUnsupportedOrderEndpoint_Input } from '../models/CreateUnsupportedOrderEndpoint_Input';\nimport type { GetOrderByIdEndpoint_Output } from '../models/GetOrderByIdEndpoint_Output';\nimport type { GetPublicOrdersEndpoint_Output } from '../models/GetPublicOrdersEndpoint_Output';\nimport type { PreviewOrderEndpoint_Input } from '../models/PreviewOrderEndpoint_Input';\nimport type { QueryAggregatedOrdersEndpoint_PagedResultOfOutput } from '../models/QueryAggregatedOrdersEndpoint_PagedResultOfOutput';\nimport type { QueryOrdersEndpoint_PagedResultOfOutput } from '../models/QueryOrdersEndpoint_PagedResultOfOutput';\nimport type { SubmitOrderEndpoint_Input } from '../models/SubmitOrderEndpoint_Input';\nimport type { UnlockOrderEndpoint_Output } from '../models/UnlockOrderEndpoint_Output';\nimport type { UpdateOrderEndpoint_Input } from '../models/UpdateOrderEndpoint_Input';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class OrderService {\n /**\n * Approves a submitted order so the pipeline can start processing it.\n * @returns void\n * @throws ApiError\n */\n public static postOrderApprove({\n orderId,\n }: {\n /**\n * The ID of the order to approve.\n */\n orderId: string,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/order/{orderId}/approve',\n path: {\n 'orderId': orderId,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Clones an existing public order.\n * The order to clone must be marked as public.\n * @returns CloneOrderEndpoint_Output OK\n * @throws ApiError\n */\n public static postOrderClone({\n orderId,\n requestBody,\n }: {\n /**\n * The ID of the order to clone.\n */\n orderId: string,\n /**\n * The clone order details.\n */\n requestBody: CloneOrderEndpoint_Input,\n }): CancelablePromise<CloneOrderEndpoint_Output> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/order/{orderId}/clone',\n path: {\n 'orderId': orderId,\n },\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Creates a new order with a custom pipeline configuration.\n * @returns CreateComplexOrderEndpoint_Output OK\n * @throws ApiError\n */\n public static postOrderComplex({\n requestBody,\n }: {\n /**\n * The complex order creation details.\n */\n requestBody: CreateComplexOrderEndpoint_Input,\n }): CancelablePromise<CreateComplexOrderEndpoint_Output> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/order/complex',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Creates a new order with the given configuration.\n * Once created, use the returned dataset ID to fill the dataset with datapoints,\n * then submit the order for processing.\n * @returns CreateOrderEndpoint_Output OK\n * @throws ApiError\n */\n public static postOrder({\n requestBody,\n }: {\n /**\n * The order creation configuration.\n */\n requestBody: CreateOrderModel,\n }): CancelablePromise<CreateOrderEndpoint_Output> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/order',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Creates a notification for an unsupported order type.\n * @returns void\n * @throws ApiError\n */\n public static postOrderUnsupported({\n requestBody,\n }: {\n /**\n * The unsupported order details.\n */\n requestBody: CreateUnsupportedOrderEndpoint_Input,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/order/unsupported',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Deletes an order and its associated resources.\n * @returns void\n * @throws ApiError\n */\n public static deleteOrder({\n orderId,\n }: {\n /**\n * The ID of the order to delete.\n */\n orderId: string,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/order/{orderId}',\n path: {\n 'orderId': orderId,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Retrieves the details of a specific order.\n * @returns GetOrderByIdEndpoint_Output OK\n * @throws ApiError\n */\n public static getOrder({\n orderId,\n }: {\n /**\n * The ID of the order.\n */\n orderId: string,\n }): CancelablePromise<GetOrderByIdEndpoint_Output> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/order/{orderId}',\n path: {\n 'orderId': orderId,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Updates the name or preceding order of an order.\n * @returns void\n * @throws ApiError\n */\n public static patchOrder({\n orderId,\n requestBody,\n }: {\n /**\n * The ID of the order to update.\n */\n orderId: string,\n /**\n * The properties to update.\n */\n requestBody: UpdateOrderEndpoint_Input,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'PATCH',\n url: '/order/{orderId}',\n path: {\n 'orderId': orderId,\n },\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Aggregates the results of an order and returns them as a file attachment.\n * @returns binary OK\n * @throws ApiError\n */\n public static getOrderDownloadResults({\n orderId,\n }: {\n /**\n * The ID of the order.\n */\n orderId: string,\n }): CancelablePromise<Blob> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/order/{orderId}/download-results',\n path: {\n 'orderId': orderId,\n },\n errors: {\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Aggregates the results of an order and returns them as a JSON string.\n * For file download, use the download-results endpoint instead.\n * @returns string OK\n * @throws ApiError\n */\n public static getOrderResults({\n orderId,\n }: {\n /**\n * The ID of the order.\n */\n orderId: string,\n }): CancelablePromise<string> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/order/{orderId}/results',\n path: {\n 'orderId': orderId,\n },\n errors: {\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Retrieves all publicly available orders.\n * @returns GetPublicOrdersEndpoint_Output OK\n * @throws ApiError\n */\n public static getOrdersPublic(): CancelablePromise<GetPublicOrdersEndpoint_Output> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/orders/public',\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Marks or unmarks an order as a demo.\n * @returns void\n * @throws ApiError\n */\n public static patchOrderDemo({\n orderId,\n isDemo = true,\n }: {\n /**\n * The ID of the order.\n */\n orderId: string,\n /**\n * Whether to mark or unmark the order as a demo.\n */\n isDemo?: boolean,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'PATCH',\n url: '/order/{orderId}/demo',\n path: {\n 'orderId': orderId,\n },\n query: {\n 'isDemo': isDemo,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Pauses an order, stopping all campaigns from processing.\n * @returns void\n * @throws ApiError\n */\n public static postOrderPause({\n orderId,\n }: {\n /**\n * The ID of the order to pause.\n */\n orderId: string,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/order/{orderId}/pause',\n path: {\n 'orderId': orderId,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Starts preview mode for an order so labelers' experience can be inspected.\n * @returns void\n * @throws ApiError\n */\n public static postOrderPreview({\n orderId,\n requestBody,\n }: {\n /**\n * The ID of the order to preview.\n */\n orderId: string,\n /**\n * Optional preview configuration.\n */\n requestBody?: PreviewOrderEndpoint_Input,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/order/{orderId}/preview',\n path: {\n 'orderId': orderId,\n },\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Retrieves orders aggregated by customer with total amounts and most recent order information.\n * @returns QueryAggregatedOrdersEndpoint_PagedResultOfOutput OK\n * @throws ApiError\n */\n public static getOrdersAggregatedOverview({\n page,\n pageSize,\n sort,\n customerMail,\n lastOrderDate,\n lastOrderName,\n }: {\n /**\n * The 1-based page index.\n */\n page?: number,\n /**\n * The number of items per page.\n */\n pageSize?: number,\n /**\n * Sort fields. Prefix with - for descending order (e.g. -created_at).\n */\n sort?: Array<'amount' | '-amount' | 'last7_days' | '-last7_days' | 'last_order_date' | '-last_order_date' | 'customer_mail' | '-customer_mail'>,\n /**\n * Filter by customer_mail.\n */\n customerMail?: {\n eq?: string;\n neq?: string;\n gt?: string;\n gte?: string;\n lt?: string;\n lte?: string;\n contains?: string;\n starts_with?: string;\n ends_with?: string;\n in?: string;\n not_contains?: string;\n },\n /**\n * Filter by last_order_date.\n */\n lastOrderDate?: {\n eq?: string;\n neq?: string;\n gt?: string;\n gte?: string;\n lt?: string;\n lte?: string;\n contains?: string;\n starts_with?: string;\n ends_with?: string;\n in?: string;\n not_contains?: string;\n },\n /**\n * Filter by last_order_name.\n */\n lastOrderName?: {\n eq?: string;\n neq?: string;\n gt?: string;\n gte?: string;\n lt?: string;\n lte?: string;\n contains?: string;\n starts_with?: string;\n ends_with?: string;\n in?: string;\n not_contains?: string;\n },\n }): CancelablePromise<QueryAggregatedOrdersEndpoint_PagedResultOfOutput> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/orders/aggregated-overview',\n query: {\n 'page': page,\n 'page_size': pageSize,\n 'sort': sort,\n 'customer_mail': customerMail,\n 'last_order_date': lastOrderDate,\n 'last_order_name': lastOrderName,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * @returns QueryOrdersEndpoint_PagedResultOfOutput OK\n * @throws ApiError\n */\n public static getOrders({\n page,\n pageSize,\n sort,\n orderName,\n state,\n orderDate,\n customerMail,\n isPublic,\n }: {\n /**\n * The 1-based page index.\n */\n page?: number,\n /**\n * The number of items per page.\n */\n pageSize?: number,\n /**\n * Sort fields. Prefix with - for descending order (e.g. -created_at).\n */\n sort?: Array<'order_name' | '-order_name' | 'order_date' | '-order_date' | 'state' | '-state'>,\n /**\n * Filter by order_name.\n */\n orderName?: {\n eq?: string;\n neq?: string;\n gt?: string;\n gte?: string;\n lt?: string;\n lte?: string;\n contains?: string;\n starts_with?: string;\n ends_with?: string;\n in?: string;\n not_contains?: string;\n },\n /**\n * Filter by state.\n */\n state?: {\n eq?: string;\n neq?: string;\n gt?: string;\n gte?: string;\n lt?: string;\n lte?: string;\n contains?: string;\n starts_with?: string;\n ends_with?: string;\n in?: string;\n not_contains?: string;\n },\n /**\n * Filter by order_date.\n */\n orderDate?: {\n eq?: string;\n neq?: string;\n gt?: string;\n gte?: string;\n lt?: string;\n lte?: string;\n contains?: string;\n starts_with?: string;\n ends_with?: string;\n in?: string;\n not_contains?: string;\n },\n /**\n * Filter by customer_mail.\n */\n customerMail?: {\n eq?: string;\n neq?: string;\n gt?: string;\n gte?: string;\n lt?: string;\n lte?: string;\n contains?: string;\n starts_with?: string;\n ends_with?: string;\n in?: string;\n not_contains?: string;\n },\n /**\n * Filter by is_public.\n */\n isPublic?: {\n eq?: string;\n neq?: string;\n gt?: string;\n gte?: string;\n lt?: string;\n lte?: string;\n contains?: string;\n starts_with?: string;\n ends_with?: string;\n in?: string;\n not_contains?: string;\n },\n }): CancelablePromise<QueryOrdersEndpoint_PagedResultOfOutput> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/orders',\n query: {\n 'page': page,\n 'page_size': pageSize,\n 'sort': sort,\n 'order_name': orderName,\n 'state': state,\n 'order_date': orderDate,\n 'customer_mail': customerMail,\n 'is_public': isPublic,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Resumes a paused order, restarting all campaigns.\n * @returns void\n * @throws ApiError\n */\n public static postOrderResume({\n orderId,\n }: {\n /**\n * The ID of the order to resume.\n */\n orderId: string,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/order/{orderId}/resume',\n path: {\n 'orderId': orderId,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Retries processing of a failed order.\n * @returns void\n * @throws ApiError\n */\n public static postOrderRetry({\n orderId,\n }: {\n /**\n * The ID of the order to retry.\n */\n orderId: string,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/order/{orderId}/retry',\n path: {\n 'orderId': orderId,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Marks or unmarks an order as public.\n * @returns void\n * @throws ApiError\n */\n public static patchOrderShare({\n orderId,\n isPublic = true,\n }: {\n /**\n * The ID of the order.\n */\n orderId: string,\n /**\n * Whether to mark or unmark the order as public.\n */\n isPublic?: boolean,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'PATCH',\n url: '/order/{orderId}/share',\n path: {\n 'orderId': orderId,\n },\n query: {\n 'isPublic': isPublic,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Submits an order for processing.\n * Once submitted, the order will be locked and no further changes can be made.\n * @returns void\n * @throws ApiError\n */\n public static postOrderSubmit({\n orderId,\n requestBody,\n }: {\n /**\n * The ID of the order to submit.\n */\n orderId: string,\n /**\n * Optional submission configuration.\n */\n requestBody?: SubmitOrderEndpoint_Input,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/order/{orderId}/submit',\n path: {\n 'orderId': orderId,\n },\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Unlocks a cloned order so it can be modified.\n * Unlocking clones the entire dataset and its datapoints.\n * @returns UnlockOrderEndpoint_Output OK\n * @throws ApiError\n */\n public static postOrderUnlock({\n orderId,\n }: {\n /**\n * The ID of the order to unlock.\n */\n orderId: string,\n }): CancelablePromise<UnlockOrderEndpoint_Output> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/order/{orderId}/unlock',\n path: {\n 'orderId': orderId,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { QueryOrganizationsEndpoint_PagedResultOfOutput } from '../models/QueryOrganizationsEndpoint_PagedResultOfOutput';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class OrganizationService {\n /**\n * Returns a paged list of organizations.\n * @returns QueryOrganizationsEndpoint_PagedResultOfOutput OK\n * @throws ApiError\n */\n public static getOrganizations({\n page,\n pageSize,\n sort,\n name,\n domain,\n owner,\n }: {\n /**\n * The 1-based page index.\n */\n page?: number,\n /**\n * The number of items per page.\n */\n pageSize?: number,\n /**\n * Sort fields. Prefix with - for descending order (e.g. -created_at).\n */\n sort?: Array<'name' | '-name' | 'domain' | '-domain'>,\n /**\n * Filter by name.\n */\n name?: {\n eq?: string;\n neq?: string;\n gt?: string;\n gte?: string;\n lt?: string;\n lte?: string;\n contains?: string;\n starts_with?: string;\n ends_with?: string;\n in?: string;\n not_contains?: string;\n },\n /**\n * Filter by domain.\n */\n domain?: {\n eq?: string;\n neq?: string;\n gt?: string;\n gte?: string;\n lt?: string;\n lte?: string;\n contains?: string;\n starts_with?: string;\n ends_with?: string;\n in?: string;\n not_contains?: string;\n },\n /**\n * Filter by owner.\n */\n owner?: {\n eq?: string;\n neq?: string;\n gt?: string;\n gte?: string;\n lt?: string;\n lte?: string;\n contains?: string;\n starts_with?: string;\n ends_with?: string;\n in?: string;\n not_contains?: string;\n },\n }): CancelablePromise<QueryOrganizationsEndpoint_PagedResultOfOutput> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/organizations',\n query: {\n 'page': page,\n 'page_size': pageSize,\n 'sort': sort,\n 'name': name,\n 'domain': domain,\n 'owner': owner,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { CreateSampleModel } from '../models/CreateSampleModel';\nimport type { GetParticipantByIdResult } from '../models/GetParticipantByIdResult';\nimport type { PagedResultOfISampleByParticipant } from '../models/PagedResultOfISampleByParticipant';\nimport type { SubmitParticipantResult } from '../models/SubmitParticipantResult';\nimport type { UpdateParticipantModel } from '../models/UpdateParticipantModel';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class ParticipantService {\n /**\n * Adds a sample to a participant.\n * @returns any OK\n * @throws ApiError\n */\n public static postParticipantSample({\n participantId,\n requestBody,\n }: {\n /**\n * The id of the participant to add the sample to\n */\n participantId: string,\n /**\n * The model for the sample creation\n */\n requestBody: CreateSampleModel,\n }): CancelablePromise<any> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/participant/{participantId}/sample',\n path: {\n 'participantId': participantId,\n },\n body: requestBody,\n mediaType: 'application/json',\n });\n }\n /**\n * Deletes a participant on a benchmark.\n * @returns void\n * @throws ApiError\n */\n public static deleteParticipant({\n participantId,\n }: {\n participantId: string,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/participant/{participantId}',\n path: {\n 'participantId': participantId,\n },\n });\n }\n /**\n * Gets a participant by it's Id.\n * @returns GetParticipantByIdResult OK\n * @throws ApiError\n */\n public static getParticipant({\n participantId,\n }: {\n participantId: string,\n }): CancelablePromise<GetParticipantByIdResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/participant/{participantId}',\n path: {\n 'participantId': participantId,\n },\n });\n }\n /**\n * Updates a participant using patch semantics.\n * @returns void\n * @throws ApiError\n */\n public static patchParticipant({\n participantId,\n requestBody,\n }: {\n participantId: string,\n requestBody: UpdateParticipantModel,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'PATCH',\n url: '/participant/{participantId}',\n path: {\n 'participantId': participantId,\n },\n body: requestBody,\n mediaType: 'application/json',\n });\n }\n /**\n * Submits a participant to a benchmark.\n * @returns SubmitParticipantResult OK\n * @throws ApiError\n */\n public static postParticipantsSubmit({\n participantId,\n }: {\n participantId: string,\n }): CancelablePromise<SubmitParticipantResult> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/participants/{participantId}/submit',\n path: {\n 'participantId': participantId,\n },\n });\n }\n /**\n * Deletes a sample.\n * @returns GetParticipantByIdResult OK\n * @throws ApiError\n */\n public static deleteParticipantSample({\n sampleId,\n }: {\n /**\n * the id of the sample to be deleted.\n */\n sampleId: string,\n }): CancelablePromise<GetParticipantByIdResult> {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/participant-sample/{sampleId}',\n path: {\n 'sampleId': sampleId,\n },\n });\n }\n /**\n * Queries all samples of a participant.\n * @returns PagedResultOfISampleByParticipant OK\n * @throws ApiError\n */\n public static getParticipantSamples({\n participantId,\n request,\n fillMissing = false,\n }: {\n participantId: string,\n request?: any,\n fillMissing?: boolean,\n }): CancelablePromise<PagedResultOfISampleByParticipant> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/participant/{participantId}/samples',\n path: {\n 'participantId': participantId,\n },\n query: {\n 'request': request,\n 'fillMissing': fillMissing,\n },\n });\n }\n /**\n * This endpoint disables a participant in a benchmark. this means that the participant will no longer actively be matched up against other participants and not collect further results. It will still be visible in the leaderboard.\n * @returns any OK\n * @throws ApiError\n */\n public static postParticipantDisable({\n participantId,\n }: {\n /**\n * The id of the participant to be disabled\n */\n participantId: string,\n }): CancelablePromise<any> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/participant/{participantId}/disable',\n path: {\n 'participantId': participantId,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { FileStreamResult } from '../models/FileStreamResult';\nimport type { GetPipelineByIdResult } from '../models/GetPipelineByIdResult';\nimport type { PreliminaryDownloadModel } from '../models/PreliminaryDownloadModel';\nimport type { StartPreliminaryDownloadResult } from '../models/StartPreliminaryDownloadResult';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class PipelineService {\n /**\n * Gets a pipeline by its id.\n * @returns GetPipelineByIdResult OK\n * @throws ApiError\n */\n public static getPipeline({\n pipelineId,\n }: {\n /**\n * The id of the pipeline to get.\n */\n pipelineId: string,\n }): CancelablePromise<GetPipelineByIdResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/pipeline/{pipelineId}',\n path: {\n 'pipelineId': pipelineId,\n },\n });\n }\n /**\n * Initiates a preliminary download of the pipeline.\n * @returns StartPreliminaryDownloadResult OK\n * @throws ApiError\n */\n public static postPipelinePreliminaryDownload({\n pipelineId,\n requestBody,\n }: {\n /**\n * The id of the pipeline to initiate the download for.\n */\n pipelineId: string,\n /**\n * The body request.\n */\n requestBody: PreliminaryDownloadModel,\n }): CancelablePromise<StartPreliminaryDownloadResult> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/pipeline/{pipelineId}/preliminary-download',\n path: {\n 'pipelineId': pipelineId,\n },\n body: requestBody,\n mediaType: 'application/json',\n });\n }\n /**\n * Gets the preliminary download.\n * If it's still processing the request will return 202 Accepted.\n * @returns FileStreamResult OK\n * @returns any Accepted\n * @throws ApiError\n */\n public static getPipelinePreliminaryDownload({\n preliminaryDownloadId,\n }: {\n /**\n * The id of the preliminary download to get.\n */\n preliminaryDownloadId: string,\n }): CancelablePromise<FileStreamResult | any> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/pipeline/preliminary-download/{preliminaryDownloadId}',\n path: {\n 'preliminaryDownloadId': preliminaryDownloadId,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { UpdatePromptTagsModel } from '../models/UpdatePromptTagsModel';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class PromptService {\n /**\n * Updates the tags associated with a prompt.\n * @returns void\n * @throws ApiError\n */\n public static putBenchmarkPromptTags({\n promptId,\n requestBody,\n }: {\n promptId: string,\n requestBody: UpdatePromptTagsModel,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/benchmark-prompt/{promptId}/tags',\n path: {\n 'promptId': promptId,\n },\n body: requestBody,\n mediaType: 'application/json',\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { CreateFlowEndpoint_Input } from '../models/CreateFlowEndpoint_Input';\nimport type { CreateFlowEndpoint_Output } from '../models/CreateFlowEndpoint_Output';\nimport type { UpdateConfigEndpoint_Input } from '../models/UpdateConfigEndpoint_Input';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class RankingFlowService {\n /**\n * Creates a new ranking flow.\n * @returns CreateFlowEndpoint_Output OK\n * @throws ApiError\n */\n public static postFlowRanking({\n requestBody,\n }: {\n /**\n * The ranking flow creation parameters.\n */\n requestBody: CreateFlowEndpoint_Input,\n }): CancelablePromise<CreateFlowEndpoint_Output> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/flow/ranking',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Updates the configuration of a ranking flow.\n * @returns void\n * @throws ApiError\n */\n public static patchFlowRankingConfig({\n flowId,\n requestBody,\n }: {\n /**\n * The ID of the ranking flow to update.\n */\n flowId: string,\n /**\n * The configuration fields to update.\n */\n requestBody: UpdateConfigEndpoint_Input,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'PATCH',\n url: '/flow/ranking/{flowId}/config',\n path: {\n 'flowId': flowId,\n },\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { CreateFlowItemEndpoint_Input } from '../models/CreateFlowItemEndpoint_Input';\nimport type { CreateFlowItemEndpoint_Output } from '../models/CreateFlowItemEndpoint_Output';\nimport type { GetFlowItemByIdEndpoint_Output } from '../models/GetFlowItemByIdEndpoint_Output';\nimport type { GetRankingFlowItemResultsEndpoint_Output } from '../models/GetRankingFlowItemResultsEndpoint_Output';\nimport type { GetRankingFlowItemVoteMatrixEndpoint_Output } from '../models/GetRankingFlowItemVoteMatrixEndpoint_Output';\nimport type { QueryFlowItemsEndpoint_PagedResultOfOutput } from '../models/QueryFlowItemsEndpoint_PagedResultOfOutput';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class RankingFlowItemService {\n /**\n * Creates a new flow item for the specified flow.\n * @returns CreateFlowItemEndpoint_Output OK\n * @throws ApiError\n */\n public static postFlowRankingItem({\n flowId,\n requestBody,\n }: {\n /**\n * The ID of the flow to create the item in.\n */\n flowId: string,\n /**\n * The flow item creation parameters.\n */\n requestBody: CreateFlowItemEndpoint_Input,\n }): CancelablePromise<CreateFlowItemEndpoint_Output> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/flow/ranking/{flowId}/item',\n path: {\n 'flowId': flowId,\n },\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Queries flow items for a flow.\n * @returns QueryFlowItemsEndpoint_PagedResultOfOutput OK\n * @throws ApiError\n */\n public static getFlowRankingItem({\n flowId,\n page,\n pageSize,\n sort,\n state,\n createdAt,\n }: {\n /**\n * The ID of the flow to query items for.\n */\n flowId: string,\n /**\n * The 1-based page index.\n */\n page?: number,\n /**\n * The number of items per page.\n */\n pageSize?: number,\n /**\n * Sort fields. Prefix with - for descending order (e.g. -created_at).\n */\n sort?: Array<'state' | '-state' | 'created_at' | '-created_at'>,\n /**\n * Filter by state.\n */\n state?: {\n eq?: string;\n neq?: string;\n gt?: string;\n gte?: string;\n lt?: string;\n lte?: string;\n contains?: string;\n starts_with?: string;\n ends_with?: string;\n in?: string;\n not_contains?: string;\n },\n /**\n * Filter by created_at.\n */\n createdAt?: {\n eq?: string;\n neq?: string;\n gt?: string;\n gte?: string;\n lt?: string;\n lte?: string;\n contains?: string;\n starts_with?: string;\n ends_with?: string;\n in?: string;\n not_contains?: string;\n },\n }): CancelablePromise<QueryFlowItemsEndpoint_PagedResultOfOutput> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/flow/ranking/{flowId}/item',\n path: {\n 'flowId': flowId,\n },\n query: {\n 'page': page,\n 'page_size': pageSize,\n 'sort': sort,\n 'state': state,\n 'created_at': createdAt,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Retrieves a flow item by its ID.\n * @returns GetFlowItemByIdEndpoint_Output OK\n * @throws ApiError\n */\n public static getFlowRankingItem1({\n flowItemId,\n }: {\n /**\n * The ID of the flow item to retrieve.\n */\n flowItemId: string,\n }): CancelablePromise<GetFlowItemByIdEndpoint_Output> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/flow/ranking/item/{flowItemId}',\n path: {\n 'flowItemId': flowItemId,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Returns ranking results with Elo scores for a completed flow item.\n * Returns 409 Conflict if the flow item is not yet completed or has no associated workflow.\n * @returns GetRankingFlowItemResultsEndpoint_Output OK\n * @throws ApiError\n */\n public static getFlowRankingItemResults({\n flowItemId,\n }: {\n /**\n * The ID of the flow item to get results for.\n */\n flowItemId: string,\n }): CancelablePromise<GetRankingFlowItemResultsEndpoint_Output> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/flow/ranking/item/{flowItemId}/results',\n path: {\n 'flowItemId': flowItemId,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n 409: `Conflict`,\n },\n });\n }\n /**\n * Retrieves the pairwise vote matrix for a completed flow item.\n * Returns 409 Conflict if the flow item is not completed or has no associated workflow.\n * @returns GetRankingFlowItemVoteMatrixEndpoint_Output OK\n * @throws ApiError\n */\n public static getFlowRankingItemVoteMatrix({\n flowItemId,\n }: {\n /**\n * The ID of the flow item to get the vote matrix for.\n */\n flowItemId: string,\n }): CancelablePromise<GetRankingFlowItemVoteMatrixEndpoint_Output> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/flow/ranking/item/{flowItemId}/vote-matrix',\n path: {\n 'flowItemId': flowItemId,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n 409: `Conflict`,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { GetRankingWorkflowResultsResult } from '../models/GetRankingWorkflowResultsResult';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class RankingWorkflowService {\n /**\n * Get the result overview for a ranking workflow.\n * @returns GetRankingWorkflowResultsResult OK\n * @throws ApiError\n */\n public static getWorkflowCompareResults({\n workflowId,\n model,\n }: {\n /**\n * The ID of the workflow to get the results for.\n */\n workflowId: string,\n /**\n * The model for the request.\n */\n model?: any,\n }): CancelablePromise<GetRankingWorkflowResultsResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/workflow/compare/{workflowId}/results',\n path: {\n 'workflowId': workflowId,\n },\n query: {\n 'model': model,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class RapidService {\n /**\n * Rejects a completed rapid, marking its results as invalid.\n * The rapid must be in the Done state. Rejection propagates staleness to dependent entities.\n * @returns void\n * @throws ApiError\n */\n public static postRapidReject({\n rapidId,\n }: {\n /**\n * The identifier of the rapid to reject.\n */\n rapidId: string,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/rapid/{rapidId}/reject',\n path: {\n 'rapidId': rapidId,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class RapidataIdentityApiService {\n /**\n * @returns any OK\n * @throws ApiError\n */\n public static get(): CancelablePromise<any> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/',\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { UpdateAudienceRapidEndpoint_Input } from '../models/UpdateAudienceRapidEndpoint_Input';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class RapidsService {\n /**\n * Updates a rapid's validation properties within an audience.\n * @returns void\n * @throws ApiError\n */\n public static patchAudienceRapid({\n audienceId,\n rapidId,\n requestBody,\n }: {\n /**\n * The unique identifier of the audience.\n */\n audienceId: string,\n /**\n * The unique identifier of the rapid to update.\n */\n rapidId: string,\n /**\n * The rapid validation properties to update.\n */\n requestBody: UpdateAudienceRapidEndpoint_Input,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'PATCH',\n url: '/audience/{audienceId}/rapid/{rapidId}',\n path: {\n 'audienceId': audienceId,\n 'rapidId': rapidId,\n },\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { GetSampleByIdResult } from '../models/GetSampleByIdResult';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class SampleService {\n /**\n * Gets a sample by its Id.\n * @returns GetSampleByIdResult OK\n * @throws ApiError\n */\n public static getBenchmarkSample({\n sampleId,\n }: {\n /**\n * The Id of the sample to be retrieved\n */\n sampleId: string,\n }): CancelablePromise<GetSampleByIdResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/benchmark-sample/{sampleId}',\n path: {\n 'sampleId': sampleId,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { PagedResultOfGetWorkflowResultsResult } from '../models/PagedResultOfGetWorkflowResultsResult';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class SimpleWorkflowService {\n /**\n * Get the result overview for a simple workflow.\n * @returns PagedResultOfGetWorkflowResultsResult OK\n * @throws ApiError\n */\n public static getWorkflowSimpleResults({\n workflowId,\n model,\n }: {\n /**\n * The ID of the workflow to get the results for.\n */\n workflowId: string,\n /**\n * The model for the request.\n */\n model?: any,\n }): CancelablePromise<PagedResultOfGetWorkflowResultsResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/workflow/simple/{workflowId}/results',\n path: {\n 'workflowId': workflowId,\n },\n query: {\n 'model': model,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { SendSurveyModel } from '../models/SendSurveyModel';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class SurveyService {\n /**\n * Sends a survey.\n * @returns any OK\n * @throws ApiError\n */\n public static postIdentitySurvey({\n requestBody,\n }: {\n requestBody: SendSurveyModel,\n }): CancelablePromise<any> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/identity/survey',\n body: requestBody,\n mediaType: 'application/json',\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { AddUserResponseResult } from '../models/AddUserResponseResult';\nimport type { AreRapidsActiveResult } from '../models/AreRapidsActiveResult';\nimport type { InspectReportResult } from '../models/InspectReportResult';\nimport type { RapidResultModel } from '../models/RapidResultModel';\nimport type { RapidSkippedModel } from '../models/RapidSkippedModel';\nimport type { ReportModel } from '../models/ReportModel';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class UserRapidService {\n /**\n * Validates that the rapids associated with the current user are active.\n * @returns AreRapidsActiveResult OK\n * @throws ApiError\n */\n public static getRapidRapidBagIsValid(): CancelablePromise<AreRapidsActiveResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/rapid/rapid-bag/is-valid',\n });\n }\n /**\n * Submits a response for a Rapid.\n * @returns AddUserResponseResult OK\n * @throws ApiError\n */\n public static postRapidResponse({\n requestBody,\n }: {\n /**\n * The model containing the user guess.\n */\n requestBody: RapidResultModel,\n }): CancelablePromise<AddUserResponseResult> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/rapid/response',\n body: requestBody,\n mediaType: 'application/json',\n });\n }\n /**\n * Skips a Rapid for the user.\n * @returns AddUserResponseResult OK\n * @throws ApiError\n */\n public static postRapidSkip({\n requestBody,\n }: {\n /**\n * The model containing the Rapid to skip.\n */\n requestBody: RapidSkippedModel,\n }): CancelablePromise<AddUserResponseResult> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/rapid/skip',\n body: requestBody,\n mediaType: 'application/json',\n });\n }\n /**\n * Used to report an issue with a rapid.\n * @returns void\n * @throws ApiError\n */\n public static postRapidReport({\n rapidId,\n requestBody,\n }: {\n /**\n * The rapid to report.\n */\n rapidId: string,\n /**\n * The body request.\n */\n requestBody: ReportModel,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/rapid/{rapidId}/report',\n path: {\n 'rapidId': rapidId,\n },\n body: requestBody,\n mediaType: 'application/json',\n });\n }\n /**\n * Inspects a report's dump. Can be used to restore zustand state or anything alike.\n * @returns InspectReportResult OK\n * @throws ApiError\n */\n public static getRapidReport({\n reportId,\n }: {\n /**\n * The report id\n */\n reportId: string,\n }): CancelablePromise<InspectReportResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/rapid/report/{reportId}',\n path: {\n 'reportId': reportId,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { CreateValidationFeedbackEndpoint_Input } from '../models/CreateValidationFeedbackEndpoint_Input';\nimport type { QueryValidationFeedbacksEndpoint_PagedResultOfOutput } from '../models/QueryValidationFeedbacksEndpoint_PagedResultOfOutput';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class ValidationFeedbackService {\n /**\n * Submits feedback for a validation rapid outcome.\n * @returns void\n * @throws ApiError\n */\n public static postRapidValidationFeedback({\n rapidId,\n requestBody,\n }: {\n /**\n * The ID of the rapid to provide feedback for.\n */\n rapidId: string,\n /**\n * The feedback input.\n */\n requestBody: CreateValidationFeedbackEndpoint_Input,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/rapid/{rapidId}/validation-feedback',\n path: {\n 'rapidId': rapidId,\n },\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n /**\n * Queries validation feedbacks for a rapid.\n * @returns QueryValidationFeedbacksEndpoint_PagedResultOfOutput OK\n * @throws ApiError\n */\n public static getRapidValidationFeedback({\n rapidId,\n page,\n pageSize,\n sort,\n userId,\n feedback,\n createdAt,\n }: {\n /**\n * The ID of the rapid to query feedbacks for.\n */\n rapidId: string,\n /**\n * The 1-based page index.\n */\n page?: number,\n /**\n * The number of items per page.\n */\n pageSize?: number,\n /**\n * Sort fields. Prefix with - for descending order (e.g. -created_at).\n */\n sort?: Array<'created_at' | '-created_at'>,\n /**\n * Filter by user_id.\n */\n userId?: {\n eq?: string;\n neq?: string;\n gt?: string;\n gte?: string;\n lt?: string;\n lte?: string;\n contains?: string;\n starts_with?: string;\n ends_with?: string;\n in?: string;\n not_contains?: string;\n },\n /**\n * Filter by feedback.\n */\n feedback?: {\n eq?: string;\n neq?: string;\n gt?: string;\n gte?: string;\n lt?: string;\n lte?: string;\n contains?: string;\n starts_with?: string;\n ends_with?: string;\n in?: string;\n not_contains?: string;\n },\n /**\n * Filter by created_at.\n */\n createdAt?: {\n eq?: string;\n neq?: string;\n gt?: string;\n gte?: string;\n lt?: string;\n lte?: string;\n contains?: string;\n starts_with?: string;\n ends_with?: string;\n in?: string;\n not_contains?: string;\n },\n }): CancelablePromise<QueryValidationFeedbacksEndpoint_PagedResultOfOutput> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/rapid/{rapidId}/validation-feedback',\n path: {\n 'rapidId': rapidId,\n },\n query: {\n 'page': page,\n 'page_size': pageSize,\n 'sort': sort,\n 'user_id': userId,\n 'feedback': feedback,\n 'created_at': createdAt,\n },\n errors: {\n 400: `Bad Request`,\n 401: `Unauthenticated`,\n 403: `Forbidden`,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { AddValidationRapidModel } from '../models/AddValidationRapidModel';\nimport type { AssetType } from '../models/AssetType';\nimport type { CreateEmptyValidationSetResult } from '../models/CreateEmptyValidationSetResult';\nimport type { CreateValidationSetModel } from '../models/CreateValidationSetModel';\nimport type { FileStreamResult } from '../models/FileStreamResult';\nimport type { GetAvailableValidationSetsResult } from '../models/GetAvailableValidationSetsResult';\nimport type { GetRecommendedValidationSetResult } from '../models/GetRecommendedValidationSetResult';\nimport type { GetValidationSetByIdResult } from '../models/GetValidationSetByIdResult';\nimport type { PagedResultOfGetValidationRapidsResult } from '../models/PagedResultOfGetValidationRapidsResult';\nimport type { PagedResultOfValidationSetModel } from '../models/PagedResultOfValidationSetModel';\nimport type { PromptType } from '../models/PromptType';\nimport type { RapidModality } from '../models/RapidModality';\nimport type { UpdateValidationSetModel } from '../models/UpdateValidationSetModel';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class ValidationSetService {\n /**\n * Queries available validation sets based on the provided filter, paging and sorting criteria.\n * @returns PagedResultOfValidationSetModel OK\n * @throws ApiError\n */\n public static getValidationSets({\n model,\n }: {\n /**\n * The model containing the query parameters.\n */\n model?: any,\n }): CancelablePromise<PagedResultOfValidationSetModel> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/validation-sets',\n query: {\n 'model': model,\n },\n });\n }\n /**\n * Gets a validation set that is available to the user and best matches the provided parameters.\n * This is not a hard filter, instead it is used to find validation sets that have similar characteristics to the provided instruction.\n * @returns GetRecommendedValidationSetResult OK\n * @throws ApiError\n */\n public static getValidationSetRecommended({\n assetType,\n modality,\n promptType,\n instruction,\n }: {\n /**\n * The types of assets that the validation set should contain.\n * An asset type can be an image, video, audio, text, or any combination of these.\n *\n * This parameter is a flag, meaning that it can be null or contain multiple values.\n * If multiple values are provided, a validation set will be chosen that contains at least one of the specified asset types.\n */\n assetType?: AssetType,\n /**\n * The rapid modalities that the validation set should contain.\n * The modality is the type of rapid such as classify, compare, locate, etc.\n *\n * This parameter is a flag, meaning that it can be null or contain multiple values.\n * If multiple values are provided, a validation set will be chosen that contains at least one of the specified modalities.\n */\n modality?: RapidModality,\n /**\n * The prompt types that the validation set should contain.\n * A prompt type is the additional information that is presented to the user when solving a rapid.\n * For example, a prompt type can be either text or an asset if the context is an image or video.\n *\n * This parameter is a flag, meaning that it can be null or contain multiple values.\n * If multiple values are provided, a validation set will be chosen that contains at least one of the specified prompt types.\n */\n promptType?: PromptType,\n /**\n * An instruction that can be used to filter for validation sets that have similar instructions.\n * An instruction is a text that is presented to the user when solving a rapid that explains how to solve the rapid.\n */\n instruction?: string,\n }): CancelablePromise<GetRecommendedValidationSetResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/validation-set/recommended',\n query: {\n 'assetType': assetType,\n 'modality': modality,\n 'promptType': promptType,\n 'instruction': instruction,\n },\n errors: {\n 404: `Not Found`,\n },\n });\n }\n /**\n * Gets a validation set by the id.\n * @returns void\n * @throws ApiError\n */\n public static deleteValidationSet({\n validationSetId,\n }: {\n /**\n * The id of the validation set to get.\n */\n validationSetId: string,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/validation-set/{validationSetId}',\n path: {\n 'validationSetId': validationSetId,\n },\n });\n }\n /**\n * Gets a validation set by the id.\n * @returns GetValidationSetByIdResult OK\n * @throws ApiError\n */\n public static getValidationSet({\n validationSetId,\n }: {\n /**\n * The id of the validation set to get.\n */\n validationSetId: string,\n }): CancelablePromise<GetValidationSetByIdResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/validation-set/{validationSetId}',\n path: {\n 'validationSetId': validationSetId,\n },\n });\n }\n /**\n * Updates different characteristics of a validation set.\n * @returns void\n * @throws ApiError\n */\n public static patchValidationSet({\n validationSetId,\n requestBody,\n }: {\n /**\n * The Id of the validation set to update the dimensions for.\n */\n validationSetId: string,\n /**\n * The body request for updating the shouldAlert property.\n */\n requestBody: UpdateValidationSetModel,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'PATCH',\n url: '/validation-set/{validationSetId}',\n path: {\n 'validationSetId': validationSetId,\n },\n body: requestBody,\n mediaType: 'application/json',\n });\n }\n /**\n * Gets the available validation sets for the current user.\n * @returns GetAvailableValidationSetsResult OK\n * @throws ApiError\n */\n public static getValidationSetsAvailable(): CancelablePromise<GetAvailableValidationSetsResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/validation-sets/available',\n });\n }\n /**\n * Creates a new empty validation set.\n * @returns CreateEmptyValidationSetResult OK\n * @throws ApiError\n */\n public static postValidationSet({\n requestBody,\n }: {\n /**\n * The body request for creating a new validation set.\n */\n requestBody: CreateValidationSetModel,\n }): CancelablePromise<CreateEmptyValidationSetResult> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/validation-set',\n body: requestBody,\n mediaType: 'application/json',\n });\n }\n /**\n * Queries the validation rapids for a specific validation set.\n * @returns PagedResultOfGetValidationRapidsResult OK\n * @throws ApiError\n */\n public static getValidationSetRapids({\n validationSetId,\n model,\n }: {\n /**\n * The validation set to query.\n */\n validationSetId: string,\n /**\n * The request formatted as a JSON in the query parameters.\n */\n model?: any,\n }): CancelablePromise<PagedResultOfGetValidationRapidsResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/validation-set/{validationSetId}/rapids',\n path: {\n 'validationSetId': validationSetId,\n },\n query: {\n 'model': model,\n },\n });\n }\n /**\n * Adds a new validation rapid to the validation set using JSON body.\n * @returns void\n * @throws ApiError\n */\n public static postValidationSetRapid({\n validationSetId,\n requestBody,\n }: {\n /**\n * The validation set to add a rapid to.\n */\n validationSetId: string,\n /**\n * The validation rapid data including asset, payload, and metadata.\n */\n requestBody: AddValidationRapidModel,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/validation-set/{validationSetId}/rapid',\n path: {\n 'validationSetId': validationSetId,\n },\n body: requestBody,\n mediaType: 'application/json',\n });\n }\n /**\n * Updates the visibility of a validation set.\n * Public validation sets are used to automatically add a validation set to an order if no validation set is specified.\n * @returns void\n * @throws ApiError\n */\n public static patchValidationSetVisibility({\n validationSetId,\n isPublic,\n }: {\n /**\n * The id of the validation set to update the visibility for.\n */\n validationSetId: string,\n /**\n * Whether the validation set should be public or private.\n */\n isPublic?: boolean,\n }): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'PATCH',\n url: '/validation-set/{validationSetId}/visibility',\n path: {\n 'validationSetId': validationSetId,\n },\n query: {\n 'isPublic': isPublic,\n },\n });\n }\n /**\n * Exports all rapids of a validation-set to a file.\n * @returns FileStreamResult OK\n * @throws ApiError\n */\n public static getValidationSetExport({\n validationSetId,\n }: {\n validationSetId: string,\n }): CancelablePromise<FileStreamResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/validation-set/{validationSetId}/export',\n path: {\n 'validationSetId': validationSetId,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { GetCompareAbSummaryResult } from '../models/GetCompareAbSummaryResult';\nimport type { GetResponsesResult } from '../models/GetResponsesResult';\nimport type { GetWorkflowByIdResult } from '../models/GetWorkflowByIdResult';\nimport type { GetWorkflowProgressResult } from '../models/GetWorkflowProgressResult';\nimport type { PagedResultOfIWorkflowModel } from '../models/PagedResultOfIWorkflowModel';\nimport type { SortDirection } from '../models/SortDirection';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class WorkflowService {\n /**\n * Queries workflows based on the provided filter, page, and sort criteria.\n * @returns PagedResultOfIWorkflowModel OK\n * @throws ApiError\n */\n public static getWorkflows({\n request,\n }: {\n /**\n * The model containing the filter, page, and sort criteria.\n */\n request?: any,\n }): CancelablePromise<PagedResultOfIWorkflowModel> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/workflows',\n query: {\n 'request': request,\n },\n });\n }\n /**\n * Get a workflow by its ID.\n * @returns GetWorkflowByIdResult OK\n * @throws ApiError\n */\n public static getWorkflow({\n workflowId,\n }: {\n /**\n * The ID of the workflow to get.\n */\n workflowId: string,\n }): CancelablePromise<GetWorkflowByIdResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/workflow/{workflowId}',\n path: {\n 'workflowId': workflowId,\n },\n });\n }\n /**\n * Get the progress of a workflow.\n * @returns GetWorkflowProgressResult OK\n * @throws ApiError\n */\n public static getWorkflowProgress({\n workflowId,\n }: {\n /**\n * The ID of the workflow to get the progress for.\n */\n workflowId: string,\n }): CancelablePromise<GetWorkflowProgressResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/workflow/{workflowId}/progress',\n path: {\n 'workflowId': workflowId,\n },\n });\n }\n /**\n * Calculates a summary of the results for a simple ranking workflow.\n * The summary includes the number of times an asset at each index was the winner.\n * @returns GetCompareAbSummaryResult OK\n * @throws ApiError\n */\n public static getWorkflowCompareAbSummary({\n workflowId,\n useUserScore = false,\n }: {\n /**\n * The ID of the workflow to get the summary for.\n */\n workflowId: string,\n /**\n * Whether to use the user score to determine the winner.\n */\n useUserScore?: boolean,\n }): CancelablePromise<GetCompareAbSummaryResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/workflow/{workflowId}/compare-ab-summary',\n path: {\n 'workflowId': workflowId,\n },\n query: {\n 'useUserScore': useUserScore,\n },\n });\n }\n /**\n * Gets the limit most recent or oldest responses for a workflow.\n * The responses are not guaranteed to be of any specific rapid.\n * Instead, this endpoint returns all responses to any rapid in the workflow.\n * @returns GetResponsesResult OK\n * @throws ApiError\n */\n public static getWorkflowResponses({\n workflowId,\n limit = 100,\n sort,\n }: {\n /**\n * The ID of the workflow to get the responses for.\n */\n workflowId: string,\n /**\n * The number of responses to get.\n */\n limit?: number,\n /**\n * Whether the oldest or most recent responses should be returned.\n */\n sort?: SortDirection,\n }): CancelablePromise<GetResponsesResult> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/workflow/{workflowId}/responses',\n path: {\n 'workflowId': workflowId,\n },\n query: {\n 'limit': limit,\n 'sort': sort,\n },\n });\n }\n /**\n * Deletes a workflow.\n * @returns any OK\n * @throws ApiError\n */\n public static deleteWorkflowDelete({\n id,\n }: {\n /**\n * The ID of the workflow to delete.\n */\n id?: string,\n }): CancelablePromise<any> {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/workflow/delete',\n query: {\n 'id': id,\n },\n });\n }\n}\n","export const SDK_VERSION = \"0.1.0\";\n","import { execFileSync } from \"node:child_process\";\nimport { randomUUID } from \"node:crypto\";\nimport { existsSync } from \"node:fs\";\nimport { chmod, mkdir, readFile, writeFile } from \"node:fs/promises\";\nimport { hostname, homedir } from \"node:os\";\nimport path from \"node:path\";\nimport { setTimeout as sleep } from \"node:timers/promises\";\nimport { context as otelContext, propagation } from \"@opentelemetry/api\";\nimport openBrowser from \"open\";\nimport { logger, managedPrint, rapidataConfig, tracer } from \"./config\";\nimport {\n ClassifyWorkflow,\n CompareWorkflow,\n createExistingAssetInput,\n createTextInput,\n Datapoint,\n DrawWorkflow,\n EarlyStoppingReferee,\n type DataType,\n FreeTextWorkflow,\n LocateWorkflow,\n mapDatapoints,\n MultiRankingWorkflow,\n NaiveReferee,\n QuorumReferee,\n RapidataResults,\n RapidsManager,\n SelectWordsWorkflow,\n TimestampWorkflow,\n} from \"./domain\";\nimport type {\n Box,\n RapidataFilter,\n RapidataSelection,\n RapidataSetting,\n ValidationRapid,\n Workflow,\n} from \"./domain\";\nimport { FailedUpload, FailedUploadException, RapidataError } from \"./errors\";\nimport * as Generated from \"./generated\";\nimport { SDK_VERSION } from \"./version\";\n\nconst DEFAULT_ENVIRONMENT = \"rapidata.ai\";\nconst DEFAULT_OAUTH_SCOPE = \"openid roles email\";\nconst BRIDGE_OAUTH_SCOPE = \"openid profile email roles\";\nconst DEFAULT_POLL_TIMEOUT_MS = 300_000;\nconst DEFAULT_POLL_INTERVAL_MS = 1_000;\nconst LATEST_RELEASE_REPOSITORY = \"flurinlaim/rapidata-typescript-sdk\";\n\ntype StoredCredentialRecord = {\n display_name: string;\n client_id: string;\n client_secret: string;\n endpoint: string;\n created_at: string;\n last_used: string;\n};\n\ntype StoredCredentialsFile = Record<string, StoredCredentialRecord[]>;\n\nexport interface RapidataToken {\n accessToken?: string;\n access_token?: string;\n tokenType?: string;\n token_type?: string;\n refreshToken?: string | null;\n refresh_token?: string | null;\n expiresIn?: number;\n expires_in?: number;\n expiresAt?: number;\n expires_at?: number;\n scope?: string | null;\n obtainedAt?: number;\n}\n\nexport interface RapidataApiClientOptions {\n clientId?: string;\n clientSecret?: string;\n environment?: string;\n oauthScope?: string;\n certPath?: string;\n token?: RapidataToken;\n leeway?: number;\n}\n\nexport interface RapidataClientOptions extends RapidataApiClientOptions {}\n\ntype NormalizedToken = {\n accessToken: string;\n tokenType?: string;\n refreshToken?: string | null;\n scope?: string | null;\n expiresAt?: number;\n};\n\ntype ClientCredentials = {\n clientId: string;\n clientSecret: string;\n source: \"explicit\" | \"stored\";\n};\n\ntype MaybeArtifactIds = {\n workflowId?: string;\n campaignId?: string;\n datasetId?: string;\n};\n\ntype LoadedPipelineArtifactIds = MaybeArtifactIds & {\n pipelineId?: string;\n};\n\ntype CreateOrderBaseOptions = {\n name: string;\n workflow: Workflow;\n datapoints: Datapoint[];\n responsesPerDatapoint: number;\n validationSetId?: string;\n confidenceThreshold?: number;\n quorumThreshold?: number;\n filters?: RapidataFilter[];\n settings?: RapidataSetting[];\n selections?: RapidataSelection[];\n};\n\nlet generatedClientLock: Promise<void> = Promise.resolve();\n\nfunction withGeneratedClientLock<T>(callback: () => Promise<T>) {\n const current = generatedClientLock.then(callback, callback);\n generatedClientLock = current.then(\n () => undefined,\n () => undefined,\n );\n return current;\n}\n\nfunction compareVersions(left: string, right: string) {\n const leftParts = left.split(/[+-]/)[0]?.split(\".\").map((part) => Number.parseInt(part, 10) || 0) ?? [0];\n const rightParts = right.split(/[+-]/)[0]?.split(\".\").map((part) => Number.parseInt(part, 10) || 0) ?? [0];\n const length = Math.max(leftParts.length, rightParts.length);\n for (let index = 0; index < length; index += 1) {\n const leftPart = leftParts[index] ?? 0;\n const rightPart = rightParts[index] ?? 0;\n if (leftPart !== rightPart) {\n return leftPart - rightPart;\n }\n }\n return 0;\n}\n\nfunction normalizeEnvironment(environment: string) {\n return environment.replace(/^https?:\\/\\//, \"\").replace(/\\/+$/, \"\");\n}\n\nfunction extractErrorMessage(body: unknown, fallback: string) {\n if (!body || typeof body !== \"object\") {\n return fallback;\n }\n\n const bodyRecord = body as Record<string, unknown>;\n const message =\n bodyRecord.detail ??\n bodyRecord.title ??\n bodyRecord.message ??\n bodyRecord.error_description ??\n bodyRecord.error;\n\n return typeof message === \"string\" && message.trim() ? message : fallback;\n}\n\nfunction normalizeError(error: unknown): RapidataError {\n if (error instanceof RapidataError) {\n return error;\n }\n\n if (error instanceof Generated.ApiError) {\n return new RapidataError(\n extractErrorMessage(error.body, `${error.status} ${error.statusText}`),\n {\n statusCode: error.status,\n details: error.body,\n originalError: error,\n },\n );\n }\n\n if (error instanceof Error) {\n return new RapidataError(error.message, { originalError: error });\n }\n\n return new RapidataError(String(error), { originalError: error });\n}\n\nfunction isUrlLike(value: string) {\n try {\n const url = new URL(value);\n return url.protocol === \"http:\" || url.protocol === \"https:\";\n } catch {\n return false;\n }\n}\n\nfunction maybeDate(value?: string | null) {\n return value ? new Date(value) : undefined;\n}\n\nfunction normalizeToken(input?: RapidataToken): NormalizedToken | undefined {\n if (!input) {\n return undefined;\n }\n\n const accessToken = input.accessToken ?? input.access_token;\n if (!accessToken) {\n return undefined;\n }\n\n const expiresAtRaw = input.expiresAt ?? input.expires_at;\n const expiresIn = input.expiresIn ?? input.expires_in;\n const obtainedAt = input.obtainedAt ?? Date.now();\n\n let expiresAt = expiresAtRaw;\n if (expiresAt !== undefined && expiresAt < 1_000_000_000_000) {\n expiresAt *= 1_000;\n }\n\n if (expiresAt === undefined && expiresIn !== undefined) {\n expiresAt = obtainedAt + expiresIn * 1_000;\n }\n\n return {\n accessToken,\n tokenType: input.tokenType ?? input.token_type,\n refreshToken: input.refreshToken ?? input.refresh_token,\n scope: input.scope,\n expiresAt,\n };\n}\n\nfunction isTokenExpired(token: NormalizedToken, leewaySeconds: number) {\n return token.expiresAt !== undefined && Date.now() >= token.expiresAt - leewaySeconds * 1_000;\n}\n\nfunction getCredentialsFilePath() {\n return path.join(homedir(), \".config\", \"rapidata\", \"credentials.json\");\n}\n\nfunction resolveLocalCertificate(environment: string, certPath?: string) {\n if (certPath) {\n return certPath;\n }\n\n if (environment !== \"rapidata.dev\") {\n return undefined;\n }\n\n try {\n const caroot = execFileSync(\"mkcert\", [\"-CAROOT\"], {\n encoding: \"utf8\",\n stdio: [\"ignore\", \"pipe\", \"ignore\"],\n }).trim();\n if (!caroot) {\n return undefined;\n }\n\n const localCertificate = path.join(caroot, \"rootCA.pem\");\n return existsSync(localCertificate) ? localCertificate : undefined;\n } catch {\n return undefined;\n }\n}\n\nasync function blobToJson<T>(blob: Blob) {\n const text = await blob.text();\n return JSON.parse(text) as T;\n}\n\nfunction getArtifactId(value: unknown, key: string) {\n if (!value || typeof value !== \"object\") {\n return undefined;\n }\n\n const record = value as Record<string, unknown>;\n const direct = record[key];\n if (typeof direct === \"string\") {\n return direct;\n }\n\n const actualInstance = record.actualInstance;\n if (actualInstance && typeof actualInstance === \"object\") {\n const nested = (actualInstance as Record<string, unknown>)[key];\n if (typeof nested === \"string\") {\n return nested;\n }\n }\n\n return undefined;\n}\n\nfunction extractPipelineArtifactIds(pipeline: unknown): MaybeArtifactIds {\n if (!pipeline || typeof pipeline !== \"object\") {\n return {};\n }\n\n const artifacts = (pipeline as Record<string, unknown>).artifacts;\n if (!artifacts || typeof artifacts !== \"object\") {\n return {};\n }\n\n const artifactEntries = Object.values(artifacts as Record<string, unknown>);\n const workflowId =\n getArtifactId((artifacts as Record<string, unknown>)[\"workflow-artifact\"], \"workflowId\") ??\n artifactEntries.map((artifact) => getArtifactId(artifact, \"workflowId\")).find(Boolean);\n const campaignId =\n getArtifactId((artifacts as Record<string, unknown>)[\"campaign-artifact\"], \"campaignId\") ??\n artifactEntries.map((artifact) => getArtifactId(artifact, \"campaignId\")).find(Boolean);\n const datasetId =\n getArtifactId((artifacts as Record<string, unknown>)[\"dataset-artifact\"], \"datasetId\") ??\n artifactEntries.map((artifact) => getArtifactId(artifact, \"datasetId\")).find(Boolean);\n\n return { workflowId, campaignId, datasetId };\n}\n\nclass CredentialManager {\n private readonly configPath = getCredentialsFilePath();\n\n constructor(\n private readonly authBaseUrl: string,\n private readonly apiBaseUrl: string,\n private readonly certPath: string | undefined,\n ) {}\n\n async getClientCredentials(oauthScope: string) {\n const credentials = await this.readCredentials();\n const environmentCredentials = credentials[this.authBaseUrl] ?? [];\n const selectedCredential = this.selectCredential(environmentCredentials);\n if (selectedCredential) {\n selectedCredential.last_used = new Date().toISOString();\n await this.writeCredentials(credentials);\n return selectedCredential;\n }\n\n return this.createNewCredentials(oauthScope);\n }\n\n async resetCredentials() {\n const credentials = await this.readCredentials();\n if (credentials[this.authBaseUrl]) {\n delete credentials[this.authBaseUrl];\n await this.writeCredentials(credentials);\n }\n }\n\n private async createNewCredentials(oauthScope: string) {\n const bridgeToken = await this.getBridgeToken();\n const authUrl = `${this.authBaseUrl}/connect/authorize/external?clientId=rapidata-cli&scope=${encodeURIComponent(BRIDGE_OAUTH_SCOPE || oauthScope)}&writeKey=${encodeURIComponent(bridgeToken.writeKey)}`;\n\n try {\n await openBrowser(authUrl);\n } catch {\n managedPrint(`Please open this URL in your browser: ${authUrl}`);\n }\n\n const accessToken = await this.pollReadKey(bridgeToken.readKey);\n const displayName = `${hostname()} - TypeScript API Client`;\n const createdClient = await this.createClient(accessToken, displayName);\n\n const credential: StoredCredentialRecord = {\n display_name: createdClient.displayName,\n client_id: createdClient.clientId,\n client_secret: createdClient.clientSecret,\n endpoint: this.authBaseUrl,\n created_at: new Date().toISOString(),\n last_used: new Date().toISOString(),\n };\n\n const credentials = await this.readCredentials();\n credentials[this.authBaseUrl] = [...(credentials[this.authBaseUrl] ?? []), credential];\n await this.writeCredentials(credentials);\n return credential;\n }\n\n private async getBridgeToken() {\n const response = await this.fetchJson<{ readKey: string; writeKey: string }>(\n `${this.authBaseUrl}/identity/bridge-token?clientId=rapidata-cli`,\n { method: \"POST\" },\n );\n return response;\n }\n\n private async pollReadKey(readKey: string) {\n const startedAt = Date.now();\n while (Date.now() - startedAt < DEFAULT_POLL_TIMEOUT_MS) {\n const response = await this.fetch(\n `${this.authBaseUrl}/identity/bridge-token?readKey=${encodeURIComponent(readKey)}`,\n { method: \"GET\" },\n );\n\n if (response.status === 200) {\n const payload = await response.json() as { accessToken?: string | null };\n if (payload.accessToken) {\n return payload.accessToken;\n }\n throw new RapidataError(\"Authentication finished without an access token.\");\n }\n\n if (response.status === 202) {\n await sleep(DEFAULT_POLL_INTERVAL_MS);\n continue;\n }\n\n const body = await this.readUnknownBody(response);\n throw new RapidataError(\n extractErrorMessage(body, `Bridge token polling failed with status ${response.status}.`),\n { statusCode: response.status, details: body },\n );\n }\n\n throw new RapidataError(\"Authentication timed out while waiting for the browser login to finish.\");\n }\n\n private async createClient(accessToken: string, displayName: string) {\n const payload = JSON.stringify({ displayName });\n const headers = {\n Authorization: `Bearer ${accessToken}`,\n \"Content-Type\": \"application/json\",\n Accept: \"application/json\",\n };\n\n const attempts = [\n `${this.authBaseUrl}/Client`,\n `${this.apiBaseUrl}/client`,\n ];\n\n let lastError: RapidataError | undefined;\n for (const url of attempts) {\n const response = await this.fetch(url, {\n method: \"POST\",\n headers,\n body: payload,\n });\n if (response.ok) {\n const result = await response.json() as { clientId: string; clientSecret: string };\n return {\n clientId: result.clientId,\n clientSecret: result.clientSecret,\n displayName,\n };\n }\n\n const body = await this.readUnknownBody(response);\n lastError = new RapidataError(\n extractErrorMessage(body, `Failed to create SDK client via ${url}.`),\n { statusCode: response.status, details: body },\n );\n }\n\n throw lastError ?? new RapidataError(\"Failed to create SDK client.\");\n }\n\n private selectCredential(credentials: StoredCredentialRecord[]) {\n if (credentials.length === 0) {\n return undefined;\n }\n\n return [...credentials].sort((left, right) => (\n new Date(right.last_used).getTime() - new Date(left.last_used).getTime()\n ))[0];\n }\n\n private async readCredentials(): Promise<StoredCredentialsFile> {\n try {\n const raw = await readFile(this.configPath, \"utf8\");\n const parsed = JSON.parse(raw) as StoredCredentialsFile;\n return parsed && typeof parsed === \"object\" ? parsed : {};\n } catch (error) {\n if ((error as NodeJS.ErrnoException).code === \"ENOENT\") {\n return {};\n }\n if (error instanceof SyntaxError) {\n return {};\n }\n throw error;\n }\n }\n\n private async writeCredentials(credentials: StoredCredentialsFile) {\n await mkdir(path.dirname(this.configPath), { recursive: true });\n await writeFile(this.configPath, `${JSON.stringify(credentials, null, 2)}\\n`, \"utf8\");\n await chmod(this.configPath, 0o600);\n }\n\n private async fetch(url: string, init: RequestInit) {\n const dispatcher = await this.getDispatcher();\n return fetch(url, {\n ...init,\n ...(dispatcher ? { dispatcher } : {}),\n } as RequestInit & { dispatcher?: unknown });\n }\n\n private async fetchJson<T>(url: string, init: RequestInit) {\n const response = await this.fetch(url, init);\n const body = await this.readUnknownBody(response);\n if (!response.ok) {\n throw new RapidataError(extractErrorMessage(body, `${response.status} ${response.statusText}`), {\n statusCode: response.status,\n details: body,\n });\n }\n return body as T;\n }\n\n private async readUnknownBody(response: Response) {\n const contentType = response.headers.get(\"content-type\")?.toLowerCase();\n if (contentType?.includes(\"application/json\")) {\n return response.json();\n }\n return response.text();\n }\n\n private dispatcherPromise?: Promise<unknown>;\n\n private async getDispatcher() {\n if (!this.certPath) {\n return undefined;\n }\n\n if (!this.dispatcherPromise) {\n this.dispatcherPromise = (async () => {\n const [{ Agent }, ca] = await Promise.all([\n import(\"undici\"),\n readFile(this.certPath!, \"utf8\"),\n ]);\n return new Agent({\n connect: { ca },\n });\n })();\n }\n\n return this.dispatcherPromise;\n }\n}\n\nclass OAuthTokenProvider {\n private cachedCredential?: StoredCredentialRecord;\n\n private accessToken?: NormalizedToken;\n\n constructor(\n private readonly options: {\n authBaseUrl: string;\n oauthScope: string;\n leeway: number;\n certPath?: string;\n token?: RapidataToken;\n clientId?: string;\n clientSecret?: string;\n credentialManager: CredentialManager;\n },\n ) {\n this.accessToken = normalizeToken(options.token);\n }\n\n async getAccessToken() {\n if (this.accessToken && !isTokenExpired(this.accessToken, this.options.leeway)) {\n return this.accessToken.accessToken;\n }\n\n if (this.accessToken?.refreshToken) {\n try {\n const refreshed = await this.refreshAccessToken(this.accessToken.refreshToken);\n this.accessToken = refreshed;\n return refreshed.accessToken;\n } catch (error) {\n logger.debug(\"Refreshing the access token failed: %s\", error);\n }\n }\n\n const credentials = await this.getClientCredentials();\n try {\n const token = await this.requestClientCredentialsToken(credentials.clientId, credentials.clientSecret, this.options.oauthScope);\n this.accessToken = token;\n return token.accessToken;\n } catch (error) {\n const normalized = normalizeError(error);\n const details = normalized.details as Record<string, unknown> | undefined;\n if (\n credentials.source === \"stored\"\n && (details?.error === \"invalid_client\" || normalized.message.includes(\"invalid_client\"))\n ) {\n await this.options.credentialManager.resetCredentials();\n this.cachedCredential = undefined;\n const refreshedCredentials = await this.getClientCredentials(true);\n const token = await this.requestClientCredentialsToken(\n refreshedCredentials.clientId,\n refreshedCredentials.clientSecret,\n this.options.oauthScope,\n );\n this.accessToken = token;\n managedPrint(\"Credentials were reset and re-authenticated successfully.\");\n return token.accessToken;\n }\n\n throw normalized;\n }\n }\n\n async resetStoredCredentials() {\n await this.options.credentialManager.resetCredentials();\n this.cachedCredential = undefined;\n this.accessToken = normalizeToken(this.options.token);\n }\n\n private async refreshAccessToken(refreshToken: string) {\n const credentials = await this.getClientCredentials();\n return this.requestToken({\n grant_type: \"refresh_token\",\n refresh_token: refreshToken,\n client_id: credentials.clientId,\n client_secret: credentials.clientSecret,\n });\n }\n\n private async requestClientCredentialsToken(clientId: string, clientSecret: string, scope: string) {\n return this.requestToken({\n grant_type: \"client_credentials\",\n client_id: clientId,\n client_secret: clientSecret,\n scope,\n });\n }\n\n private async requestToken(body: Record<string, string>) {\n const response = await this.fetch(`${this.options.authBaseUrl}/connect/token`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n Accept: \"application/json\",\n },\n body: new URLSearchParams(body),\n });\n\n const payload = await this.readUnknownBody(response);\n if (!response.ok) {\n throw new RapidataError(\n extractErrorMessage(payload, `${response.status} ${response.statusText}`),\n {\n statusCode: response.status,\n details: payload,\n },\n );\n }\n\n const typedPayload = typeof payload === \"string\" ? {} : payload;\n const token = normalizeToken({\n access_token: typedPayload.access_token,\n token_type: typedPayload.token_type,\n refresh_token: typedPayload.refresh_token,\n expires_in: typedPayload.expires_in,\n scope: typedPayload.scope,\n });\n\n if (!token) {\n throw new RapidataError(\"Token endpoint returned an unusable token.\", {\n details: payload,\n });\n }\n\n return token;\n }\n\n private async getClientCredentials(forceRefresh = false): Promise<ClientCredentials> {\n if (this.options.clientId && this.options.clientSecret) {\n return {\n clientId: this.options.clientId,\n clientSecret: this.options.clientSecret,\n source: \"explicit\",\n };\n }\n\n if (!this.cachedCredential || forceRefresh) {\n this.cachedCredential = await this.options.credentialManager.getClientCredentials(this.options.oauthScope);\n }\n\n return {\n clientId: this.cachedCredential.client_id,\n clientSecret: this.cachedCredential.client_secret,\n source: \"stored\",\n };\n }\n\n private async fetch(url: string, init: RequestInit) {\n const dispatcher = await this.getDispatcher();\n return fetch(url, {\n ...init,\n ...(dispatcher ? { dispatcher } : {}),\n } as RequestInit & { dispatcher?: unknown });\n }\n\n private async readUnknownBody(response: Response) {\n const contentType = response.headers.get(\"content-type\")?.toLowerCase();\n if (contentType?.includes(\"application/json\")) {\n return response.json() as Promise<Record<string, any>>;\n }\n return response.text();\n }\n\n private dispatcherPromise?: Promise<unknown>;\n\n private async getDispatcher() {\n if (!this.options.certPath) {\n return undefined;\n }\n\n if (!this.dispatcherPromise) {\n this.dispatcherPromise = (async () => {\n const [{ Agent }, ca] = await Promise.all([\n import(\"undici\"),\n readFile(this.options.certPath!, \"utf8\"),\n ]);\n return new Agent({\n connect: { ca },\n });\n })();\n }\n\n return this.dispatcherPromise;\n }\n}\n\nclass AssetUploader {\n private readonly cache = new Map<string, string>();\n\n constructor(private readonly api: RapidataApiClient) {}\n\n clearCache() {\n this.cache.clear();\n }\n\n async createAssetInput(asset: string | string[], dataType: DataType): Promise<Generated.IAssetInput> {\n if (dataType === \"text\") {\n return createTextInput(asset);\n }\n\n if (Array.isArray(asset)) {\n const uploaded = await Promise.all(asset.map((item) => this.uploadAsset(item)));\n return createExistingAssetInput(uploaded);\n }\n\n return createExistingAssetInput(await this.uploadAsset(asset));\n }\n\n async uploadAsset(asset: string) {\n const cached = this.cache.get(asset);\n if (cached) {\n return cached;\n }\n\n let uploadedName: string;\n if (isUrlLike(asset)) {\n const response = await this.api.asset.postAssetUrl({ url: asset });\n uploadedName = response.fileName;\n } else if (existsSync(asset)) {\n const fileName = path.basename(asset);\n const file = new File([await readFile(asset)], fileName);\n const response = await this.api.asset.postAssetFile({\n formData: { file },\n });\n uploadedName = response.fileName;\n } else {\n uploadedName = asset;\n }\n\n this.cache.set(asset, uploadedName);\n return uploadedName;\n }\n}\n\nexport class RapidataApiClient {\n readonly environment: string;\n\n readonly apiBaseUrl: string;\n\n readonly authBaseUrl: string;\n\n readonly appBaseUrl: string;\n\n readonly certPath?: string;\n\n private readonly tokenProvider: OAuthTokenProvider;\n\n private readonly services = new Map<string, object>();\n\n private readonly credentialManager: CredentialManager;\n\n private readonly xClientHeader = `RapidataTypeScriptSDK/${SDK_VERSION}`;\n\n constructor(options: RapidataApiClientOptions = {}) {\n this.environment = normalizeEnvironment(options.environment ?? DEFAULT_ENVIRONMENT);\n this.apiBaseUrl = `https://api.${this.environment}`;\n this.authBaseUrl = `https://auth.${this.environment}`;\n this.appBaseUrl = `https://app.${this.environment}`;\n this.certPath = resolveLocalCertificate(this.environment, options.certPath);\n\n this.credentialManager = new CredentialManager(this.authBaseUrl, this.apiBaseUrl, this.certPath);\n this.tokenProvider = new OAuthTokenProvider({\n authBaseUrl: this.authBaseUrl,\n oauthScope: options.oauthScope ?? DEFAULT_OAUTH_SCOPE,\n leeway: options.leeway ?? 60,\n certPath: this.certPath,\n token: options.token,\n clientId: options.clientId,\n clientSecret: options.clientSecret,\n credentialManager: this.credentialManager,\n });\n }\n\n get asset() {\n return this.getService(\"asset\", Generated.AssetService);\n }\n\n get audience() {\n return this.getService(\"audience\", Generated.AudienceService);\n }\n\n get benchmark() {\n return this.getService(\"benchmark\", Generated.BenchmarkService);\n }\n\n get campaign() {\n return this.getService(\"campaign\", Generated.CampaignService);\n }\n\n get dataset() {\n return this.getService(\"dataset\", Generated.DatasetService);\n }\n\n get examples() {\n return this.getService(\"examples\", Generated.ExamplesService);\n }\n\n get flow() {\n return this.getService(\"flow\", Generated.FlowService);\n }\n\n get identity() {\n return this.getService(\"identity\", Generated.IdentityService);\n }\n\n get job() {\n return this.getService(\"job\", Generated.JobService);\n }\n\n get leaderboard() {\n return this.getService(\"leaderboard\", Generated.LeaderboardService);\n }\n\n get order() {\n return this.getService(\"order\", Generated.OrderService);\n }\n\n get pipeline() {\n return this.getService(\"pipeline\", Generated.PipelineService);\n }\n\n get rapid() {\n return this.getService(\"rapid\", Generated.RapidService);\n }\n\n get rankingFlow() {\n return this.getService(\"rankingFlow\", Generated.RankingFlowService);\n }\n\n get rankingFlowItem() {\n return this.getService(\"rankingFlowItem\", Generated.RankingFlowItemService);\n }\n\n get flowItem() {\n return this.getService(\"flowItem\", Generated.FlowItemService);\n }\n\n get validation() {\n return this.getService(\"validation\", Generated.ValidationSetService);\n }\n\n get workflow() {\n return this.getService(\"workflow\", Generated.WorkflowService);\n }\n\n async getAccessToken() {\n return this.tokenProvider.getAccessToken();\n }\n\n async getUserInfo() {\n const accessToken = await this.getAccessToken();\n const response = await this.fetch(`${this.authBaseUrl}/connect/userinfo`, {\n method: \"GET\",\n headers: {\n Authorization: `Bearer ${accessToken}`,\n Accept: \"application/json\",\n },\n signal: AbortSignal.timeout(1_000),\n });\n const payload = await this.readUnknownBody(response);\n if (!response.ok) {\n throw new RapidataError(extractErrorMessage(payload, `Failed to fetch userinfo (${response.status}).`), {\n statusCode: response.status,\n details: payload,\n });\n }\n return payload as Record<string, unknown>;\n }\n\n async resetCredentials() {\n await this.tokenProvider.resetStoredCredentials();\n }\n\n async fetch(url: string, init: RequestInit = {}) {\n const dispatcher = await this.getDispatcher();\n return fetch(url, {\n ...init,\n ...(dispatcher ? { dispatcher } : {}),\n } as RequestInit & { dispatcher?: unknown });\n }\n\n private getService(name: string, service: object) {\n const existing = this.services.get(name);\n if (existing) {\n return existing as any;\n }\n\n const proxy = new Proxy({} as Record<string, unknown>, {\n get: (_, property) => {\n const value = (service as Record<PropertyKey, unknown>)[property];\n if (typeof value !== \"function\") {\n return value;\n }\n\n return async (...args: unknown[]) => this.withGeneratedConfiguration(\n `${name}.${String(property)}`,\n async () => value(...args),\n );\n },\n });\n\n this.services.set(name, proxy);\n return proxy as any;\n }\n\n private async withGeneratedConfiguration<T>(spanName: string, callback: () => Promise<T>) {\n return withGeneratedClientLock(async () => {\n const previousConfig = {\n ...Generated.OpenAPI,\n };\n const previousFetch = globalThis.fetch;\n const dispatcher = await this.getDispatcher();\n\n Generated.OpenAPI.BASE = this.apiBaseUrl;\n Generated.OpenAPI.HEADERS = async () => this.getHeaders();\n Generated.OpenAPI.TOKEN = async () => this.getAccessToken();\n\n if (dispatcher) {\n globalThis.fetch = ((input: Parameters<typeof fetch>[0], init?: Parameters<typeof fetch>[1]) => previousFetch(input, {\n ...init,\n dispatcher,\n } as RequestInit & { dispatcher?: unknown })) as typeof fetch;\n }\n\n try {\n return await tracer.startActiveSpan(`RapidataApiClient.${spanName}`, callback);\n } catch (error) {\n throw normalizeError(error);\n } finally {\n Generated.OpenAPI.BASE = previousConfig.BASE;\n Generated.OpenAPI.VERSION = previousConfig.VERSION;\n Generated.OpenAPI.WITH_CREDENTIALS = previousConfig.WITH_CREDENTIALS;\n Generated.OpenAPI.CREDENTIALS = previousConfig.CREDENTIALS;\n Generated.OpenAPI.TOKEN = previousConfig.TOKEN;\n Generated.OpenAPI.USERNAME = previousConfig.USERNAME;\n Generated.OpenAPI.PASSWORD = previousConfig.PASSWORD;\n Generated.OpenAPI.HEADERS = previousConfig.HEADERS;\n Generated.OpenAPI.ENCODE_PATH = previousConfig.ENCODE_PATH;\n globalThis.fetch = previousFetch;\n }\n });\n }\n\n private async getHeaders() {\n const headers: Record<string, string> = {\n \"X-Client\": this.xClientHeader,\n };\n\n if (rapidataConfig.logging.enableOtlp) {\n propagation.inject(otelContext.active(), headers);\n }\n\n return headers;\n }\n\n private async readUnknownBody(response: Response) {\n const contentType = response.headers.get(\"content-type\")?.toLowerCase();\n if (contentType?.includes(\"application/json\")) {\n return response.json();\n }\n return response.text();\n }\n\n private dispatcherPromise?: Promise<unknown>;\n\n private async getDispatcher() {\n if (!this.certPath) {\n return undefined;\n }\n\n if (!this.dispatcherPromise) {\n this.dispatcherPromise = (async () => {\n const [{ Agent }, ca] = await Promise.all([\n import(\"undici\"),\n readFile(this.certPath!, \"utf8\"),\n ]);\n return new Agent({\n connect: { ca },\n });\n })();\n }\n\n return this.dispatcherPromise;\n }\n}\n\ntype ClientContext = {\n api: RapidataApiClient;\n uploader: AssetUploader;\n ready: Promise<void>;\n appBaseUrl: string;\n apiBaseUrl: string;\n};\n\nabstract class BaseEntity {\n constructor(protected readonly context: ClientContext) {}\n\n protected async openUrl(url: string) {\n try {\n await openBrowser(url);\n } catch {\n managedPrint(`Please open this URL in your browser: ${url}`);\n }\n }\n}\n\nexport class RapidataOrder extends BaseEntity {\n readonly orderDetailsPage: string;\n\n createdAt?: Date;\n\n pipelineId?: string;\n\n campaignId?: string;\n\n constructor(\n readonly id: string,\n readonly name: string,\n context: ClientContext,\n options?: {\n createdAt?: Date;\n pipelineId?: string;\n campaignId?: string;\n },\n ) {\n super(context);\n this.createdAt = options?.createdAt;\n this.pipelineId = options?.pipelineId;\n this.campaignId = options?.campaignId;\n this.orderDetailsPage = `${this.context.appBaseUrl}/order/detail/${this.id}`;\n }\n\n async run(after?: RapidataOrder | string | null) {\n await this.context.ready;\n if (after) {\n await this.context.api.order.patchOrder({\n orderId: this.id,\n requestBody: {\n precedingOrderId: typeof after === \"string\" ? after : after.id,\n },\n });\n }\n\n await this.context.api.order.postOrderSubmit({\n orderId: this.id,\n requestBody: {\n ignoreFailedDatapoints: true,\n },\n });\n\n managedPrint(`Order '${this.name}' is now viewable under: ${this.orderDetailsPage}`);\n return this;\n }\n\n async pause() {\n await this.context.ready;\n await this.context.api.order.postOrderPause({ orderId: this.id });\n }\n\n async unpause() {\n await this.context.ready;\n await this.context.api.order.postOrderResume({ orderId: this.id });\n }\n\n async delete() {\n await this.context.ready;\n await this.context.api.order.deleteOrder({ orderId: this.id });\n }\n\n async getStatus() {\n await this.context.ready;\n const order = await this.context.api.order.getOrder({ orderId: this.id });\n this.createdAt = maybeDate(order.orderDate);\n this.pipelineId = order.pipelineId;\n return order.state;\n }\n\n async displayProgressBar(refreshRate = 5) {\n if (refreshRate < 1) {\n throw new Error(\"refreshRate must be at least 1.\");\n }\n\n while (true) {\n const progress = await this.getWorkflowProgress();\n const status = await this.getStatus();\n managedPrint(`Order '${this.name}': ${progress?.completionPercentage ?? 0}% (${status})`);\n if (!progress || progress.completionPercentage >= 100 || [\"Completed\", \"Failed\", \"Paused\", \"ManualReview\"].includes(status)) {\n return;\n }\n await sleep(refreshRate * 1_000);\n }\n }\n\n async getResults(preliminaryResults = false) {\n await this.context.ready;\n const status = await this.getStatus();\n if (preliminaryResults && status !== \"Completed\") {\n return this.getPreliminaryResults();\n }\n\n while (![\"Completed\", \"Paused\", \"ManualReview\", \"Failed\"].includes(await this.getStatus())) {\n await sleep(1_000);\n }\n\n const resultsBlob = await this.context.api.order.getOrderDownloadResults({ orderId: this.id });\n return new RapidataResults(await blobToJson<Record<string, unknown>>(resultsBlob));\n }\n\n async view() {\n await this.openUrl(this.orderDetailsPage);\n }\n\n async preview() {\n await this.context.ready;\n if ((await this.getStatus()) === \"Created\") {\n await this.context.api.order.postOrderPreview({\n orderId: this.id,\n requestBody: { ignoreFailedDatapoints: true },\n });\n }\n\n const { campaignId } = await this.loadPipelineArtifactIds();\n const previewUrl = `${this.context.appBaseUrl}/order/detail/${this.id}/preview${campaignId ? `?campaignId=${encodeURIComponent(campaignId)}` : \"\"}`;\n await this.openUrl(previewUrl);\n return this;\n }\n\n private async getPreliminaryResults() {\n const { pipelineId } = await this.loadPipelineArtifactIds();\n if (!pipelineId) {\n throw new RapidataError(`Order ${this.id} has no pipeline id yet.`);\n }\n\n const download = await this.context.api.pipeline.postPipelinePreliminaryDownload({\n pipelineId,\n requestBody: { sendEmail: false },\n });\n\n for (let attempt = 0; attempt < 60; attempt += 1) {\n const result = await this.context.api.pipeline.getPipelinePreliminaryDownload({\n preliminaryDownloadId: download.downloadId,\n });\n\n if (result instanceof Blob) {\n return new RapidataResults(await blobToJson<Record<string, unknown>>(result));\n }\n\n await sleep(1_000);\n }\n\n throw new RapidataError(`Preliminary results for order ${this.id} are not available yet.`);\n }\n\n private async getWorkflowProgress() {\n const { workflowId } = await this.loadPipelineArtifactIds();\n if (!workflowId) {\n return undefined;\n }\n\n try {\n return await this.context.api.workflow.getWorkflowProgress({ workflowId });\n } catch {\n return undefined;\n }\n }\n\n private async loadPipelineArtifactIds(): Promise<LoadedPipelineArtifactIds> {\n if (this.pipelineId && this.campaignId) {\n return {\n pipelineId: this.pipelineId,\n campaignId: this.campaignId,\n };\n }\n\n if (!this.pipelineId) {\n const order = await this.context.api.order.getOrder({ orderId: this.id });\n this.pipelineId = order.pipelineId;\n this.createdAt = maybeDate(order.orderDate);\n }\n\n if (!this.pipelineId) {\n return {};\n }\n\n const pipeline = await this.context.api.pipeline.getPipeline({ pipelineId: this.pipelineId });\n const ids = extractPipelineArtifactIds(pipeline);\n this.campaignId = ids.campaignId ?? this.campaignId;\n return {\n pipelineId: this.pipelineId,\n ...ids,\n };\n }\n}\n\nexport class RapidataJobDefinition extends BaseEntity {\n private readonly jobDetailsPage: string;\n\n constructor(\n readonly id: string,\n readonly name: string,\n context: ClientContext,\n ) {\n super(context);\n this.jobDetailsPage = `${this.context.appBaseUrl}/definitions/${this.id}`;\n }\n\n async preview() {\n await this.openUrl(this.jobDetailsPage);\n return this;\n }\n\n async updateDataset(\n datapoints: string[] | string[][],\n dataType: DataType = \"media\",\n contexts?: string[],\n mediaContexts?: string[],\n sentences?: string[],\n privateMetadata?: Array<Record<string, string>>,\n ) {\n await this.context.ready;\n const datapointModels = mapDatapoints({\n datapoints,\n dataType,\n contexts,\n mediaContexts,\n sentences,\n privateMetadata,\n multiAsset: Array.isArray(datapoints[0]),\n });\n\n const dataset = await createDatasetWithDatapoints(this.context, `${this.name}_dataset`, datapointModels, {\n jobDefinitionId: this.id,\n });\n\n await this.context.api.job.postJobDefinitionRevision({\n definitionId: this.id,\n requestBody: {\n datasetId: dataset.id,\n } as Generated.CreateJobRevisionEndpoint_Input,\n });\n\n return this;\n }\n}\n\nexport class RapidataJob extends BaseEntity {\n readonly jobDetailsPage: string;\n\n completedAt?: Date;\n\n pipelineId?: string;\n\n constructor(\n readonly id: string,\n readonly name: string,\n readonly audienceId: string,\n context: ClientContext,\n options?: {\n completedAt?: Date;\n pipelineId?: string;\n },\n ) {\n super(context);\n this.completedAt = options?.completedAt;\n this.pipelineId = options?.pipelineId;\n this.jobDetailsPage = `${this.context.appBaseUrl}/audiences/${this.audienceId}/job/${this.id}`;\n }\n\n async getStatus() {\n await this.context.ready;\n const job = await this.context.api.job.getJob({ jobId: this.id });\n this.completedAt = maybeDate(job.completedAt);\n this.pipelineId = job.pipelineId;\n return job.status;\n }\n\n async getResults() {\n await this.context.ready;\n while (![\"Completed\", \"Failed\"].includes(await this.getStatus())) {\n await sleep(1_000);\n }\n\n const resultsBlob = await this.context.api.job.getJobDownloadResults({ jobId: this.id });\n return new RapidataResults(await blobToJson<Record<string, unknown>>(resultsBlob));\n }\n\n async displayProgressBar(refreshRate = 5) {\n if (refreshRate < 1) {\n throw new Error(\"refreshRate must be at least 1.\");\n }\n\n while (true) {\n const progress = await this.getWorkflowProgress();\n const status = await this.getStatus();\n managedPrint(`Job '${this.name}': ${progress?.completionPercentage ?? 0}% (${status})`);\n if (!progress || progress.completionPercentage >= 100 || [\"Completed\", \"Failed\"].includes(status)) {\n return;\n }\n await sleep(refreshRate * 1_000);\n }\n }\n\n async view() {\n await this.openUrl(this.jobDetailsPage);\n }\n\n private async getWorkflowProgress() {\n if (!this.pipelineId) {\n const job = await this.context.api.job.getJob({ jobId: this.id });\n this.pipelineId = job.pipelineId;\n }\n\n if (!this.pipelineId) {\n return undefined;\n }\n\n try {\n const pipeline = await this.context.api.pipeline.getPipeline({ pipelineId: this.pipelineId });\n const workflowId = extractPipelineArtifactIds(pipeline).workflowId;\n return workflowId\n ? this.context.api.workflow.getWorkflowProgress({ workflowId })\n : undefined;\n } catch {\n return undefined;\n }\n }\n}\n\nexport class RapidataAudience extends BaseEntity {\n readonly id: string;\n\n private _name: string;\n\n private _filters: Generated.IAudienceFilter[];\n\n constructor(\n id: string,\n name: string,\n filters: Generated.IAudienceFilter[],\n context: ClientContext,\n ) {\n super(context);\n this.id = id;\n this._name = name;\n this._filters = filters;\n }\n\n get name() {\n return this._name;\n }\n\n get filters() {\n return this._filters;\n }\n\n async updateFilters(filters: RapidataFilter[]) {\n await this.context.ready;\n const mapped = filters.map((filter) => filter.toAudienceModel());\n await this.context.api.audience.patchAudience({\n audienceId: this.id,\n requestBody: { filters: mapped },\n });\n this._filters = mapped;\n return this;\n }\n\n async updateName(name: string) {\n await this.context.ready;\n await this.context.api.audience.patchAudience({\n audienceId: this.id,\n requestBody: { name },\n });\n this._name = name;\n return this;\n }\n\n async assignJob(jobDefinition: RapidataJobDefinition | string, options?: { name?: string; priority?: number; revisionNumber?: number }) {\n await this.context.ready;\n const result = await this.context.api.job.postJob({\n requestBody: {\n jobDefinitionId: typeof jobDefinition === \"string\" ? jobDefinition : jobDefinition.id,\n audienceId: this.id,\n name: options?.name ?? null,\n priority: options?.priority,\n revisionNumber: options?.revisionNumber,\n },\n });\n\n const job = await this.context.api.job.getJob({ jobId: result.jobId });\n return new RapidataJob(job.jobId, job.name, job.audienceId, this.context, {\n completedAt: maybeDate(job.completedAt),\n pipelineId: job.pipelineId,\n });\n }\n\n async addClassificationExample(\n instruction: string,\n answerOptions: string[],\n datapoint: string,\n truth: string,\n dataType: DataType = \"media\",\n context?: string,\n mediaContext?: string,\n explanation?: string,\n ) {\n await this.context.ready;\n const asset = await this.context.uploader.createAssetInput(datapoint, dataType);\n const contextAsset = mediaContext ? await this.context.uploader.createAssetInput(mediaContext, \"media\") : undefined;\n const requestBody = {\n asset,\n payload: {\n _t: \"ClassifyExamplePayload\",\n title: instruction,\n categories: answerOptions.map((option) => ({ label: option, value: option })),\n },\n truth: {\n _t: \"ClassifyExampleTruth\",\n correctCategory: truth,\n },\n randomCorrectProbability: answerOptions.length === 0 ? 0 : 1 / answerOptions.length,\n explanation,\n context,\n contextAsset,\n } as AddExampleRequest;\n await this.context.api.examples.postAudienceExample({ audienceId: this.id, requestBody });\n return this;\n }\n\n async addCompareExample(\n instruction: string,\n truth: string,\n datapoint: string[],\n dataType: DataType = \"media\",\n context?: string,\n mediaContext?: string,\n explanation?: string,\n ) {\n await this.context.ready;\n const asset = await this.context.uploader.createAssetInput(datapoint, dataType);\n const contextAsset = mediaContext ? await this.context.uploader.createAssetInput(mediaContext, \"media\") : undefined;\n const requestBody = {\n asset,\n payload: {\n _t: \"CompareExamplePayload\",\n criteria: instruction,\n },\n truth: {\n _t: \"CompareExampleTruth\",\n winnerId: truth,\n },\n randomCorrectProbability: datapoint.length === 0 ? 0 : 1 / datapoint.length,\n explanation,\n context,\n contextAsset,\n } as AddExampleRequest;\n await this.context.api.examples.postAudienceExample({ audienceId: this.id, requestBody });\n return this;\n }\n\n async findJobs(name = \"\", amount = 10) {\n await this.context.ready;\n const result = await this.context.api.audience.getAudienceJobs({ audienceId: this.id });\n return result.items\n .filter((job: Generated.QueryJobsResult) => job.name.toLowerCase().includes(name.toLowerCase()))\n .slice(0, amount)\n .map((job: Generated.QueryJobsResult) => new RapidataJob(job.jobId, job.name, job.audienceId, this.context, {\n pipelineId: job.pipelineId,\n }));\n }\n}\n\nexport class RapidataValidationSet extends BaseEntity {\n readonly validationSetDetailsPage: string;\n\n constructor(\n readonly id: string,\n readonly name: string,\n readonly dimensions: string[],\n context: ClientContext,\n ) {\n super(context);\n this.validationSetDetailsPage = `${this.context.appBaseUrl}/validation-set/detail/${this.id}`;\n }\n\n async addRapid(rapid: ValidationRapid) {\n await this.context.ready;\n const asset = await this.context.uploader.createAssetInput(rapid.asset, rapid.dataType);\n const contextAsset = rapid.mediaContext\n ? await this.context.uploader.createAssetInput(rapid.mediaContext, \"media\")\n : undefined;\n\n await this.context.api.validation.postValidationSetRapid({\n validationSetId: this.id,\n requestBody: {\n asset,\n payload: rapid.payload,\n truth: rapid.truth,\n randomCorrectProbability: rapid.randomCorrectProbability,\n explanation: rapid.explanation,\n context: rapid.context,\n contextAsset,\n featureFlags: rapid.settings?.map((setting) => setting.toFeatureFlagModel()),\n } as Generated.AddValidationRapidModel,\n });\n return this;\n }\n\n async updateDimensions(dimensions: string[]) {\n await this.context.ready;\n await this.context.api.validation.patchValidationSet({\n validationSetId: this.id,\n requestBody: { dimensions },\n });\n this.dimensions.splice(0, this.dimensions.length, ...dimensions);\n return this;\n }\n\n async updateShouldAlert(shouldAlert: boolean) {\n await this.context.ready;\n await this.context.api.validation.patchValidationSet({\n validationSetId: this.id,\n requestBody: { shouldAlert },\n });\n return this;\n }\n\n async updateCanBeFlagged(canBeFlagged: boolean) {\n await this.context.ready;\n await this.context.api.validation.patchValidationSet({\n validationSetId: this.id,\n requestBody: { isFlagOverruled: !canBeFlagged },\n });\n return this;\n }\n\n async view() {\n await this.openUrl(this.validationSetDetailsPage);\n }\n\n async delete() {\n await this.context.ready;\n await this.context.api.validation.deleteValidationSet({ validationSetId: this.id });\n }\n}\n\nexport class RapidataFlowItem extends BaseEntity {\n constructor(\n readonly id: string,\n readonly flowId: string,\n context: ClientContext,\n ) {\n super(context);\n }\n\n async getResults() {\n await this.context.ready;\n return this.context.api.rankingFlowItem.getFlowRankingItemResults({ flowItemId: this.id });\n }\n\n async stop() {\n await this.context.ready;\n await this.context.api.flowItem.postFlowItemStop({ flowItemId: this.id });\n }\n}\n\nexport class RapidataFlow extends BaseEntity {\n constructor(\n readonly id: string,\n readonly name: string,\n context: ClientContext,\n ) {\n super(context);\n }\n\n async createNewFlowBatch(\n datapoints: string[] | string[][],\n contextText?: string,\n dataType: DataType = \"media\",\n privateMetadata?: Array<Record<string, string>>,\n acceptFailedUploads = false,\n timeToLive?: number,\n ) {\n await this.context.ready;\n const datapointModels = mapDatapoints({\n datapoints,\n dataType,\n privateMetadata,\n multiAsset: Array.isArray(datapoints[0]),\n });\n\n const dataset = await createDatasetWithDatapoints(this.context, `${this.name}_dataset`, datapointModels, {\n acceptFailedUploads,\n });\n\n const result = await this.context.api.rankingFlowItem.postFlowRankingItem({\n flowId: this.id,\n requestBody: {\n datasetId: dataset.id,\n context: contextText,\n timeToLiveInSeconds: timeToLive,\n },\n });\n\n return new RapidataFlowItem(result.flowItemId, this.id, this.context);\n }\n\n async getFlowItems() {\n await this.context.ready;\n const result = await this.context.api.rankingFlowItem.getFlowRankingItem({ flowId: this.id });\n return result.items.map((item: Generated.QueryFlowItemsEndpoint_Output) => new RapidataFlowItem(item.id, this.id, this.context));\n }\n\n async updateConfig(\n instruction?: string,\n startingElo?: number,\n kFactor?: number,\n scalingFactor?: number,\n ) {\n await this.context.ready;\n await this.context.api.rankingFlow.patchFlowRankingConfig({\n flowId: this.id,\n requestBody: {\n criteria: instruction,\n startingElo,\n kFactor,\n scalingFactor,\n } as Generated.UpdateConfigEndpoint_Input,\n });\n return this;\n }\n\n async delete() {\n await this.context.ready;\n await this.context.api.flow.deleteFlow({ flowId: this.id });\n }\n}\n\nexport class RapidataOrderManager {\n constructor(private readonly context: ClientContext) {}\n\n async createClassificationOrder(\n name: string,\n instruction: string,\n answerOptions: string[],\n datapoints: string[],\n dataType: DataType = \"media\",\n responsesPerDatapoint = 10,\n contexts?: string[],\n mediaContexts?: string[],\n validationSetId?: string,\n confidenceThreshold?: number,\n quorumThreshold?: number,\n filters?: RapidataFilter[],\n settings?: RapidataSetting[],\n selections?: RapidataSelection[],\n privateMetadata?: Array<Record<string, string>>,\n ) {\n const datapointModels = mapDatapoints({\n datapoints,\n dataType,\n contexts,\n mediaContexts,\n privateMetadata,\n });\n\n return createOrder(this.context, {\n name,\n workflow: new ClassifyWorkflow(instruction, answerOptions),\n datapoints: datapointModels,\n responsesPerDatapoint,\n validationSetId,\n confidenceThreshold,\n quorumThreshold,\n filters,\n settings,\n selections,\n });\n }\n\n async createCompareOrder(\n name: string,\n instruction: string,\n datapoints: string[][],\n dataType: DataType = \"media\",\n responsesPerDatapoint = 10,\n contexts?: string[],\n mediaContexts?: string[],\n abNames?: string[],\n validationSetId?: string,\n confidenceThreshold?: number,\n quorumThreshold?: number,\n filters?: RapidataFilter[],\n settings?: RapidataSetting[],\n selections?: RapidataSelection[],\n privateMetadata?: Array<Record<string, string>>,\n ) {\n const datapointModels = mapDatapoints({\n datapoints,\n dataType,\n contexts,\n mediaContexts,\n privateMetadata,\n multiAsset: true,\n });\n\n return createOrder(this.context, {\n name,\n workflow: new CompareWorkflow(instruction, abNames),\n datapoints: datapointModels,\n responsesPerDatapoint,\n validationSetId,\n confidenceThreshold,\n quorumThreshold,\n filters,\n settings,\n selections,\n });\n }\n\n async createRankingOrder(\n name: string,\n instruction: string,\n datapoints: string[][],\n comparisonBudgetPerRanking: number,\n responsesPerComparison = 1,\n dataType: DataType = \"media\",\n randomComparisonsRatio = 0.5,\n contexts?: string[],\n mediaContexts?: string[],\n validationSetId?: string,\n filters?: RapidataFilter[],\n settings?: RapidataSetting[],\n selections?: RapidataSelection[],\n ) {\n if (contexts && contexts.length !== datapoints.length) {\n throw new Error(\"Number of contexts must match the number of ranking groups.\");\n }\n if (mediaContexts && mediaContexts.length !== datapoints.length) {\n throw new Error(\"Number of mediaContexts must match the number of ranking groups.\");\n }\n\n const rankingDatapoints = datapoints.flatMap((group, groupIndex) => {\n if (group.length < 2) {\n throw new Error(\"Each ranking group must contain at least two datapoints.\");\n }\n\n if (new Set(group).size !== group.length) {\n throw new Error(\"Each ranking group must contain unique datapoints.\");\n }\n\n return group.map((asset) => new Datapoint({\n asset,\n dataType,\n context: contexts?.[groupIndex],\n mediaContext: mediaContexts?.[groupIndex],\n group: String(groupIndex),\n }));\n });\n\n const mediaContextsByGroup = mediaContexts\n ? Object.fromEntries(\n await Promise.all(mediaContexts.map(async (item, index) => [\n String(index),\n await this.context.uploader.createAssetInput(item, \"media\"),\n ])),\n )\n : undefined;\n\n return createOrder(this.context, {\n name,\n workflow: new MultiRankingWorkflow(\n instruction,\n comparisonBudgetPerRanking,\n randomComparisonsRatio,\n 1200,\n 40,\n 400,\n contexts ? Object.fromEntries(contexts.map((value, index) => [String(index), value])) : undefined,\n mediaContextsByGroup,\n ),\n datapoints: rankingDatapoints,\n responsesPerDatapoint: responsesPerComparison,\n validationSetId,\n filters,\n settings,\n selections,\n });\n }\n\n async createFreeTextOrder(\n name: string,\n instruction: string,\n datapoints: string[],\n dataType: DataType = \"media\",\n responsesPerDatapoint = 10,\n contexts?: string[],\n mediaContexts?: string[],\n filters?: RapidataFilter[],\n settings?: RapidataSetting[],\n selections?: RapidataSelection[],\n privateMetadata?: Array<Record<string, string>>,\n ) {\n const datapointModels = mapDatapoints({\n datapoints,\n dataType,\n contexts,\n mediaContexts,\n privateMetadata,\n });\n\n return createOrder(this.context, {\n name,\n workflow: new FreeTextWorkflow(instruction),\n datapoints: datapointModels,\n responsesPerDatapoint,\n filters,\n settings,\n selections,\n });\n }\n\n async createSelectWordsOrder(\n name: string,\n instruction: string,\n datapoints: string[],\n sentences: string[],\n responsesPerDatapoint = 10,\n mediaContexts?: string[],\n validationSetId?: string,\n filters?: RapidataFilter[],\n settings?: RapidataSetting[],\n selections?: RapidataSelection[],\n privateMetadata?: Array<Record<string, string>>,\n ) {\n const datapointModels = mapDatapoints({\n datapoints,\n dataType: \"media\",\n mediaContexts,\n sentences,\n privateMetadata,\n });\n\n return createOrder(this.context, {\n name,\n workflow: new SelectWordsWorkflow(instruction),\n datapoints: datapointModels,\n responsesPerDatapoint,\n validationSetId,\n filters,\n settings,\n selections,\n });\n }\n\n async createLocateOrder(\n name: string,\n instruction: string,\n datapoints: string[],\n responsesPerDatapoint = 10,\n contexts?: string[],\n mediaContexts?: string[],\n validationSetId?: string,\n filters?: RapidataFilter[],\n settings?: RapidataSetting[],\n selections?: RapidataSelection[],\n privateMetadata?: Array<Record<string, string>>,\n ) {\n const datapointModels = mapDatapoints({\n datapoints,\n dataType: \"media\",\n contexts,\n mediaContexts,\n privateMetadata,\n });\n\n return createOrder(this.context, {\n name,\n workflow: new LocateWorkflow(instruction),\n datapoints: datapointModels,\n responsesPerDatapoint,\n validationSetId,\n filters,\n settings,\n selections,\n });\n }\n\n async createDrawOrder(\n name: string,\n instruction: string,\n datapoints: string[],\n responsesPerDatapoint = 10,\n contexts?: string[],\n mediaContexts?: string[],\n validationSetId?: string,\n filters?: RapidataFilter[],\n settings?: RapidataSetting[],\n selections?: RapidataSelection[],\n privateMetadata?: Array<Record<string, string>>,\n ) {\n const datapointModels = mapDatapoints({\n datapoints,\n dataType: \"media\",\n contexts,\n mediaContexts,\n privateMetadata,\n });\n\n return createOrder(this.context, {\n name,\n workflow: new DrawWorkflow(instruction),\n datapoints: datapointModels,\n responsesPerDatapoint,\n validationSetId,\n filters,\n settings,\n selections,\n });\n }\n\n async createTimestampOrder(\n name: string,\n instruction: string,\n datapoints: string[],\n responsesPerDatapoint = 10,\n contexts?: string[],\n mediaContexts?: string[],\n validationSetId?: string,\n filters?: RapidataFilter[],\n settings?: RapidataSetting[],\n selections?: RapidataSelection[],\n privateMetadata?: Array<Record<string, string>>,\n ) {\n const datapointModels = mapDatapoints({\n datapoints,\n dataType: \"media\",\n contexts,\n mediaContexts,\n privateMetadata,\n });\n\n return createOrder(this.context, {\n name,\n workflow: new TimestampWorkflow(instruction),\n datapoints: datapointModels,\n responsesPerDatapoint,\n validationSetId,\n filters,\n settings,\n selections,\n });\n }\n\n async getOrderById(orderId: string) {\n await this.context.ready;\n const order = await this.context.api.order.getOrder({ orderId });\n return new RapidataOrder(orderId, order.orderName, this.context, {\n createdAt: maybeDate(order.orderDate),\n pipelineId: order.pipelineId,\n });\n }\n\n async findOrders(name = \"\", amount = 10) {\n await this.context.ready;\n const result = await this.context.api.order.getOrders({\n page: 1,\n pageSize: Math.max(amount, 1),\n orderName: name ? { contains: name } : undefined,\n });\n\n return result.items.slice(0, amount).map((order: Generated.QueryOrdersEndpoint_Output) => new RapidataOrder(order.id, order.orderName, this.context, {\n createdAt: maybeDate(order.orderDate),\n pipelineId: order.pipelineId,\n }));\n }\n}\n\nexport class RapidataAudienceManager {\n constructor(private readonly context: ClientContext) {}\n\n async createAudience(name: string, filters?: RapidataFilter[]) {\n await this.context.ready;\n const requestBody: Generated.CreateAudienceRequest = {\n name,\n filters: filters?.map((filter) => filter.toAudienceModel()),\n };\n const created = await this.context.api.audience.postAudience({ requestBody });\n return new RapidataAudience(created.id, name, requestBody.filters ?? [], this.context);\n }\n\n async getAudienceById(audienceId: string) {\n await this.context.ready;\n const audience = await this.context.api.audience.getAudience({ audienceId });\n return new RapidataAudience(audience.id, audience.name, audience.filters, this.context);\n }\n\n async findAudiences(name = \"\", amount = 10) {\n await this.context.ready;\n const result = await this.context.api.audience.getAudiences({\n request: {\n page: 1,\n pageSize: Math.max(amount, 1),\n filter: name ? { name: { contains: name } } : undefined,\n },\n });\n\n return result.items.slice(0, amount).map((audience: Generated.QueryAudiencesResult) => new RapidataAudience(\n audience.id,\n audience.name,\n audience.filters,\n this.context,\n ));\n }\n}\n\nexport class RapidataJobManager {\n constructor(private readonly context: ClientContext) {}\n\n async createClassificationJobDefinition(\n name: string,\n instruction: string,\n answerOptions: string[],\n datapoints: string[],\n dataType: DataType = \"media\",\n responsesPerDatapoint = 10,\n contexts?: string[],\n mediaContexts?: string[],\n confidenceThreshold?: number,\n quorumThreshold?: number,\n settings?: RapidataSetting[],\n privateMetadata?: Array<Record<string, string>>,\n ) {\n const mappedDatapoints = mapDatapoints({\n datapoints,\n dataType,\n contexts,\n mediaContexts,\n privateMetadata,\n });\n\n return createJobDefinition(this.context, {\n name,\n workflow: new ClassifyWorkflow(instruction, answerOptions),\n datapoints: mappedDatapoints,\n responsesPerDatapoint,\n confidenceThreshold,\n quorumThreshold,\n settings,\n });\n }\n\n async createCompareJobDefinition(\n name: string,\n instruction: string,\n datapoints: string[][],\n dataType: DataType = \"media\",\n responsesPerDatapoint = 10,\n contexts?: string[],\n mediaContexts?: string[],\n abNames?: string[],\n confidenceThreshold?: number,\n quorumThreshold?: number,\n settings?: RapidataSetting[],\n privateMetadata?: Array<Record<string, string>>,\n ) {\n const mappedDatapoints = mapDatapoints({\n datapoints,\n dataType,\n contexts,\n mediaContexts,\n privateMetadata,\n multiAsset: true,\n });\n\n return createJobDefinition(this.context, {\n name,\n workflow: new CompareWorkflow(instruction, abNames),\n datapoints: mappedDatapoints,\n responsesPerDatapoint,\n confidenceThreshold,\n quorumThreshold,\n settings,\n });\n }\n\n async getJobDefinitionById(jobDefinitionId: string) {\n await this.context.ready;\n const definition = await this.context.api.job.getJobDefinition({ definitionId: jobDefinitionId });\n return new RapidataJobDefinition(definition.definitionId, definition.name, this.context);\n }\n\n async findJobDefinitions(name = \"\", amount = 10) {\n await this.context.ready;\n const result = await this.context.api.job.getJobDefinitions({\n request: {\n page: 1,\n pageSize: Math.max(amount, 1),\n filter: name ? { name: { contains: name } } : undefined,\n },\n });\n\n return result.items.slice(0, amount).map((definition: Generated.QueryJobDefinitionsResult) => new RapidataJobDefinition(\n definition.definitionId,\n definition.name,\n this.context,\n ));\n }\n\n async getJobById(jobId: string) {\n await this.context.ready;\n const job = await this.context.api.job.getJob({ jobId });\n return new RapidataJob(job.jobId, job.name, job.audienceId, this.context, {\n completedAt: maybeDate(job.completedAt),\n pipelineId: job.pipelineId,\n });\n }\n\n async findJobs(name = \"\", amount = 10) {\n await this.context.ready;\n const result = await this.context.api.job.getJobs({\n request: {\n page: 1,\n pageSize: Math.max(amount, 1),\n filter: name ? { name: { contains: name } } : undefined,\n },\n });\n\n return result.items.slice(0, amount).map((job: Generated.QueryJobsResult) => new RapidataJob(\n job.jobId,\n job.name,\n job.audienceId,\n this.context,\n { pipelineId: job.pipelineId },\n ));\n }\n}\n\nexport class ValidationSetManager {\n readonly rapids = new RapidsManager();\n\n constructor(private readonly context: ClientContext) {}\n\n async createClassificationSet(\n name: string,\n instruction: string,\n answerOptions: string[],\n datapoints: string[],\n truths: string[][],\n dataType: DataType = \"media\",\n contexts?: string[],\n mediaContexts?: string[],\n explanations?: string[],\n dimensions: string[] = [],\n ) {\n const rapids = datapoints.map((datapoint, index) => this.rapids.classificationRapid({\n instruction,\n answerOptions,\n datapoint,\n truths: truths[index] ?? [],\n dataType,\n context: contexts?.[index],\n mediaContext: mediaContexts?.[index],\n explanation: explanations?.[index],\n }));\n\n return this.createMixedSet(name, rapids, dimensions);\n }\n\n async createCompareSet(\n name: string,\n instruction: string,\n datapoints: string[][],\n truths: string[],\n dataType: DataType = \"media\",\n contexts?: string[],\n mediaContexts?: string[],\n explanation?: string,\n dimensions: string[] = [],\n ) {\n const rapids = datapoints.map((datapoint, index) => this.rapids.compareRapid({\n instruction,\n truth: truths[index]!,\n datapoint,\n dataType,\n context: contexts?.[index],\n mediaContext: mediaContexts?.[index],\n explanation,\n }));\n\n return this.createMixedSet(name, rapids, dimensions);\n }\n\n async createSelectWordsSet(\n name: string,\n instruction: string,\n truths: number[][],\n datapoints: string[],\n sentences: string[],\n requiredPrecision = 1,\n requiredCompleteness = 1,\n explanation?: string,\n dimensions: string[] = [],\n ) {\n const rapids = datapoints.map((datapoint, index) => this.rapids.selectWordsRapid({\n instruction,\n truths: truths[index] ?? [],\n datapoint,\n sentence: sentences[index]!,\n requiredPrecision,\n requiredCompleteness,\n explanation,\n }));\n\n return this.createMixedSet(name, rapids, dimensions);\n }\n\n async createLocateSet(\n name: string,\n instruction: string,\n truths: Box[][],\n datapoints: string[],\n contexts?: string[],\n mediaContexts?: string[],\n explanation?: string,\n dimensions: string[] = [],\n ) {\n const rapids = datapoints.map((datapoint, index) => this.rapids.locateRapid({\n instruction,\n truths: truths[index] ?? [],\n datapoint,\n context: contexts?.[index],\n mediaContext: mediaContexts?.[index],\n explanation,\n }));\n\n return this.createMixedSet(name, rapids, dimensions);\n }\n\n async createDrawSet(\n name: string,\n instruction: string,\n truths: Box[][],\n datapoints: string[],\n contexts?: string[],\n mediaContexts?: string[],\n explanation?: string,\n dimensions: string[] = [],\n ) {\n const rapids = datapoints.map((datapoint, index) => this.rapids.drawRapid({\n instruction,\n truths: truths[index] ?? [],\n datapoint,\n context: contexts?.[index],\n mediaContext: mediaContexts?.[index],\n explanation,\n }));\n\n return this.createMixedSet(name, rapids, dimensions);\n }\n\n async createTimestampSet(\n name: string,\n instruction: string,\n truths: Array<Array<[number, number]>>,\n datapoints: string[],\n contexts?: string[],\n mediaContexts?: string[],\n explanation?: string,\n dimensions: string[] = [],\n ) {\n const rapids = datapoints.map((datapoint, index) => this.rapids.timestampRapid({\n instruction,\n truths: truths[index] ?? [],\n datapoint,\n context: contexts?.[index],\n mediaContext: mediaContexts?.[index],\n explanation,\n }));\n\n return this.createMixedSet(name, rapids, dimensions);\n }\n\n async createMixedSet(name: string, rapids: ValidationRapid[], dimensions: string[] = []) {\n await this.context.ready;\n const created = await this.context.api.validation.postValidationSet({\n requestBody: { name },\n });\n\n const validationSet = new RapidataValidationSet(created.validationSetId, name, [...dimensions], this.context);\n if (dimensions.length > 0) {\n await validationSet.updateDimensions(dimensions);\n }\n\n for (const rapid of rapids) {\n await validationSet.addRapid(rapid);\n }\n\n return validationSet;\n }\n\n async getValidationSetById(validationSetId: string) {\n await this.context.ready;\n const validationSet = await this.context.api.validation.getValidationSet({ validationSetId });\n return new RapidataValidationSet(validationSet.id, validationSet.name, validationSet.dimensions, this.context);\n }\n\n async findValidationSets(name = \"\", amount = 10) {\n await this.context.ready;\n const result = await this.context.api.validation.getValidationSets({\n model: {\n page: 1,\n pageSize: Math.max(amount, 1),\n filter: name ? { name: { contains: name } } : undefined,\n },\n });\n\n return result.items.slice(0, amount).map((validationSet: Generated.ValidationSetModel) => new RapidataValidationSet(\n validationSet.id,\n validationSet.name,\n validationSet.dimensions ?? [],\n this.context,\n ));\n }\n}\n\nexport class RapidataFlowManager {\n constructor(private readonly context: ClientContext) {}\n\n async createRankingFlow(\n name: string,\n instruction: string,\n maxResponseThreshold = 100,\n minResponseThreshold?: number,\n validationSetId?: string,\n settings?: RapidataSetting[],\n ) {\n await this.context.ready;\n const result = await this.context.api.rankingFlow.postFlowRanking({\n requestBody: {\n name,\n criteria: instruction,\n maxResponses: maxResponseThreshold,\n minResponses: minResponseThreshold,\n validationSetId,\n featureFlags: settings?.map((setting) => setting.toFeatureFlag()),\n },\n });\n\n return new RapidataFlow(result.flowId, name, this.context);\n }\n\n async getFlowById(flowId: string) {\n await this.context.ready;\n const flow = await this.context.api.flow.getFlow({ flowId });\n return new RapidataFlow(flow.id, flow.name, this.context);\n }\n\n async findFlows(amount = 10) {\n await this.context.ready;\n const result = await this.context.api.flow.getFlows({\n request: {\n page: 1,\n pageSize: Math.max(amount, 1),\n },\n });\n\n return result.items.slice(0, amount).map((flow: Generated.QueryFlowsEndpoint_Output) => new RapidataFlow(flow.id, flow.name, this.context));\n }\n}\n\nexport class RapidataBenchmarkManager {\n constructor(readonly api: Pick<RapidataApiClient, \"benchmark\" | \"leaderboard\">) {}\n}\n\nasync function createDatasetWithDatapoints(\n context: ClientContext,\n name: string,\n datapoints: Datapoint[],\n options?: {\n datasetId?: string;\n acceptFailedUploads?: boolean;\n orderId?: string;\n jobDefinitionId?: string;\n },\n) {\n const datasetId = options?.datasetId\n ?? (await context.api.dataset.postDataset({ requestBody: { name } })).datasetId;\n\n if (!datasetId) {\n throw new RapidataError(`Failed to create dataset '${name}'.`);\n }\n\n const failedUploads: Array<FailedUpload<Datapoint>> = [];\n for (let index = 0; index < datapoints.length; index += 1) {\n const datapoint = datapoints[index]!;\n try {\n const asset = await context.uploader.createAssetInput(datapoint.asset, datapoint.dataType);\n const contextAsset = datapoint.mediaContext\n ? await context.uploader.createAssetInput(datapoint.mediaContext, \"media\")\n : undefined;\n\n await context.api.dataset.postDatasetDatapoint({\n datasetId,\n requestBody: {\n asset,\n context: datapoint.context,\n contextAsset,\n sortIndex: index,\n group: datapoint.group,\n transcription: datapoint.sentence,\n privateMetadata: datapoint.privateMetadata,\n },\n });\n } catch (error) {\n failedUploads.push(FailedUpload.fromException(datapoint, error));\n }\n }\n\n if (failedUploads.length > 0 && !options?.acceptFailedUploads) {\n throw new FailedUploadException(\n `Failed to upload ${failedUploads.length} datapoint(s).`,\n {\n failedUploads,\n datasetId,\n orderId: options?.orderId,\n jobDefinitionId: options?.jobDefinitionId,\n },\n );\n }\n\n return { id: datasetId, failedUploads };\n}\n\nfunction createReferee(\n responsesPerDatapoint: number,\n confidenceThreshold?: number,\n quorumThreshold?: number,\n) {\n if (confidenceThreshold !== undefined && quorumThreshold !== undefined) {\n throw new Error(\"Cannot set both confidenceThreshold and quorumThreshold.\");\n }\n\n if (quorumThreshold !== undefined) {\n return new QuorumReferee(quorumThreshold, responsesPerDatapoint);\n }\n\n if (confidenceThreshold !== undefined) {\n return new EarlyStoppingReferee(confidenceThreshold, responsesPerDatapoint);\n }\n\n return new NaiveReferee(responsesPerDatapoint);\n}\n\nasync function createOrder(context: ClientContext, options: CreateOrderBaseOptions) {\n await context.ready;\n\n const referee = createReferee(\n options.responsesPerDatapoint,\n options.confidenceThreshold,\n options.quorumThreshold,\n );\n\n const created = await context.api.order.postOrder({\n requestBody: {\n orderName: options.name,\n workflow: options.workflow.toModel(),\n referee: referee.toModel(),\n userFilters: options.filters?.map((filter) => filter.toModel()),\n validationSetId: options.validationSetId && !options.selections?.length\n ? options.validationSetId\n : undefined,\n featureFlags: options.settings?.map((setting) => setting.toFeatureFlagModel()),\n selections: options.selections?.map((selection) => selection.toModel()),\n } as Generated.CreateOrderModel,\n });\n\n const order = new RapidataOrder(created.orderId, options.name, context, {\n pipelineId: created.pipelineId,\n campaignId: created.campaignId ?? undefined,\n });\n\n if (!created.datasetId) {\n return order;\n }\n\n await createDatasetWithDatapoints(context, `${options.name}_dataset`, options.datapoints, {\n datasetId: created.datasetId,\n orderId: created.orderId,\n });\n\n try {\n await context.api.order.postOrderPreview({\n orderId: created.orderId,\n requestBody: { ignoreFailedDatapoints: true },\n });\n } catch (error) {\n logger.debug(\"Failed to switch order %s into preview: %s\", created.orderId, error);\n }\n\n return order;\n}\n\nasync function createJobDefinition(\n context: ClientContext,\n options: {\n name: string;\n workflow: Workflow;\n datapoints: Datapoint[];\n responsesPerDatapoint: number;\n confidenceThreshold?: number;\n quorumThreshold?: number;\n settings?: RapidataSetting[];\n },\n) {\n await context.ready;\n const dataset = await createDatasetWithDatapoints(context, `${options.name}_dataset`, options.datapoints);\n const referee = createReferee(\n options.responsesPerDatapoint,\n options.confidenceThreshold,\n options.quorumThreshold,\n );\n\n const created = await context.api.job.postJobDefinition({\n requestBody: {\n definitionName: options.name,\n workflow: options.workflow.toModel(),\n referee: referee.toModel(),\n datasetId: dataset.id,\n featureFlags: options.settings?.map((setting) => setting.toFeatureFlag()),\n } as Generated.CreateJobDefinitionEndpoint_Input,\n });\n\n return new RapidataJobDefinition(created.definitionId, options.name, context);\n}\n\ntype AddExampleRequest = Generated.AddExampleToAudienceEndpoint_Input & Record<string, unknown>;\n\nexport class RapidataClient {\n readonly api: RapidataApiClient;\n\n readonly order: RapidataOrderManager;\n\n readonly validation: ValidationSetManager;\n\n readonly flow: RapidataFlowManager;\n\n readonly job: RapidataJobManager;\n\n readonly mri: RapidataBenchmarkManager;\n\n readonly audience: RapidataAudienceManager;\n\n private readonly uploader: AssetUploader;\n\n private readonly context: ClientContext;\n\n readonly ready: Promise<void>;\n\n constructor(options: RapidataClientOptions = {}) {\n tracer.setSessionId(randomUUID().replaceAll(\"-\", \"\"));\n\n const environment = normalizeEnvironment(options.environment ?? DEFAULT_ENVIRONMENT);\n if (environment !== DEFAULT_ENVIRONMENT) {\n rapidataConfig.logging.enableOtlp = false;\n }\n\n this.api = new RapidataApiClient(options);\n this.uploader = new AssetUploader(this.api);\n this.context = {\n api: this.api,\n uploader: this.uploader,\n ready: Promise.resolve(),\n appBaseUrl: `https://app.${environment}`,\n apiBaseUrl: `https://api.${environment}`,\n };\n this.ready = this.initialize();\n this.context.ready = this.ready;\n\n this.order = new RapidataOrderManager(this.context);\n this.validation = new ValidationSetManager(this.context);\n this.flow = new RapidataFlowManager(this.context);\n this.job = new RapidataJobManager(this.context);\n this.mri = new RapidataBenchmarkManager(this.api);\n this.audience = new RapidataAudienceManager(this.context);\n }\n\n async resetCredentials() {\n await this.api.resetCredentials();\n }\n\n clearAllCaches() {\n this.uploader.clearCache();\n }\n\n private async initialize() {\n await this.checkVersion();\n await this.checkBetaFeatures();\n }\n\n private async checkBetaFeatures() {\n try {\n const result = await this.api.getUserInfo();\n const clientId = typeof result.sub === \"string\" ? result.sub : undefined;\n const email = typeof result.email === \"string\" ? result.email : undefined;\n if (clientId || email) {\n tracer.setUserInfo({ clientId, email });\n }\n\n const role = result.role;\n const roles = Array.isArray(role) ? role : typeof role === \"string\" ? [role] : [];\n if (roles.includes(\"Admin\")) {\n rapidataConfig.enableBetaFeatures = true;\n }\n } catch (error) {\n logger.debug(\"Failed to check beta features: %s\", error);\n }\n }\n\n private async checkVersion() {\n try {\n const response = await fetch(\n `https://api.github.com/repos/${LATEST_RELEASE_REPOSITORY}/releases/latest`,\n {\n headers: { Accept: \"application/vnd.github+json\" },\n signal: AbortSignal.timeout(1_000),\n },\n );\n if (!response.ok) {\n return;\n }\n\n const payload = await response.json() as { tag_name?: string };\n const latestVersion = payload.tag_name?.replace(/^v/, \"\");\n if (latestVersion && compareVersions(latestVersion, SDK_VERSION) > 0) {\n managedPrint(`A new version of the Rapidata SDK is available: ${latestVersion}\\nYour current version is: ${SDK_VERSION}`);\n }\n } catch (error) {\n logger.debug(\"Failed to check for updates: %s\", error);\n }\n }\n}\n"]}
|