@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,601 @@
1
+ {
2
+ "events": [
3
+ {
4
+ "event": "account created",
5
+ "isFirstEvent": true,
6
+ "properties": {
7
+ "referral_source": [
8
+ "organic",
9
+ "github",
10
+ "conference",
11
+ "blog_post",
12
+ "colleague",
13
+ "search"
14
+ ]
15
+ }
16
+ },
17
+ {
18
+ "event": "build completed",
19
+ "weight": 8,
20
+ "properties": {
21
+ "pipeline_id": {
22
+ "$type": "string"
23
+ },
24
+ "repo_id": {
25
+ "$type": "string"
26
+ },
27
+ "build_status": [
28
+ "success",
29
+ "failed",
30
+ "cancelled"
31
+ ],
32
+ "build_duration_sec": {
33
+ "$range": [
34
+ 57,
35
+ 515
36
+ ]
37
+ },
38
+ "branch": [
39
+ "main",
40
+ "develop",
41
+ "feature",
42
+ "hotfix"
43
+ ],
44
+ "test_count": {
45
+ "$range": [
46
+ 85,
47
+ 429
48
+ ]
49
+ },
50
+ "test_pass_rate": {
51
+ "$range": [
52
+ 71,
53
+ 99
54
+ ]
55
+ }
56
+ }
57
+ },
58
+ {
59
+ "event": "deployment completed",
60
+ "weight": 5,
61
+ "properties": {
62
+ "pipeline_id": {
63
+ "$type": "string"
64
+ },
65
+ "repo_id": {
66
+ "$type": "string"
67
+ },
68
+ "deploy_status": [
69
+ "success",
70
+ "failed",
71
+ "rolled_back"
72
+ ],
73
+ "environment": [
74
+ "production",
75
+ "staging",
76
+ "dev",
77
+ "preview"
78
+ ],
79
+ "deploy_duration_sec": {
80
+ "$range": [
81
+ 53,
82
+ 246
83
+ ]
84
+ },
85
+ "is_night_deploy": [
86
+ false
87
+ ],
88
+ "preview_enabled": [
89
+ false
90
+ ]
91
+ }
92
+ },
93
+ {
94
+ "event": "pull request created",
95
+ "weight": 6,
96
+ "properties": {
97
+ "repo_id": {
98
+ "$type": "string"
99
+ },
100
+ "pr_size": [
101
+ "small",
102
+ "medium",
103
+ "large",
104
+ "xlarge"
105
+ ],
106
+ "files_changed": [
107
+ 16,
108
+ 34,
109
+ 14,
110
+ 36,
111
+ 37,
112
+ 15,
113
+ 13
114
+ ],
115
+ "lines_added": {
116
+ "$range": [
117
+ 301,
118
+ 1600
119
+ ]
120
+ },
121
+ "lines_removed": {
122
+ "$range": [
123
+ 99,
124
+ 386
125
+ ]
126
+ },
127
+ "ai_assist": [
128
+ "manual"
129
+ ]
130
+ }
131
+ },
132
+ {
133
+ "event": "code review completed",
134
+ "weight": 5,
135
+ "properties": {
136
+ "repo_id": {
137
+ "$type": "string"
138
+ },
139
+ "review_result": [
140
+ "approved",
141
+ "changes_requested",
142
+ "commented"
143
+ ],
144
+ "review_duration_hours": [
145
+ 48,
146
+ 55,
147
+ 51,
148
+ 54,
149
+ 16,
150
+ 18,
151
+ 25
152
+ ],
153
+ "comments_count": [
154
+ 15,
155
+ 7,
156
+ 6
157
+ ],
158
+ "ai_assist": [
159
+ "manual"
160
+ ]
161
+ }
162
+ },
163
+ {
164
+ "event": "alert triggered",
165
+ "weight": 4,
166
+ "properties": {
167
+ "alert_type": [
168
+ "error_rate",
169
+ "latency",
170
+ "cpu",
171
+ "memory",
172
+ "disk",
173
+ "custom_metric"
174
+ ],
175
+ "severity": [
176
+ "info",
177
+ "warning",
178
+ "critical"
179
+ ],
180
+ "service": [
181
+ "api",
182
+ "web",
183
+ "worker",
184
+ "database",
185
+ "cdn",
186
+ "auth"
187
+ ],
188
+ "acknowledged": [
189
+ true,
190
+ false
191
+ ]
192
+ }
193
+ },
194
+ {
195
+ "event": "incident created",
196
+ "weight": 2,
197
+ "properties": {
198
+ "severity": [
199
+ "sev1",
200
+ "sev2",
201
+ "sev3"
202
+ ],
203
+ "service": [
204
+ "api",
205
+ "web",
206
+ "worker",
207
+ "database",
208
+ "cdn",
209
+ "auth"
210
+ ],
211
+ "response_time_minutes": {
212
+ "$range": [
213
+ 21,
214
+ 93
215
+ ]
216
+ },
217
+ "root_cause": [
218
+ "deploy",
219
+ "config_change",
220
+ "dependency",
221
+ "traffic_spike",
222
+ "hardware",
223
+ "unknown"
224
+ ]
225
+ }
226
+ },
227
+ {
228
+ "event": "incident resolved",
229
+ "weight": 2,
230
+ "properties": {
231
+ "severity": [
232
+ "sev1",
233
+ "sev2",
234
+ "sev3"
235
+ ],
236
+ "resolution_time_minutes": {
237
+ "$range": [
238
+ 100,
239
+ 377
240
+ ]
241
+ },
242
+ "response_time_minutes": {
243
+ "$range": [
244
+ 23,
245
+ 93
246
+ ]
247
+ },
248
+ "resolution_type": [
249
+ "hotfix",
250
+ "rollback",
251
+ "config_change",
252
+ "scaling",
253
+ "restart",
254
+ "manual"
255
+ ]
256
+ }
257
+ },
258
+ {
259
+ "event": "repository connected",
260
+ "weight": 2,
261
+ "properties": {
262
+ "provider": [
263
+ "github",
264
+ "gitlab",
265
+ "bitbucket"
266
+ ],
267
+ "repo_visibility": [
268
+ "private",
269
+ "public"
270
+ ],
271
+ "language": [
272
+ "javascript",
273
+ "python",
274
+ "go",
275
+ "rust",
276
+ "java",
277
+ "typescript"
278
+ ]
279
+ }
280
+ },
281
+ {
282
+ "event": "pipeline configured",
283
+ "weight": 2,
284
+ "properties": {
285
+ "pipeline_id": {
286
+ "$type": "string"
287
+ },
288
+ "pipeline_type": [
289
+ "build_test",
290
+ "build_test_deploy",
291
+ "deploy_only",
292
+ "lint_test"
293
+ ],
294
+ "trigger": [
295
+ "push",
296
+ "pull_request",
297
+ "schedule",
298
+ "manual"
299
+ ],
300
+ "runtime": [
301
+ "docker",
302
+ "node",
303
+ "python",
304
+ "go"
305
+ ]
306
+ }
307
+ },
308
+ {
309
+ "event": "collaboration invited",
310
+ "weight": 2,
311
+ "properties": {
312
+ "invite_role": [
313
+ "developer",
314
+ "admin",
315
+ "viewer"
316
+ ],
317
+ "invite_method": [
318
+ "email",
319
+ "link",
320
+ "github_team"
321
+ ]
322
+ }
323
+ },
324
+ {
325
+ "event": "monitoring dashboard viewed",
326
+ "weight": 5,
327
+ "properties": {
328
+ "dashboard_type": [
329
+ "overview",
330
+ "performance",
331
+ "errors",
332
+ "deploys",
333
+ "custom"
334
+ ],
335
+ "time_range": [
336
+ "1h",
337
+ "6h",
338
+ "24h",
339
+ "7d",
340
+ "30d"
341
+ ],
342
+ "widgets_count": [
343
+ 4,
344
+ 6,
345
+ 10
346
+ ]
347
+ }
348
+ },
349
+ {
350
+ "event": "log searched",
351
+ "weight": 4,
352
+ "properties": {
353
+ "query_type": [
354
+ "full_text",
355
+ "structured",
356
+ "regex"
357
+ ],
358
+ "time_range": [
359
+ "15m",
360
+ "1h",
361
+ "6h",
362
+ "24h",
363
+ "7d"
364
+ ],
365
+ "results_count": {
366
+ "$range": [
367
+ 94,
368
+ 404
369
+ ]
370
+ },
371
+ "service": [
372
+ "api",
373
+ "web",
374
+ "worker",
375
+ "database",
376
+ "auth"
377
+ ]
378
+ }
379
+ },
380
+ {
381
+ "event": "notification received",
382
+ "weight": 6,
383
+ "properties": {
384
+ "notification_type": [
385
+ "build_failed",
386
+ "deploy_completed",
387
+ "pr_review_requested",
388
+ "alert_fired",
389
+ "mention",
390
+ "billing"
391
+ ],
392
+ "channel": [
393
+ "in_app",
394
+ "email",
395
+ "slack",
396
+ "webhook"
397
+ ],
398
+ "opened": [
399
+ true,
400
+ false
401
+ ]
402
+ }
403
+ },
404
+ {
405
+ "event": "billing updated",
406
+ "properties": {
407
+ "change_type": [
408
+ "plan_upgrade",
409
+ "plan_downgrade",
410
+ "payment_method",
411
+ "add_seats",
412
+ "remove_seats"
413
+ ],
414
+ "payment_method": [
415
+ "credit_card",
416
+ "invoice",
417
+ "paypal"
418
+ ]
419
+ }
420
+ },
421
+ {
422
+ "event": "app session",
423
+ "weight": 8,
424
+ "properties": {
425
+ "session_duration_sec": {
426
+ "$range": [
427
+ 586,
428
+ 2989
429
+ ]
430
+ },
431
+ "pages_viewed": [
432
+ 6,
433
+ 14,
434
+ 8,
435
+ 16
436
+ ]
437
+ }
438
+ },
439
+ {
440
+ "event": "environment created",
441
+ "weight": 2,
442
+ "properties": {
443
+ "env_type": [
444
+ "production",
445
+ "staging",
446
+ "dev",
447
+ "preview",
448
+ "test"
449
+ ],
450
+ "cloud_provider": [
451
+ "aws",
452
+ "gcp",
453
+ "azure",
454
+ "self_hosted"
455
+ ],
456
+ "region": [
457
+ "us-east-1",
458
+ "us-west-2",
459
+ "eu-west-1",
460
+ "ap-south-1"
461
+ ]
462
+ }
463
+ },
464
+ {
465
+ "event": "account deactivated",
466
+ "isChurnEvent": true,
467
+ "returnLikelihood": 0.15,
468
+ "isStrictEvent": true,
469
+ "properties": {
470
+ "reason": [
471
+ "switched_provider",
472
+ "cost",
473
+ "no_longer_needed",
474
+ "poor_experience",
475
+ "team_dissolved",
476
+ "acquired"
477
+ ]
478
+ }
479
+ }
480
+ ],
481
+ "funnels": [
482
+ {
483
+ "sequence": [
484
+ "account created",
485
+ "repository connected",
486
+ "pipeline configured",
487
+ "build completed"
488
+ ],
489
+ "name": "Onboarding",
490
+ "isFirstFunnel": true,
491
+ "conversionRate": 45,
492
+ "timeToConvert": 72,
493
+ "weight": 3
494
+ },
495
+ {
496
+ "sequence": [
497
+ "build completed",
498
+ "deployment completed",
499
+ "monitoring dashboard viewed"
500
+ ],
501
+ "name": "Build-Deploy Pipeline",
502
+ "conversionRate": 40,
503
+ "timeToConvert": 48,
504
+ "weight": 5
505
+ },
506
+ {
507
+ "sequence": [
508
+ "pull request created",
509
+ "code review completed",
510
+ "build completed",
511
+ "deployment completed"
512
+ ],
513
+ "name": "PR Review Flow",
514
+ "conversionRate": 35,
515
+ "timeToConvert": 72,
516
+ "weight": 4
517
+ },
518
+ {
519
+ "sequence": [
520
+ "alert triggered",
521
+ "incident created",
522
+ "incident resolved"
523
+ ],
524
+ "name": "Incident Response",
525
+ "conversionRate": 50,
526
+ "timeToConvert": 24,
527
+ "weight": 3
528
+ },
529
+ {
530
+ "sequence": [
531
+ "app session",
532
+ "billing updated",
533
+ "collaboration invited"
534
+ ],
535
+ "name": "Upgrade Path",
536
+ "conversionRate": 20,
537
+ "timeToConvert": 168,
538
+ "weight": 2
539
+ }
540
+ ],
541
+ "superProps": {
542
+ "subscription_tier": [
543
+ "free",
544
+ "team",
545
+ "business",
546
+ "enterprise"
547
+ ],
548
+ "platform": [
549
+ "web",
550
+ "desktop_app",
551
+ "cli"
552
+ ],
553
+ "language": [
554
+ "javascript",
555
+ "python",
556
+ "go",
557
+ "rust",
558
+ "java",
559
+ "typescript"
560
+ ]
561
+ },
562
+ "userProps": {
563
+ "dev_role": [
564
+ "full_stack"
565
+ ],
566
+ "segment": [
567
+ "full_stack"
568
+ ],
569
+ "team_size": [
570
+ 41,
571
+ 35,
572
+ 9,
573
+ 13,
574
+ 21
575
+ ],
576
+ "repos_connected": [
577
+ 0
578
+ ],
579
+ "org_name": [
580
+ "personal"
581
+ ],
582
+ "experience_level": [
583
+ "junior",
584
+ "mid",
585
+ "senior"
586
+ ]
587
+ },
588
+ "scdProps": {
589
+ "subscription_tier": {
590
+ "type": "user",
591
+ "frequency": "month",
592
+ "timing": "fuzzy",
593
+ "max": 6,
594
+ "values": [
595
+ "free",
596
+ "pro",
597
+ "enterprise"
598
+ ]
599
+ }
600
+ }
601
+ }