@almadar/std 9.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 +55 -59
  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 +55 -59
  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
@@ -336,20 +336,36 @@
336
336
  "render-ui",
337
337
  "main",
338
338
  {
339
- "type": "dashboard-layout",
339
+ "navItems": [
340
+ {
341
+ "label": "Portfolio",
342
+ "icon": "layout-list",
343
+ "href": "/portfolio"
344
+ },
345
+ {
346
+ "href": "/orders",
347
+ "label": "Orders",
348
+ "icon": "clipboard-list"
349
+ },
350
+ {
351
+ "href": "/market",
352
+ "icon": "layout-list",
353
+ "label": "Market"
354
+ }
355
+ ],
356
+ "appName": "Trading Dashboard",
340
357
  "children": [
341
358
  {
359
+ "type": "scaled-diagram",
342
360
  "children": [
343
361
  {
344
- "direction": "vertical",
345
- "gap": "lg",
346
362
  "children": [
347
363
  {
348
364
  "type": "breadcrumb",
349
365
  "items": [
350
366
  {
351
- "label": "Home",
352
- "href": "/"
367
+ "href": "/",
368
+ "label": "Home"
353
369
  },
354
370
  {
355
371
  "label": "Portfolio"
@@ -357,87 +373,87 @@
357
373
  ]
358
374
  },
359
375
  {
360
- "type": "stack",
361
376
  "children": [
362
377
  {
363
- "type": "stack",
364
- "gap": "md",
365
378
  "children": [
366
379
  {
367
380
  "type": "icon",
368
381
  "name": "trending-up"
369
382
  },
370
383
  {
384
+ "content": "Portfolio",
371
385
  "variant": "h2",
372
- "type": "typography",
373
- "content": "Portfolio"
386
+ "type": "typography"
374
387
  }
375
388
  ],
389
+ "type": "stack",
390
+ "gap": "md",
376
391
  "direction": "horizontal"
377
392
  },
378
393
  {
379
- "icon": "refresh-cw",
394
+ "label": "Refresh",
395
+ "variant": "secondary",
380
396
  "action": "REFRESH",
381
397
  "type": "button",
382
- "variant": "secondary",
383
- "label": "Refresh"
398
+ "icon": "refresh-cw"
384
399
  }
385
400
  ],
386
- "justify": "between",
401
+ "type": "stack",
402
+ "direction": "horizontal",
387
403
  "gap": "md",
388
- "direction": "horizontal"
404
+ "justify": "between"
389
405
  },
390
406
  {
391
407
  "type": "divider"
392
408
  },
393
409
  {
410
+ "padding": "md",
411
+ "type": "box",
394
412
  "children": [
395
413
  {
396
414
  "cols": 3.0,
397
415
  "children": [
398
416
  {
399
- "label": "TotalValue",
400
417
  "type": "stat-display",
401
- "value": "@entity.totalValue"
418
+ "value": "@entity.totalValue",
419
+ "label": "TotalValue"
402
420
  },
403
421
  {
404
422
  "label": "DailyChange",
405
- "value": "@entity.dailyChange",
406
- "type": "stat-display"
423
+ "type": "stat-display",
424
+ "value": "@entity.dailyChange"
407
425
  },
408
426
  {
409
427
  "value": "@entity.positions",
410
- "label": "Positions",
411
- "type": "stat-display"
428
+ "type": "stat-display",
429
+ "label": "Positions"
412
430
  },
413
431
  {
414
- "type": "stat-display",
415
432
  "value": "@entity.cashBalance",
416
- "label": "CashBalance"
433
+ "label": "CashBalance",
434
+ "type": "stat-display"
417
435
  }
418
436
  ],
419
437
  "type": "simple-grid"
420
438
  }
421
- ],
422
- "type": "box",
423
- "padding": "md"
439
+ ]
424
440
  },
425
441
  {
426
442
  "type": "divider"
427
443
  },
428
444
  {
429
- "cols": 2.0,
430
445
  "type": "grid",
446
+ "gap": "md",
431
447
  "children": [
432
448
  {
449
+ "type": "card",
433
450
  "children": [
434
451
  {
435
- "type": "typography",
436
452
  "variant": "caption",
453
+ "type": "typography",
437
454
  "content": "Chart View"
438
455
  }
439
- ],
440
- "type": "card"
456
+ ]
441
457
  },
442
458
  {
443
459
  "type": "card",
@@ -450,22 +466,22 @@
450
466
  ]
451
467
  }
452
468
  ],
453
- "gap": "md"
469
+ "cols": 2.0
454
470
  },
455
471
  {
456
472
  "type": "line-chart",
457
473
  "data": [
458
474
  {
459
- "value": 12.0,
460
- "date": "Jan"
475
+ "date": "Jan",
476
+ "value": 12.0
461
477
  },
462
478
  {
463
479
  "date": "Feb",
464
480
  "value": 19.0
465
481
  },
466
482
  {
467
- "value": 15.0,
468
- "date": "Mar"
483
+ "date": "Mar",
484
+ "value": 15.0
469
485
  },
470
486
  {
471
487
  "date": "Apr",
@@ -495,21 +511,21 @@
495
511
  ]
496
512
  },
497
513
  {
498
- "type": "graph-view",
499
514
  "nodes": [
500
515
  {
501
- "id": "a",
502
- "label": "Start"
516
+ "label": "Start",
517
+ "id": "a"
503
518
  },
504
519
  {
505
- "label": "Process",
506
- "id": "b"
520
+ "id": "b",
521
+ "label": "Process"
507
522
  },
508
523
  {
509
- "id": "c",
510
- "label": "End"
524
+ "label": "End",
525
+ "id": "c"
511
526
  }
512
527
  ],
528
+ "type": "graph-view",
513
529
  "width": 400.0,
514
530
  "edges": [
515
531
  {
@@ -517,37 +533,21 @@
517
533
  "target": "b"
518
534
  },
519
535
  {
520
- "source": "b",
521
- "target": "c"
536
+ "target": "c",
537
+ "source": "b"
522
538
  }
523
539
  ],
524
540
  "height": 200.0
525
541
  }
526
542
  ],
543
+ "direction": "vertical",
544
+ "gap": "lg",
527
545
  "type": "stack"
528
546
  }
529
- ],
530
- "type": "scaled-diagram"
531
- }
532
- ],
533
- "navItems": [
534
- {
535
- "label": "Portfolio",
536
- "href": "/portfolio",
537
- "icon": "layout-list"
538
- },
539
- {
540
- "href": "/orders",
541
- "label": "Orders",
542
- "icon": "clipboard-list"
543
- },
544
- {
545
- "label": "Market",
546
- "href": "/market",
547
- "icon": "layout-list"
547
+ ]
548
548
  }
549
549
  ],
550
- "appName": "Trading Dashboard"
550
+ "type": "dashboard-layout"
551
551
  }
552
552
  ]
553
553
  ]
@@ -562,8 +562,8 @@
562
562
  "Portfolio",
563
563
  {
564
564
  "emit": {
565
- "failure": "PortfolioLoadFailed",
566
- "success": "PortfolioLoaded"
565
+ "success": "PortfolioLoaded",
566
+ "failure": "PortfolioLoadFailed"
567
567
  }
568
568
  }
569
569
  ],
@@ -571,50 +571,38 @@
571
571
  "render-ui",
572
572
  "main",
