@almadar/std 8.3.0 → 8.4.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 +62 -62
  2. package/behaviors/registry/agent/atoms/std-agent-chat-thread.orb +101 -101
  3. package/behaviors/registry/agent/atoms/std-agent-classifier.orb +100 -100
  4. package/behaviors/registry/agent/atoms/std-agent-completion.orb +103 -103
  5. package/behaviors/registry/agent/atoms/std-agent-context-window.orb +386 -386
  6. package/behaviors/registry/agent/atoms/std-agent-conversation.orb +94 -94
  7. package/behaviors/registry/agent/atoms/std-agent-memory.orb +66 -66
  8. package/behaviors/registry/agent/atoms/std-agent-provider.orb +114 -114
  9. package/behaviors/registry/agent/atoms/std-agent-search.orb +61 -61
  10. package/behaviors/registry/agent/atoms/std-agent-session.orb +109 -109
  11. package/behaviors/registry/agent/atoms/std-agent-step-progress.orb +196 -196
  12. package/behaviors/registry/agent/atoms/std-agent-token-gauge.orb +347 -347
  13. package/behaviors/registry/agent/atoms/std-agent-tool-call.orb +61 -60
  14. package/behaviors/registry/agent/molecules/std-agent-fix-loop.orb +187 -187
  15. package/behaviors/registry/agent/molecules/std-agent-learner.orb +180 -180
  16. package/behaviors/registry/agent/molecules/std-agent-planner.orb +108 -108
  17. package/behaviors/registry/agent/molecules/std-agent-rag.orb +107 -107
  18. package/behaviors/registry/agent/molecules/std-agent-tool-loop.orb +184 -184
  19. package/behaviors/registry/agent/organisms/std-agent-assistant.orb +1130 -1130
  20. package/behaviors/registry/agent/organisms/std-agent-builder.orb +2998 -2998
  21. package/behaviors/registry/agent/organisms/std-agent-pipeline.orb +2135 -2135
  22. package/behaviors/registry/agent/organisms/std-agent-reviewer.orb +1033 -1033
  23. package/behaviors/registry/agent/organisms/std-agent-tutor.orb +784 -784
  24. package/behaviors/registry/app/organisms/std-api-gateway.orb +798 -798
  25. package/behaviors/registry/app/organisms/std-booking-system.orb +1139 -1139
  26. package/behaviors/registry/app/organisms/std-cicd-pipeline.orb +776 -776
  27. package/behaviors/registry/app/organisms/std-cms.orb +469 -469
  28. package/behaviors/registry/app/organisms/std-coding-academy.orb +338 -338
  29. package/behaviors/registry/app/organisms/std-crm.orb +832 -832
  30. package/behaviors/registry/app/organisms/std-devops-dashboard.orb +1350 -1350
  31. package/behaviors/registry/app/organisms/std-ecommerce.orb +975 -975
  32. package/behaviors/registry/app/organisms/std-finance-tracker.orb +573 -573
  33. package/behaviors/registry/app/organisms/std-healthcare.orb +1370 -1370
  34. package/behaviors/registry/app/organisms/std-helpdesk.orb +617 -617
  35. package/behaviors/registry/app/organisms/std-hr-portal.orb +1177 -1177
  36. package/behaviors/registry/app/organisms/std-iot-dashboard.orb +871 -871
  37. package/behaviors/registry/app/organisms/std-lms.orb +839 -839
  38. package/behaviors/registry/app/organisms/std-project-manager.orb +667 -667
  39. package/behaviors/registry/app/organisms/std-realtime-chat.orb +667 -667
  40. package/behaviors/registry/app/organisms/std-social-feed.orb +230 -230
  41. package/behaviors/registry/app/organisms/std-trading-dashboard.orb +682 -682
  42. package/behaviors/registry/core/atoms/std-browse.orb +53 -53
  43. package/behaviors/registry/core/atoms/std-cache-aside.orb +89 -89
  44. package/behaviors/registry/core/atoms/std-calendar.orb +57 -57
  45. package/behaviors/registry/core/atoms/std-circuit-breaker.orb +196 -196
  46. package/behaviors/registry/core/atoms/std-confirmation.orb +19 -19
  47. package/behaviors/registry/core/atoms/std-display.orb +383 -383
  48. package/behaviors/registry/core/atoms/std-drawer.orb +56 -56
  49. package/behaviors/registry/core/atoms/std-filter.orb +42 -42
  50. package/behaviors/registry/core/atoms/std-gallery.orb +54 -54
  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 +42 -42
  54. package/behaviors/registry/core/atoms/std-rate-limiter.orb +179 -179
  55. package/behaviors/registry/core/atoms/std-related.orb +34 -34
  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 +52 -52
  59. package/behaviors/registry/core/molecules/std-cart.orb +45 -45
  60. package/behaviors/registry/core/molecules/std-filtered-list.orb +7 -7
  61. package/behaviors/registry/core/molecules/std-form-advanced.orb +127 -127
  62. package/behaviors/registry/core/molecules/std-list.orb +46 -46
  63. package/behaviors/registry/core/molecules/std-wizard-form.orb +147 -147
  64. package/behaviors/registry/game/atoms/std-collision.orb +121 -121
  65. package/behaviors/registry/game/atoms/std-combat.orb +68 -68
  66. package/behaviors/registry/game/atoms/std-dialogue-box.orb +25 -25
  67. package/behaviors/registry/game/atoms/std-game-canvas2d.orb +48 -48
  68. package/behaviors/registry/game/atoms/std-gameflow.orb +37 -37
  69. package/behaviors/registry/game/atoms/std-movement.orb +306 -306
  70. package/behaviors/registry/game/atoms/std-overworld.orb +68 -68
  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 +274 -274
  74. package/behaviors/registry/game/organisms/std-arcade-game.orb +145 -145
  75. package/behaviors/registry/game/organisms/std-logic-training.orb +67 -67
  76. package/behaviors/registry/game/organisms/std-platformer-app.orb +218 -218
  77. package/behaviors/registry/game/organisms/std-puzzle-app.orb +90 -90
  78. package/behaviors/registry/game/organisms/std-rpg-game.orb +372 -372
  79. package/behaviors/registry/game/organisms/std-stem-lab.orb +345 -345
  80. package/behaviors/registry/game/organisms/std-strategy-game.orb +540 -540
  81. package/behaviors/registry/probes/molecules/std-source-scope-probe.orb +14 -14
  82. package/behaviors/registry/service/atoms/std-service-custom-bearer.orb +86 -86
  83. package/behaviors/registry/service/atoms/std-service-email.orb +72 -72
  84. package/behaviors/registry/service/atoms/std-service-github.orb +98 -98
  85. package/behaviors/registry/service/atoms/std-service-llm.orb +118 -118
  86. package/behaviors/registry/service/atoms/std-service-oauth.orb +118 -118
  87. package/behaviors/registry/service/atoms/std-service-redis.orb +103 -103
  88. package/behaviors/registry/service/atoms/std-service-storage.orb +105 -105
  89. package/behaviors/registry/service/atoms/std-service-stripe.orb +95 -95
  90. package/behaviors/registry/service/atoms/std-service-twilio.orb +107 -107
  91. package/behaviors/registry/service/atoms/std-service-youtube.orb +104 -104
  92. package/behaviors/registry/service/organisms/std-service-marketplace.orb +966 -966
  93. package/behaviors/registry/service/organisms/std-service-research-assistant.orb +905 -905
  94. package/dist/behaviors/registry/agent/atoms/std-agent-activity-log.orb +62 -62
  95. package/dist/behaviors/registry/agent/atoms/std-agent-chat-thread.orb +101 -101
  96. package/dist/behaviors/registry/agent/atoms/std-agent-classifier.orb +100 -100
  97. package/dist/behaviors/registry/agent/atoms/std-agent-completion.orb +103 -103
  98. package/dist/behaviors/registry/agent/atoms/std-agent-context-window.orb +386 -386
  99. package/dist/behaviors/registry/agent/atoms/std-agent-conversation.orb +94 -94
  100. package/dist/behaviors/registry/agent/atoms/std-agent-memory.orb +66 -66
  101. package/dist/behaviors/registry/agent/atoms/std-agent-provider.orb +114 -114
  102. package/dist/behaviors/registry/agent/atoms/std-agent-search.orb +61 -61
  103. package/dist/behaviors/registry/agent/atoms/std-agent-session.orb +109 -109
  104. package/dist/behaviors/registry/agent/atoms/std-agent-step-progress.orb +196 -196
  105. package/dist/behaviors/registry/agent/atoms/std-agent-token-gauge.orb +347 -347
  106. package/dist/behaviors/registry/agent/atoms/std-agent-tool-call.orb +61 -60
  107. package/dist/behaviors/registry/agent/molecules/std-agent-fix-loop.orb +187 -187
  108. package/dist/behaviors/registry/agent/molecules/std-agent-learner.orb +180 -180
  109. package/dist/behaviors/registry/agent/molecules/std-agent-planner.orb +108 -108
  110. package/dist/behaviors/registry/agent/molecules/std-agent-rag.orb +107 -107
  111. package/dist/behaviors/registry/agent/molecules/std-agent-tool-loop.orb +184 -184
  112. package/dist/behaviors/registry/agent/organisms/std-agent-assistant.orb +1130 -1130
  113. package/dist/behaviors/registry/agent/organisms/std-agent-builder.orb +2998 -2998
  114. package/dist/behaviors/registry/agent/organisms/std-agent-pipeline.orb +2135 -2135
  115. package/dist/behaviors/registry/agent/organisms/std-agent-reviewer.orb +1033 -1033
  116. package/dist/behaviors/registry/agent/organisms/std-agent-tutor.orb +784 -784
  117. package/dist/behaviors/registry/app/organisms/std-api-gateway.orb +798 -798
  118. package/dist/behaviors/registry/app/organisms/std-booking-system.orb +1139 -1139
  119. package/dist/behaviors/registry/app/organisms/std-cicd-pipeline.orb +776 -776
  120. package/dist/behaviors/registry/app/organisms/std-cms.orb +469 -469
  121. package/dist/behaviors/registry/app/organisms/std-coding-academy.orb +338 -338
  122. package/dist/behaviors/registry/app/organisms/std-crm.orb +832 -832
  123. package/dist/behaviors/registry/app/organisms/std-devops-dashboard.orb +1350 -1350
  124. package/dist/behaviors/registry/app/organisms/std-ecommerce.orb +975 -975
  125. package/dist/behaviors/registry/app/organisms/std-finance-tracker.orb +573 -573
  126. package/dist/behaviors/registry/app/organisms/std-healthcare.orb +1370 -1370
  127. package/dist/behaviors/registry/app/organisms/std-helpdesk.orb +617 -617
  128. package/dist/behaviors/registry/app/organisms/std-hr-portal.orb +1177 -1177
  129. package/dist/behaviors/registry/app/organisms/std-iot-dashboard.orb +871 -871
  130. package/dist/behaviors/registry/app/organisms/std-lms.orb +839 -839
  131. package/dist/behaviors/registry/app/organisms/std-project-manager.orb +667 -667
  132. package/dist/behaviors/registry/app/organisms/std-realtime-chat.orb +667 -667
  133. package/dist/behaviors/registry/app/organisms/std-social-feed.orb +230 -230
  134. package/dist/behaviors/registry/app/organisms/std-trading-dashboard.orb +682 -682
  135. package/dist/behaviors/registry/core/atoms/std-browse.orb +53 -53
  136. package/dist/behaviors/registry/core/atoms/std-cache-aside.orb +89 -89
  137. package/dist/behaviors/registry/core/atoms/std-calendar.orb +57 -57
  138. package/dist/behaviors/registry/core/atoms/std-circuit-breaker.orb +196 -196
  139. package/dist/behaviors/registry/core/atoms/std-confirmation.orb +19 -19
  140. package/dist/behaviors/registry/core/atoms/std-display.orb +383 -383
  141. package/dist/behaviors/registry/core/atoms/std-drawer.orb +56 -56
  142. package/dist/behaviors/registry/core/atoms/std-filter.orb +42 -42
  143. package/dist/behaviors/registry/core/atoms/std-gallery.orb +54 -54
  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 +42 -42
  147. package/dist/behaviors/registry/core/atoms/std-rate-limiter.orb +179 -179
  148. package/dist/behaviors/registry/core/atoms/std-related.orb +34 -34
  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 +52 -52
  152. package/dist/behaviors/registry/core/molecules/std-cart.orb +45 -45
  153. package/dist/behaviors/registry/core/molecules/std-filtered-list.orb +7 -7
  154. package/dist/behaviors/registry/core/molecules/std-form-advanced.orb +127 -127
  155. package/dist/behaviors/registry/core/molecules/std-list.orb +46 -46
  156. package/dist/behaviors/registry/core/molecules/std-wizard-form.orb +147 -147
  157. package/dist/behaviors/registry/game/atoms/std-collision.orb +121 -121
  158. package/dist/behaviors/registry/game/atoms/std-combat.orb +68 -68
  159. package/dist/behaviors/registry/game/atoms/std-dialogue-box.orb +25 -25
  160. package/dist/behaviors/registry/game/atoms/std-game-canvas2d.orb +48 -48
  161. package/dist/behaviors/registry/game/atoms/std-gameflow.orb +37 -37
  162. package/dist/behaviors/registry/game/atoms/std-movement.orb +306 -306
  163. package/dist/behaviors/registry/game/atoms/std-overworld.orb +68 -68
  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 +274 -274
  167. package/dist/behaviors/registry/game/organisms/std-arcade-game.orb +145 -145
  168. package/dist/behaviors/registry/game/organisms/std-logic-training.orb +67 -67
  169. package/dist/behaviors/registry/game/organisms/std-platformer-app.orb +218 -218
  170. package/dist/behaviors/registry/game/organisms/std-puzzle-app.orb +90 -90
  171. package/dist/behaviors/registry/game/organisms/std-rpg-game.orb +372 -372
  172. package/dist/behaviors/registry/game/organisms/std-stem-lab.orb +345 -345
  173. package/dist/behaviors/registry/game/organisms/std-strategy-game.orb +540 -540
  174. package/dist/behaviors/registry/probes/molecules/std-source-scope-probe.orb +14 -14
  175. package/dist/behaviors/registry/service/atoms/std-service-custom-bearer.orb +86 -86
  176. package/dist/behaviors/registry/service/atoms/std-service-email.orb +72 -72
  177. package/dist/behaviors/registry/service/atoms/std-service-github.orb +98 -98
  178. package/dist/behaviors/registry/service/atoms/std-service-llm.orb +118 -118
  179. package/dist/behaviors/registry/service/atoms/std-service-oauth.orb +118 -118
  180. package/dist/behaviors/registry/service/atoms/std-service-redis.orb +103 -103
  181. package/dist/behaviors/registry/service/atoms/std-service-storage.orb +105 -105
  182. package/dist/behaviors/registry/service/atoms/std-service-stripe.orb +95 -95
  183. package/dist/behaviors/registry/service/atoms/std-service-twilio.orb +107 -107
  184. package/dist/behaviors/registry/service/atoms/std-service-youtube.orb +104 -104
  185. package/dist/behaviors/registry/service/organisms/std-service-marketplace.orb +966 -966
  186. package/dist/behaviors/registry/service/organisms/std-service-research-assistant.orb +905 -905
  187. package/package.json +1 -1
