@almadar/std 8.5.1 → 9.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 +97 -97
  2. package/behaviors/registry/agent/atoms/std-agent-chat-thread.orb +129 -129
  3. package/behaviors/registry/agent/atoms/std-agent-classifier.orb +127 -127
  4. package/behaviors/registry/agent/atoms/std-agent-completion.orb +133 -133
  5. package/behaviors/registry/agent/atoms/std-agent-context-window.orb +419 -419
  6. package/behaviors/registry/agent/atoms/std-agent-conversation.orb +100 -100
  7. package/behaviors/registry/agent/atoms/std-agent-memory.orb +112 -112
  8. package/behaviors/registry/agent/atoms/std-agent-provider.orb +138 -138
  9. package/behaviors/registry/agent/atoms/std-agent-search.orb +78 -78
  10. package/behaviors/registry/agent/atoms/std-agent-session.orb +171 -171
  11. package/behaviors/registry/agent/atoms/std-agent-step-progress.orb +202 -202
  12. package/behaviors/registry/agent/atoms/std-agent-token-gauge.orb +358 -358
  13. package/behaviors/registry/agent/atoms/std-agent-tool-call.orb +79 -79
  14. package/behaviors/registry/agent/molecules/std-agent-fix-loop.orb +204 -204
  15. package/behaviors/registry/agent/molecules/std-agent-learner.orb +190 -190
  16. package/behaviors/registry/agent/molecules/std-agent-planner.orb +152 -152
  17. package/behaviors/registry/agent/molecules/std-agent-rag.orb +115 -115
  18. package/behaviors/registry/agent/molecules/std-agent-tool-loop.orb +188 -188
  19. package/behaviors/registry/agent/organisms/std-agent-assistant.orb +1219 -1219
  20. package/behaviors/registry/agent/organisms/std-agent-builder.orb +2995 -2995
  21. package/behaviors/registry/agent/organisms/std-agent-pipeline.orb +2285 -2285
  22. package/behaviors/registry/agent/organisms/std-agent-reviewer.orb +1063 -1063
  23. package/behaviors/registry/agent/organisms/std-agent-tutor.orb +876 -876
  24. package/behaviors/registry/app/organisms/std-api-gateway.orb +840 -840
  25. package/behaviors/registry/app/organisms/std-booking-system.orb +1248 -1248
  26. package/behaviors/registry/app/organisms/std-cicd-pipeline.orb +816 -816
  27. package/behaviors/registry/app/organisms/std-cms.orb +587 -587
  28. package/behaviors/registry/app/organisms/std-coding-academy.orb +416 -416
  29. package/behaviors/registry/app/organisms/std-crm.orb +966 -966
  30. package/behaviors/registry/app/organisms/std-devops-dashboard.orb +1375 -1375
  31. package/behaviors/registry/app/organisms/std-ecommerce.orb +1109 -1109
  32. package/behaviors/registry/app/organisms/std-finance-tracker.orb +716 -716
  33. package/behaviors/registry/app/organisms/std-healthcare.orb +1473 -1473
  34. package/behaviors/registry/app/organisms/std-helpdesk.orb +693 -693
  35. package/behaviors/registry/app/organisms/std-hr-portal.orb +1252 -1252
  36. package/behaviors/registry/app/organisms/std-iot-dashboard.orb +895 -895
  37. package/behaviors/registry/app/organisms/std-lms.orb +876 -876
  38. package/behaviors/registry/app/organisms/std-project-manager.orb +790 -790
  39. package/behaviors/registry/app/organisms/std-realtime-chat.orb +740 -740
  40. package/behaviors/registry/app/organisms/std-social-feed.orb +266 -266
  41. package/behaviors/registry/app/organisms/std-trading-dashboard.orb +699 -699
  42. package/behaviors/registry/core/atoms/std-browse.orb +67 -67
  43. package/behaviors/registry/core/atoms/std-cache-aside.orb +97 -97
  44. package/behaviors/registry/core/atoms/std-calendar.orb +62 -62
  45. package/behaviors/registry/core/atoms/std-circuit-breaker.orb +188 -188
  46. package/behaviors/registry/core/atoms/std-confirmation.orb +34 -34
  47. package/behaviors/registry/core/atoms/std-display.orb +370 -370
  48. package/behaviors/registry/core/atoms/std-drawer.orb +61 -61
  49. package/behaviors/registry/core/atoms/std-filter.orb +63 -63
  50. package/behaviors/registry/core/atoms/std-gallery.orb +55 -55
  51. package/behaviors/registry/core/atoms/std-modal.orb +19 -19
  52. package/behaviors/registry/core/atoms/std-pagination.orb +53 -53
  53. package/behaviors/registry/core/atoms/std-push.orb +49 -49
  54. package/behaviors/registry/core/atoms/std-rate-limiter.orb +185 -185
  55. package/behaviors/registry/core/atoms/std-related.orb +39 -39
  56. package/behaviors/registry/core/atoms/std-search.orb +73 -73
  57. package/behaviors/registry/core/atoms/std-selection.orb +110 -110
  58. package/behaviors/registry/core/atoms/std-tabs.orb +47 -47
  59. package/behaviors/registry/core/molecules/std-cart.orb +60 -60
  60. package/behaviors/registry/core/molecules/std-filtered-list.orb +11 -11
  61. package/behaviors/registry/core/molecules/std-form-advanced.orb +140 -140
  62. package/behaviors/registry/core/molecules/std-list.orb +68 -68
  63. package/behaviors/registry/core/molecules/std-wizard-form.orb +152 -152
  64. package/behaviors/registry/game/atoms/std-collision.orb +140 -140
  65. package/behaviors/registry/game/atoms/std-combat.orb +76 -76
  66. package/behaviors/registry/game/atoms/std-dialogue-box.orb +27 -27
  67. package/behaviors/registry/game/atoms/std-game-canvas2d.orb +47 -47
  68. package/behaviors/registry/game/atoms/std-gameflow.orb +49 -49
  69. package/behaviors/registry/game/atoms/std-movement.orb +276 -276
  70. package/behaviors/registry/game/atoms/std-overworld.orb +64 -64
  71. package/behaviors/registry/game/atoms/std-physics2d.orb +88 -88
  72. package/behaviors/registry/game/atoms/std-quest.orb +129 -129
  73. package/behaviors/registry/game/atoms/std-timer.orb +285 -285
  74. package/behaviors/registry/game/organisms/std-arcade-game.orb +172 -172
  75. package/behaviors/registry/game/organisms/std-logic-training.orb +89 -89
  76. package/behaviors/registry/game/organisms/std-platformer-app.orb +281 -281
  77. package/behaviors/registry/game/organisms/std-puzzle-app.orb +110 -110
  78. package/behaviors/registry/game/organisms/std-rpg-game.orb +446 -446
  79. package/behaviors/registry/game/organisms/std-stem-lab.orb +349 -349
  80. package/behaviors/registry/game/organisms/std-strategy-game.orb +550 -550
  81. package/behaviors/registry/probes/molecules/std-source-scope-probe.orb +35 -35
  82. package/behaviors/registry/service/atoms/std-service-custom-bearer.orb +93 -93
  83. package/behaviors/registry/service/atoms/std-service-email.orb +92 -92
  84. package/behaviors/registry/service/atoms/std-service-github.orb +111 -111
  85. package/behaviors/registry/service/atoms/std-service-llm.orb +132 -132
  86. package/behaviors/registry/service/atoms/std-service-oauth.orb +133 -133
  87. package/behaviors/registry/service/atoms/std-service-redis.orb +114 -114
  88. package/behaviors/registry/service/atoms/std-service-storage.orb +140 -140
  89. package/behaviors/registry/service/atoms/std-service-stripe.orb +115 -115
  90. package/behaviors/registry/service/atoms/std-service-twilio.orb +131 -131
  91. package/behaviors/registry/service/atoms/std-service-youtube.orb +128 -128
  92. package/behaviors/registry/service/organisms/std-service-marketplace.orb +1092 -1092
  93. package/behaviors/registry/service/organisms/std-service-research-assistant.orb +978 -978
  94. package/dist/behaviors/registry/agent/atoms/std-agent-activity-log.orb +97 -97
  95. package/dist/behaviors/registry/agent/atoms/std-agent-chat-thread.orb +129 -129
  96. package/dist/behaviors/registry/agent/atoms/std-agent-classifier.orb +127 -127
  97. package/dist/behaviors/registry/agent/atoms/std-agent-completion.orb +133 -133
  98. package/dist/behaviors/registry/agent/atoms/std-agent-context-window.orb +419 -419
  99. package/dist/behaviors/registry/agent/atoms/std-agent-conversation.orb +100 -100
  100. package/dist/behaviors/registry/agent/atoms/std-agent-memory.orb +112 -112
  101. package/dist/behaviors/registry/agent/atoms/std-agent-provider.orb +138 -138
  102. package/dist/behaviors/registry/agent/atoms/std-agent-search.orb +78 -78
  103. package/dist/behaviors/registry/agent/atoms/std-agent-session.orb +171 -171
  104. package/dist/behaviors/registry/agent/atoms/std-agent-step-progress.orb +202 -202
  105. package/dist/behaviors/registry/agent/atoms/std-agent-token-gauge.orb +358 -358
  106. package/dist/behaviors/registry/agent/atoms/std-agent-tool-call.orb +79 -79
  107. package/dist/behaviors/registry/agent/molecules/std-agent-fix-loop.orb +204 -204
  108. package/dist/behaviors/registry/agent/molecules/std-agent-learner.orb +190 -190
  109. package/dist/behaviors/registry/agent/molecules/std-agent-planner.orb +152 -152
  110. package/dist/behaviors/registry/agent/molecules/std-agent-rag.orb +115 -115
  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 +1219 -1219
  113. package/dist/behaviors/registry/agent/organisms/std-agent-builder.orb +2995 -2995
  114. package/dist/behaviors/registry/agent/organisms/std-agent-pipeline.orb +2285 -2285
  115. package/dist/behaviors/registry/agent/organisms/std-agent-reviewer.orb +1063 -1063
  116. package/dist/behaviors/registry/agent/organisms/std-agent-tutor.orb +876 -876
  117. package/dist/behaviors/registry/app/organisms/std-api-gateway.orb +840 -840
  118. package/dist/behaviors/registry/app/organisms/std-booking-system.orb +1248 -1248
  119. package/dist/behaviors/registry/app/organisms/std-cicd-pipeline.orb +816 -816
  120. package/dist/behaviors/registry/app/organisms/std-cms.orb +587 -587
  121. package/dist/behaviors/registry/app/organisms/std-coding-academy.orb +416 -416
  122. package/dist/behaviors/registry/app/organisms/std-crm.orb +966 -966
  123. package/dist/behaviors/registry/app/organisms/std-devops-dashboard.orb +1375 -1375
  124. package/dist/behaviors/registry/app/organisms/std-ecommerce.orb +1109 -1109
  125. package/dist/behaviors/registry/app/organisms/std-finance-tracker.orb +716 -716
  126. package/dist/behaviors/registry/app/organisms/std-healthcare.orb +1473 -1473
  127. package/dist/behaviors/registry/app/organisms/std-helpdesk.orb +693 -693
  128. package/dist/behaviors/registry/app/organisms/std-hr-portal.orb +1252 -1252
  129. package/dist/behaviors/registry/app/organisms/std-iot-dashboard.orb +895 -895
  130. package/dist/behaviors/registry/app/organisms/std-lms.orb +876 -876
  131. package/dist/behaviors/registry/app/organisms/std-project-manager.orb +790 -790
  132. package/dist/behaviors/registry/app/organisms/std-realtime-chat.orb +740 -740
  133. package/dist/behaviors/registry/app/organisms/std-social-feed.orb +266 -266
  134. package/dist/behaviors/registry/app/organisms/std-trading-dashboard.orb +699 -699
  135. package/dist/behaviors/registry/core/atoms/std-browse.orb +67 -67
  136. package/dist/behaviors/registry/core/atoms/std-cache-aside.orb +97 -97
  137. package/dist/behaviors/registry/core/atoms/std-calendar.orb +62 -62
  138. package/dist/behaviors/registry/core/atoms/std-circuit-breaker.orb +188 -188
  139. package/dist/behaviors/registry/core/atoms/std-confirmation.orb +34 -34
  140. package/dist/behaviors/registry/core/atoms/std-display.orb +370 -370
  141. package/dist/behaviors/registry/core/atoms/std-drawer.orb +61 -61
  142. package/dist/behaviors/registry/core/atoms/std-filter.orb +63 -63
  143. package/dist/behaviors/registry/core/atoms/std-gallery.orb +55 -55
  144. package/dist/behaviors/registry/core/atoms/std-modal.orb +19 -19
  145. package/dist/behaviors/registry/core/atoms/std-pagination.orb +53 -53
  146. package/dist/behaviors/registry/core/atoms/std-push.orb +49 -49
  147. package/dist/behaviors/registry/core/atoms/std-rate-limiter.orb +185 -185
  148. package/dist/behaviors/registry/core/atoms/std-related.orb +39 -39
  149. package/dist/behaviors/registry/core/atoms/std-search.orb +73 -73
  150. package/dist/behaviors/registry/core/atoms/std-selection.orb +110 -110
  151. package/dist/behaviors/registry/core/atoms/std-tabs.orb +47 -47
  152. package/dist/behaviors/registry/core/molecules/std-cart.orb +60 -60
  153. package/dist/behaviors/registry/core/molecules/std-filtered-list.orb +11 -11
  154. package/dist/behaviors/registry/core/molecules/std-form-advanced.orb +140 -140
  155. package/dist/behaviors/registry/core/molecules/std-list.orb +68 -68
  156. package/dist/behaviors/registry/core/molecules/std-wizard-form.orb +152 -152
  157. package/dist/behaviors/registry/game/atoms/std-collision.orb +140 -140
  158. package/dist/behaviors/registry/game/atoms/std-combat.orb +76 -76
  159. package/dist/behaviors/registry/game/atoms/std-dialogue-box.orb +27 -27
  160. package/dist/behaviors/registry/game/atoms/std-game-canvas2d.orb +47 -47
  161. package/dist/behaviors/registry/game/atoms/std-gameflow.orb +49 -49
  162. package/dist/behaviors/registry/game/atoms/std-movement.orb +276 -276
  163. package/dist/behaviors/registry/game/atoms/std-overworld.orb +64 -64
  164. package/dist/behaviors/registry/game/atoms/std-physics2d.orb +88 -88
  165. package/dist/behaviors/registry/game/atoms/std-quest.orb +129 -129
  166. package/dist/behaviors/registry/game/atoms/std-timer.orb +285 -285
  167. package/dist/behaviors/registry/game/organisms/std-arcade-game.orb +172 -172
  168. package/dist/behaviors/registry/game/organisms/std-logic-training.orb +89 -89
  169. package/dist/behaviors/registry/game/organisms/std-platformer-app.orb +281 -281
  170. package/dist/behaviors/registry/game/organisms/std-puzzle-app.orb +110 -110
  171. package/dist/behaviors/registry/game/organisms/std-rpg-game.orb +446 -446
  172. package/dist/behaviors/registry/game/organisms/std-stem-lab.orb +349 -349
  173. package/dist/behaviors/registry/game/organisms/std-strategy-game.orb +550 -550
  174. package/dist/behaviors/registry/probes/molecules/std-source-scope-probe.orb +35 -35
  175. package/dist/behaviors/registry/service/atoms/std-service-custom-bearer.orb +93 -93
  176. package/dist/behaviors/registry/service/atoms/std-service-email.orb +92 -92
  177. package/dist/behaviors/registry/service/atoms/std-service-github.orb +111 -111
  178. package/dist/behaviors/registry/service/atoms/std-service-llm.orb +132 -132
  179. package/dist/behaviors/registry/service/atoms/std-service-oauth.orb +133 -133
  180. package/dist/behaviors/registry/service/atoms/std-service-redis.orb +114 -114
  181. package/dist/behaviors/registry/service/atoms/std-service-storage.orb +140 -140
  182. package/dist/behaviors/registry/service/atoms/std-service-stripe.orb +115 -115
  183. package/dist/behaviors/registry/service/atoms/std-service-twilio.orb +131 -131
  184. package/dist/behaviors/registry/service/atoms/std-service-youtube.orb +128 -128
  185. package/dist/behaviors/registry/service/organisms/std-service-marketplace.orb +1092 -1092
  186. package/dist/behaviors/registry/service/organisms/std-service-research-assistant.orb +978 -978
  187. package/package.json +1 -1