573
573
  {
574
- "navItems": [
575
- {
576
- "href": "/portfolio",
577
- "label": "Portfolio",
578
- "icon": "layout-list"
579
- },
580
- {
581
- "icon": "clipboard-list",
582
- "label": "Orders",
583
- "href": "/orders"
584
- },
585
- {
586
- "label": "Market",
587
- "href": "/market",
588
- "icon": "layout-list"
589
- }
590
- ],
591
- "appName": "Trading Dashboard",
574
+ "type": "dashboard-layout",
592
575
  "children": [
593
576
  {
594
577
  "type": "scaled-diagram",
595
578
  "children": [
596
579
  {
597
- "gap": "lg",
598
580
  "children": [
599
581
  {
600
- "type": "breadcrumb",
601
582
  "items": [
602
583
  {
603
- "label": "Home",
604
- "href": "/"
584
+ "href": "/",
585
+ "label": "Home"
605
586
  },
606
587
  {
607
588
  "label": "Portfolio"
608
589
  }
609
- ]
590
+ ],
591
+ "type": "breadcrumb"
610
592
  },
611
593
  {
594
+ "gap": "md",
595
+ "justify": "between",
596
+ "type": "stack",
597
+ "direction": "horizontal",
612
598
  "children": [
613
599
  {
600
+ "type": "stack",
601
+ "gap": "md",
614
602
  "children": [
615
603
  {
616
- "name": "trending-up",
617
- "type": "icon"
604
+ "type": "icon",
605
+ "name": "trending-up"
618
606
  },
619
607
  {
620
608
  "content": "Portfolio",
@@ -622,22 +610,16 @@
622
610
  "variant": "h2"
623
611
  }
624
612
  ],
625
- "gap": "md",
626
- "direction": "horizontal",
627
- "type": "stack"
613
+ "direction": "horizontal"
628
614
  },
629
615
  {
630
- "label": "Refresh",
631
- "icon": "refresh-cw",
632
- "action": "REFRESH",
633
616
  "variant": "secondary",
634
- "type": "button"
617
+ "action": "REFRESH",
618
+ "label": "Refresh",
619
+ "type": "button",
620
+ "icon": "refresh-cw"
635
621
  }
636
- ],
637
- "gap": "md",
638
- "type": "stack",
639
- "direction": "horizontal",
640
- "justify": "between"
622
+ ]
641
623
  },
642
624
  {
643
625
  "type": "divider"
@@ -649,24 +631,24 @@
649
631
  {
650
632
  "children": [
651
633
  {
652
- "label": "TotalValue",
634
+ "type": "stat-display",
653
635
  "value": "@entity.totalValue",
654
- "type": "stat-display"
636
+ "label": "TotalValue"
655
637
  },
656
638
  {
657
- "label": "DailyChange",
658
639
  "type": "stat-display",
640
+ "label": "DailyChange",
659
641
  "value": "@entity.dailyChange"
660
642
  },
661
643
  {
662
- "value": "@entity.positions",
663
644
  "type": "stat-display",
664
- "label": "Positions"
645
+ "label": "Positions",
646
+ "value": "@entity.positions"
665
647
  },
666
648
  {
667
649
  "value": "@entity.cashBalance",
668
- "type": "stat-display",
669
- "label": "CashBalance"
650
+ "label": "CashBalance",
651
+ "type": "stat-display"
670
652
  }
671
653
  ],
672
654
  "type": "simple-grid",
@@ -679,49 +661,49 @@
679
661
  },
680
662
  {
681
663
  "cols": 2.0,
664
+ "type": "grid",
682
665
  "gap": "md",
683
666
  "children": [
684
667
  {
685
668
  "children": [
686
669
  {
670
+ "variant": "caption",
687
671
  "type": "typography",
688
- "content": "Chart View",
689
- "variant": "caption"
672
+ "content": "Chart View"
690
673
  }
691
674
  ],
692
675
  "type": "card"
693
676
  },
694
677
  {
695
- "type": "card",
696
678
  "children": [
697
679
  {
698
680
  "variant": "caption",
699
- "content": "Graph View",
700
- "type": "typography"
681
+ "type": "typography",
682
+ "content": "Graph View"
701
683
  }
702
- ]
684
+ ],
685
+ "type": "card"
703
686
  }
704
- ],
705
- "type": "grid"
687
+ ]
706
688
  },
707
689
  {
708
690
  "type": "line-chart",
709
691
  "data": [
710
692
  {
711
- "value": 12.0,
712
- "date": "Jan"
693
+ "date": "Jan",
694
+ "value": 12.0
713
695
  },
714
696
  {
715
697
  "value": 19.0,
716
698
  "date": "Feb"
717
699
  },
718
700
  {
719
- "value": 15.0,
720
- "date": "Mar"
701
+ "date": "Mar",
702
+ "value": 15.0
721
703
  },
722
704
  {
723
- "date": "Apr",
724
- "value": 25.0
705
+ "value": 25.0,
706
+ "date": "Apr"
725
707
  },
726
708
  {
727
709
  "value": 22.0,
@@ -747,42 +729,60 @@
747
729
  "type": "chart-legend"
748
730
  },
749
731
  {
750
- "nodes": [
751
- {
752
- "id": "a",
753
- "label": "Start"
754
- },
732
+ "width": 400.0,
733
+ "height": 200.0,
734
+ "type": "graph-view",
735
+ "edges": [
755
736
  {
756
- "label": "Process",
757
- "id": "b"
737
+ "target": "b",
738
+ "source": "a"
758
739
  },
759
740
  {
760
- "id": "c",
761
- "label": "End"
741
+ "target": "c",
742
+ "source": "b"
762
743
  }
763
744
  ],
764
- "height": 200.0,
765
- "width": 400.0,
766
- "edges": [
745
+ "nodes": [
767
746
  {
768
- "source": "a",
769
- "target": "b"
747
+ "label": "Start",
748
+ "id": "a"
770
749
  },
771
750
  {
772
- "source": "b",
773
- "target": "c"
751
+ "id": "b",
752
+ "label": "Process"
753
+ },
754
+ {
755
+ "id": "c",
756
+ "label": "End"
774
757
  }
775
- ],
776
- "type": "graph-view"
758
+ ]
777
759
  }
778
760
  ],
779
761
  "direction": "vertical",
780
- "type": "stack"
762
+ "type": "stack",
763
+ "gap": "lg"
781
764
  }
782
765
  ]
783
766
  }
784
767
  ],
785
- "type": "dashboard-layout"
768
+ "navItems": [
769
+ {
770
+ "label": "Portfolio",
771
+ "icon": "layout-list",
772
+ "href": "/portfolio"
773
+ },
774
+ {
775
+ "icon": "clipboard-list",
776
+ "label": "Orders",
777
+ "href": "/orders"
778
+ },
779
+ {
780
+ "label": "Market",
781
+ "href": "/market",
782
+ "icon": "layout-list"
783
+ }
784
+ ],
785
+ "appName": "Trading Dashboard"
786
786
  }
787
787
  ]
788
788
  ]
@@ -806,24 +806,7 @@
806
806
  "render-ui",
807
807
  "main",
808
808
  {
809
- "navItems": [
810
- {
811
- "label": "Portfolio",
812
- "href": "/portfolio",
813
- "icon": "layout-list"
814
- },
815
- {
816
- "label": "Orders",
817
- "icon": "clipboard-list",
818
- "href": "/orders"
819
- },
820
- {
821
- "label": "Market",
822
- "icon": "layout-list",
823
- "href": "/market"
824
- }
825
- ],
826
- "type": "dashboard-layout",
809
+ "appName": "Trading Dashboard",
827
810
  "children": [
828
811
  {
829
812
  "type": "scaled-diagram",
@@ -837,8 +820,8 @@
837
820
  "type": "breadcrumb",
838
821
  "items": [
839
822
  {
840
- "href": "/",
841
- "label": "Home"
823
+ "label": "Home",
824
+ "href": "/"
842
825
  },
843
826
  {
844
827
  "label": "Portfolio"
@@ -846,14 +829,11 @@
846
829
  ]
847
830
  },
848
831
  {
849
- "gap": "md",
850
832
  "type": "stack",
851
833
  "direction": "horizontal",
852
834
  "justify": "between",
853
835
  "children": [
854
836
  {
855
- "type": "stack",
856
- "direction": "horizontal",
857
837
  "gap": "md",
858
838
  "children": [
859
839
  {
@@ -865,59 +845,59 @@
865
845
  "content": "Portfolio",
866
846
  "type": "typography"
867
847
  }
868
- ]
848
+ ],
849
+ "direction": "horizontal",
850
+ "type": "stack"
869
851
  },
870
852
  {
871
- "variant": "secondary",
853
+ "icon": "refresh-cw",
872
854
  "action": "REFRESH",
873
- "type": "button",
855
+ "variant": "secondary",
874
856
  "label": "Refresh",
875
- "icon": "refresh-cw"
857
+ "type": "button"
876
858
  }
877
- ]
859
+ ],
860
+ "gap": "md"
878
861
  },
879
862
  {
880
863
  "type": "divider"
881
864
  },
882
865
  {
866
+ "type": "box",
867
+ "padding": "md",
883
868
  "children": [
884
869
  {
885
- "type": "simple-grid",
886
870
  "cols": 3.0,
887
871
  "children": [
888
872
  {
873
+ "type": "stat-display",
889
874
  "label": "TotalValue",
890
- "value": "@entity.totalValue",
891
- "type": "stat-display"
875
+ "value": "@entity.totalValue"
892
876
  },
893
877
  {
894
- "type": "stat-display",
895
878
  "label": "DailyChange",
879
+ "type": "stat-display",
896
880
  "value": "@entity.dailyChange"
897
881
  },
898
882
  {
899
- "type": "stat-display",
900
883
  "label": "Positions",
884
+ "type": "stat-display",
901
885
  "value": "@entity.positions"
902
886
  },
903
887
  {
904
- "value": "@entity.cashBalance",
905
888
  "type": "stat-display",
906
- "label": "CashBalance"
889
+ "label": "CashBalance",
890
+ "value": "@entity.cashBalance"
907
891
  }
908
- ]
892
+ ],
893
+ "type": "simple-grid"
909
894
  }
910
- ],
911
- "padding": "md",
912
- "type": "box"
895
+ ]
913
896
  },
914
897
  {
915
898
  "type": "divider"
916
899
  },
917
900
  {
918
- "type": "grid",
919
- "cols": 2.0,
920
- "gap": "md",
921
901
  "children": [
922
902
  {
923
903
  "children": [
@@ -934,19 +914,21 @@
934
914
  "children": [
935
915
  {
936
916
  "type": "typography",
937
- "content": "Graph View",
938
- "variant": "caption"
917
+ "variant": "caption",
918
+ "content": "Graph View"
939
919
  }
940
920
  ]
941
921
  }
942
- ]
922
+ ],
923
+ "gap": "md",
924
+ "cols": 2.0,
925
+ "type": "grid"
943
926
  },
944
927
  {
945
- "type": "line-chart",
946
928
  "data": [
947
929
  {
948
- "value": 12.0,
949
- "date": "Jan"
930
+ "date": "Jan",
931
+ "value": 12.0
950
932
  },
951
933
  {
952
934
  "value": 19.0,
@@ -957,18 +939,19 @@
957
939
  "value": 15.0
958
940
  },
959
941
  {
960
- "value": 25.0,
961
- "date": "Apr"
942
+ "date": "Apr",
943
+ "value": 25.0
962
944
  },
963
945
  {
964
- "value": 22.0,
965
- "date": "May"
946
+ "date": "May",
947
+ "value": 22.0
966
948
  },
967
949
  {
968
950
  "value": 30.0,
969
951
  "date": "Jun"
970
952
  }
971
- ]
953
+ ],
954
+ "type": "line-chart"
972
955
  },
973
956
  {
974
957
  "type": "chart-legend",
@@ -978,37 +961,37 @@
978
961
  "color": "primary"
979
962
  },
980
963
  {
981
- "label": "Previous",
982
- "color": "muted"
964
+ "color": "muted",
965
+ "label": "Previous"
983
966
  }
984
967
  ]
985
968
  },
986
969
  {
987
- "width": 400.0,
988
- "height": 200.0,
989
970
  "type": "graph-view",
990
971
  "edges": [
991
972
  {
992
- "target": "b",
993
- "source": "a"
973
+ "source": "a",
974
+ "target": "b"
994
975
  },
995
976
  {
996
977
  "target": "c",
997
978
  "source": "b"
998
979
  }
999
980
  ],
981
+ "width": 400.0,
982
+ "height": 200.0,
1000
983
  "nodes": [
1001
984
  {
1002
985
  "id": "a",
1003
986
  "label": "Start"
1004
987
  },
1005
988
  {
1006
- "id": "b",
1007
- "label": "Process"
989
+ "label": "Process",
990
+ "id": "b"
1008
991
  },
1009
992
  {
1010
- "label": "End",
1011
- "id": "c"
993
+ "id": "c",
994
+ "label": "End"
1012
995
  }
1013
996
  ]
1014
997
  }
@@ -1017,7 +1000,24 @@
1017
1000
  ]
1018
1001
  }
1019
1002
  ],
1020
- "appName": "Trading Dashboard"
1003
+ "navItems": [
1004
+ {
1005
+ "label": "Portfolio",
1006
+ "href": "/portfolio",
1007
+ "icon": "layout-list"
1008
+ },
1009
+ {
1010
+ "label": "Orders",
1011
+ "href": "/orders",
1012
+ "icon": "clipboard-list"
1013
+ },
1014
+ {
1015
+ "href": "/market",
1016
+ "icon": "layout-list",
1017
+ "label": "Market"
1018
+ }
1019
+ ],
1020
+ "type": "dashboard-layout"
1021
1021
  }
1022
1022
  ]
1023
1023
  ]
@@ -1032,8 +1032,8 @@
1032
1032
  "Portfolio",
1033
1033
  {
1034
1034
  "emit": {
1035
- "success": "PortfolioLoaded",
1036
- "failure": "PortfolioLoadFailed"
1035
+ "failure": "PortfolioLoadFailed",
1036
+ "success": "PortfolioLoaded"
1037
1037
  }
1038
1038
  }
1039
1039
  ],
@@ -1042,18 +1042,38 @@
1042
1042
  "main",
1043
1043
  {
1044
1044
  "type": "dashboard-layout",
1045
+ "navItems": [
1046
+ {
1047
+ "href": "/portfolio",
1048
+ "icon": "layout-list",
1049
+ "label": "Portfolio"
1050
+ },
1051
+ {
1052
+ "label": "Orders",
1053
+ "href": "/orders",
1054
+ "icon": "clipboard-list"
1055
+ },
1056
+ {
1057
+ "label": "Market",
1058
+ "icon": "layout-list",
1059
+ "href": "/market"
1060
+ }
1061
+ ],
1062
+ "appName": "Trading Dashboard",
1045
1063
  "children": [
1046
1064
  {
1047
- "type": "scaled-diagram",
1048
1065
  "children": [
1049
1066
  {
1067
+ "gap": "lg",
1068
+ "direction": "vertical",
1069
+ "type": "stack",
1050
1070
  "children": [
1051
1071
  {
1052
1072
  "type": "breadcrumb",
1053
1073
  "items": [
1054
1074
  {
1055
- "label": "Home",
1056
- "href": "/"
1075
+ "href": "/",
1076
+ "label": "Home"
1057
1077
  },
1058
1078
  {
1059
1079
  "label": "Portfolio"
@@ -1061,15 +1081,12 @@
1061
1081
  ]
1062
1082
  },
1063
1083
  {
1064
- "direction": "horizontal",
1065
- "gap": "md",
1066
1084
  "type": "stack",
1085
+ "direction": "horizontal",
1067
1086
  "justify": "between",
1087
+ "gap": "md",
1068
1088
  "children": [
1069
1089
  {
1070
- "type": "stack",
1071
- "gap": "md",
1072
- "direction": "horizontal",
1073
1090
  "children": [
1074
1091
  {
1075
1092
  "type": "icon",
@@ -1077,17 +1094,20 @@
1077
1094
  },
1078
1095
  {
1079
1096
  "variant": "h2",
1080
- "content": "Portfolio",
1081
- "type": "typography"
1097
+ "type": "typography",
1098
+ "content": "Portfolio"
1082
1099
  }
1083
- ]
1100
+ ],
1101
+ "gap": "md",
1102
+ "type": "stack",
1103
+ "direction": "horizontal"
1084
1104
  },
1085
1105
  {
1086
1106
  "type": "button",
1087
- "label": "Refresh",
1088
- "variant": "secondary",
1089
1107
  "action": "REFRESH",
1090
- "icon": "refresh-cw"
1108
+ "icon": "refresh-cw",
1109
+ "variant": "secondary",
1110
+ "label": "Refresh"
1091
1111
  }
1092
1112
  ]
1093
1113
  },
@@ -1095,69 +1115,68 @@
1095
1115
  "type": "divider"
1096
1116
  },
1097
1117
  {
1098
- "padding": "md",
1099
1118
  "children": [
1100
1119
  {
1120
+ "cols": 3.0,
1101
1121
  "children": [
1102
1122
  {
1103
1123
  "value": "@entity.totalValue",
1104
- "label": "TotalValue",
1105
- "type": "stat-display"
1124
+ "type": "stat-display",
1125
+ "label": "TotalValue"
1106
1126
  },
1107
1127
  {
1108
- "label": "DailyChange",
1128
+ "value": "@entity.dailyChange",
1109
1129
  "type": "stat-display",
1110
- "value": "@entity.dailyChange"
1130
+ "label": "DailyChange"
1111
1131
  },
1112
1132
  {
1113
- "type": "stat-display",
1114
1133
  "value": "@entity.positions",
1134
+ "type": "stat-display",
1115
1135
  "label": "Positions"
1116
1136
  },
1117
1137
  {
1118
- "value": "@entity.cashBalance",
1138
+ "label": "CashBalance",
1119
1139
  "type": "stat-display",
1120
- "label": "CashBalance"
1140
+ "value": "@entity.cashBalance"
1121
1141
  }
1122
1142
  ],
1123
- "cols": 3.0,
1124
1143
  "type": "simple-grid"
1125
1144
  }
1126
1145
  ],
1146
+ "padding": "md",
1127
1147
  "type": "box"
1128
1148
  },
1129
1149
  {
1130
1150
  "type": "divider"
1131
1151
  },
1132
1152
  {
1133
- "type": "grid",
1134
- "gap": "md",
1135
- "cols": 2.0,
1136
1153
  "children": [
1137
1154
  {
1138
- "type": "card",
1139
1155
  "children": [
1140
1156
  {
1141
- "type": "typography",
1142
1157
  "variant": "caption",
1143
- "content": "Chart View"
1158
+ "content": "Chart View",
1159
+ "type": "typography"
1144
1160
  }
1145
- ]
1161
+ ],
1162
+ "type": "card"
1146
1163
  },
1147
1164
  {
1165
+ "type": "card",
1148
1166
  "children": [
1149
1167
  {
1168
+ "content": "Graph View",
1150
1169
  "variant": "caption",
1151
- "type": "typography",
1152
- "content": "Graph View"
1170
+ "type": "typography"
1153
1171
  }
1154
- ],
1155
- "type": "card"
1172
+ ]
1156
1173
  }
1157
- ]
1174
+ ],
1175
+ "type": "grid",
1176
+ "cols": 2.0,
1177
+ "gap": "md"
1158
1178
  },
1159
1179
  {
1160
- "type": "line-chart",
1161
1180
  "data": [
1162
1181
  {
1163
1182
  "value": 12.0,
@@ -1172,18 +1191,19 @@
1172
1191
  "date": "Mar"
1173
1192
  },
1174
1193
  {
1175
- "value": 25.0,
1176
- "date": "Apr"
1194
+ "date": "Apr",
1195
+ "value": 25.0
1177
1196
  },
1178
1197
  {
1179
- "value": 22.0,
1180
- "date": "May"
1198
+ "date": "May",
1199
+ "value": 22.0
1181
1200
  },
1182
1201
  {
1183
- "value": 30.0,
1184
- "date": "Jun"
1202
+ "date": "Jun",
1203
+ "value": 30.0
1185
1204
  }
1186
- ]
1205
+ ],
1206
+ "type": "line-chart"
1187
1207
  },
1188
1208
  {
1189
1209
  "type": "chart-legend",
@@ -1193,25 +1213,13 @@
1193
1213
  "label": "Current"
1194
1214
  },
1195
1215
  {
1196
- "label": "Previous",
1197
- "color": "muted"
1216
+ "color": "muted",
1217
+ "label": "Previous"
1198
1218
  }
1199
1219
  ]
1200
1220
  },
1201
1221
  {
1202
- "height": 200.0,
1203
- "edges": [
1204
- {
1205
- "target": "b",
1206
- "source": "a"
1207
- },
1208
- {
1209
- "target": "c",
1210
- "source": "b"
1211
- }
1212
- ],
1213
- "width": 400.0,
1214
- "nodes": [
1222
+ "nodes": [
1215
1223
  {
1216
1224
  "label": "Start",
1217
1225
  "id": "a"
@@ -1221,36 +1229,28 @@
1221
1229
  "label": "Process"
1222
1230
  },
1223
1231
  {
1224
- "label": "End",
1225
- "id": "c"
1232
+ "id": "c",
1233
+ "label": "End"
1234
+ }
1235
+ ],
1236
+ "edges": [
1237
+ {
1238
+ "source": "a",
1239
+ "target": "b"
1240
+ },
1241
+ {
1242
+ "target": "c",
1243
+ "source": "b"
1226
1244
  }
1227
1245
  ],
1228
- "type": "graph-view"
1246
+ "height": 200.0,
1247
+ "type": "graph-view",
1248
+ "width": 400.0
1229
1249
  }
1230
- ],
1231
- "gap": "lg",
1232
- "type": "stack",
1233
- "direction": "vertical"
1250
+ ]
1234
1251
  }
1235
- ]
1236
- }
1237
- ],
1238
- "appName": "Trading Dashboard",
1239
- "navItems": [
1240
- {
1241
- "label": "Portfolio",
1242
- "icon": "layout-list",
1243
- "href": "/portfolio"
1244
- },
1245
- {
1246
- "href": "/orders",
1247
- "label": "Orders",
1248
- "icon": "clipboard-list"
1249
- },
1250
- {
1251
- "label": "Market",
1252
- "icon": "layout-list",
1253
- "href": "/market"
1252
+ ],
1253
+ "type": "scaled-diagram"
1254
1254
  }
