@lokalise/maestro-expert-tenant-lib 1.4.0 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +57 -9
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +30 -22
- package/dist/index.d.ts +30 -22
- package/dist/index.mjs +56 -9
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -3
package/dist/index.cjs
CHANGED
|
@@ -42,6 +42,7 @@ __export(maestro_expert_tenant_lib_exports, {
|
|
|
42
42
|
GET_WORKFLOW_LIST_RESPONSE: () => GET_WORKFLOW_LIST_RESPONSE,
|
|
43
43
|
GET_WORKFLOW_PARAMS: () => GET_WORKFLOW_PARAMS,
|
|
44
44
|
GET_WORKFLOW_RESPONSE: () => GET_WORKFLOW_RESPONSE,
|
|
45
|
+
LayoutTranslator: () => LayoutTranslator,
|
|
45
46
|
METADATA_FIELDS: () => METADATA_FIELDS,
|
|
46
47
|
PATCH_PAUSE_WORKFLOW_PARAMS: () => PATCH_PAUSE_WORKFLOW_PARAMS,
|
|
47
48
|
PATCH_PAUSE_WORKFLOW_RESPONSE: () => PATCH_PAUSE_WORKFLOW_RESPONSE,
|
|
@@ -73,6 +74,59 @@ module.exports = __toCommonJS(maestro_expert_tenant_lib_exports);
|
|
|
73
74
|
var import_api_common = require("@lokalise/api-common");
|
|
74
75
|
var import_zod2 = __toESM(require("zod"), 1);
|
|
75
76
|
|
|
77
|
+
// src/workflow/LayoutTranslator.ts
|
|
78
|
+
var import_areStringArraysEqual = require("@lokalise/universal-ts-utils/dist/areStringArraysEqual.js");
|
|
79
|
+
var LayoutTranslator = class {
|
|
80
|
+
static {
|
|
81
|
+
__name(this, "LayoutTranslator");
|
|
82
|
+
}
|
|
83
|
+
translateTemplateToFrontendLayout(template) {
|
|
84
|
+
return this.buildFrontendLayout(template.settings);
|
|
85
|
+
}
|
|
86
|
+
translateFrontendLayoutToTemplate(frontendLayout) {
|
|
87
|
+
const template = this.findTemplate(frontendLayout);
|
|
88
|
+
if (!template) {
|
|
89
|
+
return void 0;
|
|
90
|
+
}
|
|
91
|
+
const layoutSettings = this.buildLayoutSettings(frontendLayout);
|
|
92
|
+
return {
|
|
93
|
+
layout: template.layout,
|
|
94
|
+
settings: layoutSettings
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
buildFrontendLayout(settings) {
|
|
98
|
+
return Object.entries(settings).map(([id, step]) => {
|
|
99
|
+
const { stepType, ...values } = step;
|
|
100
|
+
return {
|
|
101
|
+
id,
|
|
102
|
+
type: stepType,
|
|
103
|
+
values
|
|
104
|
+
};
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
buildLayoutSettings(frontendLayout) {
|
|
108
|
+
return frontendLayout.reduce(
|
|
109
|
+
(acc, frontendStep) => {
|
|
110
|
+
acc[frontendStep.id] = { ...frontendStep.values, stepType: frontendStep.type };
|
|
111
|
+
return acc;
|
|
112
|
+
},
|
|
113
|
+
{}
|
|
114
|
+
);
|
|
115
|
+
}
|
|
116
|
+
findTemplate(frontendLayout) {
|
|
117
|
+
const frontendLayoutStepIds = frontendLayout.map((step) => step.id);
|
|
118
|
+
const result = Object.entries(TEMPLATES).find(([_2, template2]) => {
|
|
119
|
+
const templateStepIds = template2.frontendLayout.map((step) => step.id);
|
|
120
|
+
return (0, import_areStringArraysEqual.areStringArraysEqual)(frontendLayoutStepIds, templateStepIds);
|
|
121
|
+
});
|
|
122
|
+
if (!result) {
|
|
123
|
+
return void 0;
|
|
124
|
+
}
|
|
125
|
+
const [_, template] = result;
|
|
126
|
+
return template;
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
|
|
76
130
|
// src/workflow/steps.ts
|
|
77
131
|
var import_maestro_common = require("@lokalise/maestro-common");
|
|
78
132
|
var import_zod = require("zod");
|
|
@@ -277,20 +331,13 @@ var TRANSLATE_TASK_TEMPLATE = {
|
|
|
277
331
|
// src/templates/schemas.ts
|
|
278
332
|
var TEMPLATE_IDS = ["reviewTask", "translateTask", "translateAndReviewTask"];
|
|
279
333
|
var buildTemplate = /* @__PURE__ */ __name((internalTemplate) => {
|
|
280
|
-
const
|
|
334
|
+
const layoutTranslator = new LayoutTranslator();
|
|
335
|
+
const frontendLayout = layoutTranslator.translateTemplateToFrontendLayout(internalTemplate);
|
|
281
336
|
return {
|
|
282
337
|
...internalTemplate,
|
|
283
338
|
frontendLayout
|
|
284
339
|
};
|
|
285
340
|
}, "buildTemplate");
|
|
286
|
-
var buildFrontendLayout = /* @__PURE__ */ __name((template) => Object.entries(template.settings).map(([id, step]) => {
|
|
287
|
-
const { stepType, ...values } = step;
|
|
288
|
-
return {
|
|
289
|
-
id,
|
|
290
|
-
type: stepType,
|
|
291
|
-
values
|
|
292
|
-
};
|
|
293
|
-
}), "buildFrontendLayout");
|
|
294
341
|
var TEMPLATES = {
|
|
295
342
|
reviewTask: buildTemplate(REVIEW_TASK_TEMPLATE),
|
|
296
343
|
translateTask: buildTemplate(TRANSLATE_TASK_TEMPLATE),
|
|
@@ -403,6 +450,7 @@ var POST_WORKFLOW_RESPONSE = import_zod2.default.object({
|
|
|
403
450
|
GET_WORKFLOW_LIST_RESPONSE,
|
|
404
451
|
GET_WORKFLOW_PARAMS,
|
|
405
452
|
GET_WORKFLOW_RESPONSE,
|
|
453
|
+
LayoutTranslator,
|
|
406
454
|
METADATA_FIELDS,
|
|
407
455
|
PATCH_PAUSE_WORKFLOW_PARAMS,
|
|
408
456
|
PATCH_PAUSE_WORKFLOW_RESPONSE,
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../index.ts","../src/apiContract/schemas.ts","../src/workflow/steps.ts","../src/templates/resources/review-task.template.ts","../src/templates/resources/translate-and-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 { TEMPLATES, TemplateId } from './src/templates/schemas.js'\nexport { Template, FrontendLayout, FrontendLayoutStep } from './src/templates/types.js'\n","import { COMMON_ERROR_RESPONSE_SCHEMA } from '@lokalise/api-common'\nimport z from 'zod'\nimport { TEMPLATE_IDS } from '../templates/schemas.js'\nimport { STEP_TYPES } from '../workflow/steps.js'\n\n// COMMON SCHEMAS\nconst DATETIME = z.string().datetime()\nconst WORKFLOW_ID = z.string().max(36)\nconst TEMPLATE_ID = z.enum(TEMPLATE_IDS).describe('Template identifier')\nconst GROUP_ID = z\n .string()\n .max(255)\n .describe(\n 'Generated group identifier, which should be unique across Expert and Flow (example: 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\n// GET WORKFLOW\nexport const GET_WORKFLOW_PARAMS = z\n .object({\n groupId: GROUP_ID,\n workflowId: WORKFLOW_ID,\n })\n .describe('URL parameters for getting a workflow')\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_SCHEMA = 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 }),\n )\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 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 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\n// LIST WORKFLOWS\nexport const GET_WORKFLOW_LIST_PARAMS = z.object({\n groupId: GROUP_ID,\n})\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 = z.object({\n groupId: GROUP_ID,\n workflowId: WORKFLOW_ID,\n})\n\nexport const PATCH_PAUSE_WORKFLOW_RESPONSE = z.null({\n description: 'Successfully paused workflow',\n})\n\n// RESUME WORKFLOW\nexport const PATCH_RESUME_WORKFLOW_PARAMS = z.object({\n groupId: GROUP_ID,\n workflowId: WORKFLOW_ID,\n})\n\nexport const PATCH_RESUME_WORKFLOW_RESPONSE = z.null({\n description: 'Successfully resumed workflow',\n})\n\n// DUPLICATE WORKFLOW\nexport const POST_DUPLICATE_WORKFLOW_PARAMS = z.object({\n groupId: GROUP_ID,\n workflowId: WORKFLOW_ID,\n})\n\nexport const POST_DUPLICATE_WORKFLOW_RESPONSE = GET_WORKFLOW_RESPONSE\n\n// DELETE WORKFLOW\nexport const DELETE_WORKFLOW_PARAMS = z.object({\n groupId: GROUP_ID,\n workflowId: WORKFLOW_ID,\n})\n\nexport const DELETE_WORKFLOW_RESPONSE = z.null({\n description: 'Successfully deleted workflow',\n})\n\n// CREATE WORKFLOW\nexport const POST_WORKFLOW_PARAMS = z\n .object({\n groupId: GROUP_ID,\n })\n .describe('URL parameters for creating a workflow')\n\nexport const POST_WORKFLOW_BODY = z\n .nullable(\n z.object({\n templateId: TEMPLATE_ID.optional(),\n }),\n )\n .describe('URL parameters for creating a workflow')\n\nexport const POST_WORKFLOW_RESPONSE = z.object({\n data: WORKFLOW_EXTENDED,\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","import { WORKFLOW_LAYOUT_STEP_SETTINGS } from '@lokalise/maestro-common'\nimport { z } from 'zod'\n\nexport const START_KEYS_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS.extend({\n name: z.string(),\n description: z.string(),\n autoMarkAsUnverified: z.boolean(),\n runOnSchedule: z.boolean(),\n monitoredLanguageId: z.number(),\n targetLanguageId: z.number(),\n monitoredKeyType: z.enum(['new', 'updated', 'both']),\n})\n\nexport const CREATE_TASK_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS.extend({\n taskType: z.enum(['translate', 'review']),\n dueDate: z.union([z.number(), z.string()]),\n})\n\nexport const CreateTaskExampleStepSettings = CREATE_TASK_STEP_SETTINGS_SCHEMA.parse({\n stepType: 'create_task',\n taskType: 'translate',\n dueDate: 5,\n})\n\nexport const STEP_TYPES = [\n 'trigger_step',\n 'review_task_step',\n 'translate_task_step',\n 'end_step',\n] as const\nexport type StepType = (typeof STEP_TYPES)[number]\n\n// SCHEDULED_TRIGGER_STEP\nexport const SCHEDULED_TRIGGER_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS.extend({\n runOnSchedule: z.boolean(),\n monitoredKeyType: z.enum(['new', 'updated', 'both']),\n monitoredLanguageId: z.optional(z.number()),\n targetLanguageIds: z.array(z.number()),\n})\nexport type ScheduledTriggerStepSettings = z.infer<\n typeof SCHEDULED_TRIGGER_STEP_SETTINGS_SCHEMA\n> & {\n stepType: StepType\n}\nexport const SCHEDULED_TRIGGER_STEP_SETTINGS: ScheduledTriggerStepSettings = {\n stepType: 'trigger_step',\n runOnSchedule: true,\n monitoredLanguageId: undefined,\n targetLanguageIds: [],\n monitoredKeyType: 'new',\n}\n\n// REVIEW_TASK_STEP\nexport const REVIEW_TASK_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS\nexport type ReviewTaskStepSettings = z.infer<typeof REVIEW_TASK_STEP_SETTINGS_SCHEMA> & {\n stepType: StepType\n}\nexport const REVIEW_TASK_STEP_SETTINGS: ReviewTaskStepSettings = {\n stepType: 'review_task_step',\n}\n\n// TRANSLATE_TASK_STEP\nexport const TRANSLATE_TASK_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS\nexport type TranslateTaskStepSettings = z.infer<typeof TRANSLATE_TASK_STEP_SETTINGS_SCHEMA> & {\n stepType: StepType\n}\nexport const TRANSLATE_TASK_STEP_SETTINGS: TranslateTaskStepSettings = {\n stepType: 'translate_task_step',\n}\n\n// END_STEP\nexport const END_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS\nexport type EndStepSettings = z.infer<typeof END_STEP_SETTINGS_SCHEMA> & {\n stepType: StepType\n}\nexport const END_STEP_SETTINGS: EndStepSettings = {\n stepType: 'end_step',\n}\n","import {\n END_STEP_SETTINGS,\n REVIEW_TASK_STEP_SETTINGS,\n 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 to 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 TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: SCHEDULED_TRIGGER_STEP_SETTINGS,\n ReviewTaskStep: REVIEW_TASK_STEP_SETTINGS,\n EndStep: END_STEP_SETTINGS,\n },\n }\n","import {\n END_STEP_SETTINGS,\n REVIEW_TASK_STEP_SETTINGS,\n SCHEDULED_TRIGGER_STEP_SETTINGS,\n 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: 'translate',\n },\n },\n ],\n on: {\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 TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: SCHEDULED_TRIGGER_STEP_SETTINGS,\n TranslateTaskStep: TRANSLATE_TASK_STEP_SETTINGS,\n ReviewTaskStep: REVIEW_TASK_STEP_SETTINGS,\n EndStep: END_STEP_SETTINGS,\n },\n}\n","import {\n END_STEP_SETTINGS,\n SCHEDULED_TRIGGER_STEP_SETTINGS,\n 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 to 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: 'translate',\n },\n },\n ],\n on: {\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: SCHEDULED_TRIGGER_STEP_SETTINGS,\n TranslateTaskStep: TRANSLATE_TASK_STEP_SETTINGS,\n EndStep: END_STEP_SETTINGS,\n },\n}\n","import type { StepType } from '../workflow/steps.js'\nimport { REVIEW_TASK_TEMPLATE } from './resources/review-task.template.js'\nimport { TRANSLATE_AND_REVIEW_TASK_TEMPLATE } from './resources/translate-and-review-task.template.js'\nimport { TRANSLATE_TASK_TEMPLATE } from './resources/translate-task.template.js'\nimport type { FrontendLayout, InternalTemplate, Template } from './types.js'\n\nexport const TEMPLATE_IDS = ['reviewTask', 'translateTask', 'translateAndReviewTask'] 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 frontendLayout = buildFrontendLayout(internalTemplate)\n\n return {\n ...internalTemplate,\n frontendLayout,\n }\n}\n\nconst buildFrontendLayout = <StateName extends string>(\n template: InternalTemplate<StateName>,\n): FrontendLayout<StateName> =>\n Object.entries(template.settings).map(([id, step]) => {\n const { stepType, ...values } = step\n return {\n id: id as StateName,\n type: stepType as StepType,\n values,\n }\n })\n\nexport const TEMPLATES: Record<TemplateId, Template<string>> = {\n reviewTask: buildTemplate(REVIEW_TASK_TEMPLATE),\n translateTask: buildTemplate(TRANSLATE_TASK_TEMPLATE),\n translateAndReviewTask: buildTemplate(TRANSLATE_AND_REVIEW_TASK_TEMPLATE),\n}\n"],"mappings":"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","names":["import_zod","z"]}
|
|
1
|
+
{"version":3,"sources":["../index.ts","../src/apiContract/schemas.ts","../src/workflow/LayoutTranslator.ts","../src/workflow/steps.ts","../src/templates/resources/review-task.template.ts","../src/templates/resources/translate-and-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 { 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 { STEP_TYPES } from '../workflow/steps.js'\n\n// COMMON SCHEMAS\nconst DATETIME = z.string().datetime()\nconst WORKFLOW_ID = z.string().max(36)\nconst TEMPLATE_ID = z.enum(TEMPLATE_IDS).describe('Template identifier')\nconst GROUP_ID = z\n .string()\n .max(255)\n .describe(\n 'Generated group identifier, which should be unique across Expert and Flow (example: 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\n// GET WORKFLOW\nexport const GET_WORKFLOW_PARAMS = z\n .object({\n groupId: GROUP_ID,\n workflowId: WORKFLOW_ID,\n })\n .describe('URL parameters for getting a workflow')\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_SCHEMA = 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 }),\n )\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 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 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\n// LIST WORKFLOWS\nexport const GET_WORKFLOW_LIST_PARAMS = z.object({\n groupId: GROUP_ID,\n})\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 = z.object({\n groupId: GROUP_ID,\n workflowId: WORKFLOW_ID,\n})\n\nexport const PATCH_PAUSE_WORKFLOW_RESPONSE = z.null({\n description: 'Successfully paused workflow',\n})\n\n// RESUME WORKFLOW\nexport const PATCH_RESUME_WORKFLOW_PARAMS = z.object({\n groupId: GROUP_ID,\n workflowId: WORKFLOW_ID,\n})\n\nexport const PATCH_RESUME_WORKFLOW_RESPONSE = z.null({\n description: 'Successfully resumed workflow',\n})\n\n// DUPLICATE WORKFLOW\nexport const POST_DUPLICATE_WORKFLOW_PARAMS = z.object({\n groupId: GROUP_ID,\n workflowId: WORKFLOW_ID,\n})\n\nexport const POST_DUPLICATE_WORKFLOW_RESPONSE = GET_WORKFLOW_RESPONSE\n\n// DELETE WORKFLOW\nexport const DELETE_WORKFLOW_PARAMS = z.object({\n groupId: GROUP_ID,\n workflowId: WORKFLOW_ID,\n})\n\nexport const DELETE_WORKFLOW_RESPONSE = z.null({\n description: 'Successfully deleted workflow',\n})\n\n// CREATE WORKFLOW\nexport const POST_WORKFLOW_PARAMS = z\n .object({\n groupId: GROUP_ID,\n })\n .describe('URL parameters for creating a workflow')\n\nexport const POST_WORKFLOW_BODY = z\n .nullable(\n z.object({\n templateId: TEMPLATE_ID.optional(),\n }),\n )\n .describe('URL parameters for creating a workflow')\n\nexport const POST_WORKFLOW_RESPONSE = z.object({\n data: WORKFLOW_EXTENDED,\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","import { areStringArraysEqual } from '@lokalise/universal-ts-utils/dist/areStringArraysEqual.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 { StepType } from './steps.js'\n\nexport class LayoutTranslator {\n public translateTemplateToFrontendLayout<StateName extends string>(\n template: InternalTemplate<StateName>,\n ): FrontendLayout<StateName> {\n return this.buildFrontendLayout<StateName>(template.settings)\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 ): FrontendLayout<StateName> {\n return Object.entries(settings).map(([id, step]) => {\n const { stepType, ...values } = step\n return {\n id: id as StateName,\n type: stepType as StepType,\n values,\n }\n })\n }\n\n buildLayoutSettings<StateName extends string>(\n frontendLayout: FrontendLayout<StateName>,\n ): StrictWorkflowLayoutSettings<StateName> {\n return frontendLayout.reduce(\n (acc, frontendStep) => {\n acc[frontendStep.id] = { ...frontendStep.values, stepType: frontendStep.type }\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 { WORKFLOW_LAYOUT_STEP_SETTINGS } from '@lokalise/maestro-common'\nimport { z } from 'zod'\n\nexport const START_KEYS_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS.extend({\n name: z.string(),\n description: z.string(),\n autoMarkAsUnverified: z.boolean(),\n runOnSchedule: z.boolean(),\n monitoredLanguageId: z.number(),\n targetLanguageId: z.number(),\n monitoredKeyType: z.enum(['new', 'updated', 'both']),\n})\n\nexport const CREATE_TASK_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS.extend({\n taskType: z.enum(['translate', 'review']),\n dueDate: z.union([z.number(), z.string()]),\n})\n\nexport const CreateTaskExampleStepSettings = CREATE_TASK_STEP_SETTINGS_SCHEMA.parse({\n stepType: 'create_task',\n taskType: 'translate',\n dueDate: 5,\n})\n\nexport const STEP_TYPES = [\n 'trigger_step',\n 'review_task_step',\n 'translate_task_step',\n 'end_step',\n] as const\nexport type StepType = (typeof STEP_TYPES)[number]\n\n// SCHEDULED_TRIGGER_STEP\nexport const SCHEDULED_TRIGGER_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS.extend({\n runOnSchedule: z.boolean(),\n monitoredKeyType: z.enum(['new', 'updated', 'both']),\n monitoredLanguageId: z.optional(z.number()),\n targetLanguageIds: z.array(z.number()),\n})\nexport type ScheduledTriggerStepSettings = z.infer<\n typeof SCHEDULED_TRIGGER_STEP_SETTINGS_SCHEMA\n> & {\n stepType: StepType\n}\nexport const SCHEDULED_TRIGGER_STEP_SETTINGS: ScheduledTriggerStepSettings = {\n stepType: 'trigger_step',\n runOnSchedule: true,\n monitoredLanguageId: undefined,\n targetLanguageIds: [],\n monitoredKeyType: 'new',\n}\n\n// REVIEW_TASK_STEP\nexport const REVIEW_TASK_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS\nexport type ReviewTaskStepSettings = z.infer<typeof REVIEW_TASK_STEP_SETTINGS_SCHEMA> & {\n stepType: StepType\n}\nexport const REVIEW_TASK_STEP_SETTINGS: ReviewTaskStepSettings = {\n stepType: 'review_task_step',\n}\n\n// TRANSLATE_TASK_STEP\nexport const TRANSLATE_TASK_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS\nexport type TranslateTaskStepSettings = z.infer<typeof TRANSLATE_TASK_STEP_SETTINGS_SCHEMA> & {\n stepType: StepType\n}\nexport const TRANSLATE_TASK_STEP_SETTINGS: TranslateTaskStepSettings = {\n stepType: 'translate_task_step',\n}\n\n// END_STEP\nexport const END_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS\nexport type EndStepSettings = z.infer<typeof END_STEP_SETTINGS_SCHEMA> & {\n stepType: StepType\n}\nexport const END_STEP_SETTINGS: EndStepSettings = {\n stepType: 'end_step',\n}\n","import {\n END_STEP_SETTINGS,\n REVIEW_TASK_STEP_SETTINGS,\n 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 to 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 TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: SCHEDULED_TRIGGER_STEP_SETTINGS,\n ReviewTaskStep: REVIEW_TASK_STEP_SETTINGS,\n EndStep: END_STEP_SETTINGS,\n },\n }\n","import {\n END_STEP_SETTINGS,\n REVIEW_TASK_STEP_SETTINGS,\n SCHEDULED_TRIGGER_STEP_SETTINGS,\n 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: 'translate',\n },\n },\n ],\n on: {\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 TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: SCHEDULED_TRIGGER_STEP_SETTINGS,\n TranslateTaskStep: TRANSLATE_TASK_STEP_SETTINGS,\n ReviewTaskStep: REVIEW_TASK_STEP_SETTINGS,\n EndStep: END_STEP_SETTINGS,\n },\n}\n","import {\n END_STEP_SETTINGS,\n SCHEDULED_TRIGGER_STEP_SETTINGS,\n 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 to 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: 'translate',\n },\n },\n ],\n on: {\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: SCHEDULED_TRIGGER_STEP_SETTINGS,\n TranslateTaskStep: TRANSLATE_TASK_STEP_SETTINGS,\n EndStep: END_STEP_SETTINGS,\n },\n}\n","import { LayoutTranslator } from '../workflow/LayoutTranslator.js'\nimport { REVIEW_TASK_TEMPLATE } from './resources/review-task.template.js'\nimport { TRANSLATE_AND_REVIEW_TASK_TEMPLATE } from './resources/translate-and-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 = ['reviewTask', 'translateTask', 'translateAndReviewTask'] 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 reviewTask: buildTemplate(REVIEW_TASK_TEMPLATE),\n translateTask: buildTemplate(TRANSLATE_TASK_TEMPLATE),\n translateAndReviewTask: buildTemplate(TRANSLATE_AND_REVIEW_TASK_TEMPLATE),\n}\n"],"mappings":"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","names":["import_zod","_","template","z"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import z, { z as z$1 } from 'zod';
|
|
2
|
-
import { WorkflowLayout,
|
|
2
|
+
import { WorkflowLayout, WorkflowLayoutStepSettings, WorkflowLayoutStepSettingsList, WorkflowLayoutStep, WorkflowLayoutStepTriggerList, WorkflowLayoutStepTriggerEvent } from '@lokalise/maestro-common';
|
|
3
3
|
|
|
4
4
|
declare const METADATA_FIELDS: z.ZodEnum<["targetLanguageIds", "error"]>;
|
|
5
5
|
declare const TRIGGER_TYPE: z.ZodEnum<["Manual", "Scheduled", "Automated"]>;
|
|
@@ -55,8 +55,8 @@ declare const WORKFLOW: z.ZodObject<{
|
|
|
55
55
|
}, "strip", z.ZodTypeAny, {
|
|
56
56
|
status: "Draft" | "Live" | "Archived" | "Paused" | "Canceled";
|
|
57
57
|
id: string;
|
|
58
|
-
version: number;
|
|
59
58
|
title: string;
|
|
59
|
+
version: number;
|
|
60
60
|
triggerType: "Manual" | "Scheduled" | "Automated";
|
|
61
61
|
createdAt: string;
|
|
62
62
|
targetLanguageIds?: string[] | null | undefined;
|
|
@@ -72,8 +72,8 @@ declare const WORKFLOW: z.ZodObject<{
|
|
|
72
72
|
}, {
|
|
73
73
|
status: "Draft" | "Live" | "Archived" | "Paused" | "Canceled";
|
|
74
74
|
id: string;
|
|
75
|
-
version: number;
|
|
76
75
|
title: string;
|
|
76
|
+
version: number;
|
|
77
77
|
triggerType: "Manual" | "Scheduled" | "Automated";
|
|
78
78
|
createdAt: string;
|
|
79
79
|
targetLanguageIds?: string[] | null | undefined;
|
|
@@ -125,9 +125,9 @@ declare const WORKFLOW_EXTENDED: z.ZodObject<{
|
|
|
125
125
|
}, "strip", z.ZodTypeAny, {
|
|
126
126
|
status: "Draft" | "Live" | "Archived" | "Paused" | "Canceled";
|
|
127
127
|
id: string;
|
|
128
|
+
title: string;
|
|
128
129
|
groupId: string;
|
|
129
130
|
version: number;
|
|
130
|
-
title: string;
|
|
131
131
|
createdAt: string;
|
|
132
132
|
schema: {
|
|
133
133
|
type: "trigger_step" | "review_task_step" | "translate_task_step" | "end_step";
|
|
@@ -139,9 +139,9 @@ declare const WORKFLOW_EXTENDED: z.ZodObject<{
|
|
|
139
139
|
}, {
|
|
140
140
|
status: "Draft" | "Live" | "Archived" | "Paused" | "Canceled";
|
|
141
141
|
id: string;
|
|
142
|
+
title: string;
|
|
142
143
|
groupId: string;
|
|
143
144
|
version: number;
|
|
144
|
-
title: string;
|
|
145
145
|
createdAt: string;
|
|
146
146
|
schema: {
|
|
147
147
|
type: "trigger_step" | "review_task_step" | "translate_task_step" | "end_step";
|
|
@@ -180,9 +180,9 @@ declare const GET_WORKFLOW_RESPONSE: z.ZodObject<{
|
|
|
180
180
|
}, "strip", z.ZodTypeAny, {
|
|
181
181
|
status: "Draft" | "Live" | "Archived" | "Paused" | "Canceled";
|
|
182
182
|
id: string;
|
|
183
|
+
title: string;
|
|
183
184
|
groupId: string;
|
|
184
185
|
version: number;
|
|
185
|
-
title: string;
|
|
186
186
|
createdAt: string;
|
|
187
187
|
schema: {
|
|
188
188
|
type: "trigger_step" | "review_task_step" | "translate_task_step" | "end_step";
|
|
@@ -194,9 +194,9 @@ declare const GET_WORKFLOW_RESPONSE: z.ZodObject<{
|
|
|
194
194
|
}, {
|
|
195
195
|
status: "Draft" | "Live" | "Archived" | "Paused" | "Canceled";
|
|
196
196
|
id: string;
|
|
197
|
+
title: string;
|
|
197
198
|
groupId: string;
|
|
198
199
|
version: number;
|
|
199
|
-
title: string;
|
|
200
200
|
createdAt: string;
|
|
201
201
|
schema: {
|
|
202
202
|
type: "trigger_step" | "review_task_step" | "translate_task_step" | "end_step";
|
|
@@ -210,9 +210,9 @@ declare const GET_WORKFLOW_RESPONSE: z.ZodObject<{
|
|
|
210
210
|
data: {
|
|
211
211
|
status: "Draft" | "Live" | "Archived" | "Paused" | "Canceled";
|
|
212
212
|
id: string;
|
|
213
|
+
title: string;
|
|
213
214
|
groupId: string;
|
|
214
215
|
version: number;
|
|
215
|
-
title: string;
|
|
216
216
|
createdAt: string;
|
|
217
217
|
schema: {
|
|
218
218
|
type: "trigger_step" | "review_task_step" | "translate_task_step" | "end_step";
|
|
@@ -226,9 +226,9 @@ declare const GET_WORKFLOW_RESPONSE: z.ZodObject<{
|
|
|
226
226
|
data: {
|
|
227
227
|
status: "Draft" | "Live" | "Archived" | "Paused" | "Canceled";
|
|
228
228
|
id: string;
|
|
229
|
+
title: string;
|
|
229
230
|
groupId: string;
|
|
230
231
|
version: number;
|
|
231
|
-
title: string;
|
|
232
232
|
createdAt: string;
|
|
233
233
|
schema: {
|
|
234
234
|
type: "trigger_step" | "review_task_step" | "translate_task_step" | "end_step";
|
|
@@ -275,8 +275,8 @@ declare const GET_WORKFLOW_LIST_RESPONSE: z.ZodObject<{
|
|
|
275
275
|
}, "strip", z.ZodTypeAny, {
|
|
276
276
|
status: "Draft" | "Live" | "Archived" | "Paused" | "Canceled";
|
|
277
277
|
id: string;
|
|
278
|
-
version: number;
|
|
279
278
|
title: string;
|
|
279
|
+
version: number;
|
|
280
280
|
triggerType: "Manual" | "Scheduled" | "Automated";
|
|
281
281
|
createdAt: string;
|
|
282
282
|
targetLanguageIds?: string[] | null | undefined;
|
|
@@ -292,8 +292,8 @@ declare const GET_WORKFLOW_LIST_RESPONSE: z.ZodObject<{
|
|
|
292
292
|
}, {
|
|
293
293
|
status: "Draft" | "Live" | "Archived" | "Paused" | "Canceled";
|
|
294
294
|
id: string;
|
|
295
|
-
version: number;
|
|
296
295
|
title: string;
|
|
296
|
+
version: number;
|
|
297
297
|
triggerType: "Manual" | "Scheduled" | "Automated";
|
|
298
298
|
createdAt: string;
|
|
299
299
|
targetLanguageIds?: string[] | null | undefined;
|
|
@@ -311,8 +311,8 @@ declare const GET_WORKFLOW_LIST_RESPONSE: z.ZodObject<{
|
|
|
311
311
|
data: {
|
|
312
312
|
status: "Draft" | "Live" | "Archived" | "Paused" | "Canceled";
|
|
313
313
|
id: string;
|
|
314
|
-
version: number;
|
|
315
314
|
title: string;
|
|
315
|
+
version: number;
|
|
316
316
|
triggerType: "Manual" | "Scheduled" | "Automated";
|
|
317
317
|
createdAt: string;
|
|
318
318
|
targetLanguageIds?: string[] | null | undefined;
|
|
@@ -330,8 +330,8 @@ declare const GET_WORKFLOW_LIST_RESPONSE: z.ZodObject<{
|
|
|
330
330
|
data: {
|
|
331
331
|
status: "Draft" | "Live" | "Archived" | "Paused" | "Canceled";
|
|
332
332
|
id: string;
|
|
333
|
-
version: number;
|
|
334
333
|
title: string;
|
|
334
|
+
version: number;
|
|
335
335
|
triggerType: "Manual" | "Scheduled" | "Automated";
|
|
336
336
|
createdAt: string;
|
|
337
337
|
targetLanguageIds?: string[] | null | undefined;
|
|
@@ -406,9 +406,9 @@ declare const POST_DUPLICATE_WORKFLOW_RESPONSE: z.ZodObject<{
|
|
|
406
406
|
}, "strip", z.ZodTypeAny, {
|
|
407
407
|
status: "Draft" | "Live" | "Archived" | "Paused" | "Canceled";
|
|
408
408
|
id: string;
|
|
409
|
+
title: string;
|
|
409
410
|
groupId: string;
|
|
410
411
|
version: number;
|
|
411
|
-
title: string;
|
|
412
412
|
createdAt: string;
|
|
413
413
|
schema: {
|
|
414
414
|
type: "trigger_step" | "review_task_step" | "translate_task_step" | "end_step";
|
|
@@ -420,9 +420,9 @@ declare const POST_DUPLICATE_WORKFLOW_RESPONSE: z.ZodObject<{
|
|
|
420
420
|
}, {
|
|
421
421
|
status: "Draft" | "Live" | "Archived" | "Paused" | "Canceled";
|
|
422
422
|
id: string;
|
|
423
|
+
title: string;
|
|
423
424
|
groupId: string;
|
|
424
425
|
version: number;
|
|
425
|
-
title: string;
|
|
426
426
|
createdAt: string;
|
|
427
427
|
schema: {
|
|
428
428
|
type: "trigger_step" | "review_task_step" | "translate_task_step" | "end_step";
|
|
@@ -436,9 +436,9 @@ declare const POST_DUPLICATE_WORKFLOW_RESPONSE: z.ZodObject<{
|
|
|
436
436
|
data: {
|
|
437
437
|
status: "Draft" | "Live" | "Archived" | "Paused" | "Canceled";
|
|
438
438
|
id: string;
|
|
439
|
+
title: string;
|
|
439
440
|
groupId: string;
|
|
440
441
|
version: number;
|
|
441
|
-
title: string;
|
|
442
442
|
createdAt: string;
|
|
443
443
|
schema: {
|
|
444
444
|
type: "trigger_step" | "review_task_step" | "translate_task_step" | "end_step";
|
|
@@ -452,9 +452,9 @@ declare const POST_DUPLICATE_WORKFLOW_RESPONSE: z.ZodObject<{
|
|
|
452
452
|
data: {
|
|
453
453
|
status: "Draft" | "Live" | "Archived" | "Paused" | "Canceled";
|
|
454
454
|
id: string;
|
|
455
|
+
title: string;
|
|
455
456
|
groupId: string;
|
|
456
457
|
version: number;
|
|
457
|
-
title: string;
|
|
458
458
|
createdAt: string;
|
|
459
459
|
schema: {
|
|
460
460
|
type: "trigger_step" | "review_task_step" | "translate_task_step" | "end_step";
|
|
@@ -516,9 +516,9 @@ declare const POST_WORKFLOW_RESPONSE: z.ZodObject<{
|
|
|
516
516
|
}, "strip", z.ZodTypeAny, {
|
|
517
517
|
status: "Draft" | "Live" | "Archived" | "Paused" | "Canceled";
|
|
518
518
|
id: string;
|
|
519
|
+
title: string;
|
|
519
520
|
groupId: string;
|
|
520
521
|
version: number;
|
|
521
|
-
title: string;
|
|
522
522
|
createdAt: string;
|
|
523
523
|
schema: {
|
|
524
524
|
type: "trigger_step" | "review_task_step" | "translate_task_step" | "end_step";
|
|
@@ -530,9 +530,9 @@ declare const POST_WORKFLOW_RESPONSE: z.ZodObject<{
|
|
|
530
530
|
}, {
|
|
531
531
|
status: "Draft" | "Live" | "Archived" | "Paused" | "Canceled";
|
|
532
532
|
id: string;
|
|
533
|
+
title: string;
|
|
533
534
|
groupId: string;
|
|
534
535
|
version: number;
|
|
535
|
-
title: string;
|
|
536
536
|
createdAt: string;
|
|
537
537
|
schema: {
|
|
538
538
|
type: "trigger_step" | "review_task_step" | "translate_task_step" | "end_step";
|
|
@@ -546,9 +546,9 @@ declare const POST_WORKFLOW_RESPONSE: z.ZodObject<{
|
|
|
546
546
|
data: {
|
|
547
547
|
status: "Draft" | "Live" | "Archived" | "Paused" | "Canceled";
|
|
548
548
|
id: string;
|
|
549
|
+
title: string;
|
|
549
550
|
groupId: string;
|
|
550
551
|
version: number;
|
|
551
|
-
title: string;
|
|
552
552
|
createdAt: string;
|
|
553
553
|
schema: {
|
|
554
554
|
type: "trigger_step" | "review_task_step" | "translate_task_step" | "end_step";
|
|
@@ -562,9 +562,9 @@ declare const POST_WORKFLOW_RESPONSE: z.ZodObject<{
|
|
|
562
562
|
data: {
|
|
563
563
|
status: "Draft" | "Live" | "Archived" | "Paused" | "Canceled";
|
|
564
564
|
id: string;
|
|
565
|
+
title: string;
|
|
565
566
|
groupId: string;
|
|
566
567
|
version: number;
|
|
567
|
-
title: string;
|
|
568
568
|
createdAt: string;
|
|
569
569
|
schema: {
|
|
570
570
|
type: "trigger_step" | "review_task_step" | "translate_task_step" | "end_step";
|
|
@@ -738,4 +738,12 @@ declare const TEMPLATE_IDS: readonly ["reviewTask", "translateTask", "translateA
|
|
|
738
738
|
type TemplateId = (typeof TEMPLATE_IDS)[number];
|
|
739
739
|
declare const TEMPLATES: Record<TemplateId, Template<string>>;
|
|
740
740
|
|
|
741
|
-
|
|
741
|
+
declare class LayoutTranslator {
|
|
742
|
+
translateTemplateToFrontendLayout<StateName extends string>(template: InternalTemplate<StateName>): FrontendLayout<StateName>;
|
|
743
|
+
translateFrontendLayoutToTemplate<StateName extends string>(frontendLayout: FrontendLayout<StateName>): Pick<InternalTemplate<StateName>, 'layout' | 'settings'> | undefined;
|
|
744
|
+
buildFrontendLayout<StateName extends string>(settings: StrictWorkflowLayoutSettings<StateName>): FrontendLayout<StateName>;
|
|
745
|
+
buildLayoutSettings<StateName extends string>(frontendLayout: FrontendLayout<StateName>): StrictWorkflowLayoutSettings<StateName>;
|
|
746
|
+
findTemplate<StateName extends string>(frontendLayout: FrontendLayout<StateName>): Template<StateName> | undefined;
|
|
747
|
+
}
|
|
748
|
+
|
|
749
|
+
export { API_ERROR, CREATE_TASK_STEP_SETTINGS_SCHEMA, CreateTaskExampleStepSettings, DELETE_WORKFLOW_PARAMS, DELETE_WORKFLOW_RESPONSE, END_STEP_SETTINGS, END_STEP_SETTINGS_SCHEMA, type EndStepSettings, type FrontendLayout, type FrontendLayoutStep, GET_WORKFLOW_LIST_PARAMS, GET_WORKFLOW_LIST_RESPONSE, GET_WORKFLOW_PARAMS, GET_WORKFLOW_RESPONSE, type GetWorkflowListParams, type GetWorkflowListResponse, LayoutTranslator, METADATA_FIELDS, PATCH_PAUSE_WORKFLOW_PARAMS, PATCH_PAUSE_WORKFLOW_RESPONSE, PATCH_RESUME_WORKFLOW_PARAMS, PATCH_RESUME_WORKFLOW_RESPONSE, POST_DUPLICATE_WORKFLOW_PARAMS, POST_DUPLICATE_WORKFLOW_RESPONSE, POST_WORKFLOW_BODY, POST_WORKFLOW_PARAMS, POST_WORKFLOW_RESPONSE, type PostWorkflowBody, type PostWorkflowParams, type PostWorkflowResponse, REVIEW_TASK_STEP_SETTINGS, REVIEW_TASK_STEP_SETTINGS_SCHEMA, type ReviewTaskStepSettings, SCHEDULED_TRIGGER_STEP_SETTINGS, SCHEDULED_TRIGGER_STEP_SETTINGS_SCHEMA, START_KEYS_STEP_SETTINGS_SCHEMA, STEP_TYPES, type ScheduledTriggerStepSettings, type StepType, TEMPLATES, TRANSLATE_TASK_STEP_SETTINGS, TRANSLATE_TASK_STEP_SETTINGS_SCHEMA, TRIGGER_TYPE, type Template, type TemplateId, type TranslateTaskStepSettings, WORKFLOW, WORKFLOW_EXTENDED, WORKFLOW_EXTENDED_SCHEMA, WORKFLOW_STATUS, type Workflow, type WorkflowExtended, type WorkflowExtendedSchema };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import z, { z as z$1 } from 'zod';
|
|
2
|
-
import { WorkflowLayout,
|
|
2
|
+
import { WorkflowLayout, WorkflowLayoutStepSettings, WorkflowLayoutStepSettingsList, WorkflowLayoutStep, WorkflowLayoutStepTriggerList, WorkflowLayoutStepTriggerEvent } from '@lokalise/maestro-common';
|
|
3
3
|
|
|
4
4
|
declare const METADATA_FIELDS: z.ZodEnum<["targetLanguageIds", "error"]>;
|
|
5
5
|
declare const TRIGGER_TYPE: z.ZodEnum<["Manual", "Scheduled", "Automated"]>;
|
|
@@ -55,8 +55,8 @@ declare const WORKFLOW: z.ZodObject<{
|
|
|
55
55
|
}, "strip", z.ZodTypeAny, {
|
|
56
56
|
status: "Draft" | "Live" | "Archived" | "Paused" | "Canceled";
|
|
57
57
|
id: string;
|
|
58
|
-
version: number;
|
|
59
58
|
title: string;
|
|
59
|
+
version: number;
|
|
60
60
|
triggerType: "Manual" | "Scheduled" | "Automated";
|
|
61
61
|
createdAt: string;
|
|
62
62
|
targetLanguageIds?: string[] | null | undefined;
|
|
@@ -72,8 +72,8 @@ declare const WORKFLOW: z.ZodObject<{
|
|
|
72
72
|
}, {
|
|
73
73
|
status: "Draft" | "Live" | "Archived" | "Paused" | "Canceled";
|
|
74
74
|
id: string;
|
|
75
|
-
version: number;
|
|
76
75
|
title: string;
|
|
76
|
+
version: number;
|
|
77
77
|
triggerType: "Manual" | "Scheduled" | "Automated";
|
|
78
78
|
createdAt: string;
|
|
79
79
|
targetLanguageIds?: string[] | null | undefined;
|
|
@@ -125,9 +125,9 @@ declare const WORKFLOW_EXTENDED: z.ZodObject<{
|
|
|
125
125
|
}, "strip", z.ZodTypeAny, {
|
|
126
126
|
status: "Draft" | "Live" | "Archived" | "Paused" | "Canceled";
|
|
127
127
|
id: string;
|
|
128
|
+
title: string;
|
|
128
129
|
groupId: string;
|
|
129
130
|
version: number;
|
|
130
|
-
title: string;
|
|
131
131
|
createdAt: string;
|
|
132
132
|
schema: {
|
|
133
133
|
type: "trigger_step" | "review_task_step" | "translate_task_step" | "end_step";
|
|
@@ -139,9 +139,9 @@ declare const WORKFLOW_EXTENDED: z.ZodObject<{
|
|
|
139
139
|
}, {
|
|
140
140
|
status: "Draft" | "Live" | "Archived" | "Paused" | "Canceled";
|
|
141
141
|
id: string;
|
|
142
|
+
title: string;
|
|
142
143
|
groupId: string;
|
|
143
144
|
version: number;
|
|
144
|
-
title: string;
|
|
145
145
|
createdAt: string;
|
|
146
146
|
schema: {
|
|
147
147
|
type: "trigger_step" | "review_task_step" | "translate_task_step" | "end_step";
|
|
@@ -180,9 +180,9 @@ declare const GET_WORKFLOW_RESPONSE: z.ZodObject<{
|
|
|
180
180
|
}, "strip", z.ZodTypeAny, {
|
|
181
181
|
status: "Draft" | "Live" | "Archived" | "Paused" | "Canceled";
|
|
182
182
|
id: string;
|
|
183
|
+
title: string;
|
|
183
184
|
groupId: string;
|
|
184
185
|
version: number;
|
|
185
|
-
title: string;
|
|
186
186
|
createdAt: string;
|
|
187
187
|
schema: {
|
|
188
188
|
type: "trigger_step" | "review_task_step" | "translate_task_step" | "end_step";
|
|
@@ -194,9 +194,9 @@ declare const GET_WORKFLOW_RESPONSE: z.ZodObject<{
|
|
|
194
194
|
}, {
|
|
195
195
|
status: "Draft" | "Live" | "Archived" | "Paused" | "Canceled";
|
|
196
196
|
id: string;
|
|
197
|
+
title: string;
|
|
197
198
|
groupId: string;
|
|
198
199
|
version: number;
|
|
199
|
-
title: string;
|
|
200
200
|
createdAt: string;
|
|
201
201
|
schema: {
|
|
202
202
|
type: "trigger_step" | "review_task_step" | "translate_task_step" | "end_step";
|
|
@@ -210,9 +210,9 @@ declare const GET_WORKFLOW_RESPONSE: z.ZodObject<{
|
|
|
210
210
|
data: {
|
|
211
211
|
status: "Draft" | "Live" | "Archived" | "Paused" | "Canceled";
|
|
212
212
|
id: string;
|
|
213
|
+
title: string;
|
|
213
214
|
groupId: string;
|
|
214
215
|
version: number;
|
|
215
|
-
title: string;
|
|
216
216
|
createdAt: string;
|
|
217
217
|
schema: {
|
|
218
218
|
type: "trigger_step" | "review_task_step" | "translate_task_step" | "end_step";
|
|
@@ -226,9 +226,9 @@ declare const GET_WORKFLOW_RESPONSE: z.ZodObject<{
|
|
|
226
226
|
data: {
|
|
227
227
|
status: "Draft" | "Live" | "Archived" | "Paused" | "Canceled";
|
|
228
228
|
id: string;
|
|
229
|
+
title: string;
|
|
229
230
|
groupId: string;
|
|
230
231
|
version: number;
|
|
231
|
-
title: string;
|
|
232
232
|
createdAt: string;
|
|
233
233
|
schema: {
|
|
234
234
|
type: "trigger_step" | "review_task_step" | "translate_task_step" | "end_step";
|
|
@@ -275,8 +275,8 @@ declare const GET_WORKFLOW_LIST_RESPONSE: z.ZodObject<{
|
|
|
275
275
|
}, "strip", z.ZodTypeAny, {
|
|
276
276
|
status: "Draft" | "Live" | "Archived" | "Paused" | "Canceled";
|
|
277
277
|
id: string;
|
|
278
|
-
version: number;
|
|
279
278
|
title: string;
|
|
279
|
+
version: number;
|
|
280
280
|
triggerType: "Manual" | "Scheduled" | "Automated";
|
|
281
281
|
createdAt: string;
|
|
282
282
|
targetLanguageIds?: string[] | null | undefined;
|
|
@@ -292,8 +292,8 @@ declare const GET_WORKFLOW_LIST_RESPONSE: z.ZodObject<{
|
|
|
292
292
|
}, {
|
|
293
293
|
status: "Draft" | "Live" | "Archived" | "Paused" | "Canceled";
|
|
294
294
|
id: string;
|
|
295
|
-
version: number;
|
|
296
295
|
title: string;
|
|
296
|
+
version: number;
|
|
297
297
|
triggerType: "Manual" | "Scheduled" | "Automated";
|
|
298
298
|
createdAt: string;
|
|
299
299
|
targetLanguageIds?: string[] | null | undefined;
|
|
@@ -311,8 +311,8 @@ declare const GET_WORKFLOW_LIST_RESPONSE: z.ZodObject<{
|
|
|
311
311
|
data: {
|
|
312
312
|
status: "Draft" | "Live" | "Archived" | "Paused" | "Canceled";
|
|
313
313
|
id: string;
|
|
314
|
-
version: number;
|
|
315
314
|
title: string;
|
|
315
|
+
version: number;
|
|
316
316
|
triggerType: "Manual" | "Scheduled" | "Automated";
|
|
317
317
|
createdAt: string;
|
|
318
318
|
targetLanguageIds?: string[] | null | undefined;
|
|
@@ -330,8 +330,8 @@ declare const GET_WORKFLOW_LIST_RESPONSE: z.ZodObject<{
|
|
|
330
330
|
data: {
|
|
331
331
|
status: "Draft" | "Live" | "Archived" | "Paused" | "Canceled";
|
|
332
332
|
id: string;
|
|
333
|
-
version: number;
|
|
334
333
|
title: string;
|
|
334
|
+
version: number;
|
|
335
335
|
triggerType: "Manual" | "Scheduled" | "Automated";
|
|
336
336
|
createdAt: string;
|
|
337
337
|
targetLanguageIds?: string[] | null | undefined;
|
|
@@ -406,9 +406,9 @@ declare const POST_DUPLICATE_WORKFLOW_RESPONSE: z.ZodObject<{
|
|
|
406
406
|
}, "strip", z.ZodTypeAny, {
|
|
407
407
|
status: "Draft" | "Live" | "Archived" | "Paused" | "Canceled";
|
|
408
408
|
id: string;
|
|
409
|
+
title: string;
|
|
409
410
|
groupId: string;
|
|
410
411
|
version: number;
|
|
411
|
-
title: string;
|
|
412
412
|
createdAt: string;
|
|
413
413
|
schema: {
|
|
414
414
|
type: "trigger_step" | "review_task_step" | "translate_task_step" | "end_step";
|
|
@@ -420,9 +420,9 @@ declare const POST_DUPLICATE_WORKFLOW_RESPONSE: z.ZodObject<{
|
|
|
420
420
|
}, {
|
|
421
421
|
status: "Draft" | "Live" | "Archived" | "Paused" | "Canceled";
|
|
422
422
|
id: string;
|
|
423
|
+
title: string;
|
|
423
424
|
groupId: string;
|
|
424
425
|
version: number;
|
|
425
|
-
title: string;
|
|
426
426
|
createdAt: string;
|
|
427
427
|
schema: {
|
|
428
428
|
type: "trigger_step" | "review_task_step" | "translate_task_step" | "end_step";
|
|
@@ -436,9 +436,9 @@ declare const POST_DUPLICATE_WORKFLOW_RESPONSE: z.ZodObject<{
|
|
|
436
436
|
data: {
|
|
437
437
|
status: "Draft" | "Live" | "Archived" | "Paused" | "Canceled";
|
|
438
438
|
id: string;
|
|
439
|
+
title: string;
|
|
439
440
|
groupId: string;
|
|
440
441
|
version: number;
|
|
441
|
-
title: string;
|
|
442
442
|
createdAt: string;
|
|
443
443
|
schema: {
|
|
444
444
|
type: "trigger_step" | "review_task_step" | "translate_task_step" | "end_step";
|
|
@@ -452,9 +452,9 @@ declare const POST_DUPLICATE_WORKFLOW_RESPONSE: z.ZodObject<{
|
|
|
452
452
|
data: {
|
|
453
453
|
status: "Draft" | "Live" | "Archived" | "Paused" | "Canceled";
|
|
454
454
|
id: string;
|
|
455
|
+
title: string;
|
|
455
456
|
groupId: string;
|
|
456
457
|
version: number;
|
|
457
|
-
title: string;
|
|
458
458
|
createdAt: string;
|
|
459
459
|
schema: {
|
|
460
460
|
type: "trigger_step" | "review_task_step" | "translate_task_step" | "end_step";
|
|
@@ -516,9 +516,9 @@ declare const POST_WORKFLOW_RESPONSE: z.ZodObject<{
|
|
|
516
516
|
}, "strip", z.ZodTypeAny, {
|
|
517
517
|
status: "Draft" | "Live" | "Archived" | "Paused" | "Canceled";
|
|
518
518
|
id: string;
|
|
519
|
+
title: string;
|
|
519
520
|
groupId: string;
|
|
520
521
|
version: number;
|
|
521
|
-
title: string;
|
|
522
522
|
createdAt: string;
|
|
523
523
|
schema: {
|
|
524
524
|
type: "trigger_step" | "review_task_step" | "translate_task_step" | "end_step";
|
|
@@ -530,9 +530,9 @@ declare const POST_WORKFLOW_RESPONSE: z.ZodObject<{
|
|
|
530
530
|
}, {
|
|
531
531
|
status: "Draft" | "Live" | "Archived" | "Paused" | "Canceled";
|
|
532
532
|
id: string;
|
|
533
|
+
title: string;
|
|
533
534
|
groupId: string;
|
|
534
535
|
version: number;
|
|
535
|
-
title: string;
|
|
536
536
|
createdAt: string;
|
|
537
537
|
schema: {
|
|
538
538
|
type: "trigger_step" | "review_task_step" | "translate_task_step" | "end_step";
|
|
@@ -546,9 +546,9 @@ declare const POST_WORKFLOW_RESPONSE: z.ZodObject<{
|
|
|
546
546
|
data: {
|
|
547
547
|
status: "Draft" | "Live" | "Archived" | "Paused" | "Canceled";
|
|
548
548
|
id: string;
|
|
549
|
+
title: string;
|
|
549
550
|
groupId: string;
|
|
550
551
|
version: number;
|
|
551
|
-
title: string;
|
|
552
552
|
createdAt: string;
|
|
553
553
|
schema: {
|
|
554
554
|
type: "trigger_step" | "review_task_step" | "translate_task_step" | "end_step";
|
|
@@ -562,9 +562,9 @@ declare const POST_WORKFLOW_RESPONSE: z.ZodObject<{
|
|
|
562
562
|
data: {
|
|
563
563
|
status: "Draft" | "Live" | "Archived" | "Paused" | "Canceled";
|
|
564
564
|
id: string;
|
|
565
|
+
title: string;
|
|
565
566
|
groupId: string;
|
|
566
567
|
version: number;
|
|
567
|
-
title: string;
|
|
568
568
|
createdAt: string;
|
|
569
569
|
schema: {
|
|
570
570
|
type: "trigger_step" | "review_task_step" | "translate_task_step" | "end_step";
|
|
@@ -738,4 +738,12 @@ declare const TEMPLATE_IDS: readonly ["reviewTask", "translateTask", "translateA
|
|
|
738
738
|
type TemplateId = (typeof TEMPLATE_IDS)[number];
|
|
739
739
|
declare const TEMPLATES: Record<TemplateId, Template<string>>;
|
|
740
740
|
|
|
741
|
-
|
|
741
|
+
declare class LayoutTranslator {
|
|
742
|
+
translateTemplateToFrontendLayout<StateName extends string>(template: InternalTemplate<StateName>): FrontendLayout<StateName>;
|
|
743
|
+
translateFrontendLayoutToTemplate<StateName extends string>(frontendLayout: FrontendLayout<StateName>): Pick<InternalTemplate<StateName>, 'layout' | 'settings'> | undefined;
|
|
744
|
+
buildFrontendLayout<StateName extends string>(settings: StrictWorkflowLayoutSettings<StateName>): FrontendLayout<StateName>;
|
|
745
|
+
buildLayoutSettings<StateName extends string>(frontendLayout: FrontendLayout<StateName>): StrictWorkflowLayoutSettings<StateName>;
|
|
746
|
+
findTemplate<StateName extends string>(frontendLayout: FrontendLayout<StateName>): Template<StateName> | undefined;
|
|
747
|
+
}
|
|
748
|
+
|
|
749
|
+
export { API_ERROR, CREATE_TASK_STEP_SETTINGS_SCHEMA, CreateTaskExampleStepSettings, DELETE_WORKFLOW_PARAMS, DELETE_WORKFLOW_RESPONSE, END_STEP_SETTINGS, END_STEP_SETTINGS_SCHEMA, type EndStepSettings, type FrontendLayout, type FrontendLayoutStep, GET_WORKFLOW_LIST_PARAMS, GET_WORKFLOW_LIST_RESPONSE, GET_WORKFLOW_PARAMS, GET_WORKFLOW_RESPONSE, type GetWorkflowListParams, type GetWorkflowListResponse, LayoutTranslator, METADATA_FIELDS, PATCH_PAUSE_WORKFLOW_PARAMS, PATCH_PAUSE_WORKFLOW_RESPONSE, PATCH_RESUME_WORKFLOW_PARAMS, PATCH_RESUME_WORKFLOW_RESPONSE, POST_DUPLICATE_WORKFLOW_PARAMS, POST_DUPLICATE_WORKFLOW_RESPONSE, POST_WORKFLOW_BODY, POST_WORKFLOW_PARAMS, POST_WORKFLOW_RESPONSE, type PostWorkflowBody, type PostWorkflowParams, type PostWorkflowResponse, REVIEW_TASK_STEP_SETTINGS, REVIEW_TASK_STEP_SETTINGS_SCHEMA, type ReviewTaskStepSettings, SCHEDULED_TRIGGER_STEP_SETTINGS, SCHEDULED_TRIGGER_STEP_SETTINGS_SCHEMA, START_KEYS_STEP_SETTINGS_SCHEMA, STEP_TYPES, type ScheduledTriggerStepSettings, type StepType, TEMPLATES, TRANSLATE_TASK_STEP_SETTINGS, TRANSLATE_TASK_STEP_SETTINGS_SCHEMA, TRIGGER_TYPE, type Template, type TemplateId, type TranslateTaskStepSettings, WORKFLOW, WORKFLOW_EXTENDED, WORKFLOW_EXTENDED_SCHEMA, WORKFLOW_STATUS, type Workflow, type WorkflowExtended, type WorkflowExtendedSchema };
|
package/dist/index.mjs
CHANGED
|
@@ -5,6 +5,59 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
|
|
|
5
5
|
import { COMMON_ERROR_RESPONSE_SCHEMA } from "@lokalise/api-common";
|
|
6
6
|
import z2 from "zod";
|
|
7
7
|
|
|
8
|
+
// src/workflow/LayoutTranslator.ts
|
|
9
|
+
import { areStringArraysEqual } from "@lokalise/universal-ts-utils/dist/areStringArraysEqual.js";
|
|
10
|
+
var LayoutTranslator = class {
|
|
11
|
+
static {
|
|
12
|
+
__name(this, "LayoutTranslator");
|
|
13
|
+
}
|
|
14
|
+
translateTemplateToFrontendLayout(template) {
|
|
15
|
+
return this.buildFrontendLayout(template.settings);
|
|
16
|
+
}
|
|
17
|
+
translateFrontendLayoutToTemplate(frontendLayout) {
|
|
18
|
+
const template = this.findTemplate(frontendLayout);
|
|
19
|
+
if (!template) {
|
|
20
|
+
return void 0;
|
|
21
|
+
}
|
|
22
|
+
const layoutSettings = this.buildLayoutSettings(frontendLayout);
|
|
23
|
+
return {
|
|
24
|
+
layout: template.layout,
|
|
25
|
+
settings: layoutSettings
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
buildFrontendLayout(settings) {
|
|
29
|
+
return Object.entries(settings).map(([id, step]) => {
|
|
30
|
+
const { stepType, ...values } = step;
|
|
31
|
+
return {
|
|
32
|
+
id,
|
|
33
|
+
type: stepType,
|
|
34
|
+
values
|
|
35
|
+
};
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
buildLayoutSettings(frontendLayout) {
|
|
39
|
+
return frontendLayout.reduce(
|
|
40
|
+
(acc, frontendStep) => {
|
|
41
|
+
acc[frontendStep.id] = { ...frontendStep.values, stepType: frontendStep.type };
|
|
42
|
+
return acc;
|
|
43
|
+
},
|
|
44
|
+
{}
|
|
45
|
+
);
|
|
46
|
+
}
|
|
47
|
+
findTemplate(frontendLayout) {
|
|
48
|
+
const frontendLayoutStepIds = frontendLayout.map((step) => step.id);
|
|
49
|
+
const result = Object.entries(TEMPLATES).find(([_2, template2]) => {
|
|
50
|
+
const templateStepIds = template2.frontendLayout.map((step) => step.id);
|
|
51
|
+
return areStringArraysEqual(frontendLayoutStepIds, templateStepIds);
|
|
52
|
+
});
|
|
53
|
+
if (!result) {
|
|
54
|
+
return void 0;
|
|
55
|
+
}
|
|
56
|
+
const [_, template] = result;
|
|
57
|
+
return template;
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
|
|
8
61
|
// src/workflow/steps.ts
|
|
9
62
|
import { WORKFLOW_LAYOUT_STEP_SETTINGS } from "@lokalise/maestro-common";
|
|
10
63
|
import { z } from "zod";
|
|
@@ -209,20 +262,13 @@ var TRANSLATE_TASK_TEMPLATE = {
|
|
|
209
262
|
// src/templates/schemas.ts
|
|
210
263
|
var TEMPLATE_IDS = ["reviewTask", "translateTask", "translateAndReviewTask"];
|
|
211
264
|
var buildTemplate = /* @__PURE__ */ __name((internalTemplate) => {
|
|
212
|
-
const
|
|
265
|
+
const layoutTranslator = new LayoutTranslator();
|
|
266
|
+
const frontendLayout = layoutTranslator.translateTemplateToFrontendLayout(internalTemplate);
|
|
213
267
|
return {
|
|
214
268
|
...internalTemplate,
|
|
215
269
|
frontendLayout
|
|
216
270
|
};
|
|
217
271
|
}, "buildTemplate");
|
|
218
|
-
var buildFrontendLayout = /* @__PURE__ */ __name((template) => Object.entries(template.settings).map(([id, step]) => {
|
|
219
|
-
const { stepType, ...values } = step;
|
|
220
|
-
return {
|
|
221
|
-
id,
|
|
222
|
-
type: stepType,
|
|
223
|
-
values
|
|
224
|
-
};
|
|
225
|
-
}), "buildFrontendLayout");
|
|
226
272
|
var TEMPLATES = {
|
|
227
273
|
reviewTask: buildTemplate(REVIEW_TASK_TEMPLATE),
|
|
228
274
|
translateTask: buildTemplate(TRANSLATE_TASK_TEMPLATE),
|
|
@@ -334,6 +380,7 @@ export {
|
|
|
334
380
|
GET_WORKFLOW_LIST_RESPONSE,
|
|
335
381
|
GET_WORKFLOW_PARAMS,
|
|
336
382
|
GET_WORKFLOW_RESPONSE,
|
|
383
|
+
LayoutTranslator,
|
|
337
384
|
METADATA_FIELDS,
|
|
338
385
|
PATCH_PAUSE_WORKFLOW_PARAMS,
|
|
339
386
|
PATCH_PAUSE_WORKFLOW_RESPONSE,
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/apiContract/schemas.ts","../src/workflow/steps.ts","../src/templates/resources/review-task.template.ts","../src/templates/resources/translate-and-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 { STEP_TYPES } from '../workflow/steps.js'\n\n// COMMON SCHEMAS\nconst DATETIME = z.string().datetime()\nconst WORKFLOW_ID = z.string().max(36)\nconst TEMPLATE_ID = z.enum(TEMPLATE_IDS).describe('Template identifier')\nconst GROUP_ID = z\n .string()\n .max(255)\n .describe(\n 'Generated group identifier, which should be unique across Expert and Flow (example: 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\n// GET WORKFLOW\nexport const GET_WORKFLOW_PARAMS = z\n .object({\n groupId: GROUP_ID,\n workflowId: WORKFLOW_ID,\n })\n .describe('URL parameters for getting a workflow')\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_SCHEMA = 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 }),\n )\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 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 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\n// LIST WORKFLOWS\nexport const GET_WORKFLOW_LIST_PARAMS = z.object({\n groupId: GROUP_ID,\n})\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 = z.object({\n groupId: GROUP_ID,\n workflowId: WORKFLOW_ID,\n})\n\nexport const PATCH_PAUSE_WORKFLOW_RESPONSE = z.null({\n description: 'Successfully paused workflow',\n})\n\n// RESUME WORKFLOW\nexport const PATCH_RESUME_WORKFLOW_PARAMS = z.object({\n groupId: GROUP_ID,\n workflowId: WORKFLOW_ID,\n})\n\nexport const PATCH_RESUME_WORKFLOW_RESPONSE = z.null({\n description: 'Successfully resumed workflow',\n})\n\n// DUPLICATE WORKFLOW\nexport const POST_DUPLICATE_WORKFLOW_PARAMS = z.object({\n groupId: GROUP_ID,\n workflowId: WORKFLOW_ID,\n})\n\nexport const POST_DUPLICATE_WORKFLOW_RESPONSE = GET_WORKFLOW_RESPONSE\n\n// DELETE WORKFLOW\nexport const DELETE_WORKFLOW_PARAMS = z.object({\n groupId: GROUP_ID,\n workflowId: WORKFLOW_ID,\n})\n\nexport const DELETE_WORKFLOW_RESPONSE = z.null({\n description: 'Successfully deleted workflow',\n})\n\n// CREATE WORKFLOW\nexport const POST_WORKFLOW_PARAMS = z\n .object({\n groupId: GROUP_ID,\n })\n .describe('URL parameters for creating a workflow')\n\nexport const POST_WORKFLOW_BODY = z\n .nullable(\n z.object({\n templateId: TEMPLATE_ID.optional(),\n }),\n )\n .describe('URL parameters for creating a workflow')\n\nexport const POST_WORKFLOW_RESPONSE = z.object({\n data: WORKFLOW_EXTENDED,\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","import { WORKFLOW_LAYOUT_STEP_SETTINGS } from '@lokalise/maestro-common'\nimport { z } from 'zod'\n\nexport const START_KEYS_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS.extend({\n name: z.string(),\n description: z.string(),\n autoMarkAsUnverified: z.boolean(),\n runOnSchedule: z.boolean(),\n monitoredLanguageId: z.number(),\n targetLanguageId: z.number(),\n monitoredKeyType: z.enum(['new', 'updated', 'both']),\n})\n\nexport const CREATE_TASK_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS.extend({\n taskType: z.enum(['translate', 'review']),\n dueDate: z.union([z.number(), z.string()]),\n})\n\nexport const CreateTaskExampleStepSettings = CREATE_TASK_STEP_SETTINGS_SCHEMA.parse({\n stepType: 'create_task',\n taskType: 'translate',\n dueDate: 5,\n})\n\nexport const STEP_TYPES = [\n 'trigger_step',\n 'review_task_step',\n 'translate_task_step',\n 'end_step',\n] as const\nexport type StepType = (typeof STEP_TYPES)[number]\n\n// SCHEDULED_TRIGGER_STEP\nexport const SCHEDULED_TRIGGER_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS.extend({\n runOnSchedule: z.boolean(),\n monitoredKeyType: z.enum(['new', 'updated', 'both']),\n monitoredLanguageId: z.optional(z.number()),\n targetLanguageIds: z.array(z.number()),\n})\nexport type ScheduledTriggerStepSettings = z.infer<\n typeof SCHEDULED_TRIGGER_STEP_SETTINGS_SCHEMA\n> & {\n stepType: StepType\n}\nexport const SCHEDULED_TRIGGER_STEP_SETTINGS: ScheduledTriggerStepSettings = {\n stepType: 'trigger_step',\n runOnSchedule: true,\n monitoredLanguageId: undefined,\n targetLanguageIds: [],\n monitoredKeyType: 'new',\n}\n\n// REVIEW_TASK_STEP\nexport const REVIEW_TASK_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS\nexport type ReviewTaskStepSettings = z.infer<typeof REVIEW_TASK_STEP_SETTINGS_SCHEMA> & {\n stepType: StepType\n}\nexport const REVIEW_TASK_STEP_SETTINGS: ReviewTaskStepSettings = {\n stepType: 'review_task_step',\n}\n\n// TRANSLATE_TASK_STEP\nexport const TRANSLATE_TASK_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS\nexport type TranslateTaskStepSettings = z.infer<typeof TRANSLATE_TASK_STEP_SETTINGS_SCHEMA> & {\n stepType: StepType\n}\nexport const TRANSLATE_TASK_STEP_SETTINGS: TranslateTaskStepSettings = {\n stepType: 'translate_task_step',\n}\n\n// END_STEP\nexport const END_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS\nexport type EndStepSettings = z.infer<typeof END_STEP_SETTINGS_SCHEMA> & {\n stepType: StepType\n}\nexport const END_STEP_SETTINGS: EndStepSettings = {\n stepType: 'end_step',\n}\n","import {\n END_STEP_SETTINGS,\n REVIEW_TASK_STEP_SETTINGS,\n 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 to 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 TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: SCHEDULED_TRIGGER_STEP_SETTINGS,\n ReviewTaskStep: REVIEW_TASK_STEP_SETTINGS,\n EndStep: END_STEP_SETTINGS,\n },\n }\n","import {\n END_STEP_SETTINGS,\n REVIEW_TASK_STEP_SETTINGS,\n SCHEDULED_TRIGGER_STEP_SETTINGS,\n 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: 'translate',\n },\n },\n ],\n on: {\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 TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: SCHEDULED_TRIGGER_STEP_SETTINGS,\n TranslateTaskStep: TRANSLATE_TASK_STEP_SETTINGS,\n ReviewTaskStep: REVIEW_TASK_STEP_SETTINGS,\n EndStep: END_STEP_SETTINGS,\n },\n}\n","import {\n END_STEP_SETTINGS,\n SCHEDULED_TRIGGER_STEP_SETTINGS,\n 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 to 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: 'translate',\n },\n },\n ],\n on: {\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: SCHEDULED_TRIGGER_STEP_SETTINGS,\n TranslateTaskStep: TRANSLATE_TASK_STEP_SETTINGS,\n EndStep: END_STEP_SETTINGS,\n },\n}\n","import type { StepType } from '../workflow/steps.js'\nimport { REVIEW_TASK_TEMPLATE } from './resources/review-task.template.js'\nimport { TRANSLATE_AND_REVIEW_TASK_TEMPLATE } from './resources/translate-and-review-task.template.js'\nimport { TRANSLATE_TASK_TEMPLATE } from './resources/translate-task.template.js'\nimport type { FrontendLayout, InternalTemplate, Template } from './types.js'\n\nexport const TEMPLATE_IDS = ['reviewTask', 'translateTask', 'translateAndReviewTask'] 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 frontendLayout = buildFrontendLayout(internalTemplate)\n\n return {\n ...internalTemplate,\n frontendLayout,\n }\n}\n\nconst buildFrontendLayout = <StateName extends string>(\n template: InternalTemplate<StateName>,\n): FrontendLayout<StateName> =>\n Object.entries(template.settings).map(([id, step]) => {\n const { stepType, ...values } = step\n return {\n id: id as StateName,\n type: stepType as StepType,\n values,\n }\n })\n\nexport const TEMPLATES: Record<TemplateId, Template<string>> = {\n reviewTask: buildTemplate(REVIEW_TASK_TEMPLATE),\n translateTask: buildTemplate(TRANSLATE_TASK_TEMPLATE),\n translateAndReviewTask: buildTemplate(TRANSLATE_AND_REVIEW_TASK_TEMPLATE),\n}\n"],"mappings":"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","names":["z","z"]}
|
|
1
|
+
{"version":3,"sources":["../src/apiContract/schemas.ts","../src/workflow/LayoutTranslator.ts","../src/workflow/steps.ts","../src/templates/resources/review-task.template.ts","../src/templates/resources/translate-and-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 { STEP_TYPES } from '../workflow/steps.js'\n\n// COMMON SCHEMAS\nconst DATETIME = z.string().datetime()\nconst WORKFLOW_ID = z.string().max(36)\nconst TEMPLATE_ID = z.enum(TEMPLATE_IDS).describe('Template identifier')\nconst GROUP_ID = z\n .string()\n .max(255)\n .describe(\n 'Generated group identifier, which should be unique across Expert and Flow (example: 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\n// GET WORKFLOW\nexport const GET_WORKFLOW_PARAMS = z\n .object({\n groupId: GROUP_ID,\n workflowId: WORKFLOW_ID,\n })\n .describe('URL parameters for getting a workflow')\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_SCHEMA = 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 }),\n )\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 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 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\n// LIST WORKFLOWS\nexport const GET_WORKFLOW_LIST_PARAMS = z.object({\n groupId: GROUP_ID,\n})\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 = z.object({\n groupId: GROUP_ID,\n workflowId: WORKFLOW_ID,\n})\n\nexport const PATCH_PAUSE_WORKFLOW_RESPONSE = z.null({\n description: 'Successfully paused workflow',\n})\n\n// RESUME WORKFLOW\nexport const PATCH_RESUME_WORKFLOW_PARAMS = z.object({\n groupId: GROUP_ID,\n workflowId: WORKFLOW_ID,\n})\n\nexport const PATCH_RESUME_WORKFLOW_RESPONSE = z.null({\n description: 'Successfully resumed workflow',\n})\n\n// DUPLICATE WORKFLOW\nexport const POST_DUPLICATE_WORKFLOW_PARAMS = z.object({\n groupId: GROUP_ID,\n workflowId: WORKFLOW_ID,\n})\n\nexport const POST_DUPLICATE_WORKFLOW_RESPONSE = GET_WORKFLOW_RESPONSE\n\n// DELETE WORKFLOW\nexport const DELETE_WORKFLOW_PARAMS = z.object({\n groupId: GROUP_ID,\n workflowId: WORKFLOW_ID,\n})\n\nexport const DELETE_WORKFLOW_RESPONSE = z.null({\n description: 'Successfully deleted workflow',\n})\n\n// CREATE WORKFLOW\nexport const POST_WORKFLOW_PARAMS = z\n .object({\n groupId: GROUP_ID,\n })\n .describe('URL parameters for creating a workflow')\n\nexport const POST_WORKFLOW_BODY = z\n .nullable(\n z.object({\n templateId: TEMPLATE_ID.optional(),\n }),\n )\n .describe('URL parameters for creating a workflow')\n\nexport const POST_WORKFLOW_RESPONSE = z.object({\n data: WORKFLOW_EXTENDED,\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","import { areStringArraysEqual } from '@lokalise/universal-ts-utils/dist/areStringArraysEqual.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 { StepType } from './steps.js'\n\nexport class LayoutTranslator {\n public translateTemplateToFrontendLayout<StateName extends string>(\n template: InternalTemplate<StateName>,\n ): FrontendLayout<StateName> {\n return this.buildFrontendLayout<StateName>(template.settings)\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 ): FrontendLayout<StateName> {\n return Object.entries(settings).map(([id, step]) => {\n const { stepType, ...values } = step\n return {\n id: id as StateName,\n type: stepType as StepType,\n values,\n }\n })\n }\n\n buildLayoutSettings<StateName extends string>(\n frontendLayout: FrontendLayout<StateName>,\n ): StrictWorkflowLayoutSettings<StateName> {\n return frontendLayout.reduce(\n (acc, frontendStep) => {\n acc[frontendStep.id] = { ...frontendStep.values, stepType: frontendStep.type }\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 { WORKFLOW_LAYOUT_STEP_SETTINGS } from '@lokalise/maestro-common'\nimport { z } from 'zod'\n\nexport const START_KEYS_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS.extend({\n name: z.string(),\n description: z.string(),\n autoMarkAsUnverified: z.boolean(),\n runOnSchedule: z.boolean(),\n monitoredLanguageId: z.number(),\n targetLanguageId: z.number(),\n monitoredKeyType: z.enum(['new', 'updated', 'both']),\n})\n\nexport const CREATE_TASK_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS.extend({\n taskType: z.enum(['translate', 'review']),\n dueDate: z.union([z.number(), z.string()]),\n})\n\nexport const CreateTaskExampleStepSettings = CREATE_TASK_STEP_SETTINGS_SCHEMA.parse({\n stepType: 'create_task',\n taskType: 'translate',\n dueDate: 5,\n})\n\nexport const STEP_TYPES = [\n 'trigger_step',\n 'review_task_step',\n 'translate_task_step',\n 'end_step',\n] as const\nexport type StepType = (typeof STEP_TYPES)[number]\n\n// SCHEDULED_TRIGGER_STEP\nexport const SCHEDULED_TRIGGER_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS.extend({\n runOnSchedule: z.boolean(),\n monitoredKeyType: z.enum(['new', 'updated', 'both']),\n monitoredLanguageId: z.optional(z.number()),\n targetLanguageIds: z.array(z.number()),\n})\nexport type ScheduledTriggerStepSettings = z.infer<\n typeof SCHEDULED_TRIGGER_STEP_SETTINGS_SCHEMA\n> & {\n stepType: StepType\n}\nexport const SCHEDULED_TRIGGER_STEP_SETTINGS: ScheduledTriggerStepSettings = {\n stepType: 'trigger_step',\n runOnSchedule: true,\n monitoredLanguageId: undefined,\n targetLanguageIds: [],\n monitoredKeyType: 'new',\n}\n\n// REVIEW_TASK_STEP\nexport const REVIEW_TASK_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS\nexport type ReviewTaskStepSettings = z.infer<typeof REVIEW_TASK_STEP_SETTINGS_SCHEMA> & {\n stepType: StepType\n}\nexport const REVIEW_TASK_STEP_SETTINGS: ReviewTaskStepSettings = {\n stepType: 'review_task_step',\n}\n\n// TRANSLATE_TASK_STEP\nexport const TRANSLATE_TASK_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS\nexport type TranslateTaskStepSettings = z.infer<typeof TRANSLATE_TASK_STEP_SETTINGS_SCHEMA> & {\n stepType: StepType\n}\nexport const TRANSLATE_TASK_STEP_SETTINGS: TranslateTaskStepSettings = {\n stepType: 'translate_task_step',\n}\n\n// END_STEP\nexport const END_STEP_SETTINGS_SCHEMA = WORKFLOW_LAYOUT_STEP_SETTINGS\nexport type EndStepSettings = z.infer<typeof END_STEP_SETTINGS_SCHEMA> & {\n stepType: StepType\n}\nexport const END_STEP_SETTINGS: EndStepSettings = {\n stepType: 'end_step',\n}\n","import {\n END_STEP_SETTINGS,\n REVIEW_TASK_STEP_SETTINGS,\n 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 to 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 TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: SCHEDULED_TRIGGER_STEP_SETTINGS,\n ReviewTaskStep: REVIEW_TASK_STEP_SETTINGS,\n EndStep: END_STEP_SETTINGS,\n },\n }\n","import {\n END_STEP_SETTINGS,\n REVIEW_TASK_STEP_SETTINGS,\n SCHEDULED_TRIGGER_STEP_SETTINGS,\n 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: 'translate',\n },\n },\n ],\n on: {\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 TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: SCHEDULED_TRIGGER_STEP_SETTINGS,\n TranslateTaskStep: TRANSLATE_TASK_STEP_SETTINGS,\n ReviewTaskStep: REVIEW_TASK_STEP_SETTINGS,\n EndStep: END_STEP_SETTINGS,\n },\n}\n","import {\n END_STEP_SETTINGS,\n SCHEDULED_TRIGGER_STEP_SETTINGS,\n 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 to 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: 'translate',\n },\n },\n ],\n on: {\n TaskClosedEvent: {\n target: 'EndStep',\n },\n },\n },\n EndStep: {\n type: 'final',\n },\n },\n },\n settings: {\n TriggerStep: SCHEDULED_TRIGGER_STEP_SETTINGS,\n TranslateTaskStep: TRANSLATE_TASK_STEP_SETTINGS,\n EndStep: END_STEP_SETTINGS,\n },\n}\n","import { LayoutTranslator } from '../workflow/LayoutTranslator.js'\nimport { REVIEW_TASK_TEMPLATE } from './resources/review-task.template.js'\nimport { TRANSLATE_AND_REVIEW_TASK_TEMPLATE } from './resources/translate-and-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 = ['reviewTask', 'translateTask', 'translateAndReviewTask'] 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 reviewTask: buildTemplate(REVIEW_TASK_TEMPLATE),\n translateTask: buildTemplate(TRANSLATE_TASK_TEMPLATE),\n translateAndReviewTask: buildTemplate(TRANSLATE_AND_REVIEW_TASK_TEMPLATE),\n}\n"],"mappings":"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","names":["z","_","template","z"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lokalise/maestro-expert-tenant-lib",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"homepage": "https://github.com/lokalise/maestro",
|
|
6
6
|
"description": "This library provides shared objects, types and zod schemas for Maestro",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"@biomejs/biome": "^1.8.3",
|
|
46
46
|
"@lokalise/biome-config": "^1.3.0",
|
|
47
47
|
"@lokalise/maestro-common": "^1.0.3",
|
|
48
|
-
"@types/node": "^22.1
|
|
48
|
+
"@types/node": "^22.4.1",
|
|
49
49
|
"@vitest/coverage-v8": "^2.0.5",
|
|
50
50
|
"auto-changelog": "^2.4.0",
|
|
51
51
|
"tslib": "^2.6.3",
|
|
@@ -54,7 +54,8 @@
|
|
|
54
54
|
"vitest": "^2.0.5"
|
|
55
55
|
},
|
|
56
56
|
"dependencies": {
|
|
57
|
-
"@lokalise/api-common": "^3.2.5"
|
|
57
|
+
"@lokalise/api-common": "^3.2.5",
|
|
58
|
+
"@lokalise/universal-ts-utils": "^1.1.0"
|
|
58
59
|
},
|
|
59
60
|
"peerDependencies": {
|
|
60
61
|
"@lokalise/maestro-common": "^1.0.3",
|