@lokalise/tm-events-schemas 3.11.0 → 3.12.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.
@@ -0,0 +1,372 @@
1
+ import { type ConsumerMessageSchema, type PublisherMessageSchema } from '@message-queue-toolkit/schemas';
2
+ import { z } from 'zod/v4';
3
+ export declare const TM_RECORDS_COMMAND_QUEUE = "translation-memory-records_command";
4
+ export declare const COMMAND_TARGET_SCHEMA: z.ZodObject<{
5
+ groupId: z.ZodGUID;
6
+ ownerId: z.ZodGUID;
7
+ platformId: z.ZodString;
8
+ }, z.core.$strip>;
9
+ export type TmCommandTarget = z.infer<typeof COMMAND_TARGET_SCHEMA>;
10
+ export declare const TM_RECORD_UPDATE_COMMAND_RECORD_SCHEMA: z.ZodObject<{
11
+ sourceLocale: z.ZodString;
12
+ targetLocale: z.ZodString;
13
+ sourceText: z.ZodString;
14
+ targetText: z.ZodString;
15
+ sourcePrevContent: z.ZodOptional<z.ZodString>;
16
+ sourceNextContent: z.ZodOptional<z.ZodString>;
17
+ projectId: z.ZodOptional<z.ZodGUID>;
18
+ updatedBy: z.ZodOptional<z.ZodGUID>;
19
+ createdBy: z.ZodOptional<z.ZodGUID>;
20
+ approvedBy: z.ZodOptional<z.ZodGUID>;
21
+ approved: z.ZodOptional<z.ZodEnum<{
22
+ readonly HUMAN_APPROVED: 'human-approved';
23
+ readonly AI_SCORING_APPROVED: 'ai-scoring-approved';
24
+ }>>;
25
+ kind: z.ZodDefault<z.ZodEnum<{
26
+ readonly SINGULAR: 'singular';
27
+ readonly PLURAL: 'plural';
28
+ }>>;
29
+ kindVariant: z.ZodOptional<z.ZodEnum<{
30
+ readonly ZERO: 'zero';
31
+ readonly ONE: 'one';
32
+ readonly TWO: 'two';
33
+ readonly FEW: 'few';
34
+ readonly MANY: 'many';
35
+ readonly OTHER: 'other';
36
+ }>>;
37
+ metadata: z.ZodOptional<z.ZodObject<{
38
+ keyName: z.ZodOptional<z.ZodString>;
39
+ description: z.ZodOptional<z.ZodString>;
40
+ }, z.core.$loose>>;
41
+ occurredAt: z.ZodISODateTime;
42
+ externalId: z.ZodString;
43
+ origin: z.ZodEnum<{
44
+ readonly HUMAN: 'human';
45
+ readonly AI_WITH_RAG: 'ai-with-rag';
46
+ readonly AI: 'ai';
47
+ readonly MT: 'mt';
48
+ readonly IMPORTED: 'imported';
49
+ readonly MIGRATED: 'migrated';
50
+ }>;
51
+ }, z.core.$strip>;
52
+ export type TmRecordUpdateCommandRecord = z.infer<typeof TM_RECORD_UPDATE_COMMAND_RECORD_SCHEMA>;
53
+ export declare const TM_RECORD_UPDATE_COMMAND_PAYLOAD_SCHEMA: z.ZodObject<{
54
+ groupId: z.ZodGUID;
55
+ ownerId: z.ZodGUID;
56
+ platformId: z.ZodString;
57
+ records: z.ZodArray<z.ZodObject<{
58
+ sourceLocale: z.ZodString;
59
+ targetLocale: z.ZodString;
60
+ sourceText: z.ZodString;
61
+ targetText: z.ZodString;
62
+ sourcePrevContent: z.ZodOptional<z.ZodString>;
63
+ sourceNextContent: z.ZodOptional<z.ZodString>;
64
+ projectId: z.ZodOptional<z.ZodGUID>;
65
+ updatedBy: z.ZodOptional<z.ZodGUID>;
66
+ createdBy: z.ZodOptional<z.ZodGUID>;
67
+ approvedBy: z.ZodOptional<z.ZodGUID>;
68
+ approved: z.ZodOptional<z.ZodEnum<{
69
+ readonly HUMAN_APPROVED: 'human-approved';
70
+ readonly AI_SCORING_APPROVED: 'ai-scoring-approved';
71
+ }>>;
72
+ kind: z.ZodDefault<z.ZodEnum<{
73
+ readonly SINGULAR: 'singular';
74
+ readonly PLURAL: 'plural';
75
+ }>>;
76
+ kindVariant: z.ZodOptional<z.ZodEnum<{
77
+ readonly ZERO: 'zero';
78
+ readonly ONE: 'one';
79
+ readonly TWO: 'two';
80
+ readonly FEW: 'few';
81
+ readonly MANY: 'many';
82
+ readonly OTHER: 'other';
83
+ }>>;
84
+ metadata: z.ZodOptional<z.ZodObject<{
85
+ keyName: z.ZodOptional<z.ZodString>;
86
+ description: z.ZodOptional<z.ZodString>;
87
+ }, z.core.$loose>>;
88
+ occurredAt: z.ZodISODateTime;
89
+ externalId: z.ZodString;
90
+ origin: z.ZodEnum<{
91
+ readonly HUMAN: 'human';
92
+ readonly AI_WITH_RAG: 'ai-with-rag';
93
+ readonly AI: 'ai';
94
+ readonly MT: 'mt';
95
+ readonly IMPORTED: 'imported';
96
+ readonly MIGRATED: 'migrated';
97
+ }>;
98
+ }, z.core.$strip>>;
99
+ }, z.core.$strip>;
100
+ export declare const TM_RECORD_DELETE_COMMAND_UNIT_SCHEMA: z.ZodObject<{
101
+ occurredAt: z.ZodISODateTime;
102
+ externalId: z.ZodString;
103
+ }, z.core.$strip>;
104
+ export type TmRecordDeleteCommandUnit = z.infer<typeof TM_RECORD_DELETE_COMMAND_UNIT_SCHEMA>;
105
+ export declare const TM_RECORD_DELETE_COMMAND_PAYLOAD_SCHEMA: z.ZodObject<{
106
+ groupId: z.ZodGUID;
107
+ ownerId: z.ZodGUID;
108
+ platformId: z.ZodString;
109
+ units: z.ZodArray<z.ZodObject<{
110
+ occurredAt: z.ZodISODateTime;
111
+ externalId: z.ZodString;
112
+ }, z.core.$strip>>;
113
+ }, z.core.$strip>;
114
+ export declare const TM_GROUP_UPDATE_COMMAND_PAYLOAD_SCHEMA: z.ZodObject<{
115
+ groupId: z.ZodGUID;
116
+ ownerId: z.ZodGUID;
117
+ platformId: z.ZodString;
118
+ name: z.ZodString;
119
+ occurredAt: z.ZodISODateTime;
120
+ }, z.core.$strip>;
121
+ export declare const TM_GROUP_CLEAR_COMMAND_PAYLOAD_SCHEMA: z.ZodObject<{
122
+ groupId: z.ZodGUID;
123
+ ownerId: z.ZodGUID;
124
+ platformId: z.ZodString;
125
+ occurredAt: z.ZodISODateTime;
126
+ }, z.core.$strip>;
127
+ /**
128
+ * Command definitions
129
+ */
130
+ export declare const TmIngestionCommands: {
131
+ 'tm_record.update': {
132
+ consumerSchema: z.ZodObject<{
133
+ id: z.ZodString;
134
+ timestamp: z.ZodISODateTime;
135
+ type: z.ZodLiteral<"tm_record.update">;
136
+ deduplicationId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
137
+ deduplicationOptions: z.ZodOptional<z.ZodNullable<typeof import("@message-queue-toolkit/schemas").MESSAGE_DEDUPLICATION_OPTIONS_SCHEMA>>;
138
+ payload: z.ZodObject<{
139
+ groupId: z.ZodGUID;
140
+ ownerId: z.ZodGUID;
141
+ platformId: z.ZodString;
142
+ records: z.ZodArray<z.ZodObject<{
143
+ sourceLocale: z.ZodString;
144
+ targetLocale: z.ZodString;
145
+ sourceText: z.ZodString;
146
+ targetText: z.ZodString;
147
+ sourcePrevContent: z.ZodOptional<z.ZodString>;
148
+ sourceNextContent: z.ZodOptional<z.ZodString>;
149
+ projectId: z.ZodOptional<z.ZodGUID>;
150
+ updatedBy: z.ZodOptional<z.ZodGUID>;
151
+ createdBy: z.ZodOptional<z.ZodGUID>;
152
+ approvedBy: z.ZodOptional<z.ZodGUID>;
153
+ approved: z.ZodOptional<z.ZodEnum<{
154
+ readonly HUMAN_APPROVED: 'human-approved';
155
+ readonly AI_SCORING_APPROVED: 'ai-scoring-approved';
156
+ }>>;
157
+ kind: z.ZodDefault<z.ZodEnum<{
158
+ readonly SINGULAR: 'singular';
159
+ readonly PLURAL: 'plural';
160
+ }>>;
161
+ kindVariant: z.ZodOptional<z.ZodEnum<{
162
+ readonly ZERO: 'zero';
163
+ readonly ONE: 'one';
164
+ readonly TWO: 'two';
165
+ readonly FEW: 'few';
166
+ readonly MANY: 'many';
167
+ readonly OTHER: 'other';
168
+ }>>;
169
+ metadata: z.ZodOptional<z.ZodObject<{
170
+ keyName: z.ZodOptional<z.ZodString>;
171
+ description: z.ZodOptional<z.ZodString>;
172
+ }, z.core.$loose>>;
173
+ occurredAt: z.ZodISODateTime;
174
+ externalId: z.ZodString;
175
+ origin: z.ZodEnum<{
176
+ readonly HUMAN: 'human';
177
+ readonly AI_WITH_RAG: 'ai-with-rag';
178
+ readonly AI: 'ai';
179
+ readonly MT: 'mt';
180
+ readonly IMPORTED: 'imported';
181
+ readonly MIGRATED: 'migrated';
182
+ }>;
183
+ }, z.core.$strip>>;
184
+ }, z.core.$strip>;
185
+ metadata: import("@message-queue-toolkit/schemas").MetadataObject;
186
+ }, z.core.$strip>;
187
+ publisherSchema: z.ZodObject<{
188
+ id: z.ZodOptional<z.ZodString>;
189
+ timestamp: z.ZodOptional<z.ZodISODateTime>;
190
+ type: z.ZodLiteral<"tm_record.update">;
191
+ deduplicationId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
192
+ deduplicationOptions: z.ZodOptional<z.ZodNullable<typeof import("@message-queue-toolkit/schemas").MESSAGE_DEDUPLICATION_OPTIONS_SCHEMA>>;
193
+ payload: z.ZodObject<{
194
+ groupId: z.ZodGUID;
195
+ ownerId: z.ZodGUID;
196
+ platformId: z.ZodString;
197
+ records: z.ZodArray<z.ZodObject<{
198
+ sourceLocale: z.ZodString;
199
+ targetLocale: z.ZodString;
200
+ sourceText: z.ZodString;
201
+ targetText: z.ZodString;
202
+ sourcePrevContent: z.ZodOptional<z.ZodString>;
203
+ sourceNextContent: z.ZodOptional<z.ZodString>;
204
+ projectId: z.ZodOptional<z.ZodGUID>;
205
+ updatedBy: z.ZodOptional<z.ZodGUID>;
206
+ createdBy: z.ZodOptional<z.ZodGUID>;
207
+ approvedBy: z.ZodOptional<z.ZodGUID>;
208
+ approved: z.ZodOptional<z.ZodEnum<{
209
+ readonly HUMAN_APPROVED: 'human-approved';
210
+ readonly AI_SCORING_APPROVED: 'ai-scoring-approved';
211
+ }>>;
212
+ kind: z.ZodDefault<z.ZodEnum<{
213
+ readonly SINGULAR: 'singular';
214
+ readonly PLURAL: 'plural';
215
+ }>>;
216
+ kindVariant: z.ZodOptional<z.ZodEnum<{
217
+ readonly ZERO: 'zero';
218
+ readonly ONE: 'one';
219
+ readonly TWO: 'two';
220
+ readonly FEW: 'few';
221
+ readonly MANY: 'many';
222
+ readonly OTHER: 'other';
223
+ }>>;
224
+ metadata: z.ZodOptional<z.ZodObject<{
225
+ keyName: z.ZodOptional<z.ZodString>;
226
+ description: z.ZodOptional<z.ZodString>;
227
+ }, z.core.$loose>>;
228
+ occurredAt: z.ZodISODateTime;
229
+ externalId: z.ZodString;
230
+ origin: z.ZodEnum<{
231
+ readonly HUMAN: 'human';
232
+ readonly AI_WITH_RAG: 'ai-with-rag';
233
+ readonly AI: 'ai';
234
+ readonly MT: 'mt';
235
+ readonly IMPORTED: 'imported';
236
+ readonly MIGRATED: 'migrated';
237
+ }>;
238
+ }, z.core.$strip>>;
239
+ }, z.core.$strip>;
240
+ metadata: z.ZodOptional<z.ZodObject<{
241
+ schemaVersion: z.ZodOptional<z.ZodString>;
242
+ producedBy: z.ZodOptional<z.ZodString>;
243
+ originatedFrom: z.ZodOptional<z.ZodString>;
244
+ correlationId: z.ZodOptional<z.ZodString>;
245
+ }>>;
246
+ }, z.core.$strip>;
247
+ };
248
+ 'tm_record.delete': {
249
+ consumerSchema: z.ZodObject<{
250
+ id: z.ZodString;
251
+ timestamp: z.ZodISODateTime;
252
+ type: z.ZodLiteral<"tm_record.delete">;
253
+ deduplicationId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
254
+ deduplicationOptions: z.ZodOptional<z.ZodNullable<typeof import("@message-queue-toolkit/schemas").MESSAGE_DEDUPLICATION_OPTIONS_SCHEMA>>;
255
+ payload: z.ZodObject<{
256
+ groupId: z.ZodGUID;
257
+ ownerId: z.ZodGUID;
258
+ platformId: z.ZodString;
259
+ units: z.ZodArray<z.ZodObject<{
260
+ occurredAt: z.ZodISODateTime;
261
+ externalId: z.ZodString;
262
+ }, z.core.$strip>>;
263
+ }, z.core.$strip>;
264
+ metadata: import("@message-queue-toolkit/schemas").MetadataObject;
265
+ }, z.core.$strip>;
266
+ publisherSchema: z.ZodObject<{
267
+ id: z.ZodOptional<z.ZodString>;
268
+ timestamp: z.ZodOptional<z.ZodISODateTime>;
269
+ type: z.ZodLiteral<"tm_record.delete">;
270
+ deduplicationId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
271
+ deduplicationOptions: z.ZodOptional<z.ZodNullable<typeof import("@message-queue-toolkit/schemas").MESSAGE_DEDUPLICATION_OPTIONS_SCHEMA>>;
272
+ payload: z.ZodObject<{
273
+ groupId: z.ZodGUID;
274
+ ownerId: z.ZodGUID;
275
+ platformId: z.ZodString;
276
+ units: z.ZodArray<z.ZodObject<{
277
+ occurredAt: z.ZodISODateTime;
278
+ externalId: z.ZodString;
279
+ }, z.core.$strip>>;
280
+ }, z.core.$strip>;
281
+ metadata: z.ZodOptional<z.ZodObject<{
282
+ schemaVersion: z.ZodOptional<z.ZodString>;
283
+ producedBy: z.ZodOptional<z.ZodString>;
284
+ originatedFrom: z.ZodOptional<z.ZodString>;
285
+ correlationId: z.ZodOptional<z.ZodString>;
286
+ }>>;
287
+ }, z.core.$strip>;
288
+ };
289
+ 'tm_group.update': {
290
+ consumerSchema: z.ZodObject<{
291
+ id: z.ZodString;
292
+ timestamp: z.ZodISODateTime;
293
+ type: z.ZodLiteral<"tm_group.update">;
294
+ deduplicationId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
295
+ deduplicationOptions: z.ZodOptional<z.ZodNullable<typeof import("@message-queue-toolkit/schemas").MESSAGE_DEDUPLICATION_OPTIONS_SCHEMA>>;
296
+ payload: z.ZodObject<{
297
+ groupId: z.ZodGUID;
298
+ ownerId: z.ZodGUID;
299
+ platformId: z.ZodString;
300
+ name: z.ZodString;
301
+ occurredAt: z.ZodISODateTime;
302
+ }, z.core.$strip>;
303
+ metadata: import("@message-queue-toolkit/schemas").MetadataObject;
304
+ }, z.core.$strip>;
305
+ publisherSchema: z.ZodObject<{
306
+ id: z.ZodOptional<z.ZodString>;
307
+ timestamp: z.ZodOptional<z.ZodISODateTime>;
308
+ type: z.ZodLiteral<"tm_group.update">;
309
+ deduplicationId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
310
+ deduplicationOptions: z.ZodOptional<z.ZodNullable<typeof import("@message-queue-toolkit/schemas").MESSAGE_DEDUPLICATION_OPTIONS_SCHEMA>>;
311
+ payload: z.ZodObject<{
312
+ groupId: z.ZodGUID;
313
+ ownerId: z.ZodGUID;
314
+ platformId: z.ZodString;
315
+ name: z.ZodString;
316
+ occurredAt: z.ZodISODateTime;
317
+ }, z.core.$strip>;
318
+ metadata: z.ZodOptional<z.ZodObject<{
319
+ schemaVersion: z.ZodOptional<z.ZodString>;
320
+ producedBy: z.ZodOptional<z.ZodString>;
321
+ originatedFrom: z.ZodOptional<z.ZodString>;
322
+ correlationId: z.ZodOptional<z.ZodString>;
323
+ }>>;
324
+ }, z.core.$strip>;
325
+ };
326
+ 'tm_group.clear': {
327
+ consumerSchema: z.ZodObject<{
328
+ id: z.ZodString;
329
+ timestamp: z.ZodISODateTime;
330
+ type: z.ZodLiteral<"tm_group.clear">;
331
+ deduplicationId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
332
+ deduplicationOptions: z.ZodOptional<z.ZodNullable<typeof import("@message-queue-toolkit/schemas").MESSAGE_DEDUPLICATION_OPTIONS_SCHEMA>>;
333
+ payload: z.ZodObject<{
334
+ groupId: z.ZodGUID;
335
+ ownerId: z.ZodGUID;
336
+ platformId: z.ZodString;
337
+ occurredAt: z.ZodISODateTime;
338
+ }, z.core.$strip>;
339
+ metadata: import("@message-queue-toolkit/schemas").MetadataObject;
340
+ }, z.core.$strip>;
341
+ publisherSchema: z.ZodObject<{
342
+ id: z.ZodOptional<z.ZodString>;
343
+ timestamp: z.ZodOptional<z.ZodISODateTime>;
344
+ type: z.ZodLiteral<"tm_group.clear">;
345
+ deduplicationId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
346
+ deduplicationOptions: z.ZodOptional<z.ZodNullable<typeof import("@message-queue-toolkit/schemas").MESSAGE_DEDUPLICATION_OPTIONS_SCHEMA>>;
347
+ payload: z.ZodObject<{
348
+ groupId: z.ZodGUID;
349
+ ownerId: z.ZodGUID;
350
+ platformId: z.ZodString;
351
+ occurredAt: z.ZodISODateTime;
352
+ }, z.core.$strip>;
353
+ metadata: z.ZodOptional<z.ZodObject<{
354
+ schemaVersion: z.ZodOptional<z.ZodString>;
355
+ producedBy: z.ZodOptional<z.ZodString>;
356
+ originatedFrom: z.ZodOptional<z.ZodString>;
357
+ correlationId: z.ZodOptional<z.ZodString>;
358
+ }>>;
359
+ }, z.core.$strip>;
360
+ };
361
+ };
362
+ /**
363
+ * Command message types
364
+ */
365
+ export type TmRecordUpdateConsumerCommand = ConsumerMessageSchema<(typeof TmIngestionCommands)['tm_record.update']>;
366
+ export type TmRecordUpdatePublisherCommand = PublisherMessageSchema<(typeof TmIngestionCommands)['tm_record.update']>;
367
+ export type TmRecordDeleteConsumerCommand = ConsumerMessageSchema<(typeof TmIngestionCommands)['tm_record.delete']>;
368
+ export type TmRecordDeletePublisherCommand = PublisherMessageSchema<(typeof TmIngestionCommands)['tm_record.delete']>;
369
+ export type TmGroupUpdateConsumerCommand = ConsumerMessageSchema<(typeof TmIngestionCommands)['tm_group.update']>;
370
+ export type TmGroupUpdatePublisherCommand = PublisherMessageSchema<(typeof TmIngestionCommands)['tm_group.update']>;
371
+ export type TmGroupClearConsumerCommand = ConsumerMessageSchema<(typeof TmIngestionCommands)['tm_group.clear']>;
372
+ export type TmGroupClearPublisherCommand = PublisherMessageSchema<(typeof TmIngestionCommands)['tm_group.clear']>;
@@ -0,0 +1,92 @@
1
+ import { GROUP_ID_SCHEMA, OWNER_ID_SCHEMA, TRANSLATION_MEMORY_RECORD_SCHEMA, TranslationMemoryRecordOriginEnum, validateKindVariant, } from '@lokalise/tm-api-schemas';
2
+ import { enrichMessageSchemaWithBase, } from '@message-queue-toolkit/schemas';
3
+ import { z } from 'zod/v4';
4
+ // TM-owned SQS command queue. Producers set the SQS MessageGroupId
5
+ // attribute to the payload ownerId (fair-queue grouping, transport only).
6
+ export const TM_RECORDS_COMMAND_QUEUE = 'translation-memory-records_command';
7
+ const OCCURRED_AT_SCHEMA = z.iso
8
+ .datetime({ offset: true })
9
+ .describe('Domain time of the change, set by the producer. ISO-8601, fractional seconds expected.');
10
+ export const COMMAND_TARGET_SCHEMA = z.object({
11
+ groupId: GROUP_ID_SCHEMA,
12
+ ownerId: OWNER_ID_SCHEMA,
13
+ platformId: z
14
+ .string()
15
+ .nonempty()
16
+ .describe('Stable name of the writing platform (e.g. "expert"). Drives group ownership and metrics.'),
17
+ });
18
+ export const TM_RECORD_UPDATE_COMMAND_RECORD_SCHEMA = TRANSLATION_MEMORY_RECORD_SCHEMA.pick({
19
+ sourceLocale: true,
20
+ targetLocale: true,
21
+ sourceText: true,
22
+ targetText: true,
23
+ sourcePrevContent: true,
24
+ sourceNextContent: true,
25
+ projectId: true,
26
+ createdBy: true,
27
+ updatedBy: true,
28
+ approvedBy: true,
29
+ approved: true,
30
+ kind: true,
31
+ kindVariant: true,
32
+ metadata: true,
33
+ })
34
+ .extend({
35
+ occurredAt: OCCURRED_AT_SCHEMA,
36
+ externalId: z
37
+ .string()
38
+ .nonempty()
39
+ .describe('Producer-side record identifier; it is the delete address'),
40
+ // Unlike the HTTP contract, the queue accepts "migrated": the legacy backfill uses this path.
41
+ origin: z.enum(TranslationMemoryRecordOriginEnum).describe('How the translation was produced'),
42
+ })
43
+ .superRefine(validateKindVariant);
44
+ export const TM_RECORD_UPDATE_COMMAND_PAYLOAD_SCHEMA = COMMAND_TARGET_SCHEMA.extend({
45
+ records: z
46
+ .array(TM_RECORD_UPDATE_COMMAND_RECORD_SCHEMA)
47
+ .min(1)
48
+ .describe('Records to create or update; producers chunk batches by serialized payload size'),
49
+ });
50
+ export const TM_RECORD_DELETE_COMMAND_UNIT_SCHEMA = z.object({
51
+ occurredAt: OCCURRED_AT_SCHEMA,
52
+ externalId: z.string().nonempty(),
53
+ });
54
+ export const TM_RECORD_DELETE_COMMAND_PAYLOAD_SCHEMA = COMMAND_TARGET_SCHEMA.extend({
55
+ units: z
56
+ .array(TM_RECORD_DELETE_COMMAND_UNIT_SCHEMA)
57
+ .min(1)
58
+ .describe('Each unit invalidates the records that match its externalId'),
59
+ });
60
+ export const TM_GROUP_UPDATE_COMMAND_PAYLOAD_SCHEMA = COMMAND_TARGET_SCHEMA.extend({
61
+ name: z.string().nonempty().describe('Group name; renames are last-write-wins'),
62
+ occurredAt: OCCURRED_AT_SCHEMA,
63
+ });
64
+ export const TM_GROUP_CLEAR_COMMAND_PAYLOAD_SCHEMA = COMMAND_TARGET_SCHEMA.extend({
65
+ occurredAt: OCCURRED_AT_SCHEMA,
66
+ });
67
+ /**
68
+ * Command definitions
69
+ */
70
+ export const TmIngestionCommands = {
71
+ 'tm_record.update': {
72
+ ...enrichMessageSchemaWithBase('tm_record.update', TM_RECORD_UPDATE_COMMAND_PAYLOAD_SCHEMA, {
73
+ description: 'Command to create or update TM records',
74
+ }),
75
+ },
76
+ 'tm_record.delete': {
77
+ ...enrichMessageSchemaWithBase('tm_record.delete', TM_RECORD_DELETE_COMMAND_PAYLOAD_SCHEMA, {
78
+ description: 'Command to delete TM records, addressed by externalId',
79
+ }),
80
+ },
81
+ 'tm_group.update': {
82
+ ...enrichMessageSchemaWithBase('tm_group.update', TM_GROUP_UPDATE_COMMAND_PAYLOAD_SCHEMA, {
83
+ description: 'Command to create or rename a TM group',
84
+ }),
85
+ },
86
+ 'tm_group.clear': {
87
+ ...enrichMessageSchemaWithBase('tm_group.clear', TM_GROUP_CLEAR_COMMAND_PAYLOAD_SCHEMA, {
88
+ description: 'Command to delete all records in a TM group; the group row survives',
89
+ }),
90
+ },
91
+ };
92
+ //# sourceMappingURL=ingestion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ingestion.js","sourceRoot":"","sources":["../../src/events/ingestion.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,eAAe,EACf,gCAAgC,EAChC,iCAAiC,EACjC,mBAAmB,GACpB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAGL,2BAA2B,GAE5B,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAE1B,mEAAmE;AACnE,0EAA0E;AAC1E,MAAM,CAAC,MAAM,wBAAwB,GAAG,oCAAoC,CAAA;AAE5E,MAAM,kBAAkB,GAAG,CAAC,CAAC,GAAG;KAC7B,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;KAC1B,QAAQ,CACP,wFAAwF,CACzF,CAAA;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,OAAO,EAAE,eAAe;IACxB,OAAO,EAAE,eAAe;IACxB,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,0FAA0F,CAC3F;CACJ,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,sCAAsC,GAAG,gCAAgC,CAAC,IAAI,CAAC;IAC1F,YAAY,EAAE,IAAI;IAClB,YAAY,EAAE,IAAI;IAClB,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE,IAAI;IAChB,iBAAiB,EAAE,IAAI;IACvB,iBAAiB,EAAE,IAAI;IACvB,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE,IAAI;IACV,WAAW,EAAE,IAAI;IACjB,QAAQ,EAAE,IAAI;CACf,CAAC;KACC,MAAM,CAAC;IACN,UAAU,EAAE,kBAAkB;IAC9B,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,2DAA2D,CAAC;IACxE,8FAA8F;IAC9F,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,QAAQ,CAAC,kCAAkC,CAAC;CAC/F,CAAC;KACD,WAAW,CAAC,mBAAmB,CAAC,CAAA;AAGnC,MAAM,CAAC,MAAM,uCAAuC,GAAG,qBAAqB,CAAC,MAAM,CAAC;IAClF,OAAO,EAAE,CAAC;SACP,KAAK,CAAC,sCAAsC,CAAC;SAC7C,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,iFAAiF,CAAC;CAC/F,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3D,UAAU,EAAE,kBAAkB;IAC9B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,uCAAuC,GAAG,qBAAqB,CAAC,MAAM,CAAC;IAClF,KAAK,EAAE,CAAC;SACL,KAAK,CAAC,oCAAoC,CAAC;SAC3C,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,6DAA6D,CAAC;CAC3E,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,sCAAsC,GAAG,qBAAqB,CAAC,MAAM,CAAC;IACjF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IAC/E,UAAU,EAAE,kBAAkB;CAC/B,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,qCAAqC,GAAG,qBAAqB,CAAC,MAAM,CAAC;IAChF,UAAU,EAAE,kBAAkB;CAC/B,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,kBAAkB,EAAE;QAClB,GAAG,2BAA2B,CAAC,kBAAkB,EAAE,uCAAuC,EAAE;YAC1F,WAAW,EAAE,wCAAwC;SACtD,CAAC;KACH;IACD,kBAAkB,EAAE;QAClB,GAAG,2BAA2B,CAAC,kBAAkB,EAAE,uCAAuC,EAAE;YAC1F,WAAW,EAAE,uDAAuD;SACrE,CAAC;KACH;IACD,iBAAiB,EAAE;QACjB,GAAG,2BAA2B,CAAC,iBAAiB,EAAE,sCAAsC,EAAE;YACxF,WAAW,EAAE,wCAAwC;SACtD,CAAC;KACH;IACD,gBAAgB,EAAE;QAChB,GAAG,2BAA2B,CAAC,gBAAgB,EAAE,qCAAqC,EAAE;YACtF,WAAW,EAAE,qEAAqE;SACnF,CAAC;KACH;CAC8C,CAAA"}
package/dist/index.d.ts CHANGED
@@ -1 +1,2 @@
1
1
  export * from './events/import.ts';
2
+ export * from './events/ingestion.ts';
package/dist/index.js CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from './events/import.js';
2
+ export * from './events/ingestion.js';
2
3
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lokalise/tm-events-schemas",
3
- "version": "3.11.0",
3
+ "version": "3.12.0",
4
4
  "type": "module",
5
5
  "author": {
6
6
  "name": "Lokalise",
@@ -24,14 +24,14 @@
24
24
  "access": "public"
25
25
  },
26
26
  "dependencies": {
27
- "@message-queue-toolkit/schemas": "^7.2.0"
27
+ "@message-queue-toolkit/schemas": "^8.0.0"
28
28
  },
29
29
  "peerDependencies": {
30
30
  "zod": ">=4.1.12",
31
- "@lokalise/tm-api-schemas": "7.12.0"
31
+ "@lokalise/tm-api-schemas": "7.13.0"
32
32
  },
33
33
  "devDependencies": {
34
- "@biomejs/biome": "^2.5.7",
34
+ "@biomejs/biome": "^2.5.8",
35
35
  "@lokalise/biome-config": "^3.1.1",
36
36
  "@lokalise/tsconfig": "^5.0.0",
37
37
  "rimraf": "^6.1.3",