@@ -46,7 +46,7 @@
46
46
  "event": "PortfolioLoaded",
47
47
  "description": "Fired when Portfolio finishes loading",
48
48
  "scope": "internal",
49
- "payload": [
49
+ "payloadSchema": [
50
50
  {
51
51
  "name": "data",
52
52
  "type": "[Portfolio]"
@@ -57,7 +57,7 @@
57
57
  "event": "PortfolioLoadFailed",
58
58
  "description": "Fired when Portfolio fails to load",
59
59
  "scope": "internal",
60
- "payload": [
60
+ "payloadSchema": [
61
61
  {
62
62
  "name": "error",
63
63
  "type": "string"
@@ -71,7 +71,7 @@
71
71
  {
72
72
  "event": "TradeOrderSaved",
73
73
  "scope": "internal",
74
- "payload": [
74
+ "payloadSchema": [
75
75
  {
76
76
  "name": "id",
77
77
  "type": "string"
@@ -81,7 +81,7 @@
81
81
  {
82
82
  "event": "TradeOrderSaveFailed",
83
83
  "scope": "internal",
84
- "payload": [
84
+ "payloadSchema": [
85
85
  {
86
86
  "name": "error",
87
87
  "type": "string"
@@ -95,7 +95,7 @@
95
95
  {
96
96
  "event": "TradeOrderUpdated",
97
97
  "scope": "internal",
98
- "payload": [
98
+ "payloadSchema": [
99
99
  {
100
100
  "name": "id",
101
101
  "type": "string"
@@ -105,7 +105,7 @@
105
105
  {
106
106
  "event": "TradeOrderUpdateFailed",
107
107
  "scope": "internal",
108
- "payload": [
108
+ "payloadSchema": [
109
109
  {
110
110
  "name": "error",
111
111
  "type": "string"
@@ -119,7 +119,7 @@
119
119
  {
120
120
  "event": "TradeOrderDeleted",
121
121
  "scope": "internal",
122
- "payload": [
122
+ "payloadSchema": [
123
123
  {
124
124
  "name": "id",
125
125
  "type": "string"
@@ -129,7 +129,7 @@
129
129
  {
130
130
  "event": "TradeOrderDeleteFailed",
131
131
  "scope": "internal",
132
- "payload": [
132
+ "payloadSchema": [
133
133
  {
134
134
  "name": "error",
135
135
  "type": "string"
@@ -143,7 +143,7 @@
143
143
  {
144
144
  "event": "MarketFeedSaved",
145
145
  "scope": "internal",
146
- "payload": [
146
+ "payloadSchema": [
147
147
  {
148
148
  "name": "id",
149
149
  "type": "string"
@@ -153,7 +153,7 @@
153
153
  {
154
154
  "event": "MarketFeedSaveFailed",
155
155
  "scope": "internal",
156
- "payload": [
156
+ "payloadSchema": [
157
157
  {
158
158
  "name": "error",
159
159
  "type": "string"
@@ -198,7 +198,7 @@
198
198
  {
199
199
  "key": "PortfolioLoaded",
200
200
  "name": "Portfolio loaded",
201
- "payload": [
201
+ "payloadSchema": [
202
202
  {
203
203
  "name": "data",
204
204
  "type": "[Portfolio]"
@@ -208,7 +208,7 @@
208
208
  {
209
209
  "key": "PortfolioLoadFailed",
210
210
  "name": "Portfolio load failed",
211
- "payload": [
211
+ "payloadSchema": [
212
212
  {
213
213
  "name": "error",
214
214
  "type": "string"
@@ -222,7 +222,7 @@
222
222
  {
223
223
  "key": "TradeOrderSaved",
224
224
  "name": "Trade order saved",
225
- "payload": [
225
+ "payloadSchema": [
226
226
  {
227
227
  "name": "id",
228
228
  "type": "string"
@@ -232,7 +232,7 @@
232
232
  {
233
233
  "key": "TradeOrderSaveFailed",
234
234
  "name": "Trade order save failed",
235
- "payload": [
235
+ "payloadSchema": [
236
236
  {
237
237
  "name": "error",
238
238
  "type": "string"
@@ -246,7 +246,7 @@
246
246
  {
247
247
  "key": "TradeOrderUpdated",
248
248
  "name": "Trade order updated",
249
- "payload": [
249
+ "payloadSchema": [
250
250
  {
251
251
  "name": "id",
252
252
  "type": "string"
@@ -256,7 +256,7 @@
256
256
  {
257
257
  "key": "TradeOrderUpdateFailed",
258
258
  "name": "Trade order update failed",
259
- "payload": [
259
+ "payloadSchema": [
260
260
  {
261
261
  "name": "error",
262
262
  "type": "string"
@@ -270,7 +270,7 @@
270
270
  {
271
271
  "key": "TradeOrderDeleted",
272
272
  "name": "Trade order deleted",
273
- "payload": [
273
+ "payloadSchema": [
274
274
  {
275
275
  "name": "id",
276
276
  "type": "string"
@@ -280,7 +280,7 @@
280
280
  {
281
281
  "key": "TradeOrderDeleteFailed",
282
282
  "name": "Trade order delete failed",
283
- "payload": [
283
+ "payloadSchema": [
284
284
  {
285
285
  "name": "error",
286
286
  "type": "string"
@@ -294,7 +294,7 @@
294
294
  {
295
295
  "key": "MarketFeedSaved",
296
296
  "name": "Market feed saved",
297
- "payload": [
297
+ "payloadSchema": [
298
298
  {
299
299
  "name": "id",
300
300
  "type": "string"
@@ -304,7 +304,7 @@
304
304
  {
305
305
  "key": "MarketFeedSaveFailed",
306
306
  "name": "Market feed save failed",
307
- "payload": [
307
+ "payloadSchema": [
308
308
  {
309
309
  "name": "error",
310
310
  "type": "string"
@@ -337,29 +337,12 @@
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",
358
340
  "children": [
359
341
  {
360
- "type": "scaled-diagram",
361
342
  "children": [
362
343
  {
344
+ "direction": "vertical",
345
+ "gap": "lg",
363
346
  "children": [
364
347
  {
365
348
  "type": "breadcrumb",
@@ -378,31 +361,31 @@
378
361
  "children": [
379
362
  {
380
363
  "type": "stack",
381
- "direction": "horizontal",
364
+ "gap": "md",
382
365
  "children": [
383
366
  {
384
367
  "type": "icon",
385
368
  "name": "trending-up"
386
369
  },
387
370
  {
371
+ "variant": "h2",
388
372
  "type": "typography",
389
- "content": "Portfolio",
390
- "variant": "h2"
373
+ "content": "Portfolio"
391
374
  }
392
375
  ],
393
- "gap": "md"
376
+ "direction": "horizontal"
394
377
  },
395
378
  {
396
- "variant": "secondary",
397
- "label": "Refresh",
398
- "type": "button",
399
379
  "icon": "refresh-cw",
400
- "action": "REFRESH"
380
+ "action": "REFRESH",
381
+ "type": "button",
382
+ "variant": "secondary",
383
+ "label": "Refresh"
401
384
  }
402
385
  ],
403
- "direction": "horizontal",
404
386
  "justify": "between",
405
- "gap": "md"
387
+ "gap": "md",
388
+ "direction": "horizontal"
406
389
  },
407
390
  {
408
391
  "type": "divider"
@@ -410,48 +393,47 @@
410
393
  {
411
394
  "children": [
412
395
  {
413
- "type": "simple-grid",
414
396
  "cols": 3.0,
415
397
  "children": [
416
398
  {
417
- "value": "@entity.totalValue",
399
+ "label": "TotalValue",
418
400
  "type": "stat-display",
419
- "label": "TotalValue"
401
+ "value": "@entity.totalValue"
420
402
  },
421
403
  {
422
- "type": "stat-display",
423
404
  "label": "DailyChange",
424
- "value": "@entity.dailyChange"
405
+ "value": "@entity.dailyChange",
406
+ "type": "stat-display"
425
407
  },
426
408
  {
409
+ "value": "@entity.positions",
427
410
  "label": "Positions",
428
- "type": "stat-display",
429
- "value": "@entity.positions"
411
+ "type": "stat-display"
430
412
  },
431
413
  {
432
414
  "type": "stat-display",
433
- "label": "CashBalance",
434
- "value": "@entity.cashBalance"
415
+ "value": "@entity.cashBalance",
416
+ "label": "CashBalance"
435
417
  }
436
- ]
418
+ ],
419
+ "type": "simple-grid"
437
420
  }
438
421
  ],
439
- "padding": "md",
440
- "type": "box"
422
+ "type": "box",
423
+ "padding": "md"
441
424
  },
442
425
  {
443
426
  "type": "divider"
444
427
  },
445
428
  {
446
- "type": "grid",
447
- "gap": "md",
448
429
  "cols": 2.0,
430
+ "type": "grid",
449
431
  "children": [
450
432
  {
451
433
  "children": [
452
434
  {
453
- "variant": "caption",
454
435
  "type": "typography",
436
+ "variant": "caption",
455
437
  "content": "Chart View"
456
438
  }
457
439
  ],
@@ -461,28 +443,29 @@
461
443
  "type": "card",
462
444
  "children": [
463
445
  {
464
- "content": "Graph View",
465
446
  "type": "typography",
466
- "variant": "caption"
447
+ "variant": "caption",
448
+ "content": "Graph View"
467
449
  }
468
450
  ]
469
451
  }
470
- ]
452
+ ],
453
+ "gap": "md"
471
454
  },
472
455
  {
473
456
  "type": "line-chart",
474
457
  "data": [
475
458
  {
476
- "date": "Jan",
477
- "value": 12.0
459
+ "value": 12.0,
460
+ "date": "Jan"
478
461
  },
479
462
  {
480
- "value": 19.0,
481
- "date": "Feb"
463
+ "date": "Feb",
464
+ "value": 19.0
482
465
  },
483
466
  {
484
- "date": "Mar",
485
- "value": 15.0
467
+ "value": 15.0,
468
+ "date": "Mar"
486
469
  },
487
470
  {
488
471
  "date": "Apr",
@@ -499,55 +482,72 @@
499
482
  ]
500
483
  },
501
484
  {
485
+ "type": "chart-legend",
502
486
  "items": [
503
487
  {
504
- "label": "Current",
505
- "color": "primary"
488
+ "color": "primary",
489
+ "label": "Current"
506
490
  },
507
491
  {
508
- "label": "Previous",
509
- "color": "muted"
492
+ "color": "muted",
493
+ "label": "Previous"
510
494
  }
511
- ],
512
- "type": "chart-legend"
495
+ ]
513
496
  },
514
497
  {
515
- "edges": [
498
+ "type": "graph-view",
499
+ "nodes": [
516
500
  {
517
- "target": "b",
518
- "source": "a"
501
+ "id": "a",
502
+ "label": "Start"
519
503
  },
520
504
  {
521
- "source": "b",
522
- "target": "c"
505
+ "label": "Process",
506
+ "id": "b"
507
+ },
508
+ {
509
+ "id": "c",
510
+ "label": "End"
523
511
  }
524
512
  ],
525
513
  "width": 400.0,
526
- "height": 200.0,
527
- "type": "graph-view",
528
- "nodes": [
529
- {
530
- "label": "Start",
531
- "id": "a"
532
- },
514
+ "edges": [
533
515
  {
534
- "id": "b",
535
- "label": "Process"
516
+ "source": "a",
517
+ "target": "b"
536
518
  },
537
519
  {
538
- "label": "End",
539
- "id": "c"
520
+ "source": "b",
521
+ "target": "c"
540
522
  }
541
- ]
523
+ ],
524
+ "height": 200.0
542
525
  }
543
526
  ],
544
- "direction": "vertical",
545
- "type": "stack",
546
- "gap": "lg"
527
+ "type": "stack"
547
528
  }
548
- ]
529
+ ],
530
+ "type": "scaled-diagram"
549
531
  }
550
- ]
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"
548
+ }
549
+ ],
550
+ "appName": "Trading Dashboard"
551
551
  }
552
552
  ]
553
553
  ]
@@ -573,14 +573,14 @@
573
573
  {
574
574
  "navItems": [
575
575
  {
576
- "label": "Portfolio",
577
576
  "href": "/portfolio",
577
+ "label": "Portfolio",
578
578
  "icon": "layout-list"
579
579
  },
580
580
  {
581
+ "icon": "clipboard-list",
581
582
  "label": "Orders",
582
- "href": "/orders",
583
- "icon": "clipboard-list"
583
+ "href": "/orders"
584
584
  },
585
585
  {
586
586
  "label": "Market",
@@ -594,7 +594,7 @@
594
594
  "type": "scaled-diagram",
595
595
  "children": [
596
596
  {
597
- "direction": "vertical",
597
+ "gap": "lg",
598
598
  "children": [
599
599
  {
600
600
  "type": "breadcrumb",
@@ -609,14 +609,8 @@
609
609
  ]
610
610
  },
611
611
  {
612
- "type": "stack",
613
- "direction": "horizontal",
614
- "gap": "md",
615
- "justify": "between",
616
612
  "children": [
617
613
  {
618
- "gap": "md",
619
- "type": "stack",
620
614
  "children": [
621
615
  {
622
616
  "name": "trending-up",
@@ -628,16 +622,22 @@
628
622
  "variant": "h2"
629
623
  }
630
624
  ],
631
- "direction": "horizontal"
625
+ "gap": "md",
626
+ "direction": "horizontal",
627
+ "type": "stack"
632
628
  },
633
629
  {
634
630
  "label": "Refresh",
631
+ "icon": "refresh-cw",
635
632
  "action": "REFRESH",
636
- "type": "button",
637
633
  "variant": "secondary",
638
- "icon": "refresh-cw"
634
+ "type": "button"
639
635
  }
640
- ]
636
+ ],
637
+ "gap": "md",
638
+ "type": "stack",
639
+ "direction": "horizontal",
640
+ "justify": "between"
641
641
  },
642
642
  {
643
643
  "type": "divider"
@@ -647,30 +647,30 @@
647
647
  "padding": "md",
648
648
  "children": [
649
649
  {
650
- "cols": 3.0,
651
650
  "children": [
652
651
  {
653
- "value": "@entity.totalValue",
654
652
  "label": "TotalValue",
653
+ "value": "@entity.totalValue",
655
654
  "type": "stat-display"
656
655
  },
657
656
  {
658
- "type": "stat-display",
659
657
  "label": "DailyChange",
658
+ "type": "stat-display",
660
659
  "value": "@entity.dailyChange"
661
660
  },
662
661
  {
663
- "label": "Positions",
664
662
  "value": "@entity.positions",
665
- "type": "stat-display"
663
+ "type": "stat-display",
664
+ "label": "Positions"
666
665
  },
667
666
  {
668
- "type": "stat-display",
669
667
  "value": "@entity.cashBalance",
668
+ "type": "stat-display",
670
669
  "label": "CashBalance"
671
670
  }
672
671
  ],
673
- "type": "simple-grid"
672
+ "type": "simple-grid",
673
+ "cols": 3.0
674
674
  }
675
675
  ]
676
676
  },
@@ -678,31 +678,31 @@
678
678
  "type": "divider"
679
679
  },
680
680
  {
681
+ "cols": 2.0,
682
+ "gap": "md",
681
683
  "children": [
682
684
  {
683
- "type": "card",
684
685
  "children": [
685
686
  {
687
+ "type": "typography",
686
688
  "content": "Chart View",
687
- "variant": "caption",
688
- "type": "typography"
689
+ "variant": "caption"
689
690
  }
690
- ]
691
+ ],
692
+ "type": "card"
691
693
  },
692
694
  {
693
695
  "type": "card",
694
696
  "children": [
695
697
  {
696
- "type": "typography",
698
+ "variant": "caption",
697
699
  "content": "Graph View",
698
- "variant": "caption"
700
+ "type": "typography"
699
701
  }
700
702
  ]
701
703
  }
702
704
  ],
703
- "gap": "md",
704
- "type": "grid",
705
- "cols": 2.0
705
+ "type": "grid"
706
706
  },
707
707
  {
708
708
  "type": "line-chart",
@@ -712,8 +712,8 @@
712
712
  "date": "Jan"
713
713
  },
714
714
  {
715
- "date": "Feb",
716
- "value": 19.0
715
+ "value": 19.0,
716
+ "date": "Feb"
717
717
  },
718
718
  {
719
719
  "value": 15.0,
@@ -734,7 +734,6 @@
734
734
  ]
735
735
  },
736
736
  {
737
- "type": "chart-legend",
738
737
  "items": [
739
738
  {
740
739
  "color": "primary",
@@ -744,14 +743,14 @@
744
743
  "color": "muted",
745
744
  "label": "Previous"
746
745
  }
747
- ]
746
+ ],
747
+ "type": "chart-legend"
748
748
  },
749
749
  {
750
- "type": "graph-view",
751
750
  "nodes": [
752
751
  {
753
- "label": "Start",
754
- "id": "a"
752
+ "id": "a",
753
+ "label": "Start"
755
754
  },
756
755
  {
757
756
  "label": "Process",
@@ -766,17 +765,18 @@
766
765
  "width": 400.0,
767
766
  "edges": [
768
767
  {
769
- "target": "b",
770
- "source": "a"
768
+ "source": "a",
769
+ "target": "b"
771
770
  },
772
771
  {
773
772
  "source": "b",
774
773
  "target": "c"
775
774
  }
776
- ]
775
+ ],
776
+ "type": "graph-view"
777
777
  }
778
778
  ],
779
- "gap": "lg",
779
+ "direction": "vertical",
780
780
  "type": "stack"
781
781
  }
782
782
  ]
@@ -806,13 +806,35 @@
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
827
  "children": [
810
828
  {
811
829
  "type": "scaled-diagram",
812
830
  "children": [
813
831
  {
832
+ "gap": "lg",
833
+ "type": "stack",
834
+ "direction": "vertical",
814
835
  "children": [
815
836
  {
837
+ "type": "breadcrumb",
816
838
  "items": [
817
839
  {
818
840
  "href": "/",
@@ -821,55 +843,52 @@
821
843
  {
822
844
  "label": "Portfolio"
823
845
  }
824
- ],
825
- "type": "breadcrumb"
846
+ ]
826
847
  },
827
848
  {
828
849
  "gap": "md",
850
+ "type": "stack",
851
+ "direction": "horizontal",
852
+ "justify": "between",
829
853
  "children": [
830
854
  {
855
+ "type": "stack",
856
+ "direction": "horizontal",
857
+ "gap": "md",
831
858
  "children": [
832
859
  {
833
- "type": "icon",
834
- "name": "trending-up"
860
+ "name": "trending-up",
861
+ "type": "icon"
835
862
  },
836
863
  {
837
- "type": "typography",
864
+ "variant": "h2",
838
865
  "content": "Portfolio",
839
- "variant": "h2"
866
+ "type": "typography"
840
867
  }
841
- ],
842
- "gap": "md",
843
- "direction": "horizontal",
844
- "type": "stack"
868
+ ]
845
869
  },
846
870
  {
871
+ "variant": "secondary",
847
872
  "action": "REFRESH",
848
- "icon": "refresh-cw",
873
+ "type": "button",
849
874
  "label": "Refresh",
850
- "variant": "secondary",
851
- "type": "button"
875
+ "icon": "refresh-cw"
852
876
  }
853
- ],
854
- "type": "stack",
855
- "direction": "horizontal",
856
- "justify": "between"
877
+ ]
857
878
  },
858
879
  {
859
880
  "type": "divider"
860
881
  },
861
882
  {
862
- "padding": "md",
863
- "type": "box",
864
883
  "children": [
865
884
  {
866
885
  "type": "simple-grid",
867
886
  "cols": 3.0,
868
887
  "children": [
869
888
  {
889
+ "label": "TotalValue",
870
890
  "value": "@entity.totalValue",
871
- "type": "stat-display",
872
- "label": "TotalValue"
891
+ "type": "stat-display"
873
892
  },
874
893
  {
875
894
  "type": "stat-display",
@@ -877,75 +896,77 @@
877
896
  "value": "@entity.dailyChange"
878
897
  },
879
898
  {
899
+ "type": "stat-display",
880
900
  "label": "Positions",
881
- "value": "@entity.positions",
882
- "type": "stat-display"
901
+ "value": "@entity.positions"
883
902
  },
884
903
  {
885
- "type": "stat-display",
886
904
  "value": "@entity.cashBalance",
905
+ "type": "stat-display",
887
906
  "label": "CashBalance"
888
907
  }
889
908
  ]
890
909
  }
891
- ]
910
+ ],
911
+ "padding": "md",
912
+ "type": "box"
892
913
  },
893
914
  {
894
915
  "type": "divider"
895
916
  },
896
917
  {
918
+ "type": "grid",
919
+ "cols": 2.0,
920
+ "gap": "md",
897
921
  "children": [
898
922
  {
899
923
  "children": [
900
924
  {
901
925
  "type": "typography",
902
- "content": "Chart View",
903
- "variant": "caption"
926
+ "variant": "caption",
927
+ "content": "Chart View"
904
928
  }
905
929
  ],
906
930
  "type": "card"
907
931
  },
908
932
  {
933
+ "type": "card",
909
934
  "children": [
910
935
  {
911
936
  "type": "typography",
912
- "variant": "caption",
913
- "content": "Graph View"
937
+ "content": "Graph View",
938
+ "variant": "caption"
914
939
  }
915
- ],
916
- "type": "card"
940
+ ]
917
941
  }
918
- ],
919
- "type": "grid",
920
- "gap": "md",
921
- "cols": 2.0
942
+ ]
922
943
  },
923
944
  {
924
945
  "type": "line-chart",
925
946
  "data": [
926
947
  {
927
- "date": "Jan",
928
- "value": 12.0
948
+ "value": 12.0,
949
+ "date": "Jan"
929
950
  },
930
951
  {
931
- "date": "Feb",
932
- "value": 19.0
952
+ "value": 19.0,
953
+ "date": "Feb"
933
954
  },
934
955
  {
935
956
  "date": "Mar",
936
957
  "value": 15.0
937
958
  },
938
959
  {
939
- "date": "Apr",
940
- "value": 25.0
960
+ "value": 25.0,
961
+ "date": "Apr"
941
962
  },
942
963
  {
943
- "date": "May",
944
- "value": 22.0
964
+ "value": 22.0,
965
+ "date": "May"
945
966
  },
946
967
  {
947
- "date": "Jun",
948
- "value": 30.0
968
+ "value": 30.0,
969
+ "date": "Jun"
949
970
  }
950
971
  ]
951
972
  },
@@ -953,8 +974,8 @@
953
974
  "type": "chart-legend",
954
975
  "items": [
955
976
  {
956
- "color": "primary",
957
- "label": "Current"
977
+ "label": "Current",
978
+ "color": "primary"
958
979
  },
959
980
  {
960
981
  "label": "Previous",
@@ -963,60 +984,39 @@
963
984
  ]
964
985
  },
965
986
  {
966
- "type": "graph-view",
967
987
  "width": 400.0,
968
- "nodes": [
969
- {
970
- "label": "Start",
971
- "id": "a"
972
- },
988
+ "height": 200.0,
989
+ "type": "graph-view",
990
+ "edges": [
973
991
  {
974
- "label": "Process",
975
- "id": "b"
992
+ "target": "b",
993
+ "source": "a"
976
994
  },
977
995
  {
978
- "label": "End",
979
- "id": "c"
996
+ "target": "c",
997
+ "source": "b"
980
998
  }
981
999
  ],
982
- "edges": [
1000
+ "nodes": [
983
1001
  {
984
- "source": "a",
985
- "target": "b"
1002
+ "id": "a",
1003
+ "label": "Start"
986
1004
  },
987
1005
  {
988
- "target": "c",
989
- "source": "b"
1006
+ "id": "b",
1007
+ "label": "Process"
1008
+ },
1009
+ {
1010
+ "label": "End",
1011
+ "id": "c"
990
1012
  }
991
- ],
992
- "height": 200.0
1013
+ ]
993
1014
  }
994
- ],
995
- "type": "stack",
996
- "gap": "lg",
997
- "direction": "vertical"
1015
+ ]
998
1016
  }
999
1017
  ]
1000
1018
  }
1001
1019
  ],
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
1020
  "appName": "Trading Dashboard"
1021
1021
  }
1022
1022
  ]
@@ -1041,31 +1041,12 @@
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
+ "type": "dashboard-layout",
1062
1045
  "children": [
1063
1046
  {
1047
+ "type": "scaled-diagram",
1064
1048
  "children": [
1065
1049
  {
1066
- "gap": "lg",
1067
- "direction": "vertical",
1068
- "type": "stack",
1069
1050
  "children": [
1070
1051
  {
1071
1052
  "type": "breadcrumb",
@@ -1080,33 +1061,33 @@
1080
1061
  ]
1081
1062
  },
1082
1063
  {
1083
- "type": "stack",
1084
1064
  "direction": "horizontal",
1085
- "justify": "between",
1086
1065
  "gap": "md",
1066
+ "type": "stack",
1067
+ "justify": "between",
1087
1068
  "children": [
1088
1069
  {
1089
1070
  "type": "stack",
1071
+ "gap": "md",
1090
1072
  "direction": "horizontal",
1091
1073
  "children": [
1092
1074
  {
1093
- "name": "trending-up",
1094
- "type": "icon"
1075
+ "type": "icon",
1076
+ "name": "trending-up"
1095
1077
  },
1096
1078
  {
1097
1079
  "variant": "h2",
1098
1080
  "content": "Portfolio",
1099
1081
  "type": "typography"
1100
1082
  }
1101
- ],
1102
- "gap": "md"
1083
+ ]
1103
1084
  },
1104
1085
  {
1105
- "variant": "secondary",
1106
- "icon": "refresh-cw",
1086
+ "type": "button",
1107
1087
  "label": "Refresh",
1088
+ "variant": "secondary",
1108
1089
  "action": "REFRESH",
1109
- "type": "button"
1090
+ "icon": "refresh-cw"
1110
1091
  }
1111
1092
  ]
1112
1093
  },
@@ -1117,29 +1098,29 @@
1117
1098
  "padding": "md",
1118
1099
  "children": [
1119
1100
  {
1120
- "cols": 3.0,
1121
1101
  "children": [
1122
1102
  {
1123
- "type": "stat-display",
1124
1103
  "value": "@entity.totalValue",
1125
- "label": "TotalValue"
1104
+ "label": "TotalValue",
1105
+ "type": "stat-display"
1126
1106
  },
1127
1107
  {
1128
- "value": "@entity.dailyChange",
1108
+ "label": "DailyChange",
1129
1109
  "type": "stat-display",
1130
- "label": "DailyChange"
1110
+ "value": "@entity.dailyChange"
1131
1111
  },
1132
1112
  {
1113
+ "type": "stat-display",
1133
1114
  "value": "@entity.positions",
1134
- "label": "Positions",
1135
- "type": "stat-display"
1115
+ "label": "Positions"
1136
1116
  },
1137
1117
  {
1138
- "label": "CashBalance",
1118
+ "value": "@entity.cashBalance",
1139
1119
  "type": "stat-display",
1140
- "value": "@entity.cashBalance"
1120
+ "label": "CashBalance"
1141
1121
  }
1142
1122
  ],
1123
+ "cols": 3.0,
1143
1124
  "type": "simple-grid"
1144
1125
  }
1145
1126
  ],
@@ -1149,50 +1130,50 @@
1149
1130
  "type": "divider"
1150
1131
  },
1151
1132
  {
1133
+ "type": "grid",
1134
+ "gap": "md",
1152
1135
  "cols": 2.0,
1153
1136
  "children": [
1154
1137
  {
1138
+ "type": "card",
1155
1139
  "children": [
1156
1140
  {
1157
- "variant": "caption",
1158
1141
  "type": "typography",
1142
+ "variant": "caption",
1159
1143
  "content": "Chart View"
1160
1144
  }
1161
- ],
1162
- "type": "card"
1145
+ ]
1163
1146
  },
1164
1147
  {
1165
1148
  "children": [
1166
1149
  {
1167
1150
  "variant": "caption",
1168
- "content": "Graph View",
1169
- "type": "typography"
1151
+ "type": "typography",
1152
+ "content": "Graph View"
1170
1153
  }
1171
1154
  ],
1172
1155
  "type": "card"
1173
1156
  }
1174
- ],
1175
- "type": "grid",
1176
- "gap": "md"
1157
+ ]
1177
1158
  },
1178
1159
  {
1179
1160
  "type": "line-chart",
1180
1161
  "data": [
1181
1162
  {
1182
- "date": "Jan",
1183
- "value": 12.0
1163
+ "value": 12.0,
1164
+ "date": "Jan"
1184
1165
  },
1185
1166
  {
1186
1167
  "date": "Feb",
1187
1168
  "value": 19.0
1188
1169
  },
1189
1170
  {
1190
- "date": "Mar",
1191
- "value": 15.0
1171
+ "value": 15.0,
1172
+ "date": "Mar"
1192
1173
  },
1193
1174
  {
1194
- "date": "Apr",
1195
- "value": 25.0
1175
+ "value": 25.0,
1176
+ "date": "Apr"
1196
1177
  },
1197
1178
  {
1198
1179
  "value": 22.0,
@@ -1205,54 +1186,73 @@
1205
1186
  ]
1206
1187
  },
1207
1188
  {
1189
+ "type": "chart-legend",
1208
1190
  "items": [
1209
1191
  {
1210
- "label": "Current",
1211
- "color": "primary"
1192
+ "color": "primary",
1193
+ "label": "Current"
1212
1194
  },
1213
1195
  {
1214
1196
  "label": "Previous",
1215
1197
  "color": "muted"
1216
1198
  }
1217
- ],
1218
- "type": "chart-legend"
1199
+ ]
1219
1200
  },
1220
1201
  {
1221
- "type": "graph-view",
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,
1222
1214
  "nodes": [
1223
1215
  {
1224
1216
  "label": "Start",
1225
1217
  "id": "a"
1226
1218
  },
1227
1219
  {
1228
- "label": "Process",
1229
- "id": "b"
1220
+ "id": "b",
1221
+ "label": "Process"
1230
1222
  },
1231
1223
  {
1232
1224
  "label": "End",
1233
1225
  "id": "c"
1234
1226
  }
1235
1227
  ],
1236
- "edges": [
1237
- {
1238
- "target": "b",
1239
- "source": "a"
1240
- },
1241
- {
1242
- "source": "b",
1243
- "target": "c"
1244
- }
1245
- ],
1246
- "width": 400.0,
1247
- "height": 200.0
1228
+ "type": "graph-view"
1248
1229
  }
1249
- ]
1230
+ ],
1231
+ "gap": "lg",
1232
+ "type": "stack",
1233
+ "direction": "vertical"
1250
1234
  }
1251
- ],
1252
- "type": "scaled-diagram"
1235
+ ]
1253
1236
  }
1254
1237
  ],
1255
- "type": "dashboard-layout"
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"
1254
+ }
1255
+ ]
1256
1256
  }
1257
1257
  ]
1258
1258
  ]
@@ -1276,11 +1276,14 @@
1276
1276
  "render-ui",
1277
1277
  "main",
1278
1278
  {
1279
+ "type": "dashboard-layout",
1279
1280
  "appName": "Trading Dashboard",
1280
1281
  "children": [
1281
1282
  {
1283
+ "type": "scaled-diagram",
1282
1284
  "children": [
1283
1285
  {
1286
+ "gap": "lg",
1284
1287
  "type": "stack",
1285
1288
  "direction": "vertical",
1286
1289
  "children": [
@@ -1288,8 +1291,8 @@
1288
1291
  "type": "breadcrumb",
1289
1292
  "items": [
1290
1293
  {
1291
- "label": "Home",
1292
- "href": "/"
1294
+ "href": "/",
1295
+ "label": "Home"
1293
1296
  },
1294
1297
  {
1295
1298
  "label": "Portfolio"
@@ -1297,48 +1300,50 @@
1297
1300
  ]
1298
1301
  },
1299
1302
  {
1303
+ "type": "stack",
1304
+ "gap": "md",
1305
+ "justify": "between",
1306
+ "direction": "horizontal",
1300
1307
  "children": [
1301
1308
  {
1302
- "direction": "horizontal",
1303
1309
  "type": "stack",
1304
1310
  "children": [
1305
1311
  {
1306
- "name": "trending-up",
1307
- "type": "icon"
1312
+ "type": "icon",
1313
+ "name": "trending-up"
1308
1314
  },
1309
1315
  {
1310
- "variant": "h2",
1311
1316
  "type": "typography",
1312
- "content": "Portfolio"
1317
+ "content": "Portfolio",
1318
+ "variant": "h2"
1313
1319
  }
1314
1320
  ],
1321
+ "direction": "horizontal",
1315
1322
  "gap": "md"
1316
1323
  },
1317
1324
  {
1318
1325
  "action": "REFRESH",
1319
1326
  "label": "Refresh",
1320
1327
  "variant": "secondary",
1321
- "type": "button",
1322
- "icon": "refresh-cw"
1328
+ "icon": "refresh-cw",
1329
+ "type": "button"
1323
1330
  }
1324
- ],
1325
- "direction": "horizontal",
1326
- "gap": "md",
1327
- "justify": "between",
1328
- "type": "stack"
1331
+ ]
1329
1332
  },
1330
1333
  {
1331
1334
  "type": "divider"
1332
1335
  },
1333
1336
  {
1337
+ "padding": "md",
1334
1338
  "children": [
1335
1339
  {
1336
1340
  "cols": 3.0,
1341
+ "type": "simple-grid",
1337
1342
  "children": [
1338
1343
  {
1339
1344
  "label": "TotalValue",
1340
- "type": "stat-display",
1341
- "value": "@entity.totalValue"
1345
+ "value": "@entity.totalValue",
1346
+ "type": "stat-display"
1342
1347
  },
1343
1348
  {
1344
1349
  "type": "stat-display",
@@ -1351,68 +1356,66 @@
1351
1356
  "label": "Positions"
1352
1357
  },
1353
1358
  {
1359
+ "type": "stat-display",
1354
1360
  "label": "CashBalance",
1355
- "value": "@entity.cashBalance",
1356
- "type": "stat-display"
1361
+ "value": "@entity.cashBalance"
1357
1362
  }
1358
- ],
1359
- "type": "simple-grid"
1363
+ ]
1360
1364
  }
1361
1365
  ],
1362
- "padding": "md",
1363
1366
  "type": "box"
1364
1367
  },
1365
1368
  {
1366
1369
  "type": "divider"
1367
1370
  },
1368
1371
  {
1369
- "type": "grid",
1370
1372
  "children": [
1371
1373
  {
1374
+ "type": "card",
1372
1375
  "children": [
1373
1376
  {
1374
1377
  "content": "Chart View",
1375
- "variant": "caption",
1376
- "type": "typography"
1378
+ "type": "typography",
1379
+ "variant": "caption"
1377
1380
  }
1378
- ],
1379
- "type": "card"
1381
+ ]
1380
1382
  },
1381
1383
  {
1382
- "type": "card",
1383
1384
  "children": [
1384
1385
  {
1385
- "variant": "caption",
1386
1386
  "type": "typography",
1387
+ "variant": "caption",
1387
1388
  "content": "Graph View"
1388
1389
  }
1389
- ]
1390
+ ],
1391
+ "type": "card"
1390
1392
  }
1391
1393
  ],
1392
1394
  "cols": 2.0,
1395
+ "type": "grid",
1393
1396
  "gap": "md"
1394
1397
  },
1395
1398
  {
1396
1399
  "data": [
1397
1400
  {
1398
- "date": "Jan",
1399
- "value": 12.0
1401
+ "value": 12.0,
1402
+ "date": "Jan"
1400
1403
  },
1401
1404
  {
1402
- "date": "Feb",
1403
- "value": 19.0
1405
+ "value": 19.0,
1406
+ "date": "Feb"
1404
1407
  },
1405
- {
1406
- "date": "Mar",
1407
- "value": 15.0
1408
+ {
1409
+ "value": 15.0,
1410
+ "date": "Mar"
1408
1411
  },
1409
1412
  {
1410
- "date": "Apr",
1411
- "value": 25.0
1413
+ "value": 25.0,
1414
+ "date": "Apr"
1412
1415
  },
1413
1416
  {
1414
- "date": "May",
1415
- "value": 22.0
1417
+ "value": 22.0,
1418
+ "date": "May"
1416
1419
  },
1417
1420
  {
1418
1421
  "date": "Jun",
@@ -1451,36 +1454,33 @@
1451
1454
  ],
1452
1455
  "height": 200.0,
1453
1456
  "width": 400.0,
1454
- "type": "graph-view",
1455
1457
  "edges": [
1456
1458
  {
1457
- "target": "b",
1458
- "source": "a"
1459
+ "source": "a",
1460
+ "target": "b"
1459
1461
  },
1460
1462
  {
1461
- "target": "c",
1462
- "source": "b"
1463
+ "source": "b",
1464
+ "target": "c"
1463
1465
  }
1464
- ]
1466
+ ],
1467
+ "type": "graph-view"
1465
1468
  }
1466
- ],
1467
- "gap": "lg"
1469
+ ]
1468
1470
  }
1469
- ],
1470
- "type": "scaled-diagram"
1471
+ ]
1471
1472
  }
1472
1473
  ],
1473
- "type": "dashboard-layout",
1474
1474
  "navItems": [
1475
1475
  {
1476
+ "label": "Portfolio",
1476
1477
  "href": "/portfolio",
1477
- "icon": "layout-list",
1478
- "label": "Portfolio"
1478
+ "icon": "layout-list"
1479
1479
  },
1480
1480
  {
1481
+ "icon": "clipboard-list",
1481
1482
  "href": "/orders",
1482
- "label": "Orders",
1483
- "icon": "clipboard-list"
1483
+ "label": "Orders"
1484
1484
  },
1485
1485
  {
1486
1486
  "icon": "layout-list",
@@ -1557,7 +1557,7 @@
1557
1557
  "event": "TradeOrderLoaded",
1558
1558
  "description": "Fired when TradeOrder finishes loading; payload.data holds the list",
1559
1559
  "scope": "internal",
1560
- "payload": [
1560
+ "payloadSchema": [
1561
1561
  {
1562
1562
  "name": "data",
1563
1563
  "type": "[TradeOrder]"
@@ -1568,7 +1568,7 @@
1568
1568
  "event": "TradeOrderLoadFailed",
1569
1569
  "description": "Fired when TradeOrder fails to load",
1570
1570
  "scope": "internal",
1571
- "payload": [
1571
+ "payloadSchema": [
1572
1572
  {
1573
1573
  "name": "error",
1574
1574
  "type": "string"
@@ -1621,7 +1621,7 @@
1621
1621
  {
1622
1622
  "key": "TradeOrderLoaded",
1623
1623
  "name": "TradeOrder loaded",
1624
- "payload": [
1624
+ "payloadSchema": [
1625
1625
  {
1626
1626
  "name": "data",
1627
1627
  "type": "[TradeOrder]"
@@ -1631,7 +1631,7 @@
1631
1631
  {
1632
1632
  "key": "TradeOrderLoadFailed",
1633
1633
  "name": "TradeOrder load failed",
1634
- "payload": [
1634
+ "payloadSchema": [
1635
1635
  {
1636
1636
  "name": "error",
1637
1637
  "type": "string"
@@ -1663,19 +1663,19 @@
1663
1663
  "render-ui",
1664
1664
  "main",
1665
1665
  {
1666
- "type": "stack",
1667
1666
  "direction": "vertical",
1668
- "className": "py-12",
1667
+ "type": "stack",
1669
1668
  "gap": "md",
1669
+ "className": "py-12",
1670
1670
  "children": [
1671
1671
  {
1672
1672
  "type": "spinner"
1673
1673
  },
1674
1674
  {
1675
+ "type": "typography",
1675
1676
  "variant": "caption",
1676
- "content": "Loading orders…",
1677
1677
  "color": "muted",
1678
- "type": "typography"
1678
+ "content": "Loading orders…"
1679
1679
  }
1680
1680
  ],
1681
1681
  "align": "center"
@@ -1692,60 +1692,65 @@
1692
1692
  "render-ui",
1693
1693
  "main",
1694
1694
  {
1695
+ "type": "dashboard-layout",
1696
+ "appName": "Trading Dashboard",
1695
1697
  "children": [
1696
1698
  {
1697
- "gap": "lg",
1698
- "type": "stack",
1699
+ "direction": "vertical",
1699
1700
  "children": [
1700
1701
  {
1701
- "direction": "horizontal",
1702
- "justify": "between",
1703
- "align": "center",
1704
- "gap": "md",
1702
+ "type": "stack",
1705
1703
  "children": [
1706
1704
  {
1707
1705
  "direction": "horizontal",
1706
+ "type": "stack",
1707
+ "gap": "sm",
1708
+ "align": "center",
1708
1709
  "children": [
1709
1710
  {
1710
- "name": "shopping-cart",
1711
- "type": "icon"
1711
+ "type": "icon",
1712
+ "name": "shopping-cart"
1712
1713
  },
1713
1714
  {
1715
+ "variant": "h2",
1714
1716
  "content": "Trade Orders",
1715
- "type": "typography",
1716
- "variant": "h2"
1717
+ "type": "typography"
1717
1718
  }
1718
- ],
1719
- "type": "stack",
1720
- "gap": "sm",
1721
- "align": "center"
1719
+ ]
1722
1720
  },
1723
1721
  {
1724
- "type": "stack",
1725
- "direction": "horizontal",
1726
1722
  "children": [
1727
1723
  {
1728
- "type": "button",
1729
1724
  "icon": "plus",
1730
- "label": "Create TradeOrder",
1731
1725
  "variant": "primary",
1732
- "action": "CREATE"
1726
+ "type": "button",
1727
+ "action": "CREATE",
1728
+ "label": "Create TradeOrder"
1733
1729
  }
1734
1730
  ],
1735
- "gap": "sm"
1731
+ "gap": "sm",
1732
+ "type": "stack",
1733
+ "direction": "horizontal"
1736
1734
  }
1737
1735
  ],
1738
- "type": "stack"
1736
+ "direction": "horizontal",
1737
+ "align": "center",
1738
+ "justify": "between",
1739
+ "gap": "md"
1739
1740
  },
1740
1741
  {
1741
1742
  "type": "divider"
1742
1743
  },
1743
1744
  {
1745
+ "variant": "card",
1746
+ "fields": [],
1747
+ "gap": "sm",
1748
+ "type": "data-list",
1744
1749
  "entity": "@payload.data",
1745
1750
  "columns": [
1746
1751
  {
1747
- "variant": "h3",
1748
1752
  "name": "symbol",
1753
+ "variant": "h3",
1749
1754
  "icon": "trending-up"
1750
1755
  },
1751
1756
  {
@@ -1753,9 +1758,9 @@
1753
1758
  "variant": "badge"
1754
1759
  },
1755
1760
  {
1756
- "name": "quantity",
1761
+ "format": "number",
1757
1762
  "variant": "body",
1758
- "format": "number"
1763
+ "name": "quantity"
1759
1764
  },
1760
1765
  {
1761
1766
  "name": "price",
@@ -1763,35 +1768,30 @@
1763
1768
  "variant": "h4"
1764
1769
  }
1765
1770
  ],
1766
- "type": "data-list",
1767
1771
  "itemActions": [
1768
1772
  {
1773
+ "label": "View",
1769
1774
  "event": "VIEW",
1770
- "variant": "ghost",
1771
- "label": "View"
1775
+ "variant": "ghost"
1772
1776
  },
1773
1777
  {
1774
- "label": "Edit",
1775
1778
  "variant": "ghost",
1779
+ "label": "Edit",
1776
1780
  "event": "EDIT"
1777
1781
  },
1778
1782
  {
1779
- "event": "DELETE",
1780
1783
  "label": "Delete",
1781
- "variant": "danger"
1784
+ "variant": "danger",
1785
+ "event": "DELETE"
1782
1786
  }
1783
- ],
1784
- "variant": "card",
1785
- "gap": "sm",
1786
- "fields": []
1787
+ ]
1787
1788
  }
1788
1789
  ],
1789
- "direction": "vertical",
1790
+ "type": "stack",
1791
+ "gap": "lg",
1790
1792
  "className": "max-w-5xl mx-auto w-full"
1791
1793
  }
1792
1794
  ],
1793
- "type": "dashboard-layout",
1794
- "appName": "Trading Dashboard",
1795
1795
  "navItems": [
1796
1796
  {
1797
1797
  "icon": "layout-list",
@@ -1799,9 +1799,9 @@
1799
1799
  "href": "/portfolio"
1800
1800
  },
1801
1801
  {
1802
- "label": "Orders",
1802
+ "icon": "clipboard-list",
1803
1803
  "href": "/orders",
1804
- "icon": "clipboard-list"
1804
+ "label": "Orders"
1805
1805
  },
1806
1806
  {
1807
1807
  "href": "/market",
@@ -1822,36 +1822,36 @@
1822
1822
  "render-ui",
1823
1823
  "main",
1824
1824
  {
1825
+ "gap": "md",
1825
1826
  "direction": "vertical",
1827
+ "type": "stack",
1828
+ "className": "py-12",
1829
+ "align": "center",
1826
1830
  "children": [
1827
1831
  {
1828
- "name": "alert-triangle",
1829
1832
  "color": "destructive",
1833
+ "name": "alert-triangle",
1830
1834
  "type": "icon"
1831
1835
  },
1832
1836
  {
1833
- "variant": "h3",
1837
+ "type": "typography",
1834
1838
  "content": "Failed to load orders",
1835
- "type": "typography"
1839
+ "variant": "h3"
1836
1840
  },
1837
1841
  {
1838
- "variant": "body",
1842
+ "content": "@payload.error",
1839
1843
  "type": "typography",
1840
1844
  "color": "muted",
1841
- "content": "@payload.error"
1845
+ "variant": "body"
1842
1846
  },
1843
1847
  {
1844
- "label": "Retry",
1845
- "type": "button",
1846
- "variant": "primary",
1847
1848
  "icon": "rotate-ccw",
1848
- "action": "INIT"
1849
+ "action": "INIT",
1850
+ "variant": "primary",
1851
+ "type": "button",
1852
+ "label": "Retry"
1849
1853
  }
1850
- ],
1851
- "type": "stack",
1852
- "align": "center",
1853
- "className": "py-12",
1854
- "gap": "md"
1854
+ ]
1855
1855
  }
1856
1856
  ]
1857
1857
  ]
@@ -1872,7 +1872,7 @@
1872
1872
  "event": "TradeOrderLoadFailed",
1873
1873
  "description": "Fired when TradeOrder fails to load",
1874
1874
  "scope": "internal",
1875
- "payload": [
1875
+ "payloadSchema": [
1876
1876
  {
1877
1877
  "name": "error",
1878
1878
  "type": "string"
@@ -1887,7 +1887,7 @@
1887
1887
  "event": "TradeOrderLoaded",
1888
1888
  "description": "Fired when TradeOrder finishes loading; payload.data holds the list",
1889
1889
  "scope": "internal",
1890
- "payload": [
1890
+ "payloadSchema": [
1891
1891
  {
1892
1892
  "name": "data",
1893
1893
  "type": "[TradeOrder]"
@@ -1897,7 +1897,7 @@
1897
1897
  {
1898
1898
  "event": "TradeOrderSaveFailed",
1899
1899
  "scope": "internal",
1900
- "payload": [
1900
+ "payloadSchema": [
1901
1901
  {
1902
1902
  "name": "error",
1903
1903
  "type": "string"
@@ -1911,7 +1911,7 @@
1911
1911
  {
1912
1912
  "event": "TradeOrderSaved",
1913
1913
  "scope": "internal",
1914
- "payload": [
1914
+ "payloadSchema": [
1915
1915
  {
1916
1916
  "name": "id",
1917
1917
  "type": "string"
@@ -1945,7 +1945,7 @@
1945
1945
  {
1946
1946
  "key": "SAVE",
1947
1947
  "name": "Save",
1948
- "payload": [
1948
+ "payloadSchema": [
1949
1949
  {
1950
1950
  "name": "data",
1951
1951
  "type": "string"
@@ -1959,7 +1959,7 @@
1959
1959
  {
1960
1960
  "key": "TradeOrderLoadFailed",
1961
1961
  "name": "TradeOrder load failed",
1962
- "payload": [
1962
+ "payloadSchema": [
1963
1963
  {
1964
1964
  "name": "error",
1965
1965
  "type": "string"
@@ -1973,7 +1973,7 @@
1973
1973
  {
1974
1974
  "key": "TradeOrderLoaded",
1975
1975
  "name": "TradeOrder loaded",
1976
- "payload": [
1976
+ "payloadSchema": [
1977
1977
  {
1978
1978
  "name": "data",
1979
1979
  "type": "[TradeOrder]"
@@ -1983,7 +1983,7 @@
1983
1983
  {
1984
1984
  "key": "TradeOrderSaveFailed",
1985
1985
  "name": "TradeOrder save failed",
1986
- "payload": [
1986
+ "payloadSchema": [
1987
1987
  {
1988
1988
  "name": "error",
1989
1989
  "type": "string"
@@ -1997,7 +1997,7 @@
1997
1997
  {
1998
1998
  "key": "TradeOrderSaved",
1999
1999
  "name": "TradeOrder saved",
2000
- "payload": [
2000
+ "payloadSchema": [
2001
2001
  {
2002
2002
  "name": "id",
2003
2003
  "type": "string"
@@ -2027,8 +2027,8 @@
2027
2027
  "TradeOrder",
2028
2028
  {
2029
2029
  "emit": {
2030
- "success": "TradeOrderLoaded",
2031
- "failure": "TradeOrderLoadFailed"
2030
+ "failure": "TradeOrderLoadFailed",
2031
+ "success": "TradeOrderLoaded"
2032
2032
  }
2033
2033
  }
2034
2034
  ],
@@ -2036,42 +2036,42 @@
2036
2036
  "render-ui",
2037
2037
  "modal",
2038
2038
  {
2039
- "type": "stack",
2039
+ "direction": "vertical",
2040
2040
  "gap": "md",
2041
2041
  "children": [
2042
2042
  {
2043
+ "gap": "sm",
2044
+ "direction": "horizontal",
2045
+ "type": "stack",
2043
2046
  "children": [
2044
2047
  {
2045
2048
  "type": "icon",
2046
2049
  "name": "plus-circle"
2047
2050
  },
2048
2051
  {
2049
- "variant": "h3",
2050
2052
  "type": "typography",
2051
- "content": "Create TradeOrder"
2053
+ "content": "Create TradeOrder",
2054
+ "variant": "h3"
2052
2055
  }
2053
- ],
2054
- "type": "stack",
2055
- "direction": "horizontal",
2056
- "gap": "sm"
2056
+ ]
2057
2057
  },
2058
2058
  {
2059
2059
  "type": "divider"
2060
2060
  },
2061
2061
  {
2062
- "cancelEvent": "CLOSE",
2063
- "mode": "create",
2064
- "submitEvent": "SAVE",
2065
- "type": "form-section",
2066
2062
  "fields": [
2067
2063
  "symbol",
2068
2064
  "side",
2069
2065
  "quantity",
2070
2066
  "price"
2071
- ]
2067
+ ],
2068
+ "submitEvent": "SAVE",
2069
+ "cancelEvent": "CLOSE",
2070
+ "type": "form-section",
2071
+ "mode": "create"
2072
2072
  }
2073
2073
  ],
2074
- "direction": "vertical"
2074
+ "type": "stack"
2075
2075
  }
2076
2076
  ]
2077
2077
  ]
@@ -2151,7 +2151,7 @@
2151
2151
  "event": "TradeOrderLoadFailed",
2152
2152
  "description": "Fired when TradeOrder fails to load",
2153
2153
  "scope": "internal",
2154
- "payload": [
2154
+ "payloadSchema": [
2155
2155
  {
2156
2156
  "name": "error",
2157
2157
  "type": "string"
@@ -2166,7 +2166,7 @@
2166
2166
  "event": "TradeOrderLoaded",
2167
2167
  "description": "Fired when TradeOrder finishes loading; payload.data holds the list",
2168
2168
  "scope": "internal",
2169
- "payload": [
2169
+ "payloadSchema": [
2170
2170
  {
2171
2171
  "name": "data",
2172
2172
  "type": "[TradeOrder]"
@@ -2176,7 +2176,7 @@
2176
2176
  {
2177
2177
  "event": "TradeOrderUpdateFailed",
2178
2178
  "scope": "internal",
2179
- "payload": [
2179
+ "payloadSchema": [
2180
2180
  {
2181
2181
  "name": "error",
2182
2182
  "type": "string"
@@ -2190,7 +2190,7 @@
2190
2190
  {
2191
2191
  "event": "TradeOrderUpdated",
2192
2192
  "scope": "internal",
2193
- "payload": [
2193
+ "payloadSchema": [
2194
2194
  {
2195
2195
  "name": "id",
2196
2196
  "type": "string"
@@ -2216,7 +2216,7 @@
2216
2216
  {
2217
2217
  "key": "EDIT",
2218
2218
  "name": "Edit",
2219
- "payload": [
2219
+ "payloadSchema": [
2220
2220
  {
2221
2221
  "name": "id",
2222
2222
  "type": "string"
@@ -2234,7 +2234,7 @@
2234
2234
  {
2235
2235
  "key": "SAVE",
2236
2236
  "name": "Save",
2237
- "payload": [
2237
+ "payloadSchema": [
2238
2238
  {
2239
2239
  "name": "data",
2240
2240
  "type": "string"
@@ -2248,7 +2248,7 @@
2248
2248
  {
2249
2249
  "key": "TradeOrderLoadFailed",
2250
2250
  "name": "TradeOrder load failed",
2251
- "payload": [
2251
+ "payloadSchema": [
2252
2252
  {
2253
2253
  "name": "error",
2254
2254
  "type": "string"
@@ -2262,7 +2262,7 @@
2262
2262
  {
2263
2263
  "key": "TradeOrderLoaded",
2264
2264
  "name": "TradeOrder loaded",
2265
- "payload": [
2265
+ "payloadSchema": [
2266
2266
  {
2267
2267
  "name": "data",
2268
2268
  "type": "[TradeOrder]"
@@ -2272,7 +2272,7 @@
2272
2272
  {
2273
2273
  "key": "TradeOrderUpdateFailed",
2274
2274
  "name": "TradeOrder update failed",
2275
- "payload": [
2275
+ "payloadSchema": [
2276
2276
  {
2277
2277
  "name": "error",
2278
2278
  "type": "string"
@@ -2286,7 +2286,7 @@
2286
2286
  {
2287
2287
  "key": "TradeOrderUpdated",
2288
2288
  "name": "TradeOrder updated",
2289
- "payload": [
2289
+ "payloadSchema": [
2290
2290
  {
2291
2291
  "name": "id",
2292
2292
  "type": "string"
@@ -2315,40 +2315,40 @@
2315
2315
  "fetch",
2316
2316
  "TradeOrder",
2317
2317
  {
2318
- "id": "@payload.id",
2319
2318
  "emit": {
2320
- "success": "TradeOrderLoaded",
2321
- "failure": "TradeOrderLoadFailed"
2322
- }
2319
+ "failure": "TradeOrderLoadFailed",
2320
+ "success": "TradeOrderLoaded"
2321
+ },
2322
+ "id": "@payload.id"
2323
2323
  }
2324
2324
  ],
2325
2325
  [
2326
2326
  "render-ui",
2327
2327
  "modal",
2328
2328
  {
2329
- "gap": "md",
2330
- "direction": "vertical",
2329
+ "type": "stack",
2331
2330
  "children": [
2332
2331
  {
2333
2332
  "direction": "horizontal",
2334
- "gap": "sm",
2335
- "type": "stack",
2336
2333
  "children": [
2337
2334
  {
2338
2335
  "type": "icon",
2339
2336
  "name": "edit"
2340
2337
  },
2341
2338
  {
2339
+ "variant": "h3",
2342
2340
  "type": "typography",
2343
- "content": "Edit TradeOrder",
2344
- "variant": "h3"
2341
+ "content": "Edit TradeOrder"
2345
2342
  }
2346
- ]
2343
+ ],
2344
+ "gap": "sm",
2345
+ "type": "stack"
2347
2346
  },
2348
2347
  {
2349
2348
  "type": "divider"
2350
2349
  },
2351
2350
  {
2351
+ "cancelEvent": "CLOSE",
2352
2352
  "fields": [
2353
2353
  "symbol",
2354
2354
  "side",
@@ -2356,13 +2356,13 @@
2356
2356
  "price"
2357
2357
  ],
2358
2358
  "mode": "edit",
2359
- "cancelEvent": "CLOSE",
2360
- "type": "form-section",
2359
+ "entity": "@payload.row",
2361
2360
  "submitEvent": "SAVE",
2362
- "entity": "@payload.row"
2361
+ "type": "form-section"
2363
2362
  }
2364
2363
  ],
2365
- "type": "stack"
2364
+ "gap": "md",
2365
+ "direction": "vertical"
2366
2366
  }
2367
2367
  ]
2368
2368
  ]
@@ -2439,7 +2439,7 @@
2439
2439
  "event": "TradeOrderLoaded",
2440
2440
  "description": "Fired when TradeOrder finishes loading; payload.data holds the list",
2441
2441
  "scope": "internal",
2442
- "payload": [
2442
+ "payloadSchema": [
2443
2443
  {
2444
2444
  "name": "data",
2445
2445
  "type": "[TradeOrder]"
@@ -2450,7 +2450,7 @@
2450
2450
  "event": "TradeOrderLoadFailed",
2451
2451
  "description": "Fired when TradeOrder fails to load",
2452
2452
  "scope": "internal",
2453
- "payload": [
2453
+ "payloadSchema": [
2454
2454
  {
2455
2455
  "name": "error",
2456
2456
  "type": "string"
@@ -2480,7 +2480,7 @@
2480
2480
  {
2481
2481
  "key": "VIEW",
2482
2482
  "name": "View",
2483
- "payload": [
2483
+ "payloadSchema": [
2484
2484
  {
2485
2485
  "name": "id",
2486
2486
  "type": "string"
@@ -2498,7 +2498,7 @@
2498
2498
  {
2499
2499
  "key": "TradeOrderLoaded",
2500
2500
  "name": "TradeOrder loaded",
2501
- "payload": [
2501
+ "payloadSchema": [
2502
2502
  {
2503
2503
  "name": "data",
2504
2504
  "type": "[TradeOrder]"
@@ -2508,7 +2508,7 @@
2508
2508
  {
2509
2509
  "key": "TradeOrderLoadFailed",
2510
2510
  "name": "TradeOrder load failed",
2511
- "payload": [
2511
+ "payloadSchema": [
2512
2512
  {
2513
2513
  "name": "error",
2514
2514
  "type": "string"
@@ -2552,50 +2552,50 @@
2552
2552
  "render-ui",
2553
2553
  "modal",
2554
2554
  {
2555
- "direction": "vertical",
2555
+ "gap": "md",
2556
2556
  "type": "stack",
2557
+ "direction": "vertical",
2557
2558
  "children": [
2558
2559
  {
2559
2560
  "children": [
2560
2561
  {
2561
- "type": "icon",
2562
- "name": "eye"
2562
+ "name": "eye",
2563
+ "type": "icon"
2563
2564
  },
2564
2565
  {
2565
- "variant": "h3",
2566
2566
  "type": "typography",
2567
+ "variant": "h3",
2567
2568
  "content": "@entity.symbol"
2568
2569
  }
2569
2570
  ],
2570
- "type": "stack",
2571
- "gap": "sm",
2572
2571
  "direction": "horizontal",
2573
- "align": "center"
2572
+ "align": "center",
2573
+ "type": "stack",
2574
+ "gap": "sm"
2574
2575
  },
2575
2576
  {
2576
2577
  "type": "divider"
2577
2578
  },
2578
2579
  {
2580
+ "direction": "horizontal",
2581
+ "gap": "md",
2579
2582
  "children": [
2580
2583
  {
2581
2584
  "content": "Symbol",
2582
- "type": "typography",
2583
- "variant": "caption"
2585
+ "variant": "caption",
2586
+ "type": "typography"
2584
2587
  },
2585
2588
  {
2589
+ "variant": "body",
2586
2590
  "content": "@entity.symbol",
2587
- "type": "typography",
2588
- "variant": "body"
2591
+ "type": "typography"
2589
2592
  }
2590
2593
  ],
2591
- "gap": "md",
2592
- "direction": "horizontal",
2593
2594
  "type": "stack"
2594
2595
  },
2595
2596
  {
2596
- "direction": "horizontal",
2597
2597
  "type": "stack",
2598
- "gap": "md",
2598
+ "direction": "horizontal",
2599
2599
  "children": [
2600
2600
  {
2601
2601
  "variant": "caption",
@@ -2603,20 +2603,21 @@
2603
2603
  "content": "Side"
2604
2604
  },
2605
2605
  {
2606
- "variant": "body",
2607
2606
  "content": "@entity.side",
2607
+ "variant": "body",
2608
2608
  "type": "typography"
2609
2609
  }
2610
- ]
2610
+ ],
2611
+ "gap": "md"
2611
2612
  },
2612
2613
  {
2614
+ "type": "stack",
2613
2615
  "direction": "horizontal",
2614
- "gap": "md",
2615
2616
  "children": [
2616
2617
  {
2617
2618
  "type": "typography",
2618
- "variant": "caption",
2619
- "content": "Quantity"
2619
+ "content": "Quantity",
2620
+ "variant": "caption"
2620
2621
  },
2621
2622
  {
2622
2623
  "content": "@entity.quantity",
@@ -2624,16 +2625,15 @@
2624
2625
  "variant": "body"
2625
2626
  }
2626
2627
  ],
2627
- "type": "stack"
2628
+ "gap": "md"
2628
2629
  },
2629
2630
  {
2630
- "type": "stack",
2631
- "gap": "md",
2632
2631
  "direction": "horizontal",
2632
+ "gap": "md",
2633
2633
  "children": [
2634
2634
  {
2635
- "variant": "caption",
2636
2635
  "content": "Price",
2636
+ "variant": "caption",
2637
2637
  "type": "typography"
2638
2638
  },
2639
2639
  {
@@ -2641,34 +2641,34 @@
2641
2641
  "content": "@entity.price",
2642
2642
  "type": "typography"
2643
2643
  }
2644
- ]
2644
+ ],
2645
+ "type": "stack"
2645
2646
  },
2646
2647
  {
2647
2648
  "type": "divider"
2648
2649
  },
2649
2650
  {
2650
- "gap": "sm",
2651
2651
  "children": [
2652
2652
  {
2653
+ "action": "EDIT",
2654
+ "label": "Edit",
2653
2655
  "variant": "primary",
2654
2656
  "type": "button",
2655
- "label": "Edit",
2656
- "action": "EDIT",
2657
2657
  "icon": "edit"
2658
2658
  },
2659
2659
  {
2660
- "action": "CLOSE",
2661
2660
  "variant": "ghost",
2662
2661
  "label": "Close",
2662
+ "action": "CLOSE",
2663
2663
  "type": "button"
2664
2664
  }
2665
2665
  ],
2666
2666
  "type": "stack",
2667
2667
  "direction": "horizontal",
2668
- "justify": "end"
2668
+ "justify": "end",
2669
+ "gap": "sm"
2669
2670
  }
2670
- ],
2671
- "gap": "md"
2671
+ ]
2672
2672
  }
2673
2673
  ]
2674
2674
  ]
@@ -2731,7 +2731,7 @@
2731
2731
  {
2732
2732
  "event": "TradeOrderDeleteFailed",
2733
2733
  "scope": "internal",
2734
- "payload": [
2734
+ "payloadSchema": [
2735
2735
  {
2736
2736
  "name": "error",
2737
2737
  "type": "string"
@@ -2745,7 +2745,7 @@
2745
2745
  {
2746
2746
  "event": "TradeOrderDeleted",
2747
2747
  "scope": "internal",
2748
- "payload": [
2748
+ "payloadSchema": [
2749
2749
  {
2750
2750
  "name": "id",
2751
2751
  "type": "string"
@@ -2756,7 +2756,7 @@
2756
2756
  "event": "TradeOrderLoadFailed",
2757
2757
  "description": "Fired when TradeOrder fails to load",
2758
2758
  "scope": "internal",
2759
- "payload": [
2759
+ "payloadSchema": [
2760
2760
  {
2761
2761
  "name": "error",
2762
2762
  "type": "string"
@@ -2771,7 +2771,7 @@
2771
2771
  "event": "TradeOrderLoaded",
2772
2772
  "description": "Fired when TradeOrder finishes loading; payload.data holds the list",
2773
2773
  "scope": "internal",
2774
- "payload": [
2774
+ "payloadSchema": [
2775
2775
  {
2776
2776
  "name": "data",
2777
2777
  "type": "[TradeOrder]"
@@ -2797,7 +2797,7 @@
2797
2797
  {
2798
2798
  "key": "DELETE",
2799
2799
  "name": "Delete",
2800
- "payload": [
2800
+ "payloadSchema": [
2801
2801
  {
2802
2802
  "name": "id",
2803
2803
  "type": "string"
@@ -2823,7 +2823,7 @@
2823
2823
  {
2824
2824
  "key": "TradeOrderDeleteFailed",
2825
2825
  "name": "TradeOrder delete failed",
2826
- "payload": [
2826
+ "payloadSchema": [
2827
2827
  {
2828
2828
  "name": "error",
2829
2829
  "type": "string"
@@ -2837,7 +2837,7 @@
2837
2837
  {
2838
2838
  "key": "TradeOrderDeleted",
2839
2839
  "name": "TradeOrder deleted",
2840
- "payload": [
2840
+ "payloadSchema": [
2841
2841
  {
2842
2842
  "name": "id",
2843
2843
  "type": "string"
@@ -2847,7 +2847,7 @@
2847
2847
  {
2848
2848
  "key": "TradeOrderLoadFailed",
2849
2849
  "name": "TradeOrder load failed",
2850
- "payload": [
2850
+ "payloadSchema": [
2851
2851
  {
2852
2852
  "name": "error",
2853
2853
  "type": "string"
@@ -2861,7 +2861,7 @@
2861
2861
  {
2862
2862
  "key": "TradeOrderLoaded",
2863
2863
  "name": "TradeOrder loaded",
2864
- "payload": [
2864
+ "payloadSchema": [
2865
2865
  {
2866
2866
  "name": "data",
2867
2867
  "type": "[TradeOrder]"
@@ -2897,8 +2897,8 @@
2897
2897
  {
2898
2898
  "id": "@payload.id",
2899
2899
  "emit": {
2900
- "failure": "TradeOrderLoadFailed",
2901
- "success": "TradeOrderLoaded"
2900
+ "success": "TradeOrderLoaded",
2901
+ "failure": "TradeOrderLoadFailed"
2902
2902
  }
2903
2903
  }
2904
2904
  ],
@@ -2906,9 +2906,10 @@
2906
2906
  "render-ui",
2907
2907
  "modal",
2908
2908
  {
2909
+ "gap": "md",
2909
2910
  "children": [
2910
2911
  {
2911
- "gap": "sm",
2912
+ "direction": "horizontal",
2912
2913
  "children": [
2913
2914
  {
2914
2915
  "type": "icon",
@@ -2920,43 +2921,42 @@
2920
2921
  "type": "typography"
2921
2922
  }
2922
2923
  ],
2923
- "direction": "horizontal",
2924
2924
  "type": "stack",
2925
+ "gap": "sm",
2925
2926
  "align": "center"
2926
2927
  },
2927
2928
  {
2928
2929
  "type": "divider"
2929
2930
  },
2930
2931
  {
2931
- "message": "This action cannot be undone.",
2932
2932
  "type": "alert",
2933
+ "message": "This action cannot be undone.",
2933
2934
  "variant": "error"
2934
2935
  },
2935
2936
  {
2936
2937
  "children": [
2937
2938
  {
2938
2939
  "type": "button",
2939
- "action": "CANCEL",
2940
+ "label": "Cancel",
2940
2941
  "variant": "ghost",
2941
- "label": "Cancel"
2942
+ "action": "CANCEL"
2942
2943
  },
2943
2944
  {
2944
- "label": "Delete",
2945
- "action": "CONFIRM_DELETE",
2946
- "variant": "danger",
2945
+ "icon": "check",
2947
2946
  "type": "button",
2948
- "icon": "check"
2947
+ "action": "CONFIRM_DELETE",
2948
+ "label": "Delete",
2949
+ "variant": "danger"
2949
2950
  }
2950
2951
  ],
2951
- "direction": "horizontal",
2952
- "type": "stack",
2953
2952
  "justify": "end",
2954
- "gap": "sm"
2953
+ "type": "stack",
2954
+ "gap": "sm",
2955
+ "direction": "horizontal"
2955
2956
  }
2956
2957
  ],
2957
- "gap": "md",
2958
- "type": "stack",
2959
- "direction": "vertical"
2958
+ "direction": "vertical",
2959
+ "type": "stack"
2960
2960
  }
2961
2961
  ]
2962
2962
  ]
@@ -2973,8 +2973,8 @@
2973
2973
  "@entity.pendingId",
2974
2974
  {
2975
2975
  "emit": {
2976
- "success": "TradeOrderDeleted",
2977
- "failure": "TradeOrderDeleteFailed"
2976
+ "failure": "TradeOrderDeleteFailed",
2977
+ "success": "TradeOrderDeleted"
2978
2978
  }
2979
2979
  }
2980
2980
  ],
@@ -3116,7 +3116,7 @@
3116
3116
  "event": "MarketFeedLoadFailed",
3117
3117
  "description": "Fired when MarketFeed fails to load",
3118
3118
  "scope": "internal",
3119
- "payload": [
3119
+ "payloadSchema": [
3120
3120
  {
3121
3121
  "name": "error",
3122
3122
  "type": "string"
@@ -3131,7 +3131,7 @@
3131
3131
  "event": "MarketFeedLoaded",
3132
3132
  "description": "Fired when MarketFeed finishes loading",
3133
3133
  "scope": "internal",
3134
- "payload": [
3134
+ "payloadSchema": [
3135
3135
  {
3136
3136
  "name": "data",
3137
3137
  "type": "[MarketFeed]"
@@ -3141,7 +3141,7 @@
3141
3141
  {
3142
3142
  "event": "MarketFeedSaveFailed",
3143
3143
  "scope": "internal",
3144
- "payload": [
3144
+ "payloadSchema": [
3145
3145
  {
3146
3146
  "name": "error",
3147
3147
  "type": "string"
@@ -3155,7 +3155,7 @@
3155
3155
  {
3156
3156
  "event": "MarketFeedSaved",
3157
3157
  "scope": "internal",
3158
- "payload": [
3158
+ "payloadSchema": [
3159
3159
  {
3160
3160
  "name": "id",
3161
3161
  "type": "string"
@@ -3191,7 +3191,7 @@
3191
3191
  {
3192
3192
  "key": "LOADED",
3193
3193
  "name": "Loaded",
3194
- "payload": [
3194
+ "payloadSchema": [
3195
3195
  {
3196
3196
  "name": "data",
3197
3197
  "type": "string"
@@ -3213,7 +3213,7 @@
3213
3213
  {
3214
3214
  "key": "MarketFeedLoadFailed",
3215
3215
  "name": "MarketFeed load failed",
3216
- "payload": [
3216
+ "payloadSchema": [
3217
3217
  {
3218
3218
  "name": "error",
3219
3219
  "type": "string"
@@ -3227,7 +3227,7 @@
3227
3227
  {
3228
3228
  "key": "MarketFeedLoaded",
3229
3229
  "name": "MarketFeed loaded",
3230
- "payload": [
3230
+ "payloadSchema": [
3231
3231
  {
3232
3232
  "name": "data",
3233
3233
  "type": "[MarketFeed]"
@@ -3237,7 +3237,7 @@
3237
3237
  {
3238
3238
  "key": "MarketFeedSaveFailed",
3239
3239
  "name": "MarketFeed save failed",
3240
- "payload": [
3240
+ "payloadSchema": [
3241
3241
  {
3242
3242
  "name": "error",
3243
3243
  "type": "string"
@@ -3251,7 +3251,7 @@
3251
3251
  {
3252
3252
  "key": "MarketFeedSaved",
3253
3253
  "name": "MarketFeed saved",
3254
- "payload": [
3254
+ "payloadSchema": [
3255
3255
  {
3256
3256
  "name": "id",
3257
3257
  "type": "string"
@@ -3270,8 +3270,8 @@
3270
3270
  "MarketFeed",
3271
3271
  {
3272
3272
  "emit": {
3273
- "failure": "MarketFeedLoadFailed",
3274
- "success": "MarketFeedLoaded"
3273
+ "success": "MarketFeedLoaded",
3274
+ "failure": "MarketFeedLoadFailed"
3275
3275
  }
3276
3276
  }
3277
3277
  ],
@@ -3282,8 +3282,8 @@
3282
3282
  "appName": "Trading Dashboard",
3283
3283
  "navItems": [
3284
3284
  {
3285
- "href": "/portfolio",
3286
3285
  "label": "Portfolio",
3286
+ "href": "/portfolio",
3287
3287
  "icon": "layout-list"
3288
3288
  },
3289
3289
  {
@@ -3293,54 +3293,54 @@
3293
3293
  },
3294
3294
  {
3295
3295
  "href": "/market",
3296
- "label": "Market",
3297
- "icon": "layout-list"
3296
+ "icon": "layout-list",
3297
+ "label": "Market"
3298
3298
  }
3299
3299
  ],
3300
- "type": "dashboard-layout",
3301
3300
  "children": [
3302
3301
  {
3303
3302
  "align": "center",
3304
3303
  "children": [
3305
3304
  {
3306
- "direction": "horizontal",
3307
- "gap": "md",
3305
+ "align": "center",
3308
3306
  "children": [
3309
3307
  {
3310
3308
  "type": "icon",
3311
3309
  "name": "activity"
3312
3310
  },
3313
3311
  {
3314
- "type": "typography",
3312
+ "variant": "h2",
3315
3313
  "content": "MarketFeed",
3316
- "variant": "h2"
3314
+ "type": "typography"
3317
3315
  }
3318
3316
  ],
3319
- "align": "center",
3320
- "type": "stack"
3317
+ "type": "stack",
3318
+ "direction": "horizontal",
3319
+ "gap": "md"
3321
3320
  },
3322
3321
  {
3323
3322
  "type": "divider"
3324
3323
  },
3325
3324
  {
3326
- "content": "Ready to start marketfeed operation.",
3327
3325
  "type": "typography",
3328
- "color": "muted",
3329
- "variant": "body"
3326
+ "content": "Ready to start marketfeed operation.",
3327
+ "variant": "body",
3328
+ "color": "muted"
3330
3329
  },
3331
3330
  {
3332
- "type": "button",
3333
- "action": "START",
3334
3331
  "icon": "play",
3332
+ "action": "START",
3335
3333
  "label": "Start",
3336
- "variant": "primary"
3334
+ "variant": "primary",
3335
+ "type": "button"
3337
3336
  }
3338
3337
  ],
3339
3338
  "type": "stack",
3340
3339
  "gap": "lg",
3341
3340
  "direction": "vertical"
3342
3341
  }
3343
- ]
3342
+ ],
3343
+ "type": "dashboard-layout"
3344
3344
  }
3345
3345
  ]
3346
3346
  ]
@@ -3354,42 +3354,42 @@
3354
3354
  "render-ui",
3355
3355
  "main",
3356
3356
  {
3357
- "type": "dashboard-layout",
3358
- "appName": "Trading Dashboard",
3359
3357
  "children": [
3360
3358
  {
3361
3359
  "align": "center",
3362
- "direction": "vertical",
3363
3360
  "children": [
3364
3361
  {
3365
- "type": "loading-state",
3362
+ "title": "Connecting to market feed...",
3366
3363
  "message": "Processing marketfeed...",
3367
- "title": "Connecting to market feed..."
3364
+ "type": "loading-state"
3368
3365
  },
3369
3366
  {
3370
3367
  "type": "skeleton",
3371
3368
  "variant": "text"
3372
3369
  }
3373
3370
  ],
3374
- "type": "stack",
3375
- "gap": "lg"
3371
+ "gap": "lg",
3372
+ "direction": "vertical",
3373
+ "type": "stack"
3376
3374
  }
3377
3375
  ],
3376
+ "appName": "Trading Dashboard",
3377
+ "type": "dashboard-layout",
3378
3378
  "navItems": [
3379
3379
  {
3380
+ "href": "/portfolio",
3380
3381
  "label": "Portfolio",
3381
- "icon": "layout-list",
3382
- "href": "/portfolio"
3382
+ "icon": "layout-list"
3383
3383
  },
3384
3384
  {
3385
- "label": "Orders",
3385
+ "href": "/orders",
3386
3386
  "icon": "clipboard-list",
3387
- "href": "/orders"
3387
+ "label": "Orders"
3388
3388
  },
3389
3389
  {
3390
- "icon": "layout-list",
3390
+ "label": "Market",
3391
3391
  "href": "/market",
3392
- "label": "Market"
3392
+ "icon": "layout-list"
3393
3393
  }
3394
3394
  ]
3395
3395
  }
@@ -3417,57 +3417,57 @@
3417
3417
  "render-ui",
3418
3418
  "main",
3419
3419
  {
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
+ "type": "dashboard-layout",
3420
3438
  "appName": "Trading Dashboard",
3421
3439
  "children": [
3422
3440
  {
3423
3441
  "direction": "vertical",
3424
- "type": "stack",
3442
+ "gap": "lg",
3425
3443
  "children": [
3426
3444
  {
3427
3445
  "name": "check-circle",
3428
3446
  "type": "icon"
3429
3447
  },
3430
3448
  {
3431
- "variant": "success",
3449
+ "type": "alert",
3432
3450
  "message": "Market feed connected.",
3433
- "type": "alert"
3451
+ "variant": "success"
3434
3452
  },
3435
3453
  {
3436
- "direction": "horizontal",
3437
- "gap": "sm",
3438
- "justify": "center",
3439
3454
  "children": [
3440
3455
  {
3456
+ "variant": "ghost",
3457
+ "icon": "rotate-ccw",
3441
3458
  "label": "Reset",
3442
3459
  "action": "RESET",
3443
- "type": "button",
3444
- "icon": "rotate-ccw",
3445
- "variant": "ghost"
3460
+ "type": "button"
3446
3461
  }
3447
3462
  ],
3463
+ "justify": "center",
3464
+ "direction": "horizontal",
3465
+ "gap": "sm",
3448
3466
  "type": "stack"
3449
3467
  }
3450
3468
  ],
3451
- "gap": "lg",
3452
- "align": "center"
3453
- }
3454
- ],
3455
- "type": "dashboard-layout",
3456
- "navItems": [
3457
- {
3458
- "icon": "layout-list",
3459
- "href": "/portfolio",
3460
- "label": "Portfolio"
3461
- },
3462
- {
3463
- "href": "/orders",
3464
- "icon": "clipboard-list",
3465
- "label": "Orders"
3466
- },
3467
- {
3468
- "icon": "layout-list",
3469
- "href": "/market",
3470
- "label": "Market"
3469
+ "align": "center",
3470
+ "type": "stack"
3471
3471
  }
3472
3472
  ]
3473
3473
  }
@@ -3483,29 +3483,28 @@
3483
3483
  "render-ui",
3484
3484
  "main",
3485
3485
  {
3486
+ "appName": "Trading Dashboard",
3486
3487
  "navItems": [
3487
3488
  {
3489
+ "label": "Portfolio",
3488
3490
  "href": "/portfolio",
3489
- "icon": "layout-list",
3490
- "label": "Portfolio"
3491
+ "icon": "layout-list"
3491
3492
  },
3492
3493
  {
3493
- "icon": "clipboard-list",
3494
+ "label": "Orders",
3494
3495
  "href": "/orders",
3495
- "label": "Orders"
3496
+ "icon": "clipboard-list"
3496
3497
  },
3497
3498
  {
3499
+ "icon": "layout-list",
3498
3500
  "label": "Market",
3499
- "href": "/market",
3500
- "icon": "layout-list"
3501
+ "href": "/market"
3501
3502
  }
3502
3503
  ],
3503
3504
  "type": "dashboard-layout",
3504
- "appName": "Trading Dashboard",
3505
3505
  "children": [
3506
3506
  {
3507
- "direction": "vertical",
3508
- "gap": "lg",
3507
+ "align": "center",
3509
3508
  "children": [
3510
3509
  {
3511
3510
  "title": "Operation Failed",
@@ -3514,30 +3513,31 @@
3514
3513
  "onRetry": "RETRY"
3515
3514
  },
3516
3515
  {
3517
- "justify": "center",
3516
+ "type": "stack",
3518
3517
  "gap": "sm",
3518
+ "justify": "center",
3519
3519
  "direction": "horizontal",
3520
3520
  "children": [
3521
3521
  {
3522
+ "variant": "primary",
3523
+ "action": "RETRY",
3522
3524
  "type": "button",
3523
3525
  "icon": "refresh-cw",
3524
- "action": "RETRY",
3525
- "label": "Retry",
3526
- "variant": "primary"
3526
+ "label": "Retry"
3527
3527
  },
3528
3528
  {
3529
- "type": "button",
3529
+ "label": "Reset",
3530
3530
  "icon": "rotate-ccw",
3531
+ "type": "button",
3531
3532
  "action": "RESET",
3532
- "label": "Reset",
3533
3533
  "variant": "ghost"
3534
3534
  }
3535
- ],
3536
- "type": "stack"
3535
+ ]
3537
3536
  }
3538
3537
  ],
3538
+ "direction": "vertical",
3539
3539
  "type": "stack",
3540
- "align": "center"
3540
+ "gap": "lg"
3541
3541
  }
3542
3542
  ]
3543
3543
  }
@@ -3553,8 +3553,6 @@
3553
3553
  "render-ui",
3554
3554
  "main",
3555
3555
  {
3556
- "type": "dashboard-layout",
3557
- "appName": "Trading Dashboard",
3558
3556
  "navItems": [
3559
3557
  {
3560
3558
  "label": "Portfolio",
@@ -3562,27 +3560,25 @@
3562
3560
  "icon": "layout-list"
3563
3561
  },
3564
3562
  {
3565
- "icon": "clipboard-list",
3563
+ "href": "/orders",
3566
3564
  "label": "Orders",
3567
- "href": "/orders"
3565
+ "icon": "clipboard-list"
3568
3566
  },
3569
3567
  {
3570
- "icon": "layout-list",
3571
3568
  "label": "Market",
3572
- "href": "/market"
3569
+ "href": "/market",
3570
+ "icon": "layout-list"
3573
3571
  }
3574
3572
  ],
3575
3573
  "children": [
3576
3574
  {
3575
+ "type": "stack",
3577
3576
  "direction": "vertical",
3578
- "gap": "lg",
3579
3577
  "align": "center",
3580
- "type": "stack",
3581
3578
  "children": [
3582
3579
  {
3583
- "type": "stack",
3584
- "direction": "horizontal",
3585
3580
  "align": "center",
3581
+ "type": "stack",
3586
3582
  "gap": "md",
3587
3583
  "children": [
3588
3584
  {
@@ -3591,10 +3587,11 @@
3591
3587
  },
3592
3588
  {
3593
3589
  "type": "typography",
3594
- "variant": "h2",
3595
- "content": "MarketFeed"
3590
+ "content": "MarketFeed",
3591
+ "variant": "h2"
3596
3592
  }
3597
- ]
3593
+ ],
3594
+ "direction": "horizontal"
3598
3595
  },
3599
3596
  {
3600
3597
  "type": "divider"
@@ -3602,19 +3599,22 @@
3602
3599
  {
3603
3600
  "variant": "body",
3604
3601
  "type": "typography",
3605
- "content": "Ready to start marketfeed operation.",
3606
- "color": "muted"
3602
+ "color": "muted",
3603
+ "content": "Ready to start marketfeed operation."
3607
3604
  },
3608
3605
  {
3609
3606
  "variant": "primary",
3610
- "action": "START",
3611
- "label": "Start",
3612
3607
  "type": "button",
3613
- "icon": "play"
3608
+ "icon": "play",
3609
+ "label": "Start",
3610
+ "action": "START"
3614
3611
  }
3615
- ]
3612
+ ],
3613
+ "gap": "lg"
3616
3614
  }
3617
- ]
3615
+ ],
3616
+ "type": "dashboard-layout",
3617
+ "appName": "Trading Dashboard"
3618
3618
  }
3619
3619
  ]
3620
3620
  ]
@@ -3628,39 +3628,20 @@
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",
3650
3631
  "children": [
3651
3632
  {
3652
3633
  "type": "stack",
3653
3634
  "direction": "vertical",
3654
- "align": "center",
3655
3635
  "gap": "lg",
3636
+ "align": "center",
3656
3637
  "children": [
3657
3638
  {
3658
- "gap": "md",
3659
3639
  "type": "stack",
3640
+ "direction": "horizontal",
3660
3641
  "children": [
3661
3642
  {
3662
- "type": "icon",
3663
- "name": "activity"
3643
+ "name": "activity",
3644
+ "type": "icon"
3664
3645
  },
3665
3646
  {
3666
3647
  "type": "typography",
@@ -3668,28 +3649,47 @@
3668
3649
  "content": "MarketFeed"
3669
3650
  }
3670
3651
  ],
3671
- "direction": "horizontal",
3672
- "align": "center"
3652
+ "align": "center",
3653
+ "gap": "md"
3673
3654
  },
3674
3655
  {
3675
3656
  "type": "divider"
3676
3657
  },
3677
3658
  {
3678
- "color": "muted",
3679
- "content": "Ready to start marketfeed operation.",
3680
3659
  "type": "typography",
3681
- "variant": "body"
3660
+ "variant": "body",
3661
+ "content": "Ready to start marketfeed operation.",
3662
+ "color": "muted"
3682
3663
  },
3683
3664
  {
3665
+ "variant": "primary",
3684
3666
  "action": "START",
3685
- "icon": "play",
3686
3667
  "label": "Start",
3687
3668
  "type": "button",
3688
- "variant": "primary"
3669
+ "icon": "play"
3689
3670
  }
3690
3671
  ]
3691
3672
  }
3692
- ]
3673
+ ],
3674
+ "appName": "Trading Dashboard",
3675
+ "navItems": [
3676
+ {
3677
+ "href": "/portfolio",
3678
+ "label": "Portfolio",
3679
+ "icon": "layout-list"
3680
+ },
3681
+ {
3682
+ "label": "Orders",
3683
+ "href": "/orders",
3684
+ "icon": "clipboard-list"
3685
+ },
3686
+ {
3687
+ "href": "/market",
3688
+ "label": "Market",
3689
+ "icon": "layout-list"
3690
+ }
3691
+ ],
3692
+ "type": "dashboard-layout"
3693
3693
  }
3694
3694
  ]
3695
3695
  ]
@@ -3703,44 +3703,44 @@
3703
3703
  "render-ui",
3704
3704
  "main",
3705
3705
  {
3706
- "type": "dashboard-layout",
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
+ ],
3707
3723
  "children": [
3708
3724
  {
3709
- "align": "center",
3710
- "gap": "lg",
3711
- "direction": "vertical",
3725
+ "type": "stack",
3712
3726
  "children": [
3713
3727
  {
3714
- "message": "Processing marketfeed...",
3728
+ "title": "Connecting to market feed...",
3715
3729
  "type": "loading-state",
3716
- "title": "Connecting to market feed..."
3730
+ "message": "Processing marketfeed..."
3717
3731
  },
3718
3732
  {
3719
3733
  "type": "skeleton",
3720
3734
  "variant": "text"
3721
3735
  }
3722
3736
  ],
3723
- "type": "stack"
3724
- }
3725
- ],
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"
3737
+ "direction": "vertical",
3738
+ "gap": "lg",
3739
+ "align": "center"
3741
3740
  }
3742
3741
  ],
3743
- "appName": "Trading Dashboard"
3742
+ "appName": "Trading Dashboard",
3743
+ "type": "dashboard-layout"
3744
3744
  }
3745
3745
  ]
3746
3746
  ]
@@ -3763,4 +3763,4 @@
3763
3763
  ]
3764
3764
  }
3765
3765
  ]
3766
- }
3766
+ }