@almadar/std 3.2.1 → 3.2.2

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 (262) hide show
  1. package/behaviors/exports/atoms/std-async.orb +41 -24
  2. package/behaviors/exports/atoms/std-browse.orb +12 -5
  3. package/behaviors/exports/atoms/std-cache-aside.orb +256 -42
  4. package/behaviors/exports/atoms/std-circuit-breaker.orb +577 -97
  5. package/behaviors/exports/atoms/std-collision.orb +278 -206
  6. package/behaviors/exports/atoms/std-combat-log.orb +6 -1
  7. package/behaviors/exports/atoms/std-combat.orb +6 -1
  8. package/behaviors/exports/atoms/std-confirmation.orb +212 -7
  9. package/behaviors/exports/atoms/std-dialogue-box.orb +6 -1
  10. package/behaviors/exports/atoms/std-display.orb +166 -21
  11. package/behaviors/exports/atoms/std-drawer.orb +208 -104
  12. package/behaviors/exports/atoms/std-filter.orb +211 -18
  13. package/behaviors/exports/atoms/std-game-audio.orb +6 -1
  14. package/behaviors/exports/atoms/std-game-canvas2d.orb +6 -1
  15. package/behaviors/exports/atoms/std-game-canvas3d.orb +6 -1
  16. package/behaviors/exports/atoms/std-game-hud.orb +6 -1
  17. package/behaviors/exports/atoms/std-game-menu.orb +6 -1
  18. package/behaviors/exports/atoms/std-game-over-screen.orb +6 -1
  19. package/behaviors/exports/atoms/std-gameflow.orb +100 -5
  20. package/behaviors/exports/atoms/std-input.orb +142 -137
  21. package/behaviors/exports/atoms/std-inventory-panel.orb +6 -1
  22. package/behaviors/exports/atoms/std-isometric-canvas.orb +6 -1
  23. package/behaviors/exports/atoms/std-loading.orb +27 -76
  24. package/behaviors/exports/atoms/std-modal.orb +177 -93
  25. package/behaviors/exports/atoms/std-movement.orb +401 -31
  26. package/behaviors/exports/atoms/std-notification.orb +46 -95
  27. package/behaviors/exports/atoms/std-overworld.orb +44 -16
  28. package/behaviors/exports/atoms/std-pagination.orb +26 -89
  29. package/behaviors/exports/atoms/std-physics2d.orb +6 -1
  30. package/behaviors/exports/atoms/std-platformer-canvas.orb +6 -1
  31. package/behaviors/exports/atoms/std-quest.orb +309 -34
  32. package/behaviors/exports/atoms/std-rate-limiter.orb +410 -157
  33. package/behaviors/exports/atoms/std-score-board.orb +6 -1
  34. package/behaviors/exports/atoms/std-score.orb +211 -11
  35. package/behaviors/exports/atoms/std-search.orb +28 -27
  36. package/behaviors/exports/atoms/std-selection.orb +160 -121
  37. package/behaviors/exports/atoms/std-simulation-canvas.orb +6 -1
  38. package/behaviors/exports/atoms/std-sort.orb +134 -24
  39. package/behaviors/exports/atoms/std-sprite.orb +6 -1
  40. package/behaviors/exports/atoms/std-tabs.orb +25 -15
  41. package/behaviors/exports/atoms/std-timer.orb +483 -91
  42. package/behaviors/exports/atoms/std-undo.orb +211 -81
  43. package/behaviors/exports/atoms/std-wizard.orb +31 -34
  44. package/behaviors/exports/molecules/std-builder-game.orb +6 -1
  45. package/behaviors/exports/molecules/std-cart.orb +6 -1
  46. package/behaviors/exports/molecules/std-classifier-game.orb +6 -1
  47. package/behaviors/exports/molecules/std-debugger-game.orb +6 -1
  48. package/behaviors/exports/molecules/std-detail.orb +12 -5
  49. package/behaviors/exports/molecules/std-event-handler-game.orb +6 -1
  50. package/behaviors/exports/molecules/std-geospatial.orb +28 -9
  51. package/behaviors/exports/molecules/std-inventory.orb +28 -9
  52. package/behaviors/exports/molecules/std-list.orb +392 -5
  53. package/behaviors/exports/molecules/std-messaging.orb +12 -5
  54. package/behaviors/exports/molecules/std-negotiator-game.orb +6 -1
  55. package/behaviors/exports/molecules/std-platformer-game.orb +40 -1
  56. package/behaviors/exports/molecules/std-puzzle-game.orb +26 -1
  57. package/behaviors/exports/molecules/std-sequencer-game.orb +6 -1
  58. package/behaviors/exports/molecules/std-simulator-game.orb +6 -1
  59. package/behaviors/exports/molecules/std-turn-based-battle.orb +40 -1
  60. package/behaviors/exports/organisms/std-api-gateway.orb +1145 -403
  61. package/behaviors/exports/organisms/std-arcade-game.orb +94 -4
  62. package/behaviors/exports/organisms/std-booking-system.orb +2165 -1605
  63. package/behaviors/exports/organisms/std-cicd-pipeline.orb +581 -47
  64. package/behaviors/exports/organisms/std-cms.orb +1713 -947
  65. package/behaviors/exports/organisms/std-coding-academy.orb +180 -380
  66. package/behaviors/exports/organisms/std-crm.orb +1669 -1153
  67. package/behaviors/exports/organisms/std-devops-dashboard.orb +1430 -378
  68. package/behaviors/exports/organisms/std-ecommerce.orb +2361 -1601
  69. package/behaviors/exports/organisms/std-finance-tracker.orb +622 -438
  70. package/behaviors/exports/organisms/std-healthcare.orb +1687 -1125
  71. package/behaviors/exports/organisms/std-helpdesk.orb +626 -407
  72. package/behaviors/exports/organisms/std-hr-portal.orb +1309 -714
  73. package/behaviors/exports/organisms/std-iot-dashboard.orb +1247 -335
  74. package/behaviors/exports/organisms/std-lms.orb +658 -362
  75. package/behaviors/exports/organisms/std-platformer-app.orb +56 -8
  76. package/behaviors/exports/organisms/std-project-manager.orb +1697 -1183
  77. package/behaviors/exports/organisms/std-puzzle-app.orb +20 -0
  78. package/behaviors/exports/organisms/std-realtime-chat.orb +552 -28
  79. package/behaviors/exports/organisms/std-rpg-game.orb +397 -56
  80. package/behaviors/exports/organisms/std-social-feed.orb +12 -8
  81. package/behaviors/exports/organisms/std-stem-lab.orb +175 -290
  82. package/behaviors/exports/organisms/std-strategy-game.orb +252 -395
  83. package/behaviors/exports/organisms/std-trading-dashboard.orb +718 -524
  84. package/behaviors/exports/validation-report.json +252 -252
  85. package/behaviors/exports/verify-results.json +13 -0
  86. package/dist/behaviors/exports/atoms/std-async.orb +41 -24
  87. package/dist/behaviors/exports/atoms/std-browse.orb +12 -5
  88. package/dist/behaviors/exports/atoms/std-cache-aside.orb +256 -42
  89. package/dist/behaviors/exports/atoms/std-circuit-breaker.orb +577 -97
  90. package/dist/behaviors/exports/atoms/std-collision.orb +278 -206
  91. package/dist/behaviors/exports/atoms/std-combat-log.orb +6 -1
  92. package/dist/behaviors/exports/atoms/std-combat.orb +6 -1
  93. package/dist/behaviors/exports/atoms/std-confirmation.orb +212 -7
  94. package/dist/behaviors/exports/atoms/std-dialogue-box.orb +6 -1
  95. package/dist/behaviors/exports/atoms/std-display.orb +166 -21
  96. package/dist/behaviors/exports/atoms/std-drawer.orb +208 -104
  97. package/dist/behaviors/exports/atoms/std-filter.orb +211 -18
  98. package/dist/behaviors/exports/atoms/std-game-audio.orb +6 -1
  99. package/dist/behaviors/exports/atoms/std-game-canvas2d.orb +6 -1
  100. package/dist/behaviors/exports/atoms/std-game-canvas3d.orb +6 -1
  101. package/dist/behaviors/exports/atoms/std-game-hud.orb +6 -1
  102. package/dist/behaviors/exports/atoms/std-game-menu.orb +6 -1
  103. package/dist/behaviors/exports/atoms/std-game-over-screen.orb +6 -1
  104. package/dist/behaviors/exports/atoms/std-gameflow.orb +100 -5
  105. package/dist/behaviors/exports/atoms/std-input.orb +142 -137
  106. package/dist/behaviors/exports/atoms/std-inventory-panel.orb +6 -1
  107. package/dist/behaviors/exports/atoms/std-isometric-canvas.orb +6 -1
  108. package/dist/behaviors/exports/atoms/std-loading.orb +27 -76
  109. package/dist/behaviors/exports/atoms/std-modal.orb +177 -93
  110. package/dist/behaviors/exports/atoms/std-movement.orb +401 -31
  111. package/dist/behaviors/exports/atoms/std-notification.orb +46 -95
  112. package/dist/behaviors/exports/atoms/std-overworld.orb +44 -16
  113. package/dist/behaviors/exports/atoms/std-pagination.orb +26 -89
  114. package/dist/behaviors/exports/atoms/std-physics2d.orb +6 -1
  115. package/dist/behaviors/exports/atoms/std-platformer-canvas.orb +6 -1
  116. package/dist/behaviors/exports/atoms/std-quest.orb +309 -34
  117. package/dist/behaviors/exports/atoms/std-rate-limiter.orb +410 -157
  118. package/dist/behaviors/exports/atoms/std-score-board.orb +6 -1
  119. package/dist/behaviors/exports/atoms/std-score.orb +211 -11
  120. package/dist/behaviors/exports/atoms/std-search.orb +28 -27
  121. package/dist/behaviors/exports/atoms/std-selection.orb +160 -121
  122. package/dist/behaviors/exports/atoms/std-simulation-canvas.orb +6 -1
  123. package/dist/behaviors/exports/atoms/std-sort.orb +134 -24
  124. package/dist/behaviors/exports/atoms/std-sprite.orb +6 -1
  125. package/dist/behaviors/exports/atoms/std-tabs.orb +25 -15
  126. package/dist/behaviors/exports/atoms/std-timer.orb +483 -91
  127. package/dist/behaviors/exports/atoms/std-undo.orb +211 -81
  128. package/dist/behaviors/exports/atoms/std-wizard.orb +31 -34
  129. package/dist/behaviors/exports/molecules/std-builder-game.orb +6 -1
  130. package/dist/behaviors/exports/molecules/std-cart.orb +6 -1
  131. package/dist/behaviors/exports/molecules/std-classifier-game.orb +6 -1
  132. package/dist/behaviors/exports/molecules/std-debugger-game.orb +6 -1
  133. package/dist/behaviors/exports/molecules/std-detail.orb +12 -5
  134. package/dist/behaviors/exports/molecules/std-event-handler-game.orb +6 -1
  135. package/dist/behaviors/exports/molecules/std-geospatial.orb +28 -9
  136. package/dist/behaviors/exports/molecules/std-inventory.orb +28 -9
  137. package/dist/behaviors/exports/molecules/std-list.orb +392 -5
  138. package/dist/behaviors/exports/molecules/std-messaging.orb +12 -5
  139. package/dist/behaviors/exports/molecules/std-negotiator-game.orb +6 -1
  140. package/dist/behaviors/exports/molecules/std-platformer-game.orb +40 -1
  141. package/dist/behaviors/exports/molecules/std-puzzle-game.orb +26 -1
  142. package/dist/behaviors/exports/molecules/std-sequencer-game.orb +6 -1
  143. package/dist/behaviors/exports/molecules/std-simulator-game.orb +6 -1
  144. package/dist/behaviors/exports/molecules/std-turn-based-battle.orb +40 -1
  145. package/dist/behaviors/exports/organisms/std-api-gateway.orb +1145 -403
  146. package/dist/behaviors/exports/organisms/std-arcade-game.orb +94 -4
  147. package/dist/behaviors/exports/organisms/std-booking-system.orb +2165 -1605
  148. package/dist/behaviors/exports/organisms/std-cicd-pipeline.orb +581 -47
  149. package/dist/behaviors/exports/organisms/std-cms.orb +1713 -947
  150. package/dist/behaviors/exports/organisms/std-coding-academy.orb +180 -380
  151. package/dist/behaviors/exports/organisms/std-crm.orb +1669 -1153
  152. package/dist/behaviors/exports/organisms/std-devops-dashboard.orb +1430 -378
  153. package/dist/behaviors/exports/organisms/std-ecommerce.orb +2361 -1601
  154. package/dist/behaviors/exports/organisms/std-finance-tracker.orb +622 -438
  155. package/dist/behaviors/exports/organisms/std-healthcare.orb +1687 -1125
  156. package/dist/behaviors/exports/organisms/std-helpdesk.orb +626 -407
  157. package/dist/behaviors/exports/organisms/std-hr-portal.orb +1309 -714
  158. package/dist/behaviors/exports/organisms/std-iot-dashboard.orb +1247 -335
  159. package/dist/behaviors/exports/organisms/std-lms.orb +658 -362
  160. package/dist/behaviors/exports/organisms/std-platformer-app.orb +56 -8
  161. package/dist/behaviors/exports/organisms/std-project-manager.orb +1697 -1183
  162. package/dist/behaviors/exports/organisms/std-puzzle-app.orb +20 -0
  163. package/dist/behaviors/exports/organisms/std-realtime-chat.orb +552 -28
  164. package/dist/behaviors/exports/organisms/std-rpg-game.orb +397 -56
  165. package/dist/behaviors/exports/organisms/std-social-feed.orb +12 -8
  166. package/dist/behaviors/exports/organisms/std-stem-lab.orb +175 -290
  167. package/dist/behaviors/exports/organisms/std-strategy-game.orb +252 -395
  168. package/dist/behaviors/exports/organisms/std-trading-dashboard.orb +718 -524
  169. package/dist/behaviors/exports/validation-report.json +252 -252
  170. package/dist/behaviors/exports/verify-results.json +13 -0
  171. package/dist/behaviors/functions/index.js +715 -593
  172. package/dist/behaviors/functions/index.js.map +1 -1
  173. package/dist/behaviors/index.js +715 -593
  174. package/dist/behaviors/index.js.map +1 -1
  175. package/dist/exports/atoms/std-async.orb +41 -24
  176. package/dist/exports/atoms/std-browse.orb +12 -5
  177. package/dist/exports/atoms/std-cache-aside.orb +256 -42
  178. package/dist/exports/atoms/std-circuit-breaker.orb +577 -97
  179. package/dist/exports/atoms/std-collision.orb +278 -206
  180. package/dist/exports/atoms/std-combat-log.orb +6 -1
  181. package/dist/exports/atoms/std-combat.orb +6 -1
  182. package/dist/exports/atoms/std-confirmation.orb +212 -7
  183. package/dist/exports/atoms/std-dialogue-box.orb +6 -1
  184. package/dist/exports/atoms/std-display.orb +166 -21
  185. package/dist/exports/atoms/std-drawer.orb +208 -104
  186. package/dist/exports/atoms/std-filter.orb +211 -18
  187. package/dist/exports/atoms/std-game-audio.orb +6 -1
  188. package/dist/exports/atoms/std-game-canvas2d.orb +6 -1
  189. package/dist/exports/atoms/std-game-canvas3d.orb +6 -1
  190. package/dist/exports/atoms/std-game-hud.orb +6 -1
  191. package/dist/exports/atoms/std-game-menu.orb +6 -1
  192. package/dist/exports/atoms/std-game-over-screen.orb +6 -1
  193. package/dist/exports/atoms/std-gameflow.orb +100 -5
  194. package/dist/exports/atoms/std-input.orb +142 -137
  195. package/dist/exports/atoms/std-inventory-panel.orb +6 -1
  196. package/dist/exports/atoms/std-isometric-canvas.orb +6 -1
  197. package/dist/exports/atoms/std-loading.orb +27 -76
  198. package/dist/exports/atoms/std-modal.orb +177 -93
  199. package/dist/exports/atoms/std-movement.orb +401 -31
  200. package/dist/exports/atoms/std-notification.orb +46 -95
  201. package/dist/exports/atoms/std-overworld.orb +44 -16
  202. package/dist/exports/atoms/std-pagination.orb +26 -89
  203. package/dist/exports/atoms/std-physics2d.orb +6 -1
  204. package/dist/exports/atoms/std-platformer-canvas.orb +6 -1
  205. package/dist/exports/atoms/std-quest.orb +309 -34
  206. package/dist/exports/atoms/std-rate-limiter.orb +410 -157
  207. package/dist/exports/atoms/std-score-board.orb +6 -1
  208. package/dist/exports/atoms/std-score.orb +211 -11
  209. package/dist/exports/atoms/std-search.orb +28 -27
  210. package/dist/exports/atoms/std-selection.orb +160 -121
  211. package/dist/exports/atoms/std-simulation-canvas.orb +6 -1
  212. package/dist/exports/atoms/std-sort.orb +134 -24
  213. package/dist/exports/atoms/std-sprite.orb +6 -1
  214. package/dist/exports/atoms/std-tabs.orb +25 -15
  215. package/dist/exports/atoms/std-timer.orb +483 -91
  216. package/dist/exports/atoms/std-undo.orb +211 -81
  217. package/dist/exports/atoms/std-wizard.orb +31 -34
  218. package/dist/exports/molecules/std-builder-game.orb +6 -1
  219. package/dist/exports/molecules/std-cart.orb +6 -1
  220. package/dist/exports/molecules/std-classifier-game.orb +6 -1
  221. package/dist/exports/molecules/std-debugger-game.orb +6 -1
  222. package/dist/exports/molecules/std-detail.orb +12 -5
  223. package/dist/exports/molecules/std-event-handler-game.orb +6 -1
  224. package/dist/exports/molecules/std-geospatial.orb +28 -9
  225. package/dist/exports/molecules/std-inventory.orb +28 -9
  226. package/dist/exports/molecules/std-list.orb +392 -5
  227. package/dist/exports/molecules/std-messaging.orb +12 -5
  228. package/dist/exports/molecules/std-negotiator-game.orb +6 -1
  229. package/dist/exports/molecules/std-platformer-game.orb +40 -1
  230. package/dist/exports/molecules/std-puzzle-game.orb +26 -1
  231. package/dist/exports/molecules/std-sequencer-game.orb +6 -1
  232. package/dist/exports/molecules/std-simulator-game.orb +6 -1
  233. package/dist/exports/molecules/std-turn-based-battle.orb +40 -1
  234. package/dist/exports/organisms/std-api-gateway.orb +1145 -403
  235. package/dist/exports/organisms/std-arcade-game.orb +94 -4
  236. package/dist/exports/organisms/std-booking-system.orb +2165 -1605
  237. package/dist/exports/organisms/std-cicd-pipeline.orb +581 -47
  238. package/dist/exports/organisms/std-cms.orb +1713 -947
  239. package/dist/exports/organisms/std-coding-academy.orb +180 -380
  240. package/dist/exports/organisms/std-crm.orb +1669 -1153
  241. package/dist/exports/organisms/std-devops-dashboard.orb +1430 -378
  242. package/dist/exports/organisms/std-ecommerce.orb +2361 -1601
  243. package/dist/exports/organisms/std-finance-tracker.orb +622 -438
  244. package/dist/exports/organisms/std-healthcare.orb +1687 -1125
  245. package/dist/exports/organisms/std-helpdesk.orb +626 -407
  246. package/dist/exports/organisms/std-hr-portal.orb +1309 -714
  247. package/dist/exports/organisms/std-iot-dashboard.orb +1247 -335
  248. package/dist/exports/organisms/std-lms.orb +658 -362
  249. package/dist/exports/organisms/std-platformer-app.orb +56 -8
  250. package/dist/exports/organisms/std-project-manager.orb +1697 -1183
  251. package/dist/exports/organisms/std-puzzle-app.orb +20 -0
  252. package/dist/exports/organisms/std-realtime-chat.orb +552 -28
  253. package/dist/exports/organisms/std-rpg-game.orb +397 -56
  254. package/dist/exports/organisms/std-social-feed.orb +12 -8
  255. package/dist/exports/organisms/std-stem-lab.orb +175 -290
  256. package/dist/exports/organisms/std-strategy-game.orb +252 -395
  257. package/dist/exports/organisms/std-trading-dashboard.orb +718 -524
  258. package/dist/exports/validation-report.json +252 -252
  259. package/dist/exports/verify-results.json +13 -0
  260. package/dist/index.js +715 -593
  261. package/dist/index.js.map +1 -1
  262. package/package.json +1 -1
