@ak--47/dungeon-master 1.0.0 → 1.2.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 (104) hide show
  1. package/README.md +7 -7
  2. package/dungeons/technical/ad-spend-schema.json +128 -0
  3. package/dungeons/technical/ad-spend.js +116 -0
  4. package/dungeons/technical/anonymous-users-schema.json +92 -0
  5. package/dungeons/technical/anonymous-users.js +102 -0
  6. package/dungeons/technical/array-of-object-lookup-schema.json +191 -0
  7. package/dungeons/{array-of-object-lookup.js → technical/array-of-object-lookup.js} +12 -5
  8. package/dungeons/technical/experiments-schema.json +203 -0
  9. package/dungeons/technical/experiments.js +168 -0
  10. package/dungeons/technical/foobar-schema.json +362 -0
  11. package/dungeons/{foobar.js → technical/foobar.js} +3 -3
  12. package/dungeons/technical/group-analytics-schema.json +241 -0
  13. package/dungeons/technical/group-analytics.js +151 -0
  14. package/dungeons/technical/mirror-strategies-schema.json +84 -0
  15. package/dungeons/technical/mirror-strategies.js +126 -0
  16. package/dungeons/technical/nested-objects-schema.json +145 -0
  17. package/dungeons/technical/nested-objects.js +207 -0
  18. package/dungeons/technical/retention-cadence-schema.json +37 -0
  19. package/dungeons/{retention-cadence.js → technical/retention-cadence.js} +2 -3
  20. package/dungeons/technical/sanity-schema.json +185 -0
  21. package/dungeons/{sanity.js → technical/sanity.js} +4 -2
  22. package/dungeons/technical/scale-test-schema.json +70 -0
  23. package/dungeons/technical/scale-test.js +90 -0
  24. package/dungeons/technical/scd-schema.json +467 -0
  25. package/dungeons/{scd.js → technical/scd.js} +20 -10
  26. package/dungeons/technical/simple-schema.json +362 -0
  27. package/dungeons/{simple.js → technical/simple.js} +7 -7
  28. package/dungeons/technical/simplest-schema.json +724 -0
  29. package/dungeons/{simplest.js → technical/simplest.js} +7 -7
  30. package/dungeons/technical/text-generation-schema.json +1062 -0
  31. package/dungeons/{text-generation.js → technical/text-generation.js} +24 -11
  32. package/dungeons/vertical/community-schema.json +579 -0
  33. package/dungeons/vertical/community.js +794 -0
  34. package/dungeons/vertical/devtools-schema.json +601 -0
  35. package/dungeons/vertical/devtools.js +843 -0
  36. package/dungeons/vertical/ecommerce-schema.json +604 -0
  37. package/dungeons/{ecommerce.js → vertical/ecommerce.js} +43 -5
  38. package/dungeons/vertical/education-schema.json +5686 -0
  39. package/dungeons/{education.js → vertical/education.js} +70 -39
  40. package/dungeons/vertical/fintech-schema.json +630 -0
  41. package/dungeons/{fintech.js → vertical/fintech.js} +107 -56
  42. package/dungeons/vertical/fitness-schema.json +530 -0
  43. package/dungeons/vertical/fitness.js +808 -0
  44. package/dungeons/vertical/food-delivery-schema.json +36728 -0
  45. package/dungeons/{food.js → vertical/food-delivery.js} +67 -26
  46. package/dungeons/vertical/gaming-schema.json +438 -0
  47. package/dungeons/{gaming.js → vertical/gaming.js} +29 -16
  48. package/dungeons/vertical/healthcare-schema.json +549 -0
  49. package/dungeons/vertical/healthcare.js +775 -0
  50. package/dungeons/vertical/insurance-application-schema.json +485 -0
  51. package/dungeons/{insurance-application.js → vertical/insurance-application.js} +41 -31
  52. package/dungeons/vertical/logistics-schema.json +574 -0
  53. package/dungeons/vertical/logistics.js +799 -0
  54. package/dungeons/vertical/marketplace-schema.json +533 -0
  55. package/dungeons/vertical/marketplace.js +850 -0
  56. package/dungeons/vertical/media-schema.json +4749 -0
  57. package/dungeons/{media.js → vertical/media.js} +103 -19
  58. package/dungeons/vertical/rpg-schema.json +2491 -0
  59. package/dungeons/{rpg.js → vertical/rpg.js} +87 -60
  60. package/dungeons/vertical/sass-schema.json +3128 -0
  61. package/dungeons/{sass.js → vertical/sass.js} +65 -26
  62. package/dungeons/vertical/social-schema.json +620 -0
  63. package/dungeons/{social.js → vertical/social.js} +76 -17
  64. package/dungeons/vertical/travel-schema.json +580 -0
  65. package/dungeons/vertical/travel.js +742 -0
  66. package/index.js +20 -16
  67. package/lib/core/config-validator.js +286 -1
  68. package/lib/core/context.js +16 -5
  69. package/lib/core/storage.js +2 -0
  70. package/lib/generators/adspend.js +3 -3
  71. package/lib/generators/events.js +141 -14
  72. package/lib/generators/funnels.js +67 -7
  73. package/lib/generators/text.js +2 -2
  74. package/lib/orchestrators/user-loop.js +444 -22
  75. package/lib/templates/soup-presets.js +2 -2
  76. package/lib/utils/utils.js +4 -5
  77. package/package.json +4 -3
  78. package/scripts/dungeon-to-json.mjs +163 -0
  79. package/scripts/extract-dungeon-schema.mjs +343 -0
  80. package/scripts/json-to-dungeon.mjs +200 -0
  81. package/scripts/run-dungeon.mjs +76 -0
  82. package/scripts/run-many.mjs +118 -0
  83. package/scripts/verify-runner.mjs +42 -0
  84. package/types.d.ts +316 -1
  85. package/dungeons/array-of-object-lookup-schema.json +0 -327
  86. package/dungeons/ecommerce-schema.json +0 -462
  87. package/dungeons/education-schema.json +0 -2409
  88. package/dungeons/fintech-schema.json +0 -14034
  89. package/dungeons/foobar-schema.json +0 -403
  90. package/dungeons/food-delivery-schema.json +0 -192
  91. package/dungeons/food-delivery.js +0 -602
  92. package/dungeons/food-schema.json +0 -1152
  93. package/dungeons/gaming-schema.json +0 -1270
  94. package/dungeons/insurance-application-schema.json +0 -204
  95. package/dungeons/media-schema.json +0 -906
  96. package/dungeons/retention-cadence-schema.json +0 -78
  97. package/dungeons/rpg-schema.json +0 -4526
  98. package/dungeons/sanity-schema.json +0 -255
  99. package/dungeons/sass-schema.json +0 -1291
  100. package/dungeons/scd-schema.json +0 -919
  101. package/dungeons/simple-schema.json +0 -608
  102. package/dungeons/simplest-schema.json +0 -1418
  103. package/dungeons/social-schema.json +0 -1118
  104. package/dungeons/text-generation-schema.json +0 -3096
@@ -0,0 +1,620 @@
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
+ }