1255
1255
  ]
1256
1256
  }
@@ -1267,8 +1267,8 @@
1267
1267
  "Portfolio",
1268
1268
  {
1269
1269
  "emit": {
1270
- "success": "PortfolioLoaded",
1271
- "failure": "PortfolioLoadFailed"
1270
+ "failure": "PortfolioLoadFailed",
1271
+ "success": "PortfolioLoaded"
1272
1272
  }
1273
1273
  }
1274
1274
  ],
@@ -1276,6 +1276,23 @@
1276
1276
  "render-ui",
1277
1277
  "main",
1278
1278
  {
1279
+ "navItems": [
1280
+ {
1281
+ "label": "Portfolio",
1282
+ "href": "/portfolio",
1283
+ "icon": "layout-list"
1284
+ },
1285
+ {
1286
+ "label": "Orders",
1287
+ "href": "/orders",
1288
+ "icon": "clipboard-list"
1289
+ },
1290
+ {
1291
+ "href": "/market",
1292
+ "icon": "layout-list",
1293
+ "label": "Market"
1294
+ }
1295
+ ],
1279
1296
  "type": "dashboard-layout",
1280
1297
  "appName": "Trading Dashboard",
1281
1298
  "children": [
@@ -1288,25 +1305,22 @@
1288
1305
  "direction": "vertical",
1289
1306
  "children": [
1290
1307
  {
1291
- "type": "breadcrumb",
1292
1308
  "items": [
1293
1309
  {
1294
- "href": "/",
1295
- "label": "Home"
1310
+ "label": "Home",
1311
+ "href": "/"
1296
1312
  },
1297
1313
  {
1298
1314
  "label": "Portfolio"
1299
1315
  }
1300
- ]
1316
+ ],
1317
+ "type": "breadcrumb"
1301
1318
  },
1302
1319
  {
1303
- "type": "stack",
1304
- "gap": "md",
1305
1320
  "justify": "between",
1306
- "direction": "horizontal",
1321
+ "gap": "md",
1307
1322
  "children": [
1308
1323
  {
1309
- "type": "stack",
1310
1324
  "children": [
1311
1325
  {
1312
1326
  "type": "icon",
@@ -1318,52 +1332,55 @@
1318
1332
  "variant": "h2"
1319
1333
  }
1320
1334
  ],
1321
- "direction": "horizontal",
1322
- "gap": "md"
1335
+ "gap": "md",
1336
+ "type": "stack",
1337
+ "direction": "horizontal"
1323
1338
  },
1324
1339
  {
1325
- "action": "REFRESH",
1326
1340
  "label": "Refresh",
1327
- "variant": "secondary",
1341
+ "action": "REFRESH",
1342
+ "type": "button",
1328
1343
  "icon": "refresh-cw",
1329
- "type": "button"
1344
+ "variant": "secondary"
1330
1345
  }
1331
- ]
1346
+ ],
1347
+ "type": "stack",
1348
+ "direction": "horizontal"
1332
1349
  },
1333
1350
  {
1334
1351
  "type": "divider"
1335
1352
  },
1336
1353
  {
1337
1354
  "padding": "md",
1355
+ "type": "box",
1338
1356
  "children": [
1339
1357
  {
1340
1358
  "cols": 3.0,
1341
1359
  "type": "simple-grid",
1342
1360
  "children": [
1343
1361
  {
1362
+ "type": "stat-display",
1344
1363
  "label": "TotalValue",
1345
- "value": "@entity.totalValue",
1346
- "type": "stat-display"
1364
+ "value": "@entity.totalValue"
1347
1365
  },
1348
1366
  {
1349
- "type": "stat-display",
1350
1367
  "label": "DailyChange",
1351
- "value": "@entity.dailyChange"
1368
+ "value": "@entity.dailyChange",
1369
+ "type": "stat-display"
1352
1370
  },
1353
1371
  {
1354
1372
  "value": "@entity.positions",
1355
- "type": "stat-display",
1356
- "label": "Positions"
1373
+ "label": "Positions",
1374
+ "type": "stat-display"
1357
1375
  },
1358
1376
  {
1359
- "type": "stat-display",
1360
1377
  "label": "CashBalance",
1378
+ "type": "stat-display",
1361
1379
  "value": "@entity.cashBalance"
1362
1380
  }
1363
1381
  ]
1364
1382
  }
1365
- ],
1366
- "type": "box"
1383
+ ]
1367
1384
  },
1368
1385
  {
1369
1386
  "type": "divider"
@@ -1371,122 +1388,105 @@
1371
1388
  {
1372
1389
  "children": [
1373
1390
  {
1374
- "type": "card",
1375
1391
  "children": [
1376
1392
  {
1377
1393
  "content": "Chart View",
1378
1394
  "type": "typography",
1379
1395
  "variant": "caption"
1380
1396
  }
1381
- ]
1397
+ ],
1398
+ "type": "card"
1382
1399
  },
1383
1400
  {
1384
1401
  "children": [
1385
1402
  {
1403
+ "content": "Graph View",
1386
1404
  "type": "typography",
1387
- "variant": "caption",
1388
- "content": "Graph View"
1405
+ "variant": "caption"
1389
1406
  }
1390
1407
  ],
1391
1408
  "type": "card"
1392
1409
  }
1393
1410
  ],
1411
+ "gap": "md",
1394
1412
  "cols": 2.0,
1395
- "type": "grid",
1396
- "gap": "md"
1413
+ "type": "grid"
1397
1414
  },
1398
1415
  {
1399
1416
  "data": [
1400
1417
  {
1401
- "value": 12.0,
1402
- "date": "Jan"
1418
+ "date": "Jan",
1419
+ "value": 12.0
1403
1420
  },
1404
1421
  {
1405
- "value": 19.0,
1406
- "date": "Feb"
1422
+ "date": "Feb",
1423
+ "value": 19.0
1407
1424
  },
1408
1425
  {
1409
- "value": 15.0,
1410
- "date": "Mar"
1426
+ "date": "Mar",
1427
+ "value": 15.0
1411
1428
  },
1412
1429
  {
1413
1430
  "value": 25.0,
1414
1431
  "date": "Apr"
1415
1432
  },
1416
1433
  {
1417
- "value": 22.0,
1418
- "date": "May"
1434
+ "date": "May",
1435
+ "value": 22.0
1419
1436
  },
1420
1437
  {
1421
- "date": "Jun",
1422
- "value": 30.0
1438
+ "value": 30.0,
1439
+ "date": "Jun"
1423
1440
  }
1424
1441
  ],
1425
1442
  "type": "line-chart"
1426
1443
  },
1427
1444
  {
1428
- "type": "chart-legend",
1429
1445
  "items": [
1430
1446
  {
1431
- "label": "Current",
1432
- "color": "primary"
1447
+ "color": "primary",
1448
+ "label": "Current"
1433
1449
  },
1434
1450
  {
1435
- "label": "Previous",
1436
- "color": "muted"
1451
+ "color": "muted",
1452
+ "label": "Previous"
1437
1453
  }
1438
- ]
1454
+ ],
1455
+ "type": "chart-legend"
1439
1456
  },
1440
1457
  {
1441
1458
  "nodes": [
1442
1459
  {
1443
- "id": "a",
1444
- "label": "Start"
1460
+ "label": "Start",
1461
+ "id": "a"
1445
1462
  },
1446
1463
  {
1447
- "label": "Process",
1448
- "id": "b"
1464
+ "id": "b",
1465
+ "label": "Process"
1449
1466
  },
1450
1467
  {
1451
- "label": "End",
1452
- "id": "c"
1468
+ "id": "c",
1469
+ "label": "End"
1453
1470
  }
1454
1471
  ],
1455
1472
  "height": 200.0,
1456
- "width": 400.0,
1473
+ "type": "graph-view",
1457
1474
  "edges": [
1458
1475
  {
1459
- "source": "a",
1460
- "target": "b"
1476
+ "target": "b",
1477
+ "source": "a"
1461
1478
  },
1462
1479
  {
1463
1480
  "source": "b",
1464
1481
  "target": "c"
1465
1482
  }
1466
1483
  ],
1467
- "type": "graph-view"
1484
+ "width": 400.0
1468
1485
  }
1469
1486
  ]
1470
1487
  }
1471
1488
  ]
1472
1489
  }
1473
- ],
1474
- "navItems": [
1475
- {
1476
- "label": "Portfolio",
1477
- "href": "/portfolio",
1478
- "icon": "layout-list"
1479
- },
1480
- {
1481
- "icon": "clipboard-list",
1482
- "href": "/orders",
1483
- "label": "Orders"
1484
- },
1485
- {
1486
- "icon": "layout-list",
1487
- "label": "Market",
1488
- "href": "/market"
1489
- }
1490
1490
  ]
1491
1491
  }
1492
1492
  ]
@@ -1663,22 +1663,22 @@
1663
1663
  "render-ui",
1664
1664
  "main",
1665
1665
  {
1666
- "direction": "vertical",
1667
- "type": "stack",
1668
- "gap": "md",
1666
+ "align": "center",
1669
1667
  "className": "py-12",
1670
1668
  "children": [
1671
1669
  {
1672
1670
  "type": "spinner"
1673
1671
  },
1674
1672
  {
1675
- "type": "typography",
1676
- "variant": "caption",
1673
+ "content": "Loading orders…",
1677
1674
  "color": "muted",
1678
- "content": "Loading orders…"
1675
+ "type": "typography",
1676
+ "variant": "caption"
1679
1677
  }
1680
1678
  ],
1681
- "align": "center"
1679
+ "direction": "vertical",
1680
+ "type": "stack",
1681
+ "gap": "md"
1682
1682
  }
1683
1683
  ]
1684
1684
  ]
@@ -1692,20 +1692,22 @@
1692
1692
  "render-ui",
1693
1693
  "main",
1694
1694
  {
1695
- "type": "dashboard-layout",
1696
1695
  "appName": "Trading Dashboard",
1697
1696
  "children": [
1698
1697
  {
1699
- "direction": "vertical",
1700
1698
  "children": [
1701
1699
  {
1700
+ "justify": "between",
1701
+ "align": "center",
1702
+ "gap": "md",
1702
1703
  "type": "stack",
1704
+ "direction": "horizontal",
1703
1705
  "children": [
1704
1706
  {
1705
1707
  "direction": "horizontal",
1708
+ "align": "center",
1706
1709
  "type": "stack",
1707
1710
  "gap": "sm",
1708
- "align": "center",
1709
1711
  "children": [
1710
1712
  {
1711
1713
  "type": "icon",
@@ -1719,34 +1721,26 @@
1719
1721
  ]
1720
1722
  },
1721
1723
  {
1724
+ "direction": "horizontal",
1725
+ "gap": "sm",
1726
+ "type": "stack",
1722
1727
  "children": [
1723
1728
  {
1724
- "icon": "plus",
1725
- "variant": "primary",
1729
+ "label": "Create TradeOrder",
1726
1730
  "type": "button",
1727
1731
  "action": "CREATE",
1728
- "label": "Create TradeOrder"
1732
+ "variant": "primary",
1733
+ "icon": "plus"
1729
1734
  }
1730
- ],
1731
- "gap": "sm",
1732
- "type": "stack",
1733
- "direction": "horizontal"
1735
+ ]
1734
1736
  }
1735
- ],
1736
- "direction": "horizontal",
1737
- "align": "center",
1738
- "justify": "between",
1739
- "gap": "md"
1737
+ ]
1740
1738
  },
1741
1739
  {
1742
1740
  "type": "divider"
1743
1741
  },
1744
1742
  {
1745
- "variant": "card",
1746
1743
  "fields": [],
1747
- "gap": "sm",
1748
- "type": "data-list",
1749
- "entity": "@payload.data",
1750
1744
  "columns": [
1751
1745
  {
1752
1746
  "name": "symbol",
@@ -1754,8 +1748,8 @@
1754
1748
  "icon": "trending-up"
1755
1749
  },
1756
1750
  {
1757
- "name": "side",
1758
- "variant": "badge"
1751
+ "variant": "badge",
1752
+ "name": "side"
1759
1753
  },
1760
1754
  {
1761
1755
  "format": "number",
@@ -1763,16 +1757,20 @@
1763
1757
  "name": "quantity"
1764
1758
  },
1765
1759
  {
1766
- "name": "price",
1760
+ "variant": "h4",
1767
1761
  "format": "currency",
1768
- "variant": "h4"
1762
+ "name": "price"
1769
1763
  }
1770
1764
  ],
1765
+ "variant": "card",
1766
+ "entity": "@payload.data",
1767
+ "type": "data-list",
1768
+ "gap": "sm",
1771
1769
  "itemActions": [
1772
1770
  {
1771
+ "variant": "ghost",
1773
1772
  "label": "View",
1774
- "event": "VIEW",
1775
- "variant": "ghost"
1773
+ "event": "VIEW"
1776
1774
  },
1777
1775
  {
1778
1776
  "variant": "ghost",
@@ -1780,35 +1778,37 @@
1780
1778
  "event": "EDIT"
1781
1779
  },
1782
1780
  {
1783
- "label": "Delete",
1784
1781
  "variant": "danger",
1782
+ "label": "Delete",
1785
1783
  "event": "DELETE"
1786
1784
  }
1787
1785
  ]
1788
1786
  }
1789
1787
  ],
1790
- "type": "stack",
1791
1788
  "gap": "lg",
1789
+ "direction": "vertical",
1790
+ "type": "stack",
1792
1791
  "className": "max-w-5xl mx-auto w-full"
1793
1792
  }
1794
1793
  ],
1795
1794
  "navItems": [
1796
1795
  {
1796
+ "href": "/portfolio",
1797
1797
  "icon": "layout-list",
1798
- "label": "Portfolio",
1799
- "href": "/portfolio"
1798
+ "label": "Portfolio"
1800
1799
  },
1801
1800
  {
1802
1801
  "icon": "clipboard-list",
1803
- "href": "/orders",
1804
- "label": "Orders"
1802
+ "label": "Orders",
1803
+ "href": "/orders"
1805
1804
  },
1806
1805
  {
1807
1806
  "href": "/market",
1808
1807
  "label": "Market",
1809
1808
  "icon": "layout-list"
1810
1809
  }
1811
- ]
1810
+ ],
1811
+ "type": "dashboard-layout"
1812
1812
  }
1813
1813
  ]
1814
1814
  ]
@@ -1822,36 +1822,36 @@
1822
1822
  "render-ui",
1823
1823
  "main",
1824
1824
  {
1825
- "gap": "md",
1826
- "direction": "vertical",
1827
1825
  "type": "stack",
1826
+ "gap": "md",
1828
1827
  "className": "py-12",
1829
1828
  "align": "center",
1830
1829
  "children": [
1831
1830
  {
1832
- "color": "destructive",
1833
1831
  "name": "alert-triangle",
1832
+ "color": "destructive",
1834
1833
  "type": "icon"
1835
1834
  },
1836
1835
  {
1837
1836
  "type": "typography",
1838
- "content": "Failed to load orders",
1839
- "variant": "h3"
1837
+ "variant": "h3",
1838
+ "content": "Failed to load orders"
1840
1839
  },
1841
1840
  {
1842
1841
  "content": "@payload.error",
1843
- "type": "typography",
1842
+ "variant": "body",
1844
1843
  "color": "muted",
1845
- "variant": "body"
1844
+ "type": "typography"
1846
1845
  },
1847
1846
  {
1848
- "icon": "rotate-ccw",
1847
+ "type": "button",
1849
1848
  "action": "INIT",
1850
1849
  "variant": "primary",
1851
- "type": "button",
1852
- "label": "Retry"
1850
+ "label": "Retry",
1851
+ "icon": "rotate-ccw"
1853
1852
  }
1854
- ]
1853
+ ],
1854
+ "direction": "vertical"
1855
1855
  }
1856
1856
  ]
1857
1857
  ]
@@ -2012,8 +2012,14 @@
2012
2012
  "event": "INIT",
2013
2013
  "effects": [
2014
2014
  [
2015
- "ref",
2016
- "TradeOrder"
2015
+ "fetch",
2016
+ "TradeOrder",
2017
+ {
2018
+ "emit": {
2019
+ "failure": "TradeOrderLoadFailed",
2020
+ "success": "TradeOrderLoaded"
2021
+ }
2022
+ }
2017
2023
  ]
2018
2024
  ]
2019
2025
  },
@@ -2036,22 +2042,22 @@
2036
2042
  "render-ui",
2037
2043
  "modal",
2038
2044
  {
2045
+ "type": "stack",
2039
2046
  "direction": "vertical",
2040
- "gap": "md",
2041
2047
  "children": [
2042
2048
  {
2043
- "gap": "sm",
2044
- "direction": "horizontal",
2045
2049
  "type": "stack",
2050
+ "direction": "horizontal",
2051
+ "gap": "sm",
2046
2052
  "children": [
2047
2053
  {
2048
- "type": "icon",
2049
- "name": "plus-circle"
2054
+ "name": "plus-circle",
2055
+ "type": "icon"
2050
2056
  },
2051
2057
  {
2052
- "type": "typography",
2058
+ "variant": "h3",
2053
2059
  "content": "Create TradeOrder",
2054
- "variant": "h3"
2060
+ "type": "typography"
2055
2061
  }
2056
2062
  ]
2057
2063
  },
@@ -2059,19 +2065,19 @@
2059
2065
  "type": "divider"
2060
2066
  },
2061
2067
  {
2068
+ "submitEvent": "SAVE",
2069
+ "type": "form-section",
2062
2070
  "fields": [
2063
2071
  "symbol",
2064
2072
  "side",
2065
2073
  "quantity",
2066
2074
  "price"
2067
2075
  ],
2068
- "submitEvent": "SAVE",
2069
- "cancelEvent": "CLOSE",
2070
- "type": "form-section",
2071
- "mode": "create"
2076
+ "mode": "create",
2077
+ "cancelEvent": "CLOSE"
2072
2078
  }
2073
2079
  ],
2074
- "type": "stack"
2080
+ "gap": "md"
2075
2081
  }
2076
2082
  ]
2077
2083
  ]
@@ -2301,8 +2307,14 @@
2301
2307
  "event": "INIT",
2302
2308
  "effects": [
2303
2309
  [
2304
- "ref",
2305
- "TradeOrder"
2310
+ "fetch",
2311
+ "TradeOrder",
2312
+ {
2313
+ "emit": {
2314
+ "success": "TradeOrderLoaded",
2315
+ "failure": "TradeOrderLoadFailed"
2316
+ }
2317
+ }
2306
2318
  ]
2307
2319
  ]
2308
2320
  },
@@ -2316,8 +2328,8 @@
2316
2328
  "TradeOrder",
2317
2329
  {
2318
2330
  "emit": {
2319
- "failure": "TradeOrderLoadFailed",
2320
- "success": "TradeOrderLoaded"
2331
+ "success": "TradeOrderLoaded",
2332
+ "failure": "TradeOrderLoadFailed"
2321
2333
  },
2322
2334
  "id": "@payload.id"
2323
2335
  }
@@ -2326,10 +2338,14 @@
2326
2338
  "render-ui",
2327
2339
  "modal",
