@ak--47/dungeon-master 1.3.0 → 1.4.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 (98) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/dungeons/technical/array-of-object-lookup.js +0 -2
  3. package/dungeons/technical/hook-helpers-verify.js +89 -0
  4. package/dungeons/technical/identity-model-verify.js +47 -0
  5. package/dungeons/technical/pattern-aggregate-by-bin.js +41 -0
  6. package/dungeons/technical/pattern-attributed-by-source.js +42 -0
  7. package/dungeons/technical/pattern-frequency-by-frequency.js +40 -0
  8. package/dungeons/technical/pattern-funnel-frequency.js +54 -0
  9. package/dungeons/technical/pattern-ttc-by-segment.js +45 -0
  10. package/dungeons/technical/simple.js +3 -4
  11. package/dungeons/technical/simplest-schema.json +5 -0
  12. package/dungeons/technical/text-generation.js +1 -1
  13. package/dungeons/vertical/ai-platform.js +216 -164
  14. package/dungeons/vertical/community.js +74 -41
  15. package/dungeons/vertical/crypto.js +343 -233
  16. package/dungeons/vertical/dating.js +246 -292
  17. package/dungeons/vertical/devtools.js +179 -70
  18. package/dungeons/vertical/ecommerce.js +275 -122
  19. package/dungeons/vertical/education.js +345 -312
  20. package/dungeons/vertical/fintech.js +445 -314
  21. package/dungeons/vertical/fitness.js +199 -165
  22. package/dungeons/vertical/food-delivery.js +309 -330
  23. package/dungeons/vertical/gaming.js +387 -241
  24. package/dungeons/vertical/healthcare.js +149 -66
  25. package/dungeons/vertical/insurance-application.js +173 -75
  26. package/dungeons/vertical/logistics.js +107 -12
  27. package/dungeons/vertical/marketplace.js +171 -76
  28. package/dungeons/vertical/media.js +259 -402
  29. package/dungeons/vertical/real-estate.js +336 -318
  30. package/dungeons/vertical/sass.js +294 -288
  31. package/dungeons/vertical/social.js +289 -234
  32. package/dungeons/vertical/travel.js +66 -20
  33. package/index.js +17 -17
  34. package/lib/core/config-validator.js +226 -175
  35. package/lib/core/context.js +10 -24
  36. package/lib/core/storage.js +6 -1
  37. package/lib/generators/events.js +57 -104
  38. package/lib/generators/funnels.js +212 -93
  39. package/lib/generators/mirror.js +3 -2
  40. package/lib/generators/product-names.js +1 -1
  41. package/lib/generators/scd.js +2 -1
  42. package/lib/generators/text.js +1 -1
  43. package/lib/hook-helpers/_internal.js +23 -0
  44. package/lib/hook-helpers/cohort.js +124 -0
  45. package/lib/hook-helpers/identity.js +56 -0
  46. package/lib/hook-helpers/index.js +44 -0
  47. package/lib/hook-helpers/inject.js +99 -0
  48. package/lib/hook-helpers/mutate.js +151 -0
  49. package/lib/hook-helpers/timing.js +99 -0
  50. package/lib/hook-patterns/aggregate-per-user-by-bin.js +38 -0
  51. package/lib/hook-patterns/attributed-by-source.js +72 -0
  52. package/lib/hook-patterns/frequency-by-frequency.js +46 -0
  53. package/lib/hook-patterns/funnel-frequency-breakdown.js +73 -0
  54. package/lib/hook-patterns/index.js +14 -0
  55. package/lib/hook-patterns/time-to-convert-by-segment.js +41 -0
  56. package/lib/orchestrators/user-loop.js +143 -293
  57. package/lib/utils/utils.js +97 -52
  58. package/lib/verify/emulate-breakdown.js +281 -0
  59. package/lib/verify/index.js +12 -0
  60. package/lib/verify/verify-dungeon.js +61 -0
  61. package/package.json +6 -4
  62. package/scripts/smoke-test-all.mjs +162 -0
  63. package/scripts/verify-runner.mjs +72 -24
  64. package/types.d.ts +434 -225
  65. package/dungeons/technical/ad-spend-schema.json +0 -128
  66. package/dungeons/technical/anonymous-users-schema.json +0 -92
  67. package/dungeons/technical/array-of-object-lookup-schema.json +0 -191
  68. package/dungeons/technical/experiments-schema.json +0 -203
  69. package/dungeons/technical/foobar-schema.json +0 -362
  70. package/dungeons/technical/group-analytics-schema.json +0 -241
  71. package/dungeons/technical/mirror-strategies-schema.json +0 -84
  72. package/dungeons/technical/nested-objects-schema.json +0 -145
  73. package/dungeons/technical/retention-cadence-schema.json +0 -37
  74. package/dungeons/technical/sanity-schema.json +0 -185
  75. package/dungeons/technical/scale-test-schema.json +0 -70
  76. package/dungeons/technical/scd-schema.json +0 -467
  77. package/dungeons/technical/simple-schema.json +0 -362
  78. package/dungeons/technical/text-generation-schema.json +0 -1062
  79. package/dungeons/vertical/ai-platform-schema.json +0 -617
  80. package/dungeons/vertical/community-schema.json +0 -579
  81. package/dungeons/vertical/crypto-schema.json +0 -546
  82. package/dungeons/vertical/dating-schema.json +0 -401
  83. package/dungeons/vertical/devtools-schema.json +0 -601
  84. package/dungeons/vertical/ecommerce-schema.json +0 -604
  85. package/dungeons/vertical/education-schema.json +0 -5686
  86. package/dungeons/vertical/fintech-schema.json +0 -630
  87. package/dungeons/vertical/fitness-schema.json +0 -530
  88. package/dungeons/vertical/food-delivery-schema.json +0 -36728
  89. package/dungeons/vertical/gaming-schema.json +0 -2703
  90. package/dungeons/vertical/healthcare-schema.json +0 -549
  91. package/dungeons/vertical/insurance-application-schema.json +0 -485
  92. package/dungeons/vertical/logistics-schema.json +0 -574
  93. package/dungeons/vertical/marketplace-schema.json +0 -533
  94. package/dungeons/vertical/media-schema.json +0 -4749
  95. package/dungeons/vertical/real-estate-schema.json +0 -527
  96. package/dungeons/vertical/sass-schema.json +0 -3128
  97. package/dungeons/vertical/social-schema.json +0 -620
  98. package/dungeons/vertical/travel-schema.json +0 -580
