@almadar/std 8.2.0 → 8.3.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 (187) hide show
  1. package/behaviors/registry/agent/atoms/std-agent-activity-log.orb +83 -83
  2. package/behaviors/registry/agent/atoms/std-agent-chat-thread.orb +112 -112
  3. package/behaviors/registry/agent/atoms/std-agent-classifier.orb +107 -101
  4. package/behaviors/registry/agent/atoms/std-agent-completion.orb +131 -116
  5. package/behaviors/registry/agent/atoms/std-agent-context-window.orb +408 -402
  6. package/behaviors/registry/agent/atoms/std-agent-conversation.orb +82 -82
  7. package/behaviors/registry/agent/atoms/std-agent-memory.orb +81 -81
  8. package/behaviors/registry/agent/atoms/std-agent-provider.orb +124 -118
  9. package/behaviors/registry/agent/atoms/std-agent-search.orb +74 -74
  10. package/behaviors/registry/agent/atoms/std-agent-session.orb +129 -129
  11. package/behaviors/registry/agent/atoms/std-agent-step-progress.orb +202 -202
  12. package/behaviors/registry/agent/atoms/std-agent-token-gauge.orb +312 -312
  13. package/behaviors/registry/agent/atoms/std-agent-tool-call.orb +59 -59
  14. package/behaviors/registry/agent/molecules/std-agent-fix-loop.orb +206 -206
  15. package/behaviors/registry/agent/molecules/std-agent-learner.orb +186 -186
  16. package/behaviors/registry/agent/molecules/std-agent-planner.orb +136 -136
  17. package/behaviors/registry/agent/molecules/std-agent-rag.orb +116 -116
  18. package/behaviors/registry/agent/molecules/std-agent-tool-loop.orb +206 -206
  19. package/behaviors/registry/agent/organisms/std-agent-assistant.orb +1131 -1131
  20. package/behaviors/registry/agent/organisms/std-agent-builder.orb +3061 -3061
  21. package/behaviors/registry/agent/organisms/std-agent-pipeline.orb +2114 -2114
  22. package/behaviors/registry/agent/organisms/std-agent-reviewer.orb +1007 -1007
  23. package/behaviors/registry/agent/organisms/std-agent-tutor.orb +735 -735
  24. package/behaviors/registry/app/organisms/std-api-gateway.orb +805 -805
  25. package/behaviors/registry/app/organisms/std-booking-system.orb +1178 -1178
  26. package/behaviors/registry/app/organisms/std-cicd-pipeline.orb +781 -781
  27. package/behaviors/registry/app/organisms/std-cms.orb +445 -445
  28. package/behaviors/registry/app/organisms/std-coding-academy.orb +368 -368
  29. package/behaviors/registry/app/organisms/std-crm.orb +781 -781
  30. package/behaviors/registry/app/organisms/std-devops-dashboard.orb +1344 -1344
  31. package/behaviors/registry/app/organisms/std-ecommerce.orb +968 -968
  32. package/behaviors/registry/app/organisms/std-finance-tracker.orb +626 -626
  33. package/behaviors/registry/app/organisms/std-healthcare.orb +1286 -1286
  34. package/behaviors/registry/app/organisms/std-helpdesk.orb +636 -636
  35. package/behaviors/registry/app/organisms/std-hr-portal.orb +1160 -1160
  36. package/behaviors/registry/app/organisms/std-iot-dashboard.orb +828 -828
  37. package/behaviors/registry/app/organisms/std-lms.orb +863 -863
  38. package/behaviors/registry/app/organisms/std-project-manager.orb +686 -686
  39. package/behaviors/registry/app/organisms/std-realtime-chat.orb +739 -739
  40. package/behaviors/registry/app/organisms/std-social-feed.orb +239 -239
  41. package/behaviors/registry/app/organisms/std-trading-dashboard.orb +661 -661
  42. package/behaviors/registry/core/atoms/std-browse.orb +60 -60
  43. package/behaviors/registry/core/atoms/std-cache-aside.orb +92 -92
  44. package/behaviors/registry/core/atoms/std-calendar.orb +55 -55
  45. package/behaviors/registry/core/atoms/std-circuit-breaker.orb +176 -176
  46. package/behaviors/registry/core/atoms/std-confirmation.orb +24 -42
  47. package/behaviors/registry/core/atoms/std-display.orb +371 -371
  48. package/behaviors/registry/core/atoms/std-drawer.orb +56 -56
  49. package/behaviors/registry/core/atoms/std-filter.orb +46 -46
  50. package/behaviors/registry/core/atoms/std-gallery.orb +50 -50
  51. package/behaviors/registry/core/atoms/std-modal.orb +14 -32
  52. package/behaviors/registry/core/atoms/std-pagination.orb +45 -45
  53. package/behaviors/registry/core/atoms/std-push.orb +42 -42
  54. package/behaviors/registry/core/atoms/std-rate-limiter.orb +172 -172
  55. package/behaviors/registry/core/atoms/std-related.orb +36 -36
  56. package/behaviors/registry/core/atoms/std-search.orb +71 -71
  57. package/behaviors/registry/core/atoms/std-selection.orb +89 -89
  58. package/behaviors/registry/core/atoms/std-tabs.orb +49 -49
  59. package/behaviors/registry/core/molecules/std-cart.orb +54 -54
  60. package/behaviors/registry/core/molecules/std-filtered-list.orb +5 -5
  61. package/behaviors/registry/core/molecules/std-form-advanced.orb +116 -116
  62. package/behaviors/registry/core/molecules/std-list.orb +60 -60
  63. package/behaviors/registry/core/molecules/std-wizard-form.orb +140 -140
  64. package/behaviors/registry/game/atoms/std-collision.orb +143 -143
  65. package/behaviors/registry/game/atoms/std-combat.orb +80 -80
  66. package/behaviors/registry/game/atoms/std-dialogue-box.orb +26 -26
  67. package/behaviors/registry/game/atoms/std-game-canvas2d.orb +43 -43
  68. package/behaviors/registry/game/atoms/std-gameflow.orb +35 -35
  69. package/behaviors/registry/game/atoms/std-movement.orb +300 -300
  70. package/behaviors/registry/game/atoms/std-overworld.orb +63 -63
  71. package/behaviors/registry/game/atoms/std-physics2d.orb +76 -76
  72. package/behaviors/registry/game/atoms/std-quest.orb +124 -124
  73. package/behaviors/registry/game/atoms/std-timer.orb +251 -260
  74. package/behaviors/registry/game/organisms/std-arcade-game.orb +149 -149
  75. package/behaviors/registry/game/organisms/std-logic-training.orb +77 -77
  76. package/behaviors/registry/game/organisms/std-platformer-app.orb +230 -230
  77. package/behaviors/registry/game/organisms/std-puzzle-app.orb +105 -105
  78. package/behaviors/registry/game/organisms/std-rpg-game.orb +350 -350
  79. package/behaviors/registry/game/organisms/std-stem-lab.orb +377 -377
  80. package/behaviors/registry/game/organisms/std-strategy-game.orb +529 -529
  81. package/behaviors/registry/probes/molecules/std-source-scope-probe.orb +12 -12
  82. package/behaviors/registry/service/atoms/std-service-custom-bearer.orb +70 -70
  83. package/behaviors/registry/service/atoms/std-service-email.orb +84 -84
  84. package/behaviors/registry/service/atoms/std-service-github.orb +99 -99
  85. package/behaviors/registry/service/atoms/std-service-llm.orb +115 -115
  86. package/behaviors/registry/service/atoms/std-service-oauth.orb +116 -116
  87. package/behaviors/registry/service/atoms/std-service-redis.orb +95 -95
  88. package/behaviors/registry/service/atoms/std-service-storage.orb +105 -105
  89. package/behaviors/registry/service/atoms/std-service-stripe.orb +98 -98
  90. package/behaviors/registry/service/atoms/std-service-twilio.orb +99 -99
  91. package/behaviors/registry/service/atoms/std-service-youtube.orb +115 -115
  92. package/behaviors/registry/service/organisms/std-service-marketplace.orb +917 -917
  93. package/behaviors/registry/service/organisms/std-service-research-assistant.orb +933 -933
  94. package/dist/behaviors/registry/agent/atoms/std-agent-activity-log.orb +83 -83
  95. package/dist/behaviors/registry/agent/atoms/std-agent-chat-thread.orb +112 -112
  96. package/dist/behaviors/registry/agent/atoms/std-agent-classifier.orb +107 -101
  97. package/dist/behaviors/registry/agent/atoms/std-agent-completion.orb +131 -116
  98. package/dist/behaviors/registry/agent/atoms/std-agent-context-window.orb +408 -402
  99. package/dist/behaviors/registry/agent/atoms/std-agent-conversation.orb +82 -82
  100. package/dist/behaviors/registry/agent/atoms/std-agent-memory.orb +81 -81
  101. package/dist/behaviors/registry/agent/atoms/std-agent-provider.orb +124 -118
  102. package/dist/behaviors/registry/agent/atoms/std-agent-search.orb +74 -74
  103. package/dist/behaviors/registry/agent/atoms/std-agent-session.orb +129 -129
  104. package/dist/behaviors/registry/agent/atoms/std-agent-step-progress.orb +202 -202
  105. package/dist/behaviors/registry/agent/atoms/std-agent-token-gauge.orb +312 -312
  106. package/dist/behaviors/registry/agent/atoms/std-agent-tool-call.orb +59 -59
  107. package/dist/behaviors/registry/agent/molecules/std-agent-fix-loop.orb +206 -206
  108. package/dist/behaviors/registry/agent/molecules/std-agent-learner.orb +186 -186
  109. package/dist/behaviors/registry/agent/molecules/std-agent-planner.orb +136 -136
  110. package/dist/behaviors/registry/agent/molecules/std-agent-rag.orb +116 -116
  111. package/dist/behaviors/registry/agent/molecules/std-agent-tool-loop.orb +206 -206
  112. package/dist/behaviors/registry/agent/organisms/std-agent-assistant.orb +1131 -1131
  113. package/dist/behaviors/registry/agent/organisms/std-agent-builder.orb +3061 -3061
  114. package/dist/behaviors/registry/agent/organisms/std-agent-pipeline.orb +2114 -2114
  115. package/dist/behaviors/registry/agent/organisms/std-agent-reviewer.orb +1007 -1007
  116. package/dist/behaviors/registry/agent/organisms/std-agent-tutor.orb +735 -735
  117. package/dist/behaviors/registry/app/organisms/std-api-gateway.orb +805 -805
  118. package/dist/behaviors/registry/app/organisms/std-booking-system.orb +1178 -1178
  119. package/dist/behaviors/registry/app/organisms/std-cicd-pipeline.orb +781 -781
  120. package/dist/behaviors/registry/app/organisms/std-cms.orb +445 -445
  121. package/dist/behaviors/registry/app/organisms/std-coding-academy.orb +368 -368
  122. package/dist/behaviors/registry/app/organisms/std-crm.orb +781 -781
  123. package/dist/behaviors/registry/app/organisms/std-devops-dashboard.orb +1344 -1344
  124. package/dist/behaviors/registry/app/organisms/std-ecommerce.orb +968 -968
  125. package/dist/behaviors/registry/app/organisms/std-finance-tracker.orb +626 -626
  126. package/dist/behaviors/registry/app/organisms/std-healthcare.orb +1286 -1286
  127. package/dist/behaviors/registry/app/organisms/std-helpdesk.orb +636 -636
  128. package/dist/behaviors/registry/app/organisms/std-hr-portal.orb +1160 -1160
  129. package/dist/behaviors/registry/app/organisms/std-iot-dashboard.orb +828 -828
  130. package/dist/behaviors/registry/app/organisms/std-lms.orb +863 -863
  131. package/dist/behaviors/registry/app/organisms/std-project-manager.orb +686 -686
  132. package/dist/behaviors/registry/app/organisms/std-realtime-chat.orb +739 -739
  133. package/dist/behaviors/registry/app/organisms/std-social-feed.orb +239 -239
  134. package/dist/behaviors/registry/app/organisms/std-trading-dashboard.orb +661 -661
  135. package/dist/behaviors/registry/core/atoms/std-browse.orb +60 -60
  136. package/dist/behaviors/registry/core/atoms/std-cache-aside.orb +92 -92
  137. package/dist/behaviors/registry/core/atoms/std-calendar.orb +55 -55
  138. package/dist/behaviors/registry/core/atoms/std-circuit-breaker.orb +176 -176
  139. package/dist/behaviors/registry/core/atoms/std-confirmation.orb +24 -42
  140. package/dist/behaviors/registry/core/atoms/std-display.orb +371 -371
  141. package/dist/behaviors/registry/core/atoms/std-drawer.orb +56 -56
  142. package/dist/behaviors/registry/core/atoms/std-filter.orb +46 -46
  143. package/dist/behaviors/registry/core/atoms/std-gallery.orb +50 -50
  144. package/dist/behaviors/registry/core/atoms/std-modal.orb +14 -32
  145. package/dist/behaviors/registry/core/atoms/std-pagination.orb +45 -45
  146. package/dist/behaviors/registry/core/atoms/std-push.orb +42 -42
  147. package/dist/behaviors/registry/core/atoms/std-rate-limiter.orb +172 -172
  148. package/dist/behaviors/registry/core/atoms/std-related.orb +36 -36
  149. package/dist/behaviors/registry/core/atoms/std-search.orb +71 -71
  150. package/dist/behaviors/registry/core/atoms/std-selection.orb +89 -89
  151. package/dist/behaviors/registry/core/atoms/std-tabs.orb +49 -49
  152. package/dist/behaviors/registry/core/molecules/std-cart.orb +54 -54
  153. package/dist/behaviors/registry/core/molecules/std-filtered-list.orb +5 -5
  154. package/dist/behaviors/registry/core/molecules/std-form-advanced.orb +116 -116
  155. package/dist/behaviors/registry/core/molecules/std-list.orb +60 -60
  156. package/dist/behaviors/registry/core/molecules/std-wizard-form.orb +140 -140
  157. package/dist/behaviors/registry/game/atoms/std-collision.orb +143 -143
  158. package/dist/behaviors/registry/game/atoms/std-combat.orb +80 -80
  159. package/dist/behaviors/registry/game/atoms/std-dialogue-box.orb +26 -26
  160. package/dist/behaviors/registry/game/atoms/std-game-canvas2d.orb +43 -43
  161. package/dist/behaviors/registry/game/atoms/std-gameflow.orb +35 -35
  162. package/dist/behaviors/registry/game/atoms/std-movement.orb +300 -300
  163. package/dist/behaviors/registry/game/atoms/std-overworld.orb +63 -63
  164. package/dist/behaviors/registry/game/atoms/std-physics2d.orb +76 -76
  165. package/dist/behaviors/registry/game/atoms/std-quest.orb +124 -124
  166. package/dist/behaviors/registry/game/atoms/std-timer.orb +251 -260
  167. package/dist/behaviors/registry/game/organisms/std-arcade-game.orb +149 -149
  168. package/dist/behaviors/registry/game/organisms/std-logic-training.orb +77 -77
  169. package/dist/behaviors/registry/game/organisms/std-platformer-app.orb +230 -230
  170. package/dist/behaviors/registry/game/organisms/std-puzzle-app.orb +105 -105
  171. package/dist/behaviors/registry/game/organisms/std-rpg-game.orb +350 -350
  172. package/dist/behaviors/registry/game/organisms/std-stem-lab.orb +377 -377
  173. package/dist/behaviors/registry/game/organisms/std-strategy-game.orb +529 -529
  174. package/dist/behaviors/registry/probes/molecules/std-source-scope-probe.orb +12 -12
  175. package/dist/behaviors/registry/service/atoms/std-service-custom-bearer.orb +70 -70
  176. package/dist/behaviors/registry/service/atoms/std-service-email.orb +84 -84
  177. package/dist/behaviors/registry/service/atoms/std-service-github.orb +99 -99
  178. package/dist/behaviors/registry/service/atoms/std-service-llm.orb +115 -115
  179. package/dist/behaviors/registry/service/atoms/std-service-oauth.orb +116 -116
  180. package/dist/behaviors/registry/service/atoms/std-service-redis.orb +95 -95
  181. package/dist/behaviors/registry/service/atoms/std-service-storage.orb +105 -105
  182. package/dist/behaviors/registry/service/atoms/std-service-stripe.orb +98 -98
  183. package/dist/behaviors/registry/service/atoms/std-service-twilio.orb +99 -99
  184. package/dist/behaviors/registry/service/atoms/std-service-youtube.orb +115 -115
  185. package/dist/behaviors/registry/service/organisms/std-service-marketplace.orb +917 -917
  186. package/dist/behaviors/registry/service/organisms/std-service-research-assistant.orb +933 -933
  187. package/package.json +1 -1