2328
2340
  {
2341
+ "gap": "md",
2329
2342
  "type": "stack",
2343
+ "direction": "vertical",
2330
2344
  "children": [
2331
2345
  {
2346
+ "type": "stack",
2332
2347
  "direction": "horizontal",
2348
+ "gap": "sm",
2333
2349
  "children": [
2334
2350
  {
2335
2351
  "type": "icon",
@@ -2337,32 +2353,28 @@
2337
2353
  },
2338
2354
  {
2339
2355
  "variant": "h3",
2340
- "type": "typography",
2341
- "content": "Edit TradeOrder"
2356
+ "content": "Edit TradeOrder",
2357
+ "type": "typography"
2342
2358
  }
2343
- ],
2344
- "gap": "sm",
2345
- "type": "stack"
2359
+ ]
2346
2360
  },
2347
2361
  {
2348
2362
  "type": "divider"
2349
2363
  },
2350
2364
  {
2351
- "cancelEvent": "CLOSE",
2365
+ "submitEvent": "SAVE",
2366
+ "type": "form-section",
2352
2367
  "fields": [
2353
2368
  "symbol",
2354
2369
  "side",
2355
2370
  "quantity",
2356
2371
  "price"
2357
2372
  ],
2373
+ "cancelEvent": "CLOSE",
2358
2374
  "mode": "edit",
2359
- "entity": "@payload.row",
2360
- "submitEvent": "SAVE",
2361
- "type": "form-section"
2375
+ "entity": "@payload.row"
2362
2376
  }
2363
- ],
2364
- "gap": "md",
2365
- "direction": "vertical"
2377
+ ]
2366
2378
  }
2367
2379
  ]
2368
2380
  ]
@@ -2403,8 +2415,8 @@
2403
2415
  "@payload.data",
2404
2416
  {
2405
2417
  "emit": {
2406
- "failure": "TradeOrderUpdateFailed",
2407
- "success": "TradeOrderUpdated"
2418
+ "success": "TradeOrderUpdated",
2419
+ "failure": "TradeOrderUpdateFailed"
2408
2420
  }
2409
2421
  }
2410
2422
  ],
@@ -2527,8 +2539,14 @@
2527
2539
  "event": "INIT",
2528
2540
  "effects": [
2529
2541
  [
2530
- "ref",
2531
- "TradeOrder"
2542
+ "fetch",
2543
+ "TradeOrder",
2544
+ {
2545
+ "emit": {
2546
+ "success": "TradeOrderLoaded",
2547
+ "failure": "TradeOrderLoadFailed"
2548
+ }
2549
+ }
2532
2550
  ]
2533
2551
  ]
2534
2552
  },
@@ -2543,8 +2561,8 @@
2543
2561
  {
2544
2562
  "id": "@payload.id",
2545
2563
  "emit": {
2546
- "success": "TradeOrderLoaded",
2547
- "failure": "TradeOrderLoadFailed"
2564
+ "failure": "TradeOrderLoadFailed",
2565
+ "success": "TradeOrderLoaded"
2548
2566
  }
2549
2567
  }
2550
2568
  ],
@@ -2552,11 +2570,14 @@
2552
2570
  "render-ui",
2553
2571
  "modal",
2554
2572
  {
2555
- "gap": "md",
2556
2573
  "type": "stack",
2557
2574
  "direction": "vertical",
2558
2575
  "children": [
2559
2576
  {
2577
+ "direction": "horizontal",
2578
+ "gap": "sm",
2579
+ "type": "stack",
2580
+ "align": "center",
2560
2581
  "children": [
2561
2582
  {
2562
2583
  "name": "eye",
@@ -2564,21 +2585,17 @@
2564
2585
  },
2565
2586
  {
2566
2587
  "type": "typography",
2567
- "variant": "h3",
2568
- "content": "@entity.symbol"
2588
+ "content": "@entity.symbol",
2589
+ "variant": "h3"
2569
2590
  }
2570
- ],
2571
- "direction": "horizontal",
2572
- "align": "center",
2573
- "type": "stack",
2574
- "gap": "sm"
2591
+ ]
2575
2592
  },
2576
2593
  {
2577
2594
  "type": "divider"
2578
2595
  },
2579
2596
  {
2597
+ "type": "stack",
2580
2598
  "direction": "horizontal",
2581
- "gap": "md",
2582
2599
  "children": [
2583
2600
  {
2584
2601
  "content": "Symbol",
@@ -2591,49 +2608,50 @@
2591
2608
  "type": "typography"
2592
2609
  }
2593
2610
  ],
2594
- "type": "stack"
2611
+ "gap": "md"
2595
2612
  },
2596
2613
  {
2597
- "type": "stack",
2614
+ "gap": "md",
2598
2615
  "direction": "horizontal",
2599
2616
  "children": [
2600
2617
  {
2601
- "variant": "caption",
2618
+ "content": "Side",
2602
2619
  "type": "typography",
2603
- "content": "Side"
2620
+ "variant": "caption"
2604
2621
  },
2605
2622
  {
2606
- "content": "@entity.side",
2623
+ "type": "typography",
2607
2624
  "variant": "body",
2608
- "type": "typography"
2625
+ "content": "@entity.side"
2609
2626
  }
2610
2627
  ],
2611
- "gap": "md"
2628
+ "type": "stack"
2612
2629
  },
2613
2630
  {
2614
2631
  "type": "stack",
2615
- "direction": "horizontal",
2616
2632
  "children": [
2617
2633
  {
2634
+ "variant": "caption",
2618
2635
  "type": "typography",
2619
- "content": "Quantity",
2620
- "variant": "caption"
2636
+ "content": "Quantity"
2621
2637
  },
2622
2638
  {
2623
- "content": "@entity.quantity",
2624
2639
  "type": "typography",
2640
+ "content": "@entity.quantity",
2625
2641
  "variant": "body"
2626
2642
  }
2627
2643
  ],
2628
- "gap": "md"
2644
+ "gap": "md",
2645
+ "direction": "horizontal"
2629
2646
  },
2630
2647
  {
2631
2648
  "direction": "horizontal",
2649
+ "type": "stack",
2632
2650
  "gap": "md",
2633
2651
  "children": [
2634
2652
  {
2635
- "content": "Price",
2636
2653
  "variant": "caption",
2654
+ "content": "Price",
2637
2655
  "type": "typography"
2638
2656
  },
2639
2657
  {
@@ -2641,34 +2659,34 @@
2641
2659
  "content": "@entity.price",
2642
2660
  "type": "typography"
2643
2661
  }
2644
- ],
2645
- "type": "stack"
2662
+ ]
2646
2663
  },
2647
2664
  {
2648
2665
  "type": "divider"
2649
2666
  },
2650
2667
  {
2668
+ "gap": "sm",
2669
+ "justify": "end",
2651
2670
  "children": [
2652
2671
  {
2653
- "action": "EDIT",
2654
- "label": "Edit",
2655
- "variant": "primary",
2656
2672
  "type": "button",
2657
- "icon": "edit"
2673
+ "variant": "primary",
2674
+ "icon": "edit",
2675
+ "action": "EDIT",
2676
+ "label": "Edit"
2658
2677
  },
2659
2678
  {
2660
- "variant": "ghost",
2661
2679
  "label": "Close",
2662
2680
  "action": "CLOSE",
2663
- "type": "button"
2681
+ "type": "button",
2682
+ "variant": "ghost"
2664
2683
  }
2665
2684
  ],
2666
- "type": "stack",
2667
2685
  "direction": "horizontal",
2668
- "justify": "end",
2669
- "gap": "sm"
2686
+ "type": "stack"
2670
2687
  }
2671
- ]
2688
+ ],
2689
+ "gap": "md"
2672
2690
  }
2673
2691
  ]
2674
2692
  ]
@@ -2876,8 +2894,14 @@
2876
2894
  "event": "INIT",
2877
2895
  "effects": [
2878
2896
  [
2879
- "ref",
2880
- "TradeOrder"
2897
+ "fetch",
2898
+ "TradeOrder",
2899
+ {
2900
+ "emit": {
2901
+ "success": "TradeOrderLoaded",
2902
+ "failure": "TradeOrderLoadFailed"
2903
+ }
2904
+ }
2881
2905
  ]
2882
2906
  ]
2883
2907
  },
@@ -2897,8 +2921,8 @@
2897
2921
  {
2898
2922
  "id": "@payload.id",
2899
2923
  "emit": {
2900
- "success": "TradeOrderLoaded",
2901
- "failure": "TradeOrderLoadFailed"
2924
+ "failure": "TradeOrderLoadFailed",
2925
+ "success": "TradeOrderLoaded"
2902
2926
  }
2903
2927
  }
2904
2928
  ],
@@ -2906,57 +2930,57 @@
2906
2930
  "render-ui",
2907
2931
  "modal",
2908
2932
  {
2933
+ "direction": "vertical",
2909
2934
  "gap": "md",
2935
+ "type": "stack",
2910
2936
  "children": [
2911
2937
  {
2912
2938
  "direction": "horizontal",
2939
+ "type": "stack",
2940
+ "align": "center",
2913
2941
  "children": [
2914
2942
  {
2915
- "type": "icon",
2916
- "name": "alert-triangle"
2943
+ "name": "alert-triangle",
2944
+ "type": "icon"
2917
2945
  },
2918
2946
  {
2919
- "variant": "h3",
2920
2947
  "content": "Delete TradeOrder",
2921
- "type": "typography"
2948
+ "type": "typography",
2949
+ "variant": "h3"
2922
2950
  }
2923
2951
  ],
2924
- "type": "stack",
2925
- "gap": "sm",
2926
- "align": "center"
2952
+ "gap": "sm"
2927
2953
  },
2928
2954
  {
2929
2955
  "type": "divider"
2930
2956
  },
2931
2957
  {
2932
- "type": "alert",
2933
2958
  "message": "This action cannot be undone.",
2959
+ "type": "alert",
2934
2960
  "variant": "error"
2935
2961
  },
2936
2962
  {
2963
+ "type": "stack",
2964
+ "direction": "horizontal",
2965
+ "justify": "end",
2937
2966
  "children": [
2938
2967
  {
2939
- "type": "button",
2940
- "label": "Cancel",
2941
2968
  "variant": "ghost",
2942
- "action": "CANCEL"
2969
+ "label": "Cancel",
2970
+ "action": "CANCEL",
2971
+ "type": "button"
2943
2972
  },
2944
2973
  {
2945
- "icon": "check",
2946
2974
  "type": "button",
2947
- "action": "CONFIRM_DELETE",
2948
2975
  "label": "Delete",
2949
- "variant": "danger"
2976
+ "action": "CONFIRM_DELETE",
2977
+ "variant": "danger",
2978
+ "icon": "check"
2950
2979
  }
2951
2980
  ],
2952
- "justify": "end",
2953
- "type": "stack",
2954
- "gap": "sm",
2955
- "direction": "horizontal"
2981
+ "gap": "sm"
2956
2982
  }
2957
- ],
2958
- "direction": "vertical",
2959
- "type": "stack"
2983
+ ]
2960
2984
  }
