@almadar/std 6.1.0 → 6.1.7

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 (446) hide show
  1. package/behaviors/{exports → registry}/atoms/std-agent-activity-log.orb +154 -124
  2. package/{dist/behaviors/exports → behaviors/registry}/atoms/std-agent-chat-thread.orb +4 -63
  3. package/{dist/behaviors/exports → behaviors/registry}/atoms/std-agent-classifier.orb +8 -14
  4. package/{dist/behaviors/exports → behaviors/registry}/atoms/std-agent-completion.orb +8 -14
  5. package/behaviors/{exports → registry}/atoms/std-agent-context-window.orb +4 -8
  6. package/behaviors/{exports → registry}/atoms/std-agent-conversation.orb +4 -79
  7. package/{dist/exports → behaviors/registry}/atoms/std-agent-memory.orb +13 -18
  8. package/behaviors/{exports → registry}/atoms/std-agent-provider.orb +9 -14
  9. package/{dist/exports → behaviors/registry}/atoms/std-agent-search.orb +5 -8
  10. package/{dist/behaviors/exports → behaviors/registry}/atoms/std-agent-session.orb +11 -22
  11. package/behaviors/{exports → registry}/atoms/std-agent-step-progress.orb +4 -8
  12. package/{dist/exports → behaviors/registry}/atoms/std-agent-token-gauge.orb +4 -8
  13. package/behaviors/{exports → registry}/atoms/std-agent-tool-call.orb +8 -14
  14. package/behaviors/{exports → registry}/atoms/std-async.orb +4 -12
  15. package/{dist/exports → behaviors/registry}/atoms/std-autoregressive.orb +13 -2
  16. package/{dist/behaviors/exports → behaviors/registry}/atoms/std-browse.orb +4 -8
  17. package/{dist/behaviors/exports → behaviors/registry}/atoms/std-cache-aside.orb +4 -12
  18. package/{dist/exports → behaviors/registry}/atoms/std-calendar.orb +4 -8
  19. package/{dist/behaviors/exports → behaviors/registry}/atoms/std-circuit-breaker.orb +4 -8
  20. package/behaviors/registry/atoms/std-classifier.orb.unconvertible.txt +7 -0
  21. package/behaviors/{exports → registry}/atoms/std-collision.orb +4 -8
  22. package/{dist/exports → behaviors/registry}/atoms/std-combat-log.orb +4 -8
  23. package/behaviors/{exports → registry}/atoms/std-combat.orb +4 -8
  24. package/{dist/exports → behaviors/registry}/atoms/std-confirmation.orb +6 -5
  25. package/{dist/behaviors/exports → behaviors/registry}/atoms/std-dialogue-box.orb +4 -8
  26. package/behaviors/{exports → registry}/atoms/std-display.orb +4 -153
  27. package/{dist/exports → behaviors/registry}/atoms/std-drawer.orb +4 -58
  28. package/behaviors/{exports → registry}/atoms/std-filter.orb +4 -8
  29. package/{dist/exports → behaviors/registry}/atoms/std-flip-card.orb +4 -8
  30. package/{dist/behaviors/exports → behaviors/registry}/atoms/std-gallery.orb +4 -8
  31. package/{dist/exports → behaviors/registry}/atoms/std-game-audio.orb +4 -8
  32. package/{dist/exports → behaviors/registry}/atoms/std-game-canvas2d.orb +3 -6
  33. package/{dist/behaviors/exports → behaviors/registry}/atoms/std-game-canvas3d.orb +3 -6
  34. package/{dist/exports → behaviors/registry}/atoms/std-game-hud.orb +4 -16
  35. package/{dist/behaviors/exports → behaviors/registry}/atoms/std-game-menu.orb +4 -8
  36. package/{dist/behaviors/exports → behaviors/registry}/atoms/std-game-over-screen.orb +4 -8
  37. package/{dist/exports → behaviors/registry}/atoms/std-gameflow.orb +4 -8
  38. package/behaviors/registry/atoms/std-graph-classifier.orb.unconvertible.txt +7 -0
  39. package/{dist/behaviors/exports → behaviors/registry}/atoms/std-input.orb +4 -8
  40. package/{dist/exports → behaviors/registry}/atoms/std-inventory-panel.orb +4 -12
  41. package/{dist/exports → behaviors/registry}/atoms/std-isometric-canvas.orb +4 -8
  42. package/{dist/behaviors/exports → behaviors/registry}/atoms/std-loading.orb +4 -8
  43. package/behaviors/{exports → registry}/atoms/std-modal.orb +12 -9
  44. package/behaviors/{exports → registry}/atoms/std-movement.orb +4 -8
  45. package/{dist/behaviors/exports → behaviors/registry}/atoms/std-notification.orb +4 -8
  46. package/{dist/exports → behaviors/registry}/atoms/std-overworld.orb +4 -8
  47. package/behaviors/{exports → registry}/atoms/std-pagination.orb +4 -8
  48. package/behaviors/{exports → registry}/atoms/std-physics2d.orb +4 -8
  49. package/{dist/behaviors/exports → behaviors/registry}/atoms/std-platformer-canvas.orb +4 -8
  50. package/{dist/exports → behaviors/registry}/atoms/std-quest.orb +5 -14
  51. package/{dist/exports → behaviors/registry}/atoms/std-rate-limiter.orb +4 -8
  52. package/{dist/exports → behaviors/registry}/atoms/std-rating.orb +4 -8
  53. package/behaviors/registry/atoms/std-rl-agent.orb.unconvertible.txt +7 -0
  54. package/{dist/exports → behaviors/registry}/atoms/std-score-board.orb +4 -8
  55. package/{dist/exports → behaviors/registry}/atoms/std-score.orb +4 -8
  56. package/{dist/exports → behaviors/registry}/atoms/std-search.orb +4 -8
  57. package/{dist/exports → behaviors/registry}/atoms/std-selection.orb +4 -8
  58. package/{dist/exports → behaviors/registry}/atoms/std-service-custom-bearer.orb +4 -19
  59. package/{dist/exports → behaviors/registry}/atoms/std-service-custom-header.orb +4 -21
  60. package/behaviors/{exports → registry}/atoms/std-service-custom-noauth.orb +4 -15
  61. package/{dist/exports → behaviors/registry}/atoms/std-service-custom-query.orb +4 -21
  62. package/{dist/behaviors/exports → behaviors/registry}/atoms/std-service-email.orb +4 -8
  63. package/{dist/exports → behaviors/registry}/atoms/std-service-github.orb +4 -8
  64. package/behaviors/{exports → registry}/atoms/std-service-llm.orb +4 -8
  65. package/{dist/behaviors/exports → behaviors/registry}/atoms/std-service-oauth.orb +4 -8
  66. package/behaviors/{exports → registry}/atoms/std-service-redis.orb +4 -8
  67. package/{dist/exports → behaviors/registry}/atoms/std-service-storage.orb +4 -8
  68. package/{dist/behaviors/exports → behaviors/registry}/atoms/std-service-stripe.orb +4 -8
  69. package/{dist/behaviors/exports → behaviors/registry}/atoms/std-service-twilio.orb +4 -8
  70. package/{dist/exports → behaviors/registry}/atoms/std-service-youtube.orb +4 -8
  71. package/{dist/exports → behaviors/registry}/atoms/std-simulation-canvas.orb +4 -8
  72. package/{dist/exports → behaviors/registry}/atoms/std-sort.orb +4 -52
  73. package/{dist/behaviors/exports → behaviors/registry}/atoms/std-sprite.orb +4 -8
  74. package/behaviors/{exports → registry}/atoms/std-tabs.orb +4 -16
  75. package/behaviors/registry/atoms/std-text-classifier.orb.unconvertible.txt +7 -0
  76. package/{dist/exports → behaviors/registry}/atoms/std-text-effects.orb +4 -8
  77. package/{dist/behaviors/exports → behaviors/registry}/atoms/std-theme.orb +4 -8
  78. package/behaviors/{exports → registry}/atoms/std-timer.orb +4 -8
  79. package/behaviors/registry/atoms/std-trainer.orb.unconvertible.txt +7 -0
  80. package/{dist/behaviors/exports → behaviors/registry}/atoms/std-undo.orb +4 -8
  81. package/{dist/behaviors/exports → behaviors/registry}/atoms/std-upload.orb +4 -8
  82. package/{dist/exports → behaviors/registry}/atoms/std-validate-on-save.orb +4 -32
  83. package/{dist/exports → behaviors/registry}/atoms/std-wizard.orb +4 -26
  84. package/{dist/behaviors/exports → behaviors/registry}/molecules/std-agent-fix-loop.orb +1136 -1721
  85. package/{dist/behaviors/exports → behaviors/registry}/molecules/std-agent-learner.orb +606 -839
  86. package/behaviors/{exports → registry}/molecules/std-agent-planner.orb +613 -869
  87. package/behaviors/{exports → registry}/molecules/std-agent-rag.orb +562 -768
  88. package/behaviors/registry/molecules/std-agent-tool-loop.orb +2507 -0
  89. package/{dist/behaviors/exports → behaviors/registry}/molecules/std-builder-game.orb +4 -8
  90. package/{dist/exports → behaviors/registry}/molecules/std-cart.orb +197 -318
  91. package/{dist/behaviors/exports → behaviors/registry}/molecules/std-classifier-game.orb +4 -8
  92. package/{dist/exports → behaviors/registry}/molecules/std-debugger-game.orb +4 -8
  93. package/behaviors/registry/molecules/std-detail.orb +439 -0
  94. package/behaviors/{exports → registry}/molecules/std-event-handler-game.orb +4 -8
  95. package/{dist/exports → behaviors/registry}/molecules/std-form-advanced.orb +4 -12
  96. package/behaviors/registry/molecules/std-geospatial.orb +502 -0
  97. package/behaviors/registry/molecules/std-inventory.orb +564 -0
  98. package/behaviors/registry/molecules/std-list.orb +707 -0
  99. package/behaviors/registry/molecules/std-messaging.orb +424 -0
  100. package/behaviors/{exports → registry}/molecules/std-negotiator-game.orb +4 -8
  101. package/behaviors/{exports → registry}/molecules/std-platformer-game.orb +4 -8
  102. package/behaviors/{exports → registry}/molecules/std-puzzle-game.orb +4 -8
  103. package/{dist/behaviors/exports → behaviors/registry}/molecules/std-quiz.orb +4 -8
  104. package/{dist/exports → behaviors/registry}/molecules/std-sequencer-game.orb +4 -8
  105. package/behaviors/{exports → registry}/molecules/std-service-content-pipeline.orb +4 -8
  106. package/{dist/behaviors/exports → behaviors/registry}/molecules/std-service-custom-api-tester.orb +4 -46
  107. package/{dist/exports → behaviors/registry}/molecules/std-service-devops-toolkit.orb +4 -8
  108. package/{dist/exports → behaviors/registry}/molecules/std-service-notification-hub.orb +4 -8
  109. package/{dist/exports → behaviors/registry}/molecules/std-service-payment-flow.orb +8 -10
  110. package/behaviors/{exports → registry}/molecules/std-simulator-game.orb +4 -8
  111. package/{dist/behaviors/exports → behaviors/registry}/molecules/std-turn-based-battle.orb +4 -8
  112. package/{dist/exports → behaviors/registry}/organisms/std-agent-assistant.orb +24 -38
  113. package/behaviors/{exports → registry}/organisms/std-agent-builder.orb +816 -1320
  114. package/{dist/exports → behaviors/registry}/organisms/std-agent-pipeline.orb +785 -1283
  115. package/{dist/exports → behaviors/registry}/organisms/std-agent-reviewer.orb +308 -372
  116. package/{dist/exports → behaviors/registry}/organisms/std-agent-tutor.orb +325 -387
  117. package/{dist/exports → behaviors/registry}/organisms/std-api-gateway.orb +24 -26
  118. package/{dist/exports → behaviors/registry}/organisms/std-arcade-game.orb +4 -4
  119. package/{dist/exports → behaviors/registry}/organisms/std-booking-system.orb +44 -48
  120. package/{dist/behaviors/exports → behaviors/registry}/organisms/std-cicd-pipeline.orb +24 -30
  121. package/behaviors/{exports → registry}/organisms/std-cms.orb +50 -55
  122. package/{dist/behaviors/exports → behaviors/registry}/organisms/std-coding-academy.orb +4 -4
  123. package/{dist/exports → behaviors/registry}/organisms/std-crm.orb +50 -55
  124. package/{dist/exports → behaviors/registry}/organisms/std-devops-dashboard.orb +24 -26
  125. package/{dist/behaviors/exports → behaviors/registry}/organisms/std-ecommerce.orb +48 -58
  126. package/{dist/behaviors/exports → behaviors/registry}/organisms/std-finance-tracker.orb +30 -33
  127. package/{dist/exports → behaviors/registry}/organisms/std-healthcare.orb +50 -55
  128. package/{dist/exports → behaviors/registry}/organisms/std-helpdesk.orb +30 -33
  129. package/behaviors/{exports → registry}/organisms/std-hr-portal.orb +44 -48
  130. package/{dist/behaviors/exports → behaviors/registry}/organisms/std-iot-dashboard.orb +24 -26
  131. package/{dist/exports → behaviors/registry}/organisms/std-lms.orb +24 -26
  132. package/{dist/behaviors/exports → behaviors/registry}/organisms/std-logic-training.orb +4 -4
  133. package/behaviors/{exports → registry}/organisms/std-platformer-app.orb +20 -24
  134. package/behaviors/{exports → registry}/organisms/std-project-manager.orb +44 -48
  135. package/{dist/exports → behaviors/registry}/organisms/std-puzzle-app.orb +4 -4
  136. package/{dist/behaviors/exports → behaviors/registry}/organisms/std-realtime-chat.orb +30 -33
  137. package/{dist/behaviors/exports → behaviors/registry}/organisms/std-rpg-game.orb +20 -28
  138. package/{dist/exports → behaviors/registry}/organisms/std-service-marketplace.orb +52 -58
  139. package/{dist/exports → behaviors/registry}/organisms/std-service-research-assistant.orb +4 -15
  140. package/behaviors/{exports → registry}/organisms/std-social-feed.orb +16 -18
  141. package/behaviors/{exports → registry}/organisms/std-stem-lab.orb +4 -4
  142. package/{dist/behaviors/exports → behaviors/registry}/organisms/std-strategy-game.orb +4 -4
  143. package/{dist/exports → behaviors/registry}/organisms/std-trading-dashboard.orb +24 -30
  144. package/dist/behaviors/{exports → registry}/atoms/std-agent-activity-log.orb +154 -124
  145. package/{behaviors/exports → dist/behaviors/registry}/atoms/std-agent-chat-thread.orb +4 -63
  146. package/dist/{exports → behaviors/registry}/atoms/std-agent-classifier.orb +8 -14
  147. package/dist/{exports → behaviors/registry}/atoms/std-agent-completion.orb +8 -14
  148. package/dist/{exports → behaviors/registry}/atoms/std-agent-context-window.orb +4 -8
  149. package/dist/{exports → behaviors/registry}/atoms/std-agent-conversation.orb +4 -79
  150. package/{behaviors/exports → dist/behaviors/registry}/atoms/std-agent-memory.orb +13 -18
  151. package/dist/{exports → behaviors/registry}/atoms/std-agent-provider.orb +9 -14
  152. package/dist/behaviors/{exports → registry}/atoms/std-agent-search.orb +5 -8
  153. package/dist/{exports → behaviors/registry}/atoms/std-agent-session.orb +11 -22
  154. package/dist/{exports → behaviors/registry}/atoms/std-agent-step-progress.orb +4 -8
  155. package/{behaviors/exports → dist/behaviors/registry}/atoms/std-agent-token-gauge.orb +4 -8
  156. package/dist/behaviors/{exports → registry}/atoms/std-agent-tool-call.orb +8 -14
  157. package/dist/behaviors/{exports → registry}/atoms/std-async.orb +4 -12
  158. package/dist/behaviors/{exports → registry}/atoms/std-autoregressive.orb +13 -2
  159. package/dist/{exports → behaviors/registry}/atoms/std-browse.orb +4 -8
  160. package/dist/{exports → behaviors/registry}/atoms/std-cache-aside.orb +4 -12
  161. package/dist/behaviors/{exports → registry}/atoms/std-calendar.orb +4 -8
  162. package/{behaviors/exports → dist/behaviors/registry}/atoms/std-circuit-breaker.orb +4 -8
  163. package/dist/behaviors/registry/atoms/std-classifier.orb.unconvertible.txt +7 -0
  164. package/dist/behaviors/{exports → registry}/atoms/std-collision.orb +4 -8
  165. package/dist/behaviors/{exports → registry}/atoms/std-combat-log.orb +4 -8
  166. package/dist/{exports → behaviors/registry}/atoms/std-combat.orb +4 -8
  167. package/{behaviors/exports → dist/behaviors/registry}/atoms/std-confirmation.orb +6 -5
  168. package/dist/{exports → behaviors/registry}/atoms/std-dialogue-box.orb +4 -8
  169. package/dist/{exports → behaviors/registry}/atoms/std-display.orb +4 -153
  170. package/dist/behaviors/{exports → registry}/atoms/std-drawer.orb +4 -58
  171. package/dist/behaviors/{exports → registry}/atoms/std-filter.orb +4 -8
  172. package/dist/behaviors/{exports → registry}/atoms/std-flip-card.orb +4 -8
  173. package/{behaviors/exports → dist/behaviors/registry}/atoms/std-gallery.orb +4 -8
  174. package/dist/behaviors/{exports → registry}/atoms/std-game-audio.orb +4 -8
  175. package/dist/behaviors/{exports → registry}/atoms/std-game-canvas2d.orb +3 -6
  176. package/{behaviors/exports → dist/behaviors/registry}/atoms/std-game-canvas3d.orb +3 -6
  177. package/dist/behaviors/{exports → registry}/atoms/std-game-hud.orb +4 -16
  178. package/{behaviors/exports → dist/behaviors/registry}/atoms/std-game-menu.orb +4 -8
  179. package/dist/{exports → behaviors/registry}/atoms/std-game-over-screen.orb +4 -8
  180. package/dist/behaviors/{exports → registry}/atoms/std-gameflow.orb +4 -8
  181. package/dist/behaviors/registry/atoms/std-graph-classifier.orb.unconvertible.txt +7 -0
  182. package/{behaviors/exports → dist/behaviors/registry}/atoms/std-input.orb +4 -8
  183. package/dist/behaviors/{exports → registry}/atoms/std-inventory-panel.orb +4 -12
  184. package/{behaviors/exports → dist/behaviors/registry}/atoms/std-isometric-canvas.orb +4 -8
  185. package/{behaviors/exports → dist/behaviors/registry}/atoms/std-loading.orb +4 -8
  186. package/dist/{exports → behaviors/registry}/atoms/std-modal.orb +12 -9
  187. package/dist/behaviors/{exports → registry}/atoms/std-movement.orb +4 -8
  188. package/dist/{exports → behaviors/registry}/atoms/std-notification.orb +4 -8
  189. package/{behaviors/exports → dist/behaviors/registry}/atoms/std-overworld.orb +4 -8
  190. package/dist/behaviors/{exports → registry}/atoms/std-pagination.orb +4 -8
  191. package/dist/behaviors/{exports → registry}/atoms/std-physics2d.orb +4 -8
  192. package/{behaviors/exports → dist/behaviors/registry}/atoms/std-platformer-canvas.orb +4 -8
  193. package/{behaviors/exports → dist/behaviors/registry}/atoms/std-quest.orb +5 -14
  194. package/{behaviors/exports → dist/behaviors/registry}/atoms/std-rate-limiter.orb +4 -8
  195. package/dist/behaviors/{exports → registry}/atoms/std-rating.orb +4 -8
  196. package/dist/behaviors/registry/atoms/std-rl-agent.orb.unconvertible.txt +7 -0
  197. package/dist/behaviors/{exports → registry}/atoms/std-score-board.orb +4 -8
  198. package/dist/behaviors/{exports → registry}/atoms/std-score.orb +4 -8
  199. package/{behaviors/exports → dist/behaviors/registry}/atoms/std-search.orb +4 -8
  200. package/{behaviors/exports → dist/behaviors/registry}/atoms/std-selection.orb +4 -8
  201. package/dist/behaviors/{exports → registry}/atoms/std-service-custom-bearer.orb +4 -19
  202. package/dist/behaviors/{exports → registry}/atoms/std-service-custom-header.orb +4 -21
  203. package/dist/{exports → behaviors/registry}/atoms/std-service-custom-noauth.orb +4 -15
  204. package/{behaviors/exports → dist/behaviors/registry}/atoms/std-service-custom-query.orb +4 -21
  205. package/dist/{exports → behaviors/registry}/atoms/std-service-email.orb +4 -8
  206. package/dist/behaviors/{exports → registry}/atoms/std-service-github.orb +4 -8
  207. package/dist/{exports → behaviors/registry}/atoms/std-service-llm.orb +4 -8
  208. package/{behaviors/exports → dist/behaviors/registry}/atoms/std-service-oauth.orb +4 -8
  209. package/dist/behaviors/{exports → registry}/atoms/std-service-redis.orb +4 -8
  210. package/dist/behaviors/{exports → registry}/atoms/std-service-storage.orb +4 -8
  211. package/dist/{exports → behaviors/registry}/atoms/std-service-stripe.orb +4 -8
  212. package/dist/{exports → behaviors/registry}/atoms/std-service-twilio.orb +4 -8
  213. package/dist/behaviors/{exports → registry}/atoms/std-service-youtube.orb +4 -8
  214. package/{behaviors/exports → dist/behaviors/registry}/atoms/std-simulation-canvas.orb +4 -8
  215. package/{behaviors/exports → dist/behaviors/registry}/atoms/std-sort.orb +4 -52
  216. package/{behaviors/exports → dist/behaviors/registry}/atoms/std-sprite.orb +4 -8
  217. package/dist/{exports → behaviors/registry}/atoms/std-tabs.orb +4 -16
  218. package/dist/behaviors/registry/atoms/std-text-classifier.orb.unconvertible.txt +7 -0
  219. package/dist/behaviors/{exports → registry}/atoms/std-text-effects.orb +4 -8
  220. package/dist/{exports → behaviors/registry}/atoms/std-theme.orb +4 -8
  221. package/dist/{exports → behaviors/registry}/atoms/std-timer.orb +4 -8
  222. package/dist/behaviors/registry/atoms/std-trainer.orb.unconvertible.txt +7 -0
  223. package/dist/{exports → behaviors/registry}/atoms/std-undo.orb +4 -8
  224. package/dist/{exports → behaviors/registry}/atoms/std-upload.orb +4 -8
  225. package/{behaviors/exports → dist/behaviors/registry}/atoms/std-validate-on-save.orb +4 -32
  226. package/dist/behaviors/{exports → registry}/atoms/std-wizard.orb +4 -26
  227. package/dist/{exports → behaviors/registry}/molecules/std-agent-fix-loop.orb +1136 -1721
  228. package/{behaviors/exports → dist/behaviors/registry}/molecules/std-agent-learner.orb +606 -839
  229. package/dist/{exports → behaviors/registry}/molecules/std-agent-planner.orb +613 -869
  230. package/dist/behaviors/{exports → registry}/molecules/std-agent-rag.orb +562 -768
  231. package/dist/behaviors/registry/molecules/std-agent-tool-loop.orb +2507 -0
  232. package/dist/{exports → behaviors/registry}/molecules/std-builder-game.orb +4 -8
  233. package/{behaviors/exports → dist/behaviors/registry}/molecules/std-cart.orb +197 -318
  234. package/dist/{exports → behaviors/registry}/molecules/std-classifier-game.orb +4 -8
  235. package/{behaviors/exports → dist/behaviors/registry}/molecules/std-debugger-game.orb +4 -8
  236. package/dist/behaviors/registry/molecules/std-detail.orb +439 -0
  237. package/dist/{exports → behaviors/registry}/molecules/std-event-handler-game.orb +4 -8
  238. package/{behaviors/exports → dist/behaviors/registry}/molecules/std-form-advanced.orb +4 -12
  239. package/dist/behaviors/registry/molecules/std-geospatial.orb +502 -0
  240. package/dist/behaviors/registry/molecules/std-inventory.orb +564 -0
  241. package/dist/behaviors/registry/molecules/std-list.orb +707 -0
  242. package/dist/behaviors/registry/molecules/std-messaging.orb +424 -0
  243. package/dist/{exports → behaviors/registry}/molecules/std-negotiator-game.orb +4 -8
  244. package/dist/{exports → behaviors/registry}/molecules/std-platformer-game.orb +4 -8
  245. package/dist/behaviors/{exports → registry}/molecules/std-puzzle-game.orb +4 -8
  246. package/{behaviors/exports → dist/behaviors/registry}/molecules/std-quiz.orb +4 -8
  247. package/{behaviors/exports → dist/behaviors/registry}/molecules/std-sequencer-game.orb +4 -8
  248. package/dist/{exports → behaviors/registry}/molecules/std-service-content-pipeline.orb +4 -8
  249. package/{behaviors/exports → dist/behaviors/registry}/molecules/std-service-custom-api-tester.orb +4 -46
  250. package/{behaviors/exports → dist/behaviors/registry}/molecules/std-service-devops-toolkit.orb +4 -8
  251. package/{behaviors/exports → dist/behaviors/registry}/molecules/std-service-notification-hub.orb +4 -8
  252. package/{behaviors/exports → dist/behaviors/registry}/molecules/std-service-payment-flow.orb +8 -10
  253. package/dist/{exports → behaviors/registry}/molecules/std-simulator-game.orb +4 -8
  254. package/dist/{exports → behaviors/registry}/molecules/std-turn-based-battle.orb +4 -8
  255. package/{behaviors/exports → dist/behaviors/registry}/organisms/std-agent-assistant.orb +24 -38
  256. package/dist/{exports → behaviors/registry}/organisms/std-agent-builder.orb +816 -1320
  257. package/{behaviors/exports → dist/behaviors/registry}/organisms/std-agent-pipeline.orb +785 -1283
  258. package/dist/behaviors/{exports → registry}/organisms/std-agent-reviewer.orb +308 -372
  259. package/{behaviors/exports → dist/behaviors/registry}/organisms/std-agent-tutor.orb +325 -387
  260. package/dist/behaviors/{exports → registry}/organisms/std-api-gateway.orb +24 -26
  261. package/{behaviors/exports → dist/behaviors/registry}/organisms/std-arcade-game.orb +4 -4
  262. package/{behaviors/exports → dist/behaviors/registry}/organisms/std-booking-system.orb +44 -48
  263. package/{behaviors/exports → dist/behaviors/registry}/organisms/std-cicd-pipeline.orb +24 -30
  264. package/dist/{exports → behaviors/registry}/organisms/std-cms.orb +50 -55
  265. package/{behaviors/exports → dist/behaviors/registry}/organisms/std-coding-academy.orb +4 -4
  266. package/{behaviors/exports → dist/behaviors/registry}/organisms/std-crm.orb +50 -55
  267. package/{behaviors/exports → dist/behaviors/registry}/organisms/std-devops-dashboard.orb +24 -26
  268. package/dist/{exports → behaviors/registry}/organisms/std-ecommerce.orb +48 -58
  269. package/dist/{exports → behaviors/registry}/organisms/std-finance-tracker.orb +30 -33
  270. package/{behaviors/exports → dist/behaviors/registry}/organisms/std-healthcare.orb +50 -55
  271. package/dist/behaviors/{exports → registry}/organisms/std-helpdesk.orb +30 -33
  272. package/dist/behaviors/{exports → registry}/organisms/std-hr-portal.orb +44 -48
  273. package/{behaviors/exports → dist/behaviors/registry}/organisms/std-iot-dashboard.orb +24 -26
  274. package/dist/behaviors/{exports → registry}/organisms/std-lms.orb +24 -26
  275. package/{behaviors/exports → dist/behaviors/registry}/organisms/std-logic-training.orb +4 -4
  276. package/dist/behaviors/{exports → registry}/organisms/std-platformer-app.orb +20 -24
  277. package/dist/{exports → behaviors/registry}/organisms/std-project-manager.orb +44 -48
  278. package/dist/behaviors/{exports → registry}/organisms/std-puzzle-app.orb +4 -4
  279. package/dist/{exports → behaviors/registry}/organisms/std-realtime-chat.orb +30 -33
  280. package/{behaviors/exports → dist/behaviors/registry}/organisms/std-rpg-game.orb +20 -28
  281. package/{behaviors/exports → dist/behaviors/registry}/organisms/std-service-marketplace.orb +52 -58
  282. package/{behaviors/exports → dist/behaviors/registry}/organisms/std-service-research-assistant.orb +4 -15
  283. package/dist/{exports → behaviors/registry}/organisms/std-social-feed.orb +16 -18
  284. package/dist/{exports → behaviors/registry}/organisms/std-stem-lab.orb +4 -4
  285. package/{behaviors/exports → dist/behaviors/registry}/organisms/std-strategy-game.orb +4 -4
  286. package/dist/behaviors/{exports → registry}/organisms/std-trading-dashboard.orb +24 -30
  287. package/package.json +2 -2
  288. package/behaviors/exports/atoms/std-agent-classifier.orb +0 -879
  289. package/behaviors/exports/atoms/std-agent-completion.orb +0 -941
  290. package/behaviors/exports/atoms/std-agent-search.orb +0 -431
  291. package/behaviors/exports/atoms/std-agent-session.orb +0 -777
  292. package/behaviors/exports/atoms/std-autoregressive.orb +0 -420
  293. package/behaviors/exports/atoms/std-browse.orb +0 -251
  294. package/behaviors/exports/atoms/std-cache-aside.orb +0 -1101
  295. package/behaviors/exports/atoms/std-calendar.orb +0 -775
  296. package/behaviors/exports/atoms/std-combat-log.orb +0 -268
  297. package/behaviors/exports/atoms/std-dialogue-box.orb +0 -249
  298. package/behaviors/exports/atoms/std-drawer.orb +0 -578
  299. package/behaviors/exports/atoms/std-flip-card.orb +0 -601
  300. package/behaviors/exports/atoms/std-game-audio.orb +0 -350
  301. package/behaviors/exports/atoms/std-game-canvas2d.orb +0 -263
  302. package/behaviors/exports/atoms/std-game-hud.orb +0 -170
  303. package/behaviors/exports/atoms/std-game-over-screen.orb +0 -206
  304. package/behaviors/exports/atoms/std-gameflow.orb +0 -419
  305. package/behaviors/exports/atoms/std-inventory-panel.orb +0 -266
  306. package/behaviors/exports/atoms/std-notification.orb +0 -446
  307. package/behaviors/exports/atoms/std-rating.orb +0 -333
  308. package/behaviors/exports/atoms/std-score-board.orb +0 -249
  309. package/behaviors/exports/atoms/std-score.orb +0 -713
  310. package/behaviors/exports/atoms/std-service-custom-bearer.orb +0 -562
  311. package/behaviors/exports/atoms/std-service-custom-header.orb +0 -564
  312. package/behaviors/exports/atoms/std-service-email.orb +0 -545
  313. package/behaviors/exports/atoms/std-service-github.orb +0 -591
  314. package/behaviors/exports/atoms/std-service-storage.orb +0 -669
  315. package/behaviors/exports/atoms/std-service-stripe.orb +0 -644
  316. package/behaviors/exports/atoms/std-service-twilio.orb +0 -616
  317. package/behaviors/exports/atoms/std-service-youtube.orb +0 -701
  318. package/behaviors/exports/atoms/std-text-effects.orb +0 -663
  319. package/behaviors/exports/atoms/std-theme.orb +0 -578
  320. package/behaviors/exports/atoms/std-undo.orb +0 -830
  321. package/behaviors/exports/atoms/std-upload.orb +0 -540
  322. package/behaviors/exports/atoms/std-wizard.orb +0 -1120
  323. package/behaviors/exports/molecules/std-agent-fix-loop.orb +0 -3327
  324. package/behaviors/exports/molecules/std-agent-tool-loop.orb +0 -4451
  325. package/behaviors/exports/molecules/std-builder-game.orb +0 -234
  326. package/behaviors/exports/molecules/std-classifier-game.orb +0 -234
  327. package/behaviors/exports/molecules/std-detail.orb +0 -621
  328. package/behaviors/exports/molecules/std-geospatial.orb +0 -657
  329. package/behaviors/exports/molecules/std-inventory.orb +0 -823
  330. package/behaviors/exports/molecules/std-list.orb +0 -1066
  331. package/behaviors/exports/molecules/std-messaging.orb +0 -605
  332. package/behaviors/exports/molecules/std-turn-based-battle.orb +0 -514
  333. package/behaviors/exports/organisms/std-agent-reviewer.orb +0 -5277
  334. package/behaviors/exports/organisms/std-api-gateway.orb +0 -3745
  335. package/behaviors/exports/organisms/std-ecommerce.orb +0 -4553
  336. package/behaviors/exports/organisms/std-finance-tracker.orb +0 -3091
  337. package/behaviors/exports/organisms/std-helpdesk.orb +0 -3328
  338. package/behaviors/exports/organisms/std-lms.orb +0 -3885
  339. package/behaviors/exports/organisms/std-puzzle-app.orb +0 -889
  340. package/behaviors/exports/organisms/std-realtime-chat.orb +0 -3428
  341. package/behaviors/exports/organisms/std-trading-dashboard.orb +0 -3080
  342. package/behaviors/exports/test-schemas/os-trigger-simulation.orb +0 -202
  343. package/behaviors/exports/validation-report.json +0 -1672
  344. package/behaviors/exports/verify-results.json +0 -126
  345. package/dist/behaviors/exports/atoms/std-agent-context-window.orb +0 -2299
  346. package/dist/behaviors/exports/atoms/std-agent-conversation.orb +0 -1029
  347. package/dist/behaviors/exports/atoms/std-agent-memory.orb +0 -777
  348. package/dist/behaviors/exports/atoms/std-agent-provider.orb +0 -906
  349. package/dist/behaviors/exports/atoms/std-agent-step-progress.orb +0 -994
  350. package/dist/behaviors/exports/atoms/std-agent-token-gauge.orb +0 -1621
  351. package/dist/behaviors/exports/atoms/std-combat.orb +0 -421
  352. package/dist/behaviors/exports/atoms/std-confirmation.orb +0 -496
  353. package/dist/behaviors/exports/atoms/std-display.orb +0 -1803
  354. package/dist/behaviors/exports/atoms/std-isometric-canvas.orb +0 -642
  355. package/dist/behaviors/exports/atoms/std-modal.orb +0 -425
  356. package/dist/behaviors/exports/atoms/std-overworld.orb +0 -517
  357. package/dist/behaviors/exports/atoms/std-quest.orb +0 -1262
  358. package/dist/behaviors/exports/atoms/std-rate-limiter.orb +0 -897
  359. package/dist/behaviors/exports/atoms/std-search.orb +0 -394
  360. package/dist/behaviors/exports/atoms/std-selection.orb +0 -810
  361. package/dist/behaviors/exports/atoms/std-service-custom-noauth.orb +0 -558
  362. package/dist/behaviors/exports/atoms/std-service-custom-query.orb +0 -564
  363. package/dist/behaviors/exports/atoms/std-service-llm.orb +0 -676
  364. package/dist/behaviors/exports/atoms/std-simulation-canvas.orb +0 -194
  365. package/dist/behaviors/exports/atoms/std-sort.orb +0 -760
  366. package/dist/behaviors/exports/atoms/std-tabs.orb +0 -298
  367. package/dist/behaviors/exports/atoms/std-timer.orb +0 -1428
  368. package/dist/behaviors/exports/atoms/std-validate-on-save.orb +0 -624
  369. package/dist/behaviors/exports/molecules/std-agent-planner.orb +0 -2037
  370. package/dist/behaviors/exports/molecules/std-agent-tool-loop.orb +0 -4451
  371. package/dist/behaviors/exports/molecules/std-cart.orb +0 -754
  372. package/dist/behaviors/exports/molecules/std-debugger-game.orb +0 -234
  373. package/dist/behaviors/exports/molecules/std-detail.orb +0 -621
  374. package/dist/behaviors/exports/molecules/std-event-handler-game.orb +0 -234
  375. package/dist/behaviors/exports/molecules/std-form-advanced.orb +0 -659
  376. package/dist/behaviors/exports/molecules/std-geospatial.orb +0 -657
  377. package/dist/behaviors/exports/molecules/std-inventory.orb +0 -823
  378. package/dist/behaviors/exports/molecules/std-list.orb +0 -1066
  379. package/dist/behaviors/exports/molecules/std-messaging.orb +0 -605
  380. package/dist/behaviors/exports/molecules/std-negotiator-game.orb +0 -234
  381. package/dist/behaviors/exports/molecules/std-platformer-game.orb +0 -557
  382. package/dist/behaviors/exports/molecules/std-sequencer-game.orb +0 -234
  383. package/dist/behaviors/exports/molecules/std-service-content-pipeline.orb +0 -920
  384. package/dist/behaviors/exports/molecules/std-service-devops-toolkit.orb +0 -1531
  385. package/dist/behaviors/exports/molecules/std-service-notification-hub.orb +0 -701
  386. package/dist/behaviors/exports/molecules/std-service-payment-flow.orb +0 -878
  387. package/dist/behaviors/exports/molecules/std-simulator-game.orb +0 -234
  388. package/dist/behaviors/exports/organisms/std-agent-assistant.orb +0 -6336
  389. package/dist/behaviors/exports/organisms/std-agent-builder.orb +0 -14139
  390. package/dist/behaviors/exports/organisms/std-agent-pipeline.orb +0 -10974
  391. package/dist/behaviors/exports/organisms/std-agent-tutor.orb +0 -5003
  392. package/dist/behaviors/exports/organisms/std-arcade-game.orb +0 -1144
  393. package/dist/behaviors/exports/organisms/std-booking-system.orb +0 -5142
  394. package/dist/behaviors/exports/organisms/std-cms.orb +0 -2887
  395. package/dist/behaviors/exports/organisms/std-crm.orb +0 -4366
  396. package/dist/behaviors/exports/organisms/std-devops-dashboard.orb +0 -5772
  397. package/dist/behaviors/exports/organisms/std-healthcare.orb +0 -6001
  398. package/dist/behaviors/exports/organisms/std-project-manager.orb +0 -3819
  399. package/dist/behaviors/exports/organisms/std-service-marketplace.orb +0 -4479
  400. package/dist/behaviors/exports/organisms/std-service-research-assistant.orb +0 -3568
  401. package/dist/behaviors/exports/organisms/std-social-feed.orb +0 -1246
  402. package/dist/behaviors/exports/organisms/std-stem-lab.orb +0 -1922
  403. package/dist/behaviors/exports/test-schemas/os-trigger-simulation.orb +0 -202
  404. package/dist/behaviors/exports/validation-report.json +0 -1672
  405. package/dist/behaviors/exports/verify-results.json +0 -126
  406. package/dist/exports/atoms/std-agent-activity-log.orb +0 -575
  407. package/dist/exports/atoms/std-agent-chat-thread.orb +0 -783
  408. package/dist/exports/atoms/std-agent-tool-call.orb +0 -746
  409. package/dist/exports/atoms/std-async.orb +0 -443
  410. package/dist/exports/atoms/std-circuit-breaker.orb +0 -999
  411. package/dist/exports/atoms/std-collision.orb +0 -694
  412. package/dist/exports/atoms/std-filter.orb +0 -641
  413. package/dist/exports/atoms/std-gallery.orb +0 -387
  414. package/dist/exports/atoms/std-game-canvas3d.orb +0 -401
  415. package/dist/exports/atoms/std-game-menu.orb +0 -222
  416. package/dist/exports/atoms/std-input.orb +0 -640
  417. package/dist/exports/atoms/std-loading.orb +0 -496
  418. package/dist/exports/atoms/std-movement.orb +0 -1413
  419. package/dist/exports/atoms/std-pagination.orb +0 -266
  420. package/dist/exports/atoms/std-physics2d.orb +0 -430
  421. package/dist/exports/atoms/std-platformer-canvas.orb +0 -268
  422. package/dist/exports/atoms/std-service-oauth.orb +0 -769
  423. package/dist/exports/atoms/std-service-redis.orb +0 -585
  424. package/dist/exports/atoms/std-sprite.orb +0 -315
  425. package/dist/exports/molecules/std-agent-learner.orb +0 -2315
  426. package/dist/exports/molecules/std-agent-rag.orb +0 -1745
  427. package/dist/exports/molecules/std-agent-tool-loop.orb +0 -4451
  428. package/dist/exports/molecules/std-detail.orb +0 -621
  429. package/dist/exports/molecules/std-geospatial.orb +0 -657
  430. package/dist/exports/molecules/std-inventory.orb +0 -823
  431. package/dist/exports/molecules/std-list.orb +0 -1066
  432. package/dist/exports/molecules/std-messaging.orb +0 -605
  433. package/dist/exports/molecules/std-puzzle-game.orb +0 -584
  434. package/dist/exports/molecules/std-quiz.orb +0 -1074
  435. package/dist/exports/molecules/std-service-custom-api-tester.orb +0 -865
  436. package/dist/exports/organisms/std-cicd-pipeline.orb +0 -3425
  437. package/dist/exports/organisms/std-coding-academy.orb +0 -2084
  438. package/dist/exports/organisms/std-hr-portal.orb +0 -5236
  439. package/dist/exports/organisms/std-iot-dashboard.orb +0 -3914
  440. package/dist/exports/organisms/std-logic-training.orb +0 -753
  441. package/dist/exports/organisms/std-platformer-app.orb +0 -1679
  442. package/dist/exports/organisms/std-rpg-game.orb +0 -3298
  443. package/dist/exports/organisms/std-strategy-game.orb +0 -2443
  444. package/dist/exports/test-schemas/os-trigger-simulation.orb +0 -202
  445. package/dist/exports/validation-report.json +0 -1672
  446. package/dist/exports/verify-results.json +0 -126