@@ -337,11 +337,29 @@
337
337
  "main",
338
338
  {
339
339
  "type": "dashboard-layout",
340
+ "navItems": [
341
+ {
342
+ "icon": "layout-list",
343
+ "label": "Portfolio",
344
+ "href": "/portfolio"
345
+ },
346
+ {
347
+ "href": "/orders",
348
+ "icon": "clipboard-list",
349
+ "label": "Orders"
350
+ },
351
+ {
352
+ "icon": "layout-list",
353
+ "label": "Market",
354
+ "href": "/market"
355
+ }
356
+ ],
357
+ "appName": "Trading Dashboard",
340
358
  "children": [
341
359
  {
360
+ "type": "scaled-diagram",
342
361
  "children": [
343
362
  {
344
- "direction": "vertical",
345
363
  "children": [
346
364
  {
347
365
  "type": "breadcrumb",
@@ -357,9 +375,10 @@
357
375
  },
358
376
  {
359
377
  "type": "stack",
360
- "gap": "md",
361
378
  "children": [
362
379
  {
380
+ "type": "stack",
381
+ "direction": "horizontal",
363
382
  "children": [
364
383
  {
365
384
  "type": "icon",
@@ -371,20 +390,19 @@
371
390
  "variant": "h2"
372
391
  }
373
392
  ],
374
- "direction": "horizontal",
375
- "type": "stack",
376
393
  "gap": "md"
377
394
  },
378
395
  {
379
- "label": "Refresh",
380
- "action": "REFRESH",
381
396
  "variant": "secondary",
397
+ "label": "Refresh",
382
398
  "type": "button",
383
- "icon": "refresh-cw"
399
+ "icon": "refresh-cw",
400
+ "action": "REFRESH"
384
401
  }
385
402
  ],
386
403
  "direction": "horizontal",
387
- "justify": "between"
404
+ "justify": "between",
405
+ "gap": "md"
388
406
  },
389
407
  {
390
408
  "type": "divider"
@@ -392,11 +410,13 @@
392
410
  {
393
411
  "children": [
394
412
  {
413
+ "type": "simple-grid",
414
+ "cols": 3.0,
395
415
  "children": [
396
416
  {
417
+ "value": "@entity.totalValue",
397
418
  "type": "stat-display",
398
- "label": "TotalValue",
399
- "value": "@entity.totalValue"
419
+ "label": "TotalValue"
400
420
  },
401
421
  {
402
422
  "type": "stat-display",
@@ -405,83 +425,80 @@
405
425
  },
406
426
  {
407
427
  "label": "Positions",
408
- "value": "@entity.positions",
409
- "type": "stat-display"
428
+ "type": "stat-display",
429
+ "value": "@entity.positions"
410
430
  },
411
431
  {
412
- "label": "CashBalance",
413
432
  "type": "stat-display",
433
+ "label": "CashBalance",
414
434
  "value": "@entity.cashBalance"
415
435
  }
416
- ],
417
- "type": "simple-grid",
418
- "cols": 3.0
436
+ ]
419
437
  }
420
438
  ],
421
- "type": "box",
422
- "padding": "md"
439
+ "padding": "md",
440
+ "type": "box"
423
441
  },
424
442
  {
425
443
  "type": "divider"
426
444
  },
427
445
  {
428
446
  "type": "grid",
447
+ "gap": "md",
448
+ "cols": 2.0,
429
449
  "children": [
430
450
  {
431
- "type": "card",
432
451
  "children": [
433
452
  {
434
- "content": "Chart View",
435
453
  "variant": "caption",
436
- "type": "typography"
454
+ "type": "typography",
455
+ "content": "Chart View"
437
456
  }
438
- ]
457
+ ],
458
+ "type": "card"
439
459
  },
440
460
  {
441
461
  "type": "card",
442
462
  "children": [
443
463
  {
444
464
  "content": "Graph View",
445
- "variant": "caption",
446
- "type": "typography"
465
+ "type": "typography",
466
+ "variant": "caption"
447
467
  }
448
468
  ]
449
469
  }
450
- ],
451
- "gap": "md",
452
- "cols": 2.0
470
+ ]
453
471
  },
454
472
  {
473
+ "type": "line-chart",
455
474
  "data": [
456
475
  {
457
- "value": 12.0,
458
- "date": "Jan"
476
+ "date": "Jan",
477
+ "value": 12.0
459
478
  },
460
479
  {
461
- "date": "Feb",
462
- "value": 19.0
480
+ "value": 19.0,
481
+ "date": "Feb"
463
482
  },
464
483
  {
465
- "value": 15.0,
466
- "date": "Mar"
484
+ "date": "Mar",
485
+ "value": 15.0
467
486
  },
468
487
  {
469
488
  "date": "Apr",
470
489
  "value": 25.0
471
490
  },
472
491
  {
473
- "value": 22.0,
474
- "date": "May"
492
+ "date": "May",
493
+ "value": 22.0
475
494
  },
476
495
  {
477
496
  "value": 30.0,
478
497
  "date": "Jun"
479
498
  }
480
- ],
481
- "type": "line-chart"
499
+ ]
482
500
  },
483
501
  {
484
- "type": "chart-legend",
485
502
  "items": [
486
503
  {
487
504
  "label": "Current",
@@ -491,11 +508,23 @@
491
508
  "label": "Previous",
492
509
  "color": "muted"
493
510
  }
494
- ]
511
+ ],
512
+ "type": "chart-legend"
495
513
  },
496
514
  {
497
- "type": "graph-view",
515
+ "edges": [
516
+ {
517
+ "target": "b",
518
+ "source": "a"
519
+ },
520
+ {
521
+ "source": "b",
522
+ "target": "c"
523
+ }
524
+ ],
498
525
  "width": 400.0,
526
+ "height": 200.0,
527
+ "type": "graph-view",
499
528
  "nodes": [
500
529
  {
501
530
  "label": "Start",
@@ -506,46 +535,17 @@
506
535
  "label": "Process"
507
536
  },
508
537
  {
509
- "id": "c",
510
- "label": "End"
511
- }
512
- ],
513
- "edges": [
514
- {
515
- "target": "b",
516
- "source": "a"
517
- },
518
- {
519
- "source": "b",
520
- "target": "c"
538
+ "label": "End",
539
+ "id": "c"
521
540
  }
522
- ],
523
- "height": 200.0
541
+ ]
524
542
  }
525
543
  ],
544
+ "direction": "vertical",
526
545
  "type": "stack",
527
546
  "gap": "lg"
528
547
  }
529
- ],
530
- "type": "scaled-diagram"
531
- }
532
- ],
533
- "appName": "Trading Dashboard",
534
- "navItems": [
535
- {
536
- "href": "/portfolio",
537
- "icon": "layout-list",
538
- "label": "Portfolio"
539
- },
540
- {
541
- "href": "/orders",
542
- "icon": "clipboard-list",
543
- "label": "Orders"
544
- },
545
- {
546
- "label": "Market",
547
- "icon": "layout-list",
548
- "href": "/market"
548
+ ]
549
549
  }
550
550
  ]
551
551
  }
@@ -562,8 +562,8 @@
562
562
  "Portfolio",
563
563
  {
564
564
  "emit": {
565
- "success": "PortfolioLoaded",
566
- "failure": "PortfolioLoadFailed"
565
+ "failure": "PortfolioLoadFailed",
566
+ "success": "PortfolioLoaded"
567
567
  }
568
568
  }
569
569
  ],
@@ -571,13 +571,11 @@
571
571
  "render-ui",
572
572
  "main",
573
573
  {
574
- "appName": "Trading Dashboard",
575
- "type": "dashboard-layout",
576
574
  "navItems": [
577
575
  {
578
- "icon": "layout-list",
579
576
  "label": "Portfolio",
580
- "href": "/portfolio"
577
+ "href": "/portfolio",
578
+ "icon": "layout-list"
581
579
  },
582
580
  {
583
581
  "label": "Orders",
@@ -585,13 +583,15 @@
585
583
  "icon": "clipboard-list"
586
584
  },
587
585
  {
588
- "icon": "layout-list",
589
586
  "label": "Market",
590
- "href": "/market"
587
+ "href": "/market",
588
+ "icon": "layout-list"
591
589
  }
592
590
  ],
591
+ "appName": "Trading Dashboard",
593
592
  "children": [
594
593
  {
594
+ "type": "scaled-diagram",
595
595
  "children": [
596
596
  {
597
597
  "direction": "vertical",
@@ -600,8 +600,8 @@
600
600
  "type": "breadcrumb",
601
601
  "items": [
602
602
  {
603
- "href": "/",
604
- "label": "Home"
603
+ "label": "Home",
604
+ "href": "/"
605
605
  },
606
606
  {
607
607
  "label": "Portfolio"
@@ -610,34 +610,34 @@
610
610
  },
611
611
  {
612
612
  "type": "stack",
613
+ "direction": "horizontal",
614
+ "gap": "md",
615
+ "justify": "between",
613
616
  "children": [
614
617
  {
615
- "direction": "horizontal",
618
+ "gap": "md",
619
+ "type": "stack",
616
620
  "children": [
617
621
  {
618
- "type": "icon",
619
- "name": "trending-up"
622
+ "name": "trending-up",
623
+ "type": "icon"
620
624
  },
621
625
  {
622
626
  "content": "Portfolio",
623
- "variant": "h2",
624
- "type": "typography"
627
+ "type": "typography",
628
+ "variant": "h2"
625
629
  }
626
630
  ],
627
- "type": "stack",
628
- "gap": "md"
631
+ "direction": "horizontal"
629
632
  },
630
633
  {
631
- "action": "REFRESH",
632
634
  "label": "Refresh",
633
- "variant": "secondary",
635
+ "action": "REFRESH",
634
636
  "type": "button",
637
+ "variant": "secondary",
635
638
  "icon": "refresh-cw"
636
639
  }
637
- ],
638
- "direction": "horizontal",
639
- "gap": "md",
640
- "justify": "between"
640
+ ]
641
641
  },
642
642
  {
643
643
  "type": "divider"
@@ -647,7 +647,6 @@
647
647
  "padding": "md",
648
648
  "children": [
649
649
  {
650
- "type": "simple-grid",
651
650
  "cols": 3.0,
652
651
  "children": [
653
652
  {
@@ -656,21 +655,22 @@
656
655
  "type": "stat-display"
657
656
  },
658
657
  {
659
- "value": "@entity.dailyChange",
658
+ "type": "stat-display",
660
659
  "label": "DailyChange",
661
- "type": "stat-display"
660
+ "value": "@entity.dailyChange"
662
661
  },
663
662
  {
664
- "type": "stat-display",
665
663
  "label": "Positions",
666
- "value": "@entity.positions"
664
+ "value": "@entity.positions",
665
+ "type": "stat-display"
667
666
  },
668
667
  {
668
+ "type": "stat-display",
669
669
  "value": "@entity.cashBalance",
670
- "label": "CashBalance",
671
- "type": "stat-display"
670
+ "label": "CashBalance"
672
671
  }
673
- ]
672
+ ],
673
+ "type": "simple-grid"
674
674
  }
675
675
  ]
676
676
  },
@@ -678,33 +678,34 @@
678
678
  "type": "divider"
679
679
  },
680
680
  {
681
- "type": "grid",
682
681
  "children": [
683
682
  {
683
+ "type": "card",
684
684
  "children": [
685
685
  {
686
- "variant": "caption",
687
686
  "content": "Chart View",
687
+ "variant": "caption",
688
688
  "type": "typography"
689
689
  }
690
- ],
691
- "type": "card"
690
+ ]
692
691
  },
693
692
  {
693
+ "type": "card",
694
694
  "children": [
695
695
  {
696
- "variant": "caption",
697
696
  "type": "typography",
698
- "content": "Graph View"
697
+ "content": "Graph View",
698
+ "variant": "caption"
699
699
  }
700
- ],
701
- "type": "card"
700
+ ]
702
701
  }
703
702
  ],
704
703
  "gap": "md",
704
+ "type": "grid",
705
705
  "cols": 2.0
706
706
  },
707
707
  {
708
+ "type": "line-chart",
708
709
  "data": [
709
710
  {
710
711
  "value": 12.0,
@@ -723,15 +724,14 @@
723
724
  "value": 25.0
724
725
  },
725
726
  {
726
- "date": "May",
727
- "value": 22.0
727
+ "value": 22.0,
728
+ "date": "May"
728
729
  },
729
730
  {
730
- "value": 30.0,
731
- "date": "Jun"
731
+ "date": "Jun",
732
+ "value": 30.0
732
733
  }
733
- ],
734
- "type": "line-chart"
734
+ ]
735
735
  },
736
736
  {
737
737
  "type": "chart-legend",
@@ -741,16 +741,17 @@
741
741
  "label": "Current"
742
742
  },
743
743
  {
744
- "label": "Previous",
745
- "color": "muted"
744
+ "color": "muted",
745
+ "label": "Previous"
746
746
  }
747
747
  ]
748
748
  },
749
749
  {
750
+ "type": "graph-view",
750
751
  "nodes": [
751
752
  {
752
- "id": "a",
753
- "label": "Start"
753
+ "label": "Start",
754
+ "id": "a"
754
755
  },
755
756
  {
756
757
  "label": "Process",
@@ -762,27 +763,26 @@
762
763
  }
763
764
  ],
764
765
  "height": 200.0,
766
+ "width": 400.0,
765
767
  "edges": [
766
768
  {
767
- "source": "a",
768
- "target": "b"
769
+ "target": "b",
770
+ "source": "a"
769
771
  },
770
772
  {
771
773
  "source": "b",
772
774
  "target": "c"
773
775
  }
774
- ],
775
- "width": 400.0,
776
- "type": "graph-view"
776
+ ]
777
777
  }
778
778
  ],
779
- "type": "stack",
780
- "gap": "lg"
779
+ "gap": "lg",
780
+ "type": "stack"
781
781
  }
782
- ],
783
- "type": "scaled-diagram"
782
+ ]
784
783
  }
785
- ]
784
+ ],
785
+ "type": "dashboard-layout"
786
786
  }
787
787
  ]
788
788
  ]
@@ -797,8 +797,8 @@
797
797
  "Portfolio",
798
798
  {
799
799
  "emit": {
800
- "success": "PortfolioLoaded",
801
- "failure": "PortfolioLoadFailed"
800
+ "failure": "PortfolioLoadFailed",
801
+ "success": "PortfolioLoaded"
802
802
  }
803
803
  }
804
804
  ],
@@ -806,30 +806,11 @@
806
806
  "render-ui",
807
807
  "main",
808
808
  {
809
- "appName": "Trading Dashboard",
810
- "navItems": [
811
- {
812
- "label": "Portfolio",
813
- "href": "/portfolio",
814
- "icon": "layout-list"
815
- },
816
- {
817
- "icon": "clipboard-list",
818
- "href": "/orders",
819
- "label": "Orders"
820
- },
821
- {
822
- "icon": "layout-list",
823
- "label": "Market",
824
- "href": "/market"
825
- }
826
- ],
827
809
  "children": [
828
810
  {
829
811
  "type": "scaled-diagram",
830
812
  "children": [
831
813
  {
832
- "direction": "vertical",
833
814
  "children": [
834
815
  {
835
816
  "items": [
@@ -844,14 +825,9 @@
844
825
  "type": "breadcrumb"
845
826
  },
846
827
  {
847
- "direction": "horizontal",
848
828
  "gap": "md",
849
- "justify": "between",
850
- "type": "stack",
851
829
  "children": [
852
830
  {
853
- "direction": "horizontal",
854
- "type": "stack",
855
831
  "children": [
856
832
  {
857
833
  "type": "icon",
@@ -863,22 +839,28 @@
863
839
  "variant": "h2"
864
840
  }
865
841
  ],
866
- "gap": "md"
842
+ "gap": "md",
843
+ "direction": "horizontal",
844
+ "type": "stack"
867
845
  },
868
846
  {
869
847
  "action": "REFRESH",
870
- "type": "button",
871
- "variant": "secondary",
872
848
  "icon": "refresh-cw",
873
- "label": "Refresh"
849
+ "label": "Refresh",
850
+ "variant": "secondary",
851
+ "type": "button"
874
852
  }
875
- ]
853
+ ],
854
+ "type": "stack",
855
+ "direction": "horizontal",
856
+ "justify": "between"
876
857
  },
877
858
  {
878
859
  "type": "divider"
879
860
  },
880
861
  {
881
862
  "padding": "md",
863
+ "type": "box",
882
864
  "children": [
883
865
  {
884
866
  "type": "simple-grid",
@@ -890,8 +872,8 @@
890
872
  "label": "TotalValue"
891
873
  },
892
874
  {
893
- "label": "DailyChange",
894
875
  "type": "stat-display",
876
+ "label": "DailyChange",
895
877
  "value": "@entity.dailyChange"
896
878
  },
897
879
  {
@@ -906,48 +888,48 @@
906
888
  }
907
889
  ]
908
890
  }
909
- ],
910
- "type": "box"
891
+ ]
911
892
  },
912
893
  {
913
894
  "type": "divider"
914
895
  },
915
896
  {
916
- "cols": 2.0,
917
- "type": "grid",
918
897
  "children": [
919
898
  {
920
- "type": "card",
921
899
  "children": [
922
900
  {
901
+ "type": "typography",
923
902
  "content": "Chart View",
924
- "variant": "caption",
925
- "type": "typography"
903
+ "variant": "caption"
926
904
  }
927
- ]
905
+ ],
906
+ "type": "card"
928
907
  },
929
908
  {
930
909
  "children": [
931
910
  {
932
- "content": "Graph View",
933
911
  "type": "typography",
934
- "variant": "caption"
912
+ "variant": "caption",
913
+ "content": "Graph View"
935
914
  }
936
915
  ],
937
916
  "type": "card"
938
917
  }
939
918
  ],
940
- "gap": "md"
919
+ "type": "grid",
920
+ "gap": "md",
921
+ "cols": 2.0
941
922
  },
942
923
  {
924
+ "type": "line-chart",
943
925
  "data": [
944
926
  {
945
- "value": 12.0,
946
- "date": "Jan"
927
+ "date": "Jan",
928
+ "value": 12.0
947
929
  },
948
930
  {
949
- "value": 19.0,
950
- "date": "Feb"
931
+ "date": "Feb",
932
+ "value": 19.0
951
933
  },
952
934
  {
953
935
  "date": "Mar",
@@ -962,13 +944,13 @@
962
944
  "value": 22.0
963
945
  },
964
946
  {
965
- "value": 30.0,
966
- "date": "Jun"
947
+ "date": "Jun",
948
+ "value": 30.0
967
949
  }
968
- ],
969
- "type": "line-chart"
950
+ ]
970
951
  },
971
952
  {
953
+ "type": "chart-legend",
972
954
  "items": [
973
955
  {
974
956
  "color": "primary",
@@ -978,46 +960,64 @@
978
960
  "label": "Previous",
979
961
  "color": "muted"
980
962
  }
981
- ],
982
- "type": "chart-legend"
963
+ ]
983
964
  },
984
965
  {
985
- "height": 200.0,
986
- "edges": [
987
- {
988
- "source": "a",
989
- "target": "b"
990
- },
991
- {
992
- "source": "b",
993
- "target": "c"
994
- }
995
- ],
996
966
  "type": "graph-view",
967
+ "width": 400.0,
997
968
  "nodes": [
998
969
  {
999
970
  "label": "Start",
1000
971
  "id": "a"
1001
972
  },
1002
973
  {
1003
- "id": "b",
1004
- "label": "Process"
974
+ "label": "Process",
975
+ "id": "b"
1005
976
  },
1006
977
  {
1007
978
  "label": "End",
1008
979
  "id": "c"
1009
980
  }
1010
981
  ],
1011
- "width": 400.0
982
+ "edges": [
983
+ {
984
+ "source": "a",
985
+ "target": "b"
986
+ },
987
+ {
988
+ "target": "c",
989
+ "source": "b"
990
+ }
991
+ ],
992
+ "height": 200.0
1012
993
  }
1013
994
  ],
995
+ "type": "stack",
1014
996
  "gap": "lg",
1015
- "type": "stack"
997
+ "direction": "vertical"
1016
998
  }
1017
999
  ]
1018
1000
  }
1019
1001
  ],
1020
- "type": "dashboard-layout"
1002
+ "navItems": [
1003
+ {
1004
+ "label": "Portfolio",
1005
+ "icon": "layout-list",
1006
+ "href": "/portfolio"
1007
+ },
1008
+ {
1009
+ "icon": "clipboard-list",
1010
+ "href": "/orders",
1011
+ "label": "Orders"
1012
+ },
1013
+ {
1014
+ "icon": "layout-list",
1015
+ "href": "/market",
1016
+ "label": "Market"
1017
+ }
1018
+ ],
1019
+ "type": "dashboard-layout",
1020
+ "appName": "Trading Dashboard"
1021
1021
  }
1022
1022
  ]
1023
1023
  ]
@@ -1032,8 +1032,8 @@
1032
1032
  "Portfolio",
1033
1033
  {
1034
1034
  "emit": {
1035
- "failure": "PortfolioLoadFailed",
1036
- "success": "PortfolioLoaded"
1035
+ "success": "PortfolioLoaded",
1036
+ "failure": "PortfolioLoadFailed"
1037
1037
  }
1038
1038
  }
1039
1039
  ],
@@ -1041,19 +1041,38 @@
1041
1041
  "render-ui",
1042
1042
  "main",
1043
1043
  {
1044
+ "navItems": [
1045
+ {
1046
+ "label": "Portfolio",
1047
+ "href": "/portfolio",
1048
+ "icon": "layout-list"
1049
+ },
1050
+ {
1051
+ "icon": "clipboard-list",
1052
+ "label": "Orders",
1053
+ "href": "/orders"
1054
+ },
1055
+ {
1056
+ "href": "/market",
1057
+ "icon": "layout-list",
1058
+ "label": "Market"
1059
+ }
1060
+ ],
1061
+ "appName": "Trading Dashboard",
1044
1062
  "children": [
1045
1063
  {
1046
- "type": "scaled-diagram",
1047
1064
  "children": [
1048
1065
  {
1049
1066
  "gap": "lg",
1067
+ "direction": "vertical",
1068
+ "type": "stack",
1050
1069
  "children": [
1051
1070
  {
1052
1071
  "type": "breadcrumb",
1053
1072
  "items": [
1054
1073
  {
1055
- "href": "/",
1056
- "label": "Home"
1074
+ "label": "Home",
1075
+ "href": "/"
1057
1076
  },
1058
1077
  {
1059
1078
  "label": "Portfolio"
@@ -1061,100 +1080,100 @@
1061
1080
  ]
1062
1081
  },
1063
1082
  {
1064
- "justify": "between",
1065
1083
  "type": "stack",
1084
+ "direction": "horizontal",
1085
+ "justify": "between",
1086
+ "gap": "md",
1066
1087
  "children": [
1067
1088
  {
1089
+ "type": "stack",
1090
+ "direction": "horizontal",
1068
1091
  "children": [
1069
1092
  {
1070
1093
  "name": "trending-up",
1071
1094
  "type": "icon"
1072
1095
  },
1073
1096
  {
1074
- "type": "typography",
1075
1097
  "variant": "h2",
1076
- "content": "Portfolio"
1098
+ "content": "Portfolio",
1099
+ "type": "typography"
1077
1100
  }
1078
1101
  ],
1079
- "gap": "md",
1080
- "direction": "horizontal",
1081
- "type": "stack"
1102
+ "gap": "md"
1082
1103
  },
1083
1104
  {
1105
+ "variant": "secondary",
1106
+ "icon": "refresh-cw",
1084
1107
  "label": "Refresh",
1085
- "type": "button",
1086
1108
  "action": "REFRESH",
1087
- "variant": "secondary",
1088
- "icon": "refresh-cw"
1109
+ "type": "button"
1089
1110
  }
1090
- ],
1091
- "gap": "md",
1092
- "direction": "horizontal"
1111
+ ]
1093
1112
  },
1094
1113
  {
1095
1114
  "type": "divider"
1096
1115
  },
1097
1116
  {
1098
1117
  "padding": "md",
1099
- "type": "box",
1100
1118
  "children": [
1101
1119
  {
1120
+ "cols": 3.0,
1102
1121
  "children": [
1103
1122
  {
1104
1123
  "type": "stat-display",
1105
- "label": "TotalValue",
1106
- "value": "@entity.totalValue"
1124
+ "value": "@entity.totalValue",
1125
+ "label": "TotalValue"
1107
1126
  },
1108
1127
  {
1109
- "label": "DailyChange",
1110
1128
  "value": "@entity.dailyChange",
1111
- "type": "stat-display"
1129
+ "type": "stat-display",
1130
+ "label": "DailyChange"
1112
1131
  },
1113
1132
  {
1133
+ "value": "@entity.positions",
1114
1134
  "label": "Positions",
1115
- "type": "stat-display",
1116
- "value": "@entity.positions"
1135
+ "type": "stat-display"
1117
1136
  },
1118
1137
  {
1119
- "value": "@entity.cashBalance",
1120
1138
  "label": "CashBalance",
1121
- "type": "stat-display"
1139
+ "type": "stat-display",
1140
+ "value": "@entity.cashBalance"
1122
1141
  }
1123
1142
  ],
1124
- "cols": 3.0,
1125
1143
  "type": "simple-grid"
1126
1144
  }
1127
- ]
1145
+ ],
1146
+ "type": "box"
1128
1147
  },
1129
1148
  {
1130
1149
  "type": "divider"
1131
1150
  },
1132
1151
  {
1133
- "type": "grid",
1134
1152
  "cols": 2.0,
1135
- "gap": "md",
1136
1153
  "children": [
1137
1154
  {
1138
- "type": "card",
1139
1155
  "children": [
1140
1156
  {
1141
1157
  "variant": "caption",
1142
- "content": "Chart View",
1143
- "type": "typography"
1158
+ "type": "typography",
1159
+ "content": "Chart View"
1144
1160
  }
1145
- ]
1161
+ ],
1162
+ "type": "card"
1146
1163
  },
1147
1164
  {
1148
1165
  "children": [
1149
1166
  {
1150
- "type": "typography",
1151
1167
  "variant": "caption",
1152
- "content": "Graph View"
1168
+ "content": "Graph View",
1169
+ "type": "typography"
1153
1170
  }
1154
1171
  ],
1155
1172
  "type": "card"
1156
1173
  }
1157
- ]
1174
+ ],
1175
+ "type": "grid",
1176
+ "gap": "md"
1158
1177
  },
1159
1178
  {
1160
1179
  "type": "line-chart",
@@ -1164,8 +1183,8 @@
1164
1183
  "value": 12.0
1165
1184
  },
1166
1185
  {
1167
- "value": 19.0,
1168
- "date": "Feb"
1186
+ "date": "Feb",
1187
+ "value": 19.0
1169
1188
  },
1170
1189
  {
1171
1190
  "date": "Mar",
@@ -1176,17 +1195,16 @@
1176
1195
  "value": 25.0
1177
1196
  },
1178
1197
  {
1179
- "date": "May",
1180
- "value": 22.0
1198
+ "value": 22.0,
1199
+ "date": "May"
1181
1200
  },
1182
1201
  {
1183
- "date": "Jun",
1184
- "value": 30.0
1202
+ "value": 30.0,
1203
+ "date": "Jun"
1185
1204
  }
1186
1205
  ]
1187
1206
  },
1188
1207
  {
1189
- "type": "chart-legend",
1190
1208
  "items": [
1191
1209
  {
1192
1210
  "label": "Current",
@@ -1196,25 +1214,15 @@
1196
1214
  "label": "Previous",
1197
1215
  "color": "muted"
1198
1216
  }
1199
- ]
1217
+ ],
1218
+ "type": "chart-legend"
1200
1219
  },
1201
1220
  {
1202
- "width": 400.0,
1203
1221
  "type": "graph-view",
1204
- "edges": [
1222
+ "nodes": [
1205
1223
  {
1206
- "target": "b",
1207
- "source": "a"
1208
- },
1209
- {
1210
- "target": "c",
1211
- "source": "b"
1212
- }
1213
- ],
1214
- "nodes": [
1215
- {
1216
- "label": "Start",
1217
- "id": "a"
1224
+ "label": "Start",
1225
+ "id": "a"
1218
1226
  },
1219
1227
  {
1220
1228
  "label": "Process",
@@ -1225,34 +1233,26 @@
1225
1233
  "id": "c"
1226
1234
  }
1227
1235
  ],
1236
+ "edges": [
1237
+ {
1238
+ "target": "b",
1239
+ "source": "a"
1240
+ },
1241
+ {
1242
+ "source": "b",
1243
+ "target": "c"
1244
+ }
1245
+ ],
1246
+ "width": 400.0,
1228
1247
  "height": 200.0
1229
1248
  }
1230
- ],
1231
- "direction": "vertical",
1232
- "type": "stack"
1249
+ ]
1233
1250
  }
1234
- ]
1251
+ ],
1252
+ "type": "scaled-diagram"
1235
1253
  }
1236
1254
  ],
1237
- "type": "dashboard-layout",
1238
- "appName": "Trading Dashboard",
1239
- "navItems": [
1240
- {
1241
- "icon": "layout-list",
1242
- "href": "/portfolio",
1243
- "label": "Portfolio"
1244
- },
1245
- {
1246
- "label": "Orders",
1247
- "href": "/orders",
1248
- "icon": "clipboard-list"
1249
- },
1250
- {
1251
- "icon": "layout-list",
1252
- "label": "Market",
1253
- "href": "/market"
1254
- }
1255
- ]
1255
+ "type": "dashboard-layout"
1256
1256
  }
1257
1257
  ]
1258
1258
  ]
@@ -1276,17 +1276,20 @@
1276
1276
  "render-ui",
1277
1277
  "main",
1278
1278
  {
1279
+ "appName": "Trading Dashboard",
1279
1280
  "children": [
1280
1281
  {
1281
1282
  "children": [
1282
1283
  {
1284
+ "type": "stack",
1285
+ "direction": "vertical",
1283
1286
  "children": [
1284
1287
  {
1285
1288
  "type": "breadcrumb",
1286
1289
  "items": [
1287
1290
  {
1288
- "href": "/",
1289
- "label": "Home"
1291
+ "label": "Home",
1292
+ "href": "/"
1290
1293
  },
1291
1294
  {
1292
1295
  "label": "Portfolio"
@@ -1297,108 +1300,107 @@
1297
1300
  "children": [
1298
1301
  {
1299
1302
  "direction": "horizontal",
1300
- "gap": "md",
1301
1303
  "type": "stack",
1302
1304
  "children": [
1303
1305
  {
1304
- "type": "icon",
1305
- "name": "trending-up"
1306
+ "name": "trending-up",
1307
+ "type": "icon"
1306
1308
  },
1307
1309
  {
1310
+ "variant": "h2",
1308
1311
  "type": "typography",
1309
- "content": "Portfolio",
1310
- "variant": "h2"
1312
+ "content": "Portfolio"
1311
1313
  }
1312
- ]
1314
+ ],
1315
+ "gap": "md"
1313
1316
  },
1314
1317
  {
1315
- "type": "button",
1316
- "icon": "refresh-cw",
1317
1318
  "action": "REFRESH",
1319
+ "label": "Refresh",
1318
1320
  "variant": "secondary",
1319
- "label": "Refresh"
1321
+ "type": "button",
1322
+ "icon": "refresh-cw"
1320
1323
  }
1321
1324
  ],
1322
- "justify": "between",
1323
- "type": "stack",
1324
1325
  "direction": "horizontal",
1325
- "gap": "md"
1326
+ "gap": "md",
1327
+ "justify": "between",
1328
+ "type": "stack"
1326
1329
  },
1327
1330
  {
1328
1331
  "type": "divider"
1329
1332
  },
1330
1333
  {
1331
- "padding": "md",
1332
- "type": "box",
1333
1334
  "children": [
1334
1335
  {
1335
- "type": "simple-grid",
1336
+ "cols": 3.0,
1336
1337
  "children": [
1337
1338
  {
1338
- "value": "@entity.totalValue",
1339
+ "label": "TotalValue",
1339
1340
  "type": "stat-display",
1340
- "label": "TotalValue"
1341
+ "value": "@entity.totalValue"
1341
1342
  },
1342
1343
  {
1344
+ "type": "stat-display",
1343
1345
  "label": "DailyChange",
1344
- "value": "@entity.dailyChange",
1345
- "type": "stat-display"
1346
+ "value": "@entity.dailyChange"
1346
1347
  },
1347
1348
  {
1348
1349
  "value": "@entity.positions",
1349
- "label": "Positions",
1350
- "type": "stat-display"
1350
+ "type": "stat-display",
1351
+ "label": "Positions"
1351
1352
  },
1352
1353
  {
1353
1354
  "label": "CashBalance",
1354
- "type": "stat-display",
1355
- "value": "@entity.cashBalance"
1355
+ "value": "@entity.cashBalance",
1356
+ "type": "stat-display"
1356
1357
  }
1357
1358
  ],
1358
- "cols": 3.0
1359
+ "type": "simple-grid"
1359
1360
  }
1360
- ]
1361
+ ],
1362
+ "padding": "md",
1363
+ "type": "box"
1361
1364
  },
1362
1365
  {
1363
1366
  "type": "divider"
1364
1367
  },
1365
1368
  {
1366
- "gap": "md",
1367
1369
  "type": "grid",
1368
- "cols": 2.0,
1369
1370
  "children": [
1370
1371
  {
1371
- "type": "card",
1372
1372
  "children": [
1373
1373
  {
1374
- "type": "typography",
1374
+ "content": "Chart View",
1375
1375
  "variant": "caption",
1376
- "content": "Chart View"
1376
+ "type": "typography"
1377
1377
  }
1378
- ]
1378
+ ],
1379
+ "type": "card"
1379
1380
  },
1380
1381
  {
1382
+ "type": "card",
1381
1383
  "children": [
1382
1384
  {
1383
- "type": "typography",
1384
1385
  "variant": "caption",
1386
+ "type": "typography",
1385
1387
  "content": "Graph View"
1386
1388
  }
1387
- ],
1388
- "type": "card"
1389
+ ]
1389
1390
  }
1390
- ]
1391
+ ],
1392
+ "cols": 2.0,
1393
+ "gap": "md"
1391
1394
  },
1392
1395
  {
1393
- "type": "line-chart",
1394
1396
  "data": [
1395
1397
  {
1396
1398
  "date": "Jan",
1397
1399
  "value": 12.0
1398
1400
  },
1399
1401
  {
1400
- "value": 19.0,
1401
- "date": "Feb"
1402
+ "date": "Feb",
1403
+ "value": 19.0
1402
1404
  },
1403
1405
  {
1404
1406
  "date": "Mar",
@@ -1413,10 +1415,11 @@
1413
1415
  "value": 22.0
1414
1416
  },
1415
1417
  {
1416
- "value": 30.0,
1417
- "date": "Jun"
1418
+ "date": "Jun",
1419
+ "value": 30.0
1418
1420
  }
1419
- ]
1421
+ ],
1422
+ "type": "line-chart"
1420
1423
  },
1421
1424
  {
1422
1425
  "type": "chart-legend",
@@ -1426,50 +1429,48 @@
1426
1429
  "color": "primary"
1427
1430
  },
1428
1431
  {
1429
- "color": "muted",
1430
- "label": "Previous"
1432
+ "label": "Previous",
1433
+ "color": "muted"
1431
1434
  }
1432
1435
  ]
1433
1436
  },
1434
1437
  {
1435
- "type": "graph-view",
1436
- "edges": [
1437
- {
1438
- "source": "a",
1439
- "target": "b"
1440
- },
1441
- {
1442
- "source": "b",
1443
- "target": "c"
1444
- }
1445
- ],
1446
1438
  "nodes": [
1447
1439
  {
1448
1440
  "id": "a",
1449
1441
  "label": "Start"
1450
1442
  },
1451
1443
  {
1452
- "id": "b",
1453
- "label": "Process"
1444
+ "label": "Process",
1445
+ "id": "b"
1454
1446
  },
1455
1447
  {
1456
- "id": "c",
1457
- "label": "End"
1448
+ "label": "End",
1449
+ "id": "c"
1458
1450
  }
1459
1451
  ],
1452
+ "height": 200.0,
1460
1453
  "width": 400.0,
1461
- "height": 200.0
1454
+ "type": "graph-view",
1455
+ "edges": [
1456
+ {
1457
+ "target": "b",
1458
+ "source": "a"
1459
+ },
1460
+ {
1461
+ "target": "c",
1462
+ "source": "b"
1463
+ }
1464
+ ]
1462
1465
  }
1463
1466
  ],
1464
- "gap": "lg",
1465
- "type": "stack",
1466
- "direction": "vertical"
1467
+ "gap": "lg"
1467
1468
  }
1468
1469
  ],
1469
1470
  "type": "scaled-diagram"
1470
1471
  }
1471
1472
  ],
1472
- "appName": "Trading Dashboard",
1473
+ "type": "dashboard-layout",
1473
1474
  "navItems": [
1474
1475
  {
1475
1476
  "href": "/portfolio",
@@ -1478,16 +1479,15 @@
1478
1479
  },
1479
1480
  {
1480
1481
  "href": "/orders",
1481
- "icon": "clipboard-list",
1482
- "label": "Orders"
1482
+ "label": "Orders",
1483
+ "icon": "clipboard-list"
1483
1484
  },
1484
1485
  {
1485
1486
  "icon": "layout-list",
1486
- "href": "/market",
1487
- "label": "Market"
1487
+ "label": "Market",
1488
+ "href": "/market"
1488
1489
  }
1489
- ],
1490
- "type": "dashboard-layout"
1490
+ ]
1491
1491
  }
1492
1492
  ]
1493
1493
  ]
@@ -1663,22 +1663,22 @@
1663
1663
  "render-ui",
1664
1664
  "main",
1665
1665
  {
1666
- "direction": "vertical",
1667
1666
  "type": "stack",
1668
- "align": "center",
1667
+ "direction": "vertical",
1669
1668
  "className": "py-12",
1669
+ "gap": "md",
1670
1670
  "children": [
1671
1671
  {
1672
1672
  "type": "spinner"
1673
1673
  },
1674
1674
  {
1675
1675
  "variant": "caption",
1676
- "color": "muted",
1677
1676
  "content": "Loading orders…",
1677
+ "color": "muted",
1678
1678
  "type": "typography"
1679
1679
  }
1680
1680
  ],
1681
- "gap": "md"
1681
+ "align": "center"
1682
1682
  }
1683
1683
  ]
1684
1684
  ]
@@ -1694,102 +1694,103 @@
1694
1694
  {
1695
1695
  "children": [
1696
1696
  {
1697
- "direction": "vertical",
1698
1697
  "gap": "lg",
1699
- "className": "max-w-5xl mx-auto w-full",
1698
+ "type": "stack",
1700
1699
  "children": [
1701
1700
  {
1702
- "type": "stack",
1701
+ "direction": "horizontal",
1702
+ "justify": "between",
1703
+ "align": "center",
1704
+ "gap": "md",
1703
1705
  "children": [
1704
1706
  {
1705
- "align": "center",
1707
+ "direction": "horizontal",
1706
1708
  "children": [
1707
1709
  {
1708
- "type": "icon",
1709
- "name": "shopping-cart"
1710
+ "name": "shopping-cart",
1711
+ "type": "icon"
1710
1712
  },
1711
1713
  {
1712
- "variant": "h2",
1714
+ "content": "Trade Orders",
1713
1715
  "type": "typography",
1714
- "content": "Trade Orders"
1716
+ "variant": "h2"
1715
1717
  }
1716
1718
  ],
1717
- "gap": "sm",
1718
1719
  "type": "stack",
1719
- "direction": "horizontal"
1720
+ "gap": "sm",
1721
+ "align": "center"
1720
1722
  },
1721
1723
  {
1722
1724
  "type": "stack",
1723
- "gap": "sm",
1725
+ "direction": "horizontal",
1724
1726
  "children": [
1725
1727
  {
1726
1728
  "type": "button",
1727
- "label": "Create TradeOrder",
1728
- "action": "CREATE",
1729
1729
  "icon": "plus",
1730
- "variant": "primary"
1730
+ "label": "Create TradeOrder",
1731
+ "variant": "primary",
1732
+ "action": "CREATE"
1731
1733
  }
1732
1734
  ],
1733
- "direction": "horizontal"
1735
+ "gap": "sm"
1734
1736
  }
1735
1737
  ],
1736
- "gap": "md",
1737
- "direction": "horizontal",
1738
- "align": "center",
1739
- "justify": "between"
1738
+ "type": "stack"
1740
1739
  },
1741
1740
  {
1742
1741
  "type": "divider"
1743
1742
  },
1744
1743
  {
1745
- "itemActions": [
1746
- {
1747
- "label": "View",
1748
- "variant": "ghost",
1749
- "event": "VIEW"
1750
- },
1751
- {
1752
- "event": "EDIT",
1753
- "label": "Edit",
1754
- "variant": "ghost"
1755
- },
1756
- {
1757
- "label": "Delete",
1758
- "event": "DELETE",
1759
- "variant": "danger"
1760
- }
1761
- ],
1744
+ "entity": "@payload.data",
1762
1745
  "columns": [
1763
1746
  {
1747
+ "variant": "h3",
1764
1748
  "name": "symbol",
1765
- "icon": "trending-up",
1766
- "variant": "h3"
1749
+ "icon": "trending-up"
1767
1750
  },
1768
1751
  {
1769
1752
  "name": "side",
1770
1753
  "variant": "badge"
1771
1754
  },
1772
1755
  {
1773
- "format": "number",
1774
1756
  "name": "quantity",
1775
- "variant": "body"
1757
+ "variant": "body",
1758
+ "format": "number"
1776
1759
  },
1777
1760
  {
1778
1761
  "name": "price",
1779
- "variant": "h4",
1780
- "format": "currency"
1762
+ "format": "currency",
1763
+ "variant": "h4"
1764
+ }
1765
+ ],
1766
+ "type": "data-list",
1767
+ "itemActions": [
1768
+ {
1769
+ "event": "VIEW",
1770
+ "variant": "ghost",
1771
+ "label": "View"
1772
+ },
1773
+ {
1774
+ "label": "Edit",
1775
+ "variant": "ghost",
1776
+ "event": "EDIT"
1777
+ },
1778
+ {
1779
+ "event": "DELETE",
1780
+ "label": "Delete",
1781
+ "variant": "danger"
1781
1782
  }
1782
1783
  ],
1783
1784
  "variant": "card",
1784
1785
  "gap": "sm",
1785
- "fields": [],
1786
- "type": "data-list",
1787
- "entity": "@payload.data"
1786
+ "fields": []
1788
1787
  }
1789
1788
  ],
1790
- "type": "stack"
1789
+ "direction": "vertical",
1790
+ "className": "max-w-5xl mx-auto w-full"
1791
1791
  }
1792
1792
  ],
1793
+ "type": "dashboard-layout",
1793
1794
  "appName": "Trading Dashboard",
1794
1795
  "navItems": [
1795
1796
  {
@@ -1798,17 +1799,16 @@
1798
1799
  "href": "/portfolio"
1799
1800
  },
1800
1801
  {
1802
+ "label": "Orders",
1801
1803
  "href": "/orders",
1802
- "icon": "clipboard-list",
1803
- "label": "Orders"
1804
+ "icon": "clipboard-list"
1804
1805
  },
1805
1806
  {
1806
1807
  "href": "/market",
1807
1808
  "label": "Market",
1808
1809
  "icon": "layout-list"
1809
1810
  }
1810
- ],
1811
- "type": "dashboard-layout"
1811
+ ]
1812
1812
  }
1813
1813
  ]
1814
1814
  ]
@@ -1822,36 +1822,36 @@
1822
1822
  "render-ui",
1823
1823
  "main",
1824
1824
  {
1825
- "className": "py-12",
1826
1825
  "direction": "vertical",
1827
- "gap": "md",
1828
- "align": "center",
1829
1826
  "children": [
1830
1827
  {
1831
- "type": "icon",
1828
+ "name": "alert-triangle",
1832
1829
  "color": "destructive",
1833
- "name": "alert-triangle"
1830
+ "type": "icon"
1834
1831
  },
1835
1832
  {
1836
- "content": "Failed to load orders",
1837
1833
  "variant": "h3",
1834
+ "content": "Failed to load orders",
1838
1835
  "type": "typography"
1839
1836
  },
1840
1837
  {
1841
- "type": "typography",
1842
1838
  "variant": "body",
1839
+ "type": "typography",
1843
1840
  "color": "muted",
1844
1841
  "content": "@payload.error"
1845
1842
  },
1846
1843
  {
1847
1844
  "label": "Retry",
1848
- "icon": "rotate-ccw",
1849
- "action": "INIT",
1850
1845
  "type": "button",
1851
- "variant": "primary"
1846
+ "variant": "primary",
1847
+ "icon": "rotate-ccw",
1848
+ "action": "INIT"
1852
1849
  }
1853
1850
  ],
1854
- "type": "stack"
1851
+ "type": "stack",
1852
+ "align": "center",
1853
+ "className": "py-12",
1854
+ "gap": "md"
1855
1855
  }
1856
1856
  ]
1857
1857
  ]
@@ -2036,7 +2036,6 @@
2036
2036
  "render-ui",
2037
2037
  "modal",
2038
2038
  {
2039
- "direction": "vertical",
2040
2039
  "type": "stack",
2041
2040
  "gap": "md",
2042
2041
  "children": [
@@ -2052,8 +2051,8 @@
2052
2051
  "content": "Create TradeOrder"
2053
2052
  }
2054
2053
  ],
2055
- "direction": "horizontal",
2056
2054
  "type": "stack",
2055
+ "direction": "horizontal",
2057
2056
  "gap": "sm"
2058
2057
  },
2059
2058
  {
@@ -2061,17 +2060,18 @@
2061
2060
  },
2062
2061
  {
2063
2062
  "cancelEvent": "CLOSE",
2063
+ "mode": "create",
2064
+ "submitEvent": "SAVE",
2065
+ "type": "form-section",
2064
2066
  "fields": [
2065
2067
  "symbol",
2066
2068
  "side",
2067
2069
  "quantity",
2068
2070
  "price"
2069
- ],
2070
- "mode": "create",
2071
- "submitEvent": "SAVE",
2072
- "type": "form-section"
2071
+ ]
2073
2072
  }
2074
- ]
2073
+ ],
2074
+ "direction": "vertical"
2075
2075
  }
2076
2076
  ]
2077
2077
  ]
@@ -2112,8 +2112,8 @@
2112
2112
  "@payload.data",
2113
2113
  {
2114
2114
  "emit": {
2115
- "failure": "TradeOrderSaveFailed",
2116
- "success": "TradeOrderSaved"
2115
+ "success": "TradeOrderSaved",
2116
+ "failure": "TradeOrderSaveFailed"
2117
2117
  }
2118
2118
  }
2119
2119
  ],
@@ -2315,11 +2315,11 @@
2315
2315
  "fetch",
2316
2316
  "TradeOrder",
2317
2317
  {
2318
+ "id": "@payload.id",
2318
2319
  "emit": {
2319
- "failure": "TradeOrderLoadFailed",
2320
- "success": "TradeOrderLoaded"
2321
- },
2322
- "id": "@payload.id"
2320
+ "success": "TradeOrderLoaded",
2321
+ "failure": "TradeOrderLoadFailed"
2322
+ }
2323
2323
  }
2324
2324
  ],
2325
2325
  [
@@ -2330,9 +2330,9 @@
2330
2330
  "direction": "vertical",
2331
2331
  "children": [
2332
2332
  {
2333
- "type": "stack",
2334
2333
  "direction": "horizontal",
2335
2334
  "gap": "sm",
2335
+ "type": "stack",
2336
2336
  "children": [
2337
2337
  {
2338
2338
  "type": "icon",
@@ -2349,7 +2349,6 @@
2349
2349
  "type": "divider"
2350
2350
  },
2351
2351
  {
2352
- "submitEvent": "SAVE",
2353
2352
  "fields": [
2354
2353
  "symbol",
2355
2354
  "side",
@@ -2358,8 +2357,9 @@
2358
2357
  ],
2359
2358
  "mode": "edit",
2360
2359
  "cancelEvent": "CLOSE",
2361
- "entity": "@payload.row",
2362
- "type": "form-section"
2360
+ "type": "form-section",
2361
+ "submitEvent": "SAVE",
2362
+ "entity": "@payload.row"
2363
2363
  }
2364
2364
  ],
2365
2365
  "type": "stack"
@@ -2543,8 +2543,8 @@
2543
2543
  {
2544
2544
  "id": "@payload.id",
2545
2545
  "emit": {
2546
- "failure": "TradeOrderLoadFailed",
2547
- "success": "TradeOrderLoaded"
2546
+ "success": "TradeOrderLoaded",
2547
+ "failure": "TradeOrderLoadFailed"
2548
2548
  }
2549
2549
  }
2550
2550
  ],
@@ -2552,92 +2552,93 @@
2552
2552
  "render-ui",
2553
2553
  "modal",
2554
2554
  {
2555
+ "direction": "vertical",
2555
2556
  "type": "stack",
2556
2557
  "children": [
2557
2558
  {
2558
- "type": "stack",
2559
- "gap": "sm",
2560
2559
  "children": [
2561
2560
  {
2562
2561
  "type": "icon",
2563
2562
  "name": "eye"
2564
2563
  },
2565
2564
  {
2566
- "type": "typography",
2567
2565
  "variant": "h3",
2566
+ "type": "typography",
2568
2567
  "content": "@entity.symbol"
2569
2568
  }
2570
2569
  ],
2571
- "align": "center",
2572
- "direction": "horizontal"
2570
+ "type": "stack",
2571
+ "gap": "sm",
2572
+ "direction": "horizontal",
2573
+ "align": "center"
2573
2574
  },
2574
2575
  {
2575
2576
  "type": "divider"
2576
2577
  },
2577
2578
  {
2578
- "gap": "md",
2579
- "direction": "horizontal",
2580
2579
  "children": [
2581
2580
  {
2582
- "type": "typography",
2583
2581
  "content": "Symbol",
2582
+ "type": "typography",
2584
2583
  "variant": "caption"
2585
2584
  },
2586
2585
  {
2586
+ "content": "@entity.symbol",
2587
2587
  "type": "typography",
2588
- "variant": "body",
2589
- "content": "@entity.symbol"
2588
+ "variant": "body"
2590
2589
  }
2591
2590
  ],
2591
+ "gap": "md",
2592
+ "direction": "horizontal",
2592
2593
  "type": "stack"
2593
2594
  },
2594
2595
  {
2596
+ "direction": "horizontal",
2595
2597
  "type": "stack",
2598
+ "gap": "md",
2596
2599
  "children": [
2597
2600
  {
2598
2601
  "variant": "caption",
2599
- "content": "Side",
2600
- "type": "typography"
2602
+ "type": "typography",
2603
+ "content": "Side"
2601
2604
  },
2602
2605
  {
2603
- "type": "typography",
2606
+ "variant": "body",
2604
2607
  "content": "@entity.side",
2605
- "variant": "body"
2608
+ "type": "typography"
2606
2609
  }
2607
- ],
2608
- "direction": "horizontal",
2609
- "gap": "md"
2610
+ ]
2610
2611
  },
2611
2612
  {
2612
- "gap": "md",
2613
2613
  "direction": "horizontal",
2614
- "type": "stack",
2614
+ "gap": "md",
2615
2615
  "children": [
2616
2616
  {
2617
- "content": "Quantity",
2618
2617
  "type": "typography",
2619
- "variant": "caption"
2618
+ "variant": "caption",
2619
+ "content": "Quantity"
2620
2620
  },
2621
2621
  {
2622
- "variant": "body",
2623
2622
  "content": "@entity.quantity",
2624
- "type": "typography"
2623
+ "type": "typography",
2624
+ "variant": "body"
2625
2625
  }
2626
- ]
2626
+ ],
2627
+ "type": "stack"
2627
2628
  },
2628
2629
  {
2629
2630
  "type": "stack",
2630
- "direction": "horizontal",
2631
2631
  "gap": "md",
2632
+ "direction": "horizontal",
2632
2633
  "children": [
2633
2634
  {
2634
- "type": "typography",
2635
+ "variant": "caption",
2635
2636
  "content": "Price",
2636
- "variant": "caption"
2637
+ "type": "typography"
2637
2638
  },
2638
2639
  {
2639
- "content": "@entity.price",
2640
2640
  "variant": "body",
2641
+ "content": "@entity.price",
2641
2642
  "type": "typography"
2642
2643
  }
2643
2644
  ]
@@ -2646,28 +2647,27 @@
2646
2647
  "type": "divider"
2647
2648
  },
2648
2649
  {
2649
- "justify": "end",
2650
+ "gap": "sm",
2650
2651
  "children": [
2651
2652
  {
2653
+ "variant": "primary",
2652
2654
  "type": "button",
2653
- "icon": "edit",
2654
2655
  "label": "Edit",
2655
- "variant": "primary",
2656
- "action": "EDIT"
2656
+ "action": "EDIT",
2657
+ "icon": "edit"
2657
2658
  },
2658
2659
  {
2659
- "label": "Close",
2660
- "type": "button",
2661
2660
  "action": "CLOSE",
2662
- "variant": "ghost"
2661
+ "variant": "ghost",
2662
+ "label": "Close",
2663
+ "type": "button"
2663
2664
  }
2664
2665
  ],
2665
- "direction": "horizontal",
2666
2666
  "type": "stack",
2667
- "gap": "sm"
2667
+ "direction": "horizontal",
2668
+ "justify": "end"
2668
2669
  }
2669
2670
  ],
2670
- "direction": "vertical",
2671
2671
  "gap": "md"
2672
2672
  }