2961
2985
  ]
2962
2986
  ]
@@ -2973,8 +2997,8 @@
2973
2997
  "@entity.pendingId",
2974
2998
  {
2975
2999
  "emit": {
2976
- "failure": "TradeOrderDeleteFailed",
2977
- "success": "TradeOrderDeleted"
3000
+ "success": "TradeOrderDeleted",
3001
+ "failure": "TradeOrderDeleteFailed"
2978
3002
  }
2979
3003
  }
2980
3004
  ],
@@ -2991,8 +3015,14 @@
2991
3015
  }
2992
3016
  ],
2993
3017
  [
2994
- "ref",
2995
- "TradeOrder"
3018
+ "fetch",
3019
+ "TradeOrder",
3020
+ {
3021
+ "emit": {
3022
+ "success": "TradeOrderLoaded",
3023
+ "failure": "TradeOrderLoadFailed"
3024
+ }
3025
+ }
2996
3026
  ],
2997
3027
  [
2998
3028
  "emit",
@@ -3018,8 +3048,14 @@
3018
3048
  }
3019
3049
  ],
3020
3050
  [
3021
- "ref",
3022
- "TradeOrder"
3051
+ "fetch",
3052
+ "TradeOrder",
3053
+ {
3054
+ "emit": {
3055
+ "failure": "TradeOrderLoadFailed",
3056
+ "success": "TradeOrderLoaded"
3057
+ }
3058
+ }
3023
3059
  ]
3024
3060
  ]
3025
3061
  },
@@ -3041,8 +3077,14 @@
3041
3077
  }
3042
3078
  ],
3043
3079
  [
3044
- "ref",
3045
- "TradeOrder"
3080
+ "fetch",
3081
+ "TradeOrder",
3082
+ {
3083
+ "emit": {
3084
+ "success": "TradeOrderLoaded",
3085
+ "failure": "TradeOrderLoadFailed"
3086
+ }
3087
+ }
3046
3088
  ]
3047
3089
  ]
3048
3090
  }
@@ -3279,30 +3321,14 @@
3279
3321
  "render-ui",
3280
3322
  "main",
3281
3323
  {
3282
- "appName": "Trading Dashboard",
3283
- "navItems": [
3284
- {
3285
- "label": "Portfolio",
3286
- "href": "/portfolio",
3287
- "icon": "layout-list"
3288
- },
3289
- {
3290
- "href": "/orders",
3291
- "label": "Orders",
3292
- "icon": "clipboard-list"
3293
- },
3294
- {
3295
- "href": "/market",
3296
- "icon": "layout-list",
3297
- "label": "Market"
3298
- }
3299
- ],
3300
3324
  "children": [
3301
3325
  {
3302
- "align": "center",
3303
3326
  "children": [
3304
3327
  {
3328
+ "direction": "horizontal",
3329
+ "type": "stack",
3305
3330
  "align": "center",
3331
+ "gap": "md",
3306
3332
  "children": [
3307
3333
  {
3308
3334
  "type": "icon",
@@ -3310,34 +3336,50 @@
3310
3336
  },
3311
3337
  {
3312
3338
  "variant": "h2",
3313
- "content": "MarketFeed",
3314
- "type": "typography"
3339
+ "type": "typography",
3340
+ "content": "MarketFeed"
3315
3341
  }
3316
- ],
3317
- "type": "stack",
3318
- "direction": "horizontal",
3319
- "gap": "md"
3342
+ ]
3320
3343
  },
3321
3344
  {
3322
3345
  "type": "divider"
3323
3346
  },
3324
3347
  {
3325
- "type": "typography",
3348
+ "color": "muted",
3326
3349
  "content": "Ready to start marketfeed operation.",
3327
3350
  "variant": "body",
3328
- "color": "muted"
3351
+ "type": "typography"
3329
3352
  },
3330
3353
  {
3331
- "icon": "play",
3332
3354
  "action": "START",
3333
- "label": "Start",
3334
3355
  "variant": "primary",
3356
+ "label": "Start",
3357
+ "icon": "play",
3335
3358
  "type": "button"
3336
3359
  }
3337
3360
  ],
3338
- "type": "stack",
3339
3361
  "gap": "lg",
3340
- "direction": "vertical"
3362
+ "direction": "vertical",
3363
+ "type": "stack",
3364
+ "align": "center"
3365
+ }
3366
+ ],
3367
+ "appName": "Trading Dashboard",
3368
+ "navItems": [
3369
+ {
3370
+ "href": "/portfolio",
3371
+ "icon": "layout-list",
3372
+ "label": "Portfolio"
3373
+ },
3374
+ {
3375
+ "label": "Orders",
3376
+ "href": "/orders",
3377
+ "icon": "clipboard-list"
3378
+ },
3379
+ {
3380
+ "href": "/market",
3381
+ "label": "Market",
3382
+ "icon": "layout-list"
3341
3383
  }
3342
3384
  ],
3343
3385
  "type": "dashboard-layout"
@@ -3354,8 +3396,13 @@
3354
3396
  "render-ui",
3355
3397
  "main",
3356
3398
  {
3399
+ "appName": "Trading Dashboard",
3400
+ "type": "dashboard-layout",
3357
3401
  "children": [
3358
3402
  {
3403
+ "type": "stack",
3404
+ "direction": "vertical",
3405
+ "gap": "lg",
3359
3406
  "align": "center",
3360
3407
  "children": [
3361
3408
  {
@@ -3364,27 +3411,22 @@
3364
3411
  "type": "loading-state"
3365
3412
  },
3366
3413
  {
3367
- "type": "skeleton",
3368
- "variant": "text"
3414
+ "variant": "text",
3415
+ "type": "skeleton"
3369
3416
  }
3370
- ],
3371
- "gap": "lg",
3372
- "direction": "vertical",
3373
- "type": "stack"
3417
+ ]
3374
3418
  }
3375
3419
  ],
3376
- "appName": "Trading Dashboard",
3377
- "type": "dashboard-layout",
3378
3420
  "navItems": [
3379
3421
  {
3380
3422
  "href": "/portfolio",
3381
- "label": "Portfolio",
3382
- "icon": "layout-list"
3423
+ "icon": "layout-list",
3424
+ "label": "Portfolio"
3383
3425
  },
3384
3426
  {
3385
- "href": "/orders",
3386
3427
  "icon": "clipboard-list",
3387
- "label": "Orders"
3428
+ "label": "Orders",
3429
+ "href": "/orders"
3388
3430
  },
3389
3431
  {
3390
3432
  "label": "Market",
@@ -3417,57 +3459,57 @@
3417
3459
  "render-ui",
3418
3460
  "main",
3419
3461
  {
3420
- "navItems": [
3421
- {
3422
- "label": "Portfolio",
3423
- "icon": "layout-list",
3424
- "href": "/portfolio"
3425
- },
3426
- {
3427
- "href": "/orders",
3428
- "label": "Orders",
3429
- "icon": "clipboard-list"
3430
- },
3431
- {
3432
- "href": "/market",
3433
- "icon": "layout-list",
3434
- "label": "Market"
3435
- }
3436
- ],
3437
3462
  "type": "dashboard-layout",
3438
- "appName": "Trading Dashboard",
3439
3463
  "children": [
3440
3464
  {
3441
- "direction": "vertical",
3465
+ "type": "stack",
3442
3466
  "gap": "lg",
3467
+ "align": "center",
3443
3468
  "children": [
3444
3469
  {
3445
- "name": "check-circle",
3446
- "type": "icon"
3470
+ "type": "icon",
3471
+ "name": "check-circle"
3447
3472
  },
3448
3473
  {
3449
- "type": "alert",
3474
+ "variant": "success",
3450
3475
  "message": "Market feed connected.",
3451
- "variant": "success"
3476
+ "type": "alert"
3452
3477
  },
3453
3478
  {
3479
+ "gap": "sm",
3480
+ "direction": "horizontal",
3481
+ "justify": "center",
3454
3482
  "children": [
3455
3483
  {
3456
- "variant": "ghost",
3457
3484
  "icon": "rotate-ccw",
3485
+ "type": "button",
3458
3486
  "label": "Reset",
3459
3487
  "action": "RESET",
3460
- "type": "button"
3488
+ "variant": "ghost"
3461
3489
  }
3462
3490
  ],
3463
- "justify": "center",
3464
- "direction": "horizontal",
3465
- "gap": "sm",
3466
3491
  "type": "stack"
3467
3492
  }
3468
3493
  ],
3469
- "align": "center",
3470
- "type": "stack"
3494
+ "direction": "vertical"
3495
+ }
3496
+ ],
3497
+ "appName": "Trading Dashboard",
3498
+ "navItems": [
3499
+ {
3500
+ "href": "/portfolio",
3501
+ "label": "Portfolio",
3502
+ "icon": "layout-list"
3503
+ },
3504
+ {
3505
+ "label": "Orders",
3506
+ "icon": "clipboard-list",
3507
+ "href": "/orders"
3508
+ },
3509
+ {
3510
+ "href": "/market",
3511
+ "label": "Market",
3512
+ "icon": "layout-list"
3471
3513
  }
3472
3514
  ]
3473
3515
  }
@@ -3483,63 +3525,63 @@
3483
3525
  "render-ui",
3484
3526
  "main",
3485
3527
  {
3486
- "appName": "Trading Dashboard",
3487
- "navItems": [
3488
- {
3489
- "label": "Portfolio",
3490
- "href": "/portfolio",
3491
- "icon": "layout-list"
3492
- },
3493
- {
3494
- "label": "Orders",
3495
- "href": "/orders",
3496
- "icon": "clipboard-list"
3497
- },
3498
- {
3499
- "icon": "layout-list",
3500
- "label": "Market",
3501
- "href": "/market"
3502
- }
3503
- ],
3504
3528
  "type": "dashboard-layout",
3505
3529
  "children": [
3506
3530
  {
3531
+ "type": "stack",
3532
+ "gap": "lg",
3507
3533
  "align": "center",
3534
+ "direction": "vertical",
3508
3535
  "children": [
3509
3536
  {
3510
- "title": "Operation Failed",
3511
3537
  "type": "error-state",
3512
- "message": "Market feed disconnected.",
3513
- "onRetry": "RETRY"
3538
+ "onRetry": "RETRY",
3539
+ "title": "Operation Failed",
3540
+ "message": "Market feed disconnected."
3514
3541
  },
3515
3542
  {
3516
- "type": "stack",
3517
- "gap": "sm",
3518
- "justify": "center",
3519
- "direction": "horizontal",
3520
3543
  "children": [
3521
3544
  {
3522
3545
  "variant": "primary",
3523
- "action": "RETRY",
3524
3546
  "type": "button",
3525
3547
  "icon": "refresh-cw",
3526
- "label": "Retry"
3548
+ "label": "Retry",
3549
+ "action": "RETRY"
3527
3550
  },
3528
3551
  {
3529
- "label": "Reset",
3530
3552
  "icon": "rotate-ccw",
3553
+ "label": "Reset",
3531
3554
  "type": "button",
3532
3555
  "action": "RESET",
3533
3556
  "variant": "ghost"
3534
3557
  }
3535
- ]
3558
+ ],
3559
+ "justify": "center",
3560
+ "direction": "horizontal",
3561
+ "type": "stack",
3562
+ "gap": "sm"
3536
3563
  }
3537
- ],
3538
- "direction": "vertical",
3539
- "type": "stack",
3540
- "gap": "lg"
3564
+ ]
3541
3565
  }
3542
- ]
3566
+ ],
3567
+ "navItems": [
3568
+ {
3569
+ "href": "/portfolio",
3570
+ "label": "Portfolio",
3571
+ "icon": "layout-list"
3572
+ },
3573
+ {
3574
+ "href": "/orders",
3575
+ "icon": "clipboard-list",
3576
+ "label": "Orders"
3577
+ },
3578
+ {
3579
+ "label": "Market",
3580
+ "href": "/market",
3581
+ "icon": "layout-list"
3582
+ }
3583
+ ],
3584
+ "appName": "Trading Dashboard"
3543
3585
  }