@@ -1,3914 +0,0 @@
1
- {
2
- "name": "IoT Dashboard",
3
- "version": "1.0.0",
4
- "orbitals": [
5
- {
6
- "name": "SensorReadingOrbital",
7
- "entity": {
8
- "name": "SensorReading",
9
- "persistence": "runtime",
10
- "fields": [
11
- {
12
- "name": "id",
13
- "type": "string",
14
- "required": true
15
- },
16
- {
17
- "name": "sensorId",
18
- "type": "string",
19
- "required": true
20
- },
21
- {
22
- "name": "value",
23
- "type": "number",
24
- "required": true
25
- },
26
- {
27
- "name": "unit",
28
- "type": "string"
29
- },
30
- {
31
- "name": "timestamp",
32
- "type": "string"
33
- }
34
- ]
35
- },
36
- "traits": [
37
- {
38
- "name": "SensorReadingDisplay",
39
- "linkedEntity": "SensorReading",
40
- "category": "interaction",
41
- "stateMachine": {
42
- "states": [
43
- {
44
- "name": "loading",
45
- "isInitial": true
46
- },
47
- {
48
- "name": "displaying"
49
- },
50
- {
51
- "name": "refreshing"
52
- }
53
- ],
54
- "events": [
55
- {
56
- "key": "INIT",
57
- "name": "Initialize"
58
- },
59
- {
60
- "key": "LOADED",
61
- "name": "Loaded"
62
- },
63
- {
64
- "key": "REFRESH",
65
- "name": "Refresh"
66
- },
67
- {
68
- "key": "REFRESHED",
69
- "name": "Refreshed"
70
- }
71
- ],
72
- "transitions": [
73
- {
74
- "from": "loading",
75
- "to": "displaying",
76
- "event": "INIT",
77
- "effects": [
78
- [
79
- "fetch",
80
- "SensorReading"
81
- ],
82
- [
83
- "render-ui",
84
- "main",
85
- {
86
- "type": "dashboard-layout",
87
- "appName": "IoT Dashboard",
88
- "navItems": [
89
- {
90
- "label": "Sensors",
91
- "href": "/sensors",
92
- "icon": "layout-list"
93
- },
94
- {
95
- "label": "Devices",
96
- "href": "/devices",
97
- "icon": "cpu"
98
- },
99
- {
100
- "label": "Alerts",
101
- "href": "/alerts",
102
- "icon": "bell"
103
- }
104
- ],
105
- "children": [
106
- {
107
- "type": "scaled-diagram",
108
- "children": [
109
- {
110
- "type": "stack",
111
- "direction": "vertical",
112
- "gap": "lg",
113
- "children": [
114
- {
115
- "type": "breadcrumb",
116
- "items": [
117
- {
118
- "label": "Home",
119
- "href": "/"
120
- },
121
- {
122
- "label": "Sensor Readings"
123
- }
124
- ]
125
- },
126
- {
127
- "type": "stack",
128
- "direction": "horizontal",
129
- "gap": "md",
130
- "justify": "space-between",
131
- "children": [
132
- {
133
- "type": "stack",
134
- "direction": "horizontal",
135
- "gap": "md",
136
- "children": [
137
- {
138
- "type": "icon",
139
- "name": "thermometer",
140
- "size": "lg"
141
- },
142
- {
143
- "type": "typography",
144
- "content": "Sensor Readings",
145
- "variant": "h2"
146
- }
147
- ]
148
- },
149
- {
150
- "type": "button",
151
- "label": "Refresh",
152
- "event": "REFRESH",
153
- "variant": "secondary",
154
- "icon": "refresh-cw"
155
- }
156
- ]
157
- },
158
- {
159
- "type": "divider"
160
- },
161
- {
162
- "type": "box",
163
- "padding": "md",
164
- "children": [
165
- {
166
- "type": "simple-grid",
167
- "columns": 3,
168
- "children": [
169
- {
170
- "type": "card",
171
- "children": [
172
- {
173
- "type": "stack",
174
- "direction": "vertical",
175
- "gap": "sm",
176
- "children": [
177
- {
178
- "type": "typography",
179
- "variant": "caption",
180
- "content": "SensorId"
181
- },
182
- {
183
- "type": "typography",
184
- "variant": "h3",
185
- "content": [
186
- "object/get",
187
- [
188
- "array/first",
189
- "@entity"
190
- ],
191
- "sensorId"
192
- ]
193
- }
194
- ]
195
- }
196
- ]
197
- },
198
- {
199
- "type": "stat-display",
200
- "label": "Value",
201
- "value": [
202
- "object/get",
203
- [
204
- "array/first",
205
- "@entity"
206
- ],
207
- "value"
208
- ]
209
- },
210
- {
211
- "type": "card",
212
- "children": [
213
- {
214
- "type": "stack",
215
- "direction": "vertical",
216
- "gap": "sm",
217
- "children": [
218
- {
219
- "type": "typography",
220
- "variant": "caption",
221
- "content": "Unit"
222
- },
223
- {
224
- "type": "typography",
225
- "variant": "h3",
226
- "content": [
227
- "object/get",
228
- [
229
- "array/first",
230
- "@entity"
231
- ],
232
- "unit"
233
- ]
234
- }
235
- ]
236
- }
237
- ]
238
- },
239
- {
240
- "type": "card",
241
- "children": [
242
- {
243
- "type": "stack",
244
- "direction": "vertical",
245
- "gap": "sm",
246
- "children": [
247
- {
248
- "type": "typography",
249
- "variant": "caption",
250
- "content": "Timestamp"
251
- },
252
- {
253
- "type": "typography",
254
- "variant": "h3",
255
- "content": [
256
- "object/get",
257
- [
258
- "array/first",
259
- "@entity"
260
- ],
261
- "timestamp"
262
- ]
263
- }
264
- ]
265
- }
266
- ]
267
- }
268
- ]
269
- }
270
- ]
271
- },
272
- {
273
- "type": "divider"
274
- },
275
- {
276
- "type": "grid",
277
- "columns": 2,
278
- "gap": "md",
279
- "children": [
280
- {
281
- "type": "card",
282
- "children": [
283
- {
284
- "type": "typography",
285
- "variant": "caption",
286
- "content": "Chart View"
287
- }
288
- ]
289
- },
290
- {
291
- "type": "card",
292
- "children": [
293
- {
294
- "type": "typography",
295
- "variant": "caption",
296
- "content": "Graph View"
297
- }
298
- ]
299
- }
300
- ]
301
- },
302
- {
303
- "type": "line-chart",
304
- "data": [
305
- {
306
- "date": "Jan",
307
- "value": 12
308
- },
309
- {
310
- "date": "Feb",
311
- "value": 19
312
- },
313
- {
314
- "date": "Mar",
315
- "value": 15
316
- },
317
- {
318
- "date": "Apr",
319
- "value": 25
320
- },
321
- {
322
- "date": "May",
323
- "value": 22
324
- },
325
- {
326
- "date": "Jun",
327
- "value": 30
328
- }
329
- ],
330
- "xKey": "date",
331
- "yKey": "value",
332
- "title": "Trend"
333
- },
334
- {
335
- "type": "chart-legend",
336
- "items": [
337
- {
338
- "label": "Current",
339
- "color": "primary"
340
- },
341
- {
342
- "label": "Previous",
343
- "color": "muted"
344
- }
345
- ]
346
- },
347
- {
348
- "type": "graph-view",
349
- "nodes": [
350
- {
351
- "id": "a",
352
- "label": "Start",
353
- "x": 50,
354
- "y": 100
355
- },
356
- {
357
- "id": "b",
358
- "label": "Process",
359
- "x": 200,
360
- "y": 50
361
- },
362
- {
363
- "id": "c",
364
- "label": "End",
365
- "x": 350,
366
- "y": 100
367
- }
368
- ],
369
- "edges": [
370
- {
371
- "from": "a",
372
- "to": "b"
373
- },
374
- {
375
- "from": "b",
376
- "to": "c"
377
- }
378
- ],
379
- "width": 400,
380
- "height": 200
381
- }
382
- ]
383
- }
384
- ]
385
- }
386
- ]
387
- }
388
- ]
389
- ]
390
- },
391
- {
392
- "from": "loading",
393
- "to": "displaying",
394
- "event": "LOADED",
395
- "effects": [
396
- [
397
- "fetch",
398
- "SensorReading"
399
- ],
400
- [
401
- "render-ui",
402
- "main",
403
- {
404
- "type": "dashboard-layout",
405
- "appName": "IoT Dashboard",
406
- "navItems": [
407
- {
408
- "label": "Sensors",
409
- "href": "/sensors",
410
- "icon": "layout-list"
411
- },
412
- {
413
- "label": "Devices",
414
- "href": "/devices",
415
- "icon": "cpu"
416
- },
417
- {
418
- "label": "Alerts",
419
- "href": "/alerts",
420
- "icon": "bell"
421
- }
422
- ],
423
- "children": [
424
- {
425
- "type": "scaled-diagram",
426
- "children": [
427
- {
428
- "type": "stack",
429
- "direction": "vertical",
430
- "gap": "lg",
431
- "children": [
432
- {
433
- "type": "breadcrumb",
434
- "items": [
435
- {
436
- "label": "Home",
437
- "href": "/"
438
- },
439
- {
440
- "label": "Sensor Readings"
441
- }
442
- ]
443
- },
444
- {
445
- "type": "stack",
446
- "direction": "horizontal",
447
- "gap": "md",
448
- "justify": "space-between",
449
- "children": [
450
- {
451
- "type": "stack",
452
- "direction": "horizontal",
453
- "gap": "md",
454
- "children": [
455
- {
456
- "type": "icon",
457
- "name": "thermometer",
458
- "size": "lg"
459
- },
460
- {
461
- "type": "typography",
462
- "content": "Sensor Readings",
463
- "variant": "h2"
464
- }
465
- ]
466
- },
467
- {
468
- "type": "button",
469
- "label": "Refresh",
470
- "event": "REFRESH",
471
- "variant": "secondary",
472
- "icon": "refresh-cw"
473
- }
474
- ]
475
- },
476
- {
477
- "type": "divider"
478
- },
479
- {
480
- "type": "box",
481
- "padding": "md",
482
- "children": [
483
- {
484
- "type": "simple-grid",
485
- "columns": 3,
486
- "children": [
487
- {
488
- "type": "card",
489
- "children": [
490
- {
491
- "type": "stack",
492
- "direction": "vertical",
493
- "gap": "sm",
494
- "children": [
495
- {
496
- "type": "typography",
497
- "variant": "caption",
498
- "content": "SensorId"
499
- },
500
- {
501
- "type": "typography",
502
- "variant": "h3",
503
- "content": [
504
- "object/get",
505
- [
506
- "array/first",
507
- "@entity"
508
- ],
509
- "sensorId"
510
- ]
511
- }
512
- ]
513
- }
514
- ]
515
- },
516
- {
517
- "type": "stat-display",
518
- "label": "Value",
519
- "value": [
520
- "object/get",
521
- [
522
- "array/first",
523
- "@entity"
524
- ],
525
- "value"
526
- ]
527
- },
528
- {
529
- "type": "card",
530
- "children": [
531
- {
532
- "type": "stack",
533
- "direction": "vertical",
534
- "gap": "sm",
535
- "children": [
536
- {
537
- "type": "typography",
538
- "variant": "caption",
539
- "content": "Unit"
540
- },
541
- {
542
- "type": "typography",
543
- "variant": "h3",
544
- "content": [
545
- "object/get",
546
- [
547
- "array/first",
548
- "@entity"
549
- ],
550
- "unit"
551
- ]
552
- }
553
- ]
554
- }
555
- ]
556
- },
557
- {
558
- "type": "card",
559
- "children": [
560
- {
561
- "type": "stack",
562
- "direction": "vertical",
563
- "gap": "sm",
564
- "children": [
565
- {
566
- "type": "typography",
567
- "variant": "caption",
568
- "content": "Timestamp"
569
- },
570
- {
571
- "type": "typography",
572
- "variant": "h3",
573
- "content": [
574
- "object/get",
575
- [
576
- "array/first",
577
- "@entity"
578
- ],
579
- "timestamp"
580
- ]
581
- }
582
- ]
583
- }
584
- ]
585
- }
586
- ]
587
- }
588
- ]
589
- },
590
- {
591
- "type": "divider"
592
- },
593
- {
594
- "type": "grid",
595
- "columns": 2,
596
- "gap": "md",
597
- "children": [
598
- {
599
- "type": "card",
600
- "children": [
601
- {
602
- "type": "typography",
603
- "variant": "caption",
604
- "content": "Chart View"
605
- }
606
- ]
607
- },
608
- {
609
- "type": "card",
610
- "children": [
611
- {
612
- "type": "typography",
613
- "variant": "caption",
614
- "content": "Graph View"
615
- }
616
- ]
617
- }
618
- ]
619
- },
620
- {
621
- "type": "line-chart",
622
- "data": [
623
- {
624
- "date": "Jan",
625
- "value": 12
626
- },
627
- {
628
- "date": "Feb",
629
- "value": 19
630
- },
631
- {
632
- "date": "Mar",
633
- "value": 15
634
- },
635
- {
636
- "date": "Apr",
637
- "value": 25
638
- },
639
- {
640
- "date": "May",
641
- "value": 22
642
- },
643
- {
644
- "date": "Jun",
645
- "value": 30
646
- }
647
- ],
648
- "xKey": "date",
649
- "yKey": "value",
650
- "title": "Trend"
651
- },
652
- {
653
- "type": "chart-legend",
654
- "items": [
655
- {
656
- "label": "Current",
657
- "color": "primary"
658
- },
659
- {
660
- "label": "Previous",
661
- "color": "muted"
662
- }
663
- ]
664
- },
665
- {
666
- "type": "graph-view",
667
- "nodes": [
668
- {
669
- "id": "a",
670
- "label": "Start",
671
- "x": 50,
672
- "y": 100
673
- },
674
- {
675
- "id": "b",
676
- "label": "Process",
677
- "x": 200,
678
- "y": 50
679
- },
680
- {
681
- "id": "c",
682
- "label": "End",
683
- "x": 350,
684
- "y": 100
685
- }
686
- ],
687
- "edges": [
688
- {
689
- "from": "a",
690
- "to": "b"
691
- },
692
- {
693
- "from": "b",
694
- "to": "c"
695
- }
696
- ],
697
- "width": 400,
698
- "height": 200
699
- }
700
- ]
701
- }
702
- ]
703
- }
704
- ]
705
- }
706
- ]
707
- ]
708
- },
709
- {
710
- "from": "displaying",
711
- "to": "displaying",
712
- "event": "INIT",
713
- "effects": [
714
- [
715
- "fetch",
716
- "SensorReading"
717
- ],
718
- [
719
- "render-ui",
720
- "main",
721
- {
722
- "type": "dashboard-layout",
723
- "appName": "IoT Dashboard",
724
- "navItems": [
725
- {
726
- "label": "Sensors",
727
- "href": "/sensors",
728
- "icon": "layout-list"
729
- },
730
- {
731
- "label": "Devices",
732
- "href": "/devices",
733
- "icon": "cpu"
734
- },
735
- {
736
- "label": "Alerts",
737
- "href": "/alerts",
738
- "icon": "bell"
739
- }
740
- ],
741
- "children": [
742
- {
743
- "type": "scaled-diagram",
744
- "children": [
745
- {
746
- "type": "stack",
747
- "direction": "vertical",
748
- "gap": "lg",
749
- "children": [
750
- {
751
- "type": "breadcrumb",
752
- "items": [
753
- {
754
- "label": "Home",
755
- "href": "/"
756
- },
757
- {
758
- "label": "Sensor Readings"
759
- }
760
- ]
761
- },
762
- {
763
- "type": "stack",
764
- "direction": "horizontal",
765
- "gap": "md",
766
- "justify": "space-between",
767
- "children": [
768
- {
769
- "type": "stack",
770
- "direction": "horizontal",
771
- "gap": "md",
772
- "children": [
773
- {
774
- "type": "icon",
775
- "name": "thermometer",
776
- "size": "lg"
777
- },
778
- {
779
- "type": "typography",
780
- "content": "Sensor Readings",
781
- "variant": "h2"
782
- }
783
- ]
784
- },
785
- {
786
- "type": "button",
787
- "label": "Refresh",
788
- "event": "REFRESH",
789
- "variant": "secondary",
790
- "icon": "refresh-cw"
791
- }
792
- ]
793
- },
794
- {
795
- "type": "divider"
796
- },
797
- {
798
- "type": "box",
799
- "padding": "md",
800
- "children": [
801
- {
802
- "type": "simple-grid",
803
- "columns": 3,
804
- "children": [
805
- {
806
- "type": "card",
807
- "children": [
808
- {
809
- "type": "stack",
810
- "direction": "vertical",
811
- "gap": "sm",
812
- "children": [
813
- {
814
- "type": "typography",
815
- "variant": "caption",
816
- "content": "SensorId"
817
- },
818
- {
819
- "type": "typography",
820
- "variant": "h3",
821
- "content": [
822
- "object/get",
823
- [
824
- "array/first",
825
- "@entity"
826
- ],
827
- "sensorId"
828
- ]
829
- }
830
- ]
831
- }
832
- ]
833
- },
834
- {
835
- "type": "stat-display",
836
- "label": "Value",
837
- "value": [
838
- "object/get",
839
- [
840
- "array/first",
841
- "@entity"
842
- ],
843
- "value"
844
- ]
845
- },
846
- {
847
- "type": "card",
848
- "children": [
849
- {
850
- "type": "stack",
851
- "direction": "vertical",
852
- "gap": "sm",
853
- "children": [
854
- {
855
- "type": "typography",
856
- "variant": "caption",
857
- "content": "Unit"
858
- },
859
- {
860
- "type": "typography",
861
- "variant": "h3",
862
- "content": [
863
- "object/get",
864
- [
865
- "array/first",
866
- "@entity"
867
- ],
868
- "unit"
869
- ]
870
- }
871
- ]
872
- }
873
- ]
874
- },
875
- {
876
- "type": "card",
877
- "children": [
878
- {
879
- "type": "stack",
880
- "direction": "vertical",
881
- "gap": "sm",
882
- "children": [
883
- {
884
- "type": "typography",
885
- "variant": "caption",
886
- "content": "Timestamp"
887
- },
888
- {
889
- "type": "typography",
890
- "variant": "h3",
891
- "content": [
892
- "object/get",
893
- [
894
- "array/first",
895
- "@entity"
896
- ],
897
- "timestamp"
898
- ]
899
- }
900
- ]
901
- }
902
- ]
903
- }
904
- ]
905
- }
906
- ]
907
- },
908
- {
909
- "type": "divider"
910
- },
911
- {
912
- "type": "grid",
913
- "columns": 2,
914
- "gap": "md",
915
- "children": [
916
- {
917
- "type": "card",
918
- "children": [
919
- {
920
- "type": "typography",
921
- "variant": "caption",
922
- "content": "Chart View"
923
- }
924
- ]
925
- },
926
- {
927
- "type": "card",
928
- "children": [
929
- {
930
- "type": "typography",
931
- "variant": "caption",
932
- "content": "Graph View"
933
- }
934
- ]
935
- }
936
- ]
937
- },
938
- {
939
- "type": "line-chart",
940
- "data": [
941
- {
942
- "date": "Jan",
943
- "value": 12
944
- },
945
- {
946
- "date": "Feb",
947
- "value": 19
948
- },
949
- {
950
- "date": "Mar",
951
- "value": 15
952
- },
953
- {
954
- "date": "Apr",
955
- "value": 25
956
- },
957
- {
958
- "date": "May",
959
- "value": 22
960
- },
961
- {
962
- "date": "Jun",
963
- "value": 30
964
- }
965
- ],
966
- "xKey": "date",
967
- "yKey": "value",
968
- "title": "Trend"
969
- },
970
- {
971
- "type": "chart-legend",
972
- "items": [
973
- {
974
- "label": "Current",
975
- "color": "primary"
976
- },
977
- {
978
- "label": "Previous",
979
- "color": "muted"
980
- }
981
- ]
982
- },
983
- {
984
- "type": "graph-view",
985
- "nodes": [
986
- {
987
- "id": "a",
988
- "label": "Start",
989
- "x": 50,
990
- "y": 100
991
- },
992
- {
993
- "id": "b",
994
- "label": "Process",
995
- "x": 200,
996
- "y": 50
997
- },
998
- {
999
- "id": "c",
1000
- "label": "End",
1001
- "x": 350,
1002
- "y": 100
1003
- }
1004
- ],
1005
- "edges": [
1006
- {
1007
- "from": "a",
1008
- "to": "b"
1009
- },
1010
- {
1011
- "from": "b",
1012
- "to": "c"
1013
- }
1014
- ],
1015
- "width": 400,
1016
- "height": 200
1017
- }
1018
- ]
1019
- }
1020
- ]
1021
- }
1022
- ]
1023
- }
1024
- ]
1025
- ]
1026
- },
1027
- {
1028
- "from": "displaying",
1029
- "to": "refreshing",
1030
- "event": "REFRESH",
1031
- "effects": [
1032
- [
1033
- "fetch",
1034
- "SensorReading"
1035
- ],
1036
- [
1037
- "render-ui",
1038
- "main",
1039
- {
1040
- "type": "dashboard-layout",
1041
- "appName": "IoT Dashboard",
1042
- "navItems": [
1043
- {
1044
- "label": "Sensors",
1045
- "href": "/sensors",
1046
- "icon": "layout-list"
1047
- },
1048
- {
1049
- "label": "Devices",
1050
- "href": "/devices",
1051
- "icon": "cpu"
1052
- },
1053
- {
1054
- "label": "Alerts",
1055
- "href": "/alerts",
1056
- "icon": "bell"
1057
- }
1058
- ],
1059
- "children": [
1060
- {
1061
- "type": "scaled-diagram",
1062
- "children": [
1063
- {
1064
- "type": "stack",
1065
- "direction": "vertical",
1066
- "gap": "lg",
1067
- "children": [
1068
- {
1069
- "type": "breadcrumb",
1070
- "items": [
1071
- {
1072
- "label": "Home",
1073
- "href": "/"
1074
- },
1075
- {
1076
- "label": "Sensor Readings"
1077
- }
1078
- ]
1079
- },
1080
- {
1081
- "type": "stack",
1082
- "direction": "horizontal",
1083
- "gap": "md",
1084
- "justify": "space-between",
1085
- "children": [
1086
- {
1087
- "type": "stack",
1088
- "direction": "horizontal",
1089
- "gap": "md",
1090
- "children": [
1091
- {
1092
- "type": "icon",
1093
- "name": "thermometer",
1094
- "size": "lg"
1095
- },
1096
- {
1097
- "type": "typography",
1098
- "content": "Sensor Readings",
1099
- "variant": "h2"
1100
- }
1101
- ]
1102
- },
1103
- {
1104
- "type": "button",
1105
- "label": "Refresh",
1106
- "event": "REFRESH",
1107
- "variant": "secondary",
1108
- "icon": "refresh-cw"
1109
- }
1110
- ]
1111
- },
1112
- {
1113
- "type": "divider"
1114
- },
1115
- {
1116
- "type": "box",
1117
- "padding": "md",
1118
- "children": [
1119
- {
1120
- "type": "simple-grid",
1121
- "columns": 3,
1122
- "children": [
1123
- {
1124
- "type": "card",
1125
- "children": [
1126
- {
1127
- "type": "stack",
1128
- "direction": "vertical",
1129
- "gap": "sm",
1130
- "children": [
1131
- {
1132
- "type": "typography",
1133
- "variant": "caption",
1134
- "content": "SensorId"
1135
- },
1136
- {
1137
- "type": "typography",
1138
- "variant": "h3",
1139
- "content": [
1140
- "object/get",
1141
- [
1142
- "array/first",
1143
- "@entity"
1144
- ],
1145
- "sensorId"
1146
- ]
1147
- }
1148
- ]
1149
- }
1150
- ]
1151
- },
1152
- {
1153
- "type": "stat-display",
1154
- "label": "Value",
1155
- "value": [
1156
- "object/get",
1157
- [
1158
- "array/first",
1159
- "@entity"
1160
- ],
1161
- "value"
1162
- ]
1163
- },
1164
- {
1165
- "type": "card",
1166
- "children": [
1167
- {
1168
- "type": "stack",
1169
- "direction": "vertical",
1170
- "gap": "sm",
1171
- "children": [
1172
- {
1173
- "type": "typography",
1174
- "variant": "caption",
1175
- "content": "Unit"
1176
- },
1177
- {
1178
- "type": "typography",
1179
- "variant": "h3",
1180
- "content": [
1181
- "object/get",
1182
- [
1183
- "array/first",
1184
- "@entity"
1185
- ],
1186
- "unit"
1187
- ]
1188
- }
1189
- ]
1190
- }
1191
- ]
1192
- },
1193
- {
1194
- "type": "card",
1195
- "children": [
1196
- {
1197
- "type": "stack",
1198
- "direction": "vertical",
1199
- "gap": "sm",
1200
- "children": [
1201
- {
1202
- "type": "typography",
1203
- "variant": "caption",
1204
- "content": "Timestamp"
1205
- },
1206
- {
1207
- "type": "typography",
1208
- "variant": "h3",
1209
- "content": [
1210
- "object/get",
1211
- [
1212
- "array/first",
1213
- "@entity"
1214
- ],
1215
- "timestamp"
1216
- ]
1217
- }
1218
- ]
1219
- }
1220
- ]
1221
- }
1222
- ]
1223
- }
1224
- ]
1225
- },
1226
- {
1227
- "type": "divider"
1228
- },
1229
- {
1230
- "type": "grid",
1231
- "columns": 2,
1232
- "gap": "md",
1233
- "children": [
1234
- {
1235
- "type": "card",
1236
- "children": [
1237
- {
1238
- "type": "typography",
1239
- "variant": "caption",
1240
- "content": "Chart View"
1241
- }
1242
- ]
1243
- },
1244
- {
1245
- "type": "card",
1246
- "children": [
1247
- {
1248
- "type": "typography",
1249
- "variant": "caption",
1250
- "content": "Graph View"
1251
- }
1252
- ]
1253
- }
1254
- ]
1255
- },
1256
- {
1257
- "type": "line-chart",
1258
- "data": [
1259
- {
1260
- "date": "Jan",
1261
- "value": 12
1262
- },
1263
- {
1264
- "date": "Feb",
1265
- "value": 19
1266
- },
1267
- {
1268
- "date": "Mar",
1269
- "value": 15
1270
- },
1271
- {
1272
- "date": "Apr",
1273
- "value": 25
1274
- },
1275
- {
1276
- "date": "May",
1277
- "value": 22
1278
- },
1279
- {
1280
- "date": "Jun",
1281
- "value": 30
1282
- }
1283
- ],
1284
- "xKey": "date",
1285
- "yKey": "value",
1286
- "title": "Trend"
1287
- },
1288
- {
1289
- "type": "chart-legend",
1290
- "items": [
1291
- {
1292
- "label": "Current",
1293
- "color": "primary"
1294
- },
1295
- {
1296
- "label": "Previous",
1297
- "color": "muted"
1298
- }
1299
- ]
1300
- },
1301
- {
1302
- "type": "graph-view",
1303
- "nodes": [
1304
- {
1305
- "id": "a",
1306
- "label": "Start",
1307
- "x": 50,
1308
- "y": 100
1309
- },
1310
- {
1311
- "id": "b",
1312
- "label": "Process",
1313
- "x": 200,
1314
- "y": 50
1315
- },
1316
- {
1317
- "id": "c",
1318
- "label": "End",
1319
- "x": 350,
1320
- "y": 100
1321
- }
1322
- ],
1323
- "edges": [
1324
- {
1325
- "from": "a",
1326
- "to": "b"
1327
- },
1328
- {
1329
- "from": "b",
1330
- "to": "c"
1331
- }
1332
- ],
1333
- "width": 400,
1334
- "height": 200
1335
- }
1336
- ]
1337
- }
1338
- ]
1339
- }
1340
- ]
1341
- }
1342
- ]
1343
- ]
1344
- },
1345
- {
1346
- "from": "refreshing",
1347
- "to": "displaying",
1348
- "event": "REFRESHED",
1349
- "effects": [
1350
- [
1351
- "fetch",
1352
- "SensorReading"
1353
- ],
1354
- [
1355
- "render-ui",
1356
- "main",
1357
- {
1358
- "type": "dashboard-layout",
1359
- "appName": "IoT Dashboard",
1360
- "navItems": [
1361
- {
1362
- "label": "Sensors",
1363
- "href": "/sensors",
1364
- "icon": "layout-list"
1365
- },
1366
- {
1367
- "label": "Devices",
1368
- "href": "/devices",
1369
- "icon": "cpu"
1370
- },
1371
- {
1372
- "label": "Alerts",
1373
- "href": "/alerts",
1374
- "icon": "bell"
1375
- }
1376
- ],
1377
- "children": [
1378
- {
1379
- "type": "scaled-diagram",
1380
- "children": [
1381
- {
1382
- "type": "stack",
1383
- "direction": "vertical",
1384
- "gap": "lg",
1385
- "children": [
1386
- {
1387
- "type": "breadcrumb",
1388
- "items": [
1389
- {
1390
- "label": "Home",
1391
- "href": "/"
1392
- },
1393
- {
1394
- "label": "Sensor Readings"
1395
- }
1396
- ]
1397
- },
1398
- {
1399
- "type": "stack",
1400
- "direction": "horizontal",
1401
- "gap": "md",
1402
- "justify": "space-between",
1403
- "children": [
1404
- {
1405
- "type": "stack",
1406
- "direction": "horizontal",
1407
- "gap": "md",
1408
- "children": [
1409
- {
1410
- "type": "icon",
1411
- "name": "thermometer",
1412
- "size": "lg"
1413
- },
1414
- {
1415
- "type": "typography",
1416
- "content": "Sensor Readings",
1417
- "variant": "h2"
1418
- }
1419
- ]
1420
- },
1421
- {
1422
- "type": "button",
1423
- "label": "Refresh",
1424
- "event": "REFRESH",
1425
- "variant": "secondary",
1426
- "icon": "refresh-cw"
1427
- }
1428
- ]
1429
- },
1430
- {
1431
- "type": "divider"
1432
- },
1433
- {
1434
- "type": "box",
1435
- "padding": "md",
1436
- "children": [
1437
- {
1438
- "type": "simple-grid",
1439
- "columns": 3,
1440
- "children": [
1441
- {
1442
- "type": "card",
1443
- "children": [
1444
- {
1445
- "type": "stack",
1446
- "direction": "vertical",
1447
- "gap": "sm",
1448
- "children": [
1449
- {
1450
- "type": "typography",
1451
- "variant": "caption",
1452
- "content": "SensorId"
1453
- },
1454
- {
1455
- "type": "typography",
1456
- "variant": "h3",
1457
- "content": [
1458
- "object/get",
1459
- [
1460
- "array/first",
1461
- "@entity"
1462
- ],
1463
- "sensorId"
1464
- ]
1465
- }
1466
- ]
1467
- }
1468
- ]
1469
- },
1470
- {
1471
- "type": "stat-display",
1472
- "label": "Value",
1473
- "value": [
1474
- "object/get",
1475
- [
1476
- "array/first",
1477
- "@entity"
1478
- ],
1479
- "value"
1480
- ]
1481
- },
1482
- {
1483
- "type": "card",
1484
- "children": [
1485
- {
1486
- "type": "stack",
1487
- "direction": "vertical",
1488
- "gap": "sm",
1489
- "children": [
1490
- {
1491
- "type": "typography",
1492
- "variant": "caption",
1493
- "content": "Unit"
1494
- },
1495
- {
1496
- "type": "typography",
1497
- "variant": "h3",
1498
- "content": [
1499
- "object/get",
1500
- [
1501
- "array/first",
1502
- "@entity"
1503
- ],
1504
- "unit"
1505
- ]
1506
- }
1507
- ]
1508
- }
1509
- ]
1510
- },
1511
- {
1512
- "type": "card",
1513
- "children": [
1514
- {
1515
- "type": "stack",
1516
- "direction": "vertical",
1517
- "gap": "sm",
1518
- "children": [
1519
- {
1520
- "type": "typography",
1521
- "variant": "caption",
1522
- "content": "Timestamp"
1523
- },
1524
- {
1525
- "type": "typography",
1526
- "variant": "h3",
1527
- "content": [
1528
- "object/get",
1529
- [
1530
- "array/first",
1531
- "@entity"
1532
- ],
1533
- "timestamp"
1534
- ]
1535
- }
1536
- ]
1537
- }
1538
- ]
1539
- }
1540
- ]
1541
- }
1542
- ]
1543
- },
1544
- {
1545
- "type": "divider"
1546
- },
1547
- {
1548
- "type": "grid",
1549
- "columns": 2,
1550
- "gap": "md",
1551
- "children": [
1552
- {
1553
- "type": "card",
1554
- "children": [
1555
- {
1556
- "type": "typography",
1557
- "variant": "caption",
1558
- "content": "Chart View"
1559
- }
1560
- ]
1561
- },
1562
- {
1563
- "type": "card",
1564
- "children": [
1565
- {
1566
- "type": "typography",
1567
- "variant": "caption",
1568
- "content": "Graph View"
1569
- }
1570
- ]
1571
- }
1572
- ]
1573
- },
1574
- {
1575
- "type": "line-chart",
1576
- "data": [
1577
- {
1578
- "date": "Jan",
1579
- "value": 12
1580
- },
1581
- {
1582
- "date": "Feb",
1583
- "value": 19
1584
- },
1585
- {
1586
- "date": "Mar",
1587
- "value": 15
1588
- },
1589
- {
1590
- "date": "Apr",
1591
- "value": 25
1592
- },
1593
- {
1594
- "date": "May",
1595
- "value": 22
1596
- },
1597
- {
1598
- "date": "Jun",
1599
- "value": 30
1600
- }
1601
- ],
1602
- "xKey": "date",
1603
- "yKey": "value",
1604
- "title": "Trend"
1605
- },
1606
- {
1607
- "type": "chart-legend",
1608
- "items": [
1609
- {
1610
- "label": "Current",
1611
- "color": "primary"
1612
- },
1613
- {
1614
- "label": "Previous",
1615
- "color": "muted"
1616
- }
1617
- ]
1618
- },
1619
- {
1620
- "type": "graph-view",
1621
- "nodes": [
1622
- {
1623
- "id": "a",
1624
- "label": "Start",
1625
- "x": 50,
1626
- "y": 100
1627
- },
1628
- {
1629
- "id": "b",
1630
- "label": "Process",
1631
- "x": 200,
1632
- "y": 50
1633
- },
1634
- {
1635
- "id": "c",
1636
- "label": "End",
1637
- "x": 350,
1638
- "y": 100
1639
- }
1640
- ],
1641
- "edges": [
1642
- {
1643
- "from": "a",
1644
- "to": "b"
1645
- },
1646
- {
1647
- "from": "b",
1648
- "to": "c"
1649
- }
1650
- ],
1651
- "width": 400,
1652
- "height": 200
1653
- }
1654
- ]
1655
- }
1656
- ]
1657
- }
1658
- ]
1659
- }
1660
- ]
1661
- ]
1662
- }
1663
- ]
1664
- }
1665
- }
1666
- ],
1667
- "pages": [
1668
- {
1669
- "name": "SensorsPage",
1670
- "path": "/sensors",
1671
- "isInitial": true,
1672
- "traits": [
1673
- {
1674
- "ref": "SensorReadingDisplay"
1675
- }
1676
- ]
1677
- }
1678
- ]
1679
- },
1680
- {
1681
- "name": "DeviceOrbital",
1682
- "entity": {
1683
- "name": "Device",
1684
- "persistence": "persistent",
1685
- "collection": "devices",
1686
- "fields": [
1687
- {
1688
- "name": "id",
1689
- "type": "string",
1690
- "required": true
1691
- },
1692
- {
1693
- "name": "name",
1694
- "type": "string",
1695
- "required": true
1696
- },
1697
- {
1698
- "name": "type",
1699
- "type": "string",
1700
- "required": true
1701
- },
1702
- {
1703
- "name": "status",
1704
- "type": "string",
1705
- "default": "offline",
1706
- "values": [
1707
- "online",
1708
- "offline",
1709
- "maintenance"
1710
- ]
1711
- },
1712
- {
1713
- "name": "lastSeen",
1714
- "type": "date"
1715
- },
1716
- {
1717
- "name": "pendingId",
1718
- "type": "string",
1719
- "default": ""
1720
- }
1721
- ]
1722
- },
1723
- "traits": [
1724
- {
1725
- "name": "DeviceBrowse",
1726
- "linkedEntity": "Device",
1727
- "category": "interaction",
1728
- "listens": [
1729
- {
1730
- "event": "DEVICE_CREATED",
1731
- "triggers": "INIT"
1732
- },
1733
- {
1734
- "event": "DEVICE_UPDATED",
1735
- "triggers": "INIT"
1736
- },
1737
- {
1738
- "event": "DEVICE_DELETED",
1739
- "triggers": "INIT"
1740
- }
1741
- ],
1742
- "stateMachine": {
1743
- "states": [
1744
- {
1745
- "name": "browsing",
1746
- "isInitial": true
1747
- }
1748
- ],
1749
- "events": [
1750
- {
1751
- "key": "INIT",
1752
- "name": "Initialize"
1753
- },
1754
- {
1755
- "key": "CREATE",
1756
- "name": "CREATE"
1757
- },
1758
- {
1759
- "key": "VIEW",
1760
- "name": "VIEW",
1761
- "payload": [
1762
- {
1763
- "name": "id",
1764
- "type": "string",
1765
- "required": true
1766
- },
1767
- {
1768
- "name": "row",
1769
- "type": "object"
1770
- }
1771
- ]
1772
- },
1773
- {
1774
- "key": "EDIT",
1775
- "name": "EDIT",
1776
- "payload": [
1777
- {
1778
- "name": "id",
1779
- "type": "string",
1780
- "required": true
1781
- },
1782
- {
1783
- "name": "row",
1784
- "type": "object"
1785
- }
1786
- ]
1787
- },
1788
- {
1789
- "key": "DELETE",
1790
- "name": "DELETE",
1791
- "payload": [
1792
- {
1793
- "name": "id",
1794
- "type": "string",
1795
- "required": true
1796
- },
1797
- {
1798
- "name": "row",
1799
- "type": "object"
1800
- }
1801
- ]
1802
- }
1803
- ],
1804
- "transitions": [
1805
- {
1806
- "from": "browsing",
1807
- "to": "browsing",
1808
- "event": "INIT",
1809
- "effects": [
1810
- [
1811
- "ref",
1812
- "Device"
1813
- ],
1814
- [
1815
- "render-ui",
1816
- "main",
1817
- {
1818
- "type": "dashboard-layout",
1819
- "appName": "IoT Dashboard",
1820
- "navItems": [
1821
- {
1822
- "label": "Sensors",
1823
- "href": "/sensors",
1824
- "icon": "layout-list"
1825
- },
1826
- {
1827
- "label": "Devices",
1828
- "href": "/devices",
1829
- "icon": "cpu"
1830
- },
1831
- {
1832
- "label": "Alerts",
1833
- "href": "/alerts",
1834
- "icon": "bell"
1835
- }
1836
- ],
1837
- "children": [
1838
- {
1839
- "type": "stack",
1840
- "direction": "vertical",
1841
- "gap": "lg",
1842
- "className": "max-w-5xl mx-auto w-full",
1843
- "children": [
1844
- {
1845
- "type": "stack",
1846
- "direction": "horizontal",
1847
- "gap": "md",
1848
- "justify": "space-between",
1849
- "align": "center",
1850
- "children": [
1851
- {
1852
- "type": "stack",
1853
- "direction": "horizontal",
1854
- "gap": "sm",
1855
- "align": "center",
1856
- "children": [
1857
- {
1858
- "type": "icon",
1859
- "name": "cpu",
1860
- "size": "lg"
1861
- },
1862
- {
1863
- "type": "typography",
1864
- "content": "Devices",
1865
- "variant": "h2"
1866
- }
1867
- ]
1868
- },
1869
- {
1870
- "type": "stack",
1871
- "direction": "horizontal",
1872
- "gap": "sm",
1873
- "children": [
1874
- {
1875
- "type": "button",
1876
- "label": "Create Device",
1877
- "event": "CREATE",
1878
- "variant": "primary",
1879
- "icon": "plus"
1880
- }
1881
- ]
1882
- }
1883
- ]
1884
- },
1885
- {
1886
- "type": "divider"
1887
- },
1888
- {
1889
- "type": "data-grid",
1890
- "entity": "Device",
1891
- "emptyIcon": "inbox",
1892
- "emptyTitle": "No devices registered",
1893
- "emptyDescription": "Connect a device to start monitoring.",
1894
- "itemActions": [
1895
- {
1896
- "label": "View",
1897
- "event": "VIEW",
1898
- "variant": "ghost",
1899
- "size": "sm"
1900
- },
1901
- {
1902
- "label": "Edit",
1903
- "event": "EDIT",
1904
- "variant": "ghost",
1905
- "size": "sm"
1906
- },
1907
- {
1908
- "label": "Delete",
1909
- "event": "DELETE",
1910
- "variant": "danger",
1911
- "size": "sm"
1912
- }
1913
- ],
1914
- "columns": [
1915
- {
1916
- "name": "name",
1917
- "variant": "h3",
1918
- "icon": "cpu"
1919
- },
1920
- {
1921
- "name": "status",
1922
- "variant": "badge"
1923
- },
1924
- {
1925
- "name": "type",
1926
- "variant": "body"
1927
- },
1928
- {
1929
- "name": "lastSeen",
1930
- "label": "Last Seen",
1931
- "variant": "caption",
1932
- "format": "date"
1933
- }
1934
- ],
1935
- "cols": 3,
1936
- "gap": "md"
1937
- }
1938
- ]
1939
- }
1940
- ]
1941
- }
1942
- ]
1943
- ]
1944
- }
1945
- ]
1946
- }
1947
- },
1948
- {
1949
- "name": "DeviceCreate",
1950
- "linkedEntity": "Device",
1951
- "category": "interaction",
1952
- "emits": [
1953
- {
1954
- "event": "SAVE"
1955
- },
1956
- {
1957
- "event": "DEVICE_CREATED"
1958
- }
1959
- ],
1960
- "stateMachine": {
1961
- "states": [
1962
- {
1963
- "name": "closed",
1964
- "isInitial": true
1965
- },
1966
- {
1967
- "name": "open"
1968
- }
1969
- ],
1970
- "events": [
1971
- {
1972
- "key": "INIT",
1973
- "name": "Initialize"
1974
- },
1975
- {
1976
- "key": "CREATE",
1977
- "name": "Open"
1978
- },
1979
- {
1980
- "key": "CLOSE",
1981
- "name": "Close"
1982
- },
1983
- {
1984
- "key": "SAVE",
1985
- "name": "Save",
1986
- "payload": [
1987
- {
1988
- "name": "data",
1989
- "type": "object",
1990
- "required": true
1991
- }
1992
- ]
1993
- }
1994
- ],
1995
- "transitions": [
1996
- {
1997
- "from": "closed",
1998
- "to": "closed",
1999
- "event": "INIT",
2000
- "effects": [
2001
- [
2002
- "ref",
2003
- "Device"
2004
- ]
2005
- ]
2006
- },
2007
- {
2008
- "from": "closed",
2009
- "to": "open",
2010
- "event": "CREATE",
2011
- "effects": [
2012
- [
2013
- "fetch",
2014
- "Device"
2015
- ],
2016
- [
2017
- "render-ui",
2018
- "modal",
2019
- {
2020
- "type": "stack",
2021
- "direction": "vertical",
2022
- "gap": "md",
2023
- "children": [
2024
- {
2025
- "type": "stack",
2026
- "direction": "horizontal",
2027
- "gap": "sm",
2028
- "children": [
2029
- {
2030
- "type": "icon",
2031
- "name": "plus-circle",
2032
- "size": "md"
2033
- },
2034
- {
2035
- "type": "typography",
2036
- "content": "Create Device",
2037
- "variant": "h3"
2038
- }
2039
- ]
2040
- },
2041
- {
2042
- "type": "divider"
2043
- },
2044
- {
2045
- "type": "form-section",
2046
- "entity": "Device",
2047
- "mode": "create",
2048
- "submitEvent": "SAVE",
2049
- "cancelEvent": "CLOSE",
2050
- "fields": [
2051
- "name",
2052
- "type",
2053
- "status",
2054
- "lastSeen"
2055
- ]
2056
- }
2057
- ]
2058
- }
2059
- ]
2060
- ]
2061
- },
2062
- {
2063
- "from": "open",
2064
- "to": "closed",
2065
- "event": "CLOSE",
2066
- "effects": [
2067
- [
2068
- "render-ui",
2069
- "modal",
2070
- null
2071
- ],
2072
- [
2073
- "notify",
2074
- "Cancelled",
2075
- "info"
2076
- ]
2077
- ]
2078
- },
2079
- {
2080
- "from": "open",
2081
- "to": "closed",
2082
- "event": "SAVE",
2083
- "effects": [
2084
- [
2085
- "persist",
2086
- "create",
2087
- "Device",
2088
- "@payload.data"
2089
- ],
2090
- [
2091
- "render-ui",
2092
- "modal",
2093
- null
2094
- ],
2095
- [
2096
- "emit",
2097
- "DEVICE_CREATED"
2098
- ],
2099
- [
2100
- "notify",
2101
- "Device created successfully"
2102
- ]
2103
- ]
2104
- }
2105
- ]
2106
- }
2107
- },
2108
- {
2109
- "name": "DeviceEdit",
2110
- "linkedEntity": "Device",
2111
- "category": "interaction",
2112
- "emits": [
2113
- {
2114
- "event": "SAVE"
2115
- },
2116
- {
2117
- "event": "DEVICE_UPDATED"
2118
- }
2119
- ],
2120
- "stateMachine": {
2121
- "states": [
2122
- {
2123
- "name": "closed",
2124
- "isInitial": true
2125
- },
2126
- {
2127
- "name": "open"
2128
- }
2129
- ],
2130
- "events": [
2131
- {
2132
- "key": "INIT",
2133
- "name": "Initialize"
2134
- },
2135
- {
2136
- "key": "EDIT",
2137
- "name": "Open",
2138
- "payload": [
2139
- {
2140
- "name": "id",
2141
- "type": "string",
2142
- "required": true
2143
- }
2144
- ]
2145
- },
2146
- {
2147
- "key": "CLOSE",
2148
- "name": "Close"
2149
- },
2150
- {
2151
- "key": "SAVE",
2152
- "name": "Save",
2153
- "payload": [
2154
- {
2155
- "name": "data",
2156
- "type": "object",
2157
- "required": true
2158
- }
2159
- ]
2160
- }
2161
- ],
2162
- "transitions": [
2163
- {
2164
- "from": "closed",
2165
- "to": "closed",
2166
- "event": "INIT",
2167
- "effects": [
2168
- [
2169
- "ref",
2170
- "Device"
2171
- ]
2172
- ]
2173
- },
2174
- {
2175
- "from": "closed",
2176
- "to": "open",
2177
- "event": "EDIT",
2178
- "effects": [
2179
- [
2180
- "fetch",
2181
- "Device",
2182
- {
2183
- "id": "@payload.id"
2184
- }
2185
- ],
2186
- [
2187
- "render-ui",
2188
- "modal",
2189
- {
2190
- "type": "stack",
2191
- "direction": "vertical",
2192
- "gap": "md",
2193
- "children": [
2194
- {
2195
- "type": "stack",
2196
- "direction": "horizontal",
2197
- "gap": "sm",
2198
- "children": [
2199
- {
2200
- "type": "icon",
2201
- "name": "edit",
2202
- "size": "md"
2203
- },
2204
- {
2205
- "type": "typography",
2206
- "content": "Edit Device",
2207
- "variant": "h3"
2208
- }
2209
- ]
2210
- },
2211
- {
2212
- "type": "divider"
2213
- },
2214
- {
2215
- "type": "form-section",
2216
- "entity": "Device",
2217
- "mode": "edit",
2218
- "submitEvent": "SAVE",
2219
- "cancelEvent": "CLOSE",
2220
- "fields": [
2221
- "name",
2222
- "type",
2223
- "status",
2224
- "lastSeen"
2225
- ],
2226
- "entityId": "@entity.id"
2227
- }
2228
- ]
2229
- }
2230
- ]
2231
- ]
2232
- },
2233
- {
2234
- "from": "open",
2235
- "to": "closed",
2236
- "event": "CLOSE",
2237
- "effects": [
2238
- [
2239
- "render-ui",
2240
- "modal",
2241
- null
2242
- ],
2243
- [
2244
- "notify",
2245
- "Cancelled",
2246
- "info"
2247
- ]
2248
- ]
2249
- },
2250
- {
2251
- "from": "open",
2252
- "to": "closed",
2253
- "event": "SAVE",
2254
- "effects": [
2255
- [
2256
- "persist",
2257
- "update",
2258
- "Device",
2259
- "@payload.data"
2260
- ],
2261
- [
2262
- "render-ui",
2263
- "modal",
2264
- null
2265
- ],
2266
- [
2267
- "emit",
2268
- "DEVICE_UPDATED"
2269
- ],
2270
- [
2271
- "notify",
2272
- "Device updated successfully"
2273
- ]
2274
- ]
2275
- }
2276
- ]
2277
- }
2278
- },
2279
- {
2280
- "name": "DeviceView",
2281
- "linkedEntity": "Device",
2282
- "category": "interaction",
2283
- "emits": [
2284
- {
2285
- "event": "SAVE"
2286
- }
2287
- ],
2288
- "stateMachine": {
2289
- "states": [
2290
- {
2291
- "name": "closed",
2292
- "isInitial": true
2293
- },
2294
- {
2295
- "name": "open"
2296
- }
2297
- ],
2298
- "events": [
2299
- {
2300
- "key": "INIT",
2301
- "name": "Initialize"
2302
- },
2303
- {
2304
- "key": "VIEW",
2305
- "name": "Open",
2306
- "payload": [
2307
- {
2308
- "name": "id",
2309
- "type": "string",
2310
- "required": true
2311
- }
2312
- ]
2313
- },
2314
- {
2315
- "key": "CLOSE",
2316
- "name": "Close"
2317
- },
2318
- {
2319
- "key": "SAVE",
2320
- "name": "Save",
2321
- "payload": [
2322
- {
2323
- "name": "data",
2324
- "type": "object",
2325
- "required": true
2326
- }
2327
- ]
2328
- }
2329
- ],
2330
- "transitions": [
2331
- {
2332
- "from": "closed",
2333
- "to": "closed",
2334
- "event": "INIT",
2335
- "effects": [
2336
- [
2337
- "ref",
2338
- "Device"
2339
- ]
2340
- ]
2341
- },
2342
- {
2343
- "from": "closed",
2344
- "to": "open",
2345
- "event": "VIEW",
2346
- "effects": [
2347
- [
2348
- "fetch",
2349
- "Device",
2350
- {
2351
- "id": "@payload.id"
2352
- }
2353
- ],
2354
- [
2355
- "render-ui",
2356
- "modal",
2357
- {
2358
- "type": "stack",
2359
- "direction": "vertical",
2360
- "gap": "md",
2361
- "children": [
2362
- {
2363
- "type": "stack",
2364
- "direction": "horizontal",
2365
- "gap": "sm",
2366
- "align": "center",
2367
- "children": [
2368
- {
2369
- "type": "icon",
2370
- "name": "eye",
2371
- "size": "md"
2372
- },
2373
- {
2374
- "type": "typography",
2375
- "variant": "h3",
2376
- "content": "@entity.name"
2377
- }
2378
- ]
2379
- },
2380
- {
2381
- "type": "divider"
2382
- },
2383
- {
2384
- "type": "stack",
2385
- "direction": "horizontal",
2386
- "gap": "md",
2387
- "children": [
2388
- {
2389
- "type": "typography",
2390
- "variant": "caption",
2391
- "content": "Name"
2392
- },
2393
- {
2394
- "type": "typography",
2395
- "variant": "body",
2396
- "content": "@entity.name"
2397
- }
2398
- ]
2399
- },
2400
- {
2401
- "type": "stack",
2402
- "direction": "horizontal",
2403
- "gap": "md",
2404
- "children": [
2405
- {
2406
- "type": "typography",
2407
- "variant": "caption",
2408
- "content": "Type"
2409
- },
2410
- {
2411
- "type": "typography",
2412
- "variant": "body",
2413
- "content": "@entity.type"
2414
- }
2415
- ]
2416
- },
2417
- {
2418
- "type": "stack",
2419
- "direction": "horizontal",
2420
- "gap": "md",
2421
- "children": [
2422
- {
2423
- "type": "typography",
2424
- "variant": "caption",
2425
- "content": "Status"
2426
- },
2427
- {
2428
- "type": "typography",
2429
- "variant": "body",
2430
- "content": "@entity.status"
2431
- }
2432
- ]
2433
- },
2434
- {
2435
- "type": "stack",
2436
- "direction": "horizontal",
2437
- "gap": "md",
2438
- "children": [
2439
- {
2440
- "type": "typography",
2441
- "variant": "caption",
2442
- "content": "Last Seen"
2443
- },
2444
- {
2445
- "type": "typography",
2446
- "variant": "body",
2447
- "content": "@entity.lastSeen"
2448
- }
2449
- ]
2450
- },
2451
- {
2452
- "type": "divider"
2453
- },
2454
- {
2455
- "type": "stack",
2456
- "direction": "horizontal",
2457
- "gap": "sm",
2458
- "justify": "end",
2459
- "children": [
2460
- {
2461
- "type": "button",
2462
- "label": "Edit",
2463
- "event": "EDIT",
2464
- "variant": "primary",
2465
- "icon": "edit"
2466
- },
2467
- {
2468
- "type": "button",
2469
- "label": "Close",
2470
- "event": "CLOSE",
2471
- "variant": "ghost"
2472
- }
2473
- ]
2474
- }
2475
- ]
2476
- }
2477
- ]
2478
- ]
2479
- },
2480
- {
2481
- "from": "open",
2482
- "to": "closed",
2483
- "event": "CLOSE",
2484
- "effects": [
2485
- [
2486
- "render-ui",
2487
- "modal",
2488
- null
2489
- ],
2490
- [
2491
- "notify",
2492
- "Cancelled",
2493
- "info"
2494
- ]
2495
- ]
2496
- },
2497
- {
2498
- "from": "open",
2499
- "to": "closed",
2500
- "event": "SAVE",
2501
- "effects": [
2502
- [
2503
- "render-ui",
2504
- "modal",
2505
- null
2506
- ]
2507
- ]
2508
- }
2509
- ]
2510
- }
2511
- },
2512
- {
2513
- "name": "DeviceDelete",
2514
- "linkedEntity": "Device",
2515
- "category": "interaction",
2516
- "emits": [
2517
- {
2518
- "event": "CONFIRM_DELETE"
2519
- },
2520
- {
2521
- "event": "DEVICE_DELETED"
2522
- }
2523
- ],
2524
- "stateMachine": {
2525
- "states": [
2526
- {
2527
- "name": "idle",
2528
- "isInitial": true
2529
- },
2530
- {
2531
- "name": "confirming"
2532
- }
2533
- ],
2534
- "events": [
2535
- {
2536
- "key": "INIT",
2537
- "name": "Initialize"
2538
- },
2539
- {
2540
- "key": "DELETE",
2541
- "name": "Request Confirmation",
2542
- "payload": [
2543
- {
2544
- "name": "id",
2545
- "type": "string",
2546
- "required": true
2547
- }
2548
- ]
2549
- },
2550
- {
2551
- "key": "CONFIRM_DELETE",
2552
- "name": "Confirm"
2553
- },
2554
- {
2555
- "key": "CANCEL",
2556
- "name": "Cancel"
2557
- },
2558
- {
2559
- "key": "CLOSE",
2560
- "name": "Close"
2561
- }
2562
- ],
2563
- "transitions": [
2564
- {
2565
- "from": "idle",
2566
- "to": "idle",
2567
- "event": "INIT",
2568
- "effects": [
2569
- [
2570
- "ref",
2571
- "Device"
2572
- ]
2573
- ]
2574
- },
2575
- {
2576
- "from": "idle",
2577
- "to": "confirming",
2578
- "event": "DELETE",
2579
- "effects": [
2580
- [
2581
- "set",
2582
- "@entity.pendingId",
2583
- "@payload.id"
2584
- ],
2585
- [
2586
- "fetch",
2587
- "Device",
2588
- {
2589
- "id": "@payload.id"
2590
- }
2591
- ],
2592
- [
2593
- "render-ui",
2594
- "modal",
2595
- {
2596
- "type": "stack",
2597
- "direction": "vertical",
2598
- "gap": "md",
2599
- "children": [
2600
- {
2601
- "type": "stack",
2602
- "direction": "horizontal",
2603
- "gap": "sm",
2604
- "align": "center",
2605
- "children": [
2606
- {
2607
- "type": "icon",
2608
- "name": "alert-triangle",
2609
- "size": "md"
2610
- },
2611
- {
2612
- "type": "typography",
2613
- "content": "Delete Device",
2614
- "variant": "h3"
2615
- }
2616
- ]
2617
- },
2618
- {
2619
- "type": "divider"
2620
- },
2621
- {
2622
- "type": "alert",
2623
- "variant": "danger",
2624
- "message": "This action cannot be undone."
2625
- },
2626
- {
2627
- "type": "stack",
2628
- "direction": "horizontal",
2629
- "gap": "sm",
2630
- "justify": "end",
2631
- "children": [
2632
- {
2633
- "type": "button",
2634
- "label": "Cancel",
2635
- "event": "CANCEL",
2636
- "variant": "ghost"
2637
- },
2638
- {
2639
- "type": "button",
2640
- "label": "Delete",
2641
- "event": "CONFIRM_DELETE",
2642
- "variant": "danger",
2643
- "icon": "check"
2644
- }
2645
- ]
2646
- }
2647
- ]
2648
- }
2649
- ]
2650
- ]
2651
- },
2652
- {
2653
- "from": "confirming",
2654
- "to": "idle",
2655
- "event": "CONFIRM_DELETE",
2656
- "effects": [
2657
- [
2658
- "persist",
2659
- "delete",
2660
- "Device",
2661
- "@entity.pendingId"
2662
- ],
2663
- [
2664
- "render-ui",
2665
- "modal",
2666
- null
2667
- ],
2668
- [
2669
- "ref",
2670
- "Device"
2671
- ],
2672
- [
2673
- "emit",
2674
- "DEVICE_DELETED"
2675
- ],
2676
- [
2677
- "notify",
2678
- "Device deleted successfully"
2679
- ]
2680
- ]
2681
- },
2682
- {
2683
- "from": "confirming",
2684
- "to": "idle",
2685
- "event": "CANCEL",
2686
- "effects": [
2687
- [
2688
- "render-ui",
2689
- "modal",
2690
- null
2691
- ],
2692
- [
2693
- "ref",
2694
- "Device"
2695
- ]
2696
- ]
2697
- },
2698
- {
2699
- "from": "confirming",
2700
- "to": "idle",
2701
- "event": "CLOSE",
2702
- "effects": [
2703
- [
2704
- "render-ui",
2705
- "modal",
2706
- null
2707
- ],
2708
- [
2709
- "ref",
2710
- "Device"
2711
- ]
2712
- ]
2713
- }
2714
- ]
2715
- }
2716
- }
2717
- ],
2718
- "pages": [
2719
- {
2720
- "name": "DevicesPage",
2721
- "path": "/devices",
2722
- "traits": [
2723
- {
2724
- "ref": "DeviceBrowse"
2725
- },
2726
- {
2727
- "ref": "DeviceCreate"
2728
- },
2729
- {
2730
- "ref": "DeviceEdit"
2731
- },
2732
- {
2733
- "ref": "DeviceView"
2734
- },
2735
- {
2736
- "ref": "DeviceDelete"
2737
- }
2738
- ]
2739
- }
2740
- ]
2741
- },
2742
- {
2743
- "name": "DeviceAlertOrbital",
2744
- "entity": {
2745
- "name": "DeviceAlert",
2746
- "persistence": "runtime",
2747
- "fields": [
2748
- {
2749
- "name": "id",
2750
- "type": "string",
2751
- "required": true
2752
- },
2753
- {
2754
- "name": "deviceId",
2755
- "type": "string",
2756
- "required": true
2757
- },
2758
- {
2759
- "name": "severity",
2760
- "type": "string",
2761
- "required": true
2762
- },
2763
- {
2764
- "name": "message",
2765
- "type": "string"
2766
- },
2767
- {
2768
- "name": "acknowledged",
2769
- "type": "boolean",
2770
- "default": false
2771
- },
2772
- {
2773
- "name": "failureCount",
2774
- "type": "number",
2775
- "default": 0
2776
- },
2777
- {
2778
- "name": "successCount",
2779
- "type": "number",
2780
- "default": 0
2781
- },
2782
- {
2783
- "name": "threshold",
2784
- "type": "number",
2785
- "default": 5
2786
- }
2787
- ],
2788
- "instances": [
2789
- {
2790
- "id": "sn-1",
2791
- "name": "ServiceNode",
2792
- "description": "Primary API gateway",
2793
- "status": "active",
2794
- "createdAt": "2026-01-10",
2795
- "failureCount": 783,
2796
- "successCount": 603,
2797
- "threshold": 5
2798
- }
2799
- ]
2800
- },
2801
- "traits": [
2802
- {
2803
- "name": "DeviceAlertCircuitBreaker",
2804
- "linkedEntity": "DeviceAlert",
2805
- "category": "interaction",
2806
- "stateMachine": {
2807
- "states": [
2808
- {
2809
- "name": "closed",
2810
- "isInitial": true
2811
- },
2812
- {
2813
- "name": "open"
2814
- },
2815
- {
2816
- "name": "halfOpen"
2817
- }
2818
- ],
2819
- "events": [
2820
- {
2821
- "key": "INIT",
2822
- "name": "Initialize"
2823
- },
2824
- {
2825
- "key": "FAILURE",
2826
- "name": "Failure"
2827
- },
2828
- {
2829
- "key": "SUCCESS",
2830
- "name": "Success"
2831
- },
2832
- {
2833
- "key": "TIMEOUT",
2834
- "name": "Timeout"
2835
- },
2836
- {
2837
- "key": "RESET",
2838
- "name": "Reset"
2839
- }
2840
- ],
2841
- "transitions": [
2842
- {
2843
- "from": "closed",
2844
- "to": "closed",
2845
- "event": "INIT",
2846
- "effects": [
2847
- [
2848
- "fetch",
2849
- "DeviceAlert"
2850
- ],
2851
- [
2852
- "render-ui",
2853
- "main",
2854
- {
2855
- "type": "dashboard-layout",
2856
- "appName": "IoT Dashboard",
2857
- "navItems": [
2858
- {
2859
- "label": "Sensors",
2860
- "href": "/sensors",
2861
- "icon": "layout-list"
2862
- },
2863
- {
2864
- "label": "Devices",
2865
- "href": "/devices",
2866
- "icon": "cpu"
2867
- },
2868
- {
2869
- "label": "Alerts",
2870
- "href": "/alerts",
2871
- "icon": "bell"
2872
- }
2873
- ],
2874
- "children": [
2875
- {
2876
- "type": "stack",
2877
- "direction": "vertical",
2878
- "gap": "lg",
2879
- "children": [
2880
- {
2881
- "type": "stack",
2882
- "direction": "horizontal",
2883
- "gap": "md",
2884
- "align": "center",
2885
- "justify": "space-between",
2886
- "children": [
2887
- {
2888
- "type": "stack",
2889
- "direction": "horizontal",
2890
- "gap": "md",
2891
- "align": "center",
2892
- "children": [
2893
- {
2894
- "type": "icon",
2895
- "name": "bell",
2896
- "size": "lg"
2897
- },
2898
- {
2899
- "type": "typography",
2900
- "content": "DeviceAlert",
2901
- "variant": "h2"
2902
- }
2903
- ]
2904
- },
2905
- {
2906
- "type": "status-dot",
2907
- "status": "success",
2908
- "pulse": false,
2909
- "label": "Circuit Closed"
2910
- }
2911
- ]
2912
- },
2913
- {
2914
- "type": "divider"
2915
- },
2916
- {
2917
- "type": "alert",
2918
- "variant": "success",
2919
- "message": "Service is healthy. All requests are being processed."
2920
- },
2921
- {
2922
- "type": "simple-grid",
2923
- "columns": 2,
2924
- "children": [
2925
- {
2926
- "type": "stat-display",
2927
- "label": "Failures",
2928
- "value": [
2929
- "object/get",
2930
- [
2931
- "array/first",
2932
- "@entity"
2933
- ],
2934
- "failureCount"
2935
- ]
2936
- },
2937
- {
2938
- "type": "stat-display",
2939
- "label": "Successes",
2940
- "value": [
2941
- "object/get",
2942
- [
2943
- "array/first",
2944
- "@entity"
2945
- ],
2946
- "successCount"
2947
- ]
2948
- }
2949
- ]
2950
- },
2951
- {
2952
- "type": "meter",
2953
- "value": [
2954
- "object/get",
2955
- [
2956
- "array/first",
2957
- "@entity"
2958
- ],
2959
- "failureCount"
2960
- ],
2961
- "min": 0,
2962
- "max": [
2963
- "object/get",
2964
- [
2965
- "array/first",
2966
- "@entity"
2967
- ],
2968
- "threshold"
2969
- ]
2970
- }
2971
- ]
2972
- }
2973
- ]
2974
- }
2975
- ]
2976
- ]
2977
- },
2978
- {
2979
- "from": "closed",
2980
- "to": "open",
2981
- "event": "FAILURE",
2982
- "effects": [
2983
- [
2984
- "render-ui",
2985
- "main",
2986
- {
2987
- "type": "dashboard-layout",
2988
- "appName": "IoT Dashboard",
2989
- "navItems": [
2990
- {
2991
- "label": "Sensors",
2992
- "href": "/sensors",
2993
- "icon": "layout-list"
2994
- },
2995
- {
2996
- "label": "Devices",
2997
- "href": "/devices",
2998
- "icon": "cpu"
2999
- },
3000
- {
3001
- "label": "Alerts",
3002
- "href": "/alerts",
3003
- "icon": "bell"
3004
- }
3005
- ],
3006
- "children": [
3007
- {
3008
- "type": "stack",
3009
- "direction": "vertical",
3010
- "gap": "lg",
3011
- "children": [
3012
- {
3013
- "type": "stack",
3014
- "direction": "horizontal",
3015
- "gap": "md",
3016
- "align": "center",
3017
- "justify": "space-between",
3018
- "children": [
3019
- {
3020
- "type": "stack",
3021
- "direction": "horizontal",
3022
- "gap": "md",
3023
- "align": "center",
3024
- "children": [
3025
- {
3026
- "type": "icon",
3027
- "name": "alert-triangle",
3028
- "size": "lg"
3029
- },
3030
- {
3031
- "type": "typography",
3032
- "content": "DeviceAlert",
3033
- "variant": "h2"
3034
- }
3035
- ]
3036
- },
3037
- {
3038
- "type": "status-dot",
3039
- "status": "error",
3040
- "pulse": true,
3041
- "label": "Circuit Open"
3042
- }
3043
- ]
3044
- },
3045
- {
3046
- "type": "divider"
3047
- },
3048
- {
3049
- "type": "alert",
3050
- "variant": "danger",
3051
- "message": "Circuit is open. Requests are being rejected to prevent cascading failures."
3052
- },
3053
- {
3054
- "type": "simple-grid",
3055
- "columns": 2,
3056
- "children": [
3057
- {
3058
- "type": "stat-display",
3059
- "label": "Failures",
3060
- "value": [
3061
- "object/get",
3062
- [
3063
- "array/first",
3064
- "@entity"
3065
- ],
3066
- "failureCount"
3067
- ]
3068
- },
3069
- {
3070
- "type": "stat-display",
3071
- "label": "Successes",
3072
- "value": [
3073
- "object/get",
3074
- [
3075
- "array/first",
3076
- "@entity"
3077
- ],
3078
- "successCount"
3079
- ]
3080
- }
3081
- ]
3082
- },
3083
- {
3084
- "type": "meter",
3085
- "value": [
3086
- "object/get",
3087
- [
3088
- "array/first",
3089
- "@entity"
3090
- ],
3091
- "failureCount"
3092
- ],
3093
- "min": 0,
3094
- "max": [
3095
- "object/get",
3096
- [
3097
- "array/first",
3098
- "@entity"
3099
- ],
3100
- "threshold"
3101
- ]
3102
- },
3103
- {
3104
- "type": "button",
3105
- "label": "Reset",
3106
- "event": "RESET",
3107
- "variant": "ghost",
3108
- "icon": "rotate-ccw"
3109
- }
3110
- ]
3111
- }
3112
- ]
3113
- }
3114
- ]
3115
- ]
3116
- },
3117
- {
3118
- "from": "closed",
3119
- "to": "closed",
3120
- "event": "SUCCESS",
3121
- "effects": [
3122
- [
3123
- "render-ui",
3124
- "main",
3125
- {
3126
- "type": "dashboard-layout",
3127
- "appName": "IoT Dashboard",
3128
- "navItems": [
3129
- {
3130
- "label": "Sensors",
3131
- "href": "/sensors",
3132
- "icon": "layout-list"
3133
- },
3134
- {
3135
- "label": "Devices",
3136
- "href": "/devices",
3137
- "icon": "cpu"
3138
- },
3139
- {
3140
- "label": "Alerts",
3141
- "href": "/alerts",
3142
- "icon": "bell"
3143
- }
3144
- ],
3145
- "children": [
3146
- {
3147
- "type": "stack",
3148
- "direction": "vertical",
3149
- "gap": "lg",
3150
- "children": [
3151
- {
3152
- "type": "stack",
3153
- "direction": "horizontal",
3154
- "gap": "md",
3155
- "align": "center",
3156
- "justify": "space-between",
3157
- "children": [
3158
- {
3159
- "type": "stack",
3160
- "direction": "horizontal",
3161
- "gap": "md",
3162
- "align": "center",
3163
- "children": [
3164
- {
3165
- "type": "icon",
3166
- "name": "bell",
3167
- "size": "lg"
3168
- },
3169
- {
3170
- "type": "typography",
3171
- "content": "DeviceAlert",
3172
- "variant": "h2"
3173
- }
3174
- ]
3175
- },
3176
- {
3177
- "type": "status-dot",
3178
- "status": "success",
3179
- "pulse": false,
3180
- "label": "Circuit Closed"
3181
- }
3182
- ]
3183
- },
3184
- {
3185
- "type": "divider"
3186
- },
3187
- {
3188
- "type": "alert",
3189
- "variant": "success",
3190
- "message": "Service is healthy. All requests are being processed."
3191
- },
3192
- {
3193
- "type": "simple-grid",
3194
- "columns": 2,
3195
- "children": [
3196
- {
3197
- "type": "stat-display",
3198
- "label": "Failures",
3199
- "value": [
3200
- "object/get",
3201
- [
3202
- "array/first",
3203
- "@entity"
3204
- ],
3205
- "failureCount"
3206
- ]
3207
- },
3208
- {
3209
- "type": "stat-display",
3210
- "label": "Successes",
3211
- "value": [
3212
- "object/get",
3213
- [
3214
- "array/first",
3215
- "@entity"
3216
- ],
3217
- "successCount"
3218
- ]
3219
- }
3220
- ]
3221
- },
3222
- {
3223
- "type": "meter",
3224
- "value": [
3225
- "object/get",
3226
- [
3227
- "array/first",
3228
- "@entity"
3229
- ],
3230
- "failureCount"
3231
- ],
3232
- "min": 0,
3233
- "max": [
3234
- "object/get",
3235
- [
3236
- "array/first",
3237
- "@entity"
3238
- ],
3239
- "threshold"
3240
- ]
3241
- }
3242
- ]
3243
- }
3244
- ]
3245
- }
3246
- ]
3247
- ]
3248
- },
3249
- {
3250
- "from": "open",
3251
- "to": "halfOpen",
3252
- "event": "TIMEOUT",
3253
- "effects": [
3254
- [
3255
- "render-ui",
3256
- "main",
3257
- {
3258
- "type": "dashboard-layout",
3259
- "appName": "IoT Dashboard",
3260
- "navItems": [
3261
- {
3262
- "label": "Sensors",
3263
- "href": "/sensors",
3264
- "icon": "layout-list"
3265
- },
3266
- {
3267
- "label": "Devices",
3268
- "href": "/devices",
3269
- "icon": "cpu"
3270
- },
3271
- {
3272
- "label": "Alerts",
3273
- "href": "/alerts",
3274
- "icon": "bell"
3275
- }
3276
- ],
3277
- "children": [
3278
- {
3279
- "type": "stack",
3280
- "direction": "vertical",
3281
- "gap": "lg",
3282
- "children": [
3283
- {
3284
- "type": "stack",
3285
- "direction": "horizontal",
3286
- "gap": "md",
3287
- "align": "center",
3288
- "justify": "space-between",
3289
- "children": [
3290
- {
3291
- "type": "stack",
3292
- "direction": "horizontal",
3293
- "gap": "md",
3294
- "align": "center",
3295
- "children": [
3296
- {
3297
- "type": "icon",
3298
- "name": "activity",
3299
- "size": "lg"
3300
- },
3301
- {
3302
- "type": "typography",
3303
- "content": "DeviceAlert",
3304
- "variant": "h2"
3305
- }
3306
- ]
3307
- },
3308
- {
3309
- "type": "status-dot",
3310
- "status": "warning",
3311
- "pulse": true,
3312
- "label": "Circuit Half-Open"
3313
- }
3314
- ]
3315
- },
3316
- {
3317
- "type": "divider"
3318
- },
3319
- {
3320
- "type": "alert",
3321
- "variant": "warning",
3322
- "message": "Testing recovery. Limited requests are being allowed through."
3323
- },
3324
- {
3325
- "type": "simple-grid",
3326
- "columns": 2,
3327
- "children": [
3328
- {
3329
- "type": "stat-display",
3330
- "label": "Failures",
3331
- "value": [
3332
- "object/get",
3333
- [
3334
- "array/first",
3335
- "@entity"
3336
- ],
3337
- "failureCount"
3338
- ]
3339
- },
3340
- {
3341
- "type": "stat-display",
3342
- "label": "Successes",
3343
- "value": [
3344
- "object/get",
3345
- [
3346
- "array/first",
3347
- "@entity"
3348
- ],
3349
- "successCount"
3350
- ]
3351
- }
3352
- ]
3353
- }
3354
- ]
3355
- }
3356
- ]
3357
- }
3358
- ]
3359
- ]
3360
- },
3361
- {
3362
- "from": "open",
3363
- "to": "closed",
3364
- "event": "RESET",
3365
- "effects": [
3366
- [
3367
- "render-ui",
3368
- "main",
3369
- {
3370
- "type": "dashboard-layout",
3371
- "appName": "IoT Dashboard",
3372
- "navItems": [
3373
- {
3374
- "label": "Sensors",
3375
- "href": "/sensors",
3376
- "icon": "layout-list"
3377
- },
3378
- {
3379
- "label": "Devices",
3380
- "href": "/devices",
3381
- "icon": "cpu"
3382
- },
3383
- {
3384
- "label": "Alerts",
3385
- "href": "/alerts",
3386
- "icon": "bell"
3387
- }
3388
- ],
3389
- "children": [
3390
- {
3391
- "type": "stack",
3392
- "direction": "vertical",
3393
- "gap": "lg",
3394
- "children": [
3395
- {
3396
- "type": "stack",
3397
- "direction": "horizontal",
3398
- "gap": "md",
3399
- "align": "center",
3400
- "justify": "space-between",
3401
- "children": [
3402
- {
3403
- "type": "stack",
3404
- "direction": "horizontal",
3405
- "gap": "md",
3406
- "align": "center",
3407
- "children": [
3408
- {
3409
- "type": "icon",
3410
- "name": "bell",
3411
- "size": "lg"
3412
- },
3413
- {
3414
- "type": "typography",
3415
- "content": "DeviceAlert",
3416
- "variant": "h2"
3417
- }
3418
- ]
3419
- },
3420
- {
3421
- "type": "status-dot",
3422
- "status": "success",
3423
- "pulse": false,
3424
- "label": "Circuit Closed"
3425
- }
3426
- ]
3427
- },
3428
- {
3429
- "type": "divider"
3430
- },
3431
- {
3432
- "type": "alert",
3433
- "variant": "success",
3434
- "message": "Service is healthy. All requests are being processed."
3435
- },
3436
- {
3437
- "type": "simple-grid",
3438
- "columns": 2,
3439
- "children": [
3440
- {
3441
- "type": "stat-display",
3442
- "label": "Failures",
3443
- "value": [
3444
- "object/get",
3445
- [
3446
- "array/first",
3447
- "@entity"
3448
- ],
3449
- "failureCount"
3450
- ]
3451
- },
3452
- {
3453
- "type": "stat-display",
3454
- "label": "Successes",
3455
- "value": [
3456
- "object/get",
3457
- [
3458
- "array/first",
3459
- "@entity"
3460
- ],
3461
- "successCount"
3462
- ]
3463
- }
3464
- ]
3465
- },
3466
- {
3467
- "type": "meter",
3468
- "value": [
3469
- "object/get",
3470
- [
3471
- "array/first",
3472
- "@entity"
3473
- ],
3474
- "failureCount"
3475
- ],
3476
- "min": 0,
3477
- "max": [
3478
- "object/get",
3479
- [
3480
- "array/first",
3481
- "@entity"
3482
- ],
3483
- "threshold"
3484
- ]
3485
- }
3486
- ]
3487
- }
3488
- ]
3489
- }
3490
- ]
3491
- ]
3492
- },
3493
- {
3494
- "from": "halfOpen",
3495
- "to": "closed",
3496
- "event": "SUCCESS",
3497
- "effects": [
3498
- [
3499
- "render-ui",
3500
- "main",
3501
- {
3502
- "type": "dashboard-layout",
3503
- "appName": "IoT Dashboard",
3504
- "navItems": [
3505
- {
3506
- "label": "Sensors",
3507
- "href": "/sensors",
3508
- "icon": "layout-list"
3509
- },
3510
- {
3511
- "label": "Devices",
3512
- "href": "/devices",
3513
- "icon": "cpu"
3514
- },
3515
- {
3516
- "label": "Alerts",
3517
- "href": "/alerts",
3518
- "icon": "bell"
3519
- }
3520
- ],
3521
- "children": [
3522
- {
3523
- "type": "stack",
3524
- "direction": "vertical",
3525
- "gap": "lg",
3526
- "children": [
3527
- {
3528
- "type": "stack",
3529
- "direction": "horizontal",
3530
- "gap": "md",
3531
- "align": "center",
3532
- "justify": "space-between",
3533
- "children": [
3534
- {
3535
- "type": "stack",
3536
- "direction": "horizontal",
3537
- "gap": "md",
3538
- "align": "center",
3539
- "children": [
3540
- {
3541
- "type": "icon",
3542
- "name": "bell",
3543
- "size": "lg"
3544
- },
3545
- {
3546
- "type": "typography",
3547
- "content": "DeviceAlert",
3548
- "variant": "h2"
3549
- }
3550
- ]
3551
- },
3552
- {
3553
- "type": "status-dot",
3554
- "status": "success",
3555
- "pulse": false,
3556
- "label": "Circuit Closed"
3557
- }
3558
- ]
3559
- },
3560
- {
3561
- "type": "divider"
3562
- },
3563
- {
3564
- "type": "alert",
3565
- "variant": "success",
3566
- "message": "Service is healthy. All requests are being processed."
3567
- },
3568
- {
3569
- "type": "simple-grid",
3570
- "columns": 2,
3571
- "children": [
3572
- {
3573
- "type": "stat-display",
3574
- "label": "Failures",
3575
- "value": [
3576
- "object/get",
3577
- [
3578
- "array/first",
3579
- "@entity"
3580
- ],
3581
- "failureCount"
3582
- ]
3583
- },
3584
- {
3585
- "type": "stat-display",
3586
- "label": "Successes",
3587
- "value": [
3588
- "object/get",
3589
- [
3590
- "array/first",
3591
- "@entity"
3592
- ],
3593
- "successCount"
3594
- ]
3595
- }
3596
- ]
3597
- },
3598
- {
3599
- "type": "meter",
3600
- "value": [
3601
- "object/get",
3602
- [
3603
- "array/first",
3604
- "@entity"
3605
- ],
3606
- "failureCount"
3607
- ],
3608
- "min": 0,
3609
- "max": [
3610
- "object/get",
3611
- [
3612
- "array/first",
3613
- "@entity"
3614
- ],
3615
- "threshold"
3616
- ]
3617
- }
3618
- ]
3619
- }
3620
- ]
3621
- }
3622
- ]
3623
- ]
3624
- },
3625
- {
3626
- "from": "halfOpen",
3627
- "to": "open",
3628
- "event": "FAILURE",
3629
- "effects": [
3630
- [
3631
- "render-ui",
3632
- "main",
3633
- {
3634
- "type": "dashboard-layout",
3635
- "appName": "IoT Dashboard",
3636
- "navItems": [
3637
- {
3638
- "label": "Sensors",
3639
- "href": "/sensors",
3640
- "icon": "layout-list"
3641
- },
3642
- {
3643
- "label": "Devices",
3644
- "href": "/devices",
3645
- "icon": "cpu"
3646
- },
3647
- {
3648
- "label": "Alerts",
3649
- "href": "/alerts",
3650
- "icon": "bell"
3651
- }
3652
- ],
3653
- "children": [
3654
- {
3655
- "type": "stack",
3656
- "direction": "vertical",
3657
- "gap": "lg",
3658
- "children": [
3659
- {
3660
- "type": "stack",
3661
- "direction": "horizontal",
3662
- "gap": "md",
3663
- "align": "center",
3664
- "justify": "space-between",
3665
- "children": [
3666
- {
3667
- "type": "stack",
3668
- "direction": "horizontal",
3669
- "gap": "md",
3670
- "align": "center",
3671
- "children": [
3672
- {
3673
- "type": "icon",
3674
- "name": "alert-triangle",
3675
- "size": "lg"
3676
- },
3677
- {
3678
- "type": "typography",
3679
- "content": "DeviceAlert",
3680
- "variant": "h2"
3681
- }
3682
- ]
3683
- },
3684
- {
3685
- "type": "status-dot",
3686
- "status": "error",
3687
- "pulse": true,
3688
- "label": "Circuit Open"
3689
- }
3690
- ]
3691
- },
3692
- {
3693
- "type": "divider"
3694
- },
3695
- {
3696
- "type": "alert",
3697
- "variant": "danger",
3698
- "message": "Circuit is open. Requests are being rejected to prevent cascading failures."
3699
- },
3700
- {
3701
- "type": "simple-grid",
3702
- "columns": 2,
3703
- "children": [
3704
- {
3705
- "type": "stat-display",
3706
- "label": "Failures",
3707
- "value": [
3708
- "object/get",
3709
- [
3710
- "array/first",
3711
- "@entity"
3712
- ],
3713
- "failureCount"
3714
- ]
3715
- },
3716
- {
3717
- "type": "stat-display",
3718
- "label": "Successes",
3719
- "value": [
3720
- "object/get",
3721
- [
3722
- "array/first",
3723
- "@entity"
3724
- ],
3725
- "successCount"
3726
- ]
3727
- }
3728
- ]
3729
- },
3730
- {
3731
- "type": "meter",
3732
- "value": [
3733
- "object/get",
3734
- [
3735
- "array/first",
3736
- "@entity"
3737
- ],
3738
- "failureCount"
3739
- ],
3740
- "min": 0,
3741
- "max": [
3742
- "object/get",
3743
- [
3744
- "array/first",
3745
- "@entity"
3746
- ],
3747
- "threshold"
3748
- ]
3749
- },
3750
- {
3751
- "type": "button",
3752
- "label": "Reset",
3753
- "event": "RESET",
3754
- "variant": "ghost",
3755
- "icon": "rotate-ccw"
3756
- }
3757
- ]
3758
- }
3759
- ]
3760
- }
3761
- ]
3762
- ]
3763
- },
3764
- {
3765
- "from": "halfOpen",
3766
- "to": "closed",
3767
- "event": "RESET",
3768
- "effects": [
3769
- [
3770
- "render-ui",
3771
- "main",
3772
- {
3773
- "type": "dashboard-layout",
3774
- "appName": "IoT Dashboard",
3775
- "navItems": [
3776
- {
3777
- "label": "Sensors",
3778
- "href": "/sensors",
3779
- "icon": "layout-list"
3780
- },
3781
- {
3782
- "label": "Devices",
3783
- "href": "/devices",
3784
- "icon": "cpu"
3785
- },
3786
- {
3787
- "label": "Alerts",
3788
- "href": "/alerts",
3789
- "icon": "bell"
3790
- }
3791
- ],
3792
- "children": [
3793
- {
3794
- "type": "stack",
3795
- "direction": "vertical",
3796
- "gap": "lg",
3797
- "children": [
3798
- {
3799
- "type": "stack",
3800
- "direction": "horizontal",
3801
- "gap": "md",
3802
- "align": "center",
3803
- "justify": "space-between",
3804
- "children": [
3805
- {
3806
- "type": "stack",
3807
- "direction": "horizontal",
3808
- "gap": "md",
3809
- "align": "center",
3810
- "children": [
3811
- {
3812
- "type": "icon",
3813
- "name": "bell",
3814
- "size": "lg"
3815
- },
3816
- {
3817
- "type": "typography",
3818
- "content": "DeviceAlert",
3819
- "variant": "h2"
3820
- }
3821
- ]
3822
- },
3823
- {
3824
- "type": "status-dot",
3825
- "status": "success",
3826
- "pulse": false,
3827
- "label": "Circuit Closed"
3828
- }
3829
- ]
3830
- },
3831
- {
3832
- "type": "divider"
3833
- },
3834
- {
3835
- "type": "alert",
3836
- "variant": "success",
3837
- "message": "Service is healthy. All requests are being processed."
3838
- },
3839
- {
3840
- "type": "simple-grid",
3841
- "columns": 2,
3842
- "children": [
3843
- {
3844
- "type": "stat-display",
3845
- "label": "Failures",
3846
- "value": [
3847
- "object/get",
3848
- [
3849
- "array/first",
3850
- "@entity"
3851
- ],
3852
- "failureCount"
3853
- ]
3854
- },
3855
- {
3856
- "type": "stat-display",
3857
- "label": "Successes",
3858
- "value": [
3859
- "object/get",
3860
- [
3861
- "array/first",
3862
- "@entity"
3863
- ],
3864
- "successCount"
3865
- ]
3866
- }
3867
- ]
3868
- },
3869
- {
3870
- "type": "meter",
3871
- "value": [
3872
- "object/get",
3873
- [
3874
- "array/first",
3875
- "@entity"
3876
- ],
3877
- "failureCount"
3878
- ],
3879
- "min": 0,
3880
- "max": [
3881
- "object/get",
3882
- [
3883
- "array/first",
3884
- "@entity"
3885
- ],
3886
- "threshold"
3887
- ]
3888
- }
3889
- ]
3890
- }
3891
- ]
3892
- }
3893
- ]
3894
- ]
3895
- }
3896
- ]
3897
- }
3898
- }
3899
- ],
3900
- "pages": [
3901
- {
3902
- "name": "AlertsPage",
3903
- "path": "/alerts",
3904
- "traits": [
3905
- {
3906
- "ref": "DeviceAlertCircuitBreaker"
3907
- }
3908
- ]
3909
- }
3910
- ]
3911
- }
3912
- ],
3913
- "description": "IoT dashboard organism. Composes: stdDisplay(SensorReading) + stdList(Device) + stdCircuitBreaker(DeviceAlert) Pages: /sensors (initial), /devices, /alerts (2026-04-08). The canonical source for std behaviors is now the registry `.orb` file at `packages/almadar-std/behaviors/registry/<level>/<name>.orb`, which is generated from this TS source by `tools/almadar-behavior-ts-to-orb/` and consumed by the compiler's embedded loader. Consumers should import behaviors via `.lolo`/`.orb` `uses` declarations and reference them as `Alias.entity` / `Alias.traits.X` / `Alias.pages.X`, applying overrides at the call site (`linkedEntity`, `name`, `events`, `effects`, `listens`, `emitsScope`). The TS `*Params` interface and the exported factory functions remain ONLY as the authoring path for the converter; they are NOT a stable public API and may change without notice. See `docs/Almadar_Orb_Behaviors.md` for the orbital-as-function model and `docs/LOLO_Gaps.md` for the migration plan."
3914
- }