@@ -372,8 +372,8 @@
372
372
  "BattleState",
373
373
  {
374
374
  "emit": {
375
- "failure": "BattleStateLoadFailed",
376
- "success": "BattleStateLoaded"
375
+ "success": "BattleStateLoaded",
376
+ "failure": "BattleStateLoadFailed"
377
377
  }
378
378
  }
379
379
  ],
@@ -381,23 +381,23 @@
381
381
  "render-ui",
382
382
  "main",
383
383
  {
384
- "showTopBar": true,
385
384
  "type": "game-shell",
385
+ "appName": "RPG Game",
386
+ "showTopBar": true,
386
387
  "children": [
387
388
  {
388
- "subtitle": "Turn-Based Strategy",
389
- "title": "Battle Arena",
389
+ "type": "game-menu",
390
390
  "menuItems": [
391
391
  {
392
+ "variant": "primary",
392
393
  "event": "START",
393
- "label": "Start Battle",
394
- "variant": "primary"
394
+ "label": "Start Battle"
395
395
  }
396
396
  ],
397
- "type": "game-menu"
397
+ "subtitle": "Turn-Based Strategy",
398
+ "title": "Battle Arena"
398
399
  }
399
- ],
400
- "appName": "RPG Game"
400
+ ]
401
401
  }
402
402
  ]
403
403
  ]
@@ -411,10 +411,12 @@
411
411
  "render-ui",
412
412
  "main",
413
413
  {
414
+ "type": "game-shell",
414
415
  "showTopBar": true,
415
416
  "appName": "RPG Game",
416
417
  "children": [
417
418
  {
419
+ "type": "game-hud",
418
420
  "stats": [
419
421
  {
420
422
  "value": "@entity.turn",
@@ -424,11 +426,9 @@
424
426
  "value": "@entity.score",
425
427
  "label": "Score"
426
428
  }
427
- ],
428
- "type": "game-hud"
429
+ ]
429
430
  }
430
- ],
431
- "type": "game-shell"
431
+ ]
432
432
  }
433
433
  ]
434
434
  ]
@@ -456,7 +456,6 @@
456
456
  "render-ui",
457
457
  "main",
458
458
  {
459
- "showTopBar": true,
460
459
  "children": [
461
460
  {
462
461
  "type": "game-hud",
@@ -466,14 +465,15 @@
466
465
  "value": "@entity.turn"
467
466
  },
468
467
  {
469
- "value": "@entity.score",
470
- "label": "Score"
468
+ "label": "Score",
469
+ "value": "@entity.score"
471
470
  }
472
471
  ]
473
472
  }
474
473
  ],
474
+ "appName": "RPG Game",
475
475
  "type": "game-shell",
476
- "appName": "RPG Game"
476
+ "showTopBar": true
477
477
  }
478
478
  ]
479
479
  ]
@@ -491,13 +491,13 @@
491
491
  "menuItems": [
492
492
  {
493
493
  "label": "Resume",
494
- "variant": "primary",
495
- "event": "RESUME"
494
+ "event": "RESUME",
495
+ "variant": "primary"
496
496
  },
497
497
  {
498
+ "variant": "ghost",
498
499
  "label": "Quit",
499
- "event": "RESTART",
500
- "variant": "ghost"
500
+ "event": "RESTART"
501
501
  }
502
502
  ],
503
503
  "type": "game-menu"
@@ -514,12 +514,15 @@
514
514
  "render-ui",
515
515
  "main",
516
516
  {
517
+ "appName": "RPG Game",
518
+ "type": "game-shell",
519
+ "showTopBar": true,
517
520
  "children": [
518
521
  {
519
522
  "stats": [
520
523
  {
521
- "value": "@entity.turn",
522
- "label": "Turns"
524
+ "label": "Turns",
525
+ "value": "@entity.turn"
523
526
  },
524
527
  {
525
528
  "label": "Score",
@@ -527,24 +530,21 @@
527
530
  }
528
531
  ],
529
532
  "title": "Battle Over",
530
- "type": "game-over-screen",
531
533
  "menuItems": [
532
534
  {
535
+ "label": "Play Again",
533
536
  "event": "RESTART",
534
- "variant": "primary",
535
- "label": "Play Again"
537
+ "variant": "primary"
536
538
  },
537
539
  {
538
- "event": "RESTART",
539
540
  "label": "Main Menu",
541
+ "event": "RESTART",
540
542
  "variant": "secondary"
541
543
  }
542
- ]
544
+ ],
545
+ "type": "game-over-screen"
543
546
  }
544
- ],
545
- "showTopBar": true,
546
- "type": "game-shell",
547
- "appName": "RPG Game"
547
+ ]
548
548
  }
549
549
  ]
550
550
  ]
@@ -568,9 +568,8 @@
568
568
  "render-ui",
569
569
  "main",
570
570
  {
571
- "type": "game-shell",
572
- "appName": "RPG Game",
573
571
  "showTopBar": true,
572
+ "type": "game-shell",
574
573
  "children": [
575
574
  {
576
575
  "type": "game-hud",
@@ -585,7 +584,8 @@
585
584
  }
586
585
  ]
587
586
  }
588
- ]
587
+ ],
588
+ "appName": "RPG Game"
589
589
  }
590
590
  ]
591
591
  ]
@@ -604,24 +604,24 @@
604
604
  "render-ui",
605
605
  "main",
606
606
  {
607
- "showTopBar": true,
608
607
  "appName": "RPG Game",
608
+ "type": "game-shell",
609
609
  "children": [
610
610
  {
611
+ "type": "game-hud",
611
612
  "stats": [
612
613
  {
613
- "label": "Turn",
614
- "value": "@entity.turn"
614
+ "value": "@entity.turn",
615
+ "label": "Turn"
615
616
  },
616
617
  {
617
- "label": "Score",
618
- "value": "@entity.score"
618
+ "value": "@entity.score",
619
+ "label": "Score"
619
620
  }
620
- ],
621
- "type": "game-hud"
621
+ ]
622
622
  }
623
623
  ],
624
- "type": "game-shell"
624
+ "showTopBar": true
625
625
  }
626
626
  ]
627
627
  ]
@@ -640,22 +640,22 @@
640
640
  "render-ui",
641
641
  "main",
642
642
  {
643
+ "type": "game-shell",
644
+ "appName": "RPG Game",
643
645
  "children": [
644
646
  {
645
- "type": "game-menu",
646
- "title": "Battle Arena",
647
- "subtitle": "Turn-Based Strategy",
648
647
  "menuItems": [
649
648
  {
650
- "event": "START",
649
+ "label": "Start Battle",
651
650
  "variant": "primary",
652
- "label": "Start Battle"
651
+ "event": "START"
653
652
  }
654
- ]
653
+ ],
654
+ "type": "game-menu",
655
+ "title": "Battle Arena",
656
+ "subtitle": "Turn-Based Strategy"
655
657
  }
656
658
  ],
657
- "appName": "RPG Game",
658
- "type": "game-shell",
659
659
  "showTopBar": true
660
660
  }
661
661
  ]
@@ -670,12 +670,11 @@
670
670
  "render-ui",
671
671
  "main",
672
672
  {
673
- "showTopBar": true,
674
- "appName": "RPG Game",
675
673
  "type": "game-shell",
674
+ "appName": "RPG Game",
676
675
  "children": [
677
676
  {
678
- "type": "game-menu",
677
+ "subtitle": "Turn-Based Strategy",
679
678
  "title": "Battle Arena",
680
679
  "menuItems": [
681
680
  {
@@ -684,9 +683,10 @@
684
683
  "event": "START"
685
684
  }
686
685
  ],
687
- "subtitle": "Turn-Based Strategy"
686
+ "type": "game-menu"
688
687
  }
689
- ]
688
+ ],
689
+ "showTopBar": true
690
690
  }
691
691
  ]
692
692
  ]
@@ -806,19 +806,19 @@
806
806
  "render-ui",
807
807
  "main",
808
808
  {
809
+ "type": "game-shell",
810
+ "appName": "RPG Game",
811
+ "showTopBar": true,
809
812
  "children": [
810
813
  {
811
814
  "autoScroll": true,
812
- "title": "Combat Log",
813
815
  "events": "@BattleState",
814
- "showTimestamps": true,
816
+ "title": "Combat Log",
815
817
  "maxVisible": 10.0,
818
+ "showTimestamps": true,
816
819
  "type": "combat-log"
817
820
  }
818
- ],
819
- "appName": "RPG Game",
820
- "type": "game-shell",
821
- "showTopBar": true
821
+ ]
822
822
  }
823
823
  ]
824
824
  ]
@@ -832,19 +832,19 @@
832
832
  "render-ui",
833
833
  "main",
834
834
  {
835
- "showTopBar": true,
836
- "appName": "RPG Game",
837
- "type": "game-shell",
838
835
  "children": [
839
836
  {
840
- "title": "Combat Log",
841
837
  "type": "combat-log",
842
- "events": "@BattleState",
843
838
  "maxVisible": 10.0,
844
839
  "autoScroll": true,
845
- "showTimestamps": true
840
+ "showTimestamps": true,
841
+ "title": "Combat Log",
842
+ "events": "@BattleState"
846
843
  }
847
- ]
844
+ ],
845
+ "appName": "RPG Game",
846
+ "type": "game-shell",
847
+ "showTopBar": true
848
848
  }
849
849
  ]
850
850
  ]
@@ -1031,22 +1031,22 @@
1031
1031
  "render-ui",
1032
1032
  "main",
1033
1033
  {
1034
- "className": "py-12",
1035
1034
  "type": "stack",
1036
1035
  "align": "center",
1037
- "gap": "md",
1038
1036
  "children": [
1039
1037
  {
1040
1038
  "type": "spinner"
1041
1039
  },
1042
1040
  {
1043
- "content": "Loading map…",
1044
1041
  "variant": "caption",
1045
1042
  "color": "muted",
1043
+ "content": "Loading map…",
1046
1044
  "type": "typography"
1047
1045
  }
1048
1046
  ],
1049
- "direction": "vertical"
1047
+ "direction": "vertical",
1048
+ "gap": "md",
1049
+ "className": "py-12"
1050
1050
  }
1051
1051
  ]
1052
1052
  ]
@@ -1063,50 +1063,55 @@
1063
1063
  "children": [
1064
1064
  {
1065
1065
  "gap": "lg",
1066
- "type": "stack",
1067
- "direction": "vertical",
1068
1066
  "children": [
1069
1067
  {
1068
+ "justify": "between",
1069
+ "gap": "md",
1070
+ "direction": "horizontal",
1070
1071
  "children": [
1071
1072
  {
1072
- "gap": "md",
1073
- "type": "stack",
1074
1073
  "children": [
1075
1074
  {
1076
1075
  "type": "icon",
1077
1076
  "name": "map"
1078
1077
  },
1079
1078
  {
1080
- "variant": "h2",
1081
1079
  "content": "World Map",
1080
+ "variant": "h2",
1082
1081
  "type": "typography"
1083
1082
  }
1084
1083
  ],
1085
- "direction": "horizontal"
1084
+ "type": "stack",
1085
+ "direction": "horizontal",
1086
+ "gap": "md"
1086
1087
  },
1087
1088
  {
1088
- "type": "status-dot",
1089
1089
  "status": "online",
1090
+ "type": "status-dot",
1090
1091
  "pulse": false,
1091
1092
  "label": "Exploring"
1092
1093
  }
1093
1094
  ],
1094
- "justify": "between",
1095
- "type": "stack",
1096
- "gap": "md",
1097
- "direction": "horizontal"
1095
+ "type": "stack"
1098
1096
  },
1099
1097
  {
1100
1098
  "type": "divider"
1101
1099
  },
1102
1100
  {
1103
- "markers": [],
1104
1101
  "type": "map-view",
1105
- "zoom": 10.0,
1106
- "height": "200px"
1102
+ "markers": [],
1103
+ "height": "200px",
1104
+ "zoom": 10.0
1107
1105
  },
1108
1106
  {
1107
+ "fields": [],
1109
1108
  "type": "data-grid",
1109
+ "itemActions": [
1110
+ {
1111
+ "event": "TRAVEL",
1112
+ "label": "Travel"
1113
+ }
1114
+ ],
1110
1115
  "renderItem": [
1111
1116
  "fn",
1112
1117
  "item",
@@ -1114,59 +1119,54 @@
1114
1119
  "children": [
1115
1120
  {
1116
1121
  "direction": "horizontal",
1122
+ "type": "stack",
1123
+ "align": "center",
1117
1124
  "children": [
1118
1125
  {
1126
+ "type": "stack",
1127
+ "direction": "horizontal",
1128
+ "gap": "sm",
1129
+ "align": "center",
1119
1130
  "children": [
1120
1131
  {
1121
- "name": "map-pin",
1122
- "type": "icon"
1132
+ "type": "icon",
1133
+ "name": "map-pin"
1123
1134
  },
1124
1135
  {
1125
- "variant": "h4",
1126
1136
  "content": "@item.name",
1127
- "type": "typography"
1137
+ "type": "typography",
1138
+ "variant": "h4"
1128
1139
  }
1129
- ],
1130
- "align": "center",
1131
- "gap": "sm",
1132
- "type": "stack",
1133
- "direction": "horizontal"
1140
+ ]
1134
1141
  },
1135
1142
  {
1136
1143
  "label": "@item.description",
1137
1144
  "type": "badge"
1138
1145
  }
1139
1146
  ],
1140
- "type": "stack",
1141
- "justify": "between",
1142
- "align": "center"
1147
+ "justify": "between"
1143
1148
  },
1144
1149
  {
1145
- "type": "typography",
1146
1150
  "content": "@item.level",
1151
+ "type": "typography",
1147
1152
  "variant": "caption"
1148
1153
  }
1149
1154
  ],
1150
- "type": "stack",
1151
1155
  "direction": "vertical",
1156
+ "type": "stack",
1152
1157
  "gap": "sm"
1153
1158
  }
1154
1159
  ],
1155
- "itemActions": [
1156
- {
1157
- "label": "Travel",
1158
- "event": "TRAVEL"
1159
- }
1160
- ],
1161
- "entity": "@payload.data",
1162
- "fields": []
1160
+ "entity": "@payload.data"
1163
1161
  }
1164
- ]
1162
+ ],
1163
+ "type": "stack",
1164
+ "direction": "vertical"
1165
1165
  }
1166
1166
  ],
1167
+ "showTopBar": true,
1167
1168
  "appName": "RPG Game",
1168
- "type": "game-shell",
1169
- "showTopBar": true
1169
+ "type": "game-shell"
1170
1170
  }
1171
1171
  ]
1172
1172
  ]
@@ -1180,36 +1180,36 @@
1180
1180
  "render-ui",
1181
1181
  "main",
1182
1182
  {
1183
- "gap": "md",
1184
1183
  "align": "center",
1184
+ "className": "py-12",
1185
+ "type": "stack",
1186
+ "gap": "md",
1187
+ "direction": "vertical",
1185
1188
  "children": [
1186
1189
  {
1187
- "color": "destructive",
1188
1190
  "name": "alert-triangle",
1191
+ "color": "destructive",
1189
1192
  "type": "icon"
1190
1193
  },
1191
1194
  {
1195
+ "variant": "h3",
1192
1196
  "content": "Failed to load map",
1193
- "type": "typography",
1194
- "variant": "h3"
1197
+ "type": "typography"
1195
1198
  },
1196
1199
  {
1200
+ "type": "typography",
1197
1201
  "color": "muted",
1198
1202
  "variant": "body",
1199
- "content": "@payload.error",
1200
- "type": "typography"
1203
+ "content": "@payload.error"
1201
1204
  },
1202
1205
  {
1203
1206
  "type": "button",
1204
- "variant": "primary",
1205
- "action": "INIT",
1206
1207
  "label": "Retry",
1207
- "icon": "rotate-ccw"
1208
+ "icon": "rotate-ccw",
1209
+ "variant": "primary",
1210
+ "action": "INIT"
1208
1211
  }
1209
- ],
1210
- "className": "py-12",
1211
- "type": "stack",
1212
- "direction": "vertical"
1212
+ ]
1213
1213
  }
1214
1214
  ]
1215
1215
  ]
@@ -1223,43 +1223,43 @@
1223
1223
  "render-ui",
1224
1224
  "main",
1225
1225
  {
1226
+ "showTopBar": true,
1227
+ "type": "game-shell",
1228
+ "appName": "RPG Game",
1226
1229
  "children": [
1227
1230
  {
1228
- "gap": "lg",
1229
1231
  "type": "stack",
1230
1232
  "direction": "vertical",
1231
- "align": "center",
1232
1233
  "children": [
1233
1234
  {
1234
- "gap": "md",
1235
- "direction": "horizontal",
1236
1235
  "type": "stack",
1236
+ "direction": "horizontal",
1237
1237
  "children": [
1238
1238
  {
1239
1239
  "type": "icon",
1240
1240
  "name": "loader"
1241
1241
  },
1242
1242
  {
1243
- "variant": "h2",
1244
1243
  "content": "Traveling...",
1245
- "type": "typography"
1244
+ "type": "typography",
1245
+ "variant": "h2"
1246
1246
  }
1247
- ]
1247
+ ],
1248
+ "gap": "md"
1248
1249
  },
1249
1250
  {
1250
1251
  "type": "divider"
1251
1252
  },
1252
1253
  {
1253
- "type": "typography",
1254
1254
  "variant": "body",
1255
+ "type": "typography",
1255
1256
  "content": "Traveling to the destination worldzone."
1256
1257
  }
1257
- ]
1258
+ ],
1259
+ "align": "center",
1260
+ "gap": "lg"
1258
1261
  }
1259
- ],
1260
- "type": "game-shell",
1261
- "showTopBar": true,
1262
- "appName": "RPG Game"
1262
+ ]
1263
1263
  }
1264
1264
  ]
1265
1265
  ]
@@ -1465,21 +1465,21 @@
1465
1465
  "main",
1466
1466
  {
1467
1467
  "type": "stack",
1468
- "align": "center",
1468
+ "className": "py-12",
1469
1469
  "children": [
1470
1470
  {
1471
1471
  "type": "spinner"
1472
1472
  },
1473
1473
  {
1474
- "type": "typography",
1475
- "variant": "caption",
1476
1474
  "color": "muted",
1477
- "content": "Loading…"
1475
+ "content": "Loading…",
1476
+ "type": "typography",
1477
+ "variant": "caption"
1478
1478
  }
1479
1479
  ],
1480
1480
  "gap": "md",
1481
- "direction": "vertical",
1482
- "className": "py-12"
1481
+ "align": "center",
1482
+ "direction": "vertical"
1483
1483
  }
1484
1484
  ]
1485
1485
  ]
@@ -1494,49 +1494,50 @@
1494
1494
  "main",
1495
1495
  {
1496
1496
  "type": "game-shell",
1497
+ "showTopBar": true,
1498
+ "appName": "RPG Game",
1497
1499
  "children": [
1498
1500
  {
1499
- "className": "max-w-5xl mx-auto w-full",
1500
1501
  "children": [
1501
1502
  {
1502
- "justify": "between",
1503
+ "type": "stack",
1504
+ "align": "center",
1503
1505
  "children": [
1504
1506
  {
1505
1507
  "direction": "horizontal",
1506
- "type": "stack",
1507
- "gap": "sm",
1508
1508
  "align": "center",
1509
+ "gap": "sm",
1510
+ "type": "stack",
1509
1511
  "children": [
1510
1512
  {
1511
1513
  "type": "icon",
1512
1514
  "name": "briefcase"
1513
1515
  },
1514
1516
  {
1515
- "type": "typography",
1517
+ "variant": "h2",
1516
1518
  "content": "Inventory",
1517
- "variant": "h2"
1519
+ "type": "typography"
1518
1520
  }
1519
1521
  ]
1520
1522
  },
1521
1523
  {
1524
+ "direction": "horizontal",
1525
+ "type": "stack",
1522
1526
  "children": [
1523
1527
  {
1524
1528
  "type": "button",
1525
1529
  "label": "Add RpgItem",
1526
- "icon": "plus",
1530
+ "action": "ADD_ITEM",
1527
1531
  "variant": "primary",
1528
- "action": "ADD_ITEM"
1532
+ "icon": "plus"
1529
1533
  }
1530
1534
  ],
1531
- "direction": "horizontal",
1532
- "gap": "sm",
1533
- "type": "stack"
1535
+ "gap": "sm"
1534
1536
  }
1535
1537
  ],
1538
+ "direction": "horizontal",
1536
1539
  "gap": "md",
1537
- "type": "stack",
1538
- "align": "center",
1539
- "direction": "horizontal"
1540
+ "justify": "between"
1540
1541
  },
1541
1542
  {
1542
1543
  "type": "divider"
@@ -1545,35 +1546,38 @@
1545
1546
  "columns": [
1546
1547
  {
1547
1548
  "label": "Name",
1548
- "variant": "h4",
1549
1549
  "name": "name",
1550
- "icon": "briefcase"
1550
+ "icon": "briefcase",
1551
+ "variant": "h4"
1551
1552
  },
1552
1553
  {
1553
- "variant": "badge",
1554
- "name": "type",
1555
- "label": "Type",
1556
1554
  "colorMap": {
1557
- "done": "success",
1558
- "draft": "warning",
1559
- "disabled": "neutral",
1555
+ "cancelled": "destructive",
1556
+ "scheduled": "warning",
1560
1557
  "active": "success",
1561
- "archived": "neutral",
1558
+ "disabled": "neutral",
1559
+ "done": "success",
1562
1560
  "error": "destructive",
1563
- "cancelled": "destructive",
1561
+ "completed": "success",
1564
1562
  "pending": "warning",
1563
+ "draft": "warning",
1565
1564
  "inactive": "neutral",
1566
- "failed": "destructive",
1567
- "completed": "success",
1568
- "scheduled": "warning"
1569
- }
1565
+ "archived": "neutral",
1566
+ "failed": "destructive"
1567
+ },
1568
+ "label": "Type",
1569
+ "name": "type",
1570
+ "variant": "badge"
1570
1571
  },
1571
1572
  {
1572
- "variant": "caption",
1573
+ "name": "quantity",
1573
1574
  "label": "Quantity",
1574
- "name": "quantity"
1575
+ "variant": "caption"
1575
1576
  }
1576
1577
  ],
1578
+ "type": "data-grid",
1579
+ "fields": [],
1580
+ "entity": "@payload.data",
1577
1581
  "itemActions": [
1578
1582
  {
1579
1583
  "label": "Use",
@@ -1581,23 +1585,19 @@
1581
1585
  "variant": "ghost"
1582
1586
  },
1583
1587
  {
1584
- "event": "DROP",
1585
1588
  "label": "Drop",
1586
- "variant": "danger"
1589
+ "variant": "danger",
1590
+ "event": "DROP"
1587
1591
  }
1588
- ],
1589
- "entity": "@payload.data",
1590
- "type": "data-grid",
1591
- "fields": []
1592
+ ]
1592
1593
  }
1593
1594
  ],
1595
+ "type": "stack",
1596
+ "className": "max-w-5xl mx-auto w-full",
1594
1597
  "direction": "vertical",
1595
- "gap": "lg",
1596
- "type": "stack"
1598
+ "gap": "lg"
1597
1599
  }
1598
- ],
1599
- "appName": "RPG Game",
1600
- "showTopBar": true
1600
+ ]
1601
1601
  }
1602
1602
  ]
1603
1603
  ]
@@ -1611,36 +1611,36 @@
1611
1611
  "render-ui",
1612
1612
  "main",
1613
1613
  {
1614
+ "direction": "vertical",
1615
+ "align": "center",
1616
+ "type": "stack",
1617
+ "className": "py-12",
1618
+ "gap": "md",
1614
1619
  "children": [
1615
1620
  {
1621
+ "name": "alert-triangle",
1616
1622
  "type": "icon",
1617
- "color": "destructive",
1618
- "name": "alert-triangle"
1623
+ "color": "destructive"
1619
1624
  },
1620
1625
  {
1621
- "type": "typography",
1622
1626
  "variant": "h3",
1627
+ "type": "typography",
1623
1628
  "content": "Failed to load rpgitem"
1624
1629
  },
1625
1630
  {
1626
- "content": "@payload.error",
1627
1631
  "variant": "body",
1628
- "type": "typography",
1629
- "color": "muted"
1632
+ "content": "@payload.error",
1633
+ "color": "muted",
1634
+ "type": "typography"
1630
1635
  },
1631
1636
  {
1632
- "icon": "rotate-ccw",
1637
+ "action": "INIT",
1638
+ "type": "button",
1633
1639
  "label": "Retry",
1634
1640
  "variant": "primary",
1635
- "type": "button",
1636
- "action": "INIT"
1641
+ "icon": "rotate-ccw"
1637
1642
  }
1638
- ],
1639
- "align": "center",
1640
- "gap": "md",
1641
- "className": "py-12",
1642
- "direction": "vertical",
1643
- "type": "stack"
1643
+ ]
1644
1644
  }
1645
1645
  ]
1646
1646
  ]
@@ -1816,8 +1816,8 @@
1816
1816
  "RpgItem",
1817
1817
  {
1818
1818
  "emit": {
1819
- "failure": "RpgItemLoadFailed",
1820
- "success": "RpgItemLoaded"
1819
+ "success": "RpgItemLoaded",
1820
+ "failure": "RpgItemLoadFailed"
1821
1821
  }
1822
1822
  }
1823
1823
  ],
@@ -1826,29 +1826,31 @@
1826
1826
  "modal",
1827
1827
  {
1828
1828
  "type": "stack",
1829
- "direction": "vertical",
1830
1829
  "gap": "md",
1830
+ "direction": "vertical",
1831
1831
  "children": [
1832
1832
  {
1833
- "type": "stack",
1833
+ "direction": "horizontal",
1834
+ "gap": "sm",
1834
1835
  "children": [
1835
1836
  {
1836
- "type": "icon",
1837
- "name": "plus-circle"
1837
+ "name": "plus-circle",
1838
+ "type": "icon"
1838
1839
  },
1839
1840
  {
1841
+ "type": "typography",
1840
1842
  "content": "Add RpgItem",
1841
- "variant": "h3",
1842
- "type": "typography"
1843
+ "variant": "h3"
1843
1844
  }
1844
1845
  ],
1845
- "gap": "sm",
1846
- "direction": "horizontal"
1846
+ "type": "stack"
1847
1847
  },
1848
1848
  {
1849
1849
  "type": "divider"
1850
1850
  },
1851
1851
  {
1852
+ "submitEvent": "SAVE",
1853
+ "cancelEvent": "CLOSE",
1852
1854
  "type": "form-section",
1853
1855
  "fields": [
1854
1856
  "name",
@@ -1856,8 +1858,6 @@
1856
1858
  "quantity",
1857
1859
  "rarity"
1858
1860
  ],
1859
- "submitEvent": "SAVE",
1860
- "cancelEvent": "CLOSE",
1861
1861
  "mode": "create"
1862
1862
  }
1863
1863
  ]
@@ -1901,8 +1901,8 @@
1901
1901
  "@payload.data",
1902
1902
  {
1903
1903
  "emit": {
1904
- "failure": "RpgItemSaveFailed",
1905
- "success": "RpgItemSaved"
1904
+ "success": "RpgItemSaved",
1905
+ "failure": "RpgItemSaveFailed"
1906
1906
  }
1907
1907
  }
1908
1908
  ],
@@ -2111,11 +2111,12 @@
2111
2111
  "render-ui",
2112
2112
  "modal",
2113
2113
  {
2114
- "align": "center",
2115
2114
  "direction": "vertical",
2116
- "gap": "md",
2115
+ "align": "center",
2117
2116
  "children": [
2118
2117
  {
2118
+ "type": "stack",
2119
+ "align": "center",
2119
2120
  "direction": "horizontal",
2120
2121
  "children": [
2121
2122
  {
@@ -2128,9 +2129,7 @@
2128
2129
  "content": "Use RpgItem"
2129
2130
  }
2130
2131
  ],
2131
- "type": "stack",
2132
- "gap": "sm",
2133
- "align": "center"
2132
+ "gap": "sm"
2134
2133
  },
2135
2134
  {
2136
2135
  "type": "divider"
@@ -2142,27 +2141,28 @@
2142
2141
  },
2143
2142
  {
2144
2143
  "direction": "horizontal",
2145
- "gap": "sm",
2146
- "type": "stack",
2147
- "justify": "center",
2148
2144
  "children": [
2149
2145
  {
2150
- "action": "CLOSE",
2151
- "label": "Cancel",
2152
2146
  "type": "button",
2153
- "variant": "ghost"
2147
+ "action": "CLOSE",
2148
+ "variant": "ghost",
2149
+ "label": "Cancel"
2154
2150
  },
2155
2151
  {
2152
+ "type": "button",
2156
2153
  "action": "SAVE",
2157
2154
  "variant": "primary",
2158
2155
  "icon": "check",
2159
- "type": "button",
2160
2156
  "label": "Confirm Use"
2161
2157
  }
2162
- ]
2158
+ ],
2159
+ "gap": "sm",
2160
+ "justify": "center",
2161
+ "type": "stack"
2163
2162
  }
2164
2163
  ],
2165
- "type": "stack"
2164
+ "type": "stack",
2165
+ "gap": "md"
2166
2166
  }
2167
2167
  ]
2168
2168
  ]
@@ -2203,8 +2203,8 @@
2203
2203
  "@payload.data",
2204
2204
  {
2205
2205
  "emit": {
2206
- "failure": "RpgItemUpdateFailed",
2207
- "success": "RpgItemUpdated"
2206
+ "success": "RpgItemUpdated",
2207
+ "failure": "RpgItemUpdateFailed"
2208
2208
  }
2209
2209
  }
2210
2210
  ],
@@ -2401,21 +2401,26 @@
2401
2401
  "fetch",
2402
2402
  "RpgItem",
2403
2403
  {
2404
+ "id": "@payload.id",
2404
2405
  "emit": {
2405
- "success": "RpgItemLoaded",
2406
- "failure": "RpgItemLoadFailed"
2407
- },
2408
- "id": "@payload.id"
2406
+ "failure": "RpgItemLoadFailed",
2407
+ "success": "RpgItemLoaded"
2408
+ }
2409
2409
  }
2410
2410
  ],
2411
2411
  [
2412
2412
  "render-ui",
2413
2413
  "modal",
2414
2414
  {
2415
+ "type": "stack",
2415
2416
  "direction": "vertical",
2417
+ "gap": "md",
2416
2418
  "children": [
2417
2419
  {
2420
+ "gap": "sm",
2421
+ "type": "stack",
2418
2422
  "align": "center",
2423
+ "direction": "horizontal",
2419
2424
  "children": [
2420
2425
  {
2421
2426
  "name": "alert-triangle",
@@ -2423,46 +2428,41 @@
2423
2428
  },
2424
2429
  {
2425
2430
  "content": "Drop RpgItem",
2426
- "type": "typography",
2427
- "variant": "h3"
2431
+ "variant": "h3",
2432
+ "type": "typography"
2428
2433
  }
2429
- ],
2430
- "gap": "sm",
2431
- "direction": "horizontal",
2432
- "type": "stack"
2434
+ ]
2433
2435
  },
2434
2436
  {
2435
2437
  "type": "divider"
2436
2438
  },
2437
2439
  {
2438
- "variant": "error",
2439
2440
  "type": "alert",
2441
+ "variant": "error",
2440
2442
  "message": "Are you sure you want to drop this rpgitem?"
2441
2443
  },
2442
2444
  {
2443
- "type": "stack",
2445
+ "justify": "end",
2444
2446
  "children": [
2445
2447
  {
2446
2448
  "variant": "ghost",
2447
- "label": "Cancel",
2448
2449
  "action": "CANCEL",
2450
+ "label": "Cancel",
2449
2451
  "type": "button"
2450
2452
  },
2451
2453
  {
2452
2454
  "icon": "check",
2453
2455
  "type": "button",
2454
2456
  "variant": "danger",
2455
- "action": "CONFIRM_DROP",
2456
- "label": "Drop"
2457
+ "label": "Drop",
2458
+ "action": "CONFIRM_DROP"
2457
2459
  }
2458
2460
  ],
2459
- "justify": "end",
2460
2461
  "gap": "sm",
2462
+ "type": "stack",
2461
2463
  "direction": "horizontal"
2462
2464
  }
2463
- ],
2464
- "gap": "md",
2465
- "type": "stack"
2465
+ ]
2466
2466
  }
2467
2467
  ]
2468
2468
  ]
@@ -2804,22 +2804,22 @@
2804
2804
  "render-ui",
2805
2805
  "main",
2806
2806
  {
2807
- "className": "py-12",
2808
- "gap": "md",
2809
2807
  "align": "center",
2808
+ "className": "py-12",
2810
2809
  "children": [
2811
2810
  {
2812
2811
  "type": "spinner"
2813
2812
  },
2814
2813
  {
2815
- "variant": "caption",
2816
- "type": "typography",
2814
+ "content": "Loading missions…",
2817
2815
  "color": "muted",
2818
- "content": "Loading missions…"
2816
+ "variant": "caption",
2817
+ "type": "typography"
2819
2818
  }
2820
2819
  ],
2821
- "type": "stack",
2822
- "direction": "vertical"
2820
+ "direction": "vertical",
2821
+ "gap": "md",
2822
+ "type": "stack"
2823
2823
  }
2824
2824
  ]
2825
2825
  ]
@@ -2833,40 +2833,43 @@
2833
2833
  "render-ui",
2834
2834
  "main",
2835
2835
  {
2836
- "appName": "RPG Game",
2836
+ "type": "game-shell",
2837
+ "showTopBar": true,
2837
2838
  "children": [
2838
2839
  {
2840
+ "gap": "lg",
2839
2841
  "direction": "vertical",
2840
2842
  "type": "stack",
2841
2843
  "children": [
2842
2844
  {
2845
+ "justify": "between",
2843
2846
  "gap": "md",
2847
+ "direction": "horizontal",
2844
2848
  "children": [
2845
2849
  {
2846
- "gap": "md",
2847
- "direction": "horizontal",
2848
2850
  "type": "stack",
2851
+ "direction": "horizontal",
2852
+ "gap": "md",
2849
2853
  "children": [
2850
2854
  {
2851
2855
  "name": "flag",
2852
2856
  "type": "icon"
2853
2857
  },
2854
2858
  {
2855
- "type": "typography",
2859
+ "content": "Missions Board",
2856
2860
  "variant": "h2",
2857
- "content": "Missions Board"
2861
+ "type": "typography"
2858
2862
  }
2859
2863
  ]
2860
2864
  }
2861
2865
  ],
2862
- "justify": "between",
2863
- "direction": "horizontal",
2864
2866
  "type": "stack"
2865
2867
  },
2866
2868
  {
2867
2869
  "type": "divider"
2868
2870
  },
2869
2871
  {
2872
+ "entity": "@payload.data",
2870
2873
  "itemActions": [
2871
2874
  {
2872
2875
  "label": "Accept",
@@ -2877,58 +2880,55 @@
2877
2880
  "fn",
2878
2881
  "item",
2879
2882
  {
2880
- "gap": "sm",
2883
+ "type": "stack",
2881
2884
  "children": [
2882
2885
  {
2883
- "direction": "horizontal",
2884
- "align": "center",
2885
2886
  "children": [
2886
2887
  {
2887
- "type": "stack",
2888
2888
  "direction": "horizontal",
2889
+ "type": "stack",
2890
+ "gap": "sm",
2889
2891
  "children": [
2890
2892
  {
2891
- "name": "flag",
2892
- "type": "icon"
2893
+ "type": "icon",
2894
+ "name": "flag"
2893
2895
  },
2894
2896
  {
2897
+ "variant": "h4",
2895
2898
  "content": "@item.title",
2896
- "type": "typography",
2897
- "variant": "h4"
2899
+ "type": "typography"
2898
2900
  }
2899
2901
  ],
2900
- "align": "center",
2901
- "gap": "sm"
2902
+ "align": "center"
2902
2903
  },
2903
2904
  {
2904
2905
  "label": "@item.description",
2905
2906
  "type": "badge"
2906
2907
  }
2907
2908
  ],
2908
- "type": "stack",
2909
- "justify": "between"
2909
+ "justify": "between",
2910
+ "direction": "horizontal",
2911
+ "align": "center",
2912
+ "type": "stack"
2910
2913
  },
2911
2914
  {
2912
- "variant": "caption",
2913
2915
  "type": "typography",
2916
+ "variant": "caption",
2914
2917
  "content": "@item.status"
2915
2918
  }
2916
2919
  ],
2917
- "type": "stack",
2918
- "direction": "vertical"
2920
+ "direction": "vertical",
2921
+ "gap": "sm"
2919
2922
  }
2920
2923
  ],
2921
2924
  "type": "data-list",
2922
- "fields": [],
2923
2925
  "groupBy": "status",
2924
- "entity": "@payload.data"
2926
+ "fields": []
2925
2927
  }
2926
- ],
2927
- "gap": "lg"
2928
+ ]
2928
2929
  }
2929
2930
  ],
2930
- "type": "game-shell",
2931
- "showTopBar": true
2931
+ "appName": "RPG Game"
2932
2932
  }
2933
2933
  ]
2934
2934
  ]
@@ -2943,13 +2943,13 @@
2943
2943
  "main",
2944
2944
  {
2945
2945
  "type": "stack",
2946
- "className": "py-12",
2946
+ "gap": "md",
2947
2947
  "align": "center",
2948
2948
  "children": [
2949
2949
  {
2950
- "name": "alert-triangle",
2951
2950
  "color": "destructive",
2952
- "type": "icon"
2951
+ "type": "icon",
2952
+ "name": "alert-triangle"
2953
2953
  },
2954
2954
  {
2955
2955
  "variant": "h3",
@@ -2957,20 +2957,20 @@
2957
2957
  "type": "typography"
2958
2958
  },
2959
2959
  {
2960
- "color": "muted",
2961
2960
  "variant": "body",
2961
+ "color": "muted",
2962
2962
  "type": "typography",
2963
2963
  "content": "@payload.error"
2964
2964
  },
2965
2965
  {
2966
2966
  "icon": "rotate-ccw",
2967
- "action": "INIT",
2967
+ "variant": "primary",
2968
2968
  "label": "Retry",
2969
- "type": "button",
2970
- "variant": "primary"
2969
+ "action": "INIT",
2970
+ "type": "button"
2971
2971
  }
2972
2972
  ],
2973
- "gap": "md",
2973
+ "className": "py-12",
2974
2974
  "direction": "vertical"
2975
2975
  }
2976
2976
  ]
@@ -2985,54 +2985,54 @@
2985
2985
  "render-ui",
2986
2986
  "main",
2987
2987
  {
2988
- "appName": "RPG Game",
2989
2988
  "showTopBar": true,
2990
2989
  "type": "game-shell",
2991
2990
  "children": [
2992
2991
  {
2993
- "gap": "lg",
2994
2992
  "children": [
2995
2993
  {
2994
+ "variant": "h2",
2996
2995
  "content": "Quest Active",
2997
- "type": "typography",
2998
- "variant": "h2"
2996
+ "type": "typography"
2999
2997
  },
3000
2998
  {
3001
- "showPercentage": true,
3002
2999
  "type": "progress-bar",
3003
- "value": 50.0
3000
+ "value": 50.0,
3001
+ "showPercentage": true
3004
3002
  },
3005
3003
  {
3006
- "type": "stack",
3007
3004
  "gap": "sm",
3008
- "direction": "horizontal",
3009
3005
  "children": [
3010
3006
  {
3011
- "variant": "primary",
3012
- "action": "PROGRESS",
3007
+ "label": "Progress",
3013
3008
  "type": "button",
3014
- "label": "Progress"
3009
+ "variant": "primary",
3010
+ "action": "PROGRESS"
3015
3011
  },
3016
3012
  {
3017
- "label": "Complete",
3018
3013
  "variant": "success",
3019
- "type": "button",
3020
- "action": "COMPLETE"
3014
+ "label": "Complete",
3015
+ "action": "COMPLETE",
3016
+ "type": "button"
3021
3017
  },
3022
3018
  {
3023
- "label": "Fail",
3024
- "action": "FAIL",
3025
3019
  "type": "button",
3026
- "variant": "danger"
3020
+ "variant": "danger",
3021
+ "action": "FAIL",
3022
+ "label": "Fail"
3027
3023
  }
3028
- ]
3024
+ ],
3025
+ "direction": "horizontal",
3026
+ "type": "stack"
3029
3027
  }
3030
3028
  ],
3031
3029
  "type": "stack",
3032
3030
  "direction": "vertical",
3031
+ "gap": "lg",
3033
3032
  "align": "center"
3034
3033
  }
3035
- ]
3034
+ ],
3035
+ "appName": "RPG Game"
3036
3036
  }
3037
3037
  ]
3038
3038
  ]
@@ -3046,43 +3046,43 @@
3046
3046
  "render-ui",
3047
3047
  "modal",
3048
3048
  {
3049
+ "direction": "vertical",
3050
+ "gap": "md",
3049
3051
  "children": [
3050
3052
  {
3051
3053
  "gap": "sm",
3054
+ "type": "stack",
3052
3055
  "direction": "horizontal",
3053
3056
  "children": [
3054
3057
  {
3055
- "name": "trending-up",
3056
- "type": "icon"
3058
+ "type": "icon",
3059
+ "name": "trending-up"
3057
3060
  },
3058
3061
  {
3059
3062
  "variant": "h3",
3060
3063
  "type": "typography",
3061
3064
  "content": "Update Progress"
3062
3065
  }
3063
- ],
3064
- "type": "stack"
3066
+ ]
3065
3067
  },
3066
3068
  {
3067
3069
  "type": "divider"
3068
3070
  },
3069
3071
  {
3070
- "entity": "@entity",
3071
3072
  "mode": "edit",
3072
- "type": "form-section",
3073
+ "cancelEvent": "CANCEL",
3073
3074
  "submitEvent": "SAVE",
3075
+ "type": "form-section",
3074
3076
  "fields": [
3075
3077
  "title",
3076
3078
  "description",
3077
3079
  "status",
3078
3080
  "reward"
3079
3081
  ],
3080
- "cancelEvent": "CANCEL"
3082
+ "entity": "@entity"
3081
3083
  }
3082
3084
  ],
3083
- "type": "stack",
3084
- "direction": "vertical",
3085
- "gap": "md"
3085
+ "type": "stack"
3086
3086
  }
3087
3087
  ]
3088
3088
  ]
@@ -3096,14 +3096,14 @@
3096
3096
  "render-ui",
3097
3097
  "main",
3098
3098
  {
3099
- "showTopBar": true,
3100
3099
  "type": "game-shell",
3100
+ "showTopBar": true,
3101
3101
  "appName": "RPG Game",
3102
3102
  "children": [
3103
3103
  {
3104
- "type": "stack",
3105
- "gap": "lg",
3106
3104
  "direction": "vertical",
3105
+ "gap": "lg",
3106
+ "type": "stack",
3107
3107
  "children": [
3108
3108
  {
3109
3109
  "type": "icon",
@@ -3115,16 +3115,16 @@
3115
3115
  "content": "Quest Complete"
3116
3116
  },
3117
3117
  {
3118
+ "message": "Congratulations! The quest has been completed.",
3118
3119
  "type": "alert",
3119
- "variant": "success",
3120
- "message": "Congratulations! The quest has been completed."
3120
+ "variant": "success"
3121
3121
  },
3122
3122
  {
3123
- "label": "View Quests",
3124
3123
  "type": "button",
3125
3124
  "variant": "primary",
3126
3125
  "icon": "arrow-left",
3127
- "action": "RESET"
3126
+ "action": "RESET",
3127
+ "label": "View Quests"
3128
3128
  }
3129
3129
  ],
3130
3130
  "align": "center"
@@ -3143,40 +3143,40 @@
3143
3143
  "render-ui",
3144
3144
  "main",
3145
3145
  {
3146
- "showTopBar": true,
3147
- "type": "game-shell",
3148
3146
  "children": [
3149
3147
  {
3150
- "type": "stack",
3148
+ "align": "center",
3149
+ "direction": "vertical",
3151
3150
  "children": [
3152
3151
  {
3153
3152
  "type": "icon",
3154
3153
  "name": "x-circle"
3155
3154
  },
3156
3155
  {
3157
- "variant": "h2",
3156
+ "type": "typography",
3158
3157
  "content": "Quest Failed",
3159
- "type": "typography"
3158
+ "variant": "h2"
3160
3159
  },
3161
3160
  {
3161
+ "variant": "error",
3162
3162
  "type": "alert",
3163
- "message": "The quest was not completed. You can try again.",
3164
- "variant": "error"
3163
+ "message": "The quest was not completed. You can try again."
3165
3164
  },
3166
3165
  {
3167
- "icon": "arrow-left",
3168
- "variant": "primary",
3166
+ "action": "RESET",
3169
3167
  "type": "button",
3170
- "label": "View Quests",
3171
- "action": "RESET"
3168
+ "variant": "primary",
3169
+ "icon": "arrow-left",
3170
+ "label": "View Quests"
3172
3171
  }
3173
3172
  ],
3174
- "align": "center",
3175
- "direction": "vertical",
3173
+ "type": "stack",
3176
3174
  "gap": "lg"
3177
3175
  }
3178
3176
  ],
3179
- "appName": "RPG Game"
3177
+ "appName": "RPG Game",
3178
+ "type": "game-shell",
3179
+ "showTopBar": true
3180
3180
  }
3181
3181
  ]
3182
3182
  ]
@@ -3193,8 +3193,8 @@
3193
3193
  "@payload.data",
3194
3194
  {
3195
3195
  "emit": {
3196
- "success": "MissionUpdated",
3197
- "failure": "MissionUpdateFailed"
3196
+ "failure": "MissionUpdateFailed",
3197
+ "success": "MissionUpdated"
3198
3198
  }
3199
3199
  }
3200
3200
  ],
@@ -3237,8 +3237,8 @@
3237
3237
  "Mission",
3238
3238
  {
3239
3239
  "emit": {
3240
- "success": "MissionLoaded",
3241
- "failure": "MissionLoadFailed"
3240
+ "failure": "MissionLoadFailed",
3241
+ "success": "MissionLoaded"
3242
3242
  }
3243
3243
  }
3244
3244
  ],
@@ -3290,8 +3290,8 @@
3290
3290
  "Mission",
3291
3291
  {
3292
3292
  "emit": {
3293
- "failure": "MissionLoadFailed",
3294
- "success": "MissionLoaded"
3293
+ "success": "MissionLoaded",
3294
+ "failure": "MissionLoadFailed"
3295
3295
  }
3296
3296
  }
3297
3297
  ],
@@ -3346,4 +3346,4 @@
3346
3346
  ]
3347
3347
  }
3348
3348
  ]
3349
- }
3349
+ }