3544
3586
  ]
3545
3587
  ]
@@ -3553,6 +3595,7 @@
3553
3595
  "render-ui",
3554
3596
  "main",
3555
3597
  {
3598
+ "type": "dashboard-layout",
3556
3599
  "navItems": [
3557
3600
  {
3558
3601
  "label": "Portfolio",
@@ -3560,61 +3603,60 @@
3560
3603
  "icon": "layout-list"
3561
3604
  },
3562
3605
  {
3563
- "href": "/orders",
3564
3606
  "label": "Orders",
3607
+ "href": "/orders",
3565
3608
  "icon": "clipboard-list"
3566
3609
  },
3567
3610
  {
3568
3611
  "label": "Market",
3569
- "href": "/market",
3570
- "icon": "layout-list"
3612
+ "icon": "layout-list",
3613
+ "href": "/market"
3571
3614
  }
3572
3615
  ],
3616
+ "appName": "Trading Dashboard",
3573
3617
  "children": [
3574
3618
  {
3619
+ "gap": "lg",
3575
3620
  "type": "stack",
3576
- "direction": "vertical",
3577
3621
  "align": "center",
3578
3622
  "children": [
3579
3623
  {
3580
- "align": "center",
3581
- "type": "stack",
3582
3624
  "gap": "md",
3625
+ "type": "stack",
3626
+ "direction": "horizontal",
3627
+ "align": "center",
3583
3628
  "children": [
3584
3629
  {
3585
3630
  "name": "activity",
3586
3631
  "type": "icon"
3587
3632
  },
3588
3633
  {
3589
- "type": "typography",
3634
+ "variant": "h2",
3590
3635
  "content": "MarketFeed",
3591
- "variant": "h2"
3636
+ "type": "typography"
3592
3637
  }
3593
- ],
3594
- "direction": "horizontal"
3638
+ ]
3595
3639
  },
3596
3640
  {
3597
3641
  "type": "divider"
3598
3642
  },
3599
3643
  {
3600
- "variant": "body",
3601
3644
  "type": "typography",
3602
3645
  "color": "muted",
3646
+ "variant": "body",
3603
3647
  "content": "Ready to start marketfeed operation."
3604
3648
  },
3605
3649
  {
3606
3650
  "variant": "primary",
3607
- "type": "button",
3608
3651
  "icon": "play",
3652
+ "action": "START",
3609
3653
  "label": "Start",
3610
- "action": "START"
3654
+ "type": "button"
3611
3655
  }
3612
3656
  ],
3613
- "gap": "lg"
3657
+ "direction": "vertical"
3614
3658
  }
3615
- ],
3616
- "type": "dashboard-layout",
3617
- "appName": "Trading Dashboard"
3659
+ ]
3618
3660
  }
3619
3661
  ]
3620
3662
  ]
@@ -3628,50 +3670,51 @@
3628
3670
  "render-ui",
3629
3671
  "main",
3630
3672
  {
3673
+ "appName": "Trading Dashboard",
3674
+ "type": "dashboard-layout",
3631
3675
  "children": [
3632
3676
  {
3633
- "type": "stack",
3634
3677
  "direction": "vertical",
3635
- "gap": "lg",
3636
- "align": "center",
3637
3678
  "children": [
3638
3679
  {
3639
3680
  "type": "stack",
3640
- "direction": "horizontal",
3641
3681
  "children": [
3642
3682
  {
3643
- "name": "activity",
3644
- "type": "icon"
3683
+ "type": "icon",
3684
+ "name": "activity"
3645
3685
  },
3646
3686
  {
3647
- "type": "typography",
3648
3687
  "variant": "h2",
3688
+ "type": "typography",
3649
3689
  "content": "MarketFeed"
3650
3690
  }
3651
3691
  ],
3652
3692
  "align": "center",
3693
+ "direction": "horizontal",
3653
3694
  "gap": "md"
3654
3695
  },
3655
3696
  {
3656
3697
  "type": "divider"
3657
3698
  },
3658
3699
  {
3700
+ "color": "muted",
3659
3701
  "type": "typography",
3660
- "variant": "body",
3661
3702
  "content": "Ready to start marketfeed operation.",
3662
- "color": "muted"
3703
+ "variant": "body"
3663
3704
  },
3664
3705
  {
3665
- "variant": "primary",
3706
+ "icon": "play",
3666
3707
  "action": "START",
3667
- "label": "Start",
3668
3708
  "type": "button",
3669
- "icon": "play"
3709
+ "label": "Start",
3710
+ "variant": "primary"
3670
3711
  }
3671
- ]
3712
+ ],
3713
+ "type": "stack",
3714
+ "align": "center",
3715
+ "gap": "lg"
3672
3716
  }
3673
3717
  ],
3674
- "appName": "Trading Dashboard",
3675
3718
  "navItems": [
3676
3719
  {
3677
3720
  "href": "/portfolio",
@@ -3679,17 +3722,16 @@
3679
3722
  "icon": "layout-list"
3680
3723
  },
3681
3724
  {
3682
- "label": "Orders",
3683
3725
  "href": "/orders",
3684
- "icon": "clipboard-list"
3726
+ "icon": "clipboard-list",
3727
+ "label": "Orders"
3685
3728
  },
3686
3729
  {
3687
3730
  "href": "/market",
3688
- "label": "Market",
3689
- "icon": "layout-list"
3731
+ "icon": "layout-list",
3732
+ "label": "Market"
3690
3733
  }
3691
- ],
3692
- "type": "dashboard-layout"
3734
+ ]
3693
3735
  }
3694
3736
  ]
3695
3737
  ]
@@ -3703,44 +3745,44 @@
3703
3745
  "render-ui",
3704
3746
  "main",
3705
3747
  {
3706
- "navItems": [
3707
- {
3708
- "label": "Portfolio",
3709
- "icon": "layout-list",
3710
- "href": "/portfolio"
3711
- },
3712
- {
3713
- "icon": "clipboard-list",
3714
- "label": "Orders",
3715
- "href": "/orders"
3716
- },
3717
- {
3718
- "href": "/market",
3719
- "label": "Market",
3720
- "icon": "layout-list"
3721
- }
3722
- ],
3748
+ "type": "dashboard-layout",
3723
3749
  "children": [
3724
3750
  {
3725
3751
  "type": "stack",
3752
+ "align": "center",
3753
+ "direction": "vertical",
3726
3754
  "children": [
3727
3755
  {
3728
- "title": "Connecting to market feed...",
3729
3756
  "type": "loading-state",
3730
- "message": "Processing marketfeed..."
3757
+ "message": "Processing marketfeed...",
3758
+ "title": "Connecting to market feed..."
3731
3759
  },
3732
3760
  {
3733
3761
  "type": "skeleton",
3734
3762
  "variant": "text"
3735
3763
  }
3736
3764
  ],
3737
- "direction": "vertical",
3738
- "gap": "lg",
3739
- "align": "center"
3765
+ "gap": "lg"
3740
3766
  }
3741
3767
  ],
3742
3768
  "appName": "Trading Dashboard",
3743
- "type": "dashboard-layout"
3769
+ "navItems": [
3770
+ {
3771
+ "href": "/portfolio",
3772
+ "icon": "layout-list",
3773
+ "label": "Portfolio"
3774
+ },
3775
+ {
3776
+ "href": "/orders",
3777
+ "label": "Orders",
3778
+ "icon": "clipboard-list"
3779
+ },
3780
+ {
3781
+ "href": "/market",
3782
+ "icon": "layout-list",
3783
+ "label": "Market"
3784
+ }
3785
+ ]
3744
3786
  }
3745
3787
  ]
3746
3788
  ]