2673
2673
  ]
@@ -2895,11 +2895,11 @@
2895
2895
  "fetch",
2896
2896
  "TradeOrder",
2897
2897
  {
2898
+ "id": "@payload.id",
2898
2899
  "emit": {
2899
2900
  "failure": "TradeOrderLoadFailed",
2900
2901
  "success": "TradeOrderLoaded"
2901
- },
2902
- "id": "@payload.id"
2902
+ }
2903
2903
  }
2904
2904
  ],
2905
2905
  [
@@ -2908,7 +2908,6 @@
2908
2908
  {
2909
2909
  "children": [
2910
2910
  {
2911
- "type": "stack",
2912
2911
  "gap": "sm",
2913
2912
  "children": [
2914
2913
  {
@@ -2916,46 +2915,47 @@
2916
2915
  "name": "alert-triangle"
2917
2916
  },
2918
2917
  {
2918
+ "variant": "h3",
2919
2919
  "content": "Delete TradeOrder",
2920
- "type": "typography",
2921
- "variant": "h3"
2920
+ "type": "typography"
2922
2921
  }
2923
2922
  ],
2924
- "align": "center",
2925
- "direction": "horizontal"
2923
+ "direction": "horizontal",
2924
+ "type": "stack",
2925
+ "align": "center"
2926
2926
  },
2927
2927
  {
2928
2928
  "type": "divider"
2929
2929
  },
2930
2930
  {
2931
- "type": "alert",
2932
2931
  "message": "This action cannot be undone.",
2932
+ "type": "alert",
2933
2933
  "variant": "error"
2934
2934
  },
2935
2935
  {
2936
- "type": "stack",
2937
- "direction": "horizontal",
2938
- "gap": "sm",
2939
- "justify": "end",
2940
2936
  "children": [
2941
2937
  {
2938
+ "type": "button",
2942
2939
  "action": "CANCEL",
2943
2940
  "variant": "ghost",
2944
- "label": "Cancel",
2945
- "type": "button"
2941
+ "label": "Cancel"
2946
2942
  },
2947
2943
  {
2948
- "variant": "danger",
2949
2944
  "label": "Delete",
2950
- "type": "button",
2951
2945
  "action": "CONFIRM_DELETE",
2946
+ "variant": "danger",
2947
+ "type": "button",
2952
2948
  "icon": "check"
2953
2949
  }
2954
- ]
2950
+ ],
2951
+ "direction": "horizontal",
2952
+ "type": "stack",
2953
+ "justify": "end",
2954
+ "gap": "sm"
2955
2955
  }
2956
2956
  ],
2957
- "type": "stack",
2958
2957
  "gap": "md",
2958
+ "type": "stack",
2959
2959
  "direction": "vertical"
2960
2960
  }
2961
2961
  ]
@@ -3270,8 +3270,8 @@
3270
3270
  "MarketFeed",
3271
3271
  {
3272
3272
  "emit": {
3273
- "success": "MarketFeedLoaded",
3274
- "failure": "MarketFeedLoadFailed"
3273
+ "failure": "MarketFeedLoadFailed",
3274
+ "success": "MarketFeedLoaded"
3275
3275
  }
3276
3276
  }
3277
3277
  ],
@@ -3280,67 +3280,67 @@
3280
3280
  "main",
3281
3281
  {
3282
3282
  "appName": "Trading Dashboard",
3283
+ "navItems": [
3284
+ {
3285
+ "href": "/portfolio",
3286
+ "label": "Portfolio",
3287
+ "icon": "layout-list"
3288
+ },
3289
+ {
3290
+ "href": "/orders",
3291
+ "label": "Orders",
3292
+ "icon": "clipboard-list"
3293
+ },
3294
+ {
3295
+ "href": "/market",
3296
+ "label": "Market",
3297
+ "icon": "layout-list"
3298
+ }
3299
+ ],
3300
+ "type": "dashboard-layout",
3283
3301
  "children": [
3284
3302
  {
3285
- "direction": "vertical",
3303
+ "align": "center",
3286
3304
  "children": [
3287
3305
  {
3288
- "align": "center",
3289
- "type": "stack",
3290
3306
  "direction": "horizontal",
3307
+ "gap": "md",
3291
3308
  "children": [
3292
3309
  {
3293
3310
  "type": "icon",
3294
3311
  "name": "activity"
3295
3312
  },
3296
3313
  {
3314
+ "type": "typography",
3297
3315
  "content": "MarketFeed",
3298
- "variant": "h2",
3299
- "type": "typography"
3316
+ "variant": "h2"
3300
3317
  }
3301
3318
  ],
3302
- "gap": "md"
3319
+ "align": "center",
3320
+ "type": "stack"
3303
3321
  },
3304
3322
  {
3305
3323
  "type": "divider"
3306
3324
  },
3307
3325
  {
3308
- "color": "muted",
3309
- "type": "typography",
3310
3326
  "content": "Ready to start marketfeed operation.",
3327
+ "type": "typography",
3328
+ "color": "muted",
3311
3329
  "variant": "body"
3312
3330
  },
3313
3331
  {
3314
- "label": "Start",
3315
3332
  "type": "button",
3316
- "variant": "primary",
3333
+ "action": "START",
3317
3334
  "icon": "play",
3318
- "action": "START"
3335
+ "label": "Start",
3336
+ "variant": "primary"
3319
3337
  }
3320
3338
  ],
3321
- "gap": "lg",
3322
3339
  "type": "stack",
3323
- "align": "center"
3324
- }
3325
- ],
3326
- "navItems": [
3327
- {
3328
- "icon": "layout-list",
3329
- "label": "Portfolio",
3330
- "href": "/portfolio"
3331
- },
3332
- {
3333
- "href": "/orders",
3334
- "label": "Orders",
3335
- "icon": "clipboard-list"
3336
- },
3337
- {
3338
- "icon": "layout-list",
3339
- "label": "Market",
3340
- "href": "/market"
3340
+ "gap": "lg",
3341
+ "direction": "vertical"
3341
3342
  }
3342
- ],
3343
- "type": "dashboard-layout"
3343
+ ]
3344
3344
  }
3345
3345
  ]
3346
3346
  ]
@@ -3354,10 +3354,31 @@
3354
3354
  "render-ui",
3355
3355
  "main",
3356
3356
  {
3357
+ "type": "dashboard-layout",
3358
+ "appName": "Trading Dashboard",
3359
+ "children": [
3360
+ {
3361
+ "align": "center",
3362
+ "direction": "vertical",
3363
+ "children": [
3364
+ {
3365
+ "type": "loading-state",
3366
+ "message": "Processing marketfeed...",
3367
+ "title": "Connecting to market feed..."
3368
+ },
3369
+ {
3370
+ "type": "skeleton",
3371
+ "variant": "text"
3372
+ }
3373
+ ],
3374
+ "type": "stack",
3375
+ "gap": "lg"
3376
+ }
3377
+ ],
3357
3378
  "navItems": [
3358
3379
  {
3359
- "icon": "layout-list",
3360
3380
  "label": "Portfolio",
3381
+ "icon": "layout-list",
3361
3382
  "href": "/portfolio"
3362
3383
  },
3363
3384
  {
@@ -3370,28 +3391,7 @@
3370
3391
  "href": "/market",
3371
3392
  "label": "Market"
3372
3393
  }
3373
- ],
3374
- "appName": "Trading Dashboard",
3375
- "children": [
3376
- {
3377
- "direction": "vertical",
3378
- "gap": "lg",
3379
- "type": "stack",
3380
- "align": "center",
3381
- "children": [
3382
- {
3383
- "title": "Connecting to market feed...",
3384
- "message": "Processing marketfeed...",
3385
- "type": "loading-state"
3386
- },
3387
- {
3388
- "type": "skeleton",
3389
- "variant": "text"
3390
- }
3391
- ]
3392
- }
3393
- ],
3394
- "type": "dashboard-layout"
3394
+ ]
3395
3395
  }
3396
3396
  ]
3397
3397
  ]
@@ -3408,8 +3408,8 @@
3408
3408
  "@payload.data",
3409
3409
  {
3410
3410
  "emit": {
3411
- "failure": "MarketFeedSaveFailed",
3412
- "success": "MarketFeedSaved"
3411
+ "success": "MarketFeedSaved",
3412
+ "failure": "MarketFeedSaveFailed"
3413
3413
  }
3414
3414
  }
3415
3415
  ],
@@ -3417,59 +3417,59 @@
3417
3417
  "render-ui",
3418
3418
  "main",
3419
3419
  {
3420
- "type": "dashboard-layout",
3420
+ "appName": "Trading Dashboard",
3421
3421
  "children": [
3422
3422
  {
3423
- "gap": "lg",
3424
3423
  "direction": "vertical",
3425
- "align": "center",
3426
3424
  "type": "stack",
3427
3425
  "children": [
3428
3426
  {
3429
- "type": "icon",
3430
- "name": "check-circle"
3427
+ "name": "check-circle",
3428
+ "type": "icon"
3431
3429
  },
3432
3430
  {
3433
- "type": "alert",
3431
+ "variant": "success",
3434
3432
  "message": "Market feed connected.",
3435
- "variant": "success"
3433
+ "type": "alert"
3436
3434
  },
3437
3435
  {
3438
- "type": "stack",
3439
3436
  "direction": "horizontal",
3440
- "justify": "center",
3441
3437
  "gap": "sm",
3438
+ "justify": "center",
3442
3439
  "children": [
3443
3440
  {
3444
- "variant": "ghost",
3441
+ "label": "Reset",
3445
3442
  "action": "RESET",
3446
3443
  "type": "button",
3447
- "label": "Reset",
3448
- "icon": "rotate-ccw"
3444
+ "icon": "rotate-ccw",
3445
+ "variant": "ghost"
3449
3446
  }
3450
- ]
3447
+ ],
3448
+ "type": "stack"
3451
3449
  }
3452
- ]
3450
+ ],
3451
+ "gap": "lg",
3452
+ "align": "center"
3453
3453
  }
3454
3454
  ],
