@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,552 @@
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
+ "$type": "array"
43
+ },
44
+ "hashtag_count": {
45
+ "$range": [
46
+ 1,
47
+ 8
48
+ ]
49
+ },
50
+ "weekend_surge": [
51
+ false
52
+ ],
53
+ "weekend_duplicate": [
54
+ false
55
+ ],
56
+ "monetized_creator": [
57
+ false
58
+ ],
59
+ "follow_back_effect": [
60
+ false
61
+ ],
62
+ "toxic_user": [
63
+ false
64
+ ]
65
+ }
66
+ },
67
+ {
68
+ "event": "post viewed",
69
+ "weight": 30,
70
+ "properties": {
71
+ "post_type": [
72
+ "text",
73
+ "image",
74
+ "video",
75
+ "poll",
76
+ "link"
77
+ ],
78
+ "view_duration_sec": [
79
+ 90,
80
+ 80,
81
+ 31,
82
+ 75,
83
+ 76
84
+ ],
85
+ "source": [
86
+ "feed",
87
+ "explore",
88
+ "search",
89
+ "profile",
90
+ "notification"
91
+ ],
92
+ "engagement_bait": [
93
+ false
94
+ ],
95
+ "trending_reengagement": [
96
+ false
97
+ ],
98
+ "viral_cascade": [
99
+ false
100
+ ],
101
+ "monetized_creator": [
102
+ false
103
+ ],
104
+ "toxic_user": [
105
+ false
106
+ ]
107
+ }
108
+ },
109
+ {
110
+ "event": "post liked",
111
+ "weight": 18,
112
+ "properties": {
113
+ "post_type": [
114
+ "text",
115
+ "image",
116
+ "video",
117
+ "poll",
118
+ "link"
119
+ ],
120
+ "viral_cascade": [
121
+ false
122
+ ],
123
+ "toxic_user": [
124
+ false
125
+ ]
126
+ }
127
+ },
128
+ {
129
+ "event": "post shared",
130
+ "weight": 6,
131
+ "properties": {
132
+ "share_destination": [
133
+ "repost",
134
+ "dm",
135
+ "external",
136
+ "copy_link"
137
+ ],
138
+ "viral_cascade": [
139
+ false
140
+ ],
141
+ "toxic_user": [
142
+ false
143
+ ]
144
+ }
145
+ },
146
+ {
147
+ "event": "comment posted",
148
+ "weight": 10,
149
+ "properties": {
150
+ "comment_length": {
151
+ "$range": [
152
+ 98,
153
+ 398
154
+ ]
155
+ },
156
+ "has_mention": [
157
+ true,
158
+ false
159
+ ],
160
+ "follow_back_effect": [
161
+ false
162
+ ],
163
+ "toxic_user": [
164
+ false
165
+ ]
166
+ }
167
+ },
168
+ {
169
+ "event": "user followed",
170
+ "weight": 8,
171
+ "properties": {
172
+ "discovery_source": [
173
+ "suggested",
174
+ "search",
175
+ "post",
176
+ "profile",
177
+ "mutual"
178
+ ],
179
+ "toxic_user": [
180
+ false
181
+ ]
182
+ }
183
+ },
184
+ {
185
+ "event": "user unfollowed",
186
+ "weight": 2,
187
+ "properties": {
188
+ "reason": [
189
+ "content_quality",
190
+ "too_frequent",
191
+ "lost_interest",
192
+ "offensive"
193
+ ],
194
+ "toxic_user": [
195
+ false
196
+ ]
197
+ }
198
+ },
199
+ {
200
+ "event": "story viewed",
201
+ "weight": 15,
202
+ "properties": {
203
+ "story_type": [
204
+ "photo",
205
+ "video",
206
+ "text"
207
+ ],
208
+ "view_duration_sec": [
209
+ 11,
210
+ 20,
211
+ 23,
212
+ 13
213
+ ],
214
+ "completed": {
215
+ "$type": "array"
216
+ },
217
+ "toxic_user": [
218
+ false
219
+ ]
220
+ }
221
+ },
222
+ {
223
+ "event": "story created",
224
+ "weight": 5,
225
+ "properties": {
226
+ "story_type": [
227
+ "photo",
228
+ "video",
229
+ "text"
230
+ ],
231
+ "has_filter": {
232
+ "$type": "array"
233
+ },
234
+ "has_sticker": {
235
+ "$type": "array"
236
+ },
237
+ "weekend_surge": [
238
+ false
239
+ ],
240
+ "weekend_duplicate": [
241
+ false
242
+ ],
243
+ "monetized_creator": [
244
+ false
245
+ ],
246
+ "toxic_user": [
247
+ false
248
+ ]
249
+ }
250
+ },
251
+ {
252
+ "event": "search performed",
253
+ "weight": 7,
254
+ "properties": {
255
+ "search_type": [
256
+ "users",
257
+ "hashtags",
258
+ "posts"
259
+ ],
260
+ "results_count": [
261
+ 33,
262
+ 40,
263
+ 35,
264
+ 28,
265
+ 17,
266
+ 36,
267
+ 37,
268
+ 16,
269
+ 15,
270
+ 34
271
+ ],
272
+ "toxic_user": [
273
+ false
274
+ ]
275
+ }
276
+ },
277
+ {
278
+ "event": "notification received",
279
+ "weight": 12,
280
+ "properties": {
281
+ "notification_type": [
282
+ "like",
283
+ "follow",
284
+ "comment",
285
+ "mention",
286
+ "trending"
287
+ ],
288
+ "clicked": {
289
+ "$type": "array"
290
+ },
291
+ "toxic_user": [
292
+ false
293
+ ]
294
+ }
295
+ },
296
+ {
297
+ "event": "dm sent",
298
+ "weight": 8,
299
+ "properties": {
300
+ "message_type": [
301
+ "text",
302
+ "image",
303
+ "voice",
304
+ "link"
305
+ ],
306
+ "conversation_length": {
307
+ "$range": [
308
+ 3,
309
+ 98
310
+ ]
311
+ },
312
+ "toxic_user": [
313
+ false
314
+ ]
315
+ }
316
+ },
317
+ {
318
+ "event": "ad viewed",
319
+ "weight": 10,
320
+ "properties": {
321
+ "ad_format": [
322
+ "feed_native",
323
+ "story",
324
+ "banner",
325
+ "video"
326
+ ],
327
+ "ad_category": [
328
+ "retail",
329
+ "tech",
330
+ "food",
331
+ "finance",
332
+ "entertainment"
333
+ ],
334
+ "view_duration_sec": {
335
+ "$range": [
336
+ 7,
337
+ 24
338
+ ]
339
+ },
340
+ "toxic_user": [
341
+ false
342
+ ]
343
+ }
344
+ },
345
+ {
346
+ "event": "ad clicked",
347
+ "weight": 2,
348
+ "properties": {
349
+ "ad_format": [
350
+ "feed_native",
351
+ "story",
352
+ "banner",
353
+ "video"
354
+ ],
355
+ "ad_category": [
356
+ "retail",
357
+ "tech",
358
+ "food",
359
+ "finance",
360
+ "entertainment"
361
+ ],
362
+ "toxic_user": [
363
+ false
364
+ ]
365
+ }
366
+ },
367
+ {
368
+ "event": "report submitted",
369
+ "properties": {
370
+ "report_type": [
371
+ "spam",
372
+ "harassment",
373
+ "misinformation",
374
+ "hate_speech",
375
+ "other"
376
+ ],
377
+ "content_type": [
378
+ "post",
379
+ "comment",
380
+ "user",
381
+ "dm"
382
+ ],
383
+ "toxic_user": [
384
+ false
385
+ ]
386
+ }
387
+ },
388
+ {
389
+ "event": "profile updated",
390
+ "weight": 3,
391
+ "properties": {
392
+ "field_updated": [
393
+ "bio",
394
+ "avatar",
395
+ "display_name",
396
+ "privacy_settings",
397
+ "interests"
398
+ ],
399
+ "toxic_user": [
400
+ false
401
+ ]
402
+ }
403
+ },
404
+ {
405
+ "event": "creator subscription started",
406
+ "weight": 2,
407
+ "properties": {
408
+ "tier": [
409
+ "basic",
410
+ "premium",
411
+ "vip"
412
+ ],
413
+ "price_usd": [
414
+ 9.99,
415
+ 4.99,
416
+ 19.99
417
+ ],
418
+ "toxic_user": [
419
+ false
420
+ ]
421
+ }
422
+ }
423
+ ],
424
+ "superProps": {
425
+ "app_version": [
426
+ "4.0",
427
+ "4.1",
428
+ "4.2",
429
+ "4.3",
430
+ "5.0"
431
+ ],
432
+ "account_type": [
433
+ "personal",
434
+ "creator",
435
+ "business"
436
+ ]
437
+ },
438
+ "userProps": {
439
+ "follower_count": {
440
+ "$range": [
441
+ 2283,
442
+ 7639
443
+ ]
444
+ },
445
+ "following_count": {
446
+ "$range": [
447
+ 869,
448
+ 3942
449
+ ]
450
+ },
451
+ "bio_length": {
452
+ "$range": [
453
+ 2,
454
+ 132
455
+ ]
456
+ },
457
+ "verified": {
458
+ "$type": "array"
459
+ },
460
+ "content_niche": [
461
+ "lifestyle",
462
+ "tech",
463
+ "food",
464
+ "fitness",
465
+ "travel",
466
+ "comedy",
467
+ "news",
468
+ "art"
469
+ ]
470
+ },
471
+ "funnels": [
472
+ {
473
+ "sequence": [
474
+ "account created",
475
+ "profile updated",
476
+ "post created"
477
+ ],
478
+ "isFirstFunnel": true,
479
+ "conversionRate": 70,
480
+ "timeToConvert": 0.5
481
+ },
482
+ {
483
+ "sequence": [
484
+ "post viewed",
485
+ "post liked",
486
+ "comment posted"
487
+ ],
488
+ "conversionRate": 45,
489
+ "timeToConvert": 0.5,
490
+ "weight": 6
491
+ },
492
+ {
493
+ "sequence": [
494
+ "post created",
495
+ "post viewed",
496
+ "post liked",
497
+ "post shared"
498
+ ],
499
+ "conversionRate": 30,
500
+ "timeToConvert": 3,
501
+ "weight": 3
502
+ },
503
+ {
504
+ "sequence": [
505
+ "story created",
506
+ "story viewed",
507
+ "dm sent"
508
+ ],
509
+ "conversionRate": 40,
510
+ "timeToConvert": 1,
511
+ "weight": 3
512
+ },
513
+ {
514
+ "sequence": [
515
+ "search performed",
516
+ "post viewed",
517
+ "user followed"
518
+ ],
519
+ "conversionRate": 35,
520
+ "timeToConvert": 1,
521
+ "weight": 2
522
+ },
523
+ {
524
+ "sequence": [
525
+ "notification received",
526
+ "post viewed",
527
+ "post liked"
528
+ ],
529
+ "conversionRate": 50,
530
+ "timeToConvert": 0.5,
531
+ "weight": 2
532
+ },
533
+ {
534
+ "sequence": [
535
+ "profile updated",
536
+ "creator subscription started",
537
+ "post created"
538
+ ],
539
+ "conversionRate": 15,
540
+ "timeToConvert": 24
541
+ },
542
+ {
543
+ "sequence": [
544
+ "ad viewed",
545
+ "ad clicked",
546
+ "report submitted"
547
+ ],
548
+ "conversionRate": 20,
549
+ "timeToConvert": 2
550
+ }
551
+ ]
552
+ }