@@ -220,7 +220,9 @@
220
220
  }
221
221
  ],
222
222
  "className": "transition-shadow hover:shadow-md cursor-pointer",
223
- "children": [
223
+ "renderItem": [
224
+ "fn",
225
+ "item",
224
226
  {
225
227
  "type": "stack",
226
228
  "direction": "vertical",
@@ -246,13 +248,13 @@
246
248
  {
247
249
  "type": "typography",
248
250
  "variant": "h4",
249
- "content": "@entity.path"
251
+ "content": "@item.path"
250
252
  }
251
253
  ]
252
254
  },
253
255
  {
254
256
  "type": "badge",
255
- "label": "@entity.method"
257
+ "label": "@item.method"
256
258
  }
257
259
  ]
258
260
  },
@@ -260,7 +262,7 @@
260
262
  "type": "typography",
261
263
  "variant": "caption",
262
264
  "color": "muted",
263
- "content": "@entity.backend"
265
+ "content": "@item.backend"
264
266
  }
265
267
  ]
266
268
  }
@@ -382,6 +384,130 @@
382
384
  "fetch",
383
385
  "Route"
384
386
  ],
387
+ [
388
+ "render-ui",
389
+ "main",
390
+ {
391
+ "type": "stack",
392
+ "direction": "vertical",
393
+ "gap": "lg",
394
+ "children": [
395
+ {
396
+ "type": "stack",
397
+ "direction": "horizontal",
398
+ "gap": "md",
399
+ "justify": "space-between",
400
+ "children": [
401
+ {
402
+ "type": "stack",
403
+ "direction": "horizontal",
404
+ "gap": "sm",
405
+ "align": "center",
406
+ "children": [
407
+ {
408
+ "type": "icon",
409
+ "name": "git-branch",
410
+ "size": "lg"
411
+ },
412
+ {
413
+ "type": "typography",
414
+ "content": "Routes",
415
+ "variant": "h2"
416
+ }
417
+ ]
418
+ },
419
+ {
420
+ "type": "stack",
421
+ "direction": "horizontal",
422
+ "gap": "sm",
423
+ "children": [
424
+ {
425
+ "type": "button",
426
+ "label": "Create Route",
427
+ "event": "CREATE",
428
+ "variant": "primary",
429
+ "icon": "plus"
430
+ }
431
+ ]
432
+ }
433
+ ]
434
+ },
435
+ {
436
+ "type": "divider"
437
+ },
438
+ {
439
+ "type": "data-grid",
440
+ "entity": "Route",
441
+ "emptyIcon": "inbox",
442
+ "emptyTitle": "No routes yet",
443
+ "emptyDescription": "Create your first route to get started.",
444
+ "itemActions": [
445
+ {
446
+ "label": "View",
447
+ "event": "VIEW"
448
+ },
449
+ {
450
+ "label": "Edit",
451
+ "event": "EDIT"
452
+ },
453
+ {
454
+ "label": "Delete",
455
+ "event": "DELETE",
456
+ "variant": "danger"
457
+ }
458
+ ],
459
+ "className": "transition-shadow hover:shadow-md cursor-pointer",
460
+ "renderItem": [
461
+ "fn",
462
+ "item",
463
+ {
464
+ "type": "stack",
465
+ "direction": "vertical",
466
+ "gap": "sm",
467
+ "children": [
468
+ {
469
+ "type": "stack",
470
+ "direction": "horizontal",
471
+ "justify": "space-between",
472
+ "align": "center",
473
+ "children": [
474
+ {
475
+ "type": "stack",
476
+ "direction": "horizontal",
477
+ "gap": "sm",
478
+ "align": "center",
479
+ "children": [
480
+ {
481
+ "type": "icon",
482
+ "name": "git-branch",
483
+ "size": "sm"
484
+ },
485
+ {
486
+ "type": "typography",
487
+ "variant": "h4",
488
+ "content": "@item.path"
489
+ }
490
+ ]
491
+ },
492
+ {
493
+ "type": "badge",
494
+ "label": "@item.method"
495
+ }
496
+ ]
497
+ },
498
+ {
499
+ "type": "typography",
500
+ "variant": "caption",
501
+ "color": "muted",
502
+ "content": "@item.backend"
503
+ }
504
+ ]
505
+ }
506
+ ]
507
+ }
508
+ ]
509
+ }
510
+ ],
385
511
  [
386
512
  "notify",
387
513
  "Route deleted successfully"
@@ -397,6 +523,134 @@
397
523
  "render-ui",
398
524
  "modal",
399
525
  null
526
+ ],
527
+ [
528
+ "fetch",
529
+ "Route"
530
+ ],
531
+ [
532
+ "render-ui",
533
+ "main",
534
+ {
535
+ "type": "stack",
536
+ "direction": "vertical",
537
+ "gap": "lg",
538
+ "children": [
539
+ {
540
+ "type": "stack",
541
+ "direction": "horizontal",
542
+ "gap": "md",
543
+ "justify": "space-between",
544
+ "children": [
545
+ {
546
+ "type": "stack",
547
+ "direction": "horizontal",
548
+ "gap": "sm",
549
+ "align": "center",
550
+ "children": [
551
+ {
552
+ "type": "icon",
553
+ "name": "git-branch",
554
+ "size": "lg"
555
+ },
556
+ {
557
+ "type": "typography",
558
+ "content": "Routes",
559
+ "variant": "h2"
560
+ }
561
+ ]
562
+ },
563
+ {
564
+ "type": "stack",
565
+ "direction": "horizontal",
566
+ "gap": "sm",
567
+ "children": [
568
+ {
569
+ "type": "button",
570
+ "label": "Create Route",
571
+ "event": "CREATE",
572
+ "variant": "primary",
573
+ "icon": "plus"
574
+ }
575
+ ]
576
+ }
577
+ ]
578
+ },
579
+ {
580
+ "type": "divider"
581
+ },
582
+ {
583
+ "type": "data-grid",
584
+ "entity": "Route",
585
+ "emptyIcon": "inbox",
586
+ "emptyTitle": "No routes yet",
587
+ "emptyDescription": "Create your first route to get started.",
588
+ "itemActions": [
589
+ {
590
+ "label": "View",
591
+ "event": "VIEW"
592
+ },
593
+ {
594
+ "label": "Edit",
595
+ "event": "EDIT"
596
+ },
597
+ {
598
+ "label": "Delete",
599
+ "event": "DELETE",
600
+ "variant": "danger"
601
+ }
602
+ ],
603
+ "className": "transition-shadow hover:shadow-md cursor-pointer",
604
+ "renderItem": [
605
+ "fn",
606
+ "item",
607
+ {
608
+ "type": "stack",
609
+ "direction": "vertical",
610
+ "gap": "sm",
611
+ "children": [
612
+ {
613
+ "type": "stack",
614
+ "direction": "horizontal",
615
+ "justify": "space-between",
616
+ "align": "center",
617
+ "children": [
618
+ {
619
+ "type": "stack",
620
+ "direction": "horizontal",
621
+ "gap": "sm",
622
+ "align": "center",
623
+ "children": [
624
+ {
625
+ "type": "icon",
626
+ "name": "git-branch",
627
+ "size": "sm"
628
+ },
629
+ {
630
+ "type": "typography",
631
+ "variant": "h4",
632
+ "content": "@item.path"
633
+ }
634
+ ]
635
+ },
636
+ {
637
+ "type": "badge",
638
+ "label": "@item.method"
639
+ }
640
+ ]
641
+ },
642
+ {
643
+ "type": "typography",
644
+ "variant": "caption",
645
+ "color": "muted",
646
+ "content": "@item.backend"
647
+ }
648
+ ]
649
+ }
650
+ ]
651
+ }
652
+ ]
653
+ }
400
654
  ]
