@lokalise/maestro-expert-tenant-lib 2.7.3 → 2.7.4
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/dist/index.cjs +4 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +4 -4
- package/dist/index.d.ts +4 -4
- package/dist/index.mjs +4 -4
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1528,6 +1528,7 @@ var TEMPLATE_IDS = [
|
|
|
1528
1528
|
"translateTask",
|
|
1529
1529
|
"clearTranslationsTm",
|
|
1530
1530
|
"clearTranslationsMtAiReviewTask",
|
|
1531
|
+
"clearTranslationsTmMtAiTask",
|
|
1531
1532
|
"clearTranslationsTmMtAiReviewTask",
|
|
1532
1533
|
"clearTranslationsTmTranslateTask",
|
|
1533
1534
|
"translateAndReviewTask",
|
|
@@ -1535,8 +1536,7 @@ var TEMPLATE_IDS = [
|
|
|
1535
1536
|
"translateReviewReviewTask",
|
|
1536
1537
|
"reviewTask",
|
|
1537
1538
|
"reviewTranslateTask",
|
|
1538
|
-
"reviewTranslateReviewTask"
|
|
1539
|
-
"clearTranslationsTmMtAiTask"
|
|
1539
|
+
"reviewTranslateReviewTask"
|
|
1540
1540
|
];
|
|
1541
1541
|
var buildTemplate = /* @__PURE__ */ __name((internalTemplate) => {
|
|
1542
1542
|
const layoutTranslator = new LayoutTranslator();
|
|
@@ -1551,6 +1551,7 @@ var TEMPLATES = {
|
|
|
1551
1551
|
translateTask: buildTemplate(TRANSLATE_TASK_TEMPLATE),
|
|
1552
1552
|
clearTranslationsTm: buildTemplate(CLEAR_TRANSLATIONS_TM_TEMPLATE),
|
|
1553
1553
|
clearTranslationsMtAiReviewTask: buildTemplate(CLEAR_TRANSLATIONS_MT_AI_REVIEW_TASK_TEMPLATE),
|
|
1554
|
+
clearTranslationsTmMtAiTask: buildTemplate(CLEAR_TRANSLATIONS_TM_MT_AI_TASK_TEMPLATE),
|
|
1554
1555
|
clearTranslationsTmMtAiReviewTask: buildTemplate(
|
|
1555
1556
|
CLEAR_TRANSLATIONS_TM_MT_AI_REVIEW_TASK_TEMPLATE
|
|
1556
1557
|
),
|
|
@@ -1562,8 +1563,7 @@ var TEMPLATES = {
|
|
|
1562
1563
|
translateReviewReviewTask: buildTemplate(TRANSLATE_REVIEW_REVIEW_TASK_TEMPLATE),
|
|
1563
1564
|
reviewTask: buildTemplate(REVIEW_TASK_TEMPLATE),
|
|
1564
1565
|
reviewTranslateTask: buildTemplate(REVIEW_TRANSLATE_TASK_TEMPLATE),
|
|
1565
|
-
reviewTranslateReviewTask: buildTemplate(REVIEW_TRANSLATE_REVIEW_TASK_TEMPLATE)
|
|
1566
|
-
clearTranslationsTmMtAiTask: buildTemplate(CLEAR_TRANSLATIONS_TM_MT_AI_TASK_TEMPLATE)
|
|
1566
|
+
reviewTranslateReviewTask: buildTemplate(REVIEW_TRANSLATE_REVIEW_TASK_TEMPLATE)
|
|
1567
1567
|
};
|
|
1568
1568
|
|
|
1569
1569
|
// src/apiContract/schemas.ts
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../index.ts","../src/apiContract/schemas.ts","../src/workflow/LayoutTranslator.ts","../src/workflow/steps/scheduledTriggerStep.ts","../src/workflow/steps/aiMtTranslationStep.ts","../src/workflow/messages.ts","../src/workflow/steps/applyTmStep.ts","../src/workflow/steps/translateTaskStep.ts","../src/workflow/steps/reviewTaskStep.ts","../src/workflow/steps/clearTranslationsStep.ts","../src/workflow/steps/endStep.ts","../src/workflow/steps.ts","../src/templates/resources/clear-translations-mt-ai-review-task.template.ts","../src/templates/resources/clear-translations-mt-ai-task.template.ts","../src/templates/resources/clear-translations-tm-mt-ai-review-task.template.ts","../src/templates/resources/clear-translations-tm-mt-ai-task.template.ts","../src/templates/resources/clear-translations-tm-templates.ts","../src/templates/resources/clear-translations-tm-translate-review-task-template.ts","../src/templates/resources/clear-translations-tm-translate-task-template.ts","../src/templates/resources/review-task.template.ts","../src/templates/resources/review-translate-review-task.template.ts","../src/templates/resources/review-translate-task.template.ts","../src/templates/resources/translate-and-review-task.template.ts","../src/templates/resources/translate-review-review-task.template.ts","../src/templates/resources/translate-task.template.ts","../src/templates/schemas.ts"],"sourcesContent":["export * from './src/apiContract/schemas.js'\nexport * from './src/workflow/steps.js'\nexport * from './src/workflow/messages.js'\nexport { TEMPLATES, TemplateId } from './src/templates/schemas.js'\nexport { Template, FrontendLayout, FrontendLayoutStep } from './src/templates/types.js'\nexport { LayoutTranslator } from './src/workflow/LayoutTranslator.js'\n","import { COMMON_ERROR_RESPONSE_SCHEMA } from '@lokalise/api-common'\nimport z from 'zod'\nimport { TEMPLATE_IDS } from '../templates/schemas.js'\nimport {\n AI_MT_TRANSLATION_STEP_FORM_SCHEMA,\n AI_MT_TRANSLATION_STEP_SETTINGS_SCHEMA,\n APPLY_TM_STEP_FORM_SCHEMA,\n APPLY_TM_STEP_SETTINGS_SCHEMA,\n CLEAR_TRANSLATIONS_STEP_FORM_SCHEMA,\n CLEAR_TRANSLATIONS_STEP_SETTINGS_SCHEMA,\n END_STEP_FORM_SCHEMA,\n END_STEP_SETTINGS_SCHEMA,\n REVIEW_TASK_STEP_FORM_SCHEMA,\n REVIEW_TASK_STEP_SETTINGS_SCHEMA,\n SCHEDULED_TRIGGER_STEP_FORM_SCHEMA,\n SCHEDULED_TRIGGER_STEP_SETTINGS_SCHEMA,\n STEP_TYPES,\n TRANSLATE_TASK_STEP_FORM_SCHEMA,\n TRANSLATE_TASK_STEP_SETTINGS_SCHEMA,\n} from '../workflow/steps.js'\n\n// COMMON SCHEMAS\nconst MAX_STEP_ID_LENGTH = 100\nconst DATETIME = z.string().datetime()\nconst WORKFLOW_ID = z.string().max(36)\nconst TEMPLATE_ID = z.enum(TEMPLATE_IDS).describe('Template identifier')\nexport const GROUP_ID = z\n .string()\n .regex(/^expert_[^_\\s]+_[^_\\s]+$/, 'Invalid group ID format')\n .max(255)\n .describe(\n 'Group identifier composed by the tenant ID, followed by the owner ID, followed by the project ID. Underscores are used as separators (e.g. `expert_123_98616399660d3c2456abc5.66984240`)',\n )\n\nexport const METADATA_FIELDS = z\n .enum(['targetLanguageIds', 'error'])\n .describe('Metadata fields that can be included in the response')\n\nexport const TRIGGER_TYPE = z.enum(['Manual', 'Scheduled', 'Automated']).describe('Trigger type')\n\nexport const WORKFLOW_STATUS = z\n .enum(['Draft', 'Live', 'Archived', 'Paused', 'Canceled'])\n .describe('Workflow status')\n\nexport const API_ERROR = COMMON_ERROR_RESPONSE_SCHEMA\n\nexport const WORKFLOW_PARAMS = z\n .object({\n groupId: GROUP_ID,\n workflowId: WORKFLOW_ID,\n })\n .describe('URL parameters for getting a workflow')\nexport type WorkflowParams = z.infer<typeof WORKFLOW_PARAMS>\n\nexport const UNSPECIFIED_WORKFLOW_PARAMS = z\n .object({\n groupId: GROUP_ID,\n })\n .describe('URL parameters without workflowId')\nexport type UnspecifiedWorkflowParams = z.infer<typeof UNSPECIFIED_WORKFLOW_PARAMS>\n\n// GET WORKFLOW\nexport const GET_WORKFLOW_PARAMS = WORKFLOW_PARAMS\n\nexport const WORKFLOW = z\n .object({\n id: WORKFLOW_ID,\n version: z.number(),\n status: WORKFLOW_STATUS,\n title: z.string(),\n triggerType: TRIGGER_TYPE,\n targetLanguageIds: z.array(z.string()).optional().nullable(),\n error: COMMON_ERROR_RESPONSE_SCHEMA.optional().nullable(),\n createdAt: DATETIME,\n updatedAt: z.optional(DATETIME).nullable(),\n publishedAt: z.optional(DATETIME).nullable(),\n triggeredAt: z.optional(DATETIME).nullable(),\n metadata: z.optional(z.record(z.unknown())).nullable(),\n })\n .describe('Workflow. Used in the list of workflows')\n\nexport const WORKFLOW_EXTENDED_STEP_SCHEMA = z.discriminatedUnion('type', [\n z.object({\n id: z.string().max(MAX_STEP_ID_LENGTH),\n type: SCHEDULED_TRIGGER_STEP_SETTINGS_SCHEMA.shape.stepType,\n values: SCHEDULED_TRIGGER_STEP_FORM_SCHEMA,\n triggerType: SCHEDULED_TRIGGER_STEP_SETTINGS_SCHEMA.shape.triggerType,\n }),\n z.object({\n id: z.string().max(MAX_STEP_ID_LENGTH),\n type: TRANSLATE_TASK_STEP_SETTINGS_SCHEMA.shape.stepType,\n values: TRANSLATE_TASK_STEP_FORM_SCHEMA,\n taskType: TRANSLATE_TASK_STEP_SETTINGS_SCHEMA.shape.taskType,\n }),\n z.object({\n id: z.string().max(MAX_STEP_ID_LENGTH),\n type: REVIEW_TASK_STEP_SETTINGS_SCHEMA.shape.stepType,\n values: REVIEW_TASK_STEP_FORM_SCHEMA,\n taskType: REVIEW_TASK_STEP_SETTINGS_SCHEMA.shape.taskType,\n }),\n z.object({\n id: z.string().max(MAX_STEP_ID_LENGTH),\n type: APPLY_TM_STEP_SETTINGS_SCHEMA.shape.stepType,\n values: APPLY_TM_STEP_FORM_SCHEMA,\n }),\n z.object({\n id: z.string().max(MAX_STEP_ID_LENGTH),\n type: CLEAR_TRANSLATIONS_STEP_SETTINGS_SCHEMA.shape.stepType,\n values: CLEAR_TRANSLATIONS_STEP_FORM_SCHEMA,\n }),\n z.object({\n id: z.string().max(MAX_STEP_ID_LENGTH),\n type: AI_MT_TRANSLATION_STEP_SETTINGS_SCHEMA.shape.stepType,\n values: AI_MT_TRANSLATION_STEP_FORM_SCHEMA,\n taskType: AI_MT_TRANSLATION_STEP_SETTINGS_SCHEMA.shape.taskType,\n }),\n z.object({\n id: z.string().max(MAX_STEP_ID_LENGTH),\n type: END_STEP_SETTINGS_SCHEMA.shape.stepType,\n values: END_STEP_FORM_SCHEMA,\n }),\n])\n\nexport const WORKFLOW_EXTENDED_SCHEMA = z\n .array(WORKFLOW_EXTENDED_STEP_SCHEMA)\n .describe('Workflow FrontendLayout')\n\nexport const WORKFLOW_EXTENDED = z\n .object({\n id: WORKFLOW_ID,\n groupId: GROUP_ID,\n version: z.number(),\n status: WORKFLOW_STATUS,\n title: z.string(),\n schema: WORKFLOW_EXTENDED_SCHEMA,\n error: COMMON_ERROR_RESPONSE_SCHEMA.optional().nullable(),\n createdAt: DATETIME,\n updatedAt: z.optional(DATETIME),\n publishedAt: z.optional(DATETIME),\n })\n .describe('Workflow. Response for getting a workflow or creating a new one')\n\nexport const WORKFLOW_EXTENDED_SCHEMA_SIMPLIFIED = z\n .array(\n z.object({\n id: z.string().max(100),\n type: z.enum(STEP_TYPES),\n values: z.record(z.string(), z.unknown()),\n triggerType: z.optional(TRIGGER_TYPE),\n taskType: z.optional(z.enum(['translation', 'review'])),\n }),\n )\n .describe(\n 'Simplified schema for the response to be able to return default values to the frontend',\n )\n\nexport const WORKFLOW_EXTENDED_SIMPLIFIED = z\n .object({\n id: WORKFLOW_ID,\n groupId: GROUP_ID,\n version: z.number(),\n status: WORKFLOW_STATUS,\n title: z.string(),\n schema: WORKFLOW_EXTENDED_SCHEMA_SIMPLIFIED,\n error: COMMON_ERROR_RESPONSE_SCHEMA.optional().nullable(),\n createdAt: DATETIME,\n updatedAt: z.optional(DATETIME),\n publishedAt: z.optional(DATETIME),\n })\n .describe(\n 'Simplified schema for the response to be able to return default values to the frontend',\n )\n\nexport type Workflow = z.infer<typeof WORKFLOW>\nexport type WorkflowExtended = z.infer<typeof WORKFLOW_EXTENDED>\nexport type WorkflowExtendedSchema = z.infer<typeof WORKFLOW_EXTENDED_SCHEMA>\n\nexport const GET_WORKFLOW_RESPONSE = z.object({\n data: WORKFLOW_EXTENDED,\n})\n\nexport const GET_WORKFLOW_SIMPLIFIED_RESPONSE = z.object({\n data: WORKFLOW_EXTENDED_SIMPLIFIED,\n})\n\nexport type GetWorkflowParams = z.infer<typeof GET_WORKFLOW_PARAMS>\nexport type GetWorkflowResponse = z.infer<typeof GET_WORKFLOW_RESPONSE>\n\n// LIST WORKFLOWS\nexport const GET_WORKFLOW_LIST_PARAMS = UNSPECIFIED_WORKFLOW_PARAMS\n\nexport const GET_WORKFLOW_LIST_RESPONSE = z.object({\n data: z.array(WORKFLOW),\n})\n\nexport type GetWorkflowListParams = z.infer<typeof GET_WORKFLOW_LIST_PARAMS>\nexport type GetWorkflowListResponse = z.infer<typeof GET_WORKFLOW_LIST_RESPONSE>\n\n// PAUSE WORKFLOW\nexport const PATCH_PAUSE_WORKFLOW_PARAMS = WORKFLOW_PARAMS\n\nexport const PATCH_PAUSE_WORKFLOW_RESPONSE = z.null({\n description: 'Successfully paused workflow',\n})\n\nexport type PatchPauseWorkflowParams = z.infer<typeof PATCH_PAUSE_WORKFLOW_PARAMS>\nexport type PatchPauseWorkflowResponse = z.infer<typeof PATCH_PAUSE_WORKFLOW_RESPONSE>\n\n// RESUME WORKFLOW\nexport const PATCH_RESUME_WORKFLOW_PARAMS = WORKFLOW_PARAMS\n\nexport const PATCH_RESUME_WORKFLOW_BODY = z.object({\n runNow: z.optional(z.boolean()).default(false),\n})\n\nexport const PATCH_RESUME_WORKFLOW_RESPONSE = z.null({\n description: 'Successfully resumed workflow',\n})\n\nexport type PatchResumeWorkflowParams = z.infer<typeof PATCH_RESUME_WORKFLOW_PARAMS>\nexport type PatchResumeWorkflowBody = z.infer<typeof PATCH_RESUME_WORKFLOW_BODY>\nexport type PatchResumeWorkflowResponse = z.infer<typeof PATCH_RESUME_WORKFLOW_RESPONSE>\n\n// DUPLICATE WORKFLOW\nexport const POST_DUPLICATE_WORKFLOW_PARAMS = WORKFLOW_PARAMS\n\nexport const POST_DUPLICATE_WORKFLOW_RESPONSE = GET_WORKFLOW_RESPONSE\n\n// DELETE WORKFLOW\nexport const DELETE_WORKFLOW_PARAMS = WORKFLOW_PARAMS\n\nexport const DELETE_WORKFLOW_RESPONSE = z.null({\n description: 'Successfully deleted workflow',\n})\n\nexport type DeleteWorkflowParams = z.infer<typeof DELETE_WORKFLOW_PARAMS>\nexport type DeleteWorkflowResponse = z.infer<typeof DELETE_WORKFLOW_RESPONSE>\n\n// CREATE WORKFLOW\nexport const POST_WORKFLOW_PARAMS = UNSPECIFIED_WORKFLOW_PARAMS\n\nexport const POST_WORKFLOW_BODY = z\n .nullable(\n z.object({\n templateId: TEMPLATE_ID.optional(),\n }),\n )\n .describe('Parameters for creating a workflow')\n\nexport const POST_WORKFLOW_RESPONSE = z.object({\n data: WORKFLOW_EXTENDED,\n})\n\nexport const POST_WORKFLOW_SIMPLIFIED_RESPONSE = z.object({\n data: WORKFLOW_EXTENDED_SIMPLIFIED,\n})\n\nexport type PostWorkflowParams = z.infer<typeof POST_WORKFLOW_PARAMS>\nexport type PostWorkflowBody = z.infer<typeof POST_WORKFLOW_BODY>\nexport type PostWorkflowResponse = z.infer<typeof POST_WORKFLOW_RESPONSE>\n\n// UPDATE DRAFT\nexport const PUT_WORKFLOW_DRAFT_PARAMS = WORKFLOW_PARAMS\n\nexport const PUT_WORKFLOW_DRAFT_BODY = z\n .object({\n schema: WORKFLOW_EXTENDED_SCHEMA_SIMPLIFIED,\n })\n .describe('Schema with user changes')\n\nexport const PUT_WORKFLOW_DRAFT_RESPONSE = z.null({\n description: 'Successfully updated workflow draft',\n})\n\nexport type PutWorkflowDraftParams = z.infer<typeof PUT_WORKFLOW_DRAFT_PARAMS>\nexport type PutWorkflowDraftBody = z.infer<typeof PUT_WORKFLOW_DRAFT_BODY>\nexport type PutWorkflowDraftResponse = z.infer<typeof PUT_WORKFLOW_DRAFT_RESPONSE>\n\n// PATCH WORKFLOW\nexport const PATCH_WORKFLOW_PARAMS = WORKFLOW_PARAMS\n\nexport const PATCH_WORKFLOW_BODY = z\n .object({\n title: z.string().min(1).max(256),\n })\n .describe('Workflow title')\n\nexport const PATCH_WORKFLOW_RESPONSE = z.null({\n description: 'Successfully updated workflow',\n})\n\nexport type PatchWorkflowParams = z.infer<typeof PATCH_WORKFLOW_PARAMS>\nexport type PatchWorkflowBody = z.infer<typeof PATCH_WORKFLOW_BODY>\nexport type PatchWorkflowResponse = z.infer<typeof PATCH_WORKFLOW_RESPONSE>\n\n// ACTIVATE WORKFLOW\nexport const POST_ACTIVATE_WORKFLOW_PARAMS = WORKFLOW_PARAMS\n\nexport const POST_ACTIVATE_WORKFLOW_BODY = z\n .object({\n runNow: z.optional(z.boolean()),\n schema: WORKFLOW_EXTENDED_SCHEMA,\n })\n .describe(\n 'Schema with user changes. If runNow is true, the workflow will be triggered immediately.',\n )\n\nexport const POST_ACTIVATE_WORKFLOW_RESPONSE = z.null({\n description: 'Successfully activated workflow',\n})\n\nexport type PostActivateWorkflowParams = z.infer<typeof POST_ACTIVATE_WORKFLOW_PARAMS>\nexport type PostActivateWorkflowBody = z.infer<typeof POST_ACTIVATE_WORKFLOW_BODY>\nexport type PostActivateWorkflowResponse = z.infer<typeof POST_ACTIVATE_WORKFLOW_RESPONSE>\n\n// PUT LIVE WORKFLOW\nexport const PUT_LIVE_WORKFLOW_PARAMS = WORKFLOW_PARAMS\n\nexport const PUT_LIVE_WORKFLOW_BODY = z\n .object({\n runNow: z.optional(z.boolean()),\n schema: WORKFLOW_EXTENDED_SCHEMA,\n })\n .describe(\n 'Schema with user changes. If runNow is true, the workflow will be triggered immediately.',\n )\n\nexport const PUT_LIVE_WORKFLOW_RESPONSE = z.null({\n description: 'Successfully updated workflow',\n})\n\nexport type PutLiveWorkflowParams = z.infer<typeof PUT_LIVE_WORKFLOW_PARAMS>\nexport type PutLiveWorkflowBody = z.infer<typeof PUT_LIVE_WORKFLOW_BODY>\nexport type PutLiveWorkflowResponse = z.infer<typeof PUT_LIVE_WORKFLOW_RESPONSE>\n","import type {\n WorkflowLayout,\n WorkflowLayoutStepSettingsList,\n WorkflowLayoutStepTriggerEvent,\n WorkflowMetadata,\n} from '@lokalise/maestro-common'\nimport { areStringArraysEqual } from '@lokalise/universal-ts-utils/array/areStringArraysEqual.js'\nimport type { LayoutTranslatorInterface } from '../../../../src/modules/workflows/interfaces/LayoutTranslatorInterface.js'\nimport { TEMPLATES } from '../templates/schemas.js'\nimport type {\n FrontendLayout,\n InternalTemplate,\n StrictWorkflowLayout,\n StrictWorkflowLayoutSettings,\n StrictWorkflowLayoutStepSettings,\n Template,\n} from '../templates/types.js'\nimport type { ScheduledTriggerStepSettings, StepType } from './steps.js'\n\ntype FrontendStep = {\n id: string\n type: StepType\n values: Record<string, unknown>\n triggerType?: string\n taskType?: string\n}\n\nexport class LayoutTranslator implements LayoutTranslatorInterface {\n public translateTemplateToFrontendLayout<StateName extends string>(\n template: InternalTemplate<StateName>,\n ): FrontendLayout<StateName> {\n return this.buildFrontendLayout<StateName>(template.settings, template.sort)\n }\n\n public translateFrontendLayoutToTemplate<StateName extends string>(\n frontendLayout: FrontendLayout<StateName>,\n ): Pick<InternalTemplate<StateName>, 'layout' | 'settings'> | undefined {\n const template = this.findTemplate(frontendLayout)\n if (!template) {\n return undefined\n }\n\n const layoutSettings = this.buildLayoutSettings<StateName>(frontendLayout)\n\n return {\n layout: template.layout as StrictWorkflowLayout<StateName>,\n settings: layoutSettings,\n }\n }\n\n public buildFrontendLayout<StateName extends string>(\n settings: StrictWorkflowLayoutSettings<StateName>,\n sort: StateName[] = [],\n ): FrontendLayout<StateName> {\n return Object.keys(settings)\n .sort((a, b) => sort.indexOf(a as StateName) - sort.indexOf(b as StateName))\n .map((id) => {\n const { stepType, triggerType, taskType, ...values } = settings[id]\n\n const step = {\n id: id as StateName,\n type: stepType as StepType,\n values,\n triggerType,\n taskType,\n }\n\n return Object.entries(step)\n .filter(([_, value]) => value !== undefined)\n .reduce(\n (acc, [key, value]) => {\n // @ts-ignore\n acc[key] = value\n return acc\n },\n {} as FrontendLayout<StateName>[0],\n )\n })\n }\n\n // Based on the linear layout, return the order of steps\n public getStepSortFromLayout(layout: WorkflowLayout): string[] {\n const sort = [layout.initial]\n let currentState = layout.states[layout.initial]\n\n while (currentState.on) {\n const allEvents: WorkflowLayoutStepTriggerEvent[] = Object.values(currentState.on)\n const event = allEvents.find((evt) => evt.target !== undefined)\n\n if (event === undefined || event.target === undefined) {\n currentState = {\n ...currentState,\n on: undefined,\n }\n continue\n }\n\n sort.push(event.target)\n currentState = layout.states[event.target]\n }\n\n return sort\n }\n\n public buildWorkflowMetadata({\n settings,\n }: Pick<InternalTemplate<string>, 'settings'>): WorkflowMetadata {\n const step = settings.TriggerStep as ScheduledTriggerStepSettings\n\n return {\n triggerType: step.triggerType,\n targetLanguageIds: step.targetLanguageIds.map((id) => id.toString()),\n }\n }\n\n public getTriggerSchedulerExpression(\n settings: WorkflowLayoutStepSettingsList,\n ): string | undefined {\n const step = settings.TriggerStep as ScheduledTriggerStepSettings\n\n if (!step) {\n return undefined\n }\n\n if (step.triggerType === 'Scheduled') {\n return step.scheduleFrequencyExpression ?? undefined\n }\n\n return undefined\n }\n\n public getTriggerSchedulerStartDate(\n settings: WorkflowLayoutStepSettingsList,\n ): string | undefined {\n const step = settings.TriggerStep as ScheduledTriggerStepSettings\n\n if (!step) {\n return undefined\n }\n\n if (step.triggerType === 'Scheduled') {\n return step.scheduleStartingDate\n }\n\n return undefined\n }\n\n buildLayoutSettings<StateName extends string>(\n frontendLayout: FrontendLayout<StateName>,\n ): StrictWorkflowLayoutSettings<StateName> {\n return frontendLayout.reduce(\n (acc, frontendStep: FrontendStep) => {\n const step: StrictWorkflowLayoutStepSettings = {\n ...frontendStep.values,\n stepType: frontendStep.type,\n triggerType: frontendStep.type === 'trigger_step' ? frontendStep.triggerType : undefined,\n taskType:\n frontendStep.type === 'translate_task_step' ||\n frontendStep.type === 'review_task_step' ||\n frontendStep.type === 'ai_mt_translation_step'\n ? frontendStep.taskType\n : undefined,\n }\n acc[frontendStep.id as StateName] = Object.fromEntries(\n Object.entries(step).filter(([_, value]) => value !== undefined),\n ) as StrictWorkflowLayoutStepSettings\n return acc\n },\n {} as Record<StateName, StrictWorkflowLayoutStepSettings>,\n )\n }\n\n findTemplate<StateName extends string>(\n frontendLayout: FrontendLayout<StateName>,\n ): Template<StateName> | undefined {\n const frontendLayoutStepIds = frontendLayout.map((step) => step.id)\n\n const result = Object.entries(TEMPLATES).find(([_, template]) => {\n const templateStepIds = template.frontendLayout.map((step) => step.id)\n return areStringArraysEqual(frontendLayoutStepIds, templateStepIds)\n })\n\n if (!result) {\n return undefined\n }\n\n const [_, template] = result\n\n return template as Template<StateName>\n }\n}\n","import {\n CRON_EXPRESSION_REGEX,\n WORKFLOW_LAYOUT_STEP_SETTINGS,\n type WorkflowLayoutStepSettings,\n} from '@lokalise/maestro-common'\nimport { z } from 'zod'\n\nexport const SCHEDULED_TRIGGER_STEP_FORM_SCHEMA = z.object({\n stepTitle: z.string().trim().min(1),\n scheduleFrequencyExpression: z.string().regex(CRON_EXPRESSION_REGEX),\n scheduleStartingDate: z.string().date(),\n monitoredLanguageId: z.number().min(1).int(),\n targetLanguageIds: z.array(z.number().min(1).int()).min(1),\n monitoredKeyType: z.enum(['new', 'updated', 'both']),\n projectFilterId: z.string().optional().nullable(),\n})\n\nexport type ScheduledTriggerStepForm = z.infer<typeof SCHEDULED_TRIGGER_STEP_FORM_SCHEMA>\n\nexport const SCHEDULED_TRIGGER_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS.merge(\n SCHEDULED_TRIGGER_STEP_FORM_SCHEMA,\n).extend({\n stepType: z.literal('trigger_step'),\n triggerType: z.literal('Scheduled'),\n})\n\nexport type ScheduledTriggerStepSettings = z.infer<typeof SCHEDULED_TRIGGER_STEP_SETTINGS_SCHEMA>\n\nexport const DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS: WorkflowLayoutStepSettings &\n Partial<ScheduledTriggerStepSettings> = {\n stepType: 'trigger_step',\n triggerType: 'Scheduled',\n stepTitle: 'Trigger and scope',\n scheduleFrequencyExpression: '00 09 * * 0,1,2,3,4,5,6',\n scheduleStartingDate: undefined,\n monitoredLanguageId: undefined,\n targetLanguageIds: [],\n monitoredKeyType: 'new',\n projectFilterId: null,\n}\n","import {\n WORKFLOW_LAYOUT_STEP_SETTINGS,\n type WorkflowLayoutStepSettings,\n} from '@lokalise/maestro-common'\nimport { z } from 'zod'\nimport { TRANSLATION_ENGINE } from '../messages.js'\n\nexport const AI_MT_TRANSLATION_STEP_FORM_SCHEMA = z\n .object({\n stepTitle: z.string().min(1),\n translationEngine: TRANSLATION_ENGINE,\n taskTitle: z.string().optional(),\n aiInstructions: z.string().optional(),\n tagKeysAfterClose: z.boolean(),\n tagsToAddAfterClose: z.array(z.string()).optional(),\n customTranslationStatusIds: z.array(z.number()).optional(),\n hasCustomTranslationStatuses: z.boolean(),\n })\n .superRefine(({ tagKeysAfterClose, tagsToAddAfterClose }, context) => {\n if (tagKeysAfterClose && tagsToAddAfterClose?.length === 0) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'At least one tag must be added if \"Tag keys after task is closed\" is checked',\n path: ['tagsToAddAfterClose'],\n })\n }\n if (!tagKeysAfterClose && tagsToAddAfterClose && tagsToAddAfterClose.length > 0) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'One or more tags are set but \"Tag keys after task is closed\" is not checked',\n path: ['tagKeysAfterClose'],\n })\n }\n })\n .superRefine(({ hasCustomTranslationStatuses, customTranslationStatusIds }, context) => {\n if (hasCustomTranslationStatuses && customTranslationStatusIds?.length === 0) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message:\n 'You must select custom statuses if \"Allow assignees to set custom statuses\" is checked',\n path: ['customTranslationStatusIds'],\n })\n }\n if (\n !hasCustomTranslationStatuses &&\n customTranslationStatusIds &&\n customTranslationStatusIds.length > 0\n ) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message:\n 'Custom statuses are set but \"Allow assignees to set custom statuses\" is not checked',\n path: ['hasCustomTranslationStatuses'],\n })\n }\n })\n\nexport type AiMtTranslationStepForm = z.infer<typeof AI_MT_TRANSLATION_STEP_FORM_SCHEMA>\n\nexport const AI_MT_TRANSLATION_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS.merge(\n z.object(AI_MT_TRANSLATION_STEP_FORM_SCHEMA._def.schema._def.schema.shape),\n).extend({\n stepType: z.literal('ai_mt_translation_step'),\n taskType: z.literal('translation'),\n stepTitle: z.string().min(1),\n translationEngine: TRANSLATION_ENGINE,\n taskTitle: z.string().optional(),\n aiInstructions: z.string().optional(),\n tagKeysAfterClose: z.boolean(),\n tagsToAddAfterClose: z.array(z.string()).optional(),\n customTranslationStatusIds: z.array(z.number()).optional(),\n hasCustomTranslationStatuses: z.boolean(),\n})\n\nexport type AiMtTranslationStepSettings = z.infer<typeof AI_MT_TRANSLATION_STEP_SETTINGS_SCHEMA>\n\nexport const DEFAULT_AI_MT_TRANSLATION_STEP_SETTINGS: WorkflowLayoutStepSettings &\n Partial<AiMtTranslationStepSettings> = {\n stepType: 'ai_mt_translation_step',\n stepTitle: 'AI/MT Translation Task',\n taskType: 'translation',\n aiInstructions: undefined,\n translationEngine: undefined,\n taskTitle: undefined,\n tagKeysAfterClose: false,\n tagsToAddAfterClose: [],\n customTranslationStatusIds: [],\n hasCustomTranslationStatuses: false,\n}\n","import { WORKFLOW_LAYOUT_STEP_SETTINGS } from '@lokalise/maestro-common'\nimport { z } from 'zod'\nimport { APPLY_TM_STEP_SETTINGS_SCHEMA } from './steps/applyTmStep.js'\n\nconst TASK_LANGUAGE_ASSIGNEES = z\n .object({\n languageId: z.number(),\n userIds: z.optional(z.array(z.number())),\n userGroupIds: z.optional(z.array(z.number())),\n })\n .refine(({ userIds, userGroupIds }) => userIds !== undefined || userGroupIds !== undefined, {\n message: 'Either users or groups should be specified',\n })\n\nexport const TRANSLATION_ENGINE = z.enum(['ai', 'deepl', 'google'], {\n errorMap: () => ({ message: 'Please choose a translation engine' }),\n})\n\nexport const CREATE_TASK_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS.extend({\n stepType: z.enum(['translate_task_step', 'review_task_step', 'ai_mt_translation_step']),\n stepTitle: z.string().trim().min(1),\n taskType: z.enum(['translation', 'review']),\n taskTitle: z.optional(z.string()).describe('If empty, the workflow title will be used'),\n taskDescription: z\n .optional(z.string())\n .describe('Add a description such as including links to useful resources to assignees.'),\n dueDate: z.optional(z.number().int().min(1).max(365)),\n languageAssignees: z.array(TASK_LANGUAGE_ASSIGNEES).min(1),\n autoCloseItems: z.optional(z.boolean()),\n autoCloseLanguages: z.boolean(),\n autoCloseTask: z.boolean(),\n lockTranslations: z.boolean(),\n hasCustomTranslationStatuses: z.boolean().default(false),\n customTranslationStatusIds: z.array(z.number()).optional(),\n tagKeysAfterClose: z.boolean().default(false),\n tagsToAddAfterClose: z.array(z.string().max(128)).optional(),\n translationEngine: z.optional(TRANSLATION_ENGINE),\n aiInstructions: z.string().optional(),\n})\nexport type CreateTaskStepSettings = z.infer<typeof CREATE_TASK_STEP_SETTINGS_SCHEMA>\n\nexport const CREATE_TASK_MESSAGE_CONTEXT = CREATE_TASK_STEP_SETTINGS_SCHEMA.omit({\n stepType: true,\n stepTitle: true,\n dueDate: true,\n tagKeysAfterClose: true,\n}).extend({\n teamId: z.number(),\n projectId: z.string(),\n dueDate: z.optional(z.date()),\n sourceLanguageId: z.number(),\n keyIds: z.record(z.string(), z.array(z.number())),\n})\nexport type CreateTaskMessageContext = z.infer<typeof CREATE_TASK_MESSAGE_CONTEXT>\n\nexport const APPLY_TM_MESSAGE_CONTEXT = APPLY_TM_STEP_SETTINGS_SCHEMA.omit({\n stepType: true,\n stepTitle: true,\n}).extend({\n teamId: z.string(),\n projectId: z.string(),\n keysByLanguages: z.record(z.string(), z.array(z.number())),\n})\nexport type ApplyTmMessageContext = z.infer<typeof APPLY_TM_MESSAGE_CONTEXT>\n","import {\n WORKFLOW_LAYOUT_STEP_SETTINGS,\n type WorkflowLayoutStepSettings,\n} from '@lokalise/maestro-common'\nimport { z } from 'zod'\n\nexport const APPLY_TM_STEP_FORM_SCHEMA = z.object({\n stepTitle: z.string().trim().min(1),\n threshold: z.number().int().min(1).max(100).default(100),\n})\n\nexport type ApplyTmStepForm = z.infer<typeof APPLY_TM_STEP_FORM_SCHEMA>\n\nexport const APPLY_TM_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS.merge(\n APPLY_TM_STEP_FORM_SCHEMA,\n).extend({\n stepType: z.literal('apply_tm_step'),\n})\n\nexport type ApplyTmStepSettings = z.infer<typeof APPLY_TM_STEP_SETTINGS_SCHEMA>\n\nexport const DEFAULT_APPLY_TM_STEP_SETTINGS: WorkflowLayoutStepSettings &\n Partial<ApplyTmStepSettings> = {\n stepType: 'apply_tm_step',\n stepTitle: 'Apply Translation Memory',\n threshold: 100,\n}\n","import type { WorkflowLayoutStepSettings } from '@lokalise/maestro-common'\nimport { type RefinementCtx, z } from 'zod'\nimport { CREATE_TASK_STEP_SETTINGS_SCHEMA } from '../messages.js'\n\nexport const TRANSLATE_TASK_STEP_FORM_SCHEMA = CREATE_TASK_STEP_SETTINGS_SCHEMA.omit({\n stepType: true,\n taskType: true,\n})\n .superRefine(({ tagKeysAfterClose, tagsToAddAfterClose }, context: RefinementCtx) => {\n if (tagKeysAfterClose && tagsToAddAfterClose?.length === 0) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'At least one tag must be added if \"Tag keys after task is closed\" is checked',\n path: ['tagsToAddAfterClose'],\n })\n }\n if (!tagKeysAfterClose && tagsToAddAfterClose && tagsToAddAfterClose.length > 0) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'One or more tags are set but \"Tag keys after task is closed\" is not checked',\n path: ['tagKeysAfterClose'],\n })\n }\n })\n .superRefine(({ hasCustomTranslationStatuses, customTranslationStatusIds }, context) => {\n if (hasCustomTranslationStatuses && customTranslationStatusIds?.length === 0) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message:\n 'You must select custom statuses if \"Allow assignees to set custom statuses\" is checked',\n path: ['customTranslationStatusIds'],\n })\n }\n if (\n !hasCustomTranslationStatuses &&\n customTranslationStatusIds &&\n customTranslationStatusIds.length > 0\n ) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message:\n 'Custom statuses are set but \"Allow assignees to set custom statuses\" is not checked',\n path: ['hasCustomTranslationStatuses'],\n })\n }\n })\n\nexport type TranslateTaskStepForm = z.infer<typeof TRANSLATE_TASK_STEP_FORM_SCHEMA>\n\nexport const TRANSLATE_TASK_STEP_SETTINGS_SCHEMA = CREATE_TASK_STEP_SETTINGS_SCHEMA.extend({\n stepType: z.literal('translate_task_step'),\n taskType: z.literal('translation'),\n autoCloseItems: z.boolean(),\n})\n\nexport type TranslateTaskStepSettings = z.infer<typeof TRANSLATE_TASK_STEP_SETTINGS_SCHEMA>\n\nexport const DEFAULT_TRANSLATE_TASK_STEP_SETTINGS: WorkflowLayoutStepSettings &\n Partial<TranslateTaskStepSettings> = {\n stepType: 'translate_task_step',\n stepTitle: 'Translation task for contributors',\n taskType: 'translation',\n taskTitle: undefined,\n taskDescription: undefined,\n dueDate: undefined,\n languageAssignees: [],\n autoCloseItems: false,\n autoCloseLanguages: false,\n autoCloseTask: true,\n lockTranslations: false,\n hasCustomTranslationStatuses: false,\n customTranslationStatusIds: [],\n tagKeysAfterClose: false,\n tagsToAddAfterClose: [],\n}\n","import type { WorkflowLayoutStepSettings } from '@lokalise/maestro-common'\nimport { type RefinementCtx, z } from 'zod'\nimport { CREATE_TASK_STEP_SETTINGS_SCHEMA } from '../messages.js'\n\nexport const REVIEW_TASK_STEP_FORM_SCHEMA = CREATE_TASK_STEP_SETTINGS_SCHEMA.omit({\n stepType: true,\n taskType: true,\n})\n .superRefine(({ tagKeysAfterClose, tagsToAddAfterClose }, context: RefinementCtx) => {\n if (tagKeysAfterClose && tagsToAddAfterClose?.length === 0) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'At least one tag must be added if \"Tag keys after task is closed\" is checked',\n path: ['tagsToAddAfterClose'],\n })\n }\n if (!tagKeysAfterClose && tagsToAddAfterClose && tagsToAddAfterClose.length > 0) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'One or more tags are set but \"Tag keys after task is closed\" is not checked',\n path: ['tagKeysAfterClose'],\n })\n }\n })\n .superRefine(({ hasCustomTranslationStatuses, customTranslationStatusIds }, context) => {\n if (hasCustomTranslationStatuses && customTranslationStatusIds?.length === 0) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message:\n 'You must select custom statuses if \"Allow assignees to set custom statuses\" is checked',\n path: ['customTranslationStatusIds'],\n })\n }\n if (\n !hasCustomTranslationStatuses &&\n customTranslationStatusIds &&\n customTranslationStatusIds.length > 0\n ) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message:\n 'Custom statuses are set but \"Allow assignees to set custom statuses\" is not checked',\n path: ['hasCustomTranslationStatuses'],\n })\n }\n })\n\nexport type ReviewTaskStepForm = z.infer<typeof REVIEW_TASK_STEP_FORM_SCHEMA>\n\nexport const REVIEW_TASK_STEP_SETTINGS_SCHEMA = CREATE_TASK_STEP_SETTINGS_SCHEMA.omit({\n autoCloseItems: true,\n}).extend({\n stepType: z.literal('review_task_step'),\n taskType: z.literal('review'),\n})\n\nexport type ReviewTaskStepSettings = z.infer<typeof REVIEW_TASK_STEP_SETTINGS_SCHEMA>\n\nexport const DEFAULT_REVIEW_TASK_STEP_SETTINGS: WorkflowLayoutStepSettings &\n Partial<ReviewTaskStepSettings> = {\n stepType: 'review_task_step',\n stepTitle: 'Review task for contributors',\n taskType: 'review',\n taskTitle: undefined,\n taskDescription: undefined,\n dueDate: undefined,\n languageAssignees: [],\n autoCloseLanguages: false,\n autoCloseTask: true,\n lockTranslations: false,\n hasCustomTranslationStatuses: false,\n customTranslationStatusIds: [],\n tagKeysAfterClose: false,\n tagsToAddAfterClose: [],\n}\n","import {\n WORKFLOW_LAYOUT_STEP_SETTINGS,\n type WorkflowLayoutStepSettings,\n} from '@lokalise/maestro-common'\nimport { z } from 'zod'\n\nexport const CLEAR_TRANSLATIONS_STEP_FORM_SCHEMA = z.object({})\nexport type ClearTranslationsStepForm = z.infer<typeof CLEAR_TRANSLATIONS_STEP_FORM_SCHEMA>\n\nexport const CLEAR_TRANSLATIONS_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS.merge(\n CLEAR_TRANSLATIONS_STEP_FORM_SCHEMA,\n).extend({\n stepType: z.literal('clear_translations_step'),\n})\nexport type ClearTranslationsStepSettings = z.infer<typeof CLEAR_TRANSLATIONS_STEP_SETTINGS_SCHEMA>\n\nexport const DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS: WorkflowLayoutStepSettings &\n ClearTranslationsStepSettings = {\n stepType: 'clear_translations_step',\n}\n","import {\n WORKFLOW_LAYOUT_STEP_SETTINGS,\n type WorkflowLayoutStepSettings,\n} from '@lokalise/maestro-common'\nimport { z } from 'zod'\n\nexport const END_STEP_FORM_SCHEMA = z.object({})\nexport type EndStepForm = z.infer<typeof END_STEP_FORM_SCHEMA>\n\nexport const END_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS.merge(\n END_STEP_FORM_SCHEMA,\n).extend({\n stepType: z.literal('end_step'),\n})\nexport type EndStepSettings = z.infer<typeof END_STEP_SETTINGS_SCHEMA>\n\nexport const DEFAULT_END_STEP_SETTINGS: WorkflowLayoutStepSettings & EndStepSettings = {\n stepType: 'end_step',\n}\n","export {\n SCHEDULED_TRIGGER_STEP_FORM_SCHEMA,\n SCHEDULED_TRIGGER_STEP_SETTINGS_SCHEMA,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n} from './steps/scheduledTriggerStep.js'\nexport type {\n ScheduledTriggerStepForm,\n ScheduledTriggerStepSettings,\n} from './steps/scheduledTriggerStep.js'\n\nexport {\n AI_MT_TRANSLATION_STEP_FORM_SCHEMA,\n AI_MT_TRANSLATION_STEP_SETTINGS_SCHEMA,\n DEFAULT_AI_MT_TRANSLATION_STEP_SETTINGS,\n} from './steps/aiMtTranslationStep.js'\nexport type {\n AiMtTranslationStepForm,\n AiMtTranslationStepSettings,\n} from './steps/aiMtTranslationStep.js'\n\nexport {\n TRANSLATE_TASK_STEP_FORM_SCHEMA,\n TRANSLATE_TASK_STEP_SETTINGS_SCHEMA,\n DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n} from './steps/translateTaskStep.js'\nexport type {\n TranslateTaskStepForm,\n TranslateTaskStepSettings,\n} from './steps/translateTaskStep.js'\nexport {\n REVIEW_TASK_STEP_FORM_SCHEMA,\n REVIEW_TASK_STEP_SETTINGS_SCHEMA,\n DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n} from './steps/reviewTaskStep.js'\nexport type {\n ReviewTaskStepForm,\n ReviewTaskStepSettings,\n} from './steps/reviewTaskStep.js'\nexport {\n CLEAR_TRANSLATIONS_STEP_FORM_SCHEMA,\n CLEAR_TRANSLATIONS_STEP_SETTINGS_SCHEMA,\n DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS,\n type ClearTranslationsStepForm,\n type ClearTranslationsStepSettings,\n} from './steps/clearTranslationsStep.js'\nexport {\n APPLY_TM_STEP_FORM_SCHEMA,\n APPLY_TM_STEP_SETTINGS_SCHEMA,\n DEFAULT_APPLY_TM_STEP_SETTINGS,\n type ApplyTmStepForm,\n type ApplyTmStepSettings,\n} from './steps/applyTmStep.js'\nexport {\n END_STEP_FORM_SCHEMA,\n END_STEP_SETTINGS_SCHEMA,\n DEFAULT_END_STEP_SETTINGS,\n} from './steps/endStep.js'\nexport type { EndStepForm, EndStepSettings } from './steps/endStep.js'\n\nexport const STEP_TYPES = [\n 'trigger_step',\n 'review_task_step',\n 'translate_task_step',\n 'clear_translations_step',\n 'apply_tm_step',\n 'end_step',\n 'ai_mt_translation_step',\n] as const\nexport type StepType = (typeof STEP_TYPES)[number]\n","import {\n DEFAULT_AI_MT_TRANSLATION_STEP_SETTINGS,\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport { DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS } from '../../workflow/steps/clearTranslationsStep.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const CLEAR_TRANSLATIONS_MT_AI_REVIEW_TASK_TEMPLATE: InternalTemplate<\n 'TriggerStep' | 'ClearTranslationsStep' | 'AiMtTranslationStep' | 'ReviewTaskStep' | 'EndStep'\n> = {\n id: 'clearTranslationsMtAiReviewTask',\n title: 'AI/MT • Review task',\n summary:\n 'Apply AI/MT translation after clearing existing translations, and then create a review task.',\n description:\n 'This template sets up a workflow that clears existing translations, applies AI/MT translation, and creates a review task for human verification.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'ClearTranslationsStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n ClearTranslationsStep: {\n entry: [\n {\n type: 'clearTranslationsAction',\n },\n ],\n on: {\n TranslationsClearedEvent: {\n target: 'AiMtTranslationStep',\n },\n },\n },\n AiMtTranslationStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'ai_mt_translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskSkippedEvent: {\n target: 'ReviewTaskStep',\n },\n TaskClosedEvent: {\n target: 'ReviewTaskStep',\n },\n },\n },\n ReviewTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'review',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n ClearTranslationsStep: DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS,\n AiMtTranslationStep: DEFAULT_AI_MT_TRANSLATION_STEP_SETTINGS,\n ReviewTaskStep: DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: [\n 'TriggerStep',\n 'ClearTranslationsStep',\n 'AiMtTranslationStep',\n 'ReviewTaskStep',\n 'EndStep',\n ],\n}\n","import {\n DEFAULT_AI_MT_TRANSLATION_STEP_SETTINGS,\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport { DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS } from '../../workflow/steps/clearTranslationsStep.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const CLEAR_TRANSLATIONS_MT_AI_TASK_TEMPLATE: InternalTemplate<\n 'TriggerStep' | 'ClearTranslationsStep' | 'AiMtTranslationStep' | 'EndStep'\n> = {\n id: 'clearTranslationsMtAiTask',\n title: 'AI/MT (AI/Machine translation)',\n summary: 'Apply AI/MT translation after clearing existing translations.',\n description:\n 'This template sets up a workflow that first clears existing translations and then applies AI/MT translation.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'ClearTranslationsStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n ClearTranslationsStep: {\n entry: [\n {\n type: 'clearTranslationsAction',\n },\n ],\n on: {\n TranslationsClearedEvent: {\n target: 'AiMtTranslationStep',\n },\n },\n },\n AiMtTranslationStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'ai_mt_translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskSkippedEvent: {\n target: 'EndStep',\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n ClearTranslationsStep: DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS,\n AiMtTranslationStep: DEFAULT_AI_MT_TRANSLATION_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: ['TriggerStep', 'ClearTranslationsStep', 'AiMtTranslationStep', 'EndStep'],\n}\n","import {\n DEFAULT_AI_MT_TRANSLATION_STEP_SETTINGS,\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport { DEFAULT_APPLY_TM_STEP_SETTINGS } from '../../workflow/steps/applyTmStep.js'\nimport { DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS } from '../../workflow/steps/clearTranslationsStep.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const CLEAR_TRANSLATIONS_TM_MT_AI_REVIEW_TASK_TEMPLATE: InternalTemplate<\n | 'TriggerStep'\n | 'ClearTranslationsStep'\n | 'ApplyTmStep'\n | 'AiMtTranslationStep'\n | 'ReviewTaskStep'\n | 'EndStep'\n> = {\n id: 'clearTranslationsTmMtAiReviewTask',\n title: 'TM • AI/MT • Review task',\n summary:\n 'Translate content using Translation Memory, apply AI/MT translation for the rest, and then create a review task',\n description:\n 'This template sets up a workflow that clears existing translations, applies Translation Memory, then AI/MT translation, and creates a review task for human verification.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'ClearTranslationsStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n ClearTranslationsStep: {\n entry: [\n {\n type: 'clearTranslationsAction',\n },\n ],\n on: {\n TranslationsClearedEvent: {\n target: 'ApplyTmStep',\n },\n },\n },\n ApplyTmStep: {\n entry: [\n {\n type: 'applyTmAction',\n },\n ],\n on: {\n TmAppliedEvent: {\n target: 'AiMtTranslationStep',\n },\n },\n },\n AiMtTranslationStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'ai_mt_translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskSkippedEvent: {\n target: 'ReviewTaskStep',\n },\n TaskClosedEvent: {\n target: 'ReviewTaskStep',\n },\n },\n },\n ReviewTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'review',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n ClearTranslationsStep: DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS,\n ApplyTmStep: DEFAULT_APPLY_TM_STEP_SETTINGS,\n AiMtTranslationStep: DEFAULT_AI_MT_TRANSLATION_STEP_SETTINGS,\n ReviewTaskStep: DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: [\n 'TriggerStep',\n 'ClearTranslationsStep',\n 'ApplyTmStep',\n 'AiMtTranslationStep',\n 'ReviewTaskStep',\n 'EndStep',\n ],\n}\n","import {\n DEFAULT_AI_MT_TRANSLATION_STEP_SETTINGS,\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport { DEFAULT_APPLY_TM_STEP_SETTINGS } from '../../workflow/steps/applyTmStep.js'\nimport { DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS } from '../../workflow/steps/clearTranslationsStep.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const CLEAR_TRANSLATIONS_TM_MT_AI_TASK_TEMPLATE: InternalTemplate<\n 'TriggerStep' | 'ClearTranslationsStep' | 'ApplyTmStep' | 'AiMtTranslationStep' | 'EndStep'\n> = {\n id: 'clearTranslationsTmMtAiTask',\n title: 'TM • AI/MT',\n summary: 'Translate content using Translation Memory, apply AI/MT translation for the rest',\n description:\n 'This template sets up a workflow that clears existing translations, applies Translation Memory, then AI/MT translation.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'ClearTranslationsStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n ClearTranslationsStep: {\n entry: [\n {\n type: 'clearTranslationsAction',\n },\n ],\n on: {\n TranslationsClearedEvent: {\n target: 'ApplyTmStep',\n },\n },\n },\n ApplyTmStep: {\n entry: [\n {\n type: 'applyTmAction',\n },\n ],\n on: {\n TmAppliedEvent: {\n target: 'AiMtTranslationStep',\n },\n },\n },\n AiMtTranslationStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'ai_mt_translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskSkippedEvent: {\n target: 'EndStep',\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n ClearTranslationsStep: DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS,\n ApplyTmStep: DEFAULT_APPLY_TM_STEP_SETTINGS,\n AiMtTranslationStep: DEFAULT_AI_MT_TRANSLATION_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: ['TriggerStep', 'ClearTranslationsStep', 'ApplyTmStep', 'AiMtTranslationStep', 'EndStep'],\n}\n","import {\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport { DEFAULT_APPLY_TM_STEP_SETTINGS } from '../../workflow/steps/applyTmStep.js'\nimport { DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS } from '../../workflow/steps/clearTranslationsStep.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const CLEAR_TRANSLATIONS_TM_TEMPLATE: InternalTemplate<\n 'TriggerStep' | 'ClearTranslationsStep' | 'ApplyTmStep' | 'EndStep'\n> = {\n id: 'clearTranslationsTm',\n title: 'TM (Translation Memory)',\n summary:\n 'Translate content using Translation Memory when content is added/updated in the project.',\n description:\n 'Select this workflow to automatically generate a translation using Translation Memory when the content in the editor meets the conditions set in “Start”.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'ClearTranslationsStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n ClearTranslationsStep: {\n entry: [\n {\n type: 'clearTranslationsAction',\n },\n ],\n on: {\n TranslationsClearedEvent: {\n target: 'ApplyTmStep',\n },\n },\n },\n ApplyTmStep: {\n entry: [\n {\n type: 'applyTmAction',\n },\n ],\n on: {\n TmAppliedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n ClearTranslationsStep: DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS,\n ApplyTmStep: DEFAULT_APPLY_TM_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: ['TriggerStep', 'ClearTranslationsStep', 'ApplyTmStep', 'EndStep'],\n}\n","import {\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport { DEFAULT_APPLY_TM_STEP_SETTINGS } from '../../workflow/steps/applyTmStep.js'\nimport { DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS } from '../../workflow/steps/clearTranslationsStep.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const CLEAR_TRANSLATIONS_TM_TRANSLATE_REVIEW_TASK_TEMPLATE: InternalTemplate<\n | 'TriggerStep'\n | 'ClearTranslationsStep'\n | 'ApplyTmStep'\n | 'TranslateTaskStep'\n | 'ReviewTaskStep'\n | 'EndStep'\n> = {\n id: 'clearTranslationsTmTranslateReviewTask',\n title: 'TM • Translation task • Review task',\n summary: 'Translate content using TM before creating translation and review tasks.',\n description:\n 'This template sets up a chained workflow that enables the automatic creation of a translation task, and subsequently a review task, after applying Translation Memory. This can be used by teams that would like to avoid translating repetitive content that has already been translated in the past.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'ClearTranslationsStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n ClearTranslationsStep: {\n entry: [\n {\n type: 'clearTranslationsAction',\n },\n ],\n on: {\n TranslationsClearedEvent: {\n target: 'ApplyTmStep',\n },\n },\n },\n ApplyTmStep: {\n entry: [\n {\n type: 'applyTmAction',\n },\n ],\n on: {\n TmAppliedEvent: {\n target: 'TranslateTaskStep',\n },\n },\n },\n TranslateTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'ReviewTaskStep',\n },\n },\n },\n ReviewTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'review',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n ClearTranslationsStep: DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS,\n ApplyTmStep: DEFAULT_APPLY_TM_STEP_SETTINGS,\n TranslateTaskStep: DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n ReviewTaskStep: DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: [\n 'TriggerStep',\n 'ClearTranslationsStep',\n 'ApplyTmStep',\n 'TranslateTaskStep',\n 'ReviewTaskStep',\n 'EndStep',\n ],\n}\n","import {\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport { DEFAULT_APPLY_TM_STEP_SETTINGS } from '../../workflow/steps/applyTmStep.js'\nimport { DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS } from '../../workflow/steps/clearTranslationsStep.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const CLEAR_TRANSLATIONS_TM_TRANSLATE_TASK_TEMPLATE: InternalTemplate<\n 'TriggerStep' | 'ClearTranslationsStep' | 'ApplyTmStep' | 'TranslateTaskStep' | 'EndStep'\n> = {\n id: 'clearTranslationsTmTranslateTask',\n title: 'TM • Translation task',\n summary: 'Translate content using TM before creating a translation task.',\n description:\n 'This template sets up a chained workflow that enables the automatic creation of a translation task after applying Translation Memory. This can be used by teams that would like to avoid translating repetitive content that has already been translated in the past.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'ClearTranslationsStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n ClearTranslationsStep: {\n entry: [\n {\n type: 'clearTranslationsAction',\n },\n ],\n on: {\n TranslationsClearedEvent: {\n target: 'ApplyTmStep',\n },\n },\n },\n ApplyTmStep: {\n entry: [\n {\n type: 'applyTmAction',\n },\n ],\n on: {\n TmAppliedEvent: {\n target: 'TranslateTaskStep',\n },\n },\n },\n TranslateTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n ClearTranslationsStep: DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS,\n ApplyTmStep: DEFAULT_APPLY_TM_STEP_SETTINGS,\n TranslateTaskStep: DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: ['TriggerStep', 'ClearTranslationsStep', 'ApplyTmStep', 'TranslateTaskStep', 'EndStep'],\n}\n","import {\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const REVIEW_TASK_TEMPLATE: InternalTemplate<'TriggerStep' | 'ReviewTaskStep' | 'EndStep'> =\n {\n id: 'reviewTask',\n title: 'Review task',\n summary: 'Generate a review task when content is added/updated in the project.',\n description:\n 'Select this workflow to automatically create a review task when the content in the editor meets the conditions set in \"Start\".',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'ReviewTaskStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n ReviewTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'review',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n ReviewTaskStep: DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: ['TriggerStep', 'ReviewTaskStep', 'EndStep'],\n }\n","import {\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const REVIEW_TRANSLATE_REVIEW_TASK_TEMPLATE: InternalTemplate<\n 'TriggerStep' | 'ReviewTaskStep' | 'TranslateTaskStep' | 'SecondReviewTaskStep' | 'EndStep'\n> = {\n id: 'reviewTranslateReviewTask',\n title: 'Review task • Translation task • Review task',\n summary: 'Automatic creation of review tasks before and after a translation task.',\n description:\n 'This template sets up a chained workflow that enables the automatic creation of a review task both before and after translation. This can be used by teams that check the source copy before translation and conduct a review round after translation.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'ReviewTaskStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n ReviewTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'review',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'TranslateTaskStep',\n },\n },\n },\n TranslateTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'SecondReviewTaskStep',\n },\n },\n },\n SecondReviewTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'review',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n ReviewTaskStep: DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n TranslateTaskStep: DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n SecondReviewTaskStep: DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: ['TriggerStep', 'ReviewTaskStep', 'TranslateTaskStep', 'SecondReviewTaskStep', 'EndStep'],\n}\n","import {\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const REVIEW_TRANSLATE_TASK_TEMPLATE: InternalTemplate<\n 'TriggerStep' | 'ReviewTaskStep' | 'TranslateTaskStep' | 'EndStep'\n> = {\n id: 'reviewTranslateTask',\n title: 'Review task • Translation task',\n summary: 'Automatic creation of a review task before a translation task.',\n description:\n 'Use this template to set up a chained workflow where a translation task will be created as soon as the review task is completed.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'ReviewTaskStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n ReviewTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'review',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'TranslateTaskStep',\n },\n },\n },\n TranslateTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n ReviewTaskStep: DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n TranslateTaskStep: DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: ['TriggerStep', 'ReviewTaskStep', 'TranslateTaskStep', 'EndStep'],\n}\n","import {\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const TRANSLATE_AND_REVIEW_TASK_TEMPLATE: InternalTemplate<\n 'TriggerStep' | 'TranslateTaskStep' | 'ReviewTaskStep' | 'EndStep'\n> = {\n id: 'translateAndReviewTask',\n title: 'Translation task • Review task',\n summary: 'Automatic creation of translation task before a review task.',\n description:\n 'Use this template to set up a chained workflow where a review task will be created as soon as the translation task is completed.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'TranslateTaskStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n TranslateTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'ReviewTaskStep',\n },\n },\n },\n ReviewTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'review',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n TranslateTaskStep: DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n ReviewTaskStep: DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: ['TriggerStep', 'TranslateTaskStep', 'ReviewTaskStep', 'EndStep'],\n}\n","import {\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const TRANSLATE_REVIEW_REVIEW_TASK_TEMPLATE: InternalTemplate<\n 'TriggerStep' | 'TranslateTaskStep' | 'ReviewTaskStep' | 'SecondReviewTaskStep' | 'EndStep'\n> = {\n id: 'translateReviewReviewTask',\n title: 'Translation task • Review task • Review task',\n summary: 'Automatic creation of a translation task followed by two review tasks.',\n description:\n 'This template to set up a chained workflow where it enables the automatic creation of two review tasks after translation. This could be used by teams that e.g. have one round of proofreading before stakeholders review it.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'TranslateTaskStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n TranslateTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'ReviewTaskStep',\n },\n },\n },\n ReviewTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'review',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'SecondReviewTaskStep',\n },\n },\n },\n SecondReviewTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'review',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n TranslateTaskStep: DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n ReviewTaskStep: DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n SecondReviewTaskStep: DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: ['TriggerStep', 'TranslateTaskStep', 'ReviewTaskStep', 'SecondReviewTaskStep', 'EndStep'],\n}\n","import {\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const TRANSLATE_TASK_TEMPLATE: InternalTemplate<\n 'TriggerStep' | 'TranslateTaskStep' | 'EndStep'\n> = {\n id: 'translateTask',\n title: 'Translation task',\n summary: 'Generate a translation task when content is added/updated in the project.',\n description:\n 'Select this workflow to automatically create a translation task when the content in the editor meets the conditions set in “Start”.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'TranslateTaskStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n TranslateTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n guard: { type: 'checkClosedTaskId' },\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n TranslateTaskStep: DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: ['TriggerStep', 'TranslateTaskStep', 'EndStep'],\n}\n","import { LayoutTranslator } from '../workflow/LayoutTranslator.js'\nimport { CLEAR_TRANSLATIONS_MT_AI_REVIEW_TASK_TEMPLATE } from './resources/clear-translations-mt-ai-review-task.template.js'\nimport { CLEAR_TRANSLATIONS_MT_AI_TASK_TEMPLATE } from './resources/clear-translations-mt-ai-task.template.js'\nimport { CLEAR_TRANSLATIONS_TM_MT_AI_REVIEW_TASK_TEMPLATE } from './resources/clear-translations-tm-mt-ai-review-task.template.js'\nimport { CLEAR_TRANSLATIONS_TM_MT_AI_TASK_TEMPLATE } from './resources/clear-translations-tm-mt-ai-task.template.js'\nimport { CLEAR_TRANSLATIONS_TM_TEMPLATE } from './resources/clear-translations-tm-templates.js'\nimport { CLEAR_TRANSLATIONS_TM_TRANSLATE_REVIEW_TASK_TEMPLATE } from './resources/clear-translations-tm-translate-review-task-template.js'\nimport { CLEAR_TRANSLATIONS_TM_TRANSLATE_TASK_TEMPLATE } from './resources/clear-translations-tm-translate-task-template.js'\nimport { REVIEW_TASK_TEMPLATE } from './resources/review-task.template.js'\nimport { REVIEW_TRANSLATE_REVIEW_TASK_TEMPLATE } from './resources/review-translate-review-task.template.js'\nimport { REVIEW_TRANSLATE_TASK_TEMPLATE } from './resources/review-translate-task.template.js'\nimport { TRANSLATE_AND_REVIEW_TASK_TEMPLATE } from './resources/translate-and-review-task.template.js'\nimport { TRANSLATE_REVIEW_REVIEW_TASK_TEMPLATE } from './resources/translate-review-review-task.template.js'\nimport { TRANSLATE_TASK_TEMPLATE } from './resources/translate-task.template.js'\nimport type { InternalTemplate, Template } from './types.js'\n\nexport const TEMPLATE_IDS = [\n 'clearTranslationsMtAiTask',\n 'translateTask',\n 'clearTranslationsTm',\n 'clearTranslationsMtAiReviewTask',\n 'clearTranslationsTmMtAiReviewTask',\n 'clearTranslationsTmTranslateTask',\n 'translateAndReviewTask',\n 'clearTranslationsTmTranslateReviewTask',\n 'translateReviewReviewTask',\n 'reviewTask',\n 'reviewTranslateTask',\n 'reviewTranslateReviewTask',\n 'clearTranslationsTmMtAiTask',\n] as const\n\nexport type TemplateId = (typeof TEMPLATE_IDS)[number]\n\nconst buildTemplate = <StateName extends string>(\n internalTemplate: InternalTemplate<StateName>,\n): Template<StateName> => {\n const layoutTranslator = new LayoutTranslator()\n const frontendLayout = layoutTranslator.translateTemplateToFrontendLayout(internalTemplate)\n\n return {\n ...internalTemplate,\n frontendLayout,\n }\n}\n\nexport const TEMPLATES: Record<TemplateId, Template<string>> = {\n clearTranslationsMtAiTask: buildTemplate(CLEAR_TRANSLATIONS_MT_AI_TASK_TEMPLATE),\n translateTask: buildTemplate(TRANSLATE_TASK_TEMPLATE),\n clearTranslationsTm: buildTemplate(CLEAR_TRANSLATIONS_TM_TEMPLATE),\n clearTranslationsMtAiReviewTask: buildTemplate(CLEAR_TRANSLATIONS_MT_AI_REVIEW_TASK_TEMPLATE),\n clearTranslationsTmMtAiReviewTask: buildTemplate(\n CLEAR_TRANSLATIONS_TM_MT_AI_REVIEW_TASK_TEMPLATE,\n ),\n clearTranslationsTmTranslateTask: buildTemplate(CLEAR_TRANSLATIONS_TM_TRANSLATE_TASK_TEMPLATE),\n translateAndReviewTask: buildTemplate(TRANSLATE_AND_REVIEW_TASK_TEMPLATE),\n clearTranslationsTmTranslateReviewTask: buildTemplate(\n CLEAR_TRANSLATIONS_TM_TRANSLATE_REVIEW_TASK_TEMPLATE,\n ),\n translateReviewReviewTask: buildTemplate(TRANSLATE_REVIEW_REVIEW_TASK_TEMPLATE),\n reviewTask: buildTemplate(REVIEW_TASK_TEMPLATE),\n reviewTranslateTask: buildTemplate(REVIEW_TRANSLATE_TASK_TEMPLATE),\n reviewTranslateReviewTask: buildTemplate(REVIEW_TRANSLATE_REVIEW_TASK_TEMPLATE),\n clearTranslationsTmMtAiTask: buildTemplate(CLEAR_TRANSLATIONS_TM_MT_AI_TASK_TEMPLATE),\n}\n"],"mappings":"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","names":["import_zod","_","template","import_maestro_common","import_zod","import_maestro_common","import_zod","import_maestro_common","import_zod","import_zod","import_zod","import_maestro_common","import_zod","import_maestro_common","import_zod","z"]}
|
|
1
|
+
{"version":3,"sources":["../index.ts","../src/apiContract/schemas.ts","../src/workflow/LayoutTranslator.ts","../src/workflow/steps/scheduledTriggerStep.ts","../src/workflow/steps/aiMtTranslationStep.ts","../src/workflow/messages.ts","../src/workflow/steps/applyTmStep.ts","../src/workflow/steps/translateTaskStep.ts","../src/workflow/steps/reviewTaskStep.ts","../src/workflow/steps/clearTranslationsStep.ts","../src/workflow/steps/endStep.ts","../src/workflow/steps.ts","../src/templates/resources/clear-translations-mt-ai-review-task.template.ts","../src/templates/resources/clear-translations-mt-ai-task.template.ts","../src/templates/resources/clear-translations-tm-mt-ai-review-task.template.ts","../src/templates/resources/clear-translations-tm-mt-ai-task.template.ts","../src/templates/resources/clear-translations-tm-templates.ts","../src/templates/resources/clear-translations-tm-translate-review-task-template.ts","../src/templates/resources/clear-translations-tm-translate-task-template.ts","../src/templates/resources/review-task.template.ts","../src/templates/resources/review-translate-review-task.template.ts","../src/templates/resources/review-translate-task.template.ts","../src/templates/resources/translate-and-review-task.template.ts","../src/templates/resources/translate-review-review-task.template.ts","../src/templates/resources/translate-task.template.ts","../src/templates/schemas.ts"],"sourcesContent":["export * from './src/apiContract/schemas.js'\nexport * from './src/workflow/steps.js'\nexport * from './src/workflow/messages.js'\nexport { TEMPLATES, TemplateId } from './src/templates/schemas.js'\nexport { Template, FrontendLayout, FrontendLayoutStep } from './src/templates/types.js'\nexport { LayoutTranslator } from './src/workflow/LayoutTranslator.js'\n","import { COMMON_ERROR_RESPONSE_SCHEMA } from '@lokalise/api-common'\nimport z from 'zod'\nimport { TEMPLATE_IDS } from '../templates/schemas.js'\nimport {\n AI_MT_TRANSLATION_STEP_FORM_SCHEMA,\n AI_MT_TRANSLATION_STEP_SETTINGS_SCHEMA,\n APPLY_TM_STEP_FORM_SCHEMA,\n APPLY_TM_STEP_SETTINGS_SCHEMA,\n CLEAR_TRANSLATIONS_STEP_FORM_SCHEMA,\n CLEAR_TRANSLATIONS_STEP_SETTINGS_SCHEMA,\n END_STEP_FORM_SCHEMA,\n END_STEP_SETTINGS_SCHEMA,\n REVIEW_TASK_STEP_FORM_SCHEMA,\n REVIEW_TASK_STEP_SETTINGS_SCHEMA,\n SCHEDULED_TRIGGER_STEP_FORM_SCHEMA,\n SCHEDULED_TRIGGER_STEP_SETTINGS_SCHEMA,\n STEP_TYPES,\n TRANSLATE_TASK_STEP_FORM_SCHEMA,\n TRANSLATE_TASK_STEP_SETTINGS_SCHEMA,\n} from '../workflow/steps.js'\n\n// COMMON SCHEMAS\nconst MAX_STEP_ID_LENGTH = 100\nconst DATETIME = z.string().datetime()\nconst WORKFLOW_ID = z.string().max(36)\nconst TEMPLATE_ID = z.enum(TEMPLATE_IDS).describe('Template identifier')\nexport const GROUP_ID = z\n .string()\n .regex(/^expert_[^_\\s]+_[^_\\s]+$/, 'Invalid group ID format')\n .max(255)\n .describe(\n 'Group identifier composed by the tenant ID, followed by the owner ID, followed by the project ID. Underscores are used as separators (e.g. `expert_123_98616399660d3c2456abc5.66984240`)',\n )\n\nexport const METADATA_FIELDS = z\n .enum(['targetLanguageIds', 'error'])\n .describe('Metadata fields that can be included in the response')\n\nexport const TRIGGER_TYPE = z.enum(['Manual', 'Scheduled', 'Automated']).describe('Trigger type')\n\nexport const WORKFLOW_STATUS = z\n .enum(['Draft', 'Live', 'Archived', 'Paused', 'Canceled'])\n .describe('Workflow status')\n\nexport const API_ERROR = COMMON_ERROR_RESPONSE_SCHEMA\n\nexport const WORKFLOW_PARAMS = z\n .object({\n groupId: GROUP_ID,\n workflowId: WORKFLOW_ID,\n })\n .describe('URL parameters for getting a workflow')\nexport type WorkflowParams = z.infer<typeof WORKFLOW_PARAMS>\n\nexport const UNSPECIFIED_WORKFLOW_PARAMS = z\n .object({\n groupId: GROUP_ID,\n })\n .describe('URL parameters without workflowId')\nexport type UnspecifiedWorkflowParams = z.infer<typeof UNSPECIFIED_WORKFLOW_PARAMS>\n\n// GET WORKFLOW\nexport const GET_WORKFLOW_PARAMS = WORKFLOW_PARAMS\n\nexport const WORKFLOW = z\n .object({\n id: WORKFLOW_ID,\n version: z.number(),\n status: WORKFLOW_STATUS,\n title: z.string(),\n triggerType: TRIGGER_TYPE,\n targetLanguageIds: z.array(z.string()).optional().nullable(),\n error: COMMON_ERROR_RESPONSE_SCHEMA.optional().nullable(),\n createdAt: DATETIME,\n updatedAt: z.optional(DATETIME).nullable(),\n publishedAt: z.optional(DATETIME).nullable(),\n triggeredAt: z.optional(DATETIME).nullable(),\n metadata: z.optional(z.record(z.unknown())).nullable(),\n })\n .describe('Workflow. Used in the list of workflows')\n\nexport const WORKFLOW_EXTENDED_STEP_SCHEMA = z.discriminatedUnion('type', [\n z.object({\n id: z.string().max(MAX_STEP_ID_LENGTH),\n type: SCHEDULED_TRIGGER_STEP_SETTINGS_SCHEMA.shape.stepType,\n values: SCHEDULED_TRIGGER_STEP_FORM_SCHEMA,\n triggerType: SCHEDULED_TRIGGER_STEP_SETTINGS_SCHEMA.shape.triggerType,\n }),\n z.object({\n id: z.string().max(MAX_STEP_ID_LENGTH),\n type: TRANSLATE_TASK_STEP_SETTINGS_SCHEMA.shape.stepType,\n values: TRANSLATE_TASK_STEP_FORM_SCHEMA,\n taskType: TRANSLATE_TASK_STEP_SETTINGS_SCHEMA.shape.taskType,\n }),\n z.object({\n id: z.string().max(MAX_STEP_ID_LENGTH),\n type: REVIEW_TASK_STEP_SETTINGS_SCHEMA.shape.stepType,\n values: REVIEW_TASK_STEP_FORM_SCHEMA,\n taskType: REVIEW_TASK_STEP_SETTINGS_SCHEMA.shape.taskType,\n }),\n z.object({\n id: z.string().max(MAX_STEP_ID_LENGTH),\n type: APPLY_TM_STEP_SETTINGS_SCHEMA.shape.stepType,\n values: APPLY_TM_STEP_FORM_SCHEMA,\n }),\n z.object({\n id: z.string().max(MAX_STEP_ID_LENGTH),\n type: CLEAR_TRANSLATIONS_STEP_SETTINGS_SCHEMA.shape.stepType,\n values: CLEAR_TRANSLATIONS_STEP_FORM_SCHEMA,\n }),\n z.object({\n id: z.string().max(MAX_STEP_ID_LENGTH),\n type: AI_MT_TRANSLATION_STEP_SETTINGS_SCHEMA.shape.stepType,\n values: AI_MT_TRANSLATION_STEP_FORM_SCHEMA,\n taskType: AI_MT_TRANSLATION_STEP_SETTINGS_SCHEMA.shape.taskType,\n }),\n z.object({\n id: z.string().max(MAX_STEP_ID_LENGTH),\n type: END_STEP_SETTINGS_SCHEMA.shape.stepType,\n values: END_STEP_FORM_SCHEMA,\n }),\n])\n\nexport const WORKFLOW_EXTENDED_SCHEMA = z\n .array(WORKFLOW_EXTENDED_STEP_SCHEMA)\n .describe('Workflow FrontendLayout')\n\nexport const WORKFLOW_EXTENDED = z\n .object({\n id: WORKFLOW_ID,\n groupId: GROUP_ID,\n version: z.number(),\n status: WORKFLOW_STATUS,\n title: z.string(),\n schema: WORKFLOW_EXTENDED_SCHEMA,\n error: COMMON_ERROR_RESPONSE_SCHEMA.optional().nullable(),\n createdAt: DATETIME,\n updatedAt: z.optional(DATETIME),\n publishedAt: z.optional(DATETIME),\n })\n .describe('Workflow. Response for getting a workflow or creating a new one')\n\nexport const WORKFLOW_EXTENDED_SCHEMA_SIMPLIFIED = z\n .array(\n z.object({\n id: z.string().max(100),\n type: z.enum(STEP_TYPES),\n values: z.record(z.string(), z.unknown()),\n triggerType: z.optional(TRIGGER_TYPE),\n taskType: z.optional(z.enum(['translation', 'review'])),\n }),\n )\n .describe(\n 'Simplified schema for the response to be able to return default values to the frontend',\n )\n\nexport const WORKFLOW_EXTENDED_SIMPLIFIED = z\n .object({\n id: WORKFLOW_ID,\n groupId: GROUP_ID,\n version: z.number(),\n status: WORKFLOW_STATUS,\n title: z.string(),\n schema: WORKFLOW_EXTENDED_SCHEMA_SIMPLIFIED,\n error: COMMON_ERROR_RESPONSE_SCHEMA.optional().nullable(),\n createdAt: DATETIME,\n updatedAt: z.optional(DATETIME),\n publishedAt: z.optional(DATETIME),\n })\n .describe(\n 'Simplified schema for the response to be able to return default values to the frontend',\n )\n\nexport type Workflow = z.infer<typeof WORKFLOW>\nexport type WorkflowExtended = z.infer<typeof WORKFLOW_EXTENDED>\nexport type WorkflowExtendedSchema = z.infer<typeof WORKFLOW_EXTENDED_SCHEMA>\n\nexport const GET_WORKFLOW_RESPONSE = z.object({\n data: WORKFLOW_EXTENDED,\n})\n\nexport const GET_WORKFLOW_SIMPLIFIED_RESPONSE = z.object({\n data: WORKFLOW_EXTENDED_SIMPLIFIED,\n})\n\nexport type GetWorkflowParams = z.infer<typeof GET_WORKFLOW_PARAMS>\nexport type GetWorkflowResponse = z.infer<typeof GET_WORKFLOW_RESPONSE>\n\n// LIST WORKFLOWS\nexport const GET_WORKFLOW_LIST_PARAMS = UNSPECIFIED_WORKFLOW_PARAMS\n\nexport const GET_WORKFLOW_LIST_RESPONSE = z.object({\n data: z.array(WORKFLOW),\n})\n\nexport type GetWorkflowListParams = z.infer<typeof GET_WORKFLOW_LIST_PARAMS>\nexport type GetWorkflowListResponse = z.infer<typeof GET_WORKFLOW_LIST_RESPONSE>\n\n// PAUSE WORKFLOW\nexport const PATCH_PAUSE_WORKFLOW_PARAMS = WORKFLOW_PARAMS\n\nexport const PATCH_PAUSE_WORKFLOW_RESPONSE = z.null({\n description: 'Successfully paused workflow',\n})\n\nexport type PatchPauseWorkflowParams = z.infer<typeof PATCH_PAUSE_WORKFLOW_PARAMS>\nexport type PatchPauseWorkflowResponse = z.infer<typeof PATCH_PAUSE_WORKFLOW_RESPONSE>\n\n// RESUME WORKFLOW\nexport const PATCH_RESUME_WORKFLOW_PARAMS = WORKFLOW_PARAMS\n\nexport const PATCH_RESUME_WORKFLOW_BODY = z.object({\n runNow: z.optional(z.boolean()).default(false),\n})\n\nexport const PATCH_RESUME_WORKFLOW_RESPONSE = z.null({\n description: 'Successfully resumed workflow',\n})\n\nexport type PatchResumeWorkflowParams = z.infer<typeof PATCH_RESUME_WORKFLOW_PARAMS>\nexport type PatchResumeWorkflowBody = z.infer<typeof PATCH_RESUME_WORKFLOW_BODY>\nexport type PatchResumeWorkflowResponse = z.infer<typeof PATCH_RESUME_WORKFLOW_RESPONSE>\n\n// DUPLICATE WORKFLOW\nexport const POST_DUPLICATE_WORKFLOW_PARAMS = WORKFLOW_PARAMS\n\nexport const POST_DUPLICATE_WORKFLOW_RESPONSE = GET_WORKFLOW_RESPONSE\n\n// DELETE WORKFLOW\nexport const DELETE_WORKFLOW_PARAMS = WORKFLOW_PARAMS\n\nexport const DELETE_WORKFLOW_RESPONSE = z.null({\n description: 'Successfully deleted workflow',\n})\n\nexport type DeleteWorkflowParams = z.infer<typeof DELETE_WORKFLOW_PARAMS>\nexport type DeleteWorkflowResponse = z.infer<typeof DELETE_WORKFLOW_RESPONSE>\n\n// CREATE WORKFLOW\nexport const POST_WORKFLOW_PARAMS = UNSPECIFIED_WORKFLOW_PARAMS\n\nexport const POST_WORKFLOW_BODY = z\n .nullable(\n z.object({\n templateId: TEMPLATE_ID.optional(),\n }),\n )\n .describe('Parameters for creating a workflow')\n\nexport const POST_WORKFLOW_RESPONSE = z.object({\n data: WORKFLOW_EXTENDED,\n})\n\nexport const POST_WORKFLOW_SIMPLIFIED_RESPONSE = z.object({\n data: WORKFLOW_EXTENDED_SIMPLIFIED,\n})\n\nexport type PostWorkflowParams = z.infer<typeof POST_WORKFLOW_PARAMS>\nexport type PostWorkflowBody = z.infer<typeof POST_WORKFLOW_BODY>\nexport type PostWorkflowResponse = z.infer<typeof POST_WORKFLOW_RESPONSE>\n\n// UPDATE DRAFT\nexport const PUT_WORKFLOW_DRAFT_PARAMS = WORKFLOW_PARAMS\n\nexport const PUT_WORKFLOW_DRAFT_BODY = z\n .object({\n schema: WORKFLOW_EXTENDED_SCHEMA_SIMPLIFIED,\n })\n .describe('Schema with user changes')\n\nexport const PUT_WORKFLOW_DRAFT_RESPONSE = z.null({\n description: 'Successfully updated workflow draft',\n})\n\nexport type PutWorkflowDraftParams = z.infer<typeof PUT_WORKFLOW_DRAFT_PARAMS>\nexport type PutWorkflowDraftBody = z.infer<typeof PUT_WORKFLOW_DRAFT_BODY>\nexport type PutWorkflowDraftResponse = z.infer<typeof PUT_WORKFLOW_DRAFT_RESPONSE>\n\n// PATCH WORKFLOW\nexport const PATCH_WORKFLOW_PARAMS = WORKFLOW_PARAMS\n\nexport const PATCH_WORKFLOW_BODY = z\n .object({\n title: z.string().min(1).max(256),\n })\n .describe('Workflow title')\n\nexport const PATCH_WORKFLOW_RESPONSE = z.null({\n description: 'Successfully updated workflow',\n})\n\nexport type PatchWorkflowParams = z.infer<typeof PATCH_WORKFLOW_PARAMS>\nexport type PatchWorkflowBody = z.infer<typeof PATCH_WORKFLOW_BODY>\nexport type PatchWorkflowResponse = z.infer<typeof PATCH_WORKFLOW_RESPONSE>\n\n// ACTIVATE WORKFLOW\nexport const POST_ACTIVATE_WORKFLOW_PARAMS = WORKFLOW_PARAMS\n\nexport const POST_ACTIVATE_WORKFLOW_BODY = z\n .object({\n runNow: z.optional(z.boolean()),\n schema: WORKFLOW_EXTENDED_SCHEMA,\n })\n .describe(\n 'Schema with user changes. If runNow is true, the workflow will be triggered immediately.',\n )\n\nexport const POST_ACTIVATE_WORKFLOW_RESPONSE = z.null({\n description: 'Successfully activated workflow',\n})\n\nexport type PostActivateWorkflowParams = z.infer<typeof POST_ACTIVATE_WORKFLOW_PARAMS>\nexport type PostActivateWorkflowBody = z.infer<typeof POST_ACTIVATE_WORKFLOW_BODY>\nexport type PostActivateWorkflowResponse = z.infer<typeof POST_ACTIVATE_WORKFLOW_RESPONSE>\n\n// PUT LIVE WORKFLOW\nexport const PUT_LIVE_WORKFLOW_PARAMS = WORKFLOW_PARAMS\n\nexport const PUT_LIVE_WORKFLOW_BODY = z\n .object({\n runNow: z.optional(z.boolean()),\n schema: WORKFLOW_EXTENDED_SCHEMA,\n })\n .describe(\n 'Schema with user changes. If runNow is true, the workflow will be triggered immediately.',\n )\n\nexport const PUT_LIVE_WORKFLOW_RESPONSE = z.null({\n description: 'Successfully updated workflow',\n})\n\nexport type PutLiveWorkflowParams = z.infer<typeof PUT_LIVE_WORKFLOW_PARAMS>\nexport type PutLiveWorkflowBody = z.infer<typeof PUT_LIVE_WORKFLOW_BODY>\nexport type PutLiveWorkflowResponse = z.infer<typeof PUT_LIVE_WORKFLOW_RESPONSE>\n","import type {\n WorkflowLayout,\n WorkflowLayoutStepSettingsList,\n WorkflowLayoutStepTriggerEvent,\n WorkflowMetadata,\n} from '@lokalise/maestro-common'\nimport { areStringArraysEqual } from '@lokalise/universal-ts-utils/array/areStringArraysEqual.js'\nimport type { LayoutTranslatorInterface } from '../../../../src/modules/workflows/interfaces/LayoutTranslatorInterface.js'\nimport { TEMPLATES } from '../templates/schemas.js'\nimport type {\n FrontendLayout,\n InternalTemplate,\n StrictWorkflowLayout,\n StrictWorkflowLayoutSettings,\n StrictWorkflowLayoutStepSettings,\n Template,\n} from '../templates/types.js'\nimport type { ScheduledTriggerStepSettings, StepType } from './steps.js'\n\ntype FrontendStep = {\n id: string\n type: StepType\n values: Record<string, unknown>\n triggerType?: string\n taskType?: string\n}\n\nexport class LayoutTranslator implements LayoutTranslatorInterface {\n public translateTemplateToFrontendLayout<StateName extends string>(\n template: InternalTemplate<StateName>,\n ): FrontendLayout<StateName> {\n return this.buildFrontendLayout<StateName>(template.settings, template.sort)\n }\n\n public translateFrontendLayoutToTemplate<StateName extends string>(\n frontendLayout: FrontendLayout<StateName>,\n ): Pick<InternalTemplate<StateName>, 'layout' | 'settings'> | undefined {\n const template = this.findTemplate(frontendLayout)\n if (!template) {\n return undefined\n }\n\n const layoutSettings = this.buildLayoutSettings<StateName>(frontendLayout)\n\n return {\n layout: template.layout as StrictWorkflowLayout<StateName>,\n settings: layoutSettings,\n }\n }\n\n public buildFrontendLayout<StateName extends string>(\n settings: StrictWorkflowLayoutSettings<StateName>,\n sort: StateName[] = [],\n ): FrontendLayout<StateName> {\n return Object.keys(settings)\n .sort((a, b) => sort.indexOf(a as StateName) - sort.indexOf(b as StateName))\n .map((id) => {\n const { stepType, triggerType, taskType, ...values } = settings[id]\n\n const step = {\n id: id as StateName,\n type: stepType as StepType,\n values,\n triggerType,\n taskType,\n }\n\n return Object.entries(step)\n .filter(([_, value]) => value !== undefined)\n .reduce(\n (acc, [key, value]) => {\n // @ts-ignore\n acc[key] = value\n return acc\n },\n {} as FrontendLayout<StateName>[0],\n )\n })\n }\n\n // Based on the linear layout, return the order of steps\n public getStepSortFromLayout(layout: WorkflowLayout): string[] {\n const sort = [layout.initial]\n let currentState = layout.states[layout.initial]\n\n while (currentState.on) {\n const allEvents: WorkflowLayoutStepTriggerEvent[] = Object.values(currentState.on)\n const event = allEvents.find((evt) => evt.target !== undefined)\n\n if (event === undefined || event.target === undefined) {\n currentState = {\n ...currentState,\n on: undefined,\n }\n continue\n }\n\n sort.push(event.target)\n currentState = layout.states[event.target]\n }\n\n return sort\n }\n\n public buildWorkflowMetadata({\n settings,\n }: Pick<InternalTemplate<string>, 'settings'>): WorkflowMetadata {\n const step = settings.TriggerStep as ScheduledTriggerStepSettings\n\n return {\n triggerType: step.triggerType,\n targetLanguageIds: step.targetLanguageIds.map((id) => id.toString()),\n }\n }\n\n public getTriggerSchedulerExpression(\n settings: WorkflowLayoutStepSettingsList,\n ): string | undefined {\n const step = settings.TriggerStep as ScheduledTriggerStepSettings\n\n if (!step) {\n return undefined\n }\n\n if (step.triggerType === 'Scheduled') {\n return step.scheduleFrequencyExpression ?? undefined\n }\n\n return undefined\n }\n\n public getTriggerSchedulerStartDate(\n settings: WorkflowLayoutStepSettingsList,\n ): string | undefined {\n const step = settings.TriggerStep as ScheduledTriggerStepSettings\n\n if (!step) {\n return undefined\n }\n\n if (step.triggerType === 'Scheduled') {\n return step.scheduleStartingDate\n }\n\n return undefined\n }\n\n buildLayoutSettings<StateName extends string>(\n frontendLayout: FrontendLayout<StateName>,\n ): StrictWorkflowLayoutSettings<StateName> {\n return frontendLayout.reduce(\n (acc, frontendStep: FrontendStep) => {\n const step: StrictWorkflowLayoutStepSettings = {\n ...frontendStep.values,\n stepType: frontendStep.type,\n triggerType: frontendStep.type === 'trigger_step' ? frontendStep.triggerType : undefined,\n taskType:\n frontendStep.type === 'translate_task_step' ||\n frontendStep.type === 'review_task_step' ||\n frontendStep.type === 'ai_mt_translation_step'\n ? frontendStep.taskType\n : undefined,\n }\n acc[frontendStep.id as StateName] = Object.fromEntries(\n Object.entries(step).filter(([_, value]) => value !== undefined),\n ) as StrictWorkflowLayoutStepSettings\n return acc\n },\n {} as Record<StateName, StrictWorkflowLayoutStepSettings>,\n )\n }\n\n findTemplate<StateName extends string>(\n frontendLayout: FrontendLayout<StateName>,\n ): Template<StateName> | undefined {\n const frontendLayoutStepIds = frontendLayout.map((step) => step.id)\n\n const result = Object.entries(TEMPLATES).find(([_, template]) => {\n const templateStepIds = template.frontendLayout.map((step) => step.id)\n return areStringArraysEqual(frontendLayoutStepIds, templateStepIds)\n })\n\n if (!result) {\n return undefined\n }\n\n const [_, template] = result\n\n return template as Template<StateName>\n }\n}\n","import {\n CRON_EXPRESSION_REGEX,\n WORKFLOW_LAYOUT_STEP_SETTINGS,\n type WorkflowLayoutStepSettings,\n} from '@lokalise/maestro-common'\nimport { z } from 'zod'\n\nexport const SCHEDULED_TRIGGER_STEP_FORM_SCHEMA = z.object({\n stepTitle: z.string().trim().min(1),\n scheduleFrequencyExpression: z.string().regex(CRON_EXPRESSION_REGEX),\n scheduleStartingDate: z.string().date(),\n monitoredLanguageId: z.number().min(1).int(),\n targetLanguageIds: z.array(z.number().min(1).int()).min(1),\n monitoredKeyType: z.enum(['new', 'updated', 'both']),\n projectFilterId: z.string().optional().nullable(),\n})\n\nexport type ScheduledTriggerStepForm = z.infer<typeof SCHEDULED_TRIGGER_STEP_FORM_SCHEMA>\n\nexport const SCHEDULED_TRIGGER_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS.merge(\n SCHEDULED_TRIGGER_STEP_FORM_SCHEMA,\n).extend({\n stepType: z.literal('trigger_step'),\n triggerType: z.literal('Scheduled'),\n})\n\nexport type ScheduledTriggerStepSettings = z.infer<typeof SCHEDULED_TRIGGER_STEP_SETTINGS_SCHEMA>\n\nexport const DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS: WorkflowLayoutStepSettings &\n Partial<ScheduledTriggerStepSettings> = {\n stepType: 'trigger_step',\n triggerType: 'Scheduled',\n stepTitle: 'Trigger and scope',\n scheduleFrequencyExpression: '00 09 * * 0,1,2,3,4,5,6',\n scheduleStartingDate: undefined,\n monitoredLanguageId: undefined,\n targetLanguageIds: [],\n monitoredKeyType: 'new',\n projectFilterId: null,\n}\n","import {\n WORKFLOW_LAYOUT_STEP_SETTINGS,\n type WorkflowLayoutStepSettings,\n} from '@lokalise/maestro-common'\nimport { z } from 'zod'\nimport { TRANSLATION_ENGINE } from '../messages.js'\n\nexport const AI_MT_TRANSLATION_STEP_FORM_SCHEMA = z\n .object({\n stepTitle: z.string().min(1),\n translationEngine: TRANSLATION_ENGINE,\n taskTitle: z.string().optional(),\n aiInstructions: z.string().optional(),\n tagKeysAfterClose: z.boolean(),\n tagsToAddAfterClose: z.array(z.string()).optional(),\n customTranslationStatusIds: z.array(z.number()).optional(),\n hasCustomTranslationStatuses: z.boolean(),\n })\n .superRefine(({ tagKeysAfterClose, tagsToAddAfterClose }, context) => {\n if (tagKeysAfterClose && tagsToAddAfterClose?.length === 0) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'At least one tag must be added if \"Tag keys after task is closed\" is checked',\n path: ['tagsToAddAfterClose'],\n })\n }\n if (!tagKeysAfterClose && tagsToAddAfterClose && tagsToAddAfterClose.length > 0) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'One or more tags are set but \"Tag keys after task is closed\" is not checked',\n path: ['tagKeysAfterClose'],\n })\n }\n })\n .superRefine(({ hasCustomTranslationStatuses, customTranslationStatusIds }, context) => {\n if (hasCustomTranslationStatuses && customTranslationStatusIds?.length === 0) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message:\n 'You must select custom statuses if \"Allow assignees to set custom statuses\" is checked',\n path: ['customTranslationStatusIds'],\n })\n }\n if (\n !hasCustomTranslationStatuses &&\n customTranslationStatusIds &&\n customTranslationStatusIds.length > 0\n ) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message:\n 'Custom statuses are set but \"Allow assignees to set custom statuses\" is not checked',\n path: ['hasCustomTranslationStatuses'],\n })\n }\n })\n\nexport type AiMtTranslationStepForm = z.infer<typeof AI_MT_TRANSLATION_STEP_FORM_SCHEMA>\n\nexport const AI_MT_TRANSLATION_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS.merge(\n z.object(AI_MT_TRANSLATION_STEP_FORM_SCHEMA._def.schema._def.schema.shape),\n).extend({\n stepType: z.literal('ai_mt_translation_step'),\n taskType: z.literal('translation'),\n stepTitle: z.string().min(1),\n translationEngine: TRANSLATION_ENGINE,\n taskTitle: z.string().optional(),\n aiInstructions: z.string().optional(),\n tagKeysAfterClose: z.boolean(),\n tagsToAddAfterClose: z.array(z.string()).optional(),\n customTranslationStatusIds: z.array(z.number()).optional(),\n hasCustomTranslationStatuses: z.boolean(),\n})\n\nexport type AiMtTranslationStepSettings = z.infer<typeof AI_MT_TRANSLATION_STEP_SETTINGS_SCHEMA>\n\nexport const DEFAULT_AI_MT_TRANSLATION_STEP_SETTINGS: WorkflowLayoutStepSettings &\n Partial<AiMtTranslationStepSettings> = {\n stepType: 'ai_mt_translation_step',\n stepTitle: 'AI/MT Translation Task',\n taskType: 'translation',\n aiInstructions: undefined,\n translationEngine: undefined,\n taskTitle: undefined,\n tagKeysAfterClose: false,\n tagsToAddAfterClose: [],\n customTranslationStatusIds: [],\n hasCustomTranslationStatuses: false,\n}\n","import { WORKFLOW_LAYOUT_STEP_SETTINGS } from '@lokalise/maestro-common'\nimport { z } from 'zod'\nimport { APPLY_TM_STEP_SETTINGS_SCHEMA } from './steps/applyTmStep.js'\n\nconst TASK_LANGUAGE_ASSIGNEES = z\n .object({\n languageId: z.number(),\n userIds: z.optional(z.array(z.number())),\n userGroupIds: z.optional(z.array(z.number())),\n })\n .refine(({ userIds, userGroupIds }) => userIds !== undefined || userGroupIds !== undefined, {\n message: 'Either users or groups should be specified',\n })\n\nexport const TRANSLATION_ENGINE = z.enum(['ai', 'deepl', 'google'], {\n errorMap: () => ({ message: 'Please choose a translation engine' }),\n})\n\nexport const CREATE_TASK_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS.extend({\n stepType: z.enum(['translate_task_step', 'review_task_step', 'ai_mt_translation_step']),\n stepTitle: z.string().trim().min(1),\n taskType: z.enum(['translation', 'review']),\n taskTitle: z.optional(z.string()).describe('If empty, the workflow title will be used'),\n taskDescription: z\n .optional(z.string())\n .describe('Add a description such as including links to useful resources to assignees.'),\n dueDate: z.optional(z.number().int().min(1).max(365)),\n languageAssignees: z.array(TASK_LANGUAGE_ASSIGNEES).min(1),\n autoCloseItems: z.optional(z.boolean()),\n autoCloseLanguages: z.boolean(),\n autoCloseTask: z.boolean(),\n lockTranslations: z.boolean(),\n hasCustomTranslationStatuses: z.boolean().default(false),\n customTranslationStatusIds: z.array(z.number()).optional(),\n tagKeysAfterClose: z.boolean().default(false),\n tagsToAddAfterClose: z.array(z.string().max(128)).optional(),\n translationEngine: z.optional(TRANSLATION_ENGINE),\n aiInstructions: z.string().optional(),\n})\nexport type CreateTaskStepSettings = z.infer<typeof CREATE_TASK_STEP_SETTINGS_SCHEMA>\n\nexport const CREATE_TASK_MESSAGE_CONTEXT = CREATE_TASK_STEP_SETTINGS_SCHEMA.omit({\n stepType: true,\n stepTitle: true,\n dueDate: true,\n tagKeysAfterClose: true,\n}).extend({\n teamId: z.number(),\n projectId: z.string(),\n dueDate: z.optional(z.date()),\n sourceLanguageId: z.number(),\n keyIds: z.record(z.string(), z.array(z.number())),\n})\nexport type CreateTaskMessageContext = z.infer<typeof CREATE_TASK_MESSAGE_CONTEXT>\n\nexport const APPLY_TM_MESSAGE_CONTEXT = APPLY_TM_STEP_SETTINGS_SCHEMA.omit({\n stepType: true,\n stepTitle: true,\n}).extend({\n teamId: z.string(),\n projectId: z.string(),\n keysByLanguages: z.record(z.string(), z.array(z.number())),\n})\nexport type ApplyTmMessageContext = z.infer<typeof APPLY_TM_MESSAGE_CONTEXT>\n","import {\n WORKFLOW_LAYOUT_STEP_SETTINGS,\n type WorkflowLayoutStepSettings,\n} from '@lokalise/maestro-common'\nimport { z } from 'zod'\n\nexport const APPLY_TM_STEP_FORM_SCHEMA = z.object({\n stepTitle: z.string().trim().min(1),\n threshold: z.number().int().min(1).max(100).default(100),\n})\n\nexport type ApplyTmStepForm = z.infer<typeof APPLY_TM_STEP_FORM_SCHEMA>\n\nexport const APPLY_TM_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS.merge(\n APPLY_TM_STEP_FORM_SCHEMA,\n).extend({\n stepType: z.literal('apply_tm_step'),\n})\n\nexport type ApplyTmStepSettings = z.infer<typeof APPLY_TM_STEP_SETTINGS_SCHEMA>\n\nexport const DEFAULT_APPLY_TM_STEP_SETTINGS: WorkflowLayoutStepSettings &\n Partial<ApplyTmStepSettings> = {\n stepType: 'apply_tm_step',\n stepTitle: 'Apply Translation Memory',\n threshold: 100,\n}\n","import type { WorkflowLayoutStepSettings } from '@lokalise/maestro-common'\nimport { type RefinementCtx, z } from 'zod'\nimport { CREATE_TASK_STEP_SETTINGS_SCHEMA } from '../messages.js'\n\nexport const TRANSLATE_TASK_STEP_FORM_SCHEMA = CREATE_TASK_STEP_SETTINGS_SCHEMA.omit({\n stepType: true,\n taskType: true,\n})\n .superRefine(({ tagKeysAfterClose, tagsToAddAfterClose }, context: RefinementCtx) => {\n if (tagKeysAfterClose && tagsToAddAfterClose?.length === 0) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'At least one tag must be added if \"Tag keys after task is closed\" is checked',\n path: ['tagsToAddAfterClose'],\n })\n }\n if (!tagKeysAfterClose && tagsToAddAfterClose && tagsToAddAfterClose.length > 0) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'One or more tags are set but \"Tag keys after task is closed\" is not checked',\n path: ['tagKeysAfterClose'],\n })\n }\n })\n .superRefine(({ hasCustomTranslationStatuses, customTranslationStatusIds }, context) => {\n if (hasCustomTranslationStatuses && customTranslationStatusIds?.length === 0) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message:\n 'You must select custom statuses if \"Allow assignees to set custom statuses\" is checked',\n path: ['customTranslationStatusIds'],\n })\n }\n if (\n !hasCustomTranslationStatuses &&\n customTranslationStatusIds &&\n customTranslationStatusIds.length > 0\n ) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message:\n 'Custom statuses are set but \"Allow assignees to set custom statuses\" is not checked',\n path: ['hasCustomTranslationStatuses'],\n })\n }\n })\n\nexport type TranslateTaskStepForm = z.infer<typeof TRANSLATE_TASK_STEP_FORM_SCHEMA>\n\nexport const TRANSLATE_TASK_STEP_SETTINGS_SCHEMA = CREATE_TASK_STEP_SETTINGS_SCHEMA.extend({\n stepType: z.literal('translate_task_step'),\n taskType: z.literal('translation'),\n autoCloseItems: z.boolean(),\n})\n\nexport type TranslateTaskStepSettings = z.infer<typeof TRANSLATE_TASK_STEP_SETTINGS_SCHEMA>\n\nexport const DEFAULT_TRANSLATE_TASK_STEP_SETTINGS: WorkflowLayoutStepSettings &\n Partial<TranslateTaskStepSettings> = {\n stepType: 'translate_task_step',\n stepTitle: 'Translation task for contributors',\n taskType: 'translation',\n taskTitle: undefined,\n taskDescription: undefined,\n dueDate: undefined,\n languageAssignees: [],\n autoCloseItems: false,\n autoCloseLanguages: false,\n autoCloseTask: true,\n lockTranslations: false,\n hasCustomTranslationStatuses: false,\n customTranslationStatusIds: [],\n tagKeysAfterClose: false,\n tagsToAddAfterClose: [],\n}\n","import type { WorkflowLayoutStepSettings } from '@lokalise/maestro-common'\nimport { type RefinementCtx, z } from 'zod'\nimport { CREATE_TASK_STEP_SETTINGS_SCHEMA } from '../messages.js'\n\nexport const REVIEW_TASK_STEP_FORM_SCHEMA = CREATE_TASK_STEP_SETTINGS_SCHEMA.omit({\n stepType: true,\n taskType: true,\n})\n .superRefine(({ tagKeysAfterClose, tagsToAddAfterClose }, context: RefinementCtx) => {\n if (tagKeysAfterClose && tagsToAddAfterClose?.length === 0) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'At least one tag must be added if \"Tag keys after task is closed\" is checked',\n path: ['tagsToAddAfterClose'],\n })\n }\n if (!tagKeysAfterClose && tagsToAddAfterClose && tagsToAddAfterClose.length > 0) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'One or more tags are set but \"Tag keys after task is closed\" is not checked',\n path: ['tagKeysAfterClose'],\n })\n }\n })\n .superRefine(({ hasCustomTranslationStatuses, customTranslationStatusIds }, context) => {\n if (hasCustomTranslationStatuses && customTranslationStatusIds?.length === 0) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message:\n 'You must select custom statuses if \"Allow assignees to set custom statuses\" is checked',\n path: ['customTranslationStatusIds'],\n })\n }\n if (\n !hasCustomTranslationStatuses &&\n customTranslationStatusIds &&\n customTranslationStatusIds.length > 0\n ) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message:\n 'Custom statuses are set but \"Allow assignees to set custom statuses\" is not checked',\n path: ['hasCustomTranslationStatuses'],\n })\n }\n })\n\nexport type ReviewTaskStepForm = z.infer<typeof REVIEW_TASK_STEP_FORM_SCHEMA>\n\nexport const REVIEW_TASK_STEP_SETTINGS_SCHEMA = CREATE_TASK_STEP_SETTINGS_SCHEMA.omit({\n autoCloseItems: true,\n}).extend({\n stepType: z.literal('review_task_step'),\n taskType: z.literal('review'),\n})\n\nexport type ReviewTaskStepSettings = z.infer<typeof REVIEW_TASK_STEP_SETTINGS_SCHEMA>\n\nexport const DEFAULT_REVIEW_TASK_STEP_SETTINGS: WorkflowLayoutStepSettings &\n Partial<ReviewTaskStepSettings> = {\n stepType: 'review_task_step',\n stepTitle: 'Review task for contributors',\n taskType: 'review',\n taskTitle: undefined,\n taskDescription: undefined,\n dueDate: undefined,\n languageAssignees: [],\n autoCloseLanguages: false,\n autoCloseTask: true,\n lockTranslations: false,\n hasCustomTranslationStatuses: false,\n customTranslationStatusIds: [],\n tagKeysAfterClose: false,\n tagsToAddAfterClose: [],\n}\n","import {\n WORKFLOW_LAYOUT_STEP_SETTINGS,\n type WorkflowLayoutStepSettings,\n} from '@lokalise/maestro-common'\nimport { z } from 'zod'\n\nexport const CLEAR_TRANSLATIONS_STEP_FORM_SCHEMA = z.object({})\nexport type ClearTranslationsStepForm = z.infer<typeof CLEAR_TRANSLATIONS_STEP_FORM_SCHEMA>\n\nexport const CLEAR_TRANSLATIONS_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS.merge(\n CLEAR_TRANSLATIONS_STEP_FORM_SCHEMA,\n).extend({\n stepType: z.literal('clear_translations_step'),\n})\nexport type ClearTranslationsStepSettings = z.infer<typeof CLEAR_TRANSLATIONS_STEP_SETTINGS_SCHEMA>\n\nexport const DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS: WorkflowLayoutStepSettings &\n ClearTranslationsStepSettings = {\n stepType: 'clear_translations_step',\n}\n","import {\n WORKFLOW_LAYOUT_STEP_SETTINGS,\n type WorkflowLayoutStepSettings,\n} from '@lokalise/maestro-common'\nimport { z } from 'zod'\n\nexport const END_STEP_FORM_SCHEMA = z.object({})\nexport type EndStepForm = z.infer<typeof END_STEP_FORM_SCHEMA>\n\nexport const END_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS.merge(\n END_STEP_FORM_SCHEMA,\n).extend({\n stepType: z.literal('end_step'),\n})\nexport type EndStepSettings = z.infer<typeof END_STEP_SETTINGS_SCHEMA>\n\nexport const DEFAULT_END_STEP_SETTINGS: WorkflowLayoutStepSettings & EndStepSettings = {\n stepType: 'end_step',\n}\n","export {\n SCHEDULED_TRIGGER_STEP_FORM_SCHEMA,\n SCHEDULED_TRIGGER_STEP_SETTINGS_SCHEMA,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n} from './steps/scheduledTriggerStep.js'\nexport type {\n ScheduledTriggerStepForm,\n ScheduledTriggerStepSettings,\n} from './steps/scheduledTriggerStep.js'\n\nexport {\n AI_MT_TRANSLATION_STEP_FORM_SCHEMA,\n AI_MT_TRANSLATION_STEP_SETTINGS_SCHEMA,\n DEFAULT_AI_MT_TRANSLATION_STEP_SETTINGS,\n} from './steps/aiMtTranslationStep.js'\nexport type {\n AiMtTranslationStepForm,\n AiMtTranslationStepSettings,\n} from './steps/aiMtTranslationStep.js'\n\nexport {\n TRANSLATE_TASK_STEP_FORM_SCHEMA,\n TRANSLATE_TASK_STEP_SETTINGS_SCHEMA,\n DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n} from './steps/translateTaskStep.js'\nexport type {\n TranslateTaskStepForm,\n TranslateTaskStepSettings,\n} from './steps/translateTaskStep.js'\nexport {\n REVIEW_TASK_STEP_FORM_SCHEMA,\n REVIEW_TASK_STEP_SETTINGS_SCHEMA,\n DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n} from './steps/reviewTaskStep.js'\nexport type {\n ReviewTaskStepForm,\n ReviewTaskStepSettings,\n} from './steps/reviewTaskStep.js'\nexport {\n CLEAR_TRANSLATIONS_STEP_FORM_SCHEMA,\n CLEAR_TRANSLATIONS_STEP_SETTINGS_SCHEMA,\n DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS,\n type ClearTranslationsStepForm,\n type ClearTranslationsStepSettings,\n} from './steps/clearTranslationsStep.js'\nexport {\n APPLY_TM_STEP_FORM_SCHEMA,\n APPLY_TM_STEP_SETTINGS_SCHEMA,\n DEFAULT_APPLY_TM_STEP_SETTINGS,\n type ApplyTmStepForm,\n type ApplyTmStepSettings,\n} from './steps/applyTmStep.js'\nexport {\n END_STEP_FORM_SCHEMA,\n END_STEP_SETTINGS_SCHEMA,\n DEFAULT_END_STEP_SETTINGS,\n} from './steps/endStep.js'\nexport type { EndStepForm, EndStepSettings } from './steps/endStep.js'\n\nexport const STEP_TYPES = [\n 'trigger_step',\n 'review_task_step',\n 'translate_task_step',\n 'clear_translations_step',\n 'apply_tm_step',\n 'end_step',\n 'ai_mt_translation_step',\n] as const\nexport type StepType = (typeof STEP_TYPES)[number]\n","import {\n DEFAULT_AI_MT_TRANSLATION_STEP_SETTINGS,\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport { DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS } from '../../workflow/steps/clearTranslationsStep.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const CLEAR_TRANSLATIONS_MT_AI_REVIEW_TASK_TEMPLATE: InternalTemplate<\n 'TriggerStep' | 'ClearTranslationsStep' | 'AiMtTranslationStep' | 'ReviewTaskStep' | 'EndStep'\n> = {\n id: 'clearTranslationsMtAiReviewTask',\n title: 'AI/MT • Review task',\n summary:\n 'Apply AI/MT translation after clearing existing translations, and then create a review task.',\n description:\n 'This template sets up a workflow that clears existing translations, applies AI/MT translation, and creates a review task for human verification.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'ClearTranslationsStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n ClearTranslationsStep: {\n entry: [\n {\n type: 'clearTranslationsAction',\n },\n ],\n on: {\n TranslationsClearedEvent: {\n target: 'AiMtTranslationStep',\n },\n },\n },\n AiMtTranslationStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'ai_mt_translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskSkippedEvent: {\n target: 'ReviewTaskStep',\n },\n TaskClosedEvent: {\n target: 'ReviewTaskStep',\n },\n },\n },\n ReviewTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'review',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n ClearTranslationsStep: DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS,\n AiMtTranslationStep: DEFAULT_AI_MT_TRANSLATION_STEP_SETTINGS,\n ReviewTaskStep: DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: [\n 'TriggerStep',\n 'ClearTranslationsStep',\n 'AiMtTranslationStep',\n 'ReviewTaskStep',\n 'EndStep',\n ],\n}\n","import {\n DEFAULT_AI_MT_TRANSLATION_STEP_SETTINGS,\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport { DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS } from '../../workflow/steps/clearTranslationsStep.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const CLEAR_TRANSLATIONS_MT_AI_TASK_TEMPLATE: InternalTemplate<\n 'TriggerStep' | 'ClearTranslationsStep' | 'AiMtTranslationStep' | 'EndStep'\n> = {\n id: 'clearTranslationsMtAiTask',\n title: 'AI/MT (AI/Machine translation)',\n summary: 'Apply AI/MT translation after clearing existing translations.',\n description:\n 'This template sets up a workflow that first clears existing translations and then applies AI/MT translation.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'ClearTranslationsStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n ClearTranslationsStep: {\n entry: [\n {\n type: 'clearTranslationsAction',\n },\n ],\n on: {\n TranslationsClearedEvent: {\n target: 'AiMtTranslationStep',\n },\n },\n },\n AiMtTranslationStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'ai_mt_translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskSkippedEvent: {\n target: 'EndStep',\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n ClearTranslationsStep: DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS,\n AiMtTranslationStep: DEFAULT_AI_MT_TRANSLATION_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: ['TriggerStep', 'ClearTranslationsStep', 'AiMtTranslationStep', 'EndStep'],\n}\n","import {\n DEFAULT_AI_MT_TRANSLATION_STEP_SETTINGS,\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport { DEFAULT_APPLY_TM_STEP_SETTINGS } from '../../workflow/steps/applyTmStep.js'\nimport { DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS } from '../../workflow/steps/clearTranslationsStep.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const CLEAR_TRANSLATIONS_TM_MT_AI_REVIEW_TASK_TEMPLATE: InternalTemplate<\n | 'TriggerStep'\n | 'ClearTranslationsStep'\n | 'ApplyTmStep'\n | 'AiMtTranslationStep'\n | 'ReviewTaskStep'\n | 'EndStep'\n> = {\n id: 'clearTranslationsTmMtAiReviewTask',\n title: 'TM • AI/MT • Review task',\n summary:\n 'Translate content using Translation Memory, apply AI/MT translation for the rest, and then create a review task',\n description:\n 'This template sets up a workflow that clears existing translations, applies Translation Memory, then AI/MT translation, and creates a review task for human verification.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'ClearTranslationsStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n ClearTranslationsStep: {\n entry: [\n {\n type: 'clearTranslationsAction',\n },\n ],\n on: {\n TranslationsClearedEvent: {\n target: 'ApplyTmStep',\n },\n },\n },\n ApplyTmStep: {\n entry: [\n {\n type: 'applyTmAction',\n },\n ],\n on: {\n TmAppliedEvent: {\n target: 'AiMtTranslationStep',\n },\n },\n },\n AiMtTranslationStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'ai_mt_translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskSkippedEvent: {\n target: 'ReviewTaskStep',\n },\n TaskClosedEvent: {\n target: 'ReviewTaskStep',\n },\n },\n },\n ReviewTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'review',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n ClearTranslationsStep: DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS,\n ApplyTmStep: DEFAULT_APPLY_TM_STEP_SETTINGS,\n AiMtTranslationStep: DEFAULT_AI_MT_TRANSLATION_STEP_SETTINGS,\n ReviewTaskStep: DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: [\n 'TriggerStep',\n 'ClearTranslationsStep',\n 'ApplyTmStep',\n 'AiMtTranslationStep',\n 'ReviewTaskStep',\n 'EndStep',\n ],\n}\n","import {\n DEFAULT_AI_MT_TRANSLATION_STEP_SETTINGS,\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport { DEFAULT_APPLY_TM_STEP_SETTINGS } from '../../workflow/steps/applyTmStep.js'\nimport { DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS } from '../../workflow/steps/clearTranslationsStep.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const CLEAR_TRANSLATIONS_TM_MT_AI_TASK_TEMPLATE: InternalTemplate<\n 'TriggerStep' | 'ClearTranslationsStep' | 'ApplyTmStep' | 'AiMtTranslationStep' | 'EndStep'\n> = {\n id: 'clearTranslationsTmMtAiTask',\n title: 'TM • AI/MT',\n summary: 'Translate content using Translation Memory, apply AI/MT translation for the rest',\n description:\n 'This template sets up a workflow that clears existing translations, applies Translation Memory, then AI/MT translation.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'ClearTranslationsStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n ClearTranslationsStep: {\n entry: [\n {\n type: 'clearTranslationsAction',\n },\n ],\n on: {\n TranslationsClearedEvent: {\n target: 'ApplyTmStep',\n },\n },\n },\n ApplyTmStep: {\n entry: [\n {\n type: 'applyTmAction',\n },\n ],\n on: {\n TmAppliedEvent: {\n target: 'AiMtTranslationStep',\n },\n },\n },\n AiMtTranslationStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'ai_mt_translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskSkippedEvent: {\n target: 'EndStep',\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n ClearTranslationsStep: DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS,\n ApplyTmStep: DEFAULT_APPLY_TM_STEP_SETTINGS,\n AiMtTranslationStep: DEFAULT_AI_MT_TRANSLATION_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: ['TriggerStep', 'ClearTranslationsStep', 'ApplyTmStep', 'AiMtTranslationStep', 'EndStep'],\n}\n","import {\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport { DEFAULT_APPLY_TM_STEP_SETTINGS } from '../../workflow/steps/applyTmStep.js'\nimport { DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS } from '../../workflow/steps/clearTranslationsStep.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const CLEAR_TRANSLATIONS_TM_TEMPLATE: InternalTemplate<\n 'TriggerStep' | 'ClearTranslationsStep' | 'ApplyTmStep' | 'EndStep'\n> = {\n id: 'clearTranslationsTm',\n title: 'TM (Translation Memory)',\n summary:\n 'Translate content using Translation Memory when content is added/updated in the project.',\n description:\n 'Select this workflow to automatically generate a translation using Translation Memory when the content in the editor meets the conditions set in “Start”.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'ClearTranslationsStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n ClearTranslationsStep: {\n entry: [\n {\n type: 'clearTranslationsAction',\n },\n ],\n on: {\n TranslationsClearedEvent: {\n target: 'ApplyTmStep',\n },\n },\n },\n ApplyTmStep: {\n entry: [\n {\n type: 'applyTmAction',\n },\n ],\n on: {\n TmAppliedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n ClearTranslationsStep: DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS,\n ApplyTmStep: DEFAULT_APPLY_TM_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: ['TriggerStep', 'ClearTranslationsStep', 'ApplyTmStep', 'EndStep'],\n}\n","import {\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport { DEFAULT_APPLY_TM_STEP_SETTINGS } from '../../workflow/steps/applyTmStep.js'\nimport { DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS } from '../../workflow/steps/clearTranslationsStep.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const CLEAR_TRANSLATIONS_TM_TRANSLATE_REVIEW_TASK_TEMPLATE: InternalTemplate<\n | 'TriggerStep'\n | 'ClearTranslationsStep'\n | 'ApplyTmStep'\n | 'TranslateTaskStep'\n | 'ReviewTaskStep'\n | 'EndStep'\n> = {\n id: 'clearTranslationsTmTranslateReviewTask',\n title: 'TM • Translation task • Review task',\n summary: 'Translate content using TM before creating translation and review tasks.',\n description:\n 'This template sets up a chained workflow that enables the automatic creation of a translation task, and subsequently a review task, after applying Translation Memory. This can be used by teams that would like to avoid translating repetitive content that has already been translated in the past.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'ClearTranslationsStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n ClearTranslationsStep: {\n entry: [\n {\n type: 'clearTranslationsAction',\n },\n ],\n on: {\n TranslationsClearedEvent: {\n target: 'ApplyTmStep',\n },\n },\n },\n ApplyTmStep: {\n entry: [\n {\n type: 'applyTmAction',\n },\n ],\n on: {\n TmAppliedEvent: {\n target: 'TranslateTaskStep',\n },\n },\n },\n TranslateTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'ReviewTaskStep',\n },\n },\n },\n ReviewTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'review',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n ClearTranslationsStep: DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS,\n ApplyTmStep: DEFAULT_APPLY_TM_STEP_SETTINGS,\n TranslateTaskStep: DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n ReviewTaskStep: DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: [\n 'TriggerStep',\n 'ClearTranslationsStep',\n 'ApplyTmStep',\n 'TranslateTaskStep',\n 'ReviewTaskStep',\n 'EndStep',\n ],\n}\n","import {\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport { DEFAULT_APPLY_TM_STEP_SETTINGS } from '../../workflow/steps/applyTmStep.js'\nimport { DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS } from '../../workflow/steps/clearTranslationsStep.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const CLEAR_TRANSLATIONS_TM_TRANSLATE_TASK_TEMPLATE: InternalTemplate<\n 'TriggerStep' | 'ClearTranslationsStep' | 'ApplyTmStep' | 'TranslateTaskStep' | 'EndStep'\n> = {\n id: 'clearTranslationsTmTranslateTask',\n title: 'TM • Translation task',\n summary: 'Translate content using TM before creating a translation task.',\n description:\n 'This template sets up a chained workflow that enables the automatic creation of a translation task after applying Translation Memory. This can be used by teams that would like to avoid translating repetitive content that has already been translated in the past.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'ClearTranslationsStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n ClearTranslationsStep: {\n entry: [\n {\n type: 'clearTranslationsAction',\n },\n ],\n on: {\n TranslationsClearedEvent: {\n target: 'ApplyTmStep',\n },\n },\n },\n ApplyTmStep: {\n entry: [\n {\n type: 'applyTmAction',\n },\n ],\n on: {\n TmAppliedEvent: {\n target: 'TranslateTaskStep',\n },\n },\n },\n TranslateTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n ClearTranslationsStep: DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS,\n ApplyTmStep: DEFAULT_APPLY_TM_STEP_SETTINGS,\n TranslateTaskStep: DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: ['TriggerStep', 'ClearTranslationsStep', 'ApplyTmStep', 'TranslateTaskStep', 'EndStep'],\n}\n","import {\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const REVIEW_TASK_TEMPLATE: InternalTemplate<'TriggerStep' | 'ReviewTaskStep' | 'EndStep'> =\n {\n id: 'reviewTask',\n title: 'Review task',\n summary: 'Generate a review task when content is added/updated in the project.',\n description:\n 'Select this workflow to automatically create a review task when the content in the editor meets the conditions set in \"Start\".',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'ReviewTaskStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n ReviewTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'review',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n ReviewTaskStep: DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: ['TriggerStep', 'ReviewTaskStep', 'EndStep'],\n }\n","import {\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const REVIEW_TRANSLATE_REVIEW_TASK_TEMPLATE: InternalTemplate<\n 'TriggerStep' | 'ReviewTaskStep' | 'TranslateTaskStep' | 'SecondReviewTaskStep' | 'EndStep'\n> = {\n id: 'reviewTranslateReviewTask',\n title: 'Review task • Translation task • Review task',\n summary: 'Automatic creation of review tasks before and after a translation task.',\n description:\n 'This template sets up a chained workflow that enables the automatic creation of a review task both before and after translation. This can be used by teams that check the source copy before translation and conduct a review round after translation.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'ReviewTaskStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n ReviewTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'review',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'TranslateTaskStep',\n },\n },\n },\n TranslateTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'SecondReviewTaskStep',\n },\n },\n },\n SecondReviewTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'review',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n ReviewTaskStep: DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n TranslateTaskStep: DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n SecondReviewTaskStep: DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: ['TriggerStep', 'ReviewTaskStep', 'TranslateTaskStep', 'SecondReviewTaskStep', 'EndStep'],\n}\n","import {\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const REVIEW_TRANSLATE_TASK_TEMPLATE: InternalTemplate<\n 'TriggerStep' | 'ReviewTaskStep' | 'TranslateTaskStep' | 'EndStep'\n> = {\n id: 'reviewTranslateTask',\n title: 'Review task • Translation task',\n summary: 'Automatic creation of a review task before a translation task.',\n description:\n 'Use this template to set up a chained workflow where a translation task will be created as soon as the review task is completed.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'ReviewTaskStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n ReviewTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'review',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'TranslateTaskStep',\n },\n },\n },\n TranslateTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n ReviewTaskStep: DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n TranslateTaskStep: DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: ['TriggerStep', 'ReviewTaskStep', 'TranslateTaskStep', 'EndStep'],\n}\n","import {\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const TRANSLATE_AND_REVIEW_TASK_TEMPLATE: InternalTemplate<\n 'TriggerStep' | 'TranslateTaskStep' | 'ReviewTaskStep' | 'EndStep'\n> = {\n id: 'translateAndReviewTask',\n title: 'Translation task • Review task',\n summary: 'Automatic creation of translation task before a review task.',\n description:\n 'Use this template to set up a chained workflow where a review task will be created as soon as the translation task is completed.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'TranslateTaskStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n TranslateTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'ReviewTaskStep',\n },\n },\n },\n ReviewTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'review',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n TranslateTaskStep: DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n ReviewTaskStep: DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: ['TriggerStep', 'TranslateTaskStep', 'ReviewTaskStep', 'EndStep'],\n}\n","import {\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const TRANSLATE_REVIEW_REVIEW_TASK_TEMPLATE: InternalTemplate<\n 'TriggerStep' | 'TranslateTaskStep' | 'ReviewTaskStep' | 'SecondReviewTaskStep' | 'EndStep'\n> = {\n id: 'translateReviewReviewTask',\n title: 'Translation task • Review task • Review task',\n summary: 'Automatic creation of a translation task followed by two review tasks.',\n description:\n 'This template to set up a chained workflow where it enables the automatic creation of two review tasks after translation. This could be used by teams that e.g. have one round of proofreading before stakeholders review it.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'TranslateTaskStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n TranslateTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'ReviewTaskStep',\n },\n },\n },\n ReviewTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'review',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'SecondReviewTaskStep',\n },\n },\n },\n SecondReviewTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'review',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n TranslateTaskStep: DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n ReviewTaskStep: DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n SecondReviewTaskStep: DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: ['TriggerStep', 'TranslateTaskStep', 'ReviewTaskStep', 'SecondReviewTaskStep', 'EndStep'],\n}\n","import {\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const TRANSLATE_TASK_TEMPLATE: InternalTemplate<\n 'TriggerStep' | 'TranslateTaskStep' | 'EndStep'\n> = {\n id: 'translateTask',\n title: 'Translation task',\n summary: 'Generate a translation task when content is added/updated in the project.',\n description:\n 'Select this workflow to automatically create a translation task when the content in the editor meets the conditions set in “Start”.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'TranslateTaskStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n TranslateTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n guard: { type: 'checkClosedTaskId' },\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n TranslateTaskStep: DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: ['TriggerStep', 'TranslateTaskStep', 'EndStep'],\n}\n","import { LayoutTranslator } from '../workflow/LayoutTranslator.js'\nimport { CLEAR_TRANSLATIONS_MT_AI_REVIEW_TASK_TEMPLATE } from './resources/clear-translations-mt-ai-review-task.template.js'\nimport { CLEAR_TRANSLATIONS_MT_AI_TASK_TEMPLATE } from './resources/clear-translations-mt-ai-task.template.js'\nimport { CLEAR_TRANSLATIONS_TM_MT_AI_REVIEW_TASK_TEMPLATE } from './resources/clear-translations-tm-mt-ai-review-task.template.js'\nimport { CLEAR_TRANSLATIONS_TM_MT_AI_TASK_TEMPLATE } from './resources/clear-translations-tm-mt-ai-task.template.js'\nimport { CLEAR_TRANSLATIONS_TM_TEMPLATE } from './resources/clear-translations-tm-templates.js'\nimport { CLEAR_TRANSLATIONS_TM_TRANSLATE_REVIEW_TASK_TEMPLATE } from './resources/clear-translations-tm-translate-review-task-template.js'\nimport { CLEAR_TRANSLATIONS_TM_TRANSLATE_TASK_TEMPLATE } from './resources/clear-translations-tm-translate-task-template.js'\nimport { REVIEW_TASK_TEMPLATE } from './resources/review-task.template.js'\nimport { REVIEW_TRANSLATE_REVIEW_TASK_TEMPLATE } from './resources/review-translate-review-task.template.js'\nimport { REVIEW_TRANSLATE_TASK_TEMPLATE } from './resources/review-translate-task.template.js'\nimport { TRANSLATE_AND_REVIEW_TASK_TEMPLATE } from './resources/translate-and-review-task.template.js'\nimport { TRANSLATE_REVIEW_REVIEW_TASK_TEMPLATE } from './resources/translate-review-review-task.template.js'\nimport { TRANSLATE_TASK_TEMPLATE } from './resources/translate-task.template.js'\nimport type { InternalTemplate, Template } from './types.js'\n\nexport const TEMPLATE_IDS = [\n 'clearTranslationsMtAiTask',\n 'translateTask',\n 'clearTranslationsTm',\n 'clearTranslationsMtAiReviewTask',\n 'clearTranslationsTmMtAiTask',\n 'clearTranslationsTmMtAiReviewTask',\n 'clearTranslationsTmTranslateTask',\n 'translateAndReviewTask',\n 'clearTranslationsTmTranslateReviewTask',\n 'translateReviewReviewTask',\n 'reviewTask',\n 'reviewTranslateTask',\n 'reviewTranslateReviewTask',\n] as const\n\nexport type TemplateId = (typeof TEMPLATE_IDS)[number]\n\nconst buildTemplate = <StateName extends string>(\n internalTemplate: InternalTemplate<StateName>,\n): Template<StateName> => {\n const layoutTranslator = new LayoutTranslator()\n const frontendLayout = layoutTranslator.translateTemplateToFrontendLayout(internalTemplate)\n\n return {\n ...internalTemplate,\n frontendLayout,\n }\n}\n\nexport const TEMPLATES: Record<TemplateId, Template<string>> = {\n clearTranslationsMtAiTask: buildTemplate(CLEAR_TRANSLATIONS_MT_AI_TASK_TEMPLATE),\n translateTask: buildTemplate(TRANSLATE_TASK_TEMPLATE),\n clearTranslationsTm: buildTemplate(CLEAR_TRANSLATIONS_TM_TEMPLATE),\n clearTranslationsMtAiReviewTask: buildTemplate(CLEAR_TRANSLATIONS_MT_AI_REVIEW_TASK_TEMPLATE),\n clearTranslationsTmMtAiTask: buildTemplate(CLEAR_TRANSLATIONS_TM_MT_AI_TASK_TEMPLATE),\n clearTranslationsTmMtAiReviewTask: buildTemplate(\n CLEAR_TRANSLATIONS_TM_MT_AI_REVIEW_TASK_TEMPLATE,\n ),\n clearTranslationsTmTranslateTask: buildTemplate(CLEAR_TRANSLATIONS_TM_TRANSLATE_TASK_TEMPLATE),\n translateAndReviewTask: buildTemplate(TRANSLATE_AND_REVIEW_TASK_TEMPLATE),\n clearTranslationsTmTranslateReviewTask: buildTemplate(\n CLEAR_TRANSLATIONS_TM_TRANSLATE_REVIEW_TASK_TEMPLATE,\n ),\n translateReviewReviewTask: buildTemplate(TRANSLATE_REVIEW_REVIEW_TASK_TEMPLATE),\n reviewTask: buildTemplate(REVIEW_TASK_TEMPLATE),\n reviewTranslateTask: buildTemplate(REVIEW_TRANSLATE_TASK_TEMPLATE),\n reviewTranslateReviewTask: buildTemplate(REVIEW_TRANSLATE_REVIEW_TASK_TEMPLATE),\n}\n"],"mappings":"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","names":["import_zod","_","template","import_maestro_common","import_zod","import_maestro_common","import_zod","import_maestro_common","import_zod","import_zod","import_zod","import_maestro_common","import_zod","import_maestro_common","import_zod","z"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -6117,11 +6117,11 @@ declare const POST_WORKFLOW_PARAMS: z.ZodObject<{
|
|
|
6117
6117
|
groupId: string;
|
|
6118
6118
|
}>;
|
|
6119
6119
|
declare const POST_WORKFLOW_BODY: z.ZodNullable<z.ZodObject<{
|
|
6120
|
-
templateId: z.ZodOptional<z.ZodEnum<["clearTranslationsMtAiTask", "translateTask", "clearTranslationsTm", "clearTranslationsMtAiReviewTask", "clearTranslationsTmMtAiReviewTask", "clearTranslationsTmTranslateTask", "translateAndReviewTask", "clearTranslationsTmTranslateReviewTask", "translateReviewReviewTask", "reviewTask", "reviewTranslateTask", "reviewTranslateReviewTask"
|
|
6120
|
+
templateId: z.ZodOptional<z.ZodEnum<["clearTranslationsMtAiTask", "translateTask", "clearTranslationsTm", "clearTranslationsMtAiReviewTask", "clearTranslationsTmMtAiTask", "clearTranslationsTmMtAiReviewTask", "clearTranslationsTmTranslateTask", "translateAndReviewTask", "clearTranslationsTmTranslateReviewTask", "translateReviewReviewTask", "reviewTask", "reviewTranslateTask", "reviewTranslateReviewTask"]>>;
|
|
6121
6121
|
}, "strip", z.ZodTypeAny, {
|
|
6122
|
-
templateId?: "clearTranslationsMtAiTask" | "translateTask" | "clearTranslationsTm" | "clearTranslationsMtAiReviewTask" | "clearTranslationsTmMtAiReviewTask" | "clearTranslationsTmTranslateTask" | "translateAndReviewTask" | "clearTranslationsTmTranslateReviewTask" | "translateReviewReviewTask" | "reviewTask" | "reviewTranslateTask" | "reviewTranslateReviewTask" |
|
|
6122
|
+
templateId?: "clearTranslationsMtAiTask" | "translateTask" | "clearTranslationsTm" | "clearTranslationsMtAiReviewTask" | "clearTranslationsTmMtAiTask" | "clearTranslationsTmMtAiReviewTask" | "clearTranslationsTmTranslateTask" | "translateAndReviewTask" | "clearTranslationsTmTranslateReviewTask" | "translateReviewReviewTask" | "reviewTask" | "reviewTranslateTask" | "reviewTranslateReviewTask" | undefined;
|
|
6123
6123
|
}, {
|
|
6124
|
-
templateId?: "clearTranslationsMtAiTask" | "translateTask" | "clearTranslationsTm" | "clearTranslationsMtAiReviewTask" | "clearTranslationsTmMtAiReviewTask" | "clearTranslationsTmTranslateTask" | "translateAndReviewTask" | "clearTranslationsTmTranslateReviewTask" | "translateReviewReviewTask" | "reviewTask" | "reviewTranslateTask" | "reviewTranslateReviewTask" |
|
|
6124
|
+
templateId?: "clearTranslationsMtAiTask" | "translateTask" | "clearTranslationsTm" | "clearTranslationsMtAiReviewTask" | "clearTranslationsTmMtAiTask" | "clearTranslationsTmMtAiReviewTask" | "clearTranslationsTmTranslateTask" | "translateAndReviewTask" | "clearTranslationsTmTranslateReviewTask" | "translateReviewReviewTask" | "reviewTask" | "reviewTranslateTask" | "reviewTranslateReviewTask" | undefined;
|
|
6125
6125
|
}>>;
|
|
6126
6126
|
declare const POST_WORKFLOW_RESPONSE: z.ZodObject<{
|
|
6127
6127
|
data: z.ZodObject<{
|
|
@@ -11303,7 +11303,7 @@ type Template<StateName extends string> = InternalTemplate<StateName> & {
|
|
|
11303
11303
|
frontendLayout: FrontendLayout<StateName>;
|
|
11304
11304
|
};
|
|
11305
11305
|
|
|
11306
|
-
declare const TEMPLATE_IDS: readonly ["clearTranslationsMtAiTask", "translateTask", "clearTranslationsTm", "clearTranslationsMtAiReviewTask", "clearTranslationsTmMtAiReviewTask", "clearTranslationsTmTranslateTask", "translateAndReviewTask", "clearTranslationsTmTranslateReviewTask", "translateReviewReviewTask", "reviewTask", "reviewTranslateTask", "reviewTranslateReviewTask"
|
|
11306
|
+
declare const TEMPLATE_IDS: readonly ["clearTranslationsMtAiTask", "translateTask", "clearTranslationsTm", "clearTranslationsMtAiReviewTask", "clearTranslationsTmMtAiTask", "clearTranslationsTmMtAiReviewTask", "clearTranslationsTmTranslateTask", "translateAndReviewTask", "clearTranslationsTmTranslateReviewTask", "translateReviewReviewTask", "reviewTask", "reviewTranslateTask", "reviewTranslateReviewTask"];
|
|
11307
11307
|
type TemplateId = (typeof TEMPLATE_IDS)[number];
|
|
11308
11308
|
declare const TEMPLATES: Record<TemplateId, Template<string>>;
|
|
11309
11309
|
|
package/dist/index.d.ts
CHANGED
|
@@ -6117,11 +6117,11 @@ declare const POST_WORKFLOW_PARAMS: z.ZodObject<{
|
|
|
6117
6117
|
groupId: string;
|
|
6118
6118
|
}>;
|
|
6119
6119
|
declare const POST_WORKFLOW_BODY: z.ZodNullable<z.ZodObject<{
|
|
6120
|
-
templateId: z.ZodOptional<z.ZodEnum<["clearTranslationsMtAiTask", "translateTask", "clearTranslationsTm", "clearTranslationsMtAiReviewTask", "clearTranslationsTmMtAiReviewTask", "clearTranslationsTmTranslateTask", "translateAndReviewTask", "clearTranslationsTmTranslateReviewTask", "translateReviewReviewTask", "reviewTask", "reviewTranslateTask", "reviewTranslateReviewTask"
|
|
6120
|
+
templateId: z.ZodOptional<z.ZodEnum<["clearTranslationsMtAiTask", "translateTask", "clearTranslationsTm", "clearTranslationsMtAiReviewTask", "clearTranslationsTmMtAiTask", "clearTranslationsTmMtAiReviewTask", "clearTranslationsTmTranslateTask", "translateAndReviewTask", "clearTranslationsTmTranslateReviewTask", "translateReviewReviewTask", "reviewTask", "reviewTranslateTask", "reviewTranslateReviewTask"]>>;
|
|
6121
6121
|
}, "strip", z.ZodTypeAny, {
|
|
6122
|
-
templateId?: "clearTranslationsMtAiTask" | "translateTask" | "clearTranslationsTm" | "clearTranslationsMtAiReviewTask" | "clearTranslationsTmMtAiReviewTask" | "clearTranslationsTmTranslateTask" | "translateAndReviewTask" | "clearTranslationsTmTranslateReviewTask" | "translateReviewReviewTask" | "reviewTask" | "reviewTranslateTask" | "reviewTranslateReviewTask" |
|
|
6122
|
+
templateId?: "clearTranslationsMtAiTask" | "translateTask" | "clearTranslationsTm" | "clearTranslationsMtAiReviewTask" | "clearTranslationsTmMtAiTask" | "clearTranslationsTmMtAiReviewTask" | "clearTranslationsTmTranslateTask" | "translateAndReviewTask" | "clearTranslationsTmTranslateReviewTask" | "translateReviewReviewTask" | "reviewTask" | "reviewTranslateTask" | "reviewTranslateReviewTask" | undefined;
|
|
6123
6123
|
}, {
|
|
6124
|
-
templateId?: "clearTranslationsMtAiTask" | "translateTask" | "clearTranslationsTm" | "clearTranslationsMtAiReviewTask" | "clearTranslationsTmMtAiReviewTask" | "clearTranslationsTmTranslateTask" | "translateAndReviewTask" | "clearTranslationsTmTranslateReviewTask" | "translateReviewReviewTask" | "reviewTask" | "reviewTranslateTask" | "reviewTranslateReviewTask" |
|
|
6124
|
+
templateId?: "clearTranslationsMtAiTask" | "translateTask" | "clearTranslationsTm" | "clearTranslationsMtAiReviewTask" | "clearTranslationsTmMtAiTask" | "clearTranslationsTmMtAiReviewTask" | "clearTranslationsTmTranslateTask" | "translateAndReviewTask" | "clearTranslationsTmTranslateReviewTask" | "translateReviewReviewTask" | "reviewTask" | "reviewTranslateTask" | "reviewTranslateReviewTask" | undefined;
|
|
6125
6125
|
}>>;
|
|
6126
6126
|
declare const POST_WORKFLOW_RESPONSE: z.ZodObject<{
|
|
6127
6127
|
data: z.ZodObject<{
|
|
@@ -11303,7 +11303,7 @@ type Template<StateName extends string> = InternalTemplate<StateName> & {
|
|
|
11303
11303
|
frontendLayout: FrontendLayout<StateName>;
|
|
11304
11304
|
};
|
|
11305
11305
|
|
|
11306
|
-
declare const TEMPLATE_IDS: readonly ["clearTranslationsMtAiTask", "translateTask", "clearTranslationsTm", "clearTranslationsMtAiReviewTask", "clearTranslationsTmMtAiReviewTask", "clearTranslationsTmTranslateTask", "translateAndReviewTask", "clearTranslationsTmTranslateReviewTask", "translateReviewReviewTask", "reviewTask", "reviewTranslateTask", "reviewTranslateReviewTask"
|
|
11306
|
+
declare const TEMPLATE_IDS: readonly ["clearTranslationsMtAiTask", "translateTask", "clearTranslationsTm", "clearTranslationsMtAiReviewTask", "clearTranslationsTmMtAiTask", "clearTranslationsTmMtAiReviewTask", "clearTranslationsTmTranslateTask", "translateAndReviewTask", "clearTranslationsTmTranslateReviewTask", "translateReviewReviewTask", "reviewTask", "reviewTranslateTask", "reviewTranslateReviewTask"];
|
|
11307
11307
|
type TemplateId = (typeof TEMPLATE_IDS)[number];
|
|
11308
11308
|
declare const TEMPLATES: Record<TemplateId, Template<string>>;
|
|
11309
11309
|
|
package/dist/index.mjs
CHANGED
|
@@ -1435,6 +1435,7 @@ var TEMPLATE_IDS = [
|
|
|
1435
1435
|
"translateTask",
|
|
1436
1436
|
"clearTranslationsTm",
|
|
1437
1437
|
"clearTranslationsMtAiReviewTask",
|
|
1438
|
+
"clearTranslationsTmMtAiTask",
|
|
1438
1439
|
"clearTranslationsTmMtAiReviewTask",
|
|
1439
1440
|
"clearTranslationsTmTranslateTask",
|
|
1440
1441
|
"translateAndReviewTask",
|
|
@@ -1442,8 +1443,7 @@ var TEMPLATE_IDS = [
|
|
|
1442
1443
|
"translateReviewReviewTask",
|
|
1443
1444
|
"reviewTask",
|
|
1444
1445
|
"reviewTranslateTask",
|
|
1445
|
-
"reviewTranslateReviewTask"
|
|
1446
|
-
"clearTranslationsTmMtAiTask"
|
|
1446
|
+
"reviewTranslateReviewTask"
|
|
1447
1447
|
];
|
|
1448
1448
|
var buildTemplate = /* @__PURE__ */ __name((internalTemplate) => {
|
|
1449
1449
|
const layoutTranslator = new LayoutTranslator();
|
|
@@ -1458,6 +1458,7 @@ var TEMPLATES = {
|
|
|
1458
1458
|
translateTask: buildTemplate(TRANSLATE_TASK_TEMPLATE),
|
|
1459
1459
|
clearTranslationsTm: buildTemplate(CLEAR_TRANSLATIONS_TM_TEMPLATE),
|
|
1460
1460
|
clearTranslationsMtAiReviewTask: buildTemplate(CLEAR_TRANSLATIONS_MT_AI_REVIEW_TASK_TEMPLATE),
|
|
1461
|
+
clearTranslationsTmMtAiTask: buildTemplate(CLEAR_TRANSLATIONS_TM_MT_AI_TASK_TEMPLATE),
|
|
1461
1462
|
clearTranslationsTmMtAiReviewTask: buildTemplate(
|
|
1462
1463
|
CLEAR_TRANSLATIONS_TM_MT_AI_REVIEW_TASK_TEMPLATE
|
|
1463
1464
|
),
|
|
@@ -1469,8 +1470,7 @@ var TEMPLATES = {
|
|
|
1469
1470
|
translateReviewReviewTask: buildTemplate(TRANSLATE_REVIEW_REVIEW_TASK_TEMPLATE),
|
|
1470
1471
|
reviewTask: buildTemplate(REVIEW_TASK_TEMPLATE),
|
|
1471
1472
|
reviewTranslateTask: buildTemplate(REVIEW_TRANSLATE_TASK_TEMPLATE),
|
|
1472
|
-
reviewTranslateReviewTask: buildTemplate(REVIEW_TRANSLATE_REVIEW_TASK_TEMPLATE)
|
|
1473
|
-
clearTranslationsTmMtAiTask: buildTemplate(CLEAR_TRANSLATIONS_TM_MT_AI_TASK_TEMPLATE)
|
|
1473
|
+
reviewTranslateReviewTask: buildTemplate(REVIEW_TRANSLATE_REVIEW_TASK_TEMPLATE)
|
|
1474
1474
|
};
|
|
1475
1475
|
|
|
1476
1476
|
// src/apiContract/schemas.ts
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/apiContract/schemas.ts","../src/workflow/LayoutTranslator.ts","../src/workflow/steps/scheduledTriggerStep.ts","../src/workflow/steps/aiMtTranslationStep.ts","../src/workflow/messages.ts","../src/workflow/steps/applyTmStep.ts","../src/workflow/steps/translateTaskStep.ts","../src/workflow/steps/reviewTaskStep.ts","../src/workflow/steps/clearTranslationsStep.ts","../src/workflow/steps/endStep.ts","../src/workflow/steps.ts","../src/templates/resources/clear-translations-mt-ai-review-task.template.ts","../src/templates/resources/clear-translations-mt-ai-task.template.ts","../src/templates/resources/clear-translations-tm-mt-ai-review-task.template.ts","../src/templates/resources/clear-translations-tm-mt-ai-task.template.ts","../src/templates/resources/clear-translations-tm-templates.ts","../src/templates/resources/clear-translations-tm-translate-review-task-template.ts","../src/templates/resources/clear-translations-tm-translate-task-template.ts","../src/templates/resources/review-task.template.ts","../src/templates/resources/review-translate-review-task.template.ts","../src/templates/resources/review-translate-task.template.ts","../src/templates/resources/translate-and-review-task.template.ts","../src/templates/resources/translate-review-review-task.template.ts","../src/templates/resources/translate-task.template.ts","../src/templates/schemas.ts"],"sourcesContent":["import { COMMON_ERROR_RESPONSE_SCHEMA } from '@lokalise/api-common'\nimport z from 'zod'\nimport { TEMPLATE_IDS } from '../templates/schemas.js'\nimport {\n AI_MT_TRANSLATION_STEP_FORM_SCHEMA,\n AI_MT_TRANSLATION_STEP_SETTINGS_SCHEMA,\n APPLY_TM_STEP_FORM_SCHEMA,\n APPLY_TM_STEP_SETTINGS_SCHEMA,\n CLEAR_TRANSLATIONS_STEP_FORM_SCHEMA,\n CLEAR_TRANSLATIONS_STEP_SETTINGS_SCHEMA,\n END_STEP_FORM_SCHEMA,\n END_STEP_SETTINGS_SCHEMA,\n REVIEW_TASK_STEP_FORM_SCHEMA,\n REVIEW_TASK_STEP_SETTINGS_SCHEMA,\n SCHEDULED_TRIGGER_STEP_FORM_SCHEMA,\n SCHEDULED_TRIGGER_STEP_SETTINGS_SCHEMA,\n STEP_TYPES,\n TRANSLATE_TASK_STEP_FORM_SCHEMA,\n TRANSLATE_TASK_STEP_SETTINGS_SCHEMA,\n} from '../workflow/steps.js'\n\n// COMMON SCHEMAS\nconst MAX_STEP_ID_LENGTH = 100\nconst DATETIME = z.string().datetime()\nconst WORKFLOW_ID = z.string().max(36)\nconst TEMPLATE_ID = z.enum(TEMPLATE_IDS).describe('Template identifier')\nexport const GROUP_ID = z\n .string()\n .regex(/^expert_[^_\\s]+_[^_\\s]+$/, 'Invalid group ID format')\n .max(255)\n .describe(\n 'Group identifier composed by the tenant ID, followed by the owner ID, followed by the project ID. Underscores are used as separators (e.g. `expert_123_98616399660d3c2456abc5.66984240`)',\n )\n\nexport const METADATA_FIELDS = z\n .enum(['targetLanguageIds', 'error'])\n .describe('Metadata fields that can be included in the response')\n\nexport const TRIGGER_TYPE = z.enum(['Manual', 'Scheduled', 'Automated']).describe('Trigger type')\n\nexport const WORKFLOW_STATUS = z\n .enum(['Draft', 'Live', 'Archived', 'Paused', 'Canceled'])\n .describe('Workflow status')\n\nexport const API_ERROR = COMMON_ERROR_RESPONSE_SCHEMA\n\nexport const WORKFLOW_PARAMS = z\n .object({\n groupId: GROUP_ID,\n workflowId: WORKFLOW_ID,\n })\n .describe('URL parameters for getting a workflow')\nexport type WorkflowParams = z.infer<typeof WORKFLOW_PARAMS>\n\nexport const UNSPECIFIED_WORKFLOW_PARAMS = z\n .object({\n groupId: GROUP_ID,\n })\n .describe('URL parameters without workflowId')\nexport type UnspecifiedWorkflowParams = z.infer<typeof UNSPECIFIED_WORKFLOW_PARAMS>\n\n// GET WORKFLOW\nexport const GET_WORKFLOW_PARAMS = WORKFLOW_PARAMS\n\nexport const WORKFLOW = z\n .object({\n id: WORKFLOW_ID,\n version: z.number(),\n status: WORKFLOW_STATUS,\n title: z.string(),\n triggerType: TRIGGER_TYPE,\n targetLanguageIds: z.array(z.string()).optional().nullable(),\n error: COMMON_ERROR_RESPONSE_SCHEMA.optional().nullable(),\n createdAt: DATETIME,\n updatedAt: z.optional(DATETIME).nullable(),\n publishedAt: z.optional(DATETIME).nullable(),\n triggeredAt: z.optional(DATETIME).nullable(),\n metadata: z.optional(z.record(z.unknown())).nullable(),\n })\n .describe('Workflow. Used in the list of workflows')\n\nexport const WORKFLOW_EXTENDED_STEP_SCHEMA = z.discriminatedUnion('type', [\n z.object({\n id: z.string().max(MAX_STEP_ID_LENGTH),\n type: SCHEDULED_TRIGGER_STEP_SETTINGS_SCHEMA.shape.stepType,\n values: SCHEDULED_TRIGGER_STEP_FORM_SCHEMA,\n triggerType: SCHEDULED_TRIGGER_STEP_SETTINGS_SCHEMA.shape.triggerType,\n }),\n z.object({\n id: z.string().max(MAX_STEP_ID_LENGTH),\n type: TRANSLATE_TASK_STEP_SETTINGS_SCHEMA.shape.stepType,\n values: TRANSLATE_TASK_STEP_FORM_SCHEMA,\n taskType: TRANSLATE_TASK_STEP_SETTINGS_SCHEMA.shape.taskType,\n }),\n z.object({\n id: z.string().max(MAX_STEP_ID_LENGTH),\n type: REVIEW_TASK_STEP_SETTINGS_SCHEMA.shape.stepType,\n values: REVIEW_TASK_STEP_FORM_SCHEMA,\n taskType: REVIEW_TASK_STEP_SETTINGS_SCHEMA.shape.taskType,\n }),\n z.object({\n id: z.string().max(MAX_STEP_ID_LENGTH),\n type: APPLY_TM_STEP_SETTINGS_SCHEMA.shape.stepType,\n values: APPLY_TM_STEP_FORM_SCHEMA,\n }),\n z.object({\n id: z.string().max(MAX_STEP_ID_LENGTH),\n type: CLEAR_TRANSLATIONS_STEP_SETTINGS_SCHEMA.shape.stepType,\n values: CLEAR_TRANSLATIONS_STEP_FORM_SCHEMA,\n }),\n z.object({\n id: z.string().max(MAX_STEP_ID_LENGTH),\n type: AI_MT_TRANSLATION_STEP_SETTINGS_SCHEMA.shape.stepType,\n values: AI_MT_TRANSLATION_STEP_FORM_SCHEMA,\n taskType: AI_MT_TRANSLATION_STEP_SETTINGS_SCHEMA.shape.taskType,\n }),\n z.object({\n id: z.string().max(MAX_STEP_ID_LENGTH),\n type: END_STEP_SETTINGS_SCHEMA.shape.stepType,\n values: END_STEP_FORM_SCHEMA,\n }),\n])\n\nexport const WORKFLOW_EXTENDED_SCHEMA = z\n .array(WORKFLOW_EXTENDED_STEP_SCHEMA)\n .describe('Workflow FrontendLayout')\n\nexport const WORKFLOW_EXTENDED = z\n .object({\n id: WORKFLOW_ID,\n groupId: GROUP_ID,\n version: z.number(),\n status: WORKFLOW_STATUS,\n title: z.string(),\n schema: WORKFLOW_EXTENDED_SCHEMA,\n error: COMMON_ERROR_RESPONSE_SCHEMA.optional().nullable(),\n createdAt: DATETIME,\n updatedAt: z.optional(DATETIME),\n publishedAt: z.optional(DATETIME),\n })\n .describe('Workflow. Response for getting a workflow or creating a new one')\n\nexport const WORKFLOW_EXTENDED_SCHEMA_SIMPLIFIED = z\n .array(\n z.object({\n id: z.string().max(100),\n type: z.enum(STEP_TYPES),\n values: z.record(z.string(), z.unknown()),\n triggerType: z.optional(TRIGGER_TYPE),\n taskType: z.optional(z.enum(['translation', 'review'])),\n }),\n )\n .describe(\n 'Simplified schema for the response to be able to return default values to the frontend',\n )\n\nexport const WORKFLOW_EXTENDED_SIMPLIFIED = z\n .object({\n id: WORKFLOW_ID,\n groupId: GROUP_ID,\n version: z.number(),\n status: WORKFLOW_STATUS,\n title: z.string(),\n schema: WORKFLOW_EXTENDED_SCHEMA_SIMPLIFIED,\n error: COMMON_ERROR_RESPONSE_SCHEMA.optional().nullable(),\n createdAt: DATETIME,\n updatedAt: z.optional(DATETIME),\n publishedAt: z.optional(DATETIME),\n })\n .describe(\n 'Simplified schema for the response to be able to return default values to the frontend',\n )\n\nexport type Workflow = z.infer<typeof WORKFLOW>\nexport type WorkflowExtended = z.infer<typeof WORKFLOW_EXTENDED>\nexport type WorkflowExtendedSchema = z.infer<typeof WORKFLOW_EXTENDED_SCHEMA>\n\nexport const GET_WORKFLOW_RESPONSE = z.object({\n data: WORKFLOW_EXTENDED,\n})\n\nexport const GET_WORKFLOW_SIMPLIFIED_RESPONSE = z.object({\n data: WORKFLOW_EXTENDED_SIMPLIFIED,\n})\n\nexport type GetWorkflowParams = z.infer<typeof GET_WORKFLOW_PARAMS>\nexport type GetWorkflowResponse = z.infer<typeof GET_WORKFLOW_RESPONSE>\n\n// LIST WORKFLOWS\nexport const GET_WORKFLOW_LIST_PARAMS = UNSPECIFIED_WORKFLOW_PARAMS\n\nexport const GET_WORKFLOW_LIST_RESPONSE = z.object({\n data: z.array(WORKFLOW),\n})\n\nexport type GetWorkflowListParams = z.infer<typeof GET_WORKFLOW_LIST_PARAMS>\nexport type GetWorkflowListResponse = z.infer<typeof GET_WORKFLOW_LIST_RESPONSE>\n\n// PAUSE WORKFLOW\nexport const PATCH_PAUSE_WORKFLOW_PARAMS = WORKFLOW_PARAMS\n\nexport const PATCH_PAUSE_WORKFLOW_RESPONSE = z.null({\n description: 'Successfully paused workflow',\n})\n\nexport type PatchPauseWorkflowParams = z.infer<typeof PATCH_PAUSE_WORKFLOW_PARAMS>\nexport type PatchPauseWorkflowResponse = z.infer<typeof PATCH_PAUSE_WORKFLOW_RESPONSE>\n\n// RESUME WORKFLOW\nexport const PATCH_RESUME_WORKFLOW_PARAMS = WORKFLOW_PARAMS\n\nexport const PATCH_RESUME_WORKFLOW_BODY = z.object({\n runNow: z.optional(z.boolean()).default(false),\n})\n\nexport const PATCH_RESUME_WORKFLOW_RESPONSE = z.null({\n description: 'Successfully resumed workflow',\n})\n\nexport type PatchResumeWorkflowParams = z.infer<typeof PATCH_RESUME_WORKFLOW_PARAMS>\nexport type PatchResumeWorkflowBody = z.infer<typeof PATCH_RESUME_WORKFLOW_BODY>\nexport type PatchResumeWorkflowResponse = z.infer<typeof PATCH_RESUME_WORKFLOW_RESPONSE>\n\n// DUPLICATE WORKFLOW\nexport const POST_DUPLICATE_WORKFLOW_PARAMS = WORKFLOW_PARAMS\n\nexport const POST_DUPLICATE_WORKFLOW_RESPONSE = GET_WORKFLOW_RESPONSE\n\n// DELETE WORKFLOW\nexport const DELETE_WORKFLOW_PARAMS = WORKFLOW_PARAMS\n\nexport const DELETE_WORKFLOW_RESPONSE = z.null({\n description: 'Successfully deleted workflow',\n})\n\nexport type DeleteWorkflowParams = z.infer<typeof DELETE_WORKFLOW_PARAMS>\nexport type DeleteWorkflowResponse = z.infer<typeof DELETE_WORKFLOW_RESPONSE>\n\n// CREATE WORKFLOW\nexport const POST_WORKFLOW_PARAMS = UNSPECIFIED_WORKFLOW_PARAMS\n\nexport const POST_WORKFLOW_BODY = z\n .nullable(\n z.object({\n templateId: TEMPLATE_ID.optional(),\n }),\n )\n .describe('Parameters for creating a workflow')\n\nexport const POST_WORKFLOW_RESPONSE = z.object({\n data: WORKFLOW_EXTENDED,\n})\n\nexport const POST_WORKFLOW_SIMPLIFIED_RESPONSE = z.object({\n data: WORKFLOW_EXTENDED_SIMPLIFIED,\n})\n\nexport type PostWorkflowParams = z.infer<typeof POST_WORKFLOW_PARAMS>\nexport type PostWorkflowBody = z.infer<typeof POST_WORKFLOW_BODY>\nexport type PostWorkflowResponse = z.infer<typeof POST_WORKFLOW_RESPONSE>\n\n// UPDATE DRAFT\nexport const PUT_WORKFLOW_DRAFT_PARAMS = WORKFLOW_PARAMS\n\nexport const PUT_WORKFLOW_DRAFT_BODY = z\n .object({\n schema: WORKFLOW_EXTENDED_SCHEMA_SIMPLIFIED,\n })\n .describe('Schema with user changes')\n\nexport const PUT_WORKFLOW_DRAFT_RESPONSE = z.null({\n description: 'Successfully updated workflow draft',\n})\n\nexport type PutWorkflowDraftParams = z.infer<typeof PUT_WORKFLOW_DRAFT_PARAMS>\nexport type PutWorkflowDraftBody = z.infer<typeof PUT_WORKFLOW_DRAFT_BODY>\nexport type PutWorkflowDraftResponse = z.infer<typeof PUT_WORKFLOW_DRAFT_RESPONSE>\n\n// PATCH WORKFLOW\nexport const PATCH_WORKFLOW_PARAMS = WORKFLOW_PARAMS\n\nexport const PATCH_WORKFLOW_BODY = z\n .object({\n title: z.string().min(1).max(256),\n })\n .describe('Workflow title')\n\nexport const PATCH_WORKFLOW_RESPONSE = z.null({\n description: 'Successfully updated workflow',\n})\n\nexport type PatchWorkflowParams = z.infer<typeof PATCH_WORKFLOW_PARAMS>\nexport type PatchWorkflowBody = z.infer<typeof PATCH_WORKFLOW_BODY>\nexport type PatchWorkflowResponse = z.infer<typeof PATCH_WORKFLOW_RESPONSE>\n\n// ACTIVATE WORKFLOW\nexport const POST_ACTIVATE_WORKFLOW_PARAMS = WORKFLOW_PARAMS\n\nexport const POST_ACTIVATE_WORKFLOW_BODY = z\n .object({\n runNow: z.optional(z.boolean()),\n schema: WORKFLOW_EXTENDED_SCHEMA,\n })\n .describe(\n 'Schema with user changes. If runNow is true, the workflow will be triggered immediately.',\n )\n\nexport const POST_ACTIVATE_WORKFLOW_RESPONSE = z.null({\n description: 'Successfully activated workflow',\n})\n\nexport type PostActivateWorkflowParams = z.infer<typeof POST_ACTIVATE_WORKFLOW_PARAMS>\nexport type PostActivateWorkflowBody = z.infer<typeof POST_ACTIVATE_WORKFLOW_BODY>\nexport type PostActivateWorkflowResponse = z.infer<typeof POST_ACTIVATE_WORKFLOW_RESPONSE>\n\n// PUT LIVE WORKFLOW\nexport const PUT_LIVE_WORKFLOW_PARAMS = WORKFLOW_PARAMS\n\nexport const PUT_LIVE_WORKFLOW_BODY = z\n .object({\n runNow: z.optional(z.boolean()),\n schema: WORKFLOW_EXTENDED_SCHEMA,\n })\n .describe(\n 'Schema with user changes. If runNow is true, the workflow will be triggered immediately.',\n )\n\nexport const PUT_LIVE_WORKFLOW_RESPONSE = z.null({\n description: 'Successfully updated workflow',\n})\n\nexport type PutLiveWorkflowParams = z.infer<typeof PUT_LIVE_WORKFLOW_PARAMS>\nexport type PutLiveWorkflowBody = z.infer<typeof PUT_LIVE_WORKFLOW_BODY>\nexport type PutLiveWorkflowResponse = z.infer<typeof PUT_LIVE_WORKFLOW_RESPONSE>\n","import type {\n WorkflowLayout,\n WorkflowLayoutStepSettingsList,\n WorkflowLayoutStepTriggerEvent,\n WorkflowMetadata,\n} from '@lokalise/maestro-common'\nimport { areStringArraysEqual } from '@lokalise/universal-ts-utils/array/areStringArraysEqual.js'\nimport type { LayoutTranslatorInterface } from '../../../../src/modules/workflows/interfaces/LayoutTranslatorInterface.js'\nimport { TEMPLATES } from '../templates/schemas.js'\nimport type {\n FrontendLayout,\n InternalTemplate,\n StrictWorkflowLayout,\n StrictWorkflowLayoutSettings,\n StrictWorkflowLayoutStepSettings,\n Template,\n} from '../templates/types.js'\nimport type { ScheduledTriggerStepSettings, StepType } from './steps.js'\n\ntype FrontendStep = {\n id: string\n type: StepType\n values: Record<string, unknown>\n triggerType?: string\n taskType?: string\n}\n\nexport class LayoutTranslator implements LayoutTranslatorInterface {\n public translateTemplateToFrontendLayout<StateName extends string>(\n template: InternalTemplate<StateName>,\n ): FrontendLayout<StateName> {\n return this.buildFrontendLayout<StateName>(template.settings, template.sort)\n }\n\n public translateFrontendLayoutToTemplate<StateName extends string>(\n frontendLayout: FrontendLayout<StateName>,\n ): Pick<InternalTemplate<StateName>, 'layout' | 'settings'> | undefined {\n const template = this.findTemplate(frontendLayout)\n if (!template) {\n return undefined\n }\n\n const layoutSettings = this.buildLayoutSettings<StateName>(frontendLayout)\n\n return {\n layout: template.layout as StrictWorkflowLayout<StateName>,\n settings: layoutSettings,\n }\n }\n\n public buildFrontendLayout<StateName extends string>(\n settings: StrictWorkflowLayoutSettings<StateName>,\n sort: StateName[] = [],\n ): FrontendLayout<StateName> {\n return Object.keys(settings)\n .sort((a, b) => sort.indexOf(a as StateName) - sort.indexOf(b as StateName))\n .map((id) => {\n const { stepType, triggerType, taskType, ...values } = settings[id]\n\n const step = {\n id: id as StateName,\n type: stepType as StepType,\n values,\n triggerType,\n taskType,\n }\n\n return Object.entries(step)\n .filter(([_, value]) => value !== undefined)\n .reduce(\n (acc, [key, value]) => {\n // @ts-ignore\n acc[key] = value\n return acc\n },\n {} as FrontendLayout<StateName>[0],\n )\n })\n }\n\n // Based on the linear layout, return the order of steps\n public getStepSortFromLayout(layout: WorkflowLayout): string[] {\n const sort = [layout.initial]\n let currentState = layout.states[layout.initial]\n\n while (currentState.on) {\n const allEvents: WorkflowLayoutStepTriggerEvent[] = Object.values(currentState.on)\n const event = allEvents.find((evt) => evt.target !== undefined)\n\n if (event === undefined || event.target === undefined) {\n currentState = {\n ...currentState,\n on: undefined,\n }\n continue\n }\n\n sort.push(event.target)\n currentState = layout.states[event.target]\n }\n\n return sort\n }\n\n public buildWorkflowMetadata({\n settings,\n }: Pick<InternalTemplate<string>, 'settings'>): WorkflowMetadata {\n const step = settings.TriggerStep as ScheduledTriggerStepSettings\n\n return {\n triggerType: step.triggerType,\n targetLanguageIds: step.targetLanguageIds.map((id) => id.toString()),\n }\n }\n\n public getTriggerSchedulerExpression(\n settings: WorkflowLayoutStepSettingsList,\n ): string | undefined {\n const step = settings.TriggerStep as ScheduledTriggerStepSettings\n\n if (!step) {\n return undefined\n }\n\n if (step.triggerType === 'Scheduled') {\n return step.scheduleFrequencyExpression ?? undefined\n }\n\n return undefined\n }\n\n public getTriggerSchedulerStartDate(\n settings: WorkflowLayoutStepSettingsList,\n ): string | undefined {\n const step = settings.TriggerStep as ScheduledTriggerStepSettings\n\n if (!step) {\n return undefined\n }\n\n if (step.triggerType === 'Scheduled') {\n return step.scheduleStartingDate\n }\n\n return undefined\n }\n\n buildLayoutSettings<StateName extends string>(\n frontendLayout: FrontendLayout<StateName>,\n ): StrictWorkflowLayoutSettings<StateName> {\n return frontendLayout.reduce(\n (acc, frontendStep: FrontendStep) => {\n const step: StrictWorkflowLayoutStepSettings = {\n ...frontendStep.values,\n stepType: frontendStep.type,\n triggerType: frontendStep.type === 'trigger_step' ? frontendStep.triggerType : undefined,\n taskType:\n frontendStep.type === 'translate_task_step' ||\n frontendStep.type === 'review_task_step' ||\n frontendStep.type === 'ai_mt_translation_step'\n ? frontendStep.taskType\n : undefined,\n }\n acc[frontendStep.id as StateName] = Object.fromEntries(\n Object.entries(step).filter(([_, value]) => value !== undefined),\n ) as StrictWorkflowLayoutStepSettings\n return acc\n },\n {} as Record<StateName, StrictWorkflowLayoutStepSettings>,\n )\n }\n\n findTemplate<StateName extends string>(\n frontendLayout: FrontendLayout<StateName>,\n ): Template<StateName> | undefined {\n const frontendLayoutStepIds = frontendLayout.map((step) => step.id)\n\n const result = Object.entries(TEMPLATES).find(([_, template]) => {\n const templateStepIds = template.frontendLayout.map((step) => step.id)\n return areStringArraysEqual(frontendLayoutStepIds, templateStepIds)\n })\n\n if (!result) {\n return undefined\n }\n\n const [_, template] = result\n\n return template as Template<StateName>\n }\n}\n","import {\n CRON_EXPRESSION_REGEX,\n WORKFLOW_LAYOUT_STEP_SETTINGS,\n type WorkflowLayoutStepSettings,\n} from '@lokalise/maestro-common'\nimport { z } from 'zod'\n\nexport const SCHEDULED_TRIGGER_STEP_FORM_SCHEMA = z.object({\n stepTitle: z.string().trim().min(1),\n scheduleFrequencyExpression: z.string().regex(CRON_EXPRESSION_REGEX),\n scheduleStartingDate: z.string().date(),\n monitoredLanguageId: z.number().min(1).int(),\n targetLanguageIds: z.array(z.number().min(1).int()).min(1),\n monitoredKeyType: z.enum(['new', 'updated', 'both']),\n projectFilterId: z.string().optional().nullable(),\n})\n\nexport type ScheduledTriggerStepForm = z.infer<typeof SCHEDULED_TRIGGER_STEP_FORM_SCHEMA>\n\nexport const SCHEDULED_TRIGGER_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS.merge(\n SCHEDULED_TRIGGER_STEP_FORM_SCHEMA,\n).extend({\n stepType: z.literal('trigger_step'),\n triggerType: z.literal('Scheduled'),\n})\n\nexport type ScheduledTriggerStepSettings = z.infer<typeof SCHEDULED_TRIGGER_STEP_SETTINGS_SCHEMA>\n\nexport const DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS: WorkflowLayoutStepSettings &\n Partial<ScheduledTriggerStepSettings> = {\n stepType: 'trigger_step',\n triggerType: 'Scheduled',\n stepTitle: 'Trigger and scope',\n scheduleFrequencyExpression: '00 09 * * 0,1,2,3,4,5,6',\n scheduleStartingDate: undefined,\n monitoredLanguageId: undefined,\n targetLanguageIds: [],\n monitoredKeyType: 'new',\n projectFilterId: null,\n}\n","import {\n WORKFLOW_LAYOUT_STEP_SETTINGS,\n type WorkflowLayoutStepSettings,\n} from '@lokalise/maestro-common'\nimport { z } from 'zod'\nimport { TRANSLATION_ENGINE } from '../messages.js'\n\nexport const AI_MT_TRANSLATION_STEP_FORM_SCHEMA = z\n .object({\n stepTitle: z.string().min(1),\n translationEngine: TRANSLATION_ENGINE,\n taskTitle: z.string().optional(),\n aiInstructions: z.string().optional(),\n tagKeysAfterClose: z.boolean(),\n tagsToAddAfterClose: z.array(z.string()).optional(),\n customTranslationStatusIds: z.array(z.number()).optional(),\n hasCustomTranslationStatuses: z.boolean(),\n })\n .superRefine(({ tagKeysAfterClose, tagsToAddAfterClose }, context) => {\n if (tagKeysAfterClose && tagsToAddAfterClose?.length === 0) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'At least one tag must be added if \"Tag keys after task is closed\" is checked',\n path: ['tagsToAddAfterClose'],\n })\n }\n if (!tagKeysAfterClose && tagsToAddAfterClose && tagsToAddAfterClose.length > 0) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'One or more tags are set but \"Tag keys after task is closed\" is not checked',\n path: ['tagKeysAfterClose'],\n })\n }\n })\n .superRefine(({ hasCustomTranslationStatuses, customTranslationStatusIds }, context) => {\n if (hasCustomTranslationStatuses && customTranslationStatusIds?.length === 0) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message:\n 'You must select custom statuses if \"Allow assignees to set custom statuses\" is checked',\n path: ['customTranslationStatusIds'],\n })\n }\n if (\n !hasCustomTranslationStatuses &&\n customTranslationStatusIds &&\n customTranslationStatusIds.length > 0\n ) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message:\n 'Custom statuses are set but \"Allow assignees to set custom statuses\" is not checked',\n path: ['hasCustomTranslationStatuses'],\n })\n }\n })\n\nexport type AiMtTranslationStepForm = z.infer<typeof AI_MT_TRANSLATION_STEP_FORM_SCHEMA>\n\nexport const AI_MT_TRANSLATION_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS.merge(\n z.object(AI_MT_TRANSLATION_STEP_FORM_SCHEMA._def.schema._def.schema.shape),\n).extend({\n stepType: z.literal('ai_mt_translation_step'),\n taskType: z.literal('translation'),\n stepTitle: z.string().min(1),\n translationEngine: TRANSLATION_ENGINE,\n taskTitle: z.string().optional(),\n aiInstructions: z.string().optional(),\n tagKeysAfterClose: z.boolean(),\n tagsToAddAfterClose: z.array(z.string()).optional(),\n customTranslationStatusIds: z.array(z.number()).optional(),\n hasCustomTranslationStatuses: z.boolean(),\n})\n\nexport type AiMtTranslationStepSettings = z.infer<typeof AI_MT_TRANSLATION_STEP_SETTINGS_SCHEMA>\n\nexport const DEFAULT_AI_MT_TRANSLATION_STEP_SETTINGS: WorkflowLayoutStepSettings &\n Partial<AiMtTranslationStepSettings> = {\n stepType: 'ai_mt_translation_step',\n stepTitle: 'AI/MT Translation Task',\n taskType: 'translation',\n aiInstructions: undefined,\n translationEngine: undefined,\n taskTitle: undefined,\n tagKeysAfterClose: false,\n tagsToAddAfterClose: [],\n customTranslationStatusIds: [],\n hasCustomTranslationStatuses: false,\n}\n","import { WORKFLOW_LAYOUT_STEP_SETTINGS } from '@lokalise/maestro-common'\nimport { z } from 'zod'\nimport { APPLY_TM_STEP_SETTINGS_SCHEMA } from './steps/applyTmStep.js'\n\nconst TASK_LANGUAGE_ASSIGNEES = z\n .object({\n languageId: z.number(),\n userIds: z.optional(z.array(z.number())),\n userGroupIds: z.optional(z.array(z.number())),\n })\n .refine(({ userIds, userGroupIds }) => userIds !== undefined || userGroupIds !== undefined, {\n message: 'Either users or groups should be specified',\n })\n\nexport const TRANSLATION_ENGINE = z.enum(['ai', 'deepl', 'google'], {\n errorMap: () => ({ message: 'Please choose a translation engine' }),\n})\n\nexport const CREATE_TASK_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS.extend({\n stepType: z.enum(['translate_task_step', 'review_task_step', 'ai_mt_translation_step']),\n stepTitle: z.string().trim().min(1),\n taskType: z.enum(['translation', 'review']),\n taskTitle: z.optional(z.string()).describe('If empty, the workflow title will be used'),\n taskDescription: z\n .optional(z.string())\n .describe('Add a description such as including links to useful resources to assignees.'),\n dueDate: z.optional(z.number().int().min(1).max(365)),\n languageAssignees: z.array(TASK_LANGUAGE_ASSIGNEES).min(1),\n autoCloseItems: z.optional(z.boolean()),\n autoCloseLanguages: z.boolean(),\n autoCloseTask: z.boolean(),\n lockTranslations: z.boolean(),\n hasCustomTranslationStatuses: z.boolean().default(false),\n customTranslationStatusIds: z.array(z.number()).optional(),\n tagKeysAfterClose: z.boolean().default(false),\n tagsToAddAfterClose: z.array(z.string().max(128)).optional(),\n translationEngine: z.optional(TRANSLATION_ENGINE),\n aiInstructions: z.string().optional(),\n})\nexport type CreateTaskStepSettings = z.infer<typeof CREATE_TASK_STEP_SETTINGS_SCHEMA>\n\nexport const CREATE_TASK_MESSAGE_CONTEXT = CREATE_TASK_STEP_SETTINGS_SCHEMA.omit({\n stepType: true,\n stepTitle: true,\n dueDate: true,\n tagKeysAfterClose: true,\n}).extend({\n teamId: z.number(),\n projectId: z.string(),\n dueDate: z.optional(z.date()),\n sourceLanguageId: z.number(),\n keyIds: z.record(z.string(), z.array(z.number())),\n})\nexport type CreateTaskMessageContext = z.infer<typeof CREATE_TASK_MESSAGE_CONTEXT>\n\nexport const APPLY_TM_MESSAGE_CONTEXT = APPLY_TM_STEP_SETTINGS_SCHEMA.omit({\n stepType: true,\n stepTitle: true,\n}).extend({\n teamId: z.string(),\n projectId: z.string(),\n keysByLanguages: z.record(z.string(), z.array(z.number())),\n})\nexport type ApplyTmMessageContext = z.infer<typeof APPLY_TM_MESSAGE_CONTEXT>\n","import {\n WORKFLOW_LAYOUT_STEP_SETTINGS,\n type WorkflowLayoutStepSettings,\n} from '@lokalise/maestro-common'\nimport { z } from 'zod'\n\nexport const APPLY_TM_STEP_FORM_SCHEMA = z.object({\n stepTitle: z.string().trim().min(1),\n threshold: z.number().int().min(1).max(100).default(100),\n})\n\nexport type ApplyTmStepForm = z.infer<typeof APPLY_TM_STEP_FORM_SCHEMA>\n\nexport const APPLY_TM_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS.merge(\n APPLY_TM_STEP_FORM_SCHEMA,\n).extend({\n stepType: z.literal('apply_tm_step'),\n})\n\nexport type ApplyTmStepSettings = z.infer<typeof APPLY_TM_STEP_SETTINGS_SCHEMA>\n\nexport const DEFAULT_APPLY_TM_STEP_SETTINGS: WorkflowLayoutStepSettings &\n Partial<ApplyTmStepSettings> = {\n stepType: 'apply_tm_step',\n stepTitle: 'Apply Translation Memory',\n threshold: 100,\n}\n","import type { WorkflowLayoutStepSettings } from '@lokalise/maestro-common'\nimport { type RefinementCtx, z } from 'zod'\nimport { CREATE_TASK_STEP_SETTINGS_SCHEMA } from '../messages.js'\n\nexport const TRANSLATE_TASK_STEP_FORM_SCHEMA = CREATE_TASK_STEP_SETTINGS_SCHEMA.omit({\n stepType: true,\n taskType: true,\n})\n .superRefine(({ tagKeysAfterClose, tagsToAddAfterClose }, context: RefinementCtx) => {\n if (tagKeysAfterClose && tagsToAddAfterClose?.length === 0) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'At least one tag must be added if \"Tag keys after task is closed\" is checked',\n path: ['tagsToAddAfterClose'],\n })\n }\n if (!tagKeysAfterClose && tagsToAddAfterClose && tagsToAddAfterClose.length > 0) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'One or more tags are set but \"Tag keys after task is closed\" is not checked',\n path: ['tagKeysAfterClose'],\n })\n }\n })\n .superRefine(({ hasCustomTranslationStatuses, customTranslationStatusIds }, context) => {\n if (hasCustomTranslationStatuses && customTranslationStatusIds?.length === 0) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message:\n 'You must select custom statuses if \"Allow assignees to set custom statuses\" is checked',\n path: ['customTranslationStatusIds'],\n })\n }\n if (\n !hasCustomTranslationStatuses &&\n customTranslationStatusIds &&\n customTranslationStatusIds.length > 0\n ) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message:\n 'Custom statuses are set but \"Allow assignees to set custom statuses\" is not checked',\n path: ['hasCustomTranslationStatuses'],\n })\n }\n })\n\nexport type TranslateTaskStepForm = z.infer<typeof TRANSLATE_TASK_STEP_FORM_SCHEMA>\n\nexport const TRANSLATE_TASK_STEP_SETTINGS_SCHEMA = CREATE_TASK_STEP_SETTINGS_SCHEMA.extend({\n stepType: z.literal('translate_task_step'),\n taskType: z.literal('translation'),\n autoCloseItems: z.boolean(),\n})\n\nexport type TranslateTaskStepSettings = z.infer<typeof TRANSLATE_TASK_STEP_SETTINGS_SCHEMA>\n\nexport const DEFAULT_TRANSLATE_TASK_STEP_SETTINGS: WorkflowLayoutStepSettings &\n Partial<TranslateTaskStepSettings> = {\n stepType: 'translate_task_step',\n stepTitle: 'Translation task for contributors',\n taskType: 'translation',\n taskTitle: undefined,\n taskDescription: undefined,\n dueDate: undefined,\n languageAssignees: [],\n autoCloseItems: false,\n autoCloseLanguages: false,\n autoCloseTask: true,\n lockTranslations: false,\n hasCustomTranslationStatuses: false,\n customTranslationStatusIds: [],\n tagKeysAfterClose: false,\n tagsToAddAfterClose: [],\n}\n","import type { WorkflowLayoutStepSettings } from '@lokalise/maestro-common'\nimport { type RefinementCtx, z } from 'zod'\nimport { CREATE_TASK_STEP_SETTINGS_SCHEMA } from '../messages.js'\n\nexport const REVIEW_TASK_STEP_FORM_SCHEMA = CREATE_TASK_STEP_SETTINGS_SCHEMA.omit({\n stepType: true,\n taskType: true,\n})\n .superRefine(({ tagKeysAfterClose, tagsToAddAfterClose }, context: RefinementCtx) => {\n if (tagKeysAfterClose && tagsToAddAfterClose?.length === 0) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'At least one tag must be added if \"Tag keys after task is closed\" is checked',\n path: ['tagsToAddAfterClose'],\n })\n }\n if (!tagKeysAfterClose && tagsToAddAfterClose && tagsToAddAfterClose.length > 0) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'One or more tags are set but \"Tag keys after task is closed\" is not checked',\n path: ['tagKeysAfterClose'],\n })\n }\n })\n .superRefine(({ hasCustomTranslationStatuses, customTranslationStatusIds }, context) => {\n if (hasCustomTranslationStatuses && customTranslationStatusIds?.length === 0) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message:\n 'You must select custom statuses if \"Allow assignees to set custom statuses\" is checked',\n path: ['customTranslationStatusIds'],\n })\n }\n if (\n !hasCustomTranslationStatuses &&\n customTranslationStatusIds &&\n customTranslationStatusIds.length > 0\n ) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message:\n 'Custom statuses are set but \"Allow assignees to set custom statuses\" is not checked',\n path: ['hasCustomTranslationStatuses'],\n })\n }\n })\n\nexport type ReviewTaskStepForm = z.infer<typeof REVIEW_TASK_STEP_FORM_SCHEMA>\n\nexport const REVIEW_TASK_STEP_SETTINGS_SCHEMA = CREATE_TASK_STEP_SETTINGS_SCHEMA.omit({\n autoCloseItems: true,\n}).extend({\n stepType: z.literal('review_task_step'),\n taskType: z.literal('review'),\n})\n\nexport type ReviewTaskStepSettings = z.infer<typeof REVIEW_TASK_STEP_SETTINGS_SCHEMA>\n\nexport const DEFAULT_REVIEW_TASK_STEP_SETTINGS: WorkflowLayoutStepSettings &\n Partial<ReviewTaskStepSettings> = {\n stepType: 'review_task_step',\n stepTitle: 'Review task for contributors',\n taskType: 'review',\n taskTitle: undefined,\n taskDescription: undefined,\n dueDate: undefined,\n languageAssignees: [],\n autoCloseLanguages: false,\n autoCloseTask: true,\n lockTranslations: false,\n hasCustomTranslationStatuses: false,\n customTranslationStatusIds: [],\n tagKeysAfterClose: false,\n tagsToAddAfterClose: [],\n}\n","import {\n WORKFLOW_LAYOUT_STEP_SETTINGS,\n type WorkflowLayoutStepSettings,\n} from '@lokalise/maestro-common'\nimport { z } from 'zod'\n\nexport const CLEAR_TRANSLATIONS_STEP_FORM_SCHEMA = z.object({})\nexport type ClearTranslationsStepForm = z.infer<typeof CLEAR_TRANSLATIONS_STEP_FORM_SCHEMA>\n\nexport const CLEAR_TRANSLATIONS_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS.merge(\n CLEAR_TRANSLATIONS_STEP_FORM_SCHEMA,\n).extend({\n stepType: z.literal('clear_translations_step'),\n})\nexport type ClearTranslationsStepSettings = z.infer<typeof CLEAR_TRANSLATIONS_STEP_SETTINGS_SCHEMA>\n\nexport const DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS: WorkflowLayoutStepSettings &\n ClearTranslationsStepSettings = {\n stepType: 'clear_translations_step',\n}\n","import {\n WORKFLOW_LAYOUT_STEP_SETTINGS,\n type WorkflowLayoutStepSettings,\n} from '@lokalise/maestro-common'\nimport { z } from 'zod'\n\nexport const END_STEP_FORM_SCHEMA = z.object({})\nexport type EndStepForm = z.infer<typeof END_STEP_FORM_SCHEMA>\n\nexport const END_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS.merge(\n END_STEP_FORM_SCHEMA,\n).extend({\n stepType: z.literal('end_step'),\n})\nexport type EndStepSettings = z.infer<typeof END_STEP_SETTINGS_SCHEMA>\n\nexport const DEFAULT_END_STEP_SETTINGS: WorkflowLayoutStepSettings & EndStepSettings = {\n stepType: 'end_step',\n}\n","export {\n SCHEDULED_TRIGGER_STEP_FORM_SCHEMA,\n SCHEDULED_TRIGGER_STEP_SETTINGS_SCHEMA,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n} from './steps/scheduledTriggerStep.js'\nexport type {\n ScheduledTriggerStepForm,\n ScheduledTriggerStepSettings,\n} from './steps/scheduledTriggerStep.js'\n\nexport {\n AI_MT_TRANSLATION_STEP_FORM_SCHEMA,\n AI_MT_TRANSLATION_STEP_SETTINGS_SCHEMA,\n DEFAULT_AI_MT_TRANSLATION_STEP_SETTINGS,\n} from './steps/aiMtTranslationStep.js'\nexport type {\n AiMtTranslationStepForm,\n AiMtTranslationStepSettings,\n} from './steps/aiMtTranslationStep.js'\n\nexport {\n TRANSLATE_TASK_STEP_FORM_SCHEMA,\n TRANSLATE_TASK_STEP_SETTINGS_SCHEMA,\n DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n} from './steps/translateTaskStep.js'\nexport type {\n TranslateTaskStepForm,\n TranslateTaskStepSettings,\n} from './steps/translateTaskStep.js'\nexport {\n REVIEW_TASK_STEP_FORM_SCHEMA,\n REVIEW_TASK_STEP_SETTINGS_SCHEMA,\n DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n} from './steps/reviewTaskStep.js'\nexport type {\n ReviewTaskStepForm,\n ReviewTaskStepSettings,\n} from './steps/reviewTaskStep.js'\nexport {\n CLEAR_TRANSLATIONS_STEP_FORM_SCHEMA,\n CLEAR_TRANSLATIONS_STEP_SETTINGS_SCHEMA,\n DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS,\n type ClearTranslationsStepForm,\n type ClearTranslationsStepSettings,\n} from './steps/clearTranslationsStep.js'\nexport {\n APPLY_TM_STEP_FORM_SCHEMA,\n APPLY_TM_STEP_SETTINGS_SCHEMA,\n DEFAULT_APPLY_TM_STEP_SETTINGS,\n type ApplyTmStepForm,\n type ApplyTmStepSettings,\n} from './steps/applyTmStep.js'\nexport {\n END_STEP_FORM_SCHEMA,\n END_STEP_SETTINGS_SCHEMA,\n DEFAULT_END_STEP_SETTINGS,\n} from './steps/endStep.js'\nexport type { EndStepForm, EndStepSettings } from './steps/endStep.js'\n\nexport const STEP_TYPES = [\n 'trigger_step',\n 'review_task_step',\n 'translate_task_step',\n 'clear_translations_step',\n 'apply_tm_step',\n 'end_step',\n 'ai_mt_translation_step',\n] as const\nexport type StepType = (typeof STEP_TYPES)[number]\n","import {\n DEFAULT_AI_MT_TRANSLATION_STEP_SETTINGS,\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport { DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS } from '../../workflow/steps/clearTranslationsStep.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const CLEAR_TRANSLATIONS_MT_AI_REVIEW_TASK_TEMPLATE: InternalTemplate<\n 'TriggerStep' | 'ClearTranslationsStep' | 'AiMtTranslationStep' | 'ReviewTaskStep' | 'EndStep'\n> = {\n id: 'clearTranslationsMtAiReviewTask',\n title: 'AI/MT • Review task',\n summary:\n 'Apply AI/MT translation after clearing existing translations, and then create a review task.',\n description:\n 'This template sets up a workflow that clears existing translations, applies AI/MT translation, and creates a review task for human verification.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'ClearTranslationsStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n ClearTranslationsStep: {\n entry: [\n {\n type: 'clearTranslationsAction',\n },\n ],\n on: {\n TranslationsClearedEvent: {\n target: 'AiMtTranslationStep',\n },\n },\n },\n AiMtTranslationStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'ai_mt_translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskSkippedEvent: {\n target: 'ReviewTaskStep',\n },\n TaskClosedEvent: {\n target: 'ReviewTaskStep',\n },\n },\n },\n ReviewTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'review',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n ClearTranslationsStep: DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS,\n AiMtTranslationStep: DEFAULT_AI_MT_TRANSLATION_STEP_SETTINGS,\n ReviewTaskStep: DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: [\n 'TriggerStep',\n 'ClearTranslationsStep',\n 'AiMtTranslationStep',\n 'ReviewTaskStep',\n 'EndStep',\n ],\n}\n","import {\n DEFAULT_AI_MT_TRANSLATION_STEP_SETTINGS,\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport { DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS } from '../../workflow/steps/clearTranslationsStep.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const CLEAR_TRANSLATIONS_MT_AI_TASK_TEMPLATE: InternalTemplate<\n 'TriggerStep' | 'ClearTranslationsStep' | 'AiMtTranslationStep' | 'EndStep'\n> = {\n id: 'clearTranslationsMtAiTask',\n title: 'AI/MT (AI/Machine translation)',\n summary: 'Apply AI/MT translation after clearing existing translations.',\n description:\n 'This template sets up a workflow that first clears existing translations and then applies AI/MT translation.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'ClearTranslationsStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n ClearTranslationsStep: {\n entry: [\n {\n type: 'clearTranslationsAction',\n },\n ],\n on: {\n TranslationsClearedEvent: {\n target: 'AiMtTranslationStep',\n },\n },\n },\n AiMtTranslationStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'ai_mt_translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskSkippedEvent: {\n target: 'EndStep',\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n ClearTranslationsStep: DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS,\n AiMtTranslationStep: DEFAULT_AI_MT_TRANSLATION_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: ['TriggerStep', 'ClearTranslationsStep', 'AiMtTranslationStep', 'EndStep'],\n}\n","import {\n DEFAULT_AI_MT_TRANSLATION_STEP_SETTINGS,\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport { DEFAULT_APPLY_TM_STEP_SETTINGS } from '../../workflow/steps/applyTmStep.js'\nimport { DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS } from '../../workflow/steps/clearTranslationsStep.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const CLEAR_TRANSLATIONS_TM_MT_AI_REVIEW_TASK_TEMPLATE: InternalTemplate<\n | 'TriggerStep'\n | 'ClearTranslationsStep'\n | 'ApplyTmStep'\n | 'AiMtTranslationStep'\n | 'ReviewTaskStep'\n | 'EndStep'\n> = {\n id: 'clearTranslationsTmMtAiReviewTask',\n title: 'TM • AI/MT • Review task',\n summary:\n 'Translate content using Translation Memory, apply AI/MT translation for the rest, and then create a review task',\n description:\n 'This template sets up a workflow that clears existing translations, applies Translation Memory, then AI/MT translation, and creates a review task for human verification.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'ClearTranslationsStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n ClearTranslationsStep: {\n entry: [\n {\n type: 'clearTranslationsAction',\n },\n ],\n on: {\n TranslationsClearedEvent: {\n target: 'ApplyTmStep',\n },\n },\n },\n ApplyTmStep: {\n entry: [\n {\n type: 'applyTmAction',\n },\n ],\n on: {\n TmAppliedEvent: {\n target: 'AiMtTranslationStep',\n },\n },\n },\n AiMtTranslationStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'ai_mt_translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskSkippedEvent: {\n target: 'ReviewTaskStep',\n },\n TaskClosedEvent: {\n target: 'ReviewTaskStep',\n },\n },\n },\n ReviewTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'review',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n ClearTranslationsStep: DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS,\n ApplyTmStep: DEFAULT_APPLY_TM_STEP_SETTINGS,\n AiMtTranslationStep: DEFAULT_AI_MT_TRANSLATION_STEP_SETTINGS,\n ReviewTaskStep: DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: [\n 'TriggerStep',\n 'ClearTranslationsStep',\n 'ApplyTmStep',\n 'AiMtTranslationStep',\n 'ReviewTaskStep',\n 'EndStep',\n ],\n}\n","import {\n DEFAULT_AI_MT_TRANSLATION_STEP_SETTINGS,\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport { DEFAULT_APPLY_TM_STEP_SETTINGS } from '../../workflow/steps/applyTmStep.js'\nimport { DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS } from '../../workflow/steps/clearTranslationsStep.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const CLEAR_TRANSLATIONS_TM_MT_AI_TASK_TEMPLATE: InternalTemplate<\n 'TriggerStep' | 'ClearTranslationsStep' | 'ApplyTmStep' | 'AiMtTranslationStep' | 'EndStep'\n> = {\n id: 'clearTranslationsTmMtAiTask',\n title: 'TM • AI/MT',\n summary: 'Translate content using Translation Memory, apply AI/MT translation for the rest',\n description:\n 'This template sets up a workflow that clears existing translations, applies Translation Memory, then AI/MT translation.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'ClearTranslationsStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n ClearTranslationsStep: {\n entry: [\n {\n type: 'clearTranslationsAction',\n },\n ],\n on: {\n TranslationsClearedEvent: {\n target: 'ApplyTmStep',\n },\n },\n },\n ApplyTmStep: {\n entry: [\n {\n type: 'applyTmAction',\n },\n ],\n on: {\n TmAppliedEvent: {\n target: 'AiMtTranslationStep',\n },\n },\n },\n AiMtTranslationStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'ai_mt_translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskSkippedEvent: {\n target: 'EndStep',\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n ClearTranslationsStep: DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS,\n ApplyTmStep: DEFAULT_APPLY_TM_STEP_SETTINGS,\n AiMtTranslationStep: DEFAULT_AI_MT_TRANSLATION_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: ['TriggerStep', 'ClearTranslationsStep', 'ApplyTmStep', 'AiMtTranslationStep', 'EndStep'],\n}\n","import {\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport { DEFAULT_APPLY_TM_STEP_SETTINGS } from '../../workflow/steps/applyTmStep.js'\nimport { DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS } from '../../workflow/steps/clearTranslationsStep.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const CLEAR_TRANSLATIONS_TM_TEMPLATE: InternalTemplate<\n 'TriggerStep' | 'ClearTranslationsStep' | 'ApplyTmStep' | 'EndStep'\n> = {\n id: 'clearTranslationsTm',\n title: 'TM (Translation Memory)',\n summary:\n 'Translate content using Translation Memory when content is added/updated in the project.',\n description:\n 'Select this workflow to automatically generate a translation using Translation Memory when the content in the editor meets the conditions set in “Start”.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'ClearTranslationsStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n ClearTranslationsStep: {\n entry: [\n {\n type: 'clearTranslationsAction',\n },\n ],\n on: {\n TranslationsClearedEvent: {\n target: 'ApplyTmStep',\n },\n },\n },\n ApplyTmStep: {\n entry: [\n {\n type: 'applyTmAction',\n },\n ],\n on: {\n TmAppliedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n ClearTranslationsStep: DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS,\n ApplyTmStep: DEFAULT_APPLY_TM_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: ['TriggerStep', 'ClearTranslationsStep', 'ApplyTmStep', 'EndStep'],\n}\n","import {\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport { DEFAULT_APPLY_TM_STEP_SETTINGS } from '../../workflow/steps/applyTmStep.js'\nimport { DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS } from '../../workflow/steps/clearTranslationsStep.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const CLEAR_TRANSLATIONS_TM_TRANSLATE_REVIEW_TASK_TEMPLATE: InternalTemplate<\n | 'TriggerStep'\n | 'ClearTranslationsStep'\n | 'ApplyTmStep'\n | 'TranslateTaskStep'\n | 'ReviewTaskStep'\n | 'EndStep'\n> = {\n id: 'clearTranslationsTmTranslateReviewTask',\n title: 'TM • Translation task • Review task',\n summary: 'Translate content using TM before creating translation and review tasks.',\n description:\n 'This template sets up a chained workflow that enables the automatic creation of a translation task, and subsequently a review task, after applying Translation Memory. This can be used by teams that would like to avoid translating repetitive content that has already been translated in the past.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'ClearTranslationsStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n ClearTranslationsStep: {\n entry: [\n {\n type: 'clearTranslationsAction',\n },\n ],\n on: {\n TranslationsClearedEvent: {\n target: 'ApplyTmStep',\n },\n },\n },\n ApplyTmStep: {\n entry: [\n {\n type: 'applyTmAction',\n },\n ],\n on: {\n TmAppliedEvent: {\n target: 'TranslateTaskStep',\n },\n },\n },\n TranslateTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'ReviewTaskStep',\n },\n },\n },\n ReviewTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'review',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n ClearTranslationsStep: DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS,\n ApplyTmStep: DEFAULT_APPLY_TM_STEP_SETTINGS,\n TranslateTaskStep: DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n ReviewTaskStep: DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: [\n 'TriggerStep',\n 'ClearTranslationsStep',\n 'ApplyTmStep',\n 'TranslateTaskStep',\n 'ReviewTaskStep',\n 'EndStep',\n ],\n}\n","import {\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport { DEFAULT_APPLY_TM_STEP_SETTINGS } from '../../workflow/steps/applyTmStep.js'\nimport { DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS } from '../../workflow/steps/clearTranslationsStep.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const CLEAR_TRANSLATIONS_TM_TRANSLATE_TASK_TEMPLATE: InternalTemplate<\n 'TriggerStep' | 'ClearTranslationsStep' | 'ApplyTmStep' | 'TranslateTaskStep' | 'EndStep'\n> = {\n id: 'clearTranslationsTmTranslateTask',\n title: 'TM • Translation task',\n summary: 'Translate content using TM before creating a translation task.',\n description:\n 'This template sets up a chained workflow that enables the automatic creation of a translation task after applying Translation Memory. This can be used by teams that would like to avoid translating repetitive content that has already been translated in the past.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'ClearTranslationsStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n ClearTranslationsStep: {\n entry: [\n {\n type: 'clearTranslationsAction',\n },\n ],\n on: {\n TranslationsClearedEvent: {\n target: 'ApplyTmStep',\n },\n },\n },\n ApplyTmStep: {\n entry: [\n {\n type: 'applyTmAction',\n },\n ],\n on: {\n TmAppliedEvent: {\n target: 'TranslateTaskStep',\n },\n },\n },\n TranslateTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n ClearTranslationsStep: DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS,\n ApplyTmStep: DEFAULT_APPLY_TM_STEP_SETTINGS,\n TranslateTaskStep: DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: ['TriggerStep', 'ClearTranslationsStep', 'ApplyTmStep', 'TranslateTaskStep', 'EndStep'],\n}\n","import {\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const REVIEW_TASK_TEMPLATE: InternalTemplate<'TriggerStep' | 'ReviewTaskStep' | 'EndStep'> =\n {\n id: 'reviewTask',\n title: 'Review task',\n summary: 'Generate a review task when content is added/updated in the project.',\n description:\n 'Select this workflow to automatically create a review task when the content in the editor meets the conditions set in \"Start\".',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'ReviewTaskStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n ReviewTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'review',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n ReviewTaskStep: DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: ['TriggerStep', 'ReviewTaskStep', 'EndStep'],\n }\n","import {\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const REVIEW_TRANSLATE_REVIEW_TASK_TEMPLATE: InternalTemplate<\n 'TriggerStep' | 'ReviewTaskStep' | 'TranslateTaskStep' | 'SecondReviewTaskStep' | 'EndStep'\n> = {\n id: 'reviewTranslateReviewTask',\n title: 'Review task • Translation task • Review task',\n summary: 'Automatic creation of review tasks before and after a translation task.',\n description:\n 'This template sets up a chained workflow that enables the automatic creation of a review task both before and after translation. This can be used by teams that check the source copy before translation and conduct a review round after translation.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'ReviewTaskStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n ReviewTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'review',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'TranslateTaskStep',\n },\n },\n },\n TranslateTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'SecondReviewTaskStep',\n },\n },\n },\n SecondReviewTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'review',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n ReviewTaskStep: DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n TranslateTaskStep: DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n SecondReviewTaskStep: DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: ['TriggerStep', 'ReviewTaskStep', 'TranslateTaskStep', 'SecondReviewTaskStep', 'EndStep'],\n}\n","import {\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const REVIEW_TRANSLATE_TASK_TEMPLATE: InternalTemplate<\n 'TriggerStep' | 'ReviewTaskStep' | 'TranslateTaskStep' | 'EndStep'\n> = {\n id: 'reviewTranslateTask',\n title: 'Review task • Translation task',\n summary: 'Automatic creation of a review task before a translation task.',\n description:\n 'Use this template to set up a chained workflow where a translation task will be created as soon as the review task is completed.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'ReviewTaskStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n ReviewTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'review',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'TranslateTaskStep',\n },\n },\n },\n TranslateTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n ReviewTaskStep: DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n TranslateTaskStep: DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: ['TriggerStep', 'ReviewTaskStep', 'TranslateTaskStep', 'EndStep'],\n}\n","import {\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const TRANSLATE_AND_REVIEW_TASK_TEMPLATE: InternalTemplate<\n 'TriggerStep' | 'TranslateTaskStep' | 'ReviewTaskStep' | 'EndStep'\n> = {\n id: 'translateAndReviewTask',\n title: 'Translation task • Review task',\n summary: 'Automatic creation of translation task before a review task.',\n description:\n 'Use this template to set up a chained workflow where a review task will be created as soon as the translation task is completed.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'TranslateTaskStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n TranslateTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'ReviewTaskStep',\n },\n },\n },\n ReviewTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'review',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n TranslateTaskStep: DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n ReviewTaskStep: DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: ['TriggerStep', 'TranslateTaskStep', 'ReviewTaskStep', 'EndStep'],\n}\n","import {\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const TRANSLATE_REVIEW_REVIEW_TASK_TEMPLATE: InternalTemplate<\n 'TriggerStep' | 'TranslateTaskStep' | 'ReviewTaskStep' | 'SecondReviewTaskStep' | 'EndStep'\n> = {\n id: 'translateReviewReviewTask',\n title: 'Translation task • Review task • Review task',\n summary: 'Automatic creation of a translation task followed by two review tasks.',\n description:\n 'This template to set up a chained workflow where it enables the automatic creation of two review tasks after translation. This could be used by teams that e.g. have one round of proofreading before stakeholders review it.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'TranslateTaskStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n TranslateTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'ReviewTaskStep',\n },\n },\n },\n ReviewTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'review',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'SecondReviewTaskStep',\n },\n },\n },\n SecondReviewTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'review',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n TranslateTaskStep: DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n ReviewTaskStep: DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n SecondReviewTaskStep: DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: ['TriggerStep', 'TranslateTaskStep', 'ReviewTaskStep', 'SecondReviewTaskStep', 'EndStep'],\n}\n","import {\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const TRANSLATE_TASK_TEMPLATE: InternalTemplate<\n 'TriggerStep' | 'TranslateTaskStep' | 'EndStep'\n> = {\n id: 'translateTask',\n title: 'Translation task',\n summary: 'Generate a translation task when content is added/updated in the project.',\n description:\n 'Select this workflow to automatically create a translation task when the content in the editor meets the conditions set in “Start”.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'TranslateTaskStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n TranslateTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n guard: { type: 'checkClosedTaskId' },\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n TranslateTaskStep: DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: ['TriggerStep', 'TranslateTaskStep', 'EndStep'],\n}\n","import { LayoutTranslator } from '../workflow/LayoutTranslator.js'\nimport { CLEAR_TRANSLATIONS_MT_AI_REVIEW_TASK_TEMPLATE } from './resources/clear-translations-mt-ai-review-task.template.js'\nimport { CLEAR_TRANSLATIONS_MT_AI_TASK_TEMPLATE } from './resources/clear-translations-mt-ai-task.template.js'\nimport { CLEAR_TRANSLATIONS_TM_MT_AI_REVIEW_TASK_TEMPLATE } from './resources/clear-translations-tm-mt-ai-review-task.template.js'\nimport { CLEAR_TRANSLATIONS_TM_MT_AI_TASK_TEMPLATE } from './resources/clear-translations-tm-mt-ai-task.template.js'\nimport { CLEAR_TRANSLATIONS_TM_TEMPLATE } from './resources/clear-translations-tm-templates.js'\nimport { CLEAR_TRANSLATIONS_TM_TRANSLATE_REVIEW_TASK_TEMPLATE } from './resources/clear-translations-tm-translate-review-task-template.js'\nimport { CLEAR_TRANSLATIONS_TM_TRANSLATE_TASK_TEMPLATE } from './resources/clear-translations-tm-translate-task-template.js'\nimport { REVIEW_TASK_TEMPLATE } from './resources/review-task.template.js'\nimport { REVIEW_TRANSLATE_REVIEW_TASK_TEMPLATE } from './resources/review-translate-review-task.template.js'\nimport { REVIEW_TRANSLATE_TASK_TEMPLATE } from './resources/review-translate-task.template.js'\nimport { TRANSLATE_AND_REVIEW_TASK_TEMPLATE } from './resources/translate-and-review-task.template.js'\nimport { TRANSLATE_REVIEW_REVIEW_TASK_TEMPLATE } from './resources/translate-review-review-task.template.js'\nimport { TRANSLATE_TASK_TEMPLATE } from './resources/translate-task.template.js'\nimport type { InternalTemplate, Template } from './types.js'\n\nexport const TEMPLATE_IDS = [\n 'clearTranslationsMtAiTask',\n 'translateTask',\n 'clearTranslationsTm',\n 'clearTranslationsMtAiReviewTask',\n 'clearTranslationsTmMtAiReviewTask',\n 'clearTranslationsTmTranslateTask',\n 'translateAndReviewTask',\n 'clearTranslationsTmTranslateReviewTask',\n 'translateReviewReviewTask',\n 'reviewTask',\n 'reviewTranslateTask',\n 'reviewTranslateReviewTask',\n 'clearTranslationsTmMtAiTask',\n] as const\n\nexport type TemplateId = (typeof TEMPLATE_IDS)[number]\n\nconst buildTemplate = <StateName extends string>(\n internalTemplate: InternalTemplate<StateName>,\n): Template<StateName> => {\n const layoutTranslator = new LayoutTranslator()\n const frontendLayout = layoutTranslator.translateTemplateToFrontendLayout(internalTemplate)\n\n return {\n ...internalTemplate,\n frontendLayout,\n }\n}\n\nexport const TEMPLATES: Record<TemplateId, Template<string>> = {\n clearTranslationsMtAiTask: buildTemplate(CLEAR_TRANSLATIONS_MT_AI_TASK_TEMPLATE),\n translateTask: buildTemplate(TRANSLATE_TASK_TEMPLATE),\n clearTranslationsTm: buildTemplate(CLEAR_TRANSLATIONS_TM_TEMPLATE),\n clearTranslationsMtAiReviewTask: buildTemplate(CLEAR_TRANSLATIONS_MT_AI_REVIEW_TASK_TEMPLATE),\n clearTranslationsTmMtAiReviewTask: buildTemplate(\n CLEAR_TRANSLATIONS_TM_MT_AI_REVIEW_TASK_TEMPLATE,\n ),\n clearTranslationsTmTranslateTask: buildTemplate(CLEAR_TRANSLATIONS_TM_TRANSLATE_TASK_TEMPLATE),\n translateAndReviewTask: buildTemplate(TRANSLATE_AND_REVIEW_TASK_TEMPLATE),\n clearTranslationsTmTranslateReviewTask: buildTemplate(\n CLEAR_TRANSLATIONS_TM_TRANSLATE_REVIEW_TASK_TEMPLATE,\n ),\n translateReviewReviewTask: buildTemplate(TRANSLATE_REVIEW_REVIEW_TASK_TEMPLATE),\n reviewTask: buildTemplate(REVIEW_TASK_TEMPLATE),\n reviewTranslateTask: buildTemplate(REVIEW_TRANSLATE_TASK_TEMPLATE),\n reviewTranslateReviewTask: buildTemplate(REVIEW_TRANSLATE_REVIEW_TASK_TEMPLATE),\n clearTranslationsTmMtAiTask: buildTemplate(CLEAR_TRANSLATIONS_TM_MT_AI_TASK_TEMPLATE),\n}\n"],"mappings":"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","names":["z","_","template","WORKFLOW_LAYOUT_STEP_SETTINGS","z","WORKFLOW_LAYOUT_STEP_SETTINGS","z","WORKFLOW_LAYOUT_STEP_SETTINGS","z","z","WORKFLOW_LAYOUT_STEP_SETTINGS","z","WORKFLOW_LAYOUT_STEP_SETTINGS","z","z","z","z","WORKFLOW_LAYOUT_STEP_SETTINGS","z","WORKFLOW_LAYOUT_STEP_SETTINGS","z","z"]}
|
|
1
|
+
{"version":3,"sources":["../src/apiContract/schemas.ts","../src/workflow/LayoutTranslator.ts","../src/workflow/steps/scheduledTriggerStep.ts","../src/workflow/steps/aiMtTranslationStep.ts","../src/workflow/messages.ts","../src/workflow/steps/applyTmStep.ts","../src/workflow/steps/translateTaskStep.ts","../src/workflow/steps/reviewTaskStep.ts","../src/workflow/steps/clearTranslationsStep.ts","../src/workflow/steps/endStep.ts","../src/workflow/steps.ts","../src/templates/resources/clear-translations-mt-ai-review-task.template.ts","../src/templates/resources/clear-translations-mt-ai-task.template.ts","../src/templates/resources/clear-translations-tm-mt-ai-review-task.template.ts","../src/templates/resources/clear-translations-tm-mt-ai-task.template.ts","../src/templates/resources/clear-translations-tm-templates.ts","../src/templates/resources/clear-translations-tm-translate-review-task-template.ts","../src/templates/resources/clear-translations-tm-translate-task-template.ts","../src/templates/resources/review-task.template.ts","../src/templates/resources/review-translate-review-task.template.ts","../src/templates/resources/review-translate-task.template.ts","../src/templates/resources/translate-and-review-task.template.ts","../src/templates/resources/translate-review-review-task.template.ts","../src/templates/resources/translate-task.template.ts","../src/templates/schemas.ts"],"sourcesContent":["import { COMMON_ERROR_RESPONSE_SCHEMA } from '@lokalise/api-common'\nimport z from 'zod'\nimport { TEMPLATE_IDS } from '../templates/schemas.js'\nimport {\n AI_MT_TRANSLATION_STEP_FORM_SCHEMA,\n AI_MT_TRANSLATION_STEP_SETTINGS_SCHEMA,\n APPLY_TM_STEP_FORM_SCHEMA,\n APPLY_TM_STEP_SETTINGS_SCHEMA,\n CLEAR_TRANSLATIONS_STEP_FORM_SCHEMA,\n CLEAR_TRANSLATIONS_STEP_SETTINGS_SCHEMA,\n END_STEP_FORM_SCHEMA,\n END_STEP_SETTINGS_SCHEMA,\n REVIEW_TASK_STEP_FORM_SCHEMA,\n REVIEW_TASK_STEP_SETTINGS_SCHEMA,\n SCHEDULED_TRIGGER_STEP_FORM_SCHEMA,\n SCHEDULED_TRIGGER_STEP_SETTINGS_SCHEMA,\n STEP_TYPES,\n TRANSLATE_TASK_STEP_FORM_SCHEMA,\n TRANSLATE_TASK_STEP_SETTINGS_SCHEMA,\n} from '../workflow/steps.js'\n\n// COMMON SCHEMAS\nconst MAX_STEP_ID_LENGTH = 100\nconst DATETIME = z.string().datetime()\nconst WORKFLOW_ID = z.string().max(36)\nconst TEMPLATE_ID = z.enum(TEMPLATE_IDS).describe('Template identifier')\nexport const GROUP_ID = z\n .string()\n .regex(/^expert_[^_\\s]+_[^_\\s]+$/, 'Invalid group ID format')\n .max(255)\n .describe(\n 'Group identifier composed by the tenant ID, followed by the owner ID, followed by the project ID. Underscores are used as separators (e.g. `expert_123_98616399660d3c2456abc5.66984240`)',\n )\n\nexport const METADATA_FIELDS = z\n .enum(['targetLanguageIds', 'error'])\n .describe('Metadata fields that can be included in the response')\n\nexport const TRIGGER_TYPE = z.enum(['Manual', 'Scheduled', 'Automated']).describe('Trigger type')\n\nexport const WORKFLOW_STATUS = z\n .enum(['Draft', 'Live', 'Archived', 'Paused', 'Canceled'])\n .describe('Workflow status')\n\nexport const API_ERROR = COMMON_ERROR_RESPONSE_SCHEMA\n\nexport const WORKFLOW_PARAMS = z\n .object({\n groupId: GROUP_ID,\n workflowId: WORKFLOW_ID,\n })\n .describe('URL parameters for getting a workflow')\nexport type WorkflowParams = z.infer<typeof WORKFLOW_PARAMS>\n\nexport const UNSPECIFIED_WORKFLOW_PARAMS = z\n .object({\n groupId: GROUP_ID,\n })\n .describe('URL parameters without workflowId')\nexport type UnspecifiedWorkflowParams = z.infer<typeof UNSPECIFIED_WORKFLOW_PARAMS>\n\n// GET WORKFLOW\nexport const GET_WORKFLOW_PARAMS = WORKFLOW_PARAMS\n\nexport const WORKFLOW = z\n .object({\n id: WORKFLOW_ID,\n version: z.number(),\n status: WORKFLOW_STATUS,\n title: z.string(),\n triggerType: TRIGGER_TYPE,\n targetLanguageIds: z.array(z.string()).optional().nullable(),\n error: COMMON_ERROR_RESPONSE_SCHEMA.optional().nullable(),\n createdAt: DATETIME,\n updatedAt: z.optional(DATETIME).nullable(),\n publishedAt: z.optional(DATETIME).nullable(),\n triggeredAt: z.optional(DATETIME).nullable(),\n metadata: z.optional(z.record(z.unknown())).nullable(),\n })\n .describe('Workflow. Used in the list of workflows')\n\nexport const WORKFLOW_EXTENDED_STEP_SCHEMA = z.discriminatedUnion('type', [\n z.object({\n id: z.string().max(MAX_STEP_ID_LENGTH),\n type: SCHEDULED_TRIGGER_STEP_SETTINGS_SCHEMA.shape.stepType,\n values: SCHEDULED_TRIGGER_STEP_FORM_SCHEMA,\n triggerType: SCHEDULED_TRIGGER_STEP_SETTINGS_SCHEMA.shape.triggerType,\n }),\n z.object({\n id: z.string().max(MAX_STEP_ID_LENGTH),\n type: TRANSLATE_TASK_STEP_SETTINGS_SCHEMA.shape.stepType,\n values: TRANSLATE_TASK_STEP_FORM_SCHEMA,\n taskType: TRANSLATE_TASK_STEP_SETTINGS_SCHEMA.shape.taskType,\n }),\n z.object({\n id: z.string().max(MAX_STEP_ID_LENGTH),\n type: REVIEW_TASK_STEP_SETTINGS_SCHEMA.shape.stepType,\n values: REVIEW_TASK_STEP_FORM_SCHEMA,\n taskType: REVIEW_TASK_STEP_SETTINGS_SCHEMA.shape.taskType,\n }),\n z.object({\n id: z.string().max(MAX_STEP_ID_LENGTH),\n type: APPLY_TM_STEP_SETTINGS_SCHEMA.shape.stepType,\n values: APPLY_TM_STEP_FORM_SCHEMA,\n }),\n z.object({\n id: z.string().max(MAX_STEP_ID_LENGTH),\n type: CLEAR_TRANSLATIONS_STEP_SETTINGS_SCHEMA.shape.stepType,\n values: CLEAR_TRANSLATIONS_STEP_FORM_SCHEMA,\n }),\n z.object({\n id: z.string().max(MAX_STEP_ID_LENGTH),\n type: AI_MT_TRANSLATION_STEP_SETTINGS_SCHEMA.shape.stepType,\n values: AI_MT_TRANSLATION_STEP_FORM_SCHEMA,\n taskType: AI_MT_TRANSLATION_STEP_SETTINGS_SCHEMA.shape.taskType,\n }),\n z.object({\n id: z.string().max(MAX_STEP_ID_LENGTH),\n type: END_STEP_SETTINGS_SCHEMA.shape.stepType,\n values: END_STEP_FORM_SCHEMA,\n }),\n])\n\nexport const WORKFLOW_EXTENDED_SCHEMA = z\n .array(WORKFLOW_EXTENDED_STEP_SCHEMA)\n .describe('Workflow FrontendLayout')\n\nexport const WORKFLOW_EXTENDED = z\n .object({\n id: WORKFLOW_ID,\n groupId: GROUP_ID,\n version: z.number(),\n status: WORKFLOW_STATUS,\n title: z.string(),\n schema: WORKFLOW_EXTENDED_SCHEMA,\n error: COMMON_ERROR_RESPONSE_SCHEMA.optional().nullable(),\n createdAt: DATETIME,\n updatedAt: z.optional(DATETIME),\n publishedAt: z.optional(DATETIME),\n })\n .describe('Workflow. Response for getting a workflow or creating a new one')\n\nexport const WORKFLOW_EXTENDED_SCHEMA_SIMPLIFIED = z\n .array(\n z.object({\n id: z.string().max(100),\n type: z.enum(STEP_TYPES),\n values: z.record(z.string(), z.unknown()),\n triggerType: z.optional(TRIGGER_TYPE),\n taskType: z.optional(z.enum(['translation', 'review'])),\n }),\n )\n .describe(\n 'Simplified schema for the response to be able to return default values to the frontend',\n )\n\nexport const WORKFLOW_EXTENDED_SIMPLIFIED = z\n .object({\n id: WORKFLOW_ID,\n groupId: GROUP_ID,\n version: z.number(),\n status: WORKFLOW_STATUS,\n title: z.string(),\n schema: WORKFLOW_EXTENDED_SCHEMA_SIMPLIFIED,\n error: COMMON_ERROR_RESPONSE_SCHEMA.optional().nullable(),\n createdAt: DATETIME,\n updatedAt: z.optional(DATETIME),\n publishedAt: z.optional(DATETIME),\n })\n .describe(\n 'Simplified schema for the response to be able to return default values to the frontend',\n )\n\nexport type Workflow = z.infer<typeof WORKFLOW>\nexport type WorkflowExtended = z.infer<typeof WORKFLOW_EXTENDED>\nexport type WorkflowExtendedSchema = z.infer<typeof WORKFLOW_EXTENDED_SCHEMA>\n\nexport const GET_WORKFLOW_RESPONSE = z.object({\n data: WORKFLOW_EXTENDED,\n})\n\nexport const GET_WORKFLOW_SIMPLIFIED_RESPONSE = z.object({\n data: WORKFLOW_EXTENDED_SIMPLIFIED,\n})\n\nexport type GetWorkflowParams = z.infer<typeof GET_WORKFLOW_PARAMS>\nexport type GetWorkflowResponse = z.infer<typeof GET_WORKFLOW_RESPONSE>\n\n// LIST WORKFLOWS\nexport const GET_WORKFLOW_LIST_PARAMS = UNSPECIFIED_WORKFLOW_PARAMS\n\nexport const GET_WORKFLOW_LIST_RESPONSE = z.object({\n data: z.array(WORKFLOW),\n})\n\nexport type GetWorkflowListParams = z.infer<typeof GET_WORKFLOW_LIST_PARAMS>\nexport type GetWorkflowListResponse = z.infer<typeof GET_WORKFLOW_LIST_RESPONSE>\n\n// PAUSE WORKFLOW\nexport const PATCH_PAUSE_WORKFLOW_PARAMS = WORKFLOW_PARAMS\n\nexport const PATCH_PAUSE_WORKFLOW_RESPONSE = z.null({\n description: 'Successfully paused workflow',\n})\n\nexport type PatchPauseWorkflowParams = z.infer<typeof PATCH_PAUSE_WORKFLOW_PARAMS>\nexport type PatchPauseWorkflowResponse = z.infer<typeof PATCH_PAUSE_WORKFLOW_RESPONSE>\n\n// RESUME WORKFLOW\nexport const PATCH_RESUME_WORKFLOW_PARAMS = WORKFLOW_PARAMS\n\nexport const PATCH_RESUME_WORKFLOW_BODY = z.object({\n runNow: z.optional(z.boolean()).default(false),\n})\n\nexport const PATCH_RESUME_WORKFLOW_RESPONSE = z.null({\n description: 'Successfully resumed workflow',\n})\n\nexport type PatchResumeWorkflowParams = z.infer<typeof PATCH_RESUME_WORKFLOW_PARAMS>\nexport type PatchResumeWorkflowBody = z.infer<typeof PATCH_RESUME_WORKFLOW_BODY>\nexport type PatchResumeWorkflowResponse = z.infer<typeof PATCH_RESUME_WORKFLOW_RESPONSE>\n\n// DUPLICATE WORKFLOW\nexport const POST_DUPLICATE_WORKFLOW_PARAMS = WORKFLOW_PARAMS\n\nexport const POST_DUPLICATE_WORKFLOW_RESPONSE = GET_WORKFLOW_RESPONSE\n\n// DELETE WORKFLOW\nexport const DELETE_WORKFLOW_PARAMS = WORKFLOW_PARAMS\n\nexport const DELETE_WORKFLOW_RESPONSE = z.null({\n description: 'Successfully deleted workflow',\n})\n\nexport type DeleteWorkflowParams = z.infer<typeof DELETE_WORKFLOW_PARAMS>\nexport type DeleteWorkflowResponse = z.infer<typeof DELETE_WORKFLOW_RESPONSE>\n\n// CREATE WORKFLOW\nexport const POST_WORKFLOW_PARAMS = UNSPECIFIED_WORKFLOW_PARAMS\n\nexport const POST_WORKFLOW_BODY = z\n .nullable(\n z.object({\n templateId: TEMPLATE_ID.optional(),\n }),\n )\n .describe('Parameters for creating a workflow')\n\nexport const POST_WORKFLOW_RESPONSE = z.object({\n data: WORKFLOW_EXTENDED,\n})\n\nexport const POST_WORKFLOW_SIMPLIFIED_RESPONSE = z.object({\n data: WORKFLOW_EXTENDED_SIMPLIFIED,\n})\n\nexport type PostWorkflowParams = z.infer<typeof POST_WORKFLOW_PARAMS>\nexport type PostWorkflowBody = z.infer<typeof POST_WORKFLOW_BODY>\nexport type PostWorkflowResponse = z.infer<typeof POST_WORKFLOW_RESPONSE>\n\n// UPDATE DRAFT\nexport const PUT_WORKFLOW_DRAFT_PARAMS = WORKFLOW_PARAMS\n\nexport const PUT_WORKFLOW_DRAFT_BODY = z\n .object({\n schema: WORKFLOW_EXTENDED_SCHEMA_SIMPLIFIED,\n })\n .describe('Schema with user changes')\n\nexport const PUT_WORKFLOW_DRAFT_RESPONSE = z.null({\n description: 'Successfully updated workflow draft',\n})\n\nexport type PutWorkflowDraftParams = z.infer<typeof PUT_WORKFLOW_DRAFT_PARAMS>\nexport type PutWorkflowDraftBody = z.infer<typeof PUT_WORKFLOW_DRAFT_BODY>\nexport type PutWorkflowDraftResponse = z.infer<typeof PUT_WORKFLOW_DRAFT_RESPONSE>\n\n// PATCH WORKFLOW\nexport const PATCH_WORKFLOW_PARAMS = WORKFLOW_PARAMS\n\nexport const PATCH_WORKFLOW_BODY = z\n .object({\n title: z.string().min(1).max(256),\n })\n .describe('Workflow title')\n\nexport const PATCH_WORKFLOW_RESPONSE = z.null({\n description: 'Successfully updated workflow',\n})\n\nexport type PatchWorkflowParams = z.infer<typeof PATCH_WORKFLOW_PARAMS>\nexport type PatchWorkflowBody = z.infer<typeof PATCH_WORKFLOW_BODY>\nexport type PatchWorkflowResponse = z.infer<typeof PATCH_WORKFLOW_RESPONSE>\n\n// ACTIVATE WORKFLOW\nexport const POST_ACTIVATE_WORKFLOW_PARAMS = WORKFLOW_PARAMS\n\nexport const POST_ACTIVATE_WORKFLOW_BODY = z\n .object({\n runNow: z.optional(z.boolean()),\n schema: WORKFLOW_EXTENDED_SCHEMA,\n })\n .describe(\n 'Schema with user changes. If runNow is true, the workflow will be triggered immediately.',\n )\n\nexport const POST_ACTIVATE_WORKFLOW_RESPONSE = z.null({\n description: 'Successfully activated workflow',\n})\n\nexport type PostActivateWorkflowParams = z.infer<typeof POST_ACTIVATE_WORKFLOW_PARAMS>\nexport type PostActivateWorkflowBody = z.infer<typeof POST_ACTIVATE_WORKFLOW_BODY>\nexport type PostActivateWorkflowResponse = z.infer<typeof POST_ACTIVATE_WORKFLOW_RESPONSE>\n\n// PUT LIVE WORKFLOW\nexport const PUT_LIVE_WORKFLOW_PARAMS = WORKFLOW_PARAMS\n\nexport const PUT_LIVE_WORKFLOW_BODY = z\n .object({\n runNow: z.optional(z.boolean()),\n schema: WORKFLOW_EXTENDED_SCHEMA,\n })\n .describe(\n 'Schema with user changes. If runNow is true, the workflow will be triggered immediately.',\n )\n\nexport const PUT_LIVE_WORKFLOW_RESPONSE = z.null({\n description: 'Successfully updated workflow',\n})\n\nexport type PutLiveWorkflowParams = z.infer<typeof PUT_LIVE_WORKFLOW_PARAMS>\nexport type PutLiveWorkflowBody = z.infer<typeof PUT_LIVE_WORKFLOW_BODY>\nexport type PutLiveWorkflowResponse = z.infer<typeof PUT_LIVE_WORKFLOW_RESPONSE>\n","import type {\n WorkflowLayout,\n WorkflowLayoutStepSettingsList,\n WorkflowLayoutStepTriggerEvent,\n WorkflowMetadata,\n} from '@lokalise/maestro-common'\nimport { areStringArraysEqual } from '@lokalise/universal-ts-utils/array/areStringArraysEqual.js'\nimport type { LayoutTranslatorInterface } from '../../../../src/modules/workflows/interfaces/LayoutTranslatorInterface.js'\nimport { TEMPLATES } from '../templates/schemas.js'\nimport type {\n FrontendLayout,\n InternalTemplate,\n StrictWorkflowLayout,\n StrictWorkflowLayoutSettings,\n StrictWorkflowLayoutStepSettings,\n Template,\n} from '../templates/types.js'\nimport type { ScheduledTriggerStepSettings, StepType } from './steps.js'\n\ntype FrontendStep = {\n id: string\n type: StepType\n values: Record<string, unknown>\n triggerType?: string\n taskType?: string\n}\n\nexport class LayoutTranslator implements LayoutTranslatorInterface {\n public translateTemplateToFrontendLayout<StateName extends string>(\n template: InternalTemplate<StateName>,\n ): FrontendLayout<StateName> {\n return this.buildFrontendLayout<StateName>(template.settings, template.sort)\n }\n\n public translateFrontendLayoutToTemplate<StateName extends string>(\n frontendLayout: FrontendLayout<StateName>,\n ): Pick<InternalTemplate<StateName>, 'layout' | 'settings'> | undefined {\n const template = this.findTemplate(frontendLayout)\n if (!template) {\n return undefined\n }\n\n const layoutSettings = this.buildLayoutSettings<StateName>(frontendLayout)\n\n return {\n layout: template.layout as StrictWorkflowLayout<StateName>,\n settings: layoutSettings,\n }\n }\n\n public buildFrontendLayout<StateName extends string>(\n settings: StrictWorkflowLayoutSettings<StateName>,\n sort: StateName[] = [],\n ): FrontendLayout<StateName> {\n return Object.keys(settings)\n .sort((a, b) => sort.indexOf(a as StateName) - sort.indexOf(b as StateName))\n .map((id) => {\n const { stepType, triggerType, taskType, ...values } = settings[id]\n\n const step = {\n id: id as StateName,\n type: stepType as StepType,\n values,\n triggerType,\n taskType,\n }\n\n return Object.entries(step)\n .filter(([_, value]) => value !== undefined)\n .reduce(\n (acc, [key, value]) => {\n // @ts-ignore\n acc[key] = value\n return acc\n },\n {} as FrontendLayout<StateName>[0],\n )\n })\n }\n\n // Based on the linear layout, return the order of steps\n public getStepSortFromLayout(layout: WorkflowLayout): string[] {\n const sort = [layout.initial]\n let currentState = layout.states[layout.initial]\n\n while (currentState.on) {\n const allEvents: WorkflowLayoutStepTriggerEvent[] = Object.values(currentState.on)\n const event = allEvents.find((evt) => evt.target !== undefined)\n\n if (event === undefined || event.target === undefined) {\n currentState = {\n ...currentState,\n on: undefined,\n }\n continue\n }\n\n sort.push(event.target)\n currentState = layout.states[event.target]\n }\n\n return sort\n }\n\n public buildWorkflowMetadata({\n settings,\n }: Pick<InternalTemplate<string>, 'settings'>): WorkflowMetadata {\n const step = settings.TriggerStep as ScheduledTriggerStepSettings\n\n return {\n triggerType: step.triggerType,\n targetLanguageIds: step.targetLanguageIds.map((id) => id.toString()),\n }\n }\n\n public getTriggerSchedulerExpression(\n settings: WorkflowLayoutStepSettingsList,\n ): string | undefined {\n const step = settings.TriggerStep as ScheduledTriggerStepSettings\n\n if (!step) {\n return undefined\n }\n\n if (step.triggerType === 'Scheduled') {\n return step.scheduleFrequencyExpression ?? undefined\n }\n\n return undefined\n }\n\n public getTriggerSchedulerStartDate(\n settings: WorkflowLayoutStepSettingsList,\n ): string | undefined {\n const step = settings.TriggerStep as ScheduledTriggerStepSettings\n\n if (!step) {\n return undefined\n }\n\n if (step.triggerType === 'Scheduled') {\n return step.scheduleStartingDate\n }\n\n return undefined\n }\n\n buildLayoutSettings<StateName extends string>(\n frontendLayout: FrontendLayout<StateName>,\n ): StrictWorkflowLayoutSettings<StateName> {\n return frontendLayout.reduce(\n (acc, frontendStep: FrontendStep) => {\n const step: StrictWorkflowLayoutStepSettings = {\n ...frontendStep.values,\n stepType: frontendStep.type,\n triggerType: frontendStep.type === 'trigger_step' ? frontendStep.triggerType : undefined,\n taskType:\n frontendStep.type === 'translate_task_step' ||\n frontendStep.type === 'review_task_step' ||\n frontendStep.type === 'ai_mt_translation_step'\n ? frontendStep.taskType\n : undefined,\n }\n acc[frontendStep.id as StateName] = Object.fromEntries(\n Object.entries(step).filter(([_, value]) => value !== undefined),\n ) as StrictWorkflowLayoutStepSettings\n return acc\n },\n {} as Record<StateName, StrictWorkflowLayoutStepSettings>,\n )\n }\n\n findTemplate<StateName extends string>(\n frontendLayout: FrontendLayout<StateName>,\n ): Template<StateName> | undefined {\n const frontendLayoutStepIds = frontendLayout.map((step) => step.id)\n\n const result = Object.entries(TEMPLATES).find(([_, template]) => {\n const templateStepIds = template.frontendLayout.map((step) => step.id)\n return areStringArraysEqual(frontendLayoutStepIds, templateStepIds)\n })\n\n if (!result) {\n return undefined\n }\n\n const [_, template] = result\n\n return template as Template<StateName>\n }\n}\n","import {\n CRON_EXPRESSION_REGEX,\n WORKFLOW_LAYOUT_STEP_SETTINGS,\n type WorkflowLayoutStepSettings,\n} from '@lokalise/maestro-common'\nimport { z } from 'zod'\n\nexport const SCHEDULED_TRIGGER_STEP_FORM_SCHEMA = z.object({\n stepTitle: z.string().trim().min(1),\n scheduleFrequencyExpression: z.string().regex(CRON_EXPRESSION_REGEX),\n scheduleStartingDate: z.string().date(),\n monitoredLanguageId: z.number().min(1).int(),\n targetLanguageIds: z.array(z.number().min(1).int()).min(1),\n monitoredKeyType: z.enum(['new', 'updated', 'both']),\n projectFilterId: z.string().optional().nullable(),\n})\n\nexport type ScheduledTriggerStepForm = z.infer<typeof SCHEDULED_TRIGGER_STEP_FORM_SCHEMA>\n\nexport const SCHEDULED_TRIGGER_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS.merge(\n SCHEDULED_TRIGGER_STEP_FORM_SCHEMA,\n).extend({\n stepType: z.literal('trigger_step'),\n triggerType: z.literal('Scheduled'),\n})\n\nexport type ScheduledTriggerStepSettings = z.infer<typeof SCHEDULED_TRIGGER_STEP_SETTINGS_SCHEMA>\n\nexport const DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS: WorkflowLayoutStepSettings &\n Partial<ScheduledTriggerStepSettings> = {\n stepType: 'trigger_step',\n triggerType: 'Scheduled',\n stepTitle: 'Trigger and scope',\n scheduleFrequencyExpression: '00 09 * * 0,1,2,3,4,5,6',\n scheduleStartingDate: undefined,\n monitoredLanguageId: undefined,\n targetLanguageIds: [],\n monitoredKeyType: 'new',\n projectFilterId: null,\n}\n","import {\n WORKFLOW_LAYOUT_STEP_SETTINGS,\n type WorkflowLayoutStepSettings,\n} from '@lokalise/maestro-common'\nimport { z } from 'zod'\nimport { TRANSLATION_ENGINE } from '../messages.js'\n\nexport const AI_MT_TRANSLATION_STEP_FORM_SCHEMA = z\n .object({\n stepTitle: z.string().min(1),\n translationEngine: TRANSLATION_ENGINE,\n taskTitle: z.string().optional(),\n aiInstructions: z.string().optional(),\n tagKeysAfterClose: z.boolean(),\n tagsToAddAfterClose: z.array(z.string()).optional(),\n customTranslationStatusIds: z.array(z.number()).optional(),\n hasCustomTranslationStatuses: z.boolean(),\n })\n .superRefine(({ tagKeysAfterClose, tagsToAddAfterClose }, context) => {\n if (tagKeysAfterClose && tagsToAddAfterClose?.length === 0) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'At least one tag must be added if \"Tag keys after task is closed\" is checked',\n path: ['tagsToAddAfterClose'],\n })\n }\n if (!tagKeysAfterClose && tagsToAddAfterClose && tagsToAddAfterClose.length > 0) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'One or more tags are set but \"Tag keys after task is closed\" is not checked',\n path: ['tagKeysAfterClose'],\n })\n }\n })\n .superRefine(({ hasCustomTranslationStatuses, customTranslationStatusIds }, context) => {\n if (hasCustomTranslationStatuses && customTranslationStatusIds?.length === 0) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message:\n 'You must select custom statuses if \"Allow assignees to set custom statuses\" is checked',\n path: ['customTranslationStatusIds'],\n })\n }\n if (\n !hasCustomTranslationStatuses &&\n customTranslationStatusIds &&\n customTranslationStatusIds.length > 0\n ) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message:\n 'Custom statuses are set but \"Allow assignees to set custom statuses\" is not checked',\n path: ['hasCustomTranslationStatuses'],\n })\n }\n })\n\nexport type AiMtTranslationStepForm = z.infer<typeof AI_MT_TRANSLATION_STEP_FORM_SCHEMA>\n\nexport const AI_MT_TRANSLATION_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS.merge(\n z.object(AI_MT_TRANSLATION_STEP_FORM_SCHEMA._def.schema._def.schema.shape),\n).extend({\n stepType: z.literal('ai_mt_translation_step'),\n taskType: z.literal('translation'),\n stepTitle: z.string().min(1),\n translationEngine: TRANSLATION_ENGINE,\n taskTitle: z.string().optional(),\n aiInstructions: z.string().optional(),\n tagKeysAfterClose: z.boolean(),\n tagsToAddAfterClose: z.array(z.string()).optional(),\n customTranslationStatusIds: z.array(z.number()).optional(),\n hasCustomTranslationStatuses: z.boolean(),\n})\n\nexport type AiMtTranslationStepSettings = z.infer<typeof AI_MT_TRANSLATION_STEP_SETTINGS_SCHEMA>\n\nexport const DEFAULT_AI_MT_TRANSLATION_STEP_SETTINGS: WorkflowLayoutStepSettings &\n Partial<AiMtTranslationStepSettings> = {\n stepType: 'ai_mt_translation_step',\n stepTitle: 'AI/MT Translation Task',\n taskType: 'translation',\n aiInstructions: undefined,\n translationEngine: undefined,\n taskTitle: undefined,\n tagKeysAfterClose: false,\n tagsToAddAfterClose: [],\n customTranslationStatusIds: [],\n hasCustomTranslationStatuses: false,\n}\n","import { WORKFLOW_LAYOUT_STEP_SETTINGS } from '@lokalise/maestro-common'\nimport { z } from 'zod'\nimport { APPLY_TM_STEP_SETTINGS_SCHEMA } from './steps/applyTmStep.js'\n\nconst TASK_LANGUAGE_ASSIGNEES = z\n .object({\n languageId: z.number(),\n userIds: z.optional(z.array(z.number())),\n userGroupIds: z.optional(z.array(z.number())),\n })\n .refine(({ userIds, userGroupIds }) => userIds !== undefined || userGroupIds !== undefined, {\n message: 'Either users or groups should be specified',\n })\n\nexport const TRANSLATION_ENGINE = z.enum(['ai', 'deepl', 'google'], {\n errorMap: () => ({ message: 'Please choose a translation engine' }),\n})\n\nexport const CREATE_TASK_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS.extend({\n stepType: z.enum(['translate_task_step', 'review_task_step', 'ai_mt_translation_step']),\n stepTitle: z.string().trim().min(1),\n taskType: z.enum(['translation', 'review']),\n taskTitle: z.optional(z.string()).describe('If empty, the workflow title will be used'),\n taskDescription: z\n .optional(z.string())\n .describe('Add a description such as including links to useful resources to assignees.'),\n dueDate: z.optional(z.number().int().min(1).max(365)),\n languageAssignees: z.array(TASK_LANGUAGE_ASSIGNEES).min(1),\n autoCloseItems: z.optional(z.boolean()),\n autoCloseLanguages: z.boolean(),\n autoCloseTask: z.boolean(),\n lockTranslations: z.boolean(),\n hasCustomTranslationStatuses: z.boolean().default(false),\n customTranslationStatusIds: z.array(z.number()).optional(),\n tagKeysAfterClose: z.boolean().default(false),\n tagsToAddAfterClose: z.array(z.string().max(128)).optional(),\n translationEngine: z.optional(TRANSLATION_ENGINE),\n aiInstructions: z.string().optional(),\n})\nexport type CreateTaskStepSettings = z.infer<typeof CREATE_TASK_STEP_SETTINGS_SCHEMA>\n\nexport const CREATE_TASK_MESSAGE_CONTEXT = CREATE_TASK_STEP_SETTINGS_SCHEMA.omit({\n stepType: true,\n stepTitle: true,\n dueDate: true,\n tagKeysAfterClose: true,\n}).extend({\n teamId: z.number(),\n projectId: z.string(),\n dueDate: z.optional(z.date()),\n sourceLanguageId: z.number(),\n keyIds: z.record(z.string(), z.array(z.number())),\n})\nexport type CreateTaskMessageContext = z.infer<typeof CREATE_TASK_MESSAGE_CONTEXT>\n\nexport const APPLY_TM_MESSAGE_CONTEXT = APPLY_TM_STEP_SETTINGS_SCHEMA.omit({\n stepType: true,\n stepTitle: true,\n}).extend({\n teamId: z.string(),\n projectId: z.string(),\n keysByLanguages: z.record(z.string(), z.array(z.number())),\n})\nexport type ApplyTmMessageContext = z.infer<typeof APPLY_TM_MESSAGE_CONTEXT>\n","import {\n WORKFLOW_LAYOUT_STEP_SETTINGS,\n type WorkflowLayoutStepSettings,\n} from '@lokalise/maestro-common'\nimport { z } from 'zod'\n\nexport const APPLY_TM_STEP_FORM_SCHEMA = z.object({\n stepTitle: z.string().trim().min(1),\n threshold: z.number().int().min(1).max(100).default(100),\n})\n\nexport type ApplyTmStepForm = z.infer<typeof APPLY_TM_STEP_FORM_SCHEMA>\n\nexport const APPLY_TM_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS.merge(\n APPLY_TM_STEP_FORM_SCHEMA,\n).extend({\n stepType: z.literal('apply_tm_step'),\n})\n\nexport type ApplyTmStepSettings = z.infer<typeof APPLY_TM_STEP_SETTINGS_SCHEMA>\n\nexport const DEFAULT_APPLY_TM_STEP_SETTINGS: WorkflowLayoutStepSettings &\n Partial<ApplyTmStepSettings> = {\n stepType: 'apply_tm_step',\n stepTitle: 'Apply Translation Memory',\n threshold: 100,\n}\n","import type { WorkflowLayoutStepSettings } from '@lokalise/maestro-common'\nimport { type RefinementCtx, z } from 'zod'\nimport { CREATE_TASK_STEP_SETTINGS_SCHEMA } from '../messages.js'\n\nexport const TRANSLATE_TASK_STEP_FORM_SCHEMA = CREATE_TASK_STEP_SETTINGS_SCHEMA.omit({\n stepType: true,\n taskType: true,\n})\n .superRefine(({ tagKeysAfterClose, tagsToAddAfterClose }, context: RefinementCtx) => {\n if (tagKeysAfterClose && tagsToAddAfterClose?.length === 0) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'At least one tag must be added if \"Tag keys after task is closed\" is checked',\n path: ['tagsToAddAfterClose'],\n })\n }\n if (!tagKeysAfterClose && tagsToAddAfterClose && tagsToAddAfterClose.length > 0) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'One or more tags are set but \"Tag keys after task is closed\" is not checked',\n path: ['tagKeysAfterClose'],\n })\n }\n })\n .superRefine(({ hasCustomTranslationStatuses, customTranslationStatusIds }, context) => {\n if (hasCustomTranslationStatuses && customTranslationStatusIds?.length === 0) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message:\n 'You must select custom statuses if \"Allow assignees to set custom statuses\" is checked',\n path: ['customTranslationStatusIds'],\n })\n }\n if (\n !hasCustomTranslationStatuses &&\n customTranslationStatusIds &&\n customTranslationStatusIds.length > 0\n ) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message:\n 'Custom statuses are set but \"Allow assignees to set custom statuses\" is not checked',\n path: ['hasCustomTranslationStatuses'],\n })\n }\n })\n\nexport type TranslateTaskStepForm = z.infer<typeof TRANSLATE_TASK_STEP_FORM_SCHEMA>\n\nexport const TRANSLATE_TASK_STEP_SETTINGS_SCHEMA = CREATE_TASK_STEP_SETTINGS_SCHEMA.extend({\n stepType: z.literal('translate_task_step'),\n taskType: z.literal('translation'),\n autoCloseItems: z.boolean(),\n})\n\nexport type TranslateTaskStepSettings = z.infer<typeof TRANSLATE_TASK_STEP_SETTINGS_SCHEMA>\n\nexport const DEFAULT_TRANSLATE_TASK_STEP_SETTINGS: WorkflowLayoutStepSettings &\n Partial<TranslateTaskStepSettings> = {\n stepType: 'translate_task_step',\n stepTitle: 'Translation task for contributors',\n taskType: 'translation',\n taskTitle: undefined,\n taskDescription: undefined,\n dueDate: undefined,\n languageAssignees: [],\n autoCloseItems: false,\n autoCloseLanguages: false,\n autoCloseTask: true,\n lockTranslations: false,\n hasCustomTranslationStatuses: false,\n customTranslationStatusIds: [],\n tagKeysAfterClose: false,\n tagsToAddAfterClose: [],\n}\n","import type { WorkflowLayoutStepSettings } from '@lokalise/maestro-common'\nimport { type RefinementCtx, z } from 'zod'\nimport { CREATE_TASK_STEP_SETTINGS_SCHEMA } from '../messages.js'\n\nexport const REVIEW_TASK_STEP_FORM_SCHEMA = CREATE_TASK_STEP_SETTINGS_SCHEMA.omit({\n stepType: true,\n taskType: true,\n})\n .superRefine(({ tagKeysAfterClose, tagsToAddAfterClose }, context: RefinementCtx) => {\n if (tagKeysAfterClose && tagsToAddAfterClose?.length === 0) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'At least one tag must be added if \"Tag keys after task is closed\" is checked',\n path: ['tagsToAddAfterClose'],\n })\n }\n if (!tagKeysAfterClose && tagsToAddAfterClose && tagsToAddAfterClose.length > 0) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'One or more tags are set but \"Tag keys after task is closed\" is not checked',\n path: ['tagKeysAfterClose'],\n })\n }\n })\n .superRefine(({ hasCustomTranslationStatuses, customTranslationStatusIds }, context) => {\n if (hasCustomTranslationStatuses && customTranslationStatusIds?.length === 0) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message:\n 'You must select custom statuses if \"Allow assignees to set custom statuses\" is checked',\n path: ['customTranslationStatusIds'],\n })\n }\n if (\n !hasCustomTranslationStatuses &&\n customTranslationStatusIds &&\n customTranslationStatusIds.length > 0\n ) {\n context.addIssue({\n code: z.ZodIssueCode.custom,\n message:\n 'Custom statuses are set but \"Allow assignees to set custom statuses\" is not checked',\n path: ['hasCustomTranslationStatuses'],\n })\n }\n })\n\nexport type ReviewTaskStepForm = z.infer<typeof REVIEW_TASK_STEP_FORM_SCHEMA>\n\nexport const REVIEW_TASK_STEP_SETTINGS_SCHEMA = CREATE_TASK_STEP_SETTINGS_SCHEMA.omit({\n autoCloseItems: true,\n}).extend({\n stepType: z.literal('review_task_step'),\n taskType: z.literal('review'),\n})\n\nexport type ReviewTaskStepSettings = z.infer<typeof REVIEW_TASK_STEP_SETTINGS_SCHEMA>\n\nexport const DEFAULT_REVIEW_TASK_STEP_SETTINGS: WorkflowLayoutStepSettings &\n Partial<ReviewTaskStepSettings> = {\n stepType: 'review_task_step',\n stepTitle: 'Review task for contributors',\n taskType: 'review',\n taskTitle: undefined,\n taskDescription: undefined,\n dueDate: undefined,\n languageAssignees: [],\n autoCloseLanguages: false,\n autoCloseTask: true,\n lockTranslations: false,\n hasCustomTranslationStatuses: false,\n customTranslationStatusIds: [],\n tagKeysAfterClose: false,\n tagsToAddAfterClose: [],\n}\n","import {\n WORKFLOW_LAYOUT_STEP_SETTINGS,\n type WorkflowLayoutStepSettings,\n} from '@lokalise/maestro-common'\nimport { z } from 'zod'\n\nexport const CLEAR_TRANSLATIONS_STEP_FORM_SCHEMA = z.object({})\nexport type ClearTranslationsStepForm = z.infer<typeof CLEAR_TRANSLATIONS_STEP_FORM_SCHEMA>\n\nexport const CLEAR_TRANSLATIONS_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS.merge(\n CLEAR_TRANSLATIONS_STEP_FORM_SCHEMA,\n).extend({\n stepType: z.literal('clear_translations_step'),\n})\nexport type ClearTranslationsStepSettings = z.infer<typeof CLEAR_TRANSLATIONS_STEP_SETTINGS_SCHEMA>\n\nexport const DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS: WorkflowLayoutStepSettings &\n ClearTranslationsStepSettings = {\n stepType: 'clear_translations_step',\n}\n","import {\n WORKFLOW_LAYOUT_STEP_SETTINGS,\n type WorkflowLayoutStepSettings,\n} from '@lokalise/maestro-common'\nimport { z } from 'zod'\n\nexport const END_STEP_FORM_SCHEMA = z.object({})\nexport type EndStepForm = z.infer<typeof END_STEP_FORM_SCHEMA>\n\nexport const END_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS.merge(\n END_STEP_FORM_SCHEMA,\n).extend({\n stepType: z.literal('end_step'),\n})\nexport type EndStepSettings = z.infer<typeof END_STEP_SETTINGS_SCHEMA>\n\nexport const DEFAULT_END_STEP_SETTINGS: WorkflowLayoutStepSettings & EndStepSettings = {\n stepType: 'end_step',\n}\n","export {\n SCHEDULED_TRIGGER_STEP_FORM_SCHEMA,\n SCHEDULED_TRIGGER_STEP_SETTINGS_SCHEMA,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n} from './steps/scheduledTriggerStep.js'\nexport type {\n ScheduledTriggerStepForm,\n ScheduledTriggerStepSettings,\n} from './steps/scheduledTriggerStep.js'\n\nexport {\n AI_MT_TRANSLATION_STEP_FORM_SCHEMA,\n AI_MT_TRANSLATION_STEP_SETTINGS_SCHEMA,\n DEFAULT_AI_MT_TRANSLATION_STEP_SETTINGS,\n} from './steps/aiMtTranslationStep.js'\nexport type {\n AiMtTranslationStepForm,\n AiMtTranslationStepSettings,\n} from './steps/aiMtTranslationStep.js'\n\nexport {\n TRANSLATE_TASK_STEP_FORM_SCHEMA,\n TRANSLATE_TASK_STEP_SETTINGS_SCHEMA,\n DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n} from './steps/translateTaskStep.js'\nexport type {\n TranslateTaskStepForm,\n TranslateTaskStepSettings,\n} from './steps/translateTaskStep.js'\nexport {\n REVIEW_TASK_STEP_FORM_SCHEMA,\n REVIEW_TASK_STEP_SETTINGS_SCHEMA,\n DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n} from './steps/reviewTaskStep.js'\nexport type {\n ReviewTaskStepForm,\n ReviewTaskStepSettings,\n} from './steps/reviewTaskStep.js'\nexport {\n CLEAR_TRANSLATIONS_STEP_FORM_SCHEMA,\n CLEAR_TRANSLATIONS_STEP_SETTINGS_SCHEMA,\n DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS,\n type ClearTranslationsStepForm,\n type ClearTranslationsStepSettings,\n} from './steps/clearTranslationsStep.js'\nexport {\n APPLY_TM_STEP_FORM_SCHEMA,\n APPLY_TM_STEP_SETTINGS_SCHEMA,\n DEFAULT_APPLY_TM_STEP_SETTINGS,\n type ApplyTmStepForm,\n type ApplyTmStepSettings,\n} from './steps/applyTmStep.js'\nexport {\n END_STEP_FORM_SCHEMA,\n END_STEP_SETTINGS_SCHEMA,\n DEFAULT_END_STEP_SETTINGS,\n} from './steps/endStep.js'\nexport type { EndStepForm, EndStepSettings } from './steps/endStep.js'\n\nexport const STEP_TYPES = [\n 'trigger_step',\n 'review_task_step',\n 'translate_task_step',\n 'clear_translations_step',\n 'apply_tm_step',\n 'end_step',\n 'ai_mt_translation_step',\n] as const\nexport type StepType = (typeof STEP_TYPES)[number]\n","import {\n DEFAULT_AI_MT_TRANSLATION_STEP_SETTINGS,\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport { DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS } from '../../workflow/steps/clearTranslationsStep.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const CLEAR_TRANSLATIONS_MT_AI_REVIEW_TASK_TEMPLATE: InternalTemplate<\n 'TriggerStep' | 'ClearTranslationsStep' | 'AiMtTranslationStep' | 'ReviewTaskStep' | 'EndStep'\n> = {\n id: 'clearTranslationsMtAiReviewTask',\n title: 'AI/MT • Review task',\n summary:\n 'Apply AI/MT translation after clearing existing translations, and then create a review task.',\n description:\n 'This template sets up a workflow that clears existing translations, applies AI/MT translation, and creates a review task for human verification.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'ClearTranslationsStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n ClearTranslationsStep: {\n entry: [\n {\n type: 'clearTranslationsAction',\n },\n ],\n on: {\n TranslationsClearedEvent: {\n target: 'AiMtTranslationStep',\n },\n },\n },\n AiMtTranslationStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'ai_mt_translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskSkippedEvent: {\n target: 'ReviewTaskStep',\n },\n TaskClosedEvent: {\n target: 'ReviewTaskStep',\n },\n },\n },\n ReviewTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'review',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n ClearTranslationsStep: DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS,\n AiMtTranslationStep: DEFAULT_AI_MT_TRANSLATION_STEP_SETTINGS,\n ReviewTaskStep: DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: [\n 'TriggerStep',\n 'ClearTranslationsStep',\n 'AiMtTranslationStep',\n 'ReviewTaskStep',\n 'EndStep',\n ],\n}\n","import {\n DEFAULT_AI_MT_TRANSLATION_STEP_SETTINGS,\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport { DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS } from '../../workflow/steps/clearTranslationsStep.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const CLEAR_TRANSLATIONS_MT_AI_TASK_TEMPLATE: InternalTemplate<\n 'TriggerStep' | 'ClearTranslationsStep' | 'AiMtTranslationStep' | 'EndStep'\n> = {\n id: 'clearTranslationsMtAiTask',\n title: 'AI/MT (AI/Machine translation)',\n summary: 'Apply AI/MT translation after clearing existing translations.',\n description:\n 'This template sets up a workflow that first clears existing translations and then applies AI/MT translation.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'ClearTranslationsStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n ClearTranslationsStep: {\n entry: [\n {\n type: 'clearTranslationsAction',\n },\n ],\n on: {\n TranslationsClearedEvent: {\n target: 'AiMtTranslationStep',\n },\n },\n },\n AiMtTranslationStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'ai_mt_translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskSkippedEvent: {\n target: 'EndStep',\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n ClearTranslationsStep: DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS,\n AiMtTranslationStep: DEFAULT_AI_MT_TRANSLATION_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: ['TriggerStep', 'ClearTranslationsStep', 'AiMtTranslationStep', 'EndStep'],\n}\n","import {\n DEFAULT_AI_MT_TRANSLATION_STEP_SETTINGS,\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport { DEFAULT_APPLY_TM_STEP_SETTINGS } from '../../workflow/steps/applyTmStep.js'\nimport { DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS } from '../../workflow/steps/clearTranslationsStep.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const CLEAR_TRANSLATIONS_TM_MT_AI_REVIEW_TASK_TEMPLATE: InternalTemplate<\n | 'TriggerStep'\n | 'ClearTranslationsStep'\n | 'ApplyTmStep'\n | 'AiMtTranslationStep'\n | 'ReviewTaskStep'\n | 'EndStep'\n> = {\n id: 'clearTranslationsTmMtAiReviewTask',\n title: 'TM • AI/MT • Review task',\n summary:\n 'Translate content using Translation Memory, apply AI/MT translation for the rest, and then create a review task',\n description:\n 'This template sets up a workflow that clears existing translations, applies Translation Memory, then AI/MT translation, and creates a review task for human verification.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'ClearTranslationsStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n ClearTranslationsStep: {\n entry: [\n {\n type: 'clearTranslationsAction',\n },\n ],\n on: {\n TranslationsClearedEvent: {\n target: 'ApplyTmStep',\n },\n },\n },\n ApplyTmStep: {\n entry: [\n {\n type: 'applyTmAction',\n },\n ],\n on: {\n TmAppliedEvent: {\n target: 'AiMtTranslationStep',\n },\n },\n },\n AiMtTranslationStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'ai_mt_translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskSkippedEvent: {\n target: 'ReviewTaskStep',\n },\n TaskClosedEvent: {\n target: 'ReviewTaskStep',\n },\n },\n },\n ReviewTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'review',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n ClearTranslationsStep: DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS,\n ApplyTmStep: DEFAULT_APPLY_TM_STEP_SETTINGS,\n AiMtTranslationStep: DEFAULT_AI_MT_TRANSLATION_STEP_SETTINGS,\n ReviewTaskStep: DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: [\n 'TriggerStep',\n 'ClearTranslationsStep',\n 'ApplyTmStep',\n 'AiMtTranslationStep',\n 'ReviewTaskStep',\n 'EndStep',\n ],\n}\n","import {\n DEFAULT_AI_MT_TRANSLATION_STEP_SETTINGS,\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport { DEFAULT_APPLY_TM_STEP_SETTINGS } from '../../workflow/steps/applyTmStep.js'\nimport { DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS } from '../../workflow/steps/clearTranslationsStep.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const CLEAR_TRANSLATIONS_TM_MT_AI_TASK_TEMPLATE: InternalTemplate<\n 'TriggerStep' | 'ClearTranslationsStep' | 'ApplyTmStep' | 'AiMtTranslationStep' | 'EndStep'\n> = {\n id: 'clearTranslationsTmMtAiTask',\n title: 'TM • AI/MT',\n summary: 'Translate content using Translation Memory, apply AI/MT translation for the rest',\n description:\n 'This template sets up a workflow that clears existing translations, applies Translation Memory, then AI/MT translation.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'ClearTranslationsStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n ClearTranslationsStep: {\n entry: [\n {\n type: 'clearTranslationsAction',\n },\n ],\n on: {\n TranslationsClearedEvent: {\n target: 'ApplyTmStep',\n },\n },\n },\n ApplyTmStep: {\n entry: [\n {\n type: 'applyTmAction',\n },\n ],\n on: {\n TmAppliedEvent: {\n target: 'AiMtTranslationStep',\n },\n },\n },\n AiMtTranslationStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'ai_mt_translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskSkippedEvent: {\n target: 'EndStep',\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n ClearTranslationsStep: DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS,\n ApplyTmStep: DEFAULT_APPLY_TM_STEP_SETTINGS,\n AiMtTranslationStep: DEFAULT_AI_MT_TRANSLATION_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: ['TriggerStep', 'ClearTranslationsStep', 'ApplyTmStep', 'AiMtTranslationStep', 'EndStep'],\n}\n","import {\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport { DEFAULT_APPLY_TM_STEP_SETTINGS } from '../../workflow/steps/applyTmStep.js'\nimport { DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS } from '../../workflow/steps/clearTranslationsStep.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const CLEAR_TRANSLATIONS_TM_TEMPLATE: InternalTemplate<\n 'TriggerStep' | 'ClearTranslationsStep' | 'ApplyTmStep' | 'EndStep'\n> = {\n id: 'clearTranslationsTm',\n title: 'TM (Translation Memory)',\n summary:\n 'Translate content using Translation Memory when content is added/updated in the project.',\n description:\n 'Select this workflow to automatically generate a translation using Translation Memory when the content in the editor meets the conditions set in “Start”.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'ClearTranslationsStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n ClearTranslationsStep: {\n entry: [\n {\n type: 'clearTranslationsAction',\n },\n ],\n on: {\n TranslationsClearedEvent: {\n target: 'ApplyTmStep',\n },\n },\n },\n ApplyTmStep: {\n entry: [\n {\n type: 'applyTmAction',\n },\n ],\n on: {\n TmAppliedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n ClearTranslationsStep: DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS,\n ApplyTmStep: DEFAULT_APPLY_TM_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: ['TriggerStep', 'ClearTranslationsStep', 'ApplyTmStep', 'EndStep'],\n}\n","import {\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport { DEFAULT_APPLY_TM_STEP_SETTINGS } from '../../workflow/steps/applyTmStep.js'\nimport { DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS } from '../../workflow/steps/clearTranslationsStep.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const CLEAR_TRANSLATIONS_TM_TRANSLATE_REVIEW_TASK_TEMPLATE: InternalTemplate<\n | 'TriggerStep'\n | 'ClearTranslationsStep'\n | 'ApplyTmStep'\n | 'TranslateTaskStep'\n | 'ReviewTaskStep'\n | 'EndStep'\n> = {\n id: 'clearTranslationsTmTranslateReviewTask',\n title: 'TM • Translation task • Review task',\n summary: 'Translate content using TM before creating translation and review tasks.',\n description:\n 'This template sets up a chained workflow that enables the automatic creation of a translation task, and subsequently a review task, after applying Translation Memory. This can be used by teams that would like to avoid translating repetitive content that has already been translated in the past.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'ClearTranslationsStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n ClearTranslationsStep: {\n entry: [\n {\n type: 'clearTranslationsAction',\n },\n ],\n on: {\n TranslationsClearedEvent: {\n target: 'ApplyTmStep',\n },\n },\n },\n ApplyTmStep: {\n entry: [\n {\n type: 'applyTmAction',\n },\n ],\n on: {\n TmAppliedEvent: {\n target: 'TranslateTaskStep',\n },\n },\n },\n TranslateTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'ReviewTaskStep',\n },\n },\n },\n ReviewTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'review',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n ClearTranslationsStep: DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS,\n ApplyTmStep: DEFAULT_APPLY_TM_STEP_SETTINGS,\n TranslateTaskStep: DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n ReviewTaskStep: DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: [\n 'TriggerStep',\n 'ClearTranslationsStep',\n 'ApplyTmStep',\n 'TranslateTaskStep',\n 'ReviewTaskStep',\n 'EndStep',\n ],\n}\n","import {\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport { DEFAULT_APPLY_TM_STEP_SETTINGS } from '../../workflow/steps/applyTmStep.js'\nimport { DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS } from '../../workflow/steps/clearTranslationsStep.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const CLEAR_TRANSLATIONS_TM_TRANSLATE_TASK_TEMPLATE: InternalTemplate<\n 'TriggerStep' | 'ClearTranslationsStep' | 'ApplyTmStep' | 'TranslateTaskStep' | 'EndStep'\n> = {\n id: 'clearTranslationsTmTranslateTask',\n title: 'TM • Translation task',\n summary: 'Translate content using TM before creating a translation task.',\n description:\n 'This template sets up a chained workflow that enables the automatic creation of a translation task after applying Translation Memory. This can be used by teams that would like to avoid translating repetitive content that has already been translated in the past.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'ClearTranslationsStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n ClearTranslationsStep: {\n entry: [\n {\n type: 'clearTranslationsAction',\n },\n ],\n on: {\n TranslationsClearedEvent: {\n target: 'ApplyTmStep',\n },\n },\n },\n ApplyTmStep: {\n entry: [\n {\n type: 'applyTmAction',\n },\n ],\n on: {\n TmAppliedEvent: {\n target: 'TranslateTaskStep',\n },\n },\n },\n TranslateTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n ClearTranslationsStep: DEFAULT_CLEAR_TRANSLATIONS_STEP_SETTINGS,\n ApplyTmStep: DEFAULT_APPLY_TM_STEP_SETTINGS,\n TranslateTaskStep: DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: ['TriggerStep', 'ClearTranslationsStep', 'ApplyTmStep', 'TranslateTaskStep', 'EndStep'],\n}\n","import {\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const REVIEW_TASK_TEMPLATE: InternalTemplate<'TriggerStep' | 'ReviewTaskStep' | 'EndStep'> =\n {\n id: 'reviewTask',\n title: 'Review task',\n summary: 'Generate a review task when content is added/updated in the project.',\n description:\n 'Select this workflow to automatically create a review task when the content in the editor meets the conditions set in \"Start\".',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'ReviewTaskStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n ReviewTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'review',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n ReviewTaskStep: DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: ['TriggerStep', 'ReviewTaskStep', 'EndStep'],\n }\n","import {\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const REVIEW_TRANSLATE_REVIEW_TASK_TEMPLATE: InternalTemplate<\n 'TriggerStep' | 'ReviewTaskStep' | 'TranslateTaskStep' | 'SecondReviewTaskStep' | 'EndStep'\n> = {\n id: 'reviewTranslateReviewTask',\n title: 'Review task • Translation task • Review task',\n summary: 'Automatic creation of review tasks before and after a translation task.',\n description:\n 'This template sets up a chained workflow that enables the automatic creation of a review task both before and after translation. This can be used by teams that check the source copy before translation and conduct a review round after translation.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'ReviewTaskStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n ReviewTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'review',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'TranslateTaskStep',\n },\n },\n },\n TranslateTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'SecondReviewTaskStep',\n },\n },\n },\n SecondReviewTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'review',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n ReviewTaskStep: DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n TranslateTaskStep: DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n SecondReviewTaskStep: DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: ['TriggerStep', 'ReviewTaskStep', 'TranslateTaskStep', 'SecondReviewTaskStep', 'EndStep'],\n}\n","import {\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const REVIEW_TRANSLATE_TASK_TEMPLATE: InternalTemplate<\n 'TriggerStep' | 'ReviewTaskStep' | 'TranslateTaskStep' | 'EndStep'\n> = {\n id: 'reviewTranslateTask',\n title: 'Review task • Translation task',\n summary: 'Automatic creation of a review task before a translation task.',\n description:\n 'Use this template to set up a chained workflow where a translation task will be created as soon as the review task is completed.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'ReviewTaskStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n ReviewTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'review',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'TranslateTaskStep',\n },\n },\n },\n TranslateTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n ReviewTaskStep: DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n TranslateTaskStep: DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: ['TriggerStep', 'ReviewTaskStep', 'TranslateTaskStep', 'EndStep'],\n}\n","import {\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const TRANSLATE_AND_REVIEW_TASK_TEMPLATE: InternalTemplate<\n 'TriggerStep' | 'TranslateTaskStep' | 'ReviewTaskStep' | 'EndStep'\n> = {\n id: 'translateAndReviewTask',\n title: 'Translation task • Review task',\n summary: 'Automatic creation of translation task before a review task.',\n description:\n 'Use this template to set up a chained workflow where a review task will be created as soon as the translation task is completed.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'TranslateTaskStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n TranslateTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'ReviewTaskStep',\n },\n },\n },\n ReviewTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'review',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n TranslateTaskStep: DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n ReviewTaskStep: DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: ['TriggerStep', 'TranslateTaskStep', 'ReviewTaskStep', 'EndStep'],\n}\n","import {\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const TRANSLATE_REVIEW_REVIEW_TASK_TEMPLATE: InternalTemplate<\n 'TriggerStep' | 'TranslateTaskStep' | 'ReviewTaskStep' | 'SecondReviewTaskStep' | 'EndStep'\n> = {\n id: 'translateReviewReviewTask',\n title: 'Translation task • Review task • Review task',\n summary: 'Automatic creation of a translation task followed by two review tasks.',\n description:\n 'This template to set up a chained workflow where it enables the automatic creation of two review tasks after translation. This could be used by teams that e.g. have one round of proofreading before stakeholders review it.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'TranslateTaskStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n TranslateTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'ReviewTaskStep',\n },\n },\n },\n ReviewTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'review',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'SecondReviewTaskStep',\n },\n },\n },\n SecondReviewTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'review',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n TranslateTaskStep: DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n ReviewTaskStep: DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n SecondReviewTaskStep: DEFAULT_REVIEW_TASK_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: ['TriggerStep', 'TranslateTaskStep', 'ReviewTaskStep', 'SecondReviewTaskStep', 'EndStep'],\n}\n","import {\n DEFAULT_END_STEP_SETTINGS,\n DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n} from '../../workflow/steps.js'\nimport type { InternalTemplate } from '../types.js'\n\nexport const TRANSLATE_TASK_TEMPLATE: InternalTemplate<\n 'TriggerStep' | 'TranslateTaskStep' | 'EndStep'\n> = {\n id: 'translateTask',\n title: 'Translation task',\n summary: 'Generate a translation task when content is added/updated in the project.',\n description:\n 'Select this workflow to automatically create a translation task when the content in the editor meets the conditions set in “Start”.',\n layout: {\n initial: 'TriggerStep',\n states: {\n TriggerStep: {\n on: {\n WorkflowTriggerEvent: {\n target: 'TranslateTaskStep',\n actions: [{ type: 'storeWorkflowTriggerEventScope' }],\n },\n },\n },\n TranslateTaskStep: {\n entry: [\n {\n type: 'createTaskAction',\n params: {\n type: 'translation',\n },\n },\n ],\n on: {\n TaskCreatedEvent: {\n actions: [{ type: 'storeCreatedTaskId' }],\n },\n TaskClosedEvent: {\n guard: { type: 'checkClosedTaskId' },\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS,\n TranslateTaskStep: DEFAULT_TRANSLATE_TASK_STEP_SETTINGS,\n EndStep: DEFAULT_END_STEP_SETTINGS,\n },\n sort: ['TriggerStep', 'TranslateTaskStep', 'EndStep'],\n}\n","import { LayoutTranslator } from '../workflow/LayoutTranslator.js'\nimport { CLEAR_TRANSLATIONS_MT_AI_REVIEW_TASK_TEMPLATE } from './resources/clear-translations-mt-ai-review-task.template.js'\nimport { CLEAR_TRANSLATIONS_MT_AI_TASK_TEMPLATE } from './resources/clear-translations-mt-ai-task.template.js'\nimport { CLEAR_TRANSLATIONS_TM_MT_AI_REVIEW_TASK_TEMPLATE } from './resources/clear-translations-tm-mt-ai-review-task.template.js'\nimport { CLEAR_TRANSLATIONS_TM_MT_AI_TASK_TEMPLATE } from './resources/clear-translations-tm-mt-ai-task.template.js'\nimport { CLEAR_TRANSLATIONS_TM_TEMPLATE } from './resources/clear-translations-tm-templates.js'\nimport { CLEAR_TRANSLATIONS_TM_TRANSLATE_REVIEW_TASK_TEMPLATE } from './resources/clear-translations-tm-translate-review-task-template.js'\nimport { CLEAR_TRANSLATIONS_TM_TRANSLATE_TASK_TEMPLATE } from './resources/clear-translations-tm-translate-task-template.js'\nimport { REVIEW_TASK_TEMPLATE } from './resources/review-task.template.js'\nimport { REVIEW_TRANSLATE_REVIEW_TASK_TEMPLATE } from './resources/review-translate-review-task.template.js'\nimport { REVIEW_TRANSLATE_TASK_TEMPLATE } from './resources/review-translate-task.template.js'\nimport { TRANSLATE_AND_REVIEW_TASK_TEMPLATE } from './resources/translate-and-review-task.template.js'\nimport { TRANSLATE_REVIEW_REVIEW_TASK_TEMPLATE } from './resources/translate-review-review-task.template.js'\nimport { TRANSLATE_TASK_TEMPLATE } from './resources/translate-task.template.js'\nimport type { InternalTemplate, Template } from './types.js'\n\nexport const TEMPLATE_IDS = [\n 'clearTranslationsMtAiTask',\n 'translateTask',\n 'clearTranslationsTm',\n 'clearTranslationsMtAiReviewTask',\n 'clearTranslationsTmMtAiTask',\n 'clearTranslationsTmMtAiReviewTask',\n 'clearTranslationsTmTranslateTask',\n 'translateAndReviewTask',\n 'clearTranslationsTmTranslateReviewTask',\n 'translateReviewReviewTask',\n 'reviewTask',\n 'reviewTranslateTask',\n 'reviewTranslateReviewTask',\n] as const\n\nexport type TemplateId = (typeof TEMPLATE_IDS)[number]\n\nconst buildTemplate = <StateName extends string>(\n internalTemplate: InternalTemplate<StateName>,\n): Template<StateName> => {\n const layoutTranslator = new LayoutTranslator()\n const frontendLayout = layoutTranslator.translateTemplateToFrontendLayout(internalTemplate)\n\n return {\n ...internalTemplate,\n frontendLayout,\n }\n}\n\nexport const TEMPLATES: Record<TemplateId, Template<string>> = {\n clearTranslationsMtAiTask: buildTemplate(CLEAR_TRANSLATIONS_MT_AI_TASK_TEMPLATE),\n translateTask: buildTemplate(TRANSLATE_TASK_TEMPLATE),\n clearTranslationsTm: buildTemplate(CLEAR_TRANSLATIONS_TM_TEMPLATE),\n clearTranslationsMtAiReviewTask: buildTemplate(CLEAR_TRANSLATIONS_MT_AI_REVIEW_TASK_TEMPLATE),\n clearTranslationsTmMtAiTask: buildTemplate(CLEAR_TRANSLATIONS_TM_MT_AI_TASK_TEMPLATE),\n clearTranslationsTmMtAiReviewTask: buildTemplate(\n CLEAR_TRANSLATIONS_TM_MT_AI_REVIEW_TASK_TEMPLATE,\n ),\n clearTranslationsTmTranslateTask: buildTemplate(CLEAR_TRANSLATIONS_TM_TRANSLATE_TASK_TEMPLATE),\n translateAndReviewTask: buildTemplate(TRANSLATE_AND_REVIEW_TASK_TEMPLATE),\n clearTranslationsTmTranslateReviewTask: buildTemplate(\n CLEAR_TRANSLATIONS_TM_TRANSLATE_REVIEW_TASK_TEMPLATE,\n ),\n translateReviewReviewTask: buildTemplate(TRANSLATE_REVIEW_REVIEW_TASK_TEMPLATE),\n reviewTask: buildTemplate(REVIEW_TASK_TEMPLATE),\n reviewTranslateTask: buildTemplate(REVIEW_TRANSLATE_TASK_TEMPLATE),\n reviewTranslateReviewTask: buildTemplate(REVIEW_TRANSLATE_REVIEW_TASK_TEMPLATE),\n}\n"],"mappings":"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","names":["z","_","template","WORKFLOW_LAYOUT_STEP_SETTINGS","z","WORKFLOW_LAYOUT_STEP_SETTINGS","z","WORKFLOW_LAYOUT_STEP_SETTINGS","z","z","WORKFLOW_LAYOUT_STEP_SETTINGS","z","WORKFLOW_LAYOUT_STEP_SETTINGS","z","z","z","z","WORKFLOW_LAYOUT_STEP_SETTINGS","z","WORKFLOW_LAYOUT_STEP_SETTINGS","z","z"]}
|
package/package.json
CHANGED