@@ -1,620 +0,0 @@
1
- {
2
- "events": [
3
- {
4
- "event": "account created",
5
- "isFirstEvent": true,
6
- "properties": {
7
- "signup_method": [
8
- "email",
9
- "google",
10
- "apple",
11
- "sso"
12
- ],
13
- "referred_by": [
14
- "organic",
15
- "friend",
16
- "ad",
17
- "influencer"
18
- ],
19
- "toxic_user": [
20
- false
21
- ]
22
- }
23
- },
24
- {
25
- "event": "post created",
26
- "weight": 12,
27
- "properties": {
28
- "post_type": [
29
- "text",
30
- "image",
31
- "video",
32
- "poll",
33
- "link"
34
- ],
35
- "character_count": {
36
- "$range": [
37
- 23,
38
- 241
39
- ]
40
- },
41
- "has_media": [
42
- false,
43
- true
44
- ],
45
- "hashtag_count": {
46
- "$range": [
47
- 1,
48
- 8
49
- ]
50
- },
51
- "weekend_surge": [
52
- false
53
- ],
54
- "weekend_duplicate": [
55
- false
56
- ],
57
- "monetized_creator": [
58
- false
59
- ],
60
- "follow_back_effect": [
61
- false
62
- ],
63
- "toxic_user": [
64
- false
65
- ]
66
- }
67
- },
68
- {
69
- "event": "post viewed",
70
- "weight": 30,
71
- "properties": {
72
- "post_type": [
73
- "text",
74
- "image",
75
- "video",
76
- "poll",
77
- "link"
78
- ],
79
- "view_duration_sec": [
80
- 90,
81
- 80,
82
- 31,
83
- 75,
84
- 76
85
- ],
86
- "source": [
87
- "feed",
88
- "explore",
89
- "search",
90
- "profile",
91
- "notification"
92
- ],
93
- "engagement_bait": [
94
- false
95
- ],
96
- "trending_reengagement": [
97
- false
98
- ],
99
- "viral_cascade": [
100
- false
101
- ],
102
- "monetized_creator": [
103
- false
104
- ],
105
- "toxic_user": [
106
- false
107
- ]
108
- }
109
- },
110
- {
111
- "event": "post liked",
112
- "weight": 18,
113
- "properties": {
114
- "post_type": [
115
- "text",
116
- "image",
117
- "video",
118
- "poll",
119
- "link"
120
- ],
121
- "viral_cascade": [
122
- false
123
- ],
124
- "toxic_user": [
125
- false
126
- ]
127
- }
128
- },
129
- {
130
- "event": "post shared",
131
- "weight": 6,
132
- "properties": {
133
- "share_destination": [
134
- "repost",
135
- "dm",
136
- "external",
137
- "copy_link"
138
- ],
139
- "viral_cascade": [
140
- false
141
- ],
142
- "toxic_user": [
143
- false
144
- ]
145
- }
146
- },
147
- {
148
- "event": "comment posted",
149
- "weight": 10,
150
- "properties": {
151
- "comment_length": {
152
- "$range": [
153
- 98,
154
- 398
155
- ]
156
- },
157
- "has_mention": [
158
- true,
159
- false
160
- ],
161
- "follow_back_effect": [
162
- false
163
- ],
164
- "toxic_user": [
165
- false
166
- ]
167
- }
168
- },
169
- {
170
- "event": "user followed",
171
- "weight": 8,
172
- "properties": {
173
- "discovery_source": [
174
- "suggested",
175
- "search",
176
- "post",
177
- "profile",
178
- "mutual"
179
- ],
180
- "toxic_user": [
181
- false
182
- ]
183
- }
184
- },
185
- {
186
- "event": "user unfollowed",
187
- "weight": 2,
188
- "properties": {
189
- "reason": [
190
- "content_quality",
191
- "too_frequent",
192
- "lost_interest",
193
- "offensive"
194
- ],
195
- "toxic_user": [
196
- false
197
- ]
198
- }
199
- },
200
- {
201
- "event": "story viewed",
202
- "weight": 15,
203
- "properties": {
204
- "story_type": [
205
- "photo",
206
- "video",
207
- "text"
208
- ],
209
- "view_duration_sec": [
210
- 14,
211
- 9,
212
- 25,
213
- 20
214
- ],
215
- "completed": [
216
- false,
217
- true
218
- ],
219
- "toxic_user": [
220
- false
221
- ]
222
- }
223
- },
224
- {
225
- "event": "story created",
226
- "weight": 5,
227
- "properties": {
228
- "story_type": [
229
- "photo",
230
- "video",
231
- "text"
232
- ],
233
- "has_filter": [
234
- true,
235
- false
236
- ],
237
- "has_sticker": [
238
- false,
239
- true
240
- ],
241
- "weekend_surge": [
242
- false
243
- ],
244
- "weekend_duplicate": [
245
- false
246
- ],
247
- "monetized_creator": [
248
- false
249
- ],
250
- "toxic_user": [
251
- false
252
- ]
253
- }
254
- },
255
- {
256
- "event": "search performed",
257
- "weight": 7,
258
- "properties": {
259
- "search_type": [
260
- "users",
261
- "hashtags",
262
- "posts"
263
- ],
264
- "results_count": [
265
- 37,
266
- 14,
267
- 11,
268
- 23,
269
- 9,
270
- 8,
271
- 15,
272
- 36,
273
- 17
274
- ],
275
- "toxic_user": [
276
- false
277
- ]
278
- }
279
- },
280
- {
281
- "event": "notification received",
282
- "weight": 12,
283
- "properties": {
284
- "notification_type": [
285
- "like",
286
- "follow",
287
- "comment",
288
- "mention",
289
- "trending"
290
- ],
291
- "clicked": [
292
- false,
293
- true
294
- ],
295
- "toxic_user": [
296
- false
297
- ]
298
- }
299
- },
300
- {
301
- "event": "dm sent",
302
- "weight": 8,
303
- "properties": {
304
- "message_type": [
305
- "text",
306
- "image",
307
- "voice",
308
- "link"
309
- ],
310
- "conversation_length": {
311
- "$range": [
312
- 4,
313
- 93
314
- ]
315
- },
316
- "toxic_user": [
317
- false
318
- ]
319
- }
320
- },
321
- {
322
- "event": "ad viewed",
323
- "weight": 10,
324
- "properties": {
325
- "ad_format": [
326
- "feed_native",
327
- "story",
328
- "banner",
329
- "video"
330
- ],
331
- "ad_category": [
332
- "retail",
333
- "tech",
334
- "food",
335
- "finance",
336
- "entertainment"
337
- ],
338
- "view_duration_sec": {
339
- "$range": [
340
- 7,
341
- 24
342
- ]
343
- },
344
- "toxic_user": [
345
- false
346
- ]
347
- }
348
- },
349
- {
350
- "event": "ad clicked",
351
- "weight": 2,
352
- "properties": {
353
- "ad_format": [
354
- "feed_native",
355
- "story",
356
- "banner",
357
- "video"
358
- ],
359
- "ad_category": [
360
- "retail",
361
- "tech",
362
- "food",
363
- "finance",
364
- "entertainment"
365
- ],
366
- "toxic_user": [
367
- false
368
- ]
369
- }
370
- },
371
- {
372
- "event": "report submitted",
373
- "properties": {
374
- "report_type": [
375
- "spam",
376
- "harassment",
377
- "misinformation",
378
- "hate_speech",
379
- "other"
380
- ],
381
- "content_type": [
382
- "post",
383
- "comment",
384
- "user",
385
- "dm"
386
- ],
387
- "toxic_user": [
388
- false
389
- ]
390
- }
391
- },
392
- {
393
- "event": "profile updated",
394
- "weight": 3,
395
- "properties": {
396
- "field_updated": [
397
- "bio",
398
- "avatar",
399
- "display_name",
400
- "privacy_settings",
401
- "interests"
402
- ],
403
- "toxic_user": [
404
- false
405
- ]
406
- }
407
- },
408
- {
409
- "event": "creator subscription started",
410
- "weight": 2,
411
- "properties": {
412
- "tier": [
413
- "basic",
414
- "premium",
415
- "vip"
416
- ],
417
- "price_usd": [
418
- 4.99,
419
- 9.99,
420
- 19.99
421
- ],
422
- "toxic_user": [
423
- false
424
- ]
425
- }
426
- }
427
- ],
428
- "funnels": [
429
- {
430
- "sequence": [
431
- "account created",
432
- "profile updated",
433
- "post created"
434
- ],
435
- "isFirstFunnel": true,
436
- "conversionRate": 70,
437
- "timeToConvert": 0.5
438
- },
439
- {
440
- "sequence": [
441
- "post viewed",
442
- "post liked",
443
- "comment posted"
444
- ],
445
- "conversionRate": 45,
446
- "timeToConvert": 0.5,
447
- "weight": 6
448
- },
449
- {
450
- "sequence": [
451
- "post created",
452
- "post viewed",
453
- "post liked",
454
- "post shared"
455
- ],
456
- "conversionRate": 30,
457
- "timeToConvert": 3,
458
- "weight": 3
459
- },
460
- {
461
- "sequence": [
462
- "story created",
463
- "story viewed",
464
- "dm sent"
465
- ],
466
- "conversionRate": 40,
467
- "timeToConvert": 1,
468
- "weight": 3
469
- },
470
- {
471
- "sequence": [
472
- "search performed",
473
- "post viewed",
474
- "user followed"
475
- ],
476
- "conversionRate": 35,
477
- "timeToConvert": 1,
478
- "weight": 2
479
- },
480
- {
481
- "sequence": [
482
- "notification received",
483
- "post viewed",
484
- "post liked"
485
- ],
486
- "conversionRate": 50,
487
- "timeToConvert": 0.5,
488
- "weight": 2
489
- },
490
- {
491
- "sequence": [
492
- "profile updated",
493
- "creator subscription started",
494
- "post created"
495
- ],
496
- "conversionRate": 15,
497
- "timeToConvert": 24
498
- },
499
- {
500
- "sequence": [
501
- "ad viewed",
502
- "ad clicked",
503
- "report submitted"
504
- ],
505
- "conversionRate": 20,
506
- "timeToConvert": 2
507
- }
508
- ],
509
- "superProps": {
510
- "app_version": [
511
- "4.0",
512
- "4.1",
513
- "4.2",
514
- "4.3",
515
- "5.0"
516
- ],
517
- "account_type": [
518
- "personal",
519
- "creator",
520
- "business"
521
- ]
522
- },
523
- "userProps": {
524
- "follower_count": {
525
- "$range": [
526
- 2075,
527
- 7782
528
- ]
529
- },
530
- "following_count": {
531
- "$range": [
532
- 967,
533
- 4229
534
- ]
535
- },
536
- "bio_length": {
537
- "$range": [
538
- 10,
539
- 149
540
- ]
541
- },
542
- "verified": [
543
- false,
544
- true
545
- ],
546
- "content_niche": [
547
- "lifestyle",
548
- "tech",
549
- "food",
550
- "fitness",
551
- "travel",
552
- "comedy",
553
- "news",
554
- "art"
555
- ]
556
- },
557
- "groupKeys": [
558
- {
559
- "key": "community_id",
560
- "count": 100,
561
- "affectsEvents": [
562
- "post created",
563
- "comment posted",
564
- "post liked",
565
- "post shared"
566
- ]
567
- }
568
- ],
569
- "groupProps": {
570
- "community_id": {
571
- "name": {
572
- "$type": "string"
573
- },
574
- "member_count": {
575
- "$range": [
576
- 850,
577
- 4126
578
- ]
579
- },
580
- "category": [
581
- "technology",
582
- "entertainment",
583
- "sports",
584
- "politics",
585
- "art",
586
- "science"
587
- ],
588
- "is_moderated": [
589
- false,
590
- true
591
- ]
592
- }
593
- },
594
- "scdProps": {
595
- "account_type": {
596
- "type": "user",
597
- "frequency": "month",
598
- "timing": "fuzzy",
599
- "max": 6,
600
- "values": [
601
- "personal",
602
- "creator",
603
- "business",
604
- "verified"
605
- ]
606
- },
607
- "community_status": {
608
- "type": "community_id",
609
- "frequency": "month",
610
- "timing": "fixed",
611
- "max": 6,
612
- "values": [
613
- "new",
614
- "growing",
615
- "established",
616
- "featured"
617
- ]
618
- }
619
- }
620
- }