401
655
  ]
402
656
  },
@@ -409,6 +663,134 @@
409
663
  "render-ui",
410
664
  "modal",
411
665
  null
666
+ ],
667
+ [
668
+ "fetch",
669
+ "Route"
670
+ ],
671
+ [
672
+ "render-ui",
673
+ "main",
674
+ {
675
+ "type": "stack",
676
+ "direction": "vertical",
677
+ "gap": "lg",
678
+ "children": [
679
+ {
680
+ "type": "stack",
681
+ "direction": "horizontal",
682
+ "gap": "md",
683
+ "justify": "space-between",
684
+ "children": [
685
+ {
686
+ "type": "stack",
687
+ "direction": "horizontal",
688
+ "gap": "sm",
689
+ "align": "center",
690
+ "children": [
691
+ {
692
+ "type": "icon",
693
+ "name": "git-branch",
694
+ "size": "lg"
695
+ },
696
+ {
697
+ "type": "typography",
698
+ "content": "Routes",
699
+ "variant": "h2"
700
+ }
701
+ ]
702
+ },
703
+ {
704
+ "type": "stack",
705
+ "direction": "horizontal",
706
+ "gap": "sm",
707
+ "children": [
708
+ {
709
+ "type": "button",
710
+ "label": "Create Route",
711
+ "event": "CREATE",
712
+ "variant": "primary",
713
+ "icon": "plus"
714
+ }
715
+ ]
716
+ }
717
+ ]
718
+ },
719
+ {
720
+ "type": "divider"
721
+ },
722
+ {
723
+ "type": "data-grid",
724
+ "entity": "Route",
725
+ "emptyIcon": "inbox",
726
+ "emptyTitle": "No routes yet",
727
+ "emptyDescription": "Create your first route to get started.",
728
+ "itemActions": [
729
+ {
730
+ "label": "View",
731
+ "event": "VIEW"
732
+ },
733
+ {
734
+ "label": "Edit",
735
+ "event": "EDIT"
736
+ },
737
+ {
738
+ "label": "Delete",
739
+ "event": "DELETE",
740
+ "variant": "danger"
741
+ }
742
+ ],
743
+ "className": "transition-shadow hover:shadow-md cursor-pointer",
744
+ "renderItem": [
745
+ "fn",
746
+ "item",
747
+ {
748
+ "type": "stack",
749
+ "direction": "vertical",
750
+ "gap": "sm",
751
+ "children": [
752
+ {
753
+ "type": "stack",
754
+ "direction": "horizontal",
755
+ "justify": "space-between",
756
+ "align": "center",
757
+ "children": [
758
+ {
759
+ "type": "stack",
760
+ "direction": "horizontal",
761
+ "gap": "sm",
762
+ "align": "center",
763
+ "children": [
764
+ {
765
+ "type": "icon",
766
+ "name": "git-branch",
767
+ "size": "sm"
768
+ },
769
+ {
770
+ "type": "typography",
771
+ "variant": "h4",
772
+ "content": "@item.path"
773
+ }
774
+ ]
775
+ },
776
+ {
777
+ "type": "badge",
778
+ "label": "@item.method"
779
+ }
780
+ ]
781
+ },
782
+ {
783
+ "type": "typography",
784
+ "variant": "caption",
785
+ "color": "muted",
786
+ "content": "@item.backend"
787
+ }
788
+ ]
789
+ }
790
+ ]
791
+ }
792
+ ]
793
+ }
412
794
  ]
