@lokalise/maestro-expert-tenant-lib 4.0.0 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/templates/types.d.ts +10 -10
- package/dist/workflow/LayoutTranslator.d.ts +16 -7
- package/dist/workflow/LayoutTranslator.js +49 -2
- package/dist/workflow/LayoutTranslator.js.map +1 -1
- package/dist/workflow/steps.d.ts +5 -0
- package/dist/workflow/steps.js +94 -0
- package/dist/workflow/steps.js.map +1 -1
- package/package.json +1 -1
|
@@ -23,40 +23,40 @@ type StrictWorkflowLayoutStepSettingsList = WorkflowLayoutStepSettingsList & {
|
|
|
23
23
|
export type StrictWorkflowLayoutSettings<StateName extends string> = StrictWorkflowLayoutStepSettingsList & {
|
|
24
24
|
[key in StateName]: StrictWorkflowLayoutStepSettings;
|
|
25
25
|
};
|
|
26
|
-
export type FrontendLayoutStep
|
|
27
|
-
id:
|
|
26
|
+
export type FrontendLayoutStep = {
|
|
27
|
+
id: string;
|
|
28
28
|
type: 'trigger_step';
|
|
29
29
|
values: Record<string, unknown>;
|
|
30
30
|
triggerType: string;
|
|
31
31
|
} | {
|
|
32
|
-
id:
|
|
32
|
+
id: string;
|
|
33
33
|
type: 'translate_task_step';
|
|
34
34
|
values: Record<string, unknown>;
|
|
35
35
|
taskType: string;
|
|
36
36
|
} | {
|
|
37
|
-
id:
|
|
37
|
+
id: string;
|
|
38
38
|
type: 'review_task_step';
|
|
39
39
|
values: Record<string, unknown>;
|
|
40
40
|
taskType: string;
|
|
41
41
|
} | {
|
|
42
|
-
id:
|
|
42
|
+
id: string;
|
|
43
43
|
type: 'clear_translations_step';
|
|
44
44
|
values: Record<string, unknown>;
|
|
45
45
|
} | {
|
|
46
|
-
id:
|
|
46
|
+
id: string;
|
|
47
47
|
type: 'apply_tm_step';
|
|
48
48
|
values: Record<string, unknown>;
|
|
49
49
|
} | {
|
|
50
|
-
id:
|
|
50
|
+
id: string;
|
|
51
51
|
type: 'ai_mt_translation_step';
|
|
52
52
|
values: Record<string, unknown>;
|
|
53
53
|
taskType: string;
|
|
54
54
|
} | {
|
|
55
|
-
id:
|
|
55
|
+
id: string;
|
|
56
56
|
type: 'end_step';
|
|
57
57
|
values: Record<string, unknown>;
|
|
58
58
|
};
|
|
59
|
-
export type FrontendLayout
|
|
59
|
+
export type FrontendLayout = FrontendLayoutStep[];
|
|
60
60
|
export type InternalTemplate<StateName extends string> = BaseTemplate<StateName> & {
|
|
61
61
|
id: TemplateId;
|
|
62
62
|
title: string;
|
|
@@ -68,6 +68,6 @@ export type InternalTemplate<StateName extends string> = BaseTemplate<StateName>
|
|
|
68
68
|
gateLevel: number;
|
|
69
69
|
};
|
|
70
70
|
export type Template<StateName extends string> = InternalTemplate<StateName> & {
|
|
71
|
-
frontendLayout: FrontendLayout
|
|
71
|
+
frontendLayout: FrontendLayout;
|
|
72
72
|
};
|
|
73
73
|
export {};
|
|
@@ -1,14 +1,23 @@
|
|
|
1
|
-
import type { LayoutTranslatorInterface, WorkflowLayout, WorkflowLayoutStepSettingsList, WorkflowMetadata } from '@lokalise/maestro-common';
|
|
1
|
+
import type { LayoutTranslatorInterface, WorkflowLayout, WorkflowLayoutStep, WorkflowLayoutStepSettingsList, WorkflowMetadata } from '@lokalise/maestro-common';
|
|
2
2
|
import type { FrontendLayout, InternalTemplate, StrictWorkflowLayoutSettings, Template } from '../templates/types.js';
|
|
3
|
+
import { type StepType, type StrictFrontendStep } from './steps.js';
|
|
3
4
|
export declare class LayoutTranslator implements LayoutTranslatorInterface {
|
|
4
|
-
translateTemplateToFrontendLayout<StateName extends string>(template: InternalTemplate<StateName>): FrontendLayout
|
|
5
|
-
translateFrontendLayoutToTemplate<StateName extends string>(frontendLayout: FrontendLayout
|
|
6
|
-
|
|
5
|
+
translateTemplateToFrontendLayout<StateName extends string>(template: InternalTemplate<StateName>): FrontendLayout;
|
|
6
|
+
translateFrontendLayoutToTemplate<StateName extends string>(frontendLayout: FrontendLayout): Pick<InternalTemplate<StateName>, 'layout' | 'settings'> | undefined;
|
|
7
|
+
translateFrontendLayoutToBackendLayout(frontendLayout: StrictFrontendStep[]): {
|
|
8
|
+
layout: WorkflowLayout;
|
|
9
|
+
settings: WorkflowLayoutStepSettingsList;
|
|
10
|
+
} | undefined;
|
|
11
|
+
buildFrontendLayout<StateName extends string>(settings: StrictWorkflowLayoutSettings<StateName>, sort?: StateName[]): FrontendLayout;
|
|
7
12
|
getStepSortFromLayout(layout: WorkflowLayout): string[];
|
|
8
13
|
buildWorkflowMetadata({ settings, }: Pick<InternalTemplate<string>, 'settings'>): WorkflowMetadata;
|
|
9
14
|
getTriggerSchedulerExpression(settings: WorkflowLayoutStepSettingsList): string | undefined;
|
|
10
15
|
getTriggerSchedulerStartDate(settings: WorkflowLayoutStepSettingsList): string | undefined;
|
|
11
|
-
getTemplateGateLevel
|
|
12
|
-
|
|
13
|
-
|
|
16
|
+
getTemplateGateLevel(frontendLayout: FrontendLayout): number | undefined;
|
|
17
|
+
buildStrictLayoutSettings<StateName extends string>(frontendLayout: FrontendLayout): StrictWorkflowLayoutSettings<StateName>;
|
|
18
|
+
buildCustomLayoutSettings(frontendLayout: StrictFrontendStep[]): Record<string, import("zod").objectOutputType<{
|
|
19
|
+
stepType: import("zod").ZodString;
|
|
20
|
+
}, import("zod").ZodTypeAny, "passthrough">>;
|
|
21
|
+
findTemplate<StateName extends string>(frontendLayout: FrontendLayout): Template<StateName> | undefined;
|
|
22
|
+
buildInternalStep(stepType: StepType, nextStep?: StrictFrontendStep): WorkflowLayoutStep | undefined;
|
|
14
23
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { areDeepEqual } from '@lokalise/universal-ts-utils/node';
|
|
2
2
|
import { TEMPLATES } from '../templates/schemas.js';
|
|
3
|
+
import { FRONTEND_TO_BACKEND_STEPS_MAP, } from './steps.js';
|
|
3
4
|
export class LayoutTranslator {
|
|
4
5
|
translateTemplateToFrontendLayout(template) {
|
|
5
6
|
return this.buildFrontendLayout(template.settings, template.sort);
|
|
@@ -9,12 +10,30 @@ export class LayoutTranslator {
|
|
|
9
10
|
if (!template) {
|
|
10
11
|
return undefined;
|
|
11
12
|
}
|
|
12
|
-
const layoutSettings = this.
|
|
13
|
+
const layoutSettings = this.buildStrictLayoutSettings(frontendLayout);
|
|
13
14
|
return {
|
|
14
15
|
layout: template.layout,
|
|
15
16
|
settings: layoutSettings,
|
|
16
17
|
};
|
|
17
18
|
}
|
|
19
|
+
translateFrontendLayoutToBackendLayout(frontendLayout) {
|
|
20
|
+
const internalLayout = { initial: 'TriggerStep', states: {} };
|
|
21
|
+
for (const idx in frontendLayout) {
|
|
22
|
+
if (frontendLayout[idx] === undefined) {
|
|
23
|
+
return undefined;
|
|
24
|
+
}
|
|
25
|
+
const backendStep = this.buildInternalStep(frontendLayout[idx].type, frontendLayout[Number.parseInt(idx) + 1] ?? undefined);
|
|
26
|
+
if (backendStep === undefined) {
|
|
27
|
+
return undefined;
|
|
28
|
+
}
|
|
29
|
+
internalLayout.states[frontendLayout[idx].id] = backendStep;
|
|
30
|
+
}
|
|
31
|
+
const layoutSettings = this.buildCustomLayoutSettings(frontendLayout);
|
|
32
|
+
return {
|
|
33
|
+
layout: internalLayout,
|
|
34
|
+
settings: layoutSettings,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
18
37
|
buildFrontendLayout(settings, sort = []) {
|
|
19
38
|
return Object.keys(settings)
|
|
20
39
|
.sort((a, b) => sort.indexOf(a) - sort.indexOf(b))
|
|
@@ -89,7 +108,23 @@ export class LayoutTranslator {
|
|
|
89
108
|
}
|
|
90
109
|
return template.gateLevel;
|
|
91
110
|
}
|
|
92
|
-
|
|
111
|
+
buildStrictLayoutSettings(frontendLayout) {
|
|
112
|
+
return frontendLayout.reduce((acc, frontendStep) => {
|
|
113
|
+
const step = {
|
|
114
|
+
...frontendStep.values,
|
|
115
|
+
stepType: frontendStep.type,
|
|
116
|
+
triggerType: frontendStep.type === 'trigger_step' ? frontendStep.triggerType : undefined,
|
|
117
|
+
taskType: frontendStep.type === 'translate_task_step' ||
|
|
118
|
+
frontendStep.type === 'review_task_step' ||
|
|
119
|
+
frontendStep.type === 'ai_mt_translation_step'
|
|
120
|
+
? frontendStep.taskType
|
|
121
|
+
: undefined,
|
|
122
|
+
};
|
|
123
|
+
acc[frontendStep.id] = Object.fromEntries(Object.entries(step).filter(([_, value]) => value !== undefined));
|
|
124
|
+
return acc;
|
|
125
|
+
}, {});
|
|
126
|
+
}
|
|
127
|
+
buildCustomLayoutSettings(frontendLayout) {
|
|
93
128
|
return frontendLayout.reduce((acc, frontendStep) => {
|
|
94
129
|
const step = {
|
|
95
130
|
...frontendStep.values,
|
|
@@ -117,5 +152,17 @@ export class LayoutTranslator {
|
|
|
117
152
|
const [_, template] = result;
|
|
118
153
|
return template;
|
|
119
154
|
}
|
|
155
|
+
buildInternalStep(stepType, nextStep) {
|
|
156
|
+
const targetId = nextStep?.id;
|
|
157
|
+
if (stepType !== 'end_step' && !targetId) {
|
|
158
|
+
// We can't have anything after the END step
|
|
159
|
+
return undefined;
|
|
160
|
+
}
|
|
161
|
+
const stepBuilder = FRONTEND_TO_BACKEND_STEPS_MAP[stepType];
|
|
162
|
+
if (!stepBuilder) {
|
|
163
|
+
return undefined;
|
|
164
|
+
}
|
|
165
|
+
return stepBuilder(targetId);
|
|
166
|
+
}
|
|
120
167
|
}
|
|
121
168
|
//# sourceMappingURL=LayoutTranslator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LayoutTranslator.js","sourceRoot":"","sources":["../../src/workflow/LayoutTranslator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LayoutTranslator.js","sourceRoot":"","sources":["../../src/workflow/LayoutTranslator.ts"],"names":[],"mappings":"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"}
|
package/dist/workflow/steps.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { FrontendStep, WorkflowLayoutStep } from '@lokalise/maestro-common';
|
|
1
2
|
export { SCHEDULED_TRIGGER_STEP_FORM_SCHEMA, SCHEDULED_TRIGGER_STEP_SETTINGS_SCHEMA, DEFAULT_SCHEDULED_TRIGGER_STEP_SETTINGS, } from './steps/scheduledTriggerStep.js';
|
|
2
3
|
export type { ScheduledTriggerStepForm, ScheduledTriggerStepSettings, } from './steps/scheduledTriggerStep.js';
|
|
3
4
|
export { AI_MT_TRANSLATION_STEP_FORM_SCHEMA, AI_MT_TRANSLATION_STEP_SETTINGS_SCHEMA, DEFAULT_AI_MT_TRANSLATION_STEP_SETTINGS, } from './steps/aiMtTranslationStep.js';
|
|
@@ -13,3 +14,7 @@ export type { EndStepForm, EndStepSettings } from './steps/endStep.js';
|
|
|
13
14
|
export declare const STEP_TYPES: readonly ["trigger_step", "review_task_step", "translate_task_step", "clear_translations_step", "apply_tm_step", "end_step", "ai_mt_translation_step"];
|
|
14
15
|
export type StepType = (typeof STEP_TYPES)[number];
|
|
15
16
|
export { AVAILABLE_STEPS, MAX_STEPS } from './stepRegistry.js';
|
|
17
|
+
export type StrictFrontendStep = FrontendStep & {
|
|
18
|
+
type: StepType;
|
|
19
|
+
};
|
|
20
|
+
export declare const FRONTEND_TO_BACKEND_STEPS_MAP: Record<StepType, (targetId: FrontendStep['id'] | undefined) => WorkflowLayoutStep>;
|
package/dist/workflow/steps.js
CHANGED
|
@@ -15,4 +15,98 @@ export const STEP_TYPES = [
|
|
|
15
15
|
'ai_mt_translation_step',
|
|
16
16
|
];
|
|
17
17
|
export { AVAILABLE_STEPS, MAX_STEPS } from './stepRegistry.js';
|
|
18
|
+
export const FRONTEND_TO_BACKEND_STEPS_MAP = {
|
|
19
|
+
trigger_step: (targetId) => ({
|
|
20
|
+
on: {
|
|
21
|
+
WorkflowTriggerEvent: {
|
|
22
|
+
target: targetId,
|
|
23
|
+
actions: [{ type: 'storeWorkflowTriggerEventScope' }],
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
}),
|
|
27
|
+
clear_translations_step: (targetId) => ({
|
|
28
|
+
entry: [
|
|
29
|
+
{
|
|
30
|
+
type: 'clearTranslationsAction',
|
|
31
|
+
},
|
|
32
|
+
],
|
|
33
|
+
on: {
|
|
34
|
+
TranslationsClearedEvent: {
|
|
35
|
+
target: targetId,
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
}),
|
|
39
|
+
translate_task_step: (targetId) => ({
|
|
40
|
+
entry: [
|
|
41
|
+
{
|
|
42
|
+
type: 'createTaskAction',
|
|
43
|
+
params: {
|
|
44
|
+
type: 'translation',
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
],
|
|
48
|
+
on: {
|
|
49
|
+
TaskCreatedEvent: {
|
|
50
|
+
actions: [{ type: 'storeCreatedTaskId' }],
|
|
51
|
+
},
|
|
52
|
+
TaskClosedEvent: {
|
|
53
|
+
target: targetId,
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
}),
|
|
57
|
+
review_task_step: (targetId) => ({
|
|
58
|
+
entry: [
|
|
59
|
+
{
|
|
60
|
+
type: 'createTaskAction',
|
|
61
|
+
params: {
|
|
62
|
+
type: 'review',
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
],
|
|
66
|
+
on: {
|
|
67
|
+
TaskCreatedEvent: {
|
|
68
|
+
actions: [{ type: 'storeCreatedTaskId' }],
|
|
69
|
+
},
|
|
70
|
+
TaskClosedEvent: {
|
|
71
|
+
target: targetId,
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
}),
|
|
75
|
+
ai_mt_translation_step: (targetId) => ({
|
|
76
|
+
entry: [
|
|
77
|
+
{
|
|
78
|
+
type: 'createTaskAction',
|
|
79
|
+
params: {
|
|
80
|
+
type: 'ai_mt_translation',
|
|
81
|
+
},
|
|
82
|
+
},
|
|
83
|
+
],
|
|
84
|
+
on: {
|
|
85
|
+
TaskCreatedEvent: {
|
|
86
|
+
actions: [{ type: 'storeCreatedTaskId' }],
|
|
87
|
+
},
|
|
88
|
+
TaskSkippedEvent: {
|
|
89
|
+
target: targetId,
|
|
90
|
+
},
|
|
91
|
+
TaskClosedEvent: {
|
|
92
|
+
target: targetId,
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
}),
|
|
96
|
+
apply_tm_step: (targetId) => ({
|
|
97
|
+
entry: [
|
|
98
|
+
{
|
|
99
|
+
type: 'applyTmAction',
|
|
100
|
+
},
|
|
101
|
+
],
|
|
102
|
+
on: {
|
|
103
|
+
TmAppliedEvent: {
|
|
104
|
+
target: targetId,
|
|
105
|
+
},
|
|
106
|
+
},
|
|
107
|
+
}),
|
|
108
|
+
end_step: () => ({
|
|
109
|
+
type: 'final',
|
|
110
|
+
}),
|
|
111
|
+
};
|
|
18
112
|
//# sourceMappingURL=steps.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"steps.js","sourceRoot":"","sources":["../../src/workflow/steps.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"steps.js","sourceRoot":"","sources":["../../src/workflow/steps.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED