@echovisionlab/geul-telemetry 0.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.
Files changed (58) hide show
  1. package/LICENSE.md +6 -0
  2. package/README.md +38 -0
  3. package/fixtures/audit-records.json +316 -0
  4. package/fixtures/collaboration-checkpoint-entity-types.json +15 -0
  5. package/fixtures/domain-audit-actions.json +132 -0
  6. package/fixtures/domain-audit-wire-parity.json +1751 -0
  7. package/fixtures/http-request-results.json +21 -0
  8. package/fixtures/job-catalog.json +23 -0
  9. package/fixtures/locale-content-audit.json +126 -0
  10. package/fixtures/log-redaction.json +72 -0
  11. package/fixtures/request-record.json +14 -0
  12. package/fixtures/security-access-records.json +61 -0
  13. package/fixtures/service-identities.json +11 -0
  14. package/fixtures/system-catalog.json +28 -0
  15. package/fixtures/translation-job-terminal-catalog.json +45 -0
  16. package/fixtures/translation-settings-fields.json +1 -0
  17. package/package.json +61 -0
  18. package/policy/log-redaction.json +113 -0
  19. package/src/actor.ts +81 -0
  20. package/src/audit/account.ts +206 -0
  21. package/src/audit/actor-policy.ts +63 -0
  22. package/src/audit/artist-label.ts +312 -0
  23. package/src/audit/attributes.ts +107 -0
  24. package/src/audit/builder.ts +25 -0
  25. package/src/audit/catalog.ts +116 -0
  26. package/src/audit/content.ts +723 -0
  27. package/src/audit/email-authoring.ts +220 -0
  28. package/src/audit/file.ts +168 -0
  29. package/src/audit/form.ts +229 -0
  30. package/src/audit/integrations.ts +207 -0
  31. package/src/audit/locale-code.ts +6 -0
  32. package/src/audit/locale-content.ts +358 -0
  33. package/src/audit/member-account.ts +313 -0
  34. package/src/audit/member.ts +171 -0
  35. package/src/audit/program.ts +339 -0
  36. package/src/audit/reference-data.ts +230 -0
  37. package/src/audit/reference-entities.ts +332 -0
  38. package/src/audit/relation-download-policy.ts +292 -0
  39. package/src/audit/release-campaign.ts +422 -0
  40. package/src/audit/series-type.ts +298 -0
  41. package/src/audit/settings.ts +306 -0
  42. package/src/audit/source-locale.ts +337 -0
  43. package/src/audit/types.ts +9 -0
  44. package/src/audit.ts +21 -0
  45. package/src/authentication.ts +183 -0
  46. package/src/error-metadata.ts +11 -0
  47. package/src/index.ts +11 -0
  48. package/src/job.ts +56 -0
  49. package/src/log-attribute-policy.ts +21 -0
  50. package/src/otel.ts +64 -0
  51. package/src/records.ts +1244 -0
  52. package/src/redaction.ts +35 -0
  53. package/src/request-context.ts +73 -0
  54. package/src/request-id.ts +13 -0
  55. package/src/request-result.ts +73 -0
  56. package/src/request.ts +60 -0
  57. package/src/system.ts +355 -0
  58. package/src/trace.ts +13 -0