413
795
  ]
414
796
  }
@@ -985,6 +1367,21 @@
985
1367
  {
986
1368
  "name": "latency",
987
1369
  "type": "number"
1370
+ },
1371
+ {
1372
+ "name": "failureCount",
1373
+ "type": "number",
1374
+ "default": 0
1375
+ },
1376
+ {
1377
+ "name": "successCount",
1378
+ "type": "number",
1379
+ "default": 0
1380
+ },
1381
+ {
1382
+ "name": "threshold",
1383
+ "type": "number",
1384
+ "default": 5
988
1385
  }
989
1386
  ]
990
1387
  },
@@ -1045,23 +1442,37 @@
1045
1442
  "type": "stack",
1046
1443
  "direction": "vertical",
1047
1444
  "gap": "lg",
1048
- "align": "center",
1049
1445
  "children": [
1050
1446
  {
1051
1447
  "type": "stack",
1052
1448
  "direction": "horizontal",
1053
1449
  "gap": "md",
1054
1450
  "align": "center",
1451
+ "justify": "space-between",
1055
1452
  "children": [
1056
1453
  {
1057
- "type": "icon",
1058
- "name": "server",
1059
- "size": "lg"
1454
+ "type": "stack",
1455
+ "direction": "horizontal",
1456
+ "gap": "md",
1457
+ "align": "center",
1458
+ "children": [
1459
+ {
1460
+ "type": "icon",
1461
+ "name": "server",
1462
+ "size": "lg"
1463
+ },
1464
+ {
1465
+ "type": "typography",
1466
+ "content": "Backend",
1467
+ "variant": "h2"
1468
+ }
1469
+ ]
1060
1470
  },
1061
1471
  {
1062
- "type": "typography",
1063
- "content": "Backend",
1064
- "variant": "h2"
1472
+ "type": "status-dot",
1473
+ "status": "success",
1474
+ "pulse": false,
1475
+ "label": "Circuit Closed"
1065
1476
  }
1066
1477
  ]
1067
1478
  },
@@ -1069,13 +1480,59 @@
1069
1480
  "type": "divider"
1070
1481
  },
1071
1482
  {
1072
- "type": "badge",
1073
- "label": "Circuit Closed"
1483
+ "type": "alert",
1484
+ "variant": "success",
1485
+ "message": "Service is healthy. All requests are being processed."
1486
+ },
1487
+ {
1488
+ "type": "simple-grid",
1489
+ "columns": 2,
1490
+ "children": [
1491
+ {
1492
+ "type": "stat-display",
1493
+ "label": "Failures",
1494
+ "value": [
1495
+ "object/get",
1496
+ [
1497
+ "array/first",
1498
+ "@entity"
1499
+ ],
1500
+ "failureCount"
1501
+ ]
1502
+ },
1503
+ {
1504
+ "type": "stat-display",
1505
+ "label": "Successes",
1506
+ "value": [
1507
+ "object/get",
1508
+ [
1509
+ "array/first",
1510
+ "@entity"
1511
+ ],
1512
+ "successCount"
1513
+ ]
1514
+ }
1515
+ ]
1074
1516
  },
1075
1517
  {
1076
- "type": "typography",
1077
- "content": "Service is healthy. All requests are being processed.",
1078
- "variant": "body"
1518
+ "type": "meter",
1519
+ "value": [
1520
+ "object/get",
1521
+ [
1522
+ "array/first",
1523
+ "@entity"
1524
+ ],
1525
+ "failureCount"
1526
+ ],
1527
+ "min": 0,
1528
+ "max": [
1529
+ "object/get",
1530
+ [
1531
+ "array/first",
1532
+ "@entity"
1533
+ ],
1534
+ "threshold"
1535
+ ]
1079
1536
  }
1080
1537
  ]
1081
1538
  }
@@ -1094,23 +1551,37 @@
1094
1551
  "type": "stack",
1095
1552
  "direction": "vertical",
1096
1553
  "gap": "lg",
