@ak--47/dungeon-master 1.0.0 → 1.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 (103) 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 +91 -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} +11 -4
  8. package/dungeons/technical/experiments-schema.json +197 -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} +2 -2
  12. package/dungeons/technical/group-analytics-schema.json +149 -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} +1 -1
  20. package/dungeons/technical/sanity-schema.json +185 -0
  21. package/dungeons/{sanity.js → technical/sanity.js} +3 -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 +270 -0
  25. package/dungeons/{scd.js → technical/scd.js} +19 -10
  26. package/dungeons/technical/simple-schema.json +278 -0
  27. package/dungeons/{simple.js → technical/simple.js} +6 -6
  28. package/dungeons/technical/simplest-schema.json +635 -0
  29. package/dungeons/{simplest.js → technical/simplest.js} +6 -6
  30. package/dungeons/technical/text-generation-schema.json +1059 -0
  31. package/dungeons/{text-generation.js → technical/text-generation.js} +23 -9
  32. package/dungeons/vertical/community-schema.json +557 -0
  33. package/dungeons/vertical/community.js +788 -0
  34. package/dungeons/vertical/devtools-schema.json +580 -0
  35. package/dungeons/vertical/devtools.js +837 -0
  36. package/dungeons/vertical/ecommerce-schema.json +586 -0
  37. package/dungeons/{ecommerce.js → vertical/ecommerce.js} +34 -3
  38. package/dungeons/vertical/education-schema.json +697 -0
  39. package/dungeons/{education.js → vertical/education.js} +54 -36
  40. package/dungeons/vertical/fintech-schema.json +563 -0
  41. package/dungeons/{fintech.js → vertical/fintech.js} +91 -53
  42. package/dungeons/vertical/fitness-schema.json +508 -0
  43. package/dungeons/vertical/fitness.js +802 -0
  44. package/dungeons/vertical/food-delivery-schema.json +678 -0
  45. package/dungeons/{food.js → vertical/food-delivery.js} +51 -23
  46. package/dungeons/vertical/gaming-schema.json +394 -0
  47. package/dungeons/{gaming.js → vertical/gaming.js} +9 -7
  48. package/dungeons/vertical/healthcare-schema.json +527 -0
  49. package/dungeons/vertical/healthcare.js +769 -0
  50. package/dungeons/vertical/insurance-application-schema.json +466 -0
  51. package/dungeons/{insurance-application.js → vertical/insurance-application.js} +33 -29
  52. package/dungeons/vertical/logistics-schema.json +552 -0
  53. package/dungeons/vertical/logistics.js +793 -0
  54. package/dungeons/vertical/marketplace-schema.json +511 -0
  55. package/dungeons/vertical/marketplace.js +844 -0
  56. package/dungeons/vertical/media-schema.json +787 -0
  57. package/dungeons/{media.js → vertical/media.js} +94 -16
  58. package/dungeons/vertical/rpg-schema.json +654 -0
  59. package/dungeons/{rpg.js → vertical/rpg.js} +78 -57
  60. package/dungeons/vertical/sass-schema.json +653 -0
  61. package/dungeons/{sass.js → vertical/sass.js} +49 -23
  62. package/dungeons/vertical/social-schema.json +552 -0
  63. package/dungeons/{social.js → vertical/social.js} +60 -14
  64. package/dungeons/vertical/travel-schema.json +558 -0
  65. package/dungeons/vertical/travel.js +736 -0
  66. package/index.js +19 -15
  67. package/lib/core/config-validator.js +286 -1
  68. package/lib/core/context.js +7 -5
  69. package/lib/generators/adspend.js +3 -3
  70. package/lib/generators/events.js +141 -14
  71. package/lib/generators/funnels.js +67 -7
  72. package/lib/generators/text.js +2 -2
  73. package/lib/orchestrators/user-loop.js +441 -22
  74. package/lib/templates/soup-presets.js +2 -2
  75. package/lib/utils/utils.js +4 -5
  76. package/package.json +4 -3
  77. package/scripts/dungeon-to-json.mjs +163 -0
  78. package/scripts/extract-dungeon-schema.mjs +297 -0
  79. package/scripts/json-to-dungeon.mjs +200 -0
  80. package/scripts/run-dungeon.mjs +76 -0
  81. package/scripts/run-many.mjs +118 -0
  82. package/scripts/verify-runner.mjs +42 -0
  83. package/types.d.ts +313 -1
  84. package/dungeons/array-of-object-lookup-schema.json +0 -327
  85. package/dungeons/ecommerce-schema.json +0 -462
  86. package/dungeons/education-schema.json +0 -2409
  87. package/dungeons/fintech-schema.json +0 -14034
  88. package/dungeons/foobar-schema.json +0 -403
  89. package/dungeons/food-delivery-schema.json +0 -192
  90. package/dungeons/food-delivery.js +0 -602
  91. package/dungeons/food-schema.json +0 -1152
  92. package/dungeons/gaming-schema.json +0 -1270
  93. package/dungeons/insurance-application-schema.json +0 -204
  94. package/dungeons/media-schema.json +0 -906
  95. package/dungeons/retention-cadence-schema.json +0 -78
  96. package/dungeons/rpg-schema.json +0 -4526
  97. package/dungeons/sanity-schema.json +0 -255
  98. package/dungeons/sass-schema.json +0 -1291
  99. package/dungeons/scd-schema.json +0 -919
  100. package/dungeons/simple-schema.json +0 -608
  101. package/dungeons/simplest-schema.json +0 -1418
  102. package/dungeons/social-schema.json +0 -1118
  103. package/dungeons/text-generation-schema.json +0 -3096
@@ -0,0 +1,678 @@
1
+ {
2
+ "events": [
3
+ {
4
+ "event": "account created",
5
+ "isFirstEvent": true,
6
+ "properties": {
7
+ "signup_method": [
8
+ "email",
9
+ "google",
10
+ "apple",
11
+ "facebook"
12
+ ],
13
+ "referral_code": {
14
+ "$type": "array"
15
+ },
16
+ "trial_retained": [
17
+ false
18
+ ]
19
+ }
20
+ },
21
+ {
22
+ "event": "restaurant browsed",
23
+ "weight": 18,
24
+ "properties": {
25
+ "cuisine_type": [
26
+ "American",
27
+ "Italian",
28
+ "Chinese",
29
+ "Japanese",
30
+ "Mexican",
31
+ "Indian",
32
+ "Thai",
33
+ "Mediterranean"
34
+ ],
35
+ "sort_by": [
36
+ "recommended",
37
+ "distance",
38
+ "rating",
39
+ "price"
40
+ ],
41
+ "filter_applied": {
42
+ "$type": "array"
43
+ },
44
+ "trial_retained": [
45
+ false
46
+ ]
47
+ }
48
+ },
49
+ {
50
+ "event": "restaurant viewed",
51
+ "weight": 15,
52
+ "properties": {
53
+ "restaurant_id": [
54
+ "rest_gbJlv0",
55
+ "rest_2Xa0Ap",
56
+ "rest_0ZSBy9",
57
+ "rest_8J9m9H",
58
+ "rest_Mte89r",
59
+ "rest_5pOjnb",
60
+ "rest_TD26RG",
61
+ "rest_MbXdc5"
62
+ ],
63
+ "cuisine_type": [
64
+ "American",
65
+ "Italian",
66
+ "Chinese",
67
+ "Japanese",
68
+ "Mexican",
69
+ "Indian",
70
+ "Thai",
71
+ "Mediterranean"
72
+ ],
73
+ "avg_rating": {
74
+ "$range": [
75
+ 1,
76
+ 5
77
+ ]
78
+ },
79
+ "delivery_time_est_mins": {
80
+ "$range": [
81
+ 22,
82
+ 80
83
+ ]
84
+ },
85
+ "price_tier": [
86
+ "$",
87
+ "$$",
88
+ "$$$",
89
+ "$$$$"
90
+ ],
91
+ "late_night_order": [
92
+ false
93
+ ],
94
+ "trial_retained": [
95
+ false
96
+ ]
97
+ }
98
+ },
99
+ {
100
+ "event": "item added to cart",
101
+ "weight": 14,
102
+ "properties": {
103
+ "item_id": [
104
+ "item_VbAATbs",
105
+ "item_zMMlBW4",
106
+ "item_Cu2v6V7",
107
+ "item_azTXuGt",
108
+ "item_91QD1zo",
109
+ "item_17eR9Fd",
110
+ "item_ndzFLTV",
111
+ "item_DPC2Ud1"
112
+ ],
113
+ "item_category": [
114
+ "entree",
115
+ "appetizer",
116
+ "drink",
117
+ "dessert",
118
+ "side"
119
+ ],
120
+ "item_price": {
121
+ "$range": [
122
+ 4,
123
+ 60
124
+ ]
125
+ },
126
+ "customization_count": {
127
+ "$range": [
128
+ 0,
129
+ 5
130
+ ]
131
+ },
132
+ "late_night_order": [
133
+ false
134
+ ],
135
+ "trial_retained": [
136
+ false
137
+ ]
138
+ }
139
+ },
140
+ {
141
+ "event": "item removed from cart",
142
+ "weight": 5,
143
+ "properties": {
144
+ "item_id": [
145
+ "item_LUJSJhb",
146
+ "item_qtTnYOL",
147
+ "item_Sae9eOV",
148
+ "item_BnxYRiK",
149
+ "item_pz9JDYi",
150
+ "item_nB7F7Xm",
151
+ "item_QqPeX6i"
152
+ ],
153
+ "removal_reason": [
154
+ "changed_mind",
155
+ "too_expensive",
156
+ "substitution"
157
+ ],
158
+ "trial_retained": [
159
+ false
160
+ ]
161
+ }
162
+ },
163
+ {
164
+ "event": "coupon applied",
165
+ "weight": 4,
166
+ "properties": {
167
+ "coupon_code": [
168
+ "QUICKV1DVZ",
169
+ "QUICKRR0P3",
170
+ "QUICKCFINR",
171
+ "QUICKWDQHK",
172
+ "QUICKDHV2Q",
173
+ "QUICKMF8BU",
174
+ "QUICKX1XTM"
175
+ ],
176
+ "discount_type": [
177
+ "percent",
178
+ "flat",
179
+ "free_delivery"
180
+ ],
181
+ "discount_value": {
182
+ "$range": [
183
+ 11,
184
+ 48
185
+ ]
186
+ },
187
+ "coupon_injected": [
188
+ false
189
+ ],
190
+ "trial_retained": [
191
+ false
192
+ ]
193
+ }
194
+ },
195
+ {
196
+ "event": "checkout started",
197
+ "weight": 12,
198
+ "properties": {
199
+ "cart_total": {
200
+ "$range": [
201
+ 25,
202
+ 121
203
+ ]
204
+ },
205
+ "items_count": {
206
+ "$range": [
207
+ 1,
208
+ 6
209
+ ]
210
+ },
211
+ "delivery_address_saved": {
212
+ "$type": "array"
213
+ },
214
+ "trial_retained": [
215
+ false
216
+ ]
217
+ }
218
+ },
219
+ {
220
+ "event": "order placed",
221
+ "weight": 10,
222
+ "properties": {
223
+ "order_id": [
224
+ "order_FneAa2K3",
225
+ "order_scxNtDqw",
226
+ "order_du5cYeVX",
227
+ "order_QY783HfB",
228
+ "order_inIir0jd",
229
+ "order_H3cYBQNz",
230
+ "order_6RxElyBR",
231
+ "order_K2fcPrsR"
232
+ ],
233
+ "payment_method": [
234
+ "credit_card",
235
+ "apple_pay",
236
+ "google_pay",
237
+ "paypal",
238
+ "cash"
239
+ ],
240
+ "order_total": {
241
+ "$range": [
242
+ 29,
243
+ 173
244
+ ]
245
+ },
246
+ "tip_amount": {
247
+ "$range": [
248
+ 1,
249
+ 28
250
+ ]
251
+ },
252
+ "delivery_fee": {
253
+ "$range": [
254
+ 1,
255
+ 11
256
+ ]
257
+ },
258
+ "surge_pricing": [
259
+ false
260
+ ],
261
+ "rainy_week": [
262
+ false
263
+ ],
264
+ "trial_retained": [
265
+ false
266
+ ]
267
+ }
268
+ },
269
+ {
270
+ "event": "order tracked",
271
+ "weight": 13,
272
+ "properties": {
273
+ "order_id": [
274
+ "order_ZxGPrjaJ",
275
+ "order_f7LV2Rtx",
276
+ "order_vi20OTFt",
277
+ "order_Ja5lGMS1",
278
+ "order_fQcmzmco",
279
+ "order_3yXyCZhb",
280
+ "order_c81HkoY9",
281
+ "order_QBdRhgbS"
282
+ ],
283
+ "order_status": [
284
+ "confirmed",
285
+ "preparing",
286
+ "picked_up",
287
+ "en_route",
288
+ "delivered"
289
+ ],
290
+ "eta_mins": {
291
+ "$range": [
292
+ 6,
293
+ 53
294
+ ]
295
+ },
296
+ "trial_retained": [
297
+ false
298
+ ]
299
+ }
300
+ },
301
+ {
302
+ "event": "order delivered",
303
+ "weight": 9,
304
+ "properties": {
305
+ "order_id": [
306
+ "order_aYy0CZYg",
307
+ "order_gBqVVkVj",
308
+ "order_u4MkBEWT",
309
+ "order_ZaEOIoaA",
310
+ "order_nEn3lTLl",
311
+ "order_iDiCQxIp",
312
+ "order_bZqYi6IJ"
313
+ ],
314
+ "actual_delivery_mins": {
315
+ "$range": [
316
+ 21,
317
+ 85
318
+ ]
319
+ },
320
+ "on_time": {
321
+ "$type": "array"
322
+ },
323
+ "trial_retained": [
324
+ false
325
+ ]
326
+ }
327
+ },
328
+ {
329
+ "event": "order rated",
330
+ "weight": 7,
331
+ "properties": {
332
+ "order_id": [
333
+ "order_guWUKb0p",
334
+ "order_rjp0vQoi",
335
+ "order_JM4fDdMq",
336
+ "order_HaEHZBXY",
337
+ "order_LsVIFdZg",
338
+ "order_ko2v5aX5"
339
+ ],
340
+ "food_rating": {
341
+ "$range": [
342
+ 2,
343
+ 4
344
+ ]
345
+ },
346
+ "delivery_rating": {
347
+ "$range": [
348
+ 1,
349
+ 4
350
+ ]
351
+ },
352
+ "would_reorder": {
353
+ "$type": "array"
354
+ },
355
+ "referral_user": [
356
+ false
357
+ ],
358
+ "trial_retained": [
359
+ false
360
+ ]
361
+ }
362
+ },
363
+ {
364
+ "event": "search performed",
365
+ "weight": 11,
366
+ "properties": {
367
+ "search_query": [
368
+ "burger",
369
+ "burritos",
370
+ "chicken",
371
+ "curry",
372
+ "pad thai",
373
+ "pasta",
374
+ "pho",
375
+ "pizza",
376
+ "ramen",
377
+ "salad",
378
+ "sandwich",
379
+ "steak",
380
+ "tacos"
381
+ ],
382
+ "results_count": {
383
+ "$range": [
384
+ 5,
385
+ 43
386
+ ]
387
+ },
388
+ "search_type": [
389
+ "restaurant",
390
+ "cuisine",
391
+ "dish"
392
+ ],
393
+ "trial_retained": [
394
+ false
395
+ ]
396
+ }
397
+ },
398
+ {
399
+ "event": "promotion viewed",
400
+ "weight": 8,
401
+ "properties": {
402
+ "promo_id": {
403
+ "$type": "string"
404
+ },
405
+ "promo_type": [
406
+ "banner",
407
+ "push",
408
+ "in_feed"
409
+ ],
410
+ "promo_value": [
411
+ "10%",
412
+ "15%",
413
+ "20%",
414
+ "25%",
415
+ "30%",
416
+ "40%",
417
+ "50%"
418
+ ],
419
+ "trial_retained": [
420
+ false
421
+ ]
422
+ }
423
+ },
424
+ {
425
+ "event": "subscription started",
426
+ "weight": 2,
427
+ "properties": {
428
+ "plan": [
429
+ "quickbite_plus_monthly"
430
+ ],
431
+ "price": [
432
+ 79.99,
433
+ 9.99
434
+ ],
435
+ "trial": {
436
+ "$type": "array"
437
+ },
438
+ "trial_retained": [
439
+ false
440
+ ]
441
+ }
442
+ },
443
+ {
444
+ "event": "subscription cancelled",
445
+ "properties": {
446
+ "reason": [
447
+ "too_expensive",
448
+ "not_ordering_enough",
449
+ "found_alternative",
450
+ "bad_experience"
451
+ ],
452
+ "months_subscribed": {
453
+ "$range": [
454
+ 4,
455
+ 22
456
+ ]
457
+ },
458
+ "trial_retained": [
459
+ false
460
+ ]
461
+ }
462
+ },
463
+ {
464
+ "event": "support ticket",
465
+ "weight": 3,
466
+ "properties": {
467
+ "issue_type": [
468
+ "missing_item",
469
+ "wrong_order",
470
+ "late_delivery",
471
+ "quality_issue",
472
+ "refund_request"
473
+ ],
474
+ "order_id": [
475
+ "order_kYISOBPX",
476
+ "order_Kye619CH",
477
+ "order_3oj03w8T",
478
+ "order_ZZw5xCXf",
479
+ "order_J71hciid",
480
+ "order_v7uCqRQ6",
481
+ "order_4424dIZB"
482
+ ],
483
+ "trial_retained": [
484
+ false
485
+ ]
486
+ }
487
+ },
488
+ {
489
+ "event": "reorder initiated",
490
+ "weight": 6,
491
+ "properties": {
492
+ "order_id": [
493
+ "order_2vZHSPoY",
494
+ "order_gwci2DVO",
495
+ "order_ZYwN60Cr",
496
+ "order_tQIyaVQJ",
497
+ "order_4RYFfVtN",
498
+ "order_7URrDbxS",
499
+ "order_ePcPIrfA",
500
+ "order_tUOSfczg",
501
+ "order_LB1EMjVO"
502
+ ],
503
+ "original_order_age_days": {
504
+ "$range": [
505
+ 10,
506
+ 55
507
+ ]
508
+ },
509
+ "referral_user": [
510
+ false
511
+ ],
512
+ "trial_retained": [
513
+ false
514
+ ]
515
+ }
516
+ }
517
+ ],
518
+ "superProps": {
519
+ "platform": [
520
+ "iOS",
521
+ "Android",
522
+ "Web"
523
+ ],
524
+ "subscription_tier": [
525
+ "Free",
526
+ "QuickBite+"
527
+ ],
528
+ "city": [
529
+ "New York",
530
+ "Los Angeles",
531
+ "Chicago",
532
+ "Houston",
533
+ "Phoenix",
534
+ "San Francisco"
535
+ ]
536
+ },
537
+ "userProps": {
538
+ "preferred_cuisine": [
539
+ "American",
540
+ "Italian",
541
+ "Chinese",
542
+ "Japanese",
543
+ "Mexican",
544
+ "Indian",
545
+ "Thai",
546
+ "Mediterranean"
547
+ ],
548
+ "avg_order_value": {
549
+ "$range": [
550
+ 24,
551
+ 72
552
+ ]
553
+ },
554
+ "orders_per_month": [
555
+ 10,
556
+ 3,
557
+ 19,
558
+ 15,
559
+ 11
560
+ ],
561
+ "favorite_restaurant_count": {
562
+ "$range": [
563
+ 2,
564
+ 9
565
+ ]
566
+ },
567
+ "is_high_risk": [
568
+ false
569
+ ],
570
+ "churn_risk_score": [
571
+ 0
572
+ ]
573
+ },
574
+ "funnels": [
575
+ {
576
+ "sequence": [
577
+ "account created",
578
+ "restaurant browsed",
579
+ "restaurant viewed"
580
+ ],
581
+ "isFirstFunnel": true,
582
+ "conversionRate": 80,
583
+ "timeToConvert": 0.5
584
+ },
585
+ {
586
+ "sequence": [
587
+ "restaurant browsed",
588
+ "restaurant viewed",
589
+ "item added to cart"
590
+ ],
591
+ "conversionRate": 55,
592
+ "timeToConvert": 1,
593
+ "weight": 5,
594
+ "props": {
595
+ "restaurant_id": [
596
+ "rest_8kOjq8",
597
+ "rest_k5j0Rv",
598
+ "rest_gbJlv0",
599
+ "rest_tXcwjm",
600
+ "rest_3AytRQ",
601
+ "rest_E0imd1",
602
+ "rest_VrHmUz",
603
+ "rest_94v0Ec"
604
+ ]
605
+ }
606
+ },
607
+ {
608
+ "sequence": [
609
+ "search performed",
610
+ "restaurant viewed",
611
+ "item added to cart",
612
+ "checkout started"
613
+ ],
614
+ "conversionRate": 45,
615
+ "timeToConvert": 2,
616
+ "weight": 3
617
+ },
618
+ {
619
+ "sequence": [
620
+ "checkout started",
621
+ "order placed",
622
+ "order tracked",
623
+ "order delivered"
624
+ ],
625
+ "conversionRate": 65,
626
+ "timeToConvert": 2,
627
+ "weight": 4,
628
+ "props": {
629
+ "order_id": [
630
+ "order_COwkLmm4",
631
+ "order_XA1rr1NF",
632
+ "order_KiTbR88G",
633
+ "order_LIAqWPNK",
634
+ "order_wzcx2zvL",
635
+ "order_ECeLrRSD",
636
+ "order_mn8uyxcJ"
637
+ ]
638
+ }
639
+ },
640
+ {
641
+ "sequence": [
642
+ "order delivered",
643
+ "order rated",
644
+ "reorder initiated"
645
+ ],
646
+ "conversionRate": 40,
647
+ "timeToConvert": 24,
648
+ "weight": 2
649
+ },
650
+ {
651
+ "sequence": [
652
+ "promotion viewed",
653
+ "coupon applied",
654
+ "checkout started"
655
+ ],
656
+ "conversionRate": 50,
657
+ "timeToConvert": 1,
658
+ "weight": 2
659
+ },
660
+ {
661
+ "sequence": [
662
+ "support ticket",
663
+ "order rated"
664
+ ],
665
+ "conversionRate": 45,
666
+ "timeToConvert": 6
667
+ },
668
+ {
669
+ "sequence": [
670
+ "subscription started",
671
+ "order placed",
672
+ "subscription cancelled"
673
+ ],
674
+ "conversionRate": 20,
675
+ "timeToConvert": 48
676
+ }
677
+ ]
678
+ }