@crowdin/crowdin-api-client
Version:
JavaScript library for Crowdin API
727 lines (726 loc) • 33.4 kB
TypeScript
import { CrowdinApi, DownloadLink, PaginationOptions, PatchRequest, PlainObject, ResponseList, ResponseObject, Status } from '../core';
export declare class Ai extends CrowdinApi {
/**
* @param options request options
* @see https://support.crowdin.com/developer/enterprise/api/v2/#tag/AI/operation/api.ai.prompts.custom.placeholders.getMany
*/
listAiOrganizationCustomPlaceholders(options?: PaginationOptions): Promise<ResponseList<AiModel.CustomPlaceholder>>;
/**
* @param request request body
* @see https://support.crowdin.com/developer/enterprise/api/v2/#tag/AI/operation/api.ai.settings.custom-placeholders.post
*/
addAiOrganizationCustomPlaceholder(request: AiModel.AddCustomPlaceholderRequest): Promise<ResponseObject<AiModel.CustomPlaceholder>>;
/**
* @param aiCustomPlaceholderId ai custom placeholder identifier
* @see https://support.crowdin.com/developer/enterprise/api/v2/#tag/AI/operation/api.ai.settings.custom-placeholders.get
*/
getAiOrganizationCustomPlaceholder(aiCustomPlaceholderId: number): Promise<ResponseObject<AiModel.CustomPlaceholder>>;
/**
* @param aiCustomPlaceholderId ai custom placeholder identifier
* @see https://support.crowdin.com/developer/enterprise/api/v2/#tag/AI/operation/api.ai.settings.custom-placeholders.delete
*/
deleteAiOrganizationCustomPlaceholder(aiCustomPlaceholderId: number): Promise<void>;
/**
* @param aiCustomPlaceholderId ai custom placeholder identifier
* @param request request body
* @see https://support.crowdin.com/developer/enterprise/api/v2/#tag/AI/operation/api.ai.settings.custom-placeholders.patch
*/
editAiOrganizationCustomPlaceholder(aiCustomPlaceholderId: number, request: PatchRequest[]): Promise<ResponseObject<AiModel.CustomPlaceholder>>;
/**
* @param aiPromptId ai prompt identifier
* @param request request body
* @see https://support.crowdin.com/developer/enterprise/api/v2/#tag/AI/operation/api.ai.prompts.fine-tuning.datasets.post
*/
generateAiOrganizationPromptFineTuningDataset(aiPromptId: number, request: AiModel.GenerateFineTuningDataset): Promise<ResponseObject<Status<AiModel.FineTuningDataset>>>;
/**
* @param aiPromptId ai prompt identifier
* @param jobIdentifier job identifier
* @see https://support.crowdin.com/developer/enterprise/api/v2/#tag/AI/operation/api.ai.prompts.fine-tuning.datasets.get
*/
getAiOrganizationPromptFineTuningDatasetStatus(aiPromptId: number, jobIdentifier: string): Promise<ResponseObject<Status<AiModel.FineTuningDataset>>>;
/**
* @param aiPromptId ai prompt identifier
* @param jobIdentifier job identifier
* @param options request options
* @see https://support.crowdin.com/developer/enterprise/api/v2/#tag/AI/operation/api.ai.prompts.fine-tuning.jobs.events.getMany
*/
listAiOrganizationPromptFineTuningEvents(aiPromptId: number, jobIdentifier: string, options?: PaginationOptions): Promise<ResponseList<AiModel.PromptFineTuningEvent>>;
/**
* @param options request options
* @see https://support.crowdin.com/developer/enterprise/api/v2/#tag/AI/operation/api.ai.prompts.fine-tuning.jobs.getMany
*/
listAiOrganizationPromptFineTuningJobs(options?: AiModel.ListPromptFineTuningJobsOptions): Promise<ResponseList<Status<AiModel.FineTuningJob>>>;
/**
* @param aiPromptId ai prompt identifier
* @param request request body
* @see https://support.crowdin.com/developer/enterprise/api/v2/#tag/AI/operation/api.ai.prompts.fine-tuning.jobs.post
*/
createAiOrganizationPromptFineTuningJob(aiPromptId: number, request: AiModel.GenerateFineTuningJob): Promise<ResponseObject<Status<AiModel.FineTuningJob>>>;
/**
* @param aiPromptId ai prompt identifier
* @param jobIdentifier job identifier
* @see https://support.crowdin.com/developer/enterprise/api/v2/#tag/AI/operation/api.ai.prompts.fine-tuning.jobs.get
*/
getAiOrganizationPromptFineTuningJobStatus(aiPromptId: number, jobIdentifier: string): Promise<ResponseObject<Status<AiModel.FineTuningJob>>>;
/**
* @param aiPromptId ai prompt identifier
* @param jobIdentifier job identifier
* @see https://support.crowdin.com/developer/enterprise/api/v2/#tag/AI/operation/api.ai.prompts.fine-tuning.jobs.get
*/
downloadAiOrganizationPromptFineTuningDataset(aiPromptId: number, jobIdentifier: string): Promise<ResponseObject<DownloadLink>>;
/**
* @param aiPromptId ai prompt identifier
* @param request request body
* @see https://developer.crowdin.com/enterprise/api/v2/#operation/api.ai.prompts.clones.post
*/
cloneAiOrganizationPrompt(aiPromptId: number, request?: {
name?: string;
}): Promise<ResponseObject<AiModel.AiPromptResponse>>;
/**
* @param options optional parameters for the request
* @see https://developer.crowdin.com/enterprise/api/v2/#operation/api.ai.prompts.getMany
*/
listAiOrganizationPrompts(options?: AiModel.ListAiPromptsOptions): Promise<ResponseList<AiModel.AiPromptResponse>>;
/**
* @param request request body
* @see https://developer.crowdin.com/enterprise/api/v2/#operation/api.ai.prompts.post
*/
addAiOrganizationPrompt(request: AiModel.AddAiPromptRequest): Promise<ResponseObject<AiModel.AiPromptResponse>>;
/**
* @param aiPromptId ai Prompt identifier
* @param request request body
* @see https://support.crowdin.com/developer/enterprise/api/v2/#tag/AI/operation/api.ai.prompts.completions.post
*/
generateAiOrganizationPromptCompletion(aiPromptId: number, request: AiModel.GenerateAiPromptCompletionRequest): Promise<ResponseObject<Status<AiModel.AiPromptCompletionAttribute>>>;
/**
* @param aiPromptId ai Prompt identifier
* @param completionId completion identifier
* @see https://support.crowdin.com/developer/enterprise/api/v2/#tag/AI/operation/api.ai.prompts.completions.get
*/
getAiOrganizationPromptCompletionStatus(aiPromptId: number, completionId: string): Promise<ResponseObject<Status<AiModel.AiPromptCompletionAttribute>>>;
/**
* @param aiPromptId ai Prompt identifier
* @param completionId completion identifier
* @see https://support.crowdin.com/developer/enterprise/api/v2/#tag/AI/operation/api.ai.prompts.completions.delete
*/
cancelAiOrganizationPromptCompletion(aiPromptId: number, completionId: string): Promise<void>;
/**
* @param aiPromptId ai Prompt identifier
* @param completionId completion identifier
* @see https://support.crowdin.com/developer/enterprise/api/v2/#tag/AI/operation/api.ai.prompts.completions.download.download
*/
downloadAiOrganizationPromptCompletion(aiPromptId: number, completionId: string): Promise<ResponseObject<DownloadLink>>;
/**
* @param aiPromptId ai Prompt identifier.
* @see https://developer.crowdin.com/enterprise/api/v2/#operation/api.ai.prompts.get
*/
getAiOrganizationPrompt(aiPromptId: number): Promise<ResponseObject<AiModel.AiPromptResponse>>;
/**
* @param aiPromptId ai Prompt identifier
* @see https://developer.crowdin.com/enterprise/api/v2/#operation/api.ai.prompts.delete
*/
deleteAiOrganizationPrompt(aiPromptId: number): Promise<void>;
/**
* @param aiPromptId ai Prompt identifier
* @param request request body
* @see https://developer.crowdin.com/enterprise/api/v2/#operation/api.ai.prompts.patch
*/
editAiOrganizationPrompt(aiPromptId: number, request: PatchRequest[]): Promise<ResponseObject<AiModel.AiPromptResponse>>;
/**
* @param options optional parameters for the request
* @see https://developer.crowdin.com/enterprise/api/v2/#operation/api.ai.providers.getMany
*/
listAiOrganizationProviders(options?: PaginationOptions): Promise<ResponseList<AiModel.AiProviderResponse>>;
/**
* @param request request body
* @see https://developer.crowdin.com/enterprise/api/v2/#operation/api.ai.providers.post
*/
addAiOrganizationProvider(request: AiModel.AddAiProviderRequest): Promise<ResponseObject<AiModel.AiProviderResponse>>;
/**
* @param aiProviderId ai Provider identifier.
* @see https://developer.crowdin.com/enterprise/api/v2/#operation/api.ai.providers.get
*/
getAiOrganizationProvider(aiProviderId: number): Promise<ResponseObject<AiModel.AiProviderResponse>>;
/**
* @param aiProviderId ai Provider identifier.
* @see https://developer.crowdin.com/enterprise/api/v2/#operation/api.ai.providers.delete
*/
deleteAiOrganizationProvider(aiProviderId: number): Promise<void>;
/**
* @param aiProviderId ai Provider identifier
* @param request request body
* @see https://developer.crowdin.com/enterprise/api/v2/#operation/api.ai.providers.patch
*/
editAiOrganizationProvider(aiProviderId: number, request: PatchRequest[]): Promise<ResponseObject<AiModel.AiProviderResponse>>;
/**
* @param aiProviderId ai Provider identifier
* @param options optional parameters for the request
* @see https://developer.crowdin.com/enterprise/api/v2/#operation/api.ai.providers.models.getMany
*/
listAiOrganizationProviderModels(aiProviderId: number, options?: PaginationOptions): Promise<ResponseList<AiModel.AiProviderModelResponse>>;
/**
* @param aiProviderId ai Provider identifier
* @param request request body
* @see https://developer.crowdin.com/enterprise/api/v2/#operation/api.ai.providers.chat.completions.post
*/
createAiOrganizationProxyChatCompletion(aiProviderId: number, request?: AiModel.OtherChatCompletionRequest | AiModel.GoogleGeminiChatCompletionRequest): Promise<ResponseObject<AiModel.AiProviderProxyResponseData>>;
/**
* @param request request body
* @see https://support.crowdin.com/developer/enterprise/api/v2/#tag/AI/operation/api.ai.reports.post
*/
generateAiOrganizationReport(request: AiModel.AiReport): Promise<ResponseObject<Status<AiModel.AiReport>>>;
/**
* @param aiReportId report identifier
* @see https://support.crowdin.com/developer/enterprise/api/v2/#tag/AI/operation/api.ai.reports.get
*/
checkAiOrganizationReportStatus(aiReportId: string): Promise<ResponseObject<Status<AiModel.AiReport>>>;
/**
* @param aiReportId report identifier
* @see https://support.crowdin.com/developer/enterprise/api/v2/#tag/AI/operation/api.ai.reports.download.download
*/
downloadAiOrganizationReport(aiReportId: string): Promise<ResponseObject<DownloadLink>>;
/**
* @see https://developer.crowdin.com/enterprise/api/v2/#operation/api.ai.settings.get
*/
getAiOrganizationSettings(): Promise<ResponseObject<AiModel.AiSettings>>;
/**
* @param request request body
* @see https://developer.crowdin.com/enterprise/api/v2/#operation/api.ai.settings.patch
*/
editAiOrganizationSettings(request: PatchRequest[]): Promise<ResponseObject<AiModel.AiSettings>>;
/**
* @param userId user identifier
* @param options request options
* @see https://support.crowdin.com/developer/api/v2/#tag/AI/operation/api.ai.prompt.custom.placeholders.getMany
*/
listAiUserCustomPlaceholders(userId: number, options?: PaginationOptions): Promise<ResponseList<AiModel.CustomPlaceholder>>;
/**
* @param userId user identifier
* @param request request body
* @see https://support.crowdin.com/developer/api/v2/#tag/AI/operation/api.users.ai.settings.custom-placeholders.post
*/
addAiUserCustomPlaceholder(userId: number, request: AiModel.AddCustomPlaceholderRequest): Promise<ResponseObject<AiModel.CustomPlaceholder>>;
/**
* @param userId user identifier
* @param aiCustomPlaceholderId ai custom placeholder identifier
* @see https://support.crowdin.com/developer/api/v2/#tag/AI/operation/api.users.ai.settings.custom-placeholders.get
*/
getAiUserCustomPlaceholder(userId: number, aiCustomPlaceholderId: number): Promise<ResponseObject<AiModel.CustomPlaceholder>>;
/**
* @param userId user identifier
* @param aiCustomPlaceholderId ai custom placeholder identifier
* @see https://support.crowdin.com/developer/api/v2/#tag/AI/operation/api.users.ai.settings.custom-placeholders.delete
*/
deleteAiUserCustomPlaceholder(userId: number, aiCustomPlaceholderId: number): Promise<void>;
/**
* @param userId user identifier
* @param aiCustomPlaceholderId ai custom placeholder identifier
* @param request request body
* @see https://support.crowdin.com/developer/api/v2/#tag/AI/operation/api.users.ai.settings.custom-placeholders.patch
*/
editAiUserCustomPlaceholder(userId: number, aiCustomPlaceholderId: number, request: PatchRequest[]): Promise<ResponseObject<AiModel.CustomPlaceholder>>;
/**
* @param userId user identifier
* @param aiPromptId ai prompt identifier
* @param request request body
* @see https://support.crowdin.com/developer/api/v2/#tag/AI/operation/api.ai.prompts.fine-tuning.datasets.post
*/
generateAiUserPromptFineTuningDataset(userId: number, aiPromptId: number, request: AiModel.GenerateFineTuningDataset): Promise<ResponseObject<Status<AiModel.FineTuningDataset>>>;
/**
* @param userId user identifier
* @param aiPromptId ai prompt identifier
* @param jobIdentifier job identifier
* @see https://support.crowdin.com/developer/api/v2/#tag/AI/operation/api.users.ai.prompts.fine-tuning.datasets.get
*/
getAiUserPromptFineTuningDatasetStatus(userId: number, aiPromptId: number, jobIdentifier: string): Promise<ResponseObject<Status<AiModel.FineTuningDataset>>>;
/**
* @param userId user identifier
* @param aiPromptId ai prompt identifier
* @param jobIdentifier job identifier
* @param options request options
* @see https://support.crowdin.com/developer/api/v2/#tag/AI/operation/api.ai.prompts.fine-tuning.jobs.events.getMany
*/
listAiUserPromptFineTuningEvents(userId: number, aiPromptId: number, jobIdentifier: string, options?: PaginationOptions): Promise<ResponseList<AiModel.PromptFineTuningEvent>>;
/**
* @param userId user identifier
* @param options request options
* @see https://support.crowdin.com/developer/api/v2/#tag/AI/operation/api.ai.prompts.fine-tuning.jobs.getMany
*/
listAiUserPromptFineTuningJobs(userId: number, options?: AiModel.ListPromptFineTuningJobsOptions): Promise<ResponseList<Status<AiModel.FineTuningJob>>>;
/**
* @param userId user identifier
* @param aiPromptId ai prompt identifier
* @param request request body
* @see https://support.crowdin.com/developer/api/v2/#tag/AI/operation/api.ai.prompts.fine-tuning.jobs.post
*/
createAiUserPromptFineTuningJob(userId: number, aiPromptId: number, request: AiModel.GenerateFineTuningJob): Promise<ResponseObject<Status<AiModel.FineTuningJob>>>;
/**
* @param userId user identifier
* @param aiPromptId ai prompt identifier
* @param jobIdentifier job identifier
* @see https://support.crowdin.com/developer/api/v2/#tag/AI/operation/api.users.ai.prompts.fine-tuning.jobs.get
*/
getAiUserPromptFineTuningJobStatus(userId: number, aiPromptId: number, jobIdentifier: string): Promise<ResponseObject<Status<AiModel.FineTuningJob>>>;
/**
* @param userId user identifier
* @param aiPromptId ai prompt identifier
* @param jobIdentifier job identifier
* @see https://support.crowdin.com/developer/api/v2/#tag/AI/operation/api.users.ai.prompts.fine-tuning.datasets.download.get
*/
downloadAiUserPromptFineTuningDataset(userId: number, aiPromptId: number, jobIdentifier: string): Promise<ResponseObject<DownloadLink>>;
/**
* @param userId user identifier
* @param aiPromptId ai prompt identifier
* @param request request body
* @see https://developer.crowdin.com/api/v2/#operation/api.users.ai.prompts.clones.post
*/
cloneAiUserPrompt(userId: number, aiPromptId: number, request?: {
name?: string;
}): Promise<ResponseObject<AiModel.AiPromptResponse>>;
/**
* @param userId user identifier
* @param options optional parameters for the request
* @see https://developer.crowdin.com/api/v2/#operation/api.users.ai.prompts.post
*/
listAiUserPrompts(userId: number, options?: AiModel.ListAiPromptsOptions): Promise<ResponseList<AiModel.AiPromptResponse>>;
/**
* @param userId user identifier
* @param request request body
* @see https://developer.crowdin.com/api/v2/#operation/api.users.ai.prompts.post
*/
addAiUserPrompt(userId: number, request: AiModel.AddAiPromptRequest): Promise<ResponseObject<AiModel.AiPromptResponse>>;
/**
* @param userId user identifier
* @param aiPromptId ai Prompt identifier
* @param request request body
* @see https://support.crowdin.com/developer/api/v2/#tag/AI/operation/api.ai.prompts.completions.post
*/
generateAiUserPromptCompletion(userId: number, aiPromptId: number, request: AiModel.GenerateAiPromptCompletionRequest): Promise<ResponseObject<Status<AiModel.AiPromptCompletionAttribute>>>;
/**
* @param userId user identifier
* @param aiPromptId ai Prompt identifier
* @param completionId completion identifier
* @see https://support.crowdin.com/developer/api/v2/#tag/AI/operation/api.users.ai.prompts.completions.get
*/
getAiUserPromptCompletionStatus(userId: number, aiPromptId: number, completionId: string): Promise<ResponseObject<Status<AiModel.AiPromptCompletionAttribute>>>;
/**
* @param userId user identifier
* @param aiPromptId ai Prompt identifier
* @param completionId completion identifier
* @see https://support.crowdin.com/developer/api/v2/#tag/AI/operation/api.users.ai.prompts.completions.delete
*/
cancelAiUserPromptCompletion(userId: number, aiPromptId: number, completionId: string): Promise<void>;
/**
* @param userId user identifier
* @param aiPromptId ai Prompt identifier
* @param completionId completion identifier
* @see https://support.crowdin.com/developer/api/v2/#tag/AI/operation/api.users.ai.prompts.completions.download.download
*/
downloadAiUserPromptCompletion(userId: number, aiPromptId: number, completionId: string): Promise<ResponseObject<DownloadLink>>;
/**
* @param userId user identifier
* @param aiPromptId ai Prompt identifier.
* @see https://developer.crowdin.com/api/v2/#operation/api.users.ai.prompts.get
*/
getAiUserPrompt(userId: number, aiPromptId: number): Promise<ResponseObject<AiModel.AiPromptResponse>>;
/**
* @param userId user identifier
* @param aiPromptId ai Prompt identifier.
* @see https://developer.crowdin.com/api/v2/#operation/api.users.ai.prompts.delete
*/
deleteAiUserPrompt(userId: number, aiPromptId: number): Promise<void>;
/**
* @param userId user identifier
* @param aiPromptId ai Prompt identifier
* @param request request body
* @see https://developer.crowdin.com/api/v2/#operation/api.users.ai.prompts.patch
*/
editAiUserPrompt(userId: number, aiPromptId: number, request: PatchRequest[]): Promise<ResponseObject<AiModel.AiPromptResponse>>;
/**
* @param userId user identifier
* @param options optional parameters for the request
* @see https://developer.crowdin.com/api/v2/#operation/api.ai.providers.getMany
*/
listAiUserProviders(userId: number, options?: PaginationOptions): Promise<ResponseList<AiModel.AiProviderResponse>>;
/**
* @param userId user identifier
* @param request request body
* @see https://developer.crowdin.com/api/v2/#operation/api.users.ai.providers.post
*/
addAiUserProvider(userId: number, request: AiModel.AddAiProviderRequest): Promise<ResponseObject<AiModel.AiProviderResponse>>;
/**
* @param userId user identifier
* @param aiProviderId ai Provider identifier.
* @see https://developer.crowdin.com/api/v2/#operation/api.users.ai.providers.get
*/
getAiUserProvider(userId: number, aiProviderId: number): Promise<ResponseObject<AiModel.AiProviderResponse>>;
/**
* @param userId user identifier
* @param aiProviderId ai Provider identifier.
* @see https://developer.crowdin.com/api/v2/#operation/api.users.ai.providers.delete
*/
deleteAiUserProvider(userId: number, aiProviderId: number): Promise<void>;
/**
* @param userId user identifier
* @param aiProviderId ai Provider identifier
* @param request request body
* @see https://developer.crowdin.com/api/v2/#operation/api.users.ai.providers.patch
*/
editAiUserProvider(userId: number, aiProviderId: number, request: PatchRequest[]): Promise<ResponseObject<AiModel.AiProviderResponse>>;
/**
* @param userId user identifier
* @param aiProviderId ai Provider identifier
* @param options optional parameters for the request
* @see https://developer.crowdin.com/api/v2/#operation/api.ai.providers.models.getMany
*/
listAiUserProviderModels(userId: number, aiProviderId: number, options?: PaginationOptions): Promise<ResponseList<AiModel.AiProviderModelResponse>>;
/**
* @param userId user Identifier
* @param aiProviderId ai Provider identifier
* @param request request body
* @see https://developer.crowdin.com/api/v2/#operation/api.users.ai.providers.chat.completions.post
*/
createAiUserProxyChatCompletion(userId: number, aiProviderId: number, request?: AiModel.OtherChatCompletionRequest | AiModel.GoogleGeminiChatCompletionRequest): Promise<ResponseObject<AiModel.AiProviderProxyResponseData>>;
/**
* @param userId user identifier
* @param request request body
* @see https://support.crowdin.com/developer/api/v2/#tag/AI/operation/api.users.ai.reports.post
*/
generateAiUserReport(userId: number, request: AiModel.AiReport): Promise<ResponseObject<Status<AiModel.AiReport>>>;
/**
* @param userId user identifier
* @param aiReportId report identifier
* @see https://support.crowdin.com/developer/api/v2/#tag/AI/operation/api.users.ai.reports.get
*/
checkAiUserReportStatus(userId: number, aiReportId: string): Promise<ResponseObject<Status<AiModel.AiReport>>>;
/**
* @param userId user identifier
* @param aiReportId report identifier
* @see https://support.crowdin.com/developer/api/v2/#tag/AI/operation/api.users.ai.reports.download.download
*/
downloadAiUserReport(userId: number, aiReportId: string): Promise<ResponseObject<DownloadLink>>;
/**
* @param userId user Identifier
* @see https://developer.crowdin.com/api/v2/#operation/api.users.ai.settings.get
*/
getAiUsertSettings(userId: number): Promise<ResponseObject<AiModel.AiSettings>>;
/**
* @param userId user Identifier
* @param request request body
* @see https://developer.crowdin.com/api/v2/#operation/api.users.ai.settings.patch
*/
editAiUserSettings(userId: number, request: PatchRequest[]): Promise<ResponseObject<AiModel.AiSettings>>;
}
export declare namespace AiModel {
interface CustomPlaceholder {
id: number;
description: string;
placeholder: string;
value: string;
createdAt: string;
updatedAt: string;
}
interface AddCustomPlaceholderRequest {
description: string;
placeholder: string;
value: string;
}
interface FineTuningDataset {
projectIds: number[];
tmIds: number[];
purpose: 'training' | 'validation';
dateFrom: string;
dateTo: string;
maxFileSize: number;
minExamplesCount: number;
maxExamplesCount: number;
}
interface GenerateFineTuningDataset {
projectIds?: number[];
tmIds?: number[];
purpose?: 'training' | 'validation';
dateFrom?: string;
dateTo?: string;
maxFileSize?: number;
minExamplesCount?: number;
maxExamplesCount?: number;
}
interface GenerateFineTuningJob {
dryRun?: boolean;
hyperparameters?: {
batchSize: number;
learningRateMultiplier: number;
nEpochs: number;
};
trainingOptions: Omit<GenerateFineTuningDataset, 'purpose'>;
validationOptions?: Omit<GenerateFineTuningDataset, 'purpose'>;
}
interface FineTuningJob {
dryRun: boolean;
aiPromptId: number;
hyperparameters: {
batchSize: number;
learningRateMultiplier: number;
nEpochs: number;
};
trainingOptions: Omit<GenerateFineTuningDataset, 'purpose'>;
validationOptions: Omit<GenerateFineTuningDataset, 'purpose'>;
baseModel: string;
fineTunedModel: string;
trainedTokensCount: number;
trainingDatasetUrl: string;
validationDatasetUrl: string;
metadata: PlainObject;
}
interface PromptFineTuningEvent {
id: string;
type: string;
message: string;
data: {
step: number;
totalSteps: number;
trainingLoss: number;
validationLoss: number;
fullValidationLoss: number;
};
createdAt: string;
}
interface ListPromptFineTuningJobsOptions extends PaginationOptions {
statuses: string;
orderBy: string;
}
interface ListAiPromptsOptions extends PaginationOptions {
projectId?: number;
action?: Action;
}
interface AiPromptResponse {
id: number;
name: string;
action: Action;
aiProviderId: number;
aiModelId: string;
isEnabled: boolean;
enabledProjectIds: number[];
config: AiModel.AiPromptConfigBasicPreTranslate | AiModel.AiPromptConfigBasicAssistAction | AiModel.AiPromptConfigBasicAligmentAction | AiModel.AiPromptConfigAdvanced | AiModel.AiPromptConfigExternal;
promptPreview: string;
isFineTuningAvailable: boolean;
createdAt: string;
updatedAt: string;
}
interface AiPromptConfigBasicOtherLanguageTranslations {
isEnabled?: boolean;
languageIds?: string[];
}
interface AiPromptConfigBasicPreTranslate {
mode: 'basic';
/**
* @deprecated
*/
companyDescription?: string;
/**
* @deprecated
*/
projectDescription?: string;
/**
* @deprecated
*/
audienceDescription?: string;
customPlaceholders?: string[];
otherLanguageTranslations?: AiModel.AiPromptConfigBasicOtherLanguageTranslations;
glossaryTerms?: boolean;
tmSuggestions?: boolean;
/**
* @deprecated
*/
fileContent?: boolean;
fileContext?: boolean;
screenshots?: boolean;
publicProjectDescription?: boolean;
siblingsStrings?: boolean;
}
interface AiPromptConfigBasicAssistAction {
mode: 'basic';
/**
* @deprecated
*/
companyDescription?: string;
/**
* @deprecated
*/
projectDescription?: string;
/**
* @deprecated
*/
audienceDescription?: string;
otherLanguageTranslations?: AiModel.AiPromptConfigBasicOtherLanguageTranslations;
glossaryTerms?: boolean;
tmSuggestions?: boolean;
fileContext?: boolean;
screenshots?: boolean;
publicProjectDescription?: boolean;
siblingsStrings?: boolean;
filteredStrings?: boolean;
}
interface AiPromptConfigBasicAligmentAction {
mode: 'basic';
customPlaceholders?: string[];
publicProjectDescription?: boolean;
}
interface AiPromptConfigAdvanced {
mode: 'advanced';
screenshots?: boolean;
prompt: string;
otherLanguageTranslations?: AiModel.AiPromptConfigBasicOtherLanguageTranslations;
}
interface AiPromptConfigExternal {
mode: 'external';
identifier: string;
key: string;
options?: any;
}
interface AddAiPromptRequest {
name: string;
action: Action;
aiProviderId?: number;
aiModelId?: string;
isEnabled?: boolean;
enabledProjectIds?: number[];
config: AiModel.AiPromptConfigBasicPreTranslate | AiModel.AiPromptConfigBasicAssistAction | AiModel.AiPromptConfigBasicAligmentAction | AiModel.AiPromptConfigAdvanced | AiPromptConfigExternal;
}
interface GenerateAiPromptCompletionRequest {
resources: AiModel.AiPromptResourceWithPreTranslate | AiModel.AiPromptResourceWithAssist | AiModel.AiPromptResourceWithAlignment | AiModel.AiPromptResourceWithCustom;
tools?: {
tool: {
type: 'function';
function: {
description?: string;
name: string;
parameters?: PlainObject;
};
};
}[];
tool_choice?: string | PlainObject;
}
interface AiPromptCompletionAttribute {
aiPromptId: number;
}
interface AiPromptResourceWithPreTranslate {
projectId: number;
sourceLanguageId?: string;
targetLanguageId?: string;
stringIds?: number[];
overridePromptValues?: OverridePromptValues;
}
interface AiPromptResourceWithAlignment {
projectId: number;
sourceLanguageId?: string;
targetLanguageId?: string;
stringIds?: number[];
overridePromptValues?: OverridePromptValues;
}
interface AiPromptResourceWithAssist {
projectId: number;
sourceLanguageId?: string;
targetLanguageId?: string;
stringIds?: number[];
filteredStringsIds?: number[];
overridePromptValues?: OverridePromptValues;
}
interface AiPromptResourceWithCustom {
projectId: number;
sourceLanguageId?: string;
targetLanguageId?: string;
stringIds?: number[];
overridePromptValues?: OverridePromptValues;
customInstruction?: string;
}
interface OverridePromptValues {
[key: string]: any;
}
interface AiProviderResponse {
id: number;
name: string;
type: ProviderType;
credentials: AiModel.AiProviderCredentialsBasic | AiModel.AiProviderCredentialsAzureOpenAi | AiProviderCredentialsGoogleGemini | AiProviderCredentialsCustom;
config: AiModel.AiProviderConfig;
isEnabled: boolean;
useSystemCredentials: boolean;
createdAt: string;
updatedAt: string;
promptsCount: string;
}
interface AiProviderCredentialsBasic {
apiKey: string;
}
interface AiProviderCredentialsAzureOpenAi extends AiProviderCredentialsBasic {
resourceName: string;
deploymentName: string;
apiVersion: string;
}
interface AiProviderCredentialsGoogleGemini {
project: string;
region: string;
serviceAccountKey: string;
}
interface AiProviderCredentialsWatsonx {
apiKey: string;
projectId: string;
region: string;
}
interface AiProviderCredentialsCustom {
identifier: string;
key: string;
}
interface AiProviderConfig {
actionRules?: AiModel.AiProviderConfigActionRule[];
}
interface AiProviderConfigActionRule {
action?: 'pre_translate' | 'assist';
availableAiModelIds?: string[];
}
interface AddAiProviderRequest {
name: string;
type: ProviderType;
credentials?: AiModel.AiProviderCredentialsBasic | AiModel.AiProviderCredentialsAzureOpenAi | AiProviderCredentialsGoogleGemini | AiProviderCredentialsWatsonx | AiProviderCredentialsCustom;
config?: AiModel.AiProviderConfig;
isEnabled?: boolean;
useSystemCredentials?: boolean;
}
interface AiProviderModelResponse {
id: string;
}
interface AiProviderProxyResponseData {
data: object;
}
interface OtherChatCompletionRequest {
stream?: boolean;
[key: string]: any;
}
interface GoogleGeminiChatCompletionRequest extends OtherChatCompletionRequest {
model: string;
}
type AiReport = AiReportTokenUsage;
interface AiReportTokenUsage {
type: 'tokens-usage-raw-data';
schema: AiReportGeneralSchema;
}
interface AiReportGeneralSchema {
dateFrom: string;
dateTo: string;
format?: 'json' | 'csv';
projectIds?: number[];
promptIds?: number[];
userIds?: number[];
}
interface AiSettings {
assistActionAiPromptId: number;
showSuggestion: boolean;
shortcuts: {
name: string;
prompt: string;
enabled: boolean;
}[];
}
type Action = 'pre_translate' | 'assist';
type ProviderType = 'open_ai' | 'azure_open_ai' | 'google_gemini' | 'mistral_ai' | 'anthropic' | 'custom_ai' | 'x_ai' | 'deepseek' | 'watsonx';
}