1097
- "align": "center",
1098
1554
  "children": [
1099
1555
  {
1100
1556
  "type": "stack",
1101
1557
  "direction": "horizontal",
1102
1558
  "gap": "md",
1103
1559
  "align": "center",
1560
+ "justify": "space-between",
1104
1561
  "children": [
1105
1562
  {
1106
- "type": "icon",
1107
- "name": "alert-triangle",
1108
- "size": "lg"
1563
+ "type": "stack",
1564
+ "direction": "horizontal",
1565
+ "gap": "md",
1566
+ "align": "center",
1567
+ "children": [
1568
+ {
1569
+ "type": "icon",
1570
+ "name": "alert-triangle",
1571
+ "size": "lg"
1572
+ },
1573
+ {
1574
+ "type": "typography",
1575
+ "content": "Backend",
1576
+ "variant": "h2"
1577
+ }
1578
+ ]
1109
1579
  },
1110
1580
  {
1111
- "type": "typography",
1112
- "content": "Backend",
1113
- "variant": "h2"
1581
+ "type": "status-dot",
1582
+ "status": "error",
1583
+ "pulse": true,
1584
+ "label": "Circuit Open"
1114
1585
  }
1115
1586
  ]
1116
1587
  },
@@ -1118,13 +1589,59 @@
1118
1589
  "type": "divider"
1119
1590
  },
1120
1591
  {
1121
- "type": "badge",
1122
- "label": "Circuit Open"
1592
+ "type": "alert",
1593
+ "variant": "danger",
1594
+ "message": "Circuit is open. Requests are being rejected to prevent cascading failures."
1123
1595
  },
1124
1596
  {
1125
- "type": "typography",
1126
- "content": "Circuit is open. Requests are being rejected to prevent cascading failures.",
1127
- "variant": "body"
1597
+ "type": "simple-grid",
1598
+ "columns": 2,
1599
+ "children": [
1600
+ {
1601
+ "type": "stat-display",
1602
+ "label": "Failures",
1603
+ "value": [
1604
+ "object/get",
1605
+ [
1606
+ "array/first",
1607
+ "@entity"
1608
+ ],
1609
+ "failureCount"
1610
+ ]
1611
+ },
1612
+ {
1613
+ "type": "stat-display",
1614
+ "label": "Successes",
1615
+ "value": [
1616
+ "object/get",
1617
+ [
1618
+ "array/first",
1619
+ "@entity"
1620
+ ],
1621
+ "successCount"
1622
+ ]
1623
+ }
1624
+ ]
1625
+ },
1626
+ {
1627
+ "type": "meter",
1628
+ "value": [
1629
+ "object/get",
1630
+ [
1631
+ "array/first",
1632
+ "@entity"
1633
+ ],
1634
+ "failureCount"
1635
+ ],
1636
+ "min": 0,
1637
+ "max": [
1638
+ "object/get",
1639
+ [
1640
+ "array/first",
1641
+ "@entity"
1642
+ ],
1643
+ "threshold"
1644
+ ]
1128
1645
  },
1129
1646
  {
1130
1647
  "type": "button",
@@ -1150,23 +1667,37 @@
1150
1667
  "type": "stack",
1151
1668
  "direction": "vertical",
1152
1669
  "gap": "lg",
1153
- "align": "center",
1154
1670
  "children": [
1155
1671
  {
1156
1672
  "type": "stack",
1157
1673
  "direction": "horizontal",
1158
1674
  "gap": "md",
1159
1675
  "align": "center",
1676
+ "justify": "space-between",
1160
1677
  "children": [
1161
1678
  {
1162
- "type": "icon",
1163
- "name": "server",
1164
- "size": "lg"
1679
+ "type": "stack",
1680
+ "direction": "horizontal",
1681
+ "gap": "md",
1682
+ "align": "center",
1683
+ "children": [
1684
+ {
1685
+ "type": "icon",
1686
+ "name": "server",
1687
+ "size": "lg"
1688
+ },
1689
+ {
1690
+ "type": "typography",
1691
+ "content": "Backend",
1692
+ "variant": "h2"
1693
+ }
1694
+ ]
1165
1695
  },
1166
1696
  {
1167
- "type": "typography",
1168
- "content": "Backend",
1169
- "variant": "h2"
1697
+ "type": "status-dot",
1698
+ "status": "success",
1699
+ "pulse": false,
1700
+ "label": "Circuit Closed"
1170
1701
  }
1171
1702
  ]
1172
1703
  },
@@ -1174,13 +1705,59 @@
1174
1705
  "type": "divider"
1175
1706
  },
1176
1707
  {
1177
- "type": "badge",
1178
- "label": "Circuit Closed"
1708
+ "type": "alert",
1709
+ "variant": "success",
1710
+ "message": "Service is healthy. All requests are being processed."
1179
1711
  },
1180
1712
  {
1181
- "type": "typography",
1182
- "content": "Service is healthy. All requests are being processed.",
1183
- "variant": "body"
1713
+ "type": "simple-grid",
1714
+ "columns": 2,
1715
+ "children": [
1716
+ {
1717
+ "type": "stat-display",
1718
+ "label": "Failures",
1719
+ "value": [
1720
+ "object/get",
1721
+ [
1722
+ "array/first",
1723
+ "@entity"
1724
+ ],
1725
+ "failureCount"
1726
+ ]
1727
+ },
1728
+ {
1729
+ "type": "stat-display",
1730
+ "label": "Successes",
1731
+ "value": [
1732
+ "object/get",
1733
+ [
1734
+ "array/first",
1735
+ "@entity"
1736
+ ],
1737
+ "successCount"
1738
+ ]
1739
+ }
1740
+ ]
1741
+ },
1742
+ {
1743
+ "type": "meter",
1744
+ "value": [
1745
+ "object/get",
1746
+ [
1747
+ "array/first",
1748
+ "@entity"
1749
+ ],
1750
+ "failureCount"
1751
+ ],
1752
+ "min": 0,
1753
+ "max": [
1754
+ "object/get",
1755
+ [
1756
+ "array/first",
1757
+ "@entity"
1758
+ ],
1759
+ "threshold"
1760
+ ]
1184
1761
  }
1185
1762
  ]
1186
1763
  }
@@ -1199,23 +1776,37 @@
1199
1776
  "type": "stack",
1200
1777
  "direction": "vertical",
1201
1778
  "gap": "lg",
1202
- "align": "center",
1203
1779
  "children": [
1204
1780
  {
1205
1781
  "type": "stack",
1206
1782
  "direction": "horizontal",
1207
1783
  "gap": "md",
1208
1784
  "align": "center",
1785
+ "justify": "space-between",
1209
1786
  "children": [
1210
1787
  {
1211
- "type": "icon",
1212
- "name": "activity",
1213
- "size": "lg"
1788
+ "type": "stack",
1789
+ "direction": "horizontal",
1790
+ "gap": "md",
1791
+ "align": "center",
1792
+ "children": [
1793
+ {
1794
+ "type": "icon",
1795
+ "name": "activity",
1796
+ "size": "lg"
1797
+ },
1798
+ {
1799
+ "type": "typography",
1800
+ "content": "Backend",
1801
+ "variant": "h2"
1802
+ }
1803
+ ]
1214
1804
  },
1215
1805
  {
1216
- "type": "typography",
1217
- "content": "Backend",
1218
- "variant": "h2"
1806
+ "type": "status-dot",
1807
+ "status": "warning",
1808
+ "pulse": true,
1809
+ "label": "Circuit Half-Open"
1219
1810
  }
1220
1811
  ]
1221
1812
  },
@@ -1223,13 +1814,39 @@
1223
1814
  "type": "divider"
1224
1815
  },
1225
1816
  {
1226
- "type": "badge",
1227
- "label": "Circuit Half-Open"
1817
+ "type": "alert",
1818
+ "variant": "warning",
1819
+ "message": "Testing recovery. Limited requests are being allowed through."
1228
1820
  },
1229
1821
  {
1230
- "type": "typography",
1231
- "content": "Testing recovery. Limited requests are being allowed through.",
1232
- "variant": "body"
1822
+ "type": "simple-grid",
1823
+ "columns": 2,
1824
+ "children": [
1825
+ {
1826
+ "type": "stat-display",
1827
+ "label": "Failures",
1828
+ "value": [
1829
+ "object/get",
1830
+ [
1831
+ "array/first",
1832
+ "@entity"
1833
+ ],
1834
+ "failureCount"
1835
+ ]
1836
+ },
1837
+ {
1838
+ "type": "stat-display",
1839
+ "label": "Successes",
1840
+ "value": [
1841
+ "object/get",
1842
+ [
1843
+ "array/first",
1844
+ "@entity"
1845
+ ],
1846
+ "successCount"
1847
+ ]
1848
+ }
1849
+ ]
1233
1850
  }
1234
1851
  ]
1235
1852
  }
@@ -1248,23 +1865,37 @@
1248
1865
  "type": "stack",
1249
1866
  "direction": "vertical",
1250
1867
  "gap": "lg",
1251
- "align": "center",
1252
1868
  "children": [
1253
1869
  {
1254
1870
  "type": "stack",
1255
1871
  "direction": "horizontal",
1256
1872
  "gap": "md",
1257
1873
  "align": "center",
1874
+ "justify": "space-between",
1258
1875
  "children": [
1259
1876
  {
1260
- "type": "icon",
1261
- "name": "server",
1262
- "size": "lg"
1877
+ "type": "stack",
1878
+ "direction": "horizontal",
1879
+ "gap": "md",
1880
+ "align": "center",
1881
+ "children": [
1882
+ {
1883
+ "type": "icon",
1884
+ "name": "server",
1885
+ "size": "lg"
1886
+ },
1887
+ {
1888
+ "type": "typography",
1889
+ "content": "Backend",
1890
+ "variant": "h2"
1891
+ }
1892
+ ]
1263
1893
  },
1264
1894
  {
1265
- "type": "typography",
1266
- "content": "Backend",
1267
- "variant": "h2"
1895
+ "type": "status-dot",
1896
+ "status": "success",
1897
+ "pulse": false,
1898
+ "label": "Circuit Closed"
1268
1899
  }
1269
1900
  ]
1270
1901
  },
@@ -1272,13 +1903,59 @@
1272
1903
  "type": "divider"
1273
1904
  },
1274
1905
  {
1275
- "type": "badge",
1276
- "label": "Circuit Closed"
1906
+ "type": "alert",
1907
+ "variant": "success",
1908
+ "message": "Service is healthy. All requests are being processed."
1277
1909
  },
1278
1910
  {
1279
- "type": "typography",
1280
- "content": "Service is healthy. All requests are being processed.",
1281
- "variant": "body"
1911
+ "type": "simple-grid",
1912
+ "columns": 2,
1913
+ "children": [
1914
+ {
1915
+ "type": "stat-display",
1916
+ "label": "Failures",
1917
+ "value": [
1918
+ "object/get",
1919
+ [
1920
+ "array/first",
1921
+ "@entity"
1922
+ ],
1923
+ "failureCount"
1924
+ ]
1925
+ },
1926
+ {
1927
+ "type": "stat-display",
1928
+ "label": "Successes",
1929
+ "value": [
1930
+ "object/get",
1931
+ [
1932
+ "array/first",
1933
+ "@entity"
1934
+ ],
1935
+ "successCount"
1936
+ ]
1937
+ }
1938
+ ]
1939
+ },
1940
+ {
1941
+ "type": "meter",
1942
+ "value": [
1943
+ "object/get",
1944
+ [
1945
+ "array/first",
1946
+ "@entity"
1947
+ ],
1948
+ "failureCount"
1949
+ ],
1950
+ "min": 0,
1951
+ "max": [
1952
+ "object/get",
1953
+ [
1954
+ "array/first",
1955
+ "@entity"
1956
+ ],
1957
+ "threshold"
1958
+ ]
1282
1959
  }
1283
1960
  ]
1284
1961
  }
@@ -1297,23 +1974,37 @@
1297
1974
  "type": "stack",
1298
1975
  "direction": "vertical",
1299
1976
  "gap": "lg",
1300
- "align": "center",
1301
1977
  "children": [
1302
1978
  {
1303
1979
  "type": "stack",
1304
1980
  "direction": "horizontal",
1305
1981
  "gap": "md",
1306
1982
  "align": "center",
1983
+ "justify": "space-between",
1307
1984
  "children": [
1308
1985
  {
1309
- "type": "icon",
1310
- "name": "server",
1311
- "size": "lg"
1986
+ "type": "stack",
1987
+ "direction": "horizontal",
1988
+ "gap": "md",
1989
+ "align": "center",
1990
+ "children": [
1991
+ {
1992
+ "type": "icon",
1993
+ "name": "server",
1994
+ "size": "lg"
1995
+ },
1996
+ {
1997
+ "type": "typography",
1998
+ "content": "Backend",
1999
+ "variant": "h2"
2000
+ }
2001
+ ]
1312
2002
  },
1313
2003
  {
1314
- "type": "typography",
1315
- "content": "Backend",
1316
- "variant": "h2"
2004
+ "type": "status-dot",
2005
+ "status": "success",
2006
+ "pulse": false,
2007
+ "label": "Circuit Closed"
1317
2008
  }
1318
2009
  ]
1319
2010
  },
@@ -1321,13 +2012,59 @@
1321
2012
  "type": "divider"
1322
2013
  },
1323
2014
  {
1324
- "type": "badge",
1325
- "label": "Circuit Closed"
2015
+ "type": "alert",
2016
+ "variant": "success",
2017
+ "message": "Service is healthy. All requests are being processed."
1326
2018
  },
1327
2019
  {
1328
- "type": "typography",
1329
- "content": "Service is healthy. All requests are being processed.",
1330
- "variant": "body"
2020
+ "type": "simple-grid",
2021
+ "columns": 2,
2022
+ "children": [
2023
+ {
2024
+ "type": "stat-display",
2025
+ "label": "Failures",
2026
+ "value": [
2027
+ "object/get",
2028
+ [
2029
+ "array/first",
2030
+ "@entity"
2031
+ ],
2032
+ "failureCount"
2033
+ ]
2034
+ },
2035
+ {
2036
+ "type": "stat-display",
2037
+ "label": "Successes",
2038
+ "value": [
2039
+ "object/get",
2040
+ [
2041
+ "array/first",
2042
+ "@entity"
2043
+ ],
2044
+ "successCount"
2045
+ ]
2046
+ }
2047
+ ]
2048
+ },
2049
+ {
2050
+ "type": "meter",
2051
+ "value": [
2052
+ "object/get",
2053
+ [
2054
+ "array/first",
2055
+ "@entity"
2056
+ ],
2057
+ "failureCount"
2058
+ ],
2059
+ "min": 0,
2060
+ "max": [
2061
+ "object/get",
2062
+ [
2063
+ "array/first",
2064
+ "@entity"
2065
+ ],
2066
+ "threshold"
2067
+ ]
1331
2068
  }
1332
2069
  ]
1333
2070
  }
@@ -1346,23 +2083,37 @@
1346
2083
  "type": "stack",
1347
2084
  "direction": "vertical",
1348
2085
  "gap": "lg",
1349
- "align": "center",
1350
2086
  "children": [
1351
2087
  {
1352
2088
  "type": "stack",
1353
2089
  "direction": "horizontal",
1354
2090
  "gap": "md",
1355
2091
  "align": "center",
2092
+ "justify": "space-between",
1356
2093
  "children": [
1357
2094
  {
1358
- "type": "icon",
1359
- "name": "alert-triangle",
1360
- "size": "lg"
2095
+ "type": "stack",
2096
+ "direction": "horizontal",
2097
+ "gap": "md",
2098
+ "align": "center",
2099
+ "children": [
2100
+ {
2101
+ "type": "icon",
2102
+ "name": "alert-triangle",
2103
+ "size": "lg"
2104
+ },
2105
+ {
2106
+ "type": "typography",
2107
+ "content": "Backend",
2108
+ "variant": "h2"
2109
+ }
2110
+ ]
1361
2111
  },
1362
2112
  {
1363
- "type": "typography",
1364
- "content": "Backend",
1365
- "variant": "h2"
2113
+ "type": "status-dot",
2114
+ "status": "error",
2115
+ "pulse": true,
2116
+ "label": "Circuit Open"
1366
2117
  }
1367
2118
  ]
1368
2119
  },
@@ -1370,13 +2121,59 @@
1370
2121
  "type": "divider"
1371
2122
  },
1372
2123
  {
1373
- "type": "badge",
1374
- "label": "Circuit Open"
2124
+ "type": "alert",
2125
+ "variant": "danger",
2126
+ "message": "Circuit is open. Requests are being rejected to prevent cascading failures."
1375
2127
  },
1376
2128
  {
1377
- "type": "typography",
1378
- "content": "Circuit is open. Requests are being rejected to prevent cascading failures.",
1379
- "variant": "body"
2129
+ "type": "simple-grid",
2130
+ "columns": 2,
2131
+ "children": [
2132
+ {
2133
+ "type": "stat-display",
2134
+ "label": "Failures",
2135
+ "value": [
2136
+ "object/get",
2137
+ [
2138
+ "array/first",
2139
+ "@entity"
2140
+ ],
2141
+ "failureCount"
2142
+ ]
2143
+ },
2144
+ {
2145
+ "type": "stat-display",
2146
+ "label": "Successes",
2147
+ "value": [
2148
+ "object/get",
2149
+ [
2150
+ "array/first",
2151
+ "@entity"
2152
+ ],
2153
+ "successCount"
2154
+ ]
2155
+ }
2156
+ ]
2157
+ },
2158
+ {
2159
+ "type": "meter",
2160
+ "value": [
2161
+ "object/get",
2162
+ [
2163
+ "array/first",
2164
+ "@entity"
2165
+ ],
2166
+ "failureCount"
2167
+ ],
2168
+ "min": 0,
2169
+ "max": [
2170
+ "object/get",
2171
+ [
2172
+ "array/first",
2173
+ "@entity"
2174
+ ],
2175
+ "threshold"
2176
+ ]
1380
2177
  },
1381
2178
  {
1382
2179
  "type": "button",
@@ -1402,23 +2199,37 @@
1402
2199
  "type": "stack",
1403
2200
  "direction": "vertical",
1404
2201
  "gap": "lg",
1405
- "align": "center",
1406
2202
  "children": [
1407
2203
  {
1408
2204
  "type": "stack",
1409
2205
  "direction": "horizontal",
1410
2206
  "gap": "md",
1411
2207
  "align": "center",
2208
+ "justify": "space-between",
1412
2209
  "children": [
1413
2210
  {
1414
- "type": "icon",
1415
- "name": "server",
1416
- "size": "lg"
2211
+ "type": "stack",
2212
+ "direction": "horizontal",
2213
+ "gap": "md",
2214
+ "align": "center",
2215
+ "children": [
2216
+ {
2217
+ "type": "icon",
2218
+ "name": "server",
2219
+ "size": "lg"
2220
+ },
2221
+ {
2222
+ "type": "typography",
2223
+ "content": "Backend",
2224
+ "variant": "h2"
2225
+ }
2226
+ ]
1417
2227
  },
1418
2228
  {
1419
- "type": "typography",
1420
- "content": "Backend",
1421
- "variant": "h2"
2229
+ "type": "status-dot",
2230
+ "status": "success",
2231
+ "pulse": false,
2232
+ "label": "Circuit Closed"
1422
2233
  }
1423
2234
  ]
1424
2235
  },
@@ -1426,13 +2237,59 @@
1426
2237
  "type": "divider"
1427
2238
  },
1428
2239
  {
1429
- "type": "badge",
1430
- "label": "Circuit Closed"
2240
+ "type": "alert",
2241
+ "variant": "success",
2242
+ "message": "Service is healthy. All requests are being processed."
1431
2243
  },
1432
2244
  {
1433
- "type": "typography",
1434
- "content": "Service is healthy. All requests are being processed.",
1435
- "variant": "body"
2245
+ "type": "simple-grid",
2246
+ "columns": 2,
2247
+ "children": [
2248
+ {
2249
+ "type": "stat-display",
2250
+ "label": "Failures",
2251
+ "value": [
2252
+ "object/get",
2253
+ [
2254
+ "array/first",
2255
+ "@entity"
2256
+ ],
2257
+ "failureCount"
2258
+ ]
2259
+ },
2260
+ {
2261
+ "type": "stat-display",
2262
+ "label": "Successes",
2263
+ "value": [
2264
+ "object/get",
2265
+ [
2266
+ "array/first",
2267
+ "@entity"
2268
+ ],
2269
+ "successCount"
2270
+ ]
2271
+ }
2272
+ ]
2273
+ },
2274
+ {
2275
+ "type": "meter",
2276
+ "value": [
2277
+ "object/get",
2278
+ [
2279
+ "array/first",
2280
+ "@entity"
2281
+ ],
2282
+ "failureCount"
2283
+ ],
2284
+ "min": 0,
2285
+ "max": [
2286
+ "object/get",
2287
+ [
2288
+ "array/first",
2289
+ "@entity"
2290
+ ],
2291
+ "threshold"
2292
+ ]
1436
2293
  }
1437
2294
  ]
1438
2295
  }
@@ -1567,82 +2424,52 @@
1567
2424
  "type": "button",
1568
2425
  "label": "Refresh",
1569
2426
  "event": "REFRESH",