3455
+ "type": "dashboard-layout",
3455
3456
  "navItems": [
3456
3457
  {
3457
- "label": "Portfolio",
3458
+ "icon": "layout-list",
3458
3459
  "href": "/portfolio",
3459
- "icon": "layout-list"
3460
+ "label": "Portfolio"
3460
3461
  },
3461
3462
  {
3462
- "label": "Orders",
3463
+ "href": "/orders",
3463
3464
  "icon": "clipboard-list",
3464
- "href": "/orders"
3465
+ "label": "Orders"
3465
3466
  },
3466
3467
  {
3467
- "label": "Market",
3468
3468
  "icon": "layout-list",
3469
- "href": "/market"
3469
+ "href": "/market",
3470
+ "label": "Market"
3470
3471
  }
3471
- ],
3472
- "appName": "Trading Dashboard"
3472
+ ]
3473
3473
  }
3474
3474
  ]
3475
3475
  ]
@@ -3483,62 +3483,62 @@
3483
3483
  "render-ui",
3484
3484
  "main",
3485
3485
  {
3486
+ "navItems": [
3487
+ {
3488
+ "href": "/portfolio",
3489
+ "icon": "layout-list",
3490
+ "label": "Portfolio"
3491
+ },
3492
+ {
3493
+ "icon": "clipboard-list",
3494
+ "href": "/orders",
3495
+ "label": "Orders"
3496
+ },
3497
+ {
3498
+ "label": "Market",
3499
+ "href": "/market",
3500
+ "icon": "layout-list"
3501
+ }
3502
+ ],
3503
+ "type": "dashboard-layout",
3504
+ "appName": "Trading Dashboard",
3486
3505
  "children": [
3487
3506
  {
3488
- "gap": "lg",
3489
3507
  "direction": "vertical",
3508
+ "gap": "lg",
3490
3509
  "children": [
3491
3510
  {
3492
- "type": "error-state",
3493
3511
  "title": "Operation Failed",
3512
+ "type": "error-state",
3494
3513
  "message": "Market feed disconnected.",
3495
3514
  "onRetry": "RETRY"
3496
3515
  },
3497
3516
  {
3498
3517
  "justify": "center",
3518
+ "gap": "sm",
3519
+ "direction": "horizontal",
3499
3520
  "children": [
3500
3521
  {
3522
+ "type": "button",
3501
3523
  "icon": "refresh-cw",
3502
3524
  "action": "RETRY",
3503
3525
  "label": "Retry",
3504
- "type": "button",
3505
3526
  "variant": "primary"
3506
3527
  },
3507
3528
  {
3508
3529
  "type": "button",
3509
- "label": "Reset",
3510
- "action": "RESET",
3511
3530
  "icon": "rotate-ccw",
3531
+ "action": "RESET",
3532
+ "label": "Reset",
3512
3533
  "variant": "ghost"
3513
3534
  }
3514
3535
  ],
3515
- "type": "stack",
3516
- "gap": "sm",
3517
- "direction": "horizontal"
3536
+ "type": "stack"
3518
3537
  }
3519
3538
  ],
3520
3539
  "type": "stack",
3521
3540
  "align": "center"
3522
3541
  }
3523
- ],
3524
- "appName": "Trading Dashboard",
3525
- "type": "dashboard-layout",
3526
- "navItems": [
3527
- {
3528
- "label": "Portfolio",
3529
- "href": "/portfolio",
3530
- "icon": "layout-list"
3531
- },
3532
- {
3533
- "label": "Orders",
3534
- "href": "/orders",
3535
- "icon": "clipboard-list"
3536
- },
3537
- {
3538
- "label": "Market",
3539
- "href": "/market",
3540
- "icon": "layout-list"
3541
- }
3542
3542
  ]
3543
3543
  }
3544
3544
  ]
@@ -3553,66 +3553,66 @@
3553
3553
  "render-ui",
3554
3554
  "main",
3555
3555
  {
3556
+ "type": "dashboard-layout",
3557
+ "appName": "Trading Dashboard",
3556
3558
  "navItems": [
3557
3559
  {
3558
- "href": "/portfolio",
3559
3560
  "label": "Portfolio",
3561
+ "href": "/portfolio",
3560
3562
  "icon": "layout-list"
3561
3563
  },
3562
3564
  {
3563
- "href": "/orders",
3564
3565
  "icon": "clipboard-list",
3565
- "label": "Orders"
3566
+ "label": "Orders",
3567
+ "href": "/orders"
3566
3568
  },
3567
3569
  {
3568
- "label": "Market",
3569
3570
  "icon": "layout-list",
3571
+ "label": "Market",
3570
3572
  "href": "/market"
3571
3573
  }
3572
3574
  ],
3573
- "appName": "Trading Dashboard",
3574
- "type": "dashboard-layout",
3575
3575
  "children": [
3576
3576
  {
3577
- "align": "center",
3578
3577
  "direction": "vertical",
3579
3578
  "gap": "lg",
3579
+ "align": "center",
3580
+ "type": "stack",
3580
3581
  "children": [
3581
3582
  {
3583
+ "type": "stack",
3584
+ "direction": "horizontal",
3585
+ "align": "center",
3586
+ "gap": "md",
3582
3587
  "children": [
3583
3588
  {
3584
- "type": "icon",
3585
- "name": "activity"
3589
+ "name": "activity",
3590
+ "type": "icon"
3586
3591
  },
3587
3592
  {
3588
- "content": "MarketFeed",
3593
+ "type": "typography",
3589
3594
  "variant": "h2",
3590
- "type": "typography"
3595
+ "content": "MarketFeed"
3591
3596
  }
3592
- ],
3593
- "gap": "md",
3594
- "type": "stack",
3595
- "align": "center",
3596
- "direction": "horizontal"
3597
+ ]
3597
3598
  },
3598
3599
  {
3599
3600
  "type": "divider"
3600
3601
  },
3601
3602
  {
3603
+ "variant": "body",
3602
3604
  "type": "typography",
3603
- "color": "muted",
3604
3605
  "content": "Ready to start marketfeed operation.",
3605
- "variant": "body"
3606
+ "color": "muted"
3606
3607
  },
3607
3608
  {
3608
3609
  "variant": "primary",
3609
- "icon": "play",
3610
- "type": "button",
3610
+ "action": "START",
3611
3611
  "label": "Start",
3612
- "action": "START"
3612
+ "type": "button",
3613
+ "icon": "play"
3613
3614
  }
3614
- ],
3615
- "type": "stack"
3615
+ ]
3616
3616
  }
3617
3617
  ]
3618
3618
  }
@@ -3628,66 +3628,66 @@
3628
3628
  "render-ui",
3629
3629
  "main",
3630
3630
  {
3631
+ "navItems": [
3632
+ {
3633
+ "label": "Portfolio",
3634
+ "href": "/portfolio",
3635
+ "icon": "layout-list"
3636
+ },
3637
+ {
3638
+ "label": "Orders",
3639
+ "href": "/orders",
3640
+ "icon": "clipboard-list"
3641
+ },
3642
+ {
3643
+ "icon": "layout-list",
3644
+ "href": "/market",
3645
+ "label": "Market"
3646
+ }
3647
+ ],
3648
+ "appName": "Trading Dashboard",
3649
+ "type": "dashboard-layout",
3631
3650
  "children": [
3632
3651
  {
3633
3652
  "type": "stack",
3653
+ "direction": "vertical",
3654
+ "align": "center",
3634
3655
  "gap": "lg",
3635
3656
  "children": [
3636
3657
  {
3637
3658
  "gap": "md",
3638
- "align": "center",
3639
3659
  "type": "stack",
3640
- "direction": "horizontal",
3641
3660
  "children": [
3642
3661
  {
3643
- "name": "activity",
3644
- "type": "icon"
3662
+ "type": "icon",
3663
+ "name": "activity"
3645
3664
  },
3646
3665
  {
3647
- "content": "MarketFeed",
3648
3666
  "type": "typography",
3649
- "variant": "h2"
3667
+ "variant": "h2",
3668
+ "content": "MarketFeed"
3650
3669
  }
3651
- ]
3670
+ ],
3671
+ "direction": "horizontal",
3672
+ "align": "center"
3652
3673
  },
3653
3674
  {
3654
3675
  "type": "divider"
3655
3676
  },
3656
3677
  {
3657
- "variant": "body",
3678
+ "color": "muted",
3658
3679
  "content": "Ready to start marketfeed operation.",
3659
3680
  "type": "typography",
3660
- "color": "muted"
3681
+ "variant": "body"
3661
3682
  },
3662
3683
  {
3663
- "variant": "primary",
3664
3684
  "action": "START",
3685
+ "icon": "play",
3665
3686
  "label": "Start",
3666
3687
  "type": "button",
3667
- "icon": "play"
3688
+ "variant": "primary"
3668
3689
  }
3669
- ],
3670
- "direction": "vertical",
3671
- "align": "center"
3672
- }
3673
- ],
3674
- "type": "dashboard-layout",
3675
- "appName": "Trading Dashboard",
3676
- "navItems": [
3677
- {
3678
- "href": "/portfolio",
3679
- "label": "Portfolio",
3680
- "icon": "layout-list"
3681
- },
3682
- {
3683
- "label": "Orders",
3684
- "icon": "clipboard-list",
3685
- "href": "/orders"
3686
- },
3687
- {
3688
- "href": "/market",
3689
- "icon": "layout-list",
3690
- "label": "Market"
3690
+ ]
3691
3691
  }
3692
3692
  ]
3693
3693
  }
@@ -3703,44 +3703,44 @@
3703
3703
  "render-ui",
3704
3704
  "main",
3705
3705
  {
3706
- "appName": "Trading Dashboard",
3707
- "navItems": [
3708
- {
3709
- "icon": "layout-list",
3710
- "label": "Portfolio",
3711
- "href": "/portfolio"
3712
- },
3713
- {
3714
- "href": "/orders",
3715
- "label": "Orders",
3716
- "icon": "clipboard-list"
3717
- },
3718
- {
3719
- "label": "Market",
3720
- "href": "/market",
3721
- "icon": "layout-list"
3722
- }
3723
- ],
3706
+ "type": "dashboard-layout",
3724
3707
  "children": [
3725
3708
  {
3709
+ "align": "center",
3726
3710
  "gap": "lg",
3727
3711
  "direction": "vertical",
3728
- "type": "stack",
3729
3712
  "children": [
3730
3713
  {
3731
- "title": "Connecting to market feed...",
3732
3714
  "message": "Processing marketfeed...",
3733
- "type": "loading-state"
3715
+ "type": "loading-state",
3716
+ "title": "Connecting to market feed..."
3734
3717
  },
3735
3718
  {
3736
3719
  "type": "skeleton",
3737
3720
  "variant": "text"
3738
3721
  }
3739
3722
  ],
3740
- "align": "center"
3723
+ "type": "stack"
3741
3724
  }
3742
3725
  ],
3743
- "type": "dashboard-layout"
3726
+ "navItems": [
3727
+ {
3728
+ "icon": "layout-list",
3729
+ "href": "/portfolio",
3730
+ "label": "Portfolio"
3731
+ },
3732
+ {
3733
+ "label": "Orders",
3734
+ "href": "/orders",
3735
+ "icon": "clipboard-list"
3736
+ },
3737
+ {
3738
+ "href": "/market",
3739
+ "icon": "layout-list",
3740
+ "label": "Market"
3741
+ }
3742
+ ],
3743
+ "appName": "Trading Dashboard"
3744
3744
  }
3745
3745
  ]
3746
3746
  ]