@@ -0,0 +1,1751 @@
1
+ [
2
+ {
3
+ "case": "post participant author to collaborator",
4
+ "variant": "participant",
5
+ "corrected_shape": true,
6
+ "action": "post.updated",
7
+ "target_type": "post",
8
+ "target_id": "post-1",
9
+ "actor_kind": "member",
10
+ "attributes": {
11
+ "changed_fields": ["authors", "collaborators"],
12
+ "subject_member_id": "member-2",
13
+ "previous_relationship": "author",
14
+ "new_relationship": "collaborator"
15
+ }
16
+ },
17
+ {
18
+ "case": "post participant added as author",
19
+ "variant": "participant_author_added",
20
+ "action": "post.updated",
21
+ "target_type": "post",
22
+ "target_id": "post-1",
23
+ "actor_kind": "member",
24
+ "attributes": {
25
+ "changed_fields": ["authors"],
26
+ "subject_member_id": "member-2",
27
+ "previous_relationship": "none",
28
+ "new_relationship": "author"
29
+ }
30
+ },
31
+ {
32
+ "case": "post participant added as collaborator",
33
+ "variant": "participant_collaborator_added",
34
+ "action": "post.updated",
35
+ "target_type": "post",
36
+ "target_id": "post-1",
37
+ "actor_kind": "member",
38
+ "attributes": {
39
+ "changed_fields": ["collaborators"],
40
+ "subject_member_id": "member-2",
41
+ "previous_relationship": "none",
42
+ "new_relationship": "collaborator"
43
+ }
44
+ },
45
+ {
46
+ "case": "post File Block download policy",
47
+ "variant": "file_block_download_policy",
48
+ "corrected_shape": true,
49
+ "action": "post.updated",
50
+ "target_type": "post",
51
+ "target_id": "post-1",
52
+ "actor_kind": "member",
53
+ "attributes": {
54
+ "changed_fields": [
55
+ "file_download_audience",
56
+ "file_download_audience_segment_ids"
57
+ ],
58
+ "item_id": "block-1",
59
+ "file_id": "file-1",
60
+ "previous_state": "disabled",
61
+ "new_state": "restricted",
62
+ "previous_item_ids": ["segment-1"],
63
+ "item_ids": ["segment-2"]
64
+ }
65
+ },
66
+ {
67
+ "case": "page File Block download policy",
68
+ "variant": "file_block_download_policy",
69
+ "action": "page.updated",
70
+ "target_type": "page",
71
+ "target_id": "page-1",
72
+ "actor_kind": "member",
73
+ "attributes": {
74
+ "changed_fields": ["file_download_audience"],
75
+ "item_id": "block-2",
76
+ "file_id": "file-2",
77
+ "previous_state": "public",
78
+ "new_state": "authenticated"
79
+ }
80
+ },
81
+ {
82
+ "case": "map theme content",
83
+ "variant": "content",
84
+ "corrected_shape": true,
85
+ "action": "map_theme.updated",
86
+ "target_type": "map_theme",
87
+ "target_id": "theme-1",
88
+ "actor_kind": "member",
89
+ "attributes": {
90
+ "changed_fields": ["content"]
91
+ }
92
+ },
93
+ {
94
+ "case": "site settings fields",
95
+ "variant": "configuration",
96
+ "action": "site_settings.updated",
97
+ "target_type": "site_settings",
98
+ "target_id": "1",
99
+ "actor_kind": "member",
100
+ "attributes": { "changed_fields": ["site_title"] }
101
+ },
102
+ {
103
+ "case": "post version",
104
+ "variant": "version",
105
+ "action": "post.updated",
106
+ "target_type": "post",
107
+ "target_id": "post-1",
108
+ "actor_kind": "system",
109
+ "actor_service": "geul-collab",
110
+ "attributes": {
111
+ "changed_fields": ["version"],
112
+ "version_id": "version-1",
113
+ "contributor_member_ids": ["1b6bcad2-c90d-49e9-bec7-f9a4ba6b2894"]
114
+ }
115
+ },
116
+ {
117
+ "case": "post configuration",
118
+ "variant": "configuration",
119
+ "action": "post.updated",
120
+ "target_type": "post",
121
+ "target_id": "post-1",
122
+ "actor_kind": "member",
123
+ "attributes": { "changed_fields": ["slug"] }
124
+ },
125
+ {
126
+ "case": "post lifecycle status",
127
+ "variant": "lifecycle_status",
128
+ "action": "post.updated",
129
+ "target_type": "post",
130
+ "target_id": "post-1",
131
+ "actor_kind": "member",
132
+ "attributes": {
133
+ "changed_fields": ["status"],
134
+ "previous_state": "draft",
135
+ "new_state": "published"
136
+ }
137
+ },
138
+ {
139
+ "case": "post lifecycle schedule",
140
+ "variant": "lifecycle_schedule",
141
+ "action": "post.updated",
142
+ "target_type": "post",
143
+ "target_id": "post-1",
144
+ "actor_kind": "member",
145
+ "attributes": {
146
+ "changed_fields": ["schedule"],
147
+ "previous_state": "draft",
148
+ "new_state": "scheduled",
149
+ "scheduled_at": "2026-09-01T00:00:00Z",
150
+ "scheduled_time_zone": "Asia/Seoul"
151
+ }
152
+ },
153
+ {
154
+ "case": "post featured image",
155
+ "variant": "featured_image",
156
+ "action": "post.updated",
157
+ "target_type": "post",
158
+ "target_id": "post-1",
159
+ "actor_kind": "member",
160
+ "attributes": {
161
+ "changed_fields": ["featured_image"],
162
+ "collection_operation": "added",
163
+ "asset_id": "asset-1"
164
+ }
165
+ },
166
+ {
167
+ "case": "post share link",
168
+ "variant": "share_link",
169
+ "action": "post.updated",
170
+ "target_type": "post",
171
+ "target_id": "post-1",
172
+ "actor_kind": "member",
173
+ "attributes": {
174
+ "changed_fields": ["share_links"],
175
+ "item_operation": "created",
176
+ "item_id": "link-1"
177
+ }
178
+ },
179
+ {
180
+ "case": "post comment",
181
+ "variant": "comment",
182
+ "action": "post.updated",
183
+ "target_type": "post",
184
+ "target_id": "post-1",
185
+ "actor_kind": "member",
186
+ "attributes": {
187
+ "changed_fields": ["comments"],
188
+ "item_operation": "updated",
189
+ "item_id": "comment-1"
190
+ }
191
+ },
192
+ {
193
+ "case": "post version restore",
194
+ "variant": "version_restore",
195
+ "action": "post.updated",
196
+ "target_type": "post",
197
+ "target_id": "post-1",
198
+ "actor_kind": "member",
199
+ "attributes": {
200
+ "changed_fields": ["version_restore"],
201
+ "version_id": "version-1"
202
+ }
203
+ },
204
+ {
205
+ "case": "page version",
206
+ "variant": "version",
207
+ "action": "page.updated",
208
+ "target_type": "page",
209
+ "target_id": "page-1",
210
+ "actor_kind": "system",
211
+ "actor_service": "geul-collab",
212
+ "attributes": {
213
+ "changed_fields": ["version"],
214
+ "version_id": "version-1",
215
+ "contributor_member_ids": ["1b6bcad2-c90d-49e9-bec7-f9a4ba6b2894"]
216
+ }
217
+ },
218
+ {
219
+ "case": "page configuration",
220
+ "variant": "configuration",
221
+ "action": "page.updated",
222
+ "target_type": "page",
223
+ "target_id": "page-1",
224
+ "actor_kind": "member",
225
+ "attributes": { "changed_fields": ["slug"] }
226
+ },
227
+ {
228
+ "case": "page lifecycle",
229
+ "variant": "lifecycle",
230
+ "action": "page.updated",
231
+ "target_type": "page",
232
+ "target_id": "page-1",
233
+ "actor_kind": "member",
234
+ "attributes": {
235
+ "changed_fields": ["status"],
236
+ "previous_state": "draft",
237
+ "new_state": "published"
238
+ }
239
+ },
240
+ {
241
+ "case": "page featured image",
242
+ "variant": "featured_image",
243
+ "action": "page.updated",
244
+ "target_type": "page",
245
+ "target_id": "page-1",
246
+ "actor_kind": "member",
247
+ "attributes": {
248
+ "changed_fields": ["featured_image"],
249
+ "collection_operation": "added",
250
+ "asset_id": "asset-1"
251
+ }
252
+ },
253
+ {
254
+ "case": "page share link",
255
+ "variant": "share_link",
256
+ "action": "page.updated",
257
+ "target_type": "page",
258
+ "target_id": "page-1",
259
+ "actor_kind": "member",
260
+ "attributes": {
261
+ "changed_fields": ["share_links"],
262
+ "item_operation": "created",
263
+ "item_id": "link-1"
264
+ }
265
+ },
266
+ {
267
+ "case": "page version restore",
268
+ "variant": "version_restore",
269
+ "action": "page.updated",
270
+ "target_type": "page",
271
+ "target_id": "page-1",
272
+ "actor_kind": "member",
273
+ "attributes": {
274
+ "changed_fields": ["version_restore"],
275
+ "version_id": "version-1"
276
+ }
277
+ },
278
+ {
279
+ "case": "work version",
280
+ "variant": "version",
281
+ "action": "work.updated",
282
+ "target_type": "work",
283
+ "target_id": "work-1",
284
+ "actor_kind": "system",
285
+ "actor_service": "geul-collab",
286
+ "attributes": {
287
+ "changed_fields": ["version"],
288
+ "version_id": "version-1",
289
+ "contributor_member_ids": ["1b6bcad2-c90d-49e9-bec7-f9a4ba6b2894"]
290
+ }
291
+ },
292
+ {
293
+ "case": "work metadata",
294
+ "variant": "metadata",
295
+ "action": "work.updated",
296
+ "target_type": "work",
297
+ "target_id": "work-1",
298
+ "actor_kind": "member",
299
+ "attributes": { "changed_fields": ["slug"] }
300
+ },
301
+ {
302
+ "case": "work lifecycle",
303
+ "variant": "lifecycle",
304
+ "action": "work.updated",
305
+ "target_type": "work",
306
+ "target_id": "work-1",
307
+ "actor_kind": "member",
308
+ "attributes": {
309
+ "changed_fields": ["status"],
310
+ "previous_state": "draft",
311
+ "new_state": "published"
312
+ }
313
+ },
314
+ {
315
+ "case": "work featured image",
316
+ "variant": "featured_image",
317
+ "action": "work.updated",
318
+ "target_type": "work",
319
+ "target_id": "work-1",
320
+ "actor_kind": "member",
321
+ "attributes": {
322
+ "changed_fields": ["featured_image"],
323
+ "collection_operation": "added",
324
+ "asset_id": "asset-1"
325
+ }
326
+ },
327
+ {
328
+ "case": "work credit",
329
+ "variant": "credit",
330
+ "action": "work.updated",
331
+ "target_type": "work",
332
+ "target_id": "work-1",
333
+ "actor_kind": "member",
334
+ "attributes": {
335
+ "changed_fields": ["credits"],
336
+ "item_operation": "updated",
337
+ "item_id": "credit-1"
338
+ }
339
+ },
340
+ {
341
+ "case": "work share link",
342
+ "variant": "share_link",
343
+ "action": "work.updated",
344
+ "target_type": "work",
345
+ "target_id": "work-1",
346
+ "actor_kind": "member",
347
+ "attributes": {
348
+ "changed_fields": ["share_links"],
349
+ "item_operation": "created",
350
+ "item_id": "link-1"
351
+ }
352
+ },
353
+ {
354
+ "case": "work version restore",
355
+ "variant": "version_restore",
356
+ "action": "work.updated",
357
+ "target_type": "work",
358
+ "target_id": "work-1",
359
+ "actor_kind": "member",
360
+ "attributes": {
361
+ "changed_fields": ["version_restore"],
362
+ "version_id": "version-1"
363
+ }
364
+ },
365
+ {
366
+ "case": "legal lifecycle",
367
+ "variant": "lifecycle",
368
+ "action": "legal_policy.updated",
369
+ "target_type": "legal_policy",
370
+ "target_id": "policy-1",
371
+ "actor_kind": "member",
372
+ "attributes": {
373
+ "changed_fields": ["status"],
374
+ "policy_type": "terms",
375
+ "version_number": 1,
376
+ "previous_state": "draft",
377
+ "new_state": "scheduled"
378
+ }
379
+ },
380
+ {
381
+ "case": "legal lifecycle effective schedule",
382
+ "variant": "lifecycle_effective_schedule",
383
+ "action": "legal_policy.updated",
384
+ "target_type": "legal_policy",
385
+ "target_id": "policy-1",
386
+ "actor_kind": "member",
387
+ "attributes": {
388
+ "changed_fields": ["effective_at", "status"],
389
+ "policy_type": "terms",
390
+ "version_number": 1,
391
+ "previous_state": "draft",
392
+ "new_state": "scheduled",
393
+ "effective_at": "2026-09-01T00:00:00Z"
394
+ }
395
+ },
396
+ {
397
+ "case": "legal share link",
398
+ "variant": "share_link",
399
+ "action": "legal_policy.updated",
400
+ "target_type": "legal_policy",
401
+ "target_id": "policy-1",
402
+ "actor_kind": "member",
403
+ "attributes": {
404
+ "changed_fields": ["share_links"],
405
+ "policy_type": "terms",
406
+ "version_number": 1,
407
+ "item_operation": "created",
408
+ "item_id": "link-1"
409
+ }
410
+ },
411
+ {
412
+ "case": "file rename",
413
+ "variant": "rename",
414
+ "action": "file.updated",
415
+ "target_type": "file",
416
+ "target_id": "file-1",
417
+ "actor_kind": "member",
418
+ "attributes": { "changed_fields": ["file_name"] }
419
+ },
420
+ {
421
+ "case": "file move",
422
+ "variant": "move",
423
+ "action": "file.updated",
424
+ "target_type": "file",
425
+ "target_id": "file-1",
426
+ "actor_kind": "member",
427
+ "attributes": {
428
+ "changed_fields": ["folder_id"],
429
+ "previous_parent_id": "folder-1"
430
+ }
431
+ },
432
+ {
433
+ "case": "file move between folders",
434
+ "variant": "move_between_folders",
435
+ "action": "file.updated",
436
+ "target_type": "file",
437
+ "target_id": "file-1",
438
+ "actor_kind": "member",
439
+ "attributes": {
440
+ "changed_fields": ["folder_id"],
441
+ "previous_parent_id": "folder-1",
442
+ "new_parent_id": "folder-2"
443
+ }
444
+ },
445
+ {
446
+ "case": "work File Block download policy",
447
+ "variant": "file_block_download_policy",
448
+ "action": "work.updated",
449
+ "target_type": "work",
450
+ "target_id": "work-1",
451
+ "actor_kind": "member",
452
+ "attributes": {
453
+ "changed_fields": ["file_download_audience_segment_ids"],
454
+ "item_id": "block-3",
455
+ "file_id": "file-3",
456
+ "previous_item_ids": [],
457
+ "item_ids": ["segment-1"]
458
+ }
459
+ },
460
+ {
461
+ "case": "program event File Block download policy",
462
+ "variant": "file_block_download_policy",
463
+ "action": "program_event.updated",
464
+ "target_type": "program_event",
465
+ "target_id": "event-1",
466
+ "actor_kind": "member",
467
+ "attributes": {
468
+ "changed_fields": [
469
+ "file_download_audience",
470
+ "file_download_audience_segment_ids"
471
+ ],
472
+ "item_id": "block-4",
473
+ "file_id": "file-4",
474
+ "previous_state": "restricted",
475
+ "new_state": "public",
476
+ "previous_item_ids": ["segment-1"],
477
+ "item_ids": []
478
+ }
479
+ },
480
+ {
481
+ "case": "release Track download policy",
482
+ "variant": "track_download_policy",
483
+ "action": "release.updated",
484
+ "target_type": "release",
485
+ "target_id": "release-1",
486
+ "actor_kind": "member",
487
+ "attributes": {
488
+ "changed_fields": ["file_download_audience"],
489
+ "item_id": "track-1",
490
+ "file_id": "file-5",
491
+ "previous_state": "disabled",
492
+ "new_state": "public"
493
+ }
494
+ },
495
+ {
496
+ "case": "folder rename",
497
+ "variant": "rename",
498
+ "action": "file_folder.updated",
499
+ "target_type": "file_folder",
500
+ "target_id": "folder-1",
501
+ "actor_kind": "member",
502
+ "attributes": { "changed_fields": ["name"] }
503
+ },
504
+ {
505
+ "case": "folder move",
506
+ "variant": "move",
507
+ "action": "file_folder.updated",
508
+ "target_type": "file_folder",
509
+ "target_id": "folder-1",
510
+ "actor_kind": "member",
511
+ "attributes": {
512
+ "changed_fields": ["parent_id"],
513
+ "new_parent_id": "folder-2"
514
+ }
515
+ },
516
+ {
517
+ "case": "folder move between parents",
518
+ "variant": "move_between_parents",
519
+ "action": "file_folder.updated",
520
+ "target_type": "file_folder",
521
+ "target_id": "folder-1",
522
+ "actor_kind": "member",
523
+ "attributes": {
524
+ "changed_fields": ["parent_id"],
525
+ "previous_parent_id": "folder-2",
526
+ "new_parent_id": "folder-3"
527
+ }
528
+ },
529
+ {
530
+ "case": "category metadata",
531
+ "variant": "metadata",
532
+ "action": "category.updated",
533
+ "target_type": "category",
534
+ "target_id": "category-1",
535
+ "actor_kind": "member",
536
+ "attributes": { "changed_fields": ["name"] }
537
+ },
538
+ {
539
+ "case": "tag metadata",
540
+ "variant": "metadata",
541
+ "action": "tag.updated",
542
+ "target_type": "tag",
543
+ "target_id": "tag-1",
544
+ "actor_kind": "member",
545
+ "attributes": { "changed_fields": ["name"] }
546
+ },
547
+ {
548
+ "case": "genre metadata",
549
+ "variant": "metadata",
550
+ "action": "genre.updated",
551
+ "target_type": "genre",
552
+ "target_id": "genre-1",
553
+ "actor_kind": "member",
554
+ "attributes": { "changed_fields": ["name"] }
555
+ },
556
+ {
557
+ "case": "style metadata",
558
+ "variant": "metadata",
559
+ "action": "style.updated",
560
+ "target_type": "style",
561
+ "target_id": "style-1",
562
+ "actor_kind": "member",
563
+ "attributes": { "changed_fields": ["name"] }
564
+ },
565
+ {
566
+ "case": "format metadata",
567
+ "variant": "metadata",
568
+ "action": "format.updated",
569
+ "target_type": "format",
570
+ "target_id": "format-1",
571
+ "actor_kind": "member",
572
+ "attributes": { "changed_fields": ["name"] }
573
+ },
574
+ {
575
+ "case": "client metadata",
576
+ "variant": "metadata",
577
+ "action": "client.updated",
578
+ "target_type": "client",
579
+ "target_id": "client-1",
580
+ "actor_kind": "member",
581
+ "attributes": { "changed_fields": ["name"] }
582
+ },
583
+ {
584
+ "case": "client logo",
585
+ "variant": "logo",
586
+ "action": "client.updated",
587
+ "target_type": "client",
588
+ "target_id": "client-1",
589
+ "actor_kind": "member",
590
+ "attributes": {
591
+ "changed_fields": ["logo"],
592
+ "asset_slot": "light",
593
+ "collection_operation": "added",
594
+ "file_id": "file-1"
595
+ }
596
+ },
597
+ {
598
+ "case": "map place metadata",
599
+ "variant": "metadata",
600
+ "action": "map_place.updated",
601
+ "target_type": "map_place",
602
+ "target_id": "place-1",
603
+ "actor_kind": "member",
604
+ "attributes": { "changed_fields": ["name"] }
605
+ },
606
+ {
607
+ "case": "map place image",
608
+ "variant": "image",
609
+ "action": "map_place.updated",
610
+ "target_type": "map_place",
611
+ "target_id": "place-1",
612
+ "actor_kind": "member",
613
+ "attributes": {
614
+ "changed_fields": ["image"],
615
+ "collection_operation": "added",
616
+ "file_id": "file-1"
617
+ }
618
+ },
619
+ {
620
+ "case": "audience config",
621
+ "variant": "configuration",
622
+ "action": "audience_segment.updated",
623
+ "target_type": "audience_segment",
624
+ "target_id": "audience-1",
625
+ "actor_kind": "member",
626
+ "attributes": { "changed_fields": ["name"] }
627
+ },
628
+ {
629
+ "case": "audience lifecycle",
630
+ "variant": "lifecycle",
631
+ "action": "audience_segment.updated",
632
+ "target_type": "audience_segment",
633
+ "target_id": "audience-1",
634
+ "actor_kind": "member",
635
+ "attributes": {
636
+ "changed_fields": ["status"],
637
+ "previous_state": "active",
638
+ "new_state": "archived"
639
+ }
640
+ },
641
+ {
642
+ "case": "menu source",
643
+ "variant": "source",
644
+ "action": "menu.updated",
645
+ "target_type": "menu",
646
+ "target_id": "menu-1",
647
+ "actor_kind": "member",
648
+ "attributes": { "changed_fields": ["name"] }
649
+ },
650
+ {
651
+ "case": "mail adapter config",
652
+ "variant": "configuration",
653
+ "action": "mail_adapter.updated",
654
+ "target_type": "mail_adapter",
655
+ "target_id": "adapter-1",
656
+ "actor_kind": "member",
657
+ "attributes": { "changed_fields": ["name"] }
658
+ },
659
+ {
660
+ "case": "translation settings",
661
+ "variant": "configuration",
662
+ "action": "translation_settings.updated",
663
+ "target_type": "translation_settings",
664
+ "target_id": "1",
665
+ "actor_kind": "member",
666
+ "attributes": { "changed_fields": ["default_locale"] }
667
+ },
668
+ {
669
+ "case": "translation provider config",
670
+ "variant": "configuration",
671
+ "action": "translation_provider.updated",
672
+ "target_type": "translation_provider",
673
+ "target_id": "provider-1",
674
+ "actor_kind": "member",
675
+ "attributes": { "changed_fields": ["name"] }
676
+ },
677
+ {
678
+ "case": "email suppression release",
679
+ "variant": "lifecycle",
680
+ "action": "email_suppression.updated",
681
+ "target_type": "email_suppression",
682
+ "target_id": "suppression-1",
683
+ "actor_kind": "member",
684
+ "attributes": {
685
+ "changed_fields": ["status"],
686
+ "previous_state": "active",
687
+ "new_state": "released"
688
+ }
689
+ },
690
+ {
691
+ "case": "artist lifecycle",
692
+ "variant": "lifecycle",
693
+ "action": "artist.updated",
694
+ "target_type": "artist",
695
+ "target_id": "artist-1",
696
+ "actor_kind": "member",
697
+ "attributes": {
698
+ "changed_fields": ["status"],
699
+ "previous_state": "draft",
700
+ "new_state": "published"
701
+ }
702
+ },
703
+ {
704
+ "case": "artist gallery",
705
+ "variant": "gallery",
706
+ "action": "artist.updated",
707
+ "target_type": "artist",
708
+ "target_id": "artist-1",
709
+ "actor_kind": "member",
710
+ "attributes": {
711
+ "changed_fields": ["gallery"],
712
+ "file_ids": ["file-1", "file-2"]
713
+ }
714
+ },
715
+ {
716
+ "case": "artist participant",
717
+ "variant": "participant",
718
+ "action": "artist.updated",
719
+ "target_type": "artist",
720
+ "target_id": "artist-1",
721
+ "actor_kind": "member",
722
+ "attributes": {
723
+ "changed_fields": ["participants"],
724
+ "subject_member_id": "member-2",
725
+ "previous_relationship": "none",
726
+ "new_relationship": "owner"
727
+ }
728
+ },
729
+ {
730
+ "case": "artist share link",
731
+ "variant": "share_link",
732
+ "action": "artist.updated",
733
+ "target_type": "artist",
734
+ "target_id": "artist-1",
735
+ "actor_kind": "member",
736
+ "attributes": {
737
+ "changed_fields": ["share_links"],
738
+ "item_operation": "created",
739
+ "item_id": "link-1"
740
+ }
741
+ },
742
+ {
743
+ "case": "label lifecycle",
744
+ "variant": "lifecycle",
745
+ "action": "label.updated",
746
+ "target_type": "label",
747
+ "target_id": "label-1",
748
+ "actor_kind": "member",
749
+ "attributes": {
750
+ "changed_fields": ["status"],
751
+ "previous_state": "draft",
752
+ "new_state": "published"
753
+ }
754
+ },
755
+ {
756
+ "case": "label participant",
757
+ "variant": "participant",
758
+ "action": "label.updated",
759
+ "target_type": "label",
760
+ "target_id": "label-1",
761
+ "actor_kind": "member",
762
+ "attributes": {
763
+ "changed_fields": ["participants"],
764
+ "subject_member_id": "member-2",
765
+ "previous_relationship": "none",
766
+ "new_relationship": "manager"
767
+ }
768
+ },
769
+ {
770
+ "case": "label logo",
771
+ "variant": "logo",
772
+ "action": "label.updated",
773
+ "target_type": "label",
774
+ "target_id": "label-1",
775
+ "actor_kind": "member",
776
+ "attributes": {
777
+ "changed_fields": ["logo"],
778
+ "asset_slot": "light",
779
+ "collection_operation": "added",
780
+ "asset_id": "asset-1"
781
+ }
782
+ },
783
+ {
784
+ "case": "label share link",
785
+ "variant": "share_link",
786
+ "action": "label.updated",
787
+ "target_type": "label",
788
+ "target_id": "label-1",
789
+ "actor_kind": "member",
790
+ "attributes": {
791
+ "changed_fields": ["share_links"],
792
+ "item_operation": "created",
793
+ "item_id": "link-1"
794
+ }
795
+ },
796
+ {
797
+ "case": "post series metadata",
798
+ "variant": "source_metadata",
799
+ "action": "post_series.updated",
800
+ "target_type": "post_series",
801
+ "target_id": "series-1",
802
+ "actor_kind": "member",
803
+ "attributes": { "changed_fields": ["slug"] }
804
+ },
805
+ {
806
+ "case": "post series lifecycle",
807
+ "variant": "lifecycle",
808
+ "action": "post_series.updated",
809
+ "target_type": "post_series",
810
+ "target_id": "series-1",
811
+ "actor_kind": "member",
812
+ "attributes": {
813
+ "changed_fields": ["status"],
814
+ "previous_state": "draft",
815
+ "new_state": "published"
816
+ }
817
+ },
818
+ {
819
+ "case": "post series manager",
820
+ "variant": "manager",
821
+ "action": "post_series.updated",
822
+ "target_type": "post_series",
823
+ "target_id": "series-1",
824
+ "actor_kind": "member",
825
+ "attributes": {
826
+ "changed_fields": ["managers"],
827
+ "subject_member_id": "member-2",
828
+ "previous_relationship": "none",
829
+ "new_relationship": "manager"
830
+ }
831
+ },
832
+ {
833
+ "case": "post series membership",
834
+ "variant": "membership",
835
+ "action": "post_series.updated",
836
+ "target_type": "post_series",
837
+ "target_id": "series-1",
838
+ "actor_kind": "member",
839
+ "attributes": {
840
+ "changed_fields": ["posts"],
841
+ "subject_post_id": "post-1",
842
+ "new_series_id": "series-1"
843
+ }
844
+ },
845
+ {
846
+ "case": "post series order",
847
+ "variant": "order",
848
+ "action": "post_series.updated",
849
+ "target_type": "post_series",
850
+ "target_id": "series-1",
851
+ "actor_kind": "member",
852
+ "attributes": {
853
+ "changed_fields": ["post_order"],
854
+ "post_ids": ["post-2", "post-1"]
855
+ }
856
+ },
857
+ {
858
+ "case": "post series membership move",
859
+ "variant": "membership_move",
860
+ "action": "post_series.updated",
861
+ "target_type": "post_series",
862
+ "target_id": "series-1",
863
+ "actor_kind": "member",
864
+ "attributes": {
865
+ "changed_fields": ["posts"],
866
+ "subject_post_id": "post-1",
867
+ "previous_series_id": "series-2",
868
+ "new_series_id": "series-1"
869
+ }
870
+ },
871
+ {
872
+ "case": "post series membership clear",
873
+ "variant": "membership_clear",
874
+ "action": "post_series.updated",
875
+ "target_type": "post_series",
876
+ "target_id": "series-1",
877
+ "actor_kind": "member",
878
+ "attributes": {
879
+ "changed_fields": ["posts"],
880
+ "subject_post_id": "post-1",
881
+ "previous_series_id": "series-1"
882
+ }
883
+ },
884
+ {
885
+ "case": "post series featured image",
886
+ "variant": "featured_image",
887
+ "action": "post_series.updated",
888
+ "target_type": "post_series",
889
+ "target_id": "series-1",
890
+ "actor_kind": "member",
891
+ "attributes": {
892
+ "changed_fields": ["featured_image"],
893
+ "collection_operation": "added",
894
+ "file_id": "file-1"
895
+ }
896
+ },
897
+ {
898
+ "case": "program event type config",
899
+ "variant": "configuration",
900
+ "action": "program_event_type.updated",
901
+ "target_type": "program_event_type",
902
+ "target_id": "type-1",
903
+ "actor_kind": "member",
904
+ "attributes": { "changed_fields": ["slug"] }
905
+ },
906
+ {
907
+ "case": "program event metadata",
908
+ "variant": "metadata",
909
+ "action": "program_event.updated",
910
+ "target_type": "program_event",
911
+ "target_id": "event-1",
912
+ "actor_kind": "member",
913
+ "attributes": { "changed_fields": ["slug"] }
914
+ },
915
+ {
916
+ "case": "program event poster",
917
+ "variant": "poster",
918
+ "action": "program_event.updated",
919
+ "target_type": "program_event",
920
+ "target_id": "event-1",
921
+ "actor_kind": "member",
922
+ "attributes": {
923
+ "changed_fields": ["poster"],
924
+ "collection_operation": "added",
925
+ "file_id": "file-1"
926
+ }
927
+ },
928
+ {
929
+ "case": "program event media",
930
+ "variant": "child",
931
+ "action": "program_event.updated",
932
+ "target_type": "program_event",
933
+ "target_id": "event-1",
934
+ "actor_kind": "member",
935
+ "attributes": {
936
+ "changed_fields": ["media"],
937
+ "item_operation": "created",
938
+ "item_id": "media-1"
939
+ }
940
+ },
941
+ {
942
+ "case": "program event child order",
943
+ "variant": "child_order",
944
+ "action": "program_event.updated",
945
+ "target_type": "program_event",
946
+ "target_id": "event-1",
947
+ "actor_kind": "member",
948
+ "attributes": {
949
+ "changed_fields": ["credits"],
950
+ "item_ids": ["credit-2", "credit-1"]
951
+ }
952
+ },
953
+ {
954
+ "case": "program event lifecycle",
955
+ "variant": "lifecycle",
956
+ "action": "program_event.updated",
957
+ "target_type": "program_event",
958
+ "target_id": "event-1",
959
+ "actor_kind": "member",
960
+ "attributes": {
961
+ "changed_fields": ["status"],
962
+ "previous_state": "draft",
963
+ "new_state": "published"
964
+ }
965
+ },
966
+ {
967
+ "case": "program event series metadata",
968
+ "variant": "metadata",
969
+ "action": "program_event_series.updated",
970
+ "target_type": "program_event_series",
971
+ "target_id": "event-series-1",
972
+ "actor_kind": "member",
973
+ "attributes": { "changed_fields": ["title"] }
974
+ },
975
+ {
976
+ "case": "program event series poster",
977
+ "variant": "poster",
978
+ "action": "program_event_series.updated",
979
+ "target_type": "program_event_series",
980
+ "target_id": "event-series-1",
981
+ "actor_kind": "member",
982
+ "attributes": {
983
+ "changed_fields": ["poster"],
984
+ "collection_operation": "added",
985
+ "file_id": "file-1"
986
+ }
987
+ },
988
+ {
989
+ "case": "program event series lifecycle",
990
+ "variant": "lifecycle",
991
+ "action": "program_event_series.updated",
992
+ "target_type": "program_event_series",
993
+ "target_id": "event-series-1",
994
+ "actor_kind": "member",
995
+ "attributes": {
996
+ "changed_fields": ["status"],
997
+ "previous_state": "draft",
998
+ "new_state": "published"
999
+ }
1000
+ },
1001
+ {
1002
+ "case": "release metadata",
1003
+ "variant": "metadata",
1004
+ "action": "release.updated",
1005
+ "target_type": "release",
1006
+ "target_id": "release-1",
1007
+ "actor_kind": "member",
1008
+ "attributes": { "changed_fields": ["slug"] }
1009
+ },
1010
+ {
1011
+ "case": "release track",
1012
+ "variant": "track",
1013
+ "action": "release.updated",
1014
+ "target_type": "release",
1015
+ "target_id": "release-1",
1016
+ "actor_kind": "member",
1017
+ "attributes": {
1018
+ "changed_fields": ["tracks"],
1019
+ "item_operation": "created",
1020
+ "item_id": "track-1"
1021
+ }
1022
+ },
1023
+ {
1024
+ "case": "release track order",
1025
+ "variant": "track_order",
1026
+ "action": "release.updated",
1027
+ "target_type": "release",
1028
+ "target_id": "release-1",
1029
+ "actor_kind": "member",
1030
+ "attributes": {
1031
+ "changed_fields": ["tracks"],
1032
+ "item_ids": ["track-2", "track-1"]
1033
+ }
1034
+ },
1035
+ {
1036
+ "case": "release track audio",
1037
+ "variant": "track_audio",
1038
+ "action": "release.updated",
1039
+ "target_type": "release",
1040
+ "target_id": "release-1",
1041
+ "actor_kind": "member",
1042
+ "attributes": {
1043
+ "changed_fields": ["track_audio"],
1044
+ "collection_operation": "added",
1045
+ "item_id": "track-1",
1046
+ "file_id": "file-1"
1047
+ }
1048
+ },
1049
+ {
1050
+ "case": "release artwork",
1051
+ "variant": "artwork",
1052
+ "action": "release.updated",
1053
+ "target_type": "release",
1054
+ "target_id": "release-1",
1055
+ "actor_kind": "member",
1056
+ "attributes": {
1057
+ "changed_fields": ["artwork"],
1058
+ "collection_operation": "added",
1059
+ "file_id": "file-1"
1060
+ }
1061
+ },
1062
+ {
1063
+ "case": "release lifecycle",
1064
+ "variant": "lifecycle",
1065
+ "action": "release.updated",
1066
+ "target_type": "release",
1067
+ "target_id": "release-1",
1068
+ "actor_kind": "member",
1069
+ "attributes": {
1070
+ "changed_fields": ["status"],
1071
+ "previous_state": "draft",
1072
+ "new_state": "published"
1073
+ }
1074
+ },
1075
+ {
1076
+ "case": "release share link",
1077
+ "variant": "share_link",
1078
+ "action": "release.updated",
1079
+ "target_type": "release",
1080
+ "target_id": "release-1",
1081
+ "actor_kind": "member",
1082
+ "attributes": {
1083
+ "changed_fields": ["share_links"],
1084
+ "item_operation": "created",
1085
+ "item_id": "link-1"
1086
+ }
1087
+ },
1088
+ {
1089
+ "case": "campaign target layout",
1090
+ "variant": "target_layout",
1091
+ "action": "campaign.updated",
1092
+ "target_type": "campaign",
1093
+ "target_id": "campaign-1",
1094
+ "actor_kind": "member",
1095
+ "attributes": { "changed_fields": ["layout"] }
1096
+ },
1097
+ {
1098
+ "case": "campaign lifecycle",
1099
+ "variant": "lifecycle",
1100
+ "action": "campaign.updated",
1101
+ "target_type": "campaign",
1102
+ "target_id": "campaign-1",
1103
+ "actor_kind": "member",
1104
+ "attributes": {
1105
+ "changed_fields": ["status"],
1106
+ "previous_state": "draft",
1107
+ "new_state": "scheduled"
1108
+ }
1109
+ },
1110
+ {
1111
+ "case": "campaign schedule",
1112
+ "variant": "schedule",
1113
+ "action": "campaign.updated",
1114
+ "target_type": "campaign",
1115
+ "target_id": "campaign-1",
1116
+ "actor_kind": "member",
1117
+ "attributes": {
1118
+ "changed_fields": ["schedule"],
1119
+ "previous_state": "draft",
1120
+ "new_state": "scheduled",
1121
+ "scheduled_at": "2026-09-01T00:00:00Z"
1122
+ }
1123
+ },
1124
+ {
1125
+ "case": "campaign delivery run lifecycle",
1126
+ "variant": "delivery_run",
1127
+ "action": "campaign.updated",
1128
+ "target_type": "campaign",
1129
+ "target_id": "campaign-1",
1130
+ "actor_kind": "member",
1131
+ "attributes": {
1132
+ "changed_fields": ["delivery_run"],
1133
+ "previous_state": "scheduled",
1134
+ "new_state": "sending",
1135
+ "item_id": "run-1"
1136
+ }
1137
+ },
1138
+ {
1139
+ "case": "template metadata",
1140
+ "variant": "metadata",
1141
+ "action": "email_template.updated",
1142
+ "target_type": "email_template",
1143
+ "target_id": "template-1",
1144
+ "actor_kind": "member",
1145
+ "attributes": { "changed_fields": ["name"] }
1146
+ },
1147
+ {
1148
+ "case": "template layout",
1149
+ "variant": "layout_relation",
1150
+ "action": "email_template.updated",
1151
+ "target_type": "email_template",
1152
+ "target_id": "template-1",
1153
+ "actor_kind": "member",
1154
+ "attributes": { "changed_fields": ["layout"], "item_id": "layout-1" }
1155
+ },
1156
+ {
1157
+ "case": "template layout replacement",
1158
+ "variant": "layout_relation_replace",
1159
+ "action": "email_template.updated",
1160
+ "target_type": "email_template",
1161
+ "target_id": "template-1",
1162
+ "actor_kind": "member",
1163
+ "attributes": {
1164
+ "changed_fields": ["layout"],
1165
+ "previous_item_id": "layout-2",
1166
+ "item_id": "layout-1"
1167
+ }
1168
+ },
1169
+ {
1170
+ "case": "template layout cleared",
1171
+ "variant": "layout_relation_clear",
1172
+ "action": "email_template.updated",
1173
+ "target_type": "email_template",
1174
+ "target_id": "template-1",
1175
+ "actor_kind": "member",
1176
+ "attributes": {
1177
+ "changed_fields": ["layout"],
1178
+ "previous_item_id": "layout-1"
1179
+ }
1180
+ },
1181
+ {
1182
+ "case": "layout metadata",
1183
+ "variant": "metadata",
1184
+ "action": "email_layout.updated",
1185
+ "target_type": "email_layout",
1186
+ "target_id": "layout-1",
1187
+ "actor_kind": "member",
1188
+ "attributes": { "changed_fields": ["name"] }
1189
+ },
1190
+ {
1191
+ "case": "email event mapping",
1192
+ "variant": "template_relation",
1193
+ "action": "email_event_mapping.updated",
1194
+ "target_type": "email_event_mapping",
1195
+ "target_id": "welcome",
1196
+ "actor_kind": "member",
1197
+ "attributes": {
1198
+ "changed_fields": ["template"],
1199
+ "event_name": "welcome",
1200
+ "item_id": "template-1"
1201
+ }
1202
+ },
1203
+ {
1204
+ "case": "email event mapping replacement",
1205
+ "variant": "template_relation_replace",
1206
+ "action": "email_event_mapping.updated",
1207
+ "target_type": "email_event_mapping",
1208
+ "target_id": "welcome",
1209
+ "actor_kind": "member",
1210
+ "attributes": {
1211
+ "changed_fields": ["template"],
1212
+ "event_name": "welcome",
1213
+ "previous_item_id": "template-2",
1214
+ "item_id": "template-1"
1215
+ }
1216
+ },
1217
+ {
1218
+ "case": "email event mapping cleared",
1219
+ "variant": "template_relation_clear",
1220
+ "action": "email_event_mapping.updated",
1221
+ "target_type": "email_event_mapping",
1222
+ "target_id": "welcome",
1223
+ "actor_kind": "member",
1224
+ "attributes": {
1225
+ "changed_fields": ["template"],
1226
+ "event_name": "welcome",
1227
+ "previous_item_id": "template-1"
1228
+ }
1229
+ },
1230
+ {
1231
+ "case": "form settings",
1232
+ "variant": "settings",
1233
+ "action": "form.updated",
1234
+ "target_type": "form",
1235
+ "target_id": "form-1",
1236
+ "actor_kind": "member",
1237
+ "attributes": { "changed_fields": ["slug"] }
1238
+ },
1239
+ {
1240
+ "case": "form lifecycle",
1241
+ "variant": "lifecycle",
1242
+ "action": "form.updated",
1243
+ "target_type": "form",
1244
+ "target_id": "form-1",
1245
+ "actor_kind": "member",
1246
+ "attributes": {
1247
+ "changed_fields": ["status"],
1248
+ "previous_state": "draft",
1249
+ "new_state": "published"
1250
+ }
1251
+ },
1252
+ {
1253
+ "case": "form featured image",
1254
+ "variant": "featured_image",
1255
+ "action": "form.updated",
1256
+ "target_type": "form",
1257
+ "target_id": "form-1",
1258
+ "actor_kind": "member",
1259
+ "attributes": {
1260
+ "changed_fields": ["featured_image"],
1261
+ "collection_operation": "added",
1262
+ "file_id": "file-1"
1263
+ }
1264
+ },
1265
+ {
1266
+ "case": "form share link",
1267
+ "variant": "share_link",
1268
+ "action": "form.updated",
1269
+ "target_type": "form",
1270
+ "target_id": "form-1",
1271
+ "actor_kind": "member",
1272
+ "attributes": {
1273
+ "changed_fields": ["share_links"],
1274
+ "item_operation": "created",
1275
+ "item_scope": "form",
1276
+ "item_id": "link-1"
1277
+ }
1278
+ },
1279
+ {
1280
+ "case": "anonymous form submission",
1281
+ "variant": "submission",
1282
+ "action": "form_submission.created",
1283
+ "target_type": "form_submission",
1284
+ "target_id": "submission-1",
1285
+ "actor_kind": "anonymous",
1286
+ "attributes": { "parent_id": "form-1" }
1287
+ },
1288
+ {
1289
+ "case": "member onboarding",
1290
+ "variant": "onboarding",
1291
+ "action": "member.updated",
1292
+ "target_type": "member",
1293
+ "target_id": "member-1",
1294
+ "actor_kind": "member",
1295
+ "attributes": {
1296
+ "changed_fields": ["nickname", "onboarded"],
1297
+ "nickname": "Member"
1298
+ }
1299
+ },
1300
+ {
1301
+ "case": "member profile",
1302
+ "variant": "profile",
1303
+ "action": "member.updated",
1304
+ "target_type": "member",
1305
+ "target_id": "member-1",
1306
+ "actor_kind": "member",
1307
+ "attributes": { "changed_fields": ["nickname"], "nickname": "Member" }
1308
+ },
1309
+ {
1310
+ "case": "member profile fields without nickname",
1311
+ "variant": "profile_without_nickname",
1312
+ "action": "member.updated",
1313
+ "target_type": "member",
1314
+ "target_id": "member-1",
1315
+ "actor_kind": "member",
1316
+ "attributes": { "changed_fields": ["bio", "website"] }
1317
+ },
1318
+ {
1319
+ "case": "member avatar",
1320
+ "variant": "avatar",
1321
+ "action": "member.updated",
1322
+ "target_type": "member",
1323
+ "target_id": "member-1",
1324
+ "actor_kind": "member",
1325
+ "attributes": {
1326
+ "changed_fields": ["avatar"],
1327
+ "collection_operation": "added",
1328
+ "asset_id": "asset-1"
1329
+ }
1330
+ },
1331
+ {
1332
+ "case": "member preference",
1333
+ "variant": "preference",
1334
+ "action": "member.updated",
1335
+ "target_type": "member",
1336
+ "target_id": "member-1",
1337
+ "actor_kind": "member",
1338
+ "attributes": {
1339
+ "changed_fields": ["preferred_locale"],
1340
+ "preferred_locale": "ko"
1341
+ }
1342
+ },
1343
+ {
1344
+ "case": "member cookie consent preference",
1345
+ "variant": "preference_cookie_consent",
1346
+ "action": "member.updated",
1347
+ "target_type": "member",
1348
+ "target_id": "member-1",
1349
+ "actor_kind": "member",
1350
+ "attributes": {
1351
+ "changed_fields": ["cookie_consent"],
1352
+ "consent_id": "consent-1"
1353
+ }
1354
+ },
1355
+ {
1356
+ "case": "member tags",
1357
+ "variant": "tags",
1358
+ "action": "member.updated",
1359
+ "target_type": "member",
1360
+ "target_id": "member-1",
1361
+ "actor_kind": "member",
1362
+ "attributes": {
1363
+ "changed_fields": ["tags"],
1364
+ "tag_ids": ["tag-1", "tag-2"]
1365
+ }
1366
+ },
1367
+ {
1368
+ "case": "member role",
1369
+ "variant": "role",
1370
+ "action": "member.updated",
1371
+ "target_type": "member",
1372
+ "target_id": "member-1",
1373
+ "actor_kind": "member",
1374
+ "attributes": {
1375
+ "changed_fields": ["role"],
1376
+ "previous_role": "user",
1377
+ "new_role": "author"
1378
+ }
1379
+ },
1380
+ {
1381
+ "case": "member status",
1382
+ "variant": "status",
1383
+ "action": "member.updated",
1384
+ "target_type": "member",
1385
+ "target_id": "member-1",
1386
+ "actor_kind": "member",
1387
+ "attributes": {
1388
+ "changed_fields": ["status"],
1389
+ "previous_state": "active",
1390
+ "new_state": "banned"
1391
+ }
1392
+ },
1393
+ {
1394
+ "case": "member unban system",
1395
+ "variant": "status_unban",
1396
+ "action": "member.updated",
1397
+ "target_type": "member",
1398
+ "target_id": "member-1",
1399
+ "actor_kind": "system",
1400
+ "actor_service": "geul-backend",
1401
+ "attributes": {
1402
+ "changed_fields": ["status"],
1403
+ "previous_state": "banned",
1404
+ "new_state": "active"
1405
+ }
1406
+ },
1407
+ {
1408
+ "case": "account canonical email",
1409
+ "variant": "canonical_email",
1410
+ "action": "account.updated",
1411
+ "target_type": "account",
1412
+ "target_id": "member-1",
1413
+ "actor_kind": "member",
1414
+ "attributes": {
1415
+ "changed_fields": ["canonical_email"],
1416
+ "previous_email": "old@example.test",
1417
+ "new_email": "new@example.test"
1418
+ }
1419
+ },
1420
+ {
1421
+ "case": "account email login",
1422
+ "variant": "login_email",
1423
+ "action": "account.updated",
1424
+ "target_type": "account",
1425
+ "target_id": "member-1",
1426
+ "actor_kind": "member",
1427
+ "attributes": {
1428
+ "changed_fields": ["login_emails"],
1429
+ "collection_operation": "added",
1430
+ "email": "new@example.test"
1431
+ }
1432
+ },
1433
+ {
1434
+ "case": "account social login",
1435
+ "variant": "social_login",
1436
+ "action": "account.updated",
1437
+ "target_type": "account",
1438
+ "target_id": "member-1",
1439
+ "actor_kind": "member",
1440
+ "attributes": {
1441
+ "changed_fields": ["social_logins"],
1442
+ "collection_operation": "added",
1443
+ "provider": "google",
1444
+ "provider_subject": "google-subject"
1445
+ }
1446
+ },
1447
+ {
1448
+ "case": "account passkey",
1449
+ "variant": "passkey",
1450
+ "action": "account.updated",
1451
+ "target_type": "account",
1452
+ "target_id": "member-1",
1453
+ "actor_kind": "member",
1454
+ "attributes": {
1455
+ "changed_fields": ["passkeys"],
1456
+ "collection_operation": "added",
1457
+ "passkey_ids": ["passkey-1"]
1458
+ }
1459
+ },
1460
+ {
1461
+ "case": "account sessions",
1462
+ "variant": "session",
1463
+ "action": "account.updated",
1464
+ "target_type": "account",
1465
+ "target_id": "member-1",
1466
+ "actor_kind": "member",
1467
+ "attributes": {
1468
+ "changed_fields": ["sessions"],
1469
+ "collection_operation": "removed",
1470
+ "session_scope": "others",
1471
+ "session_ids": [
1472
+ "018f47a2-8a3d-4e17-9d42-6f12c89b1234",
1473
+ "018f47a2-8a3d-4e17-9d42-6f12c89b5678"
1474
+ ]
1475
+ }
1476
+ },
1477
+ {
1478
+ "case": "account newsletter",
1479
+ "variant": "newsletter",
1480
+ "action": "account.updated",
1481
+ "target_type": "account",
1482
+ "target_id": "member-1",
1483
+ "actor_kind": "member",
1484
+ "attributes": {
1485
+ "changed_fields": ["newsletter_subscription"],
1486
+ "previous_state": "subscribed",
1487
+ "new_state": "unsubscribed"
1488
+ }
1489
+ },
1490
+ {
1491
+ "case": "account deletion lifecycle",
1492
+ "variant": "deletion_state",
1493
+ "action": "account.updated",
1494
+ "target_type": "account",
1495
+ "target_id": "member-1",
1496
+ "actor_kind": "member",
1497
+ "attributes": {
1498
+ "changed_fields": ["deletion_state"],
1499
+ "previous_state": "none",
1500
+ "new_state": "confirmation_pending"
1501
+ }
1502
+ },
1503
+ {
1504
+ "case": "account deletion scheduled",
1505
+ "variant": "deletion_scheduled",
1506
+ "action": "account.updated",
1507
+ "target_type": "account",
1508
+ "target_id": "member-1",
1509
+ "actor_kind": "member",
1510
+ "attributes": {
1511
+ "changed_fields": ["deletion_state"],
1512
+ "previous_state": "confirmation_pending",
1513
+ "new_state": "scheduled"
1514
+ }
1515
+ },
1516
+ {
1517
+ "case": "account deletion cancelled",
1518
+ "variant": "deletion_cancelled",
1519
+ "action": "account.updated",
1520
+ "target_type": "account",
1521
+ "target_id": "member-1",
1522
+ "actor_kind": "member",
1523
+ "attributes": {
1524
+ "changed_fields": ["deletion_state"],
1525
+ "previous_state": "scheduled",
1526
+ "new_state": "cancelled"
1527
+ }
1528
+ },
1529
+ {
1530
+ "case": "account deletion recovered",
1531
+ "variant": "deletion_recovered",
1532
+ "action": "account.updated",
1533
+ "target_type": "account",
1534
+ "target_id": "member-1",
1535
+ "actor_kind": "member",
1536
+ "attributes": {
1537
+ "changed_fields": ["deletion_state"],
1538
+ "previous_state": "recovery_confirmation_pending",
1539
+ "new_state": "recovered"
1540
+ }
1541
+ },
1542
+ {
1543
+ "case": "account deleted system",
1544
+ "variant": "deleted",
1545
+ "action": "account.deleted",
1546
+ "target_type": "account",
1547
+ "target_id": "member-1",
1548
+ "actor_kind": "system",
1549
+ "actor_service": "geul-backend",
1550
+ "attributes": {}
1551
+ },
1552
+ {
1553
+ "case": "post source locale",
1554
+ "variant": "source_locale",
1555
+ "action": "post.updated",
1556
+ "target_type": "post",
1557
+ "target_id": "post-1",
1558
+ "actor_kind": "member",
1559
+ "attributes": {
1560
+ "changed_fields": ["source_locale"],
1561
+ "previous_locale": "en",
1562
+ "new_locale": "zh-CN"
1563
+ }
1564
+ },
1565
+ {
1566
+ "case": "page source locale",
1567
+ "variant": "source_locale",
1568
+ "action": "page.updated",
1569
+ "target_type": "page",
1570
+ "target_id": "page-1",
1571
+ "actor_kind": "member",
1572
+ "attributes": {
1573
+ "changed_fields": ["source_locale"],
1574
+ "previous_locale": "en",
1575
+ "new_locale": "ko"
1576
+ }
1577
+ },
1578
+ {
1579
+ "case": "work source locale",
1580
+ "variant": "source_locale",
1581
+ "action": "work.updated",
1582
+ "target_type": "work",
1583
+ "target_id": "work-1",
1584
+ "actor_kind": "member",
1585
+ "attributes": {
1586
+ "changed_fields": ["source_locale"],
1587
+ "previous_locale": "en",
1588
+ "new_locale": "ko"
1589
+ }
1590
+ },
1591
+ {
1592
+ "case": "post series source locale",
1593
+ "variant": "source_locale",
1594
+ "action": "post_series.updated",
1595
+ "target_type": "post_series",
1596
+ "target_id": "series-1",
1597
+ "actor_kind": "member",
1598
+ "attributes": {
1599
+ "changed_fields": ["source_locale"],
1600
+ "previous_locale": "en",
1601
+ "new_locale": "ko"
1602
+ }
1603
+ },
1604
+ {
1605
+ "case": "program event source locale",
1606
+ "variant": "source_locale",
1607
+ "action": "program_event.updated",
1608
+ "target_type": "program_event",
1609
+ "target_id": "event-1",
1610
+ "actor_kind": "member",
1611
+ "attributes": {
1612
+ "changed_fields": ["source_locale"],
1613
+ "previous_locale": "en",
1614
+ "new_locale": "ko"
1615
+ }
1616
+ },
1617
+ {
1618
+ "case": "release source locale",
1619
+ "variant": "source_locale",
1620
+ "action": "release.updated",
1621
+ "target_type": "release",
1622
+ "target_id": "release-1",
1623
+ "actor_kind": "member",
1624
+ "attributes": {
1625
+ "changed_fields": ["source_locale"],
1626
+ "previous_locale": "en",
1627
+ "new_locale": "ko"
1628
+ }
1629
+ },
1630
+ {
1631
+ "case": "artist source locale",
1632
+ "variant": "source_locale",
1633
+ "action": "artist.updated",
1634
+ "target_type": "artist",
1635
+ "target_id": "artist-1",
1636
+ "actor_kind": "member",
1637
+ "attributes": {
1638
+ "changed_fields": ["source_locale"],
1639
+ "previous_locale": "en",
1640
+ "new_locale": "ko"
1641
+ }
1642
+ },
1643
+ {
1644
+ "case": "label source locale",
1645
+ "variant": "source_locale",
1646
+ "action": "label.updated",
1647
+ "target_type": "label",
1648
+ "target_id": "label-1",
1649
+ "actor_kind": "member",
1650
+ "attributes": {
1651
+ "changed_fields": ["source_locale"],
1652
+ "previous_locale": "en",
1653
+ "new_locale": "ko"
1654
+ }
1655
+ },
1656
+ {
1657
+ "case": "menu source locale",
1658
+ "variant": "source_locale",
1659
+ "action": "menu.updated",
1660
+ "target_type": "menu",
1661
+ "target_id": "menu-1",
1662
+ "actor_kind": "member",
1663
+ "attributes": {
1664
+ "changed_fields": ["source_locale"],
1665
+ "previous_locale": "en",
1666
+ "new_locale": "ko"
1667
+ }
1668
+ },
1669
+ {
1670
+ "case": "campaign source locale",
1671
+ "variant": "source_locale",
1672
+ "action": "campaign.updated",
1673
+ "target_type": "campaign",
1674
+ "target_id": "campaign-1",
1675
+ "actor_kind": "member",
1676
+ "attributes": {
1677
+ "changed_fields": ["source_locale"],
1678
+ "previous_locale": "en",
1679
+ "new_locale": "ko"
1680
+ }
1681
+ },
1682
+ {
1683
+ "case": "form source locale",
1684
+ "variant": "source_locale",
1685
+ "action": "form.updated",
1686
+ "target_type": "form",
1687
+ "target_id": "form-1",
1688
+ "actor_kind": "member",
1689
+ "attributes": {
1690
+ "changed_fields": ["source_locale"],
1691
+ "previous_locale": "en",
1692
+ "new_locale": "ko"
1693
+ }
1694
+ },
1695
+ {
1696
+ "case": "email template source locale",
1697
+ "variant": "source_locale",
1698
+ "action": "email_template.updated",
1699
+ "target_type": "email_template",
1700
+ "target_id": "template-1",
1701
+ "actor_kind": "member",
1702
+ "attributes": {
1703
+ "changed_fields": ["source_locale"],
1704
+ "previous_locale": "en",
1705
+ "new_locale": "ko"
1706
+ }
1707
+ },
1708
+ {
1709
+ "case": "email layout source locale",
1710
+ "variant": "source_locale",
1711
+ "action": "email_layout.updated",
1712
+ "target_type": "email_layout",
1713
+ "target_id": "layout-1",
1714
+ "actor_kind": "member",
1715
+ "attributes": {
1716
+ "changed_fields": ["source_locale"],
1717
+ "previous_locale": "en",
1718
+ "new_locale": "ko"
1719
+ }
1720
+ },
1721
+ {
1722
+ "case": "privacy source locale",
1723
+ "variant": "source_locale",
1724
+ "action": "legal_policy.updated",
1725
+ "target_type": "legal_policy",
1726
+ "target_id": "privacy-1",
1727
+ "actor_kind": "member",
1728
+ "attributes": {
1729
+ "changed_fields": ["source_locale"],
1730
+ "policy_type": "privacy",
1731
+ "version_number": 2,
1732
+ "previous_locale": "en",
1733
+ "new_locale": "ko"
1734
+ }
1735
+ },
1736
+ {
1737
+ "case": "terms source locale",
1738
+ "variant": "source_locale",
1739
+ "action": "legal_policy.updated",
1740
+ "target_type": "legal_policy",
1741
+ "target_id": "terms-1",
1742
+ "actor_kind": "member",
1743
+ "attributes": {
1744
+ "changed_fields": ["source_locale"],
1745
+ "policy_type": "terms",
1746
+ "version_number": 1,
1747
+ "previous_locale": "en",
1748
+ "new_locale": "ko"
1749
+ }
1750
+ }
1751
+ ]