1570
- "variant": "secondary",
1571
- "icon": "refresh-cw"
1572
- }
1573
- ]
1574
- },
1575
- {
1576
- "type": "divider"
1577
- },
1578
- {
1579
- "type": "simple-grid",
1580
- "columns": 3,
1581
- "children": [
1582
- {
1583
- "type": "card",
1584
- "children": [
1585
- {
1586
- "type": "stack",
1587
- "direction": "vertical",
1588
- "gap": "sm",
1589
- "children": [
1590
- {
1591
- "type": "typography",
1592
- "variant": "caption",
1593
- "content": "TotalRequests"
1594
- },
1595
- {
1596
- "type": "typography",
1597
- "variant": "h3",
1598
- "content": "@entity.totalRequests"
1599
- }
1600
- ]
1601
- }
2427
+ "variant": "secondary",
2428
+ "icon": "refresh-cw"
2429
+ }
2430
+ ]
2431
+ },
2432
+ {
2433
+ "type": "divider"
2434
+ },
2435
+ {
2436
+ "type": "simple-grid",
2437
+ "columns": 3,
2438
+ "children": [
2439
+ {
2440
+ "type": "stat-display",
2441
+ "label": "TotalRequests",
2442
+ "value": [
2443
+ "object/get",
2444
+ [
2445
+ "array/first",
2446
+ "@entity"
2447
+ ],
2448
+ "totalRequests"
1602
2449
  ]
1603
2450
  },
1604
2451
  {
1605
- "type": "card",
1606
- "children": [
1607
- {
1608
- "type": "stack",
1609
- "direction": "vertical",
1610
- "gap": "sm",
1611
- "children": [
1612
- {
1613
- "type": "typography",
1614
- "variant": "caption",
1615
- "content": "ErrorRate"
1616
- },
1617
- {
1618
- "type": "typography",
1619
- "variant": "h3",
1620
- "content": "@entity.errorRate"
1621
- }
1622
- ]
1623
- }
2452
+ "type": "stat-display",
2453
+ "label": "ErrorRate",
2454
+ "value": [
2455
+ "object/get",
2456
+ [
2457
+ "array/first",
2458
+ "@entity"
2459
+ ],
2460
+ "errorRate"
1624
2461
  ]
1625
2462
  },
1626
2463
  {
1627
- "type": "card",
1628
- "children": [
1629
- {
1630
- "type": "stack",
1631
- "direction": "vertical",
1632
- "gap": "sm",
1633
- "children": [
1634
- {
1635
- "type": "typography",
1636
- "variant": "caption",
1637
- "content": "AvgLatency"
1638
- },
1639
- {
1640
- "type": "typography",
1641
- "variant": "h3",
1642
- "content": "@entity.avgLatency"
1643
- }
1644
- ]
1645
- }
2464
+ "type": "stat-display",
2465
+ "label": "AvgLatency",
2466
+ "value": [
2467
+ "object/get",
2468
+ [
2469
+ "array/first",
2470
+ "@entity"
2471
+ ],
2472
+ "avgLatency"
1646
2473
  ]
1647
2474
  },
1648
2475
  {
@@ -1661,7 +2488,14 @@
1661
2488
  {
1662
2489
  "type": "typography",
1663
2490
  "variant": "h3",
1664
- "content": "@entity.uptime"
2491
+ "content": [
2492
+ "object/get",
2493
+ [
2494
+ "array/first",
2495
+ "@entity"
2496
+ ],
2497
+ "uptime"
2498
+ ]
1665
2499
  }
1666
2500
  ]
1667
2501
  }
@@ -1731,69 +2565,39 @@
1731
2565
  "columns": 3,
1732
2566
  "children": [
1733
2567
  {
1734
- "type": "card",
1735
- "children": [
1736
- {
1737
- "type": "stack",
1738
- "direction": "vertical",
1739
- "gap": "sm",
1740
- "children": [
1741
- {
1742
- "type": "typography",
1743
- "variant": "caption",
1744
- "content": "TotalRequests"
1745
- },
1746
- {
1747
- "type": "typography",
1748
- "variant": "h3",
1749
- "content": "@entity.totalRequests"
1750
- }
1751
- ]
1752
- }
2568
+ "type": "stat-display",
2569
+ "label": "TotalRequests",
2570
+ "value": [
2571
+ "object/get",
2572
+ [
2573
+ "array/first",
2574
+ "@entity"
2575
+ ],
2576
+ "totalRequests"
1753
2577
  ]
1754
2578
  },
1755
2579
  {
1756
- "type": "card",
1757
- "children": [
1758
- {
1759
- "type": "stack",
1760
- "direction": "vertical",
1761
- "gap": "sm",
1762
- "children": [
1763
- {
1764
- "type": "typography",
1765
- "variant": "caption",
1766
- "content": "ErrorRate"
1767
- },
1768
- {
1769
- "type": "typography",
1770
- "variant": "h3",
1771
- "content": "@entity.errorRate"
1772
- }
1773
- ]
1774
- }
2580
+ "type": "stat-display",
2581
+ "label": "ErrorRate",
2582
+ "value": [
2583
+ "object/get",
2584
+ [
2585
+ "array/first",
2586
+ "@entity"
2587
+ ],
2588
+ "errorRate"
1775
2589
  ]
1776
2590
  },
1777
2591
  {
1778
- "type": "card",
1779
- "children": [
1780
- {
1781
- "type": "stack",
1782
- "direction": "vertical",
1783
- "gap": "sm",
1784
- "children": [
1785
- {
1786
- "type": "typography",
1787
- "variant": "caption",
1788
- "content": "AvgLatency"
1789
- },
1790
- {
1791
- "type": "typography",
1792
- "variant": "h3",
1793
- "content": "@entity.avgLatency"
1794
- }
1795
- ]
1796
- }
2592
+ "type": "stat-display",
2593
+ "label": "AvgLatency",
2594
+ "value": [
2595
+ "object/get",
2596
+ [
2597
+ "array/first",
2598
+ "@entity"
2599
+ ],
2600
+ "avgLatency"
1797
2601
  ]
1798
2602
  },
1799
2603
  {
@@ -1812,7 +2616,14 @@
1812
2616
  {
1813
2617
  "type": "typography",
1814
2618
  "variant": "h3",
1815
- "content": "@entity.uptime"
2619
+ "content": [
2620
+ "object/get",
2621
+ [
2622
+ "array/first",
2623
+ "@entity"
2624
+ ],
2625
+ "uptime"
2626
+ ]
1816
2627
  }
1817
2628
  ]
1818
2629
  }
@@ -1882,69 +2693,39 @@
1882
2693
  "columns": 3,
1883
2694
  "children": [
1884
2695
  {
1885
- "type": "card",
1886
- "children": [
1887
- {
1888
- "type": "stack",
1889
- "direction": "vertical",
1890
- "gap": "sm",
1891
- "children": [
1892
- {
1893
- "type": "typography",
1894
- "variant": "caption",
1895
- "content": "TotalRequests"
1896
- },
1897
- {
1898
- "type": "typography",
1899
- "variant": "h3",
1900
- "content": "@entity.totalRequests"
1901
- }
1902
- ]
1903
- }
2696
+ "type": "stat-display",
2697
+ "label": "TotalRequests",
2698
+ "value": [
2699
+ "object/get",
2700
+ [
2701
+ "array/first",
2702
+ "@entity"
2703
+ ],
2704
+ "totalRequests"
1904
2705
  ]
1905
2706
  },
1906
2707
  {
1907
- "type": "card",
1908
- "children": [
1909
- {
1910
- "type": "stack",
1911
- "direction": "vertical",
1912
- "gap": "sm",
1913
- "children": [
1914
- {
1915
- "type": "typography",
1916
- "variant": "caption",
1917
- "content": "ErrorRate"
1918
- },
1919
- {
1920
- "type": "typography",
1921
- "variant": "h3",
1922
- "content": "@entity.errorRate"
1923
- }
1924
- ]
1925
- }
2708
+ "type": "stat-display",
2709
+ "label": "ErrorRate",
2710
+ "value": [
2711
+ "object/get",
2712
+ [
2713
+ "array/first",
2714
+ "@entity"
2715
+ ],
2716
+ "errorRate"
1926
2717
  ]
1927
2718
  },
1928
2719
  {
1929
- "type": "card",
1930
- "children": [
1931
- {
1932
- "type": "stack",
1933
- "direction": "vertical",
1934
- "gap": "sm",
1935
- "children": [
1936
- {
1937
- "type": "typography",
1938
- "variant": "caption",
1939
- "content": "AvgLatency"
1940
- },
1941
- {
1942
- "type": "typography",
1943
- "variant": "h3",
1944
- "content": "@entity.avgLatency"
1945
- }
1946
- ]
1947
- }
2720
+ "type": "stat-display",
2721
+ "label": "AvgLatency",
2722
+ "value": [
2723
+ "object/get",
2724
+ [
2725
+ "array/first",
2726
+ "@entity"
2727
+ ],
2728
+ "avgLatency"
1948
2729
  ]
1949
2730
  },
1950
2731
  {
@@ -1963,7 +2744,14 @@
1963
2744
  {
1964
2745
  "type": "typography",
1965
2746
  "variant": "h3",
1966
- "content": "@entity.uptime"
2747
+ "content": [
2748
+ "object/get",
2749
+ [
2750
+ "array/first",
2751
+ "@entity"
2752
+ ],
2753
+ "uptime"
2754
+ ]
1967
2755
  }
1968
2756
  ]
1969
2757
  }
@@ -2033,69 +2821,39 @@
2033
2821
  "columns": 3,
2034
2822
  "children": [
2035
2823
  {
2036
- "type": "card",
2037
- "children": [
2038
- {
2039
- "type": "stack",
2040
- "direction": "vertical",
2041
- "gap": "sm",
2042
- "children": [
2043
- {
2044
- "type": "typography",
2045
- "variant": "caption",
2046
- "content": "TotalRequests"
2047
- },
2048
- {
2049
- "type": "typography",
2050
- "variant": "h3",
2051
- "content": "@entity.totalRequests"
2052
- }
2053
- ]
2054
- }
2824
+ "type": "stat-display",
2825
+ "label": "TotalRequests",
2826
+ "value": [
2827
+ "object/get",
2828
+ [
2829
+ "array/first",
2830
+ "@entity"
2831
+ ],
2832
+ "totalRequests"
2055
2833
  ]
2056
2834
  },
2057
2835
  {
2058
- "type": "card",
2059
- "children": [
2060
- {
2061
- "type": "stack",
2062
- "direction": "vertical",
2063
- "gap": "sm",
2064
- "children": [
2065
- {
2066
- "type": "typography",
2067
- "variant": "caption",
2068
- "content": "ErrorRate"
2069
- },
2070
- {
2071
- "type": "typography",
2072
- "variant": "h3",
2073
- "content": "@entity.errorRate"
2074
- }
2075
- ]
2076
- }
2836
+ "type": "stat-display",
2837
+ "label": "ErrorRate",
2838
+ "value": [
2839
+ "object/get",
2840
+ [
2841
+ "array/first",
2842
+ "@entity"
2843
+ ],
2844
+ "errorRate"
2077
2845
  ]
2078
2846
  },
2079
2847
  {
2080
- "type": "card",
2081
- "children": [
2082
- {
2083
- "type": "stack",
2084
- "direction": "vertical",
2085
- "gap": "sm",
2086
- "children": [
2087
- {
2088
- "type": "typography",
2089
- "variant": "caption",
2090
- "content": "AvgLatency"
2091
- },
2092
- {
2093
- "type": "typography",
2094
- "variant": "h3",
2095
- "content": "@entity.avgLatency"
2096
- }
2097
- ]
2098
- }
2848
+ "type": "stat-display",
2849
+ "label": "AvgLatency",
2850
+ "value": [
2851
+ "object/get",
2852
+ [
2853
+ "array/first",
2854
+ "@entity"
2855
+ ],
2856
+ "avgLatency"
2099
2857
  ]
2100
2858
  },
2101
2859
  {
@@ -2114,7 +2872,14 @@
2114
2872
  {
2115
2873
  "type": "typography",
2116
2874
  "variant": "h3",
2117
- "content": "@entity.uptime"
2875
+ "content": [
2876
+ "object/get",
2877
+ [
2878
+ "array/first",
2879
+ "@entity"
2880
+ ],
2881
+ "uptime"
2882
+ ]
2118
2883
  }
2119
2884
  ]
2120
2885
  }
@@ -2184,69 +2949,39 @@
2184
2949
  "columns": 3,
2185
2950
  "children": [
2186
2951
  {
2187
- "type": "card",
2188
- "children": [
2189
- {
2190
- "type": "stack",
2191
- "direction": "vertical",
2192
- "gap": "sm",
2193
- "children": [
2194
- {
2195
- "type": "typography",
2196
- "variant": "caption",
2197
- "content": "TotalRequests"
2198
- },
2199
- {
2200
- "type": "typography",
2201
- "variant": "h3",
2202
- "content": "@entity.totalRequests"
2203
- }
2204
- ]
2205
- }
2952
+ "type": "stat-display",
2953
+ "label": "TotalRequests",
2954
+ "value": [
2955
+ "object/get",
2956
+ [
2957
+ "array/first",
2958
+ "@entity"
2959
+ ],
2960
+ "totalRequests"
2206
2961
  ]
2207
2962
  },
2208
2963
  {
2209
- "type": "card",
2210
- "children": [
2211
- {
2212
- "type": "stack",
2213
- "direction": "vertical",
2214
- "gap": "sm",
2215
- "children": [
2216
- {
2217
- "type": "typography",
2218
- "variant": "caption",
2219
- "content": "ErrorRate"
2220
- },
2221
- {
2222
- "type": "typography",
2223
- "variant": "h3",
2224
- "content": "@entity.errorRate"
2225
- }
2226
- ]
2227
- }
2964
+ "type": "stat-display",
2965
+ "label": "ErrorRate",
2966
+ "value": [
2967
+ "object/get",
2968
+ [
2969
+ "array/first",
2970
+ "@entity"
2971
+ ],
2972
+ "errorRate"
2228
2973
  ]
2229
2974
  },
2230
2975
  {
2231
- "type": "card",
2232
- "children": [
2233
- {
2234
- "type": "stack",
2235
- "direction": "vertical",
2236
- "gap": "sm",
2237
- "children": [
2238
- {
2239
- "type": "typography",
2240
- "variant": "caption",
2241
- "content": "AvgLatency"
2242
- },
2243
- {
2244
- "type": "typography",
2245
- "variant": "h3",
2246
- "content": "@entity.avgLatency"
2247
- }
2248
- ]
2249
- }
2976
+ "type": "stat-display",
2977
+ "label": "AvgLatency",
2978
+ "value": [
2979
+ "object/get",
2980
+ [
2981
+ "array/first",
2982
+ "@entity"
2983
+ ],
2984
+ "avgLatency"
2250
2985
  ]
2251
2986
  },
2252
2987
  {
@@ -2265,7 +3000,14 @@
2265
3000
  {
2266
3001
  "type": "typography",
2267
3002
  "variant": "h3",
2268
- "content": "@entity.uptime"
3003
+ "content": [
3004
+ "object/get",
3005
+ [
3006
+ "array/first",
3007
+ "@entity"
3008
+ ],
3009
+ "uptime"
3010
+ ]
2269
3011
  }
2270
3012
  ]
2271
3013
  }