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