@almadar/std 5.0.0 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (421) hide show
  1. package/behaviors/exports/atoms/std-agent-activity-log.orb +5 -45
  2. package/behaviors/exports/atoms/std-agent-chat-thread.orb +5 -55
  3. package/behaviors/exports/atoms/std-agent-classifier.orb +8 -8
  4. package/behaviors/exports/atoms/std-agent-completion.orb +8 -8
  5. package/behaviors/exports/atoms/std-agent-context-window.orb +5 -4
  6. package/behaviors/exports/atoms/std-agent-conversation.orb +5 -71
  7. package/behaviors/exports/atoms/std-agent-memory.orb +13 -127
  8. package/behaviors/exports/atoms/std-agent-provider.orb +8 -8
  9. package/behaviors/exports/atoms/std-agent-search.orb +6 -27
  10. package/behaviors/exports/atoms/std-agent-session.orb +11 -85
  11. package/behaviors/exports/atoms/std-agent-step-progress.orb +5 -4
  12. package/behaviors/exports/atoms/std-agent-token-gauge.orb +5 -4
  13. package/behaviors/exports/atoms/std-agent-tool-call.orb +8 -8
  14. package/behaviors/exports/atoms/std-async.orb +5 -8
  15. package/behaviors/exports/atoms/std-autoregressive.orb +4 -2
  16. package/behaviors/exports/atoms/std-browse.orb +5 -4
  17. package/behaviors/exports/atoms/std-cache-aside.orb +5 -8
  18. package/behaviors/exports/atoms/std-calendar.orb +5 -4
  19. package/behaviors/exports/atoms/std-circuit-breaker.orb +5 -4
  20. package/behaviors/exports/atoms/std-collision.orb +5 -4
  21. package/behaviors/exports/atoms/std-combat-log.orb +5 -4
  22. package/behaviors/exports/atoms/std-combat.orb +5 -4
  23. package/behaviors/exports/atoms/std-confirmation.orb +10 -4
  24. package/behaviors/exports/atoms/std-dialogue-box.orb +5 -4
  25. package/behaviors/exports/atoms/std-display.orb +5 -4
  26. package/behaviors/exports/atoms/std-drawer.orb +5 -4
  27. package/behaviors/exports/atoms/std-filter.orb +5 -4
  28. package/behaviors/exports/atoms/std-flip-card.orb +5 -4
  29. package/behaviors/exports/atoms/std-gallery.orb +5 -4
  30. package/behaviors/exports/atoms/std-game-audio.orb +5 -4
  31. package/behaviors/exports/atoms/std-game-canvas2d.orb +4 -2
  32. package/behaviors/exports/atoms/std-game-canvas3d.orb +4 -2
  33. package/behaviors/exports/atoms/std-game-hud.orb +5 -4
  34. package/behaviors/exports/atoms/std-game-menu.orb +5 -4
  35. package/behaviors/exports/atoms/std-game-over-screen.orb +5 -4
  36. package/behaviors/exports/atoms/std-gameflow.orb +5 -4
  37. package/behaviors/exports/atoms/std-input.orb +5 -4
  38. package/behaviors/exports/atoms/std-inventory-panel.orb +5 -8
  39. package/behaviors/exports/atoms/std-isometric-canvas.orb +5 -4
  40. package/behaviors/exports/atoms/std-loading.orb +5 -4
  41. package/behaviors/exports/atoms/std-modal.orb +89 -4
  42. package/behaviors/exports/atoms/std-movement.orb +5 -4
  43. package/behaviors/exports/atoms/std-notification.orb +5 -4
  44. package/behaviors/exports/atoms/std-overworld.orb +5 -4
  45. package/behaviors/exports/atoms/std-pagination.orb +5 -4
  46. package/behaviors/exports/atoms/std-physics2d.orb +5 -4
  47. package/behaviors/exports/atoms/std-platformer-canvas.orb +5 -4
  48. package/behaviors/exports/atoms/std-quest.orb +5 -8
  49. package/behaviors/exports/atoms/std-rate-limiter.orb +5 -4
  50. package/behaviors/exports/atoms/std-rating.orb +5 -4
  51. package/behaviors/exports/atoms/std-score-board.orb +5 -4
  52. package/behaviors/exports/atoms/std-score.orb +5 -4
  53. package/behaviors/exports/atoms/std-search.orb +5 -4
  54. package/behaviors/exports/atoms/std-selection.orb +5 -4
  55. package/behaviors/exports/atoms/std-service-custom-bearer.orb +5 -15
  56. package/behaviors/exports/atoms/std-service-custom-header.orb +5 -17
  57. package/behaviors/exports/atoms/std-service-custom-noauth.orb +5 -11
  58. package/behaviors/exports/atoms/std-service-custom-query.orb +5 -17
  59. package/behaviors/exports/atoms/std-service-email.orb +5 -4
  60. package/behaviors/exports/atoms/std-service-github.orb +5 -4
  61. package/behaviors/exports/atoms/std-service-llm.orb +5 -4
  62. package/behaviors/exports/atoms/std-service-oauth.orb +5 -4
  63. package/behaviors/exports/atoms/std-service-redis.orb +5 -4
  64. package/behaviors/exports/atoms/std-service-storage.orb +5 -4
  65. package/behaviors/exports/atoms/std-service-stripe.orb +5 -4
  66. package/behaviors/exports/atoms/std-service-twilio.orb +5 -4
  67. package/behaviors/exports/atoms/std-service-youtube.orb +5 -4
  68. package/behaviors/exports/atoms/std-simulation-canvas.orb +5 -4
  69. package/behaviors/exports/atoms/std-sort.orb +5 -4
  70. package/behaviors/exports/atoms/std-sprite.orb +5 -4
  71. package/behaviors/exports/atoms/std-tabs.orb +5 -4
  72. package/behaviors/exports/atoms/std-text-effects.orb +5 -4
  73. package/behaviors/exports/atoms/std-theme.orb +5 -4
  74. package/behaviors/exports/atoms/std-timer.orb +5 -4
  75. package/behaviors/exports/atoms/std-undo.orb +5 -4
  76. package/behaviors/exports/atoms/std-upload.orb +5 -4
  77. package/behaviors/exports/atoms/std-validate-on-save.orb +5 -32
  78. package/behaviors/exports/atoms/std-wizard.orb +5 -4
  79. package/behaviors/exports/molecules/std-agent-fix-loop.orb +1141 -1709
  80. package/behaviors/exports/molecules/std-agent-learner.orb +608 -938
  81. package/behaviors/exports/molecules/std-agent-planner.orb +613 -961
  82. package/behaviors/exports/molecules/std-agent-rag.orb +586 -915
  83. package/behaviors/exports/molecules/std-agent-tool-loop.orb +915 -2846
  84. package/behaviors/exports/molecules/std-builder-game.orb +5 -4
  85. package/behaviors/exports/molecules/std-cart.orb +196 -307
  86. package/behaviors/exports/molecules/std-classifier-game.orb +5 -4
  87. package/behaviors/exports/molecules/std-debugger-game.orb +5 -4
  88. package/behaviors/exports/molecules/std-detail.orb +309 -467
  89. package/behaviors/exports/molecules/std-event-handler-game.orb +5 -4
  90. package/behaviors/exports/molecules/std-form-advanced.orb +5 -8
  91. package/behaviors/exports/molecules/std-geospatial.orb +363 -539
  92. package/behaviors/exports/molecules/std-inventory.orb +390 -720
  93. package/behaviors/exports/molecules/std-list.orb +526 -1156
  94. package/behaviors/exports/molecules/std-messaging.orb +295 -452
  95. package/behaviors/exports/molecules/std-negotiator-game.orb +5 -4
  96. package/behaviors/exports/molecules/std-platformer-game.orb +5 -4
  97. package/behaviors/exports/molecules/std-puzzle-game.orb +5 -4
  98. package/behaviors/exports/molecules/std-quiz.orb +5 -4
  99. package/behaviors/exports/molecules/std-sequencer-game.orb +5 -4
  100. package/behaviors/exports/molecules/std-service-content-pipeline.orb +5 -4
  101. package/behaviors/exports/molecules/std-service-custom-api-tester.orb +5 -42
  102. package/behaviors/exports/molecules/std-service-devops-toolkit.orb +5 -4
  103. package/behaviors/exports/molecules/std-service-notification-hub.orb +5 -4
  104. package/behaviors/exports/molecules/std-service-payment-flow.orb +5 -4
  105. package/behaviors/exports/molecules/std-simulator-game.orb +5 -4
  106. package/behaviors/exports/molecules/std-turn-based-battle.orb +5 -4
  107. package/behaviors/exports/organisms/std-agent-assistant.orb +15 -143
  108. package/behaviors/exports/organisms/std-agent-builder.orb +814 -1476
  109. package/behaviors/exports/organisms/std-agent-pipeline.orb +785 -1567
  110. package/behaviors/exports/organisms/std-agent-reviewer.orb +299 -502
  111. package/behaviors/exports/organisms/std-agent-tutor.orb +306 -493
  112. package/behaviors/exports/organisms/std-api-gateway.orb +284 -626
  113. package/behaviors/exports/organisms/std-arcade-game.orb +4 -4
  114. package/behaviors/exports/organisms/std-booking-system.orb +1422 -2160
  115. package/behaviors/exports/organisms/std-cicd-pipeline.orb +274 -617
  116. package/behaviors/exports/organisms/std-cms.orb +1274 -1972
  117. package/behaviors/exports/organisms/std-coding-academy.orb +4 -4
  118. package/behaviors/exports/organisms/std-crm.orb +999 -1775
  119. package/behaviors/exports/organisms/std-devops-dashboard.orb +284 -638
  120. package/behaviors/exports/organisms/std-ecommerce.orb +1653 -2398
  121. package/behaviors/exports/organisms/std-finance-tracker.orb +340 -684
  122. package/behaviors/exports/organisms/std-healthcare.orb +984 -1838
  123. package/behaviors/exports/organisms/std-helpdesk.orb +340 -744
  124. package/behaviors/exports/organisms/std-hr-portal.orb +1401 -2151
  125. package/behaviors/exports/organisms/std-iot-dashboard.orb +284 -626
  126. package/behaviors/exports/organisms/std-lms.orb +284 -632
  127. package/behaviors/exports/organisms/std-logic-training.orb +4 -4
  128. package/behaviors/exports/organisms/std-platformer-app.orb +15 -98
  129. package/behaviors/exports/organisms/std-project-manager.orb +970 -1774
  130. package/behaviors/exports/organisms/std-puzzle-app.orb +4 -4
  131. package/behaviors/exports/organisms/std-realtime-chat.orb +364 -714
  132. package/behaviors/exports/organisms/std-rpg-game.orb +15 -102
  133. package/behaviors/exports/organisms/std-service-marketplace.orb +1589 -2361
  134. package/behaviors/exports/organisms/std-service-research-assistant.orb +4 -15
  135. package/behaviors/exports/organisms/std-social-feed.orb +62 -66
  136. package/behaviors/exports/organisms/std-stem-lab.orb +4 -4
  137. package/behaviors/exports/organisms/std-strategy-game.orb +4 -4
  138. package/behaviors/exports/organisms/std-trading-dashboard.orb +274 -620
  139. package/dist/behaviors/exports/atoms/std-agent-activity-log.orb +5 -45
  140. package/dist/behaviors/exports/atoms/std-agent-chat-thread.orb +5 -55
  141. package/dist/behaviors/exports/atoms/std-agent-classifier.orb +8 -8
  142. package/dist/behaviors/exports/atoms/std-agent-completion.orb +8 -8
  143. package/dist/behaviors/exports/atoms/std-agent-context-window.orb +5 -4
  144. package/dist/behaviors/exports/atoms/std-agent-conversation.orb +5 -71
  145. package/dist/behaviors/exports/atoms/std-agent-memory.orb +13 -127
  146. package/dist/behaviors/exports/atoms/std-agent-provider.orb +8 -8
  147. package/dist/behaviors/exports/atoms/std-agent-search.orb +6 -27
  148. package/dist/behaviors/exports/atoms/std-agent-session.orb +11 -85
  149. package/dist/behaviors/exports/atoms/std-agent-step-progress.orb +5 -4
  150. package/dist/behaviors/exports/atoms/std-agent-token-gauge.orb +5 -4
  151. package/dist/behaviors/exports/atoms/std-agent-tool-call.orb +8 -8
  152. package/dist/behaviors/exports/atoms/std-async.orb +5 -8
  153. package/dist/behaviors/exports/atoms/std-autoregressive.orb +4 -2
  154. package/dist/behaviors/exports/atoms/std-browse.orb +5 -4
  155. package/dist/behaviors/exports/atoms/std-cache-aside.orb +5 -8
  156. package/dist/behaviors/exports/atoms/std-calendar.orb +5 -4
  157. package/dist/behaviors/exports/atoms/std-circuit-breaker.orb +5 -4
  158. package/dist/behaviors/exports/atoms/std-collision.orb +5 -4
  159. package/dist/behaviors/exports/atoms/std-combat-log.orb +5 -4
  160. package/dist/behaviors/exports/atoms/std-combat.orb +5 -4
  161. package/dist/behaviors/exports/atoms/std-confirmation.orb +10 -4
  162. package/dist/behaviors/exports/atoms/std-dialogue-box.orb +5 -4
  163. package/dist/behaviors/exports/atoms/std-display.orb +5 -4
  164. package/dist/behaviors/exports/atoms/std-drawer.orb +5 -4
  165. package/dist/behaviors/exports/atoms/std-filter.orb +5 -4
  166. package/dist/behaviors/exports/atoms/std-flip-card.orb +5 -4
  167. package/dist/behaviors/exports/atoms/std-gallery.orb +5 -4
  168. package/dist/behaviors/exports/atoms/std-game-audio.orb +5 -4
  169. package/dist/behaviors/exports/atoms/std-game-canvas2d.orb +4 -2
  170. package/dist/behaviors/exports/atoms/std-game-canvas3d.orb +4 -2
  171. package/dist/behaviors/exports/atoms/std-game-hud.orb +5 -4
  172. package/dist/behaviors/exports/atoms/std-game-menu.orb +5 -4
  173. package/dist/behaviors/exports/atoms/std-game-over-screen.orb +5 -4
  174. package/dist/behaviors/exports/atoms/std-gameflow.orb +5 -4
  175. package/dist/behaviors/exports/atoms/std-input.orb +5 -4
  176. package/dist/behaviors/exports/atoms/std-inventory-panel.orb +5 -8
  177. package/dist/behaviors/exports/atoms/std-isometric-canvas.orb +5 -4
  178. package/dist/behaviors/exports/atoms/std-loading.orb +5 -4
  179. package/dist/behaviors/exports/atoms/std-modal.orb +89 -4
  180. package/dist/behaviors/exports/atoms/std-movement.orb +5 -4
  181. package/dist/behaviors/exports/atoms/std-notification.orb +5 -4
  182. package/dist/behaviors/exports/atoms/std-overworld.orb +5 -4
  183. package/dist/behaviors/exports/atoms/std-pagination.orb +5 -4
  184. package/dist/behaviors/exports/atoms/std-physics2d.orb +5 -4
  185. package/dist/behaviors/exports/atoms/std-platformer-canvas.orb +5 -4
  186. package/dist/behaviors/exports/atoms/std-quest.orb +5 -8
  187. package/dist/behaviors/exports/atoms/std-rate-limiter.orb +5 -4
  188. package/dist/behaviors/exports/atoms/std-rating.orb +5 -4
  189. package/dist/behaviors/exports/atoms/std-score-board.orb +5 -4
  190. package/dist/behaviors/exports/atoms/std-score.orb +5 -4
  191. package/dist/behaviors/exports/atoms/std-search.orb +5 -4
  192. package/dist/behaviors/exports/atoms/std-selection.orb +5 -4
  193. package/dist/behaviors/exports/atoms/std-service-custom-bearer.orb +5 -15
  194. package/dist/behaviors/exports/atoms/std-service-custom-header.orb +5 -17
  195. package/dist/behaviors/exports/atoms/std-service-custom-noauth.orb +5 -11
  196. package/dist/behaviors/exports/atoms/std-service-custom-query.orb +5 -17
  197. package/dist/behaviors/exports/atoms/std-service-email.orb +5 -4
  198. package/dist/behaviors/exports/atoms/std-service-github.orb +5 -4
  199. package/dist/behaviors/exports/atoms/std-service-llm.orb +5 -4
  200. package/dist/behaviors/exports/atoms/std-service-oauth.orb +5 -4
  201. package/dist/behaviors/exports/atoms/std-service-redis.orb +5 -4
  202. package/dist/behaviors/exports/atoms/std-service-storage.orb +5 -4
  203. package/dist/behaviors/exports/atoms/std-service-stripe.orb +5 -4
  204. package/dist/behaviors/exports/atoms/std-service-twilio.orb +5 -4
  205. package/dist/behaviors/exports/atoms/std-service-youtube.orb +5 -4
  206. package/dist/behaviors/exports/atoms/std-simulation-canvas.orb +5 -4
  207. package/dist/behaviors/exports/atoms/std-sort.orb +5 -4
  208. package/dist/behaviors/exports/atoms/std-sprite.orb +5 -4
  209. package/dist/behaviors/exports/atoms/std-tabs.orb +5 -4
  210. package/dist/behaviors/exports/atoms/std-text-effects.orb +5 -4
  211. package/dist/behaviors/exports/atoms/std-theme.orb +5 -4
  212. package/dist/behaviors/exports/atoms/std-timer.orb +5 -4
  213. package/dist/behaviors/exports/atoms/std-undo.orb +5 -4
  214. package/dist/behaviors/exports/atoms/std-upload.orb +5 -4
  215. package/dist/behaviors/exports/atoms/std-validate-on-save.orb +5 -32
  216. package/dist/behaviors/exports/atoms/std-wizard.orb +5 -4
  217. package/dist/behaviors/exports/molecules/std-agent-fix-loop.orb +1141 -1709
  218. package/dist/behaviors/exports/molecules/std-agent-learner.orb +608 -938
  219. package/dist/behaviors/exports/molecules/std-agent-planner.orb +613 -961
  220. package/dist/behaviors/exports/molecules/std-agent-rag.orb +586 -915
  221. package/dist/behaviors/exports/molecules/std-agent-tool-loop.orb +915 -2846
  222. package/dist/behaviors/exports/molecules/std-builder-game.orb +5 -4
  223. package/dist/behaviors/exports/molecules/std-cart.orb +196 -307
  224. package/dist/behaviors/exports/molecules/std-classifier-game.orb +5 -4
  225. package/dist/behaviors/exports/molecules/std-debugger-game.orb +5 -4
  226. package/dist/behaviors/exports/molecules/std-detail.orb +309 -467
  227. package/dist/behaviors/exports/molecules/std-event-handler-game.orb +5 -4
  228. package/dist/behaviors/exports/molecules/std-form-advanced.orb +5 -8
  229. package/dist/behaviors/exports/molecules/std-geospatial.orb +363 -539
  230. package/dist/behaviors/exports/molecules/std-inventory.orb +390 -720
  231. package/dist/behaviors/exports/molecules/std-list.orb +526 -1156
  232. package/dist/behaviors/exports/molecules/std-messaging.orb +295 -452
  233. package/dist/behaviors/exports/molecules/std-negotiator-game.orb +5 -4
  234. package/dist/behaviors/exports/molecules/std-platformer-game.orb +5 -4
  235. package/dist/behaviors/exports/molecules/std-puzzle-game.orb +5 -4
  236. package/dist/behaviors/exports/molecules/std-quiz.orb +5 -4
  237. package/dist/behaviors/exports/molecules/std-sequencer-game.orb +5 -4
  238. package/dist/behaviors/exports/molecules/std-service-content-pipeline.orb +5 -4
  239. package/dist/behaviors/exports/molecules/std-service-custom-api-tester.orb +5 -42
  240. package/dist/behaviors/exports/molecules/std-service-devops-toolkit.orb +5 -4
  241. package/dist/behaviors/exports/molecules/std-service-notification-hub.orb +5 -4
  242. package/dist/behaviors/exports/molecules/std-service-payment-flow.orb +5 -4
  243. package/dist/behaviors/exports/molecules/std-simulator-game.orb +5 -4
  244. package/dist/behaviors/exports/molecules/std-turn-based-battle.orb +5 -4
  245. package/dist/behaviors/exports/organisms/std-agent-assistant.orb +15 -143
  246. package/dist/behaviors/exports/organisms/std-agent-builder.orb +814 -1476
  247. package/dist/behaviors/exports/organisms/std-agent-pipeline.orb +785 -1567
  248. package/dist/behaviors/exports/organisms/std-agent-reviewer.orb +299 -502
  249. package/dist/behaviors/exports/organisms/std-agent-tutor.orb +306 -493
  250. package/dist/behaviors/exports/organisms/std-api-gateway.orb +284 -626
  251. package/dist/behaviors/exports/organisms/std-arcade-game.orb +4 -4
  252. package/dist/behaviors/exports/organisms/std-booking-system.orb +1422 -2160
  253. package/dist/behaviors/exports/organisms/std-cicd-pipeline.orb +274 -617
  254. package/dist/behaviors/exports/organisms/std-cms.orb +1274 -1972
  255. package/dist/behaviors/exports/organisms/std-coding-academy.orb +4 -4
  256. package/dist/behaviors/exports/organisms/std-crm.orb +999 -1775
  257. package/dist/behaviors/exports/organisms/std-devops-dashboard.orb +284 -638
  258. package/dist/behaviors/exports/organisms/std-ecommerce.orb +1653 -2398
  259. package/dist/behaviors/exports/organisms/std-finance-tracker.orb +340 -684
  260. package/dist/behaviors/exports/organisms/std-healthcare.orb +984 -1838
  261. package/dist/behaviors/exports/organisms/std-helpdesk.orb +340 -744
  262. package/dist/behaviors/exports/organisms/std-hr-portal.orb +1401 -2151
  263. package/dist/behaviors/exports/organisms/std-iot-dashboard.orb +284 -626
  264. package/dist/behaviors/exports/organisms/std-lms.orb +284 -632
  265. package/dist/behaviors/exports/organisms/std-logic-training.orb +4 -4
  266. package/dist/behaviors/exports/organisms/std-platformer-app.orb +15 -98
  267. package/dist/behaviors/exports/organisms/std-project-manager.orb +970 -1774
  268. package/dist/behaviors/exports/organisms/std-puzzle-app.orb +4 -4
  269. package/dist/behaviors/exports/organisms/std-realtime-chat.orb +364 -714
  270. package/dist/behaviors/exports/organisms/std-rpg-game.orb +15 -102
  271. package/dist/behaviors/exports/organisms/std-service-marketplace.orb +1589 -2361
  272. package/dist/behaviors/exports/organisms/std-service-research-assistant.orb +4 -15
  273. package/dist/behaviors/exports/organisms/std-social-feed.orb +62 -66
  274. package/dist/behaviors/exports/organisms/std-stem-lab.orb +4 -4
  275. package/dist/behaviors/exports/organisms/std-strategy-game.orb +4 -4
  276. package/dist/behaviors/exports/organisms/std-trading-dashboard.orb +274 -620
  277. package/dist/behaviors/exports-reader.js.map +1 -1
  278. package/dist/behaviors/functions/index.d.ts +2192 -0
  279. package/dist/behaviors/functions/index.js.map +1 -1
  280. package/dist/behaviors/index.js.map +1 -1
  281. package/dist/behaviors/query.js.map +1 -1
  282. package/dist/exports/atoms/std-agent-activity-log.orb +5 -45
  283. package/dist/exports/atoms/std-agent-chat-thread.orb +5 -55
  284. package/dist/exports/atoms/std-agent-classifier.orb +8 -8
  285. package/dist/exports/atoms/std-agent-completion.orb +8 -8
  286. package/dist/exports/atoms/std-agent-context-window.orb +5 -4
  287. package/dist/exports/atoms/std-agent-conversation.orb +5 -71
  288. package/dist/exports/atoms/std-agent-memory.orb +13 -127
  289. package/dist/exports/atoms/std-agent-provider.orb +8 -8
  290. package/dist/exports/atoms/std-agent-search.orb +6 -27
  291. package/dist/exports/atoms/std-agent-session.orb +11 -85
  292. package/dist/exports/atoms/std-agent-step-progress.orb +5 -4
  293. package/dist/exports/atoms/std-agent-token-gauge.orb +5 -4
  294. package/dist/exports/atoms/std-agent-tool-call.orb +8 -8
  295. package/dist/exports/atoms/std-async.orb +5 -8
  296. package/dist/exports/atoms/std-autoregressive.orb +4 -2
  297. package/dist/exports/atoms/std-browse.orb +5 -4
  298. package/dist/exports/atoms/std-cache-aside.orb +5 -8
  299. package/dist/exports/atoms/std-calendar.orb +5 -4
  300. package/dist/exports/atoms/std-circuit-breaker.orb +5 -4
  301. package/dist/exports/atoms/std-collision.orb +5 -4
  302. package/dist/exports/atoms/std-combat-log.orb +5 -4
  303. package/dist/exports/atoms/std-combat.orb +5 -4
  304. package/dist/exports/atoms/std-confirmation.orb +10 -4
  305. package/dist/exports/atoms/std-dialogue-box.orb +5 -4
  306. package/dist/exports/atoms/std-display.orb +5 -4
  307. package/dist/exports/atoms/std-drawer.orb +5 -4
  308. package/dist/exports/atoms/std-filter.orb +5 -4
  309. package/dist/exports/atoms/std-flip-card.orb +5 -4
  310. package/dist/exports/atoms/std-gallery.orb +5 -4
  311. package/dist/exports/atoms/std-game-audio.orb +5 -4
  312. package/dist/exports/atoms/std-game-canvas2d.orb +4 -2
  313. package/dist/exports/atoms/std-game-canvas3d.orb +4 -2
  314. package/dist/exports/atoms/std-game-hud.orb +5 -4
  315. package/dist/exports/atoms/std-game-menu.orb +5 -4
  316. package/dist/exports/atoms/std-game-over-screen.orb +5 -4
  317. package/dist/exports/atoms/std-gameflow.orb +5 -4
  318. package/dist/exports/atoms/std-input.orb +5 -4
  319. package/dist/exports/atoms/std-inventory-panel.orb +5 -8
  320. package/dist/exports/atoms/std-isometric-canvas.orb +5 -4
  321. package/dist/exports/atoms/std-loading.orb +5 -4
  322. package/dist/exports/atoms/std-modal.orb +89 -4
  323. package/dist/exports/atoms/std-movement.orb +5 -4
  324. package/dist/exports/atoms/std-notification.orb +5 -4
  325. package/dist/exports/atoms/std-overworld.orb +5 -4
  326. package/dist/exports/atoms/std-pagination.orb +5 -4
  327. package/dist/exports/atoms/std-physics2d.orb +5 -4
  328. package/dist/exports/atoms/std-platformer-canvas.orb +5 -4
  329. package/dist/exports/atoms/std-quest.orb +5 -8
  330. package/dist/exports/atoms/std-rate-limiter.orb +5 -4
  331. package/dist/exports/atoms/std-rating.orb +5 -4
  332. package/dist/exports/atoms/std-score-board.orb +5 -4
  333. package/dist/exports/atoms/std-score.orb +5 -4
  334. package/dist/exports/atoms/std-search.orb +5 -4
  335. package/dist/exports/atoms/std-selection.orb +5 -4
  336. package/dist/exports/atoms/std-service-custom-bearer.orb +5 -15
  337. package/dist/exports/atoms/std-service-custom-header.orb +5 -17
  338. package/dist/exports/atoms/std-service-custom-noauth.orb +5 -11
  339. package/dist/exports/atoms/std-service-custom-query.orb +5 -17
  340. package/dist/exports/atoms/std-service-email.orb +5 -4
  341. package/dist/exports/atoms/std-service-github.orb +5 -4
  342. package/dist/exports/atoms/std-service-llm.orb +5 -4
  343. package/dist/exports/atoms/std-service-oauth.orb +5 -4
  344. package/dist/exports/atoms/std-service-redis.orb +5 -4
  345. package/dist/exports/atoms/std-service-storage.orb +5 -4
  346. package/dist/exports/atoms/std-service-stripe.orb +5 -4
  347. package/dist/exports/atoms/std-service-twilio.orb +5 -4
  348. package/dist/exports/atoms/std-service-youtube.orb +5 -4
  349. package/dist/exports/atoms/std-simulation-canvas.orb +5 -4
  350. package/dist/exports/atoms/std-sort.orb +5 -4
  351. package/dist/exports/atoms/std-sprite.orb +5 -4
  352. package/dist/exports/atoms/std-tabs.orb +5 -4
  353. package/dist/exports/atoms/std-text-effects.orb +5 -4
  354. package/dist/exports/atoms/std-theme.orb +5 -4
  355. package/dist/exports/atoms/std-timer.orb +5 -4
  356. package/dist/exports/atoms/std-undo.orb +5 -4
  357. package/dist/exports/atoms/std-upload.orb +5 -4
  358. package/dist/exports/atoms/std-validate-on-save.orb +5 -32
  359. package/dist/exports/atoms/std-wizard.orb +5 -4
  360. package/dist/exports/molecules/std-agent-fix-loop.orb +1141 -1709
  361. package/dist/exports/molecules/std-agent-learner.orb +608 -938
  362. package/dist/exports/molecules/std-agent-planner.orb +613 -961
  363. package/dist/exports/molecules/std-agent-rag.orb +586 -915
  364. package/dist/exports/molecules/std-agent-tool-loop.orb +915 -2846
  365. package/dist/exports/molecules/std-builder-game.orb +5 -4
  366. package/dist/exports/molecules/std-cart.orb +196 -307
  367. package/dist/exports/molecules/std-classifier-game.orb +5 -4
  368. package/dist/exports/molecules/std-debugger-game.orb +5 -4
  369. package/dist/exports/molecules/std-detail.orb +309 -467
  370. package/dist/exports/molecules/std-event-handler-game.orb +5 -4
  371. package/dist/exports/molecules/std-form-advanced.orb +5 -8
  372. package/dist/exports/molecules/std-geospatial.orb +363 -539
  373. package/dist/exports/molecules/std-inventory.orb +390 -720
  374. package/dist/exports/molecules/std-list.orb +526 -1156
  375. package/dist/exports/molecules/std-messaging.orb +295 -452
  376. package/dist/exports/molecules/std-negotiator-game.orb +5 -4
  377. package/dist/exports/molecules/std-platformer-game.orb +5 -4
  378. package/dist/exports/molecules/std-puzzle-game.orb +5 -4
  379. package/dist/exports/molecules/std-quiz.orb +5 -4
  380. package/dist/exports/molecules/std-sequencer-game.orb +5 -4
  381. package/dist/exports/molecules/std-service-content-pipeline.orb +5 -4
  382. package/dist/exports/molecules/std-service-custom-api-tester.orb +5 -42
  383. package/dist/exports/molecules/std-service-devops-toolkit.orb +5 -4
  384. package/dist/exports/molecules/std-service-notification-hub.orb +5 -4
  385. package/dist/exports/molecules/std-service-payment-flow.orb +5 -4
  386. package/dist/exports/molecules/std-simulator-game.orb +5 -4
  387. package/dist/exports/molecules/std-turn-based-battle.orb +5 -4
  388. package/dist/exports/organisms/std-agent-assistant.orb +15 -143
  389. package/dist/exports/organisms/std-agent-builder.orb +814 -1476
  390. package/dist/exports/organisms/std-agent-pipeline.orb +785 -1567
  391. package/dist/exports/organisms/std-agent-reviewer.orb +299 -502
  392. package/dist/exports/organisms/std-agent-tutor.orb +306 -493
  393. package/dist/exports/organisms/std-api-gateway.orb +284 -626
  394. package/dist/exports/organisms/std-arcade-game.orb +4 -4
  395. package/dist/exports/organisms/std-booking-system.orb +1422 -2160
  396. package/dist/exports/organisms/std-cicd-pipeline.orb +274 -617
  397. package/dist/exports/organisms/std-cms.orb +1274 -1972
  398. package/dist/exports/organisms/std-coding-academy.orb +4 -4
  399. package/dist/exports/organisms/std-crm.orb +999 -1775
  400. package/dist/exports/organisms/std-devops-dashboard.orb +284 -638
  401. package/dist/exports/organisms/std-ecommerce.orb +1653 -2398
  402. package/dist/exports/organisms/std-finance-tracker.orb +340 -684
  403. package/dist/exports/organisms/std-healthcare.orb +984 -1838
  404. package/dist/exports/organisms/std-helpdesk.orb +340 -744
  405. package/dist/exports/organisms/std-hr-portal.orb +1401 -2151
  406. package/dist/exports/organisms/std-iot-dashboard.orb +284 -626
  407. package/dist/exports/organisms/std-lms.orb +284 -632
  408. package/dist/exports/organisms/std-logic-training.orb +4 -4
  409. package/dist/exports/organisms/std-platformer-app.orb +15 -98
  410. package/dist/exports/organisms/std-project-manager.orb +970 -1774
  411. package/dist/exports/organisms/std-puzzle-app.orb +4 -4
  412. package/dist/exports/organisms/std-realtime-chat.orb +364 -714
  413. package/dist/exports/organisms/std-rpg-game.orb +15 -102
  414. package/dist/exports/organisms/std-service-marketplace.orb +1589 -2361
  415. package/dist/exports/organisms/std-service-research-assistant.orb +4 -15
  416. package/dist/exports/organisms/std-social-feed.orb +62 -66
  417. package/dist/exports/organisms/std-stem-lab.orb +4 -4
  418. package/dist/exports/organisms/std-strategy-game.orb +4 -4
  419. package/dist/exports/organisms/std-trading-dashboard.orb +274 -620
  420. package/dist/index.js.map +1 -1
  421. package/package.json +2 -2
@@ -1,6 +1,7 @@
1
1
  {
2
- "name": "CRM",
2
+ "name": "std-crm",
3
3
  "version": "1.0.0",
4
+ "description": "Customer relationship management organism. Composes molecules via compose: - stdList(Contact): CRUD list of contacts - stdList(Deal): CRUD list of deals - stdDisplay(Pipeline): read-only pipeline dashboard - stdMessaging(Note): notes/communication thread",
4
5
  "orbitals": [
5
6
  {
6
7
  "name": "ContactOrbital",
@@ -54,11 +55,15 @@
54
55
  "listens": [
55
56
  {
56
57
  "event": "CONTACT_CREATED",
57
- "triggers": "CONTACT_CREATED"
58
+ "triggers": "INIT"
58
59
  },
59
60
  {
60
61
  "event": "CONTACT_UPDATED",
61
- "triggers": "CONTACT_UPDATED"
62
+ "triggers": "INIT"
63
+ },
64
+ {
65
+ "event": "CONTACT_DELETED",
66
+ "triggers": "INIT"
62
67
  }
63
68
  ],
64
69
  "stateMachine": {
@@ -66,9 +71,6 @@
66
71
  {
67
72
  "name": "browsing",
68
73
  "isInitial": true
69
- },
70
- {
71
- "name": "deleting"
72
74
  }
73
75
  ],
74
76
  "events": [
@@ -124,40 +126,6 @@
124
126
  "type": "object"
125
127
  }
126
128
  ]
127
- },
128
- {
129
- "key": "CONTACT_CREATED",
130
- "name": "CONTACT_CREATED",
131
- "payload": [
132
- {
133
- "name": "data",
134
- "type": "object",
135
- "required": true
136
- }
137
- ]
138
- },
139
- {
140
- "key": "CONTACT_UPDATED",
141
- "name": "CONTACT_UPDATED",
142
- "payload": [
143
- {
144
- "name": "data",
145
- "type": "object",
146
- "required": true
147
- }
148
- ]
149
- },
150
- {
151
- "key": "CONFIRM_DELETE",
152
- "name": "Confirm Delete"
153
- },
154
- {
155
- "key": "CANCEL",
156
- "name": "Cancel"
157
- },
158
- {
159
- "key": "CLOSE",
160
- "name": "Close"
161
129
  }
162
130
  ],
163
131
  "transitions": [
@@ -325,22 +293,76 @@
325
293
  }
326
294
  ]
327
295
  ]
296
+ }
297
+ ]
298
+ },
299
+ "emits": [
300
+ {
301
+ "event": "CONVERT_LEAD",
302
+ "description": "Convert contact lead to a deal",
303
+ "payload": [
304
+ {
305
+ "name": "id",
306
+ "type": "string",
307
+ "required": true
308
+ }
309
+ ],
310
+ "scope": "external"
311
+ }
312
+ ]
313
+ },
314
+ {
315
+ "name": "ContactCreate",
316
+ "linkedEntity": "Contact",
317
+ "category": "interaction",
318
+ "emits": [
319
+ {
320
+ "event": "SAVE"
321
+ },
322
+ {
323
+ "event": "CONTACT_CREATED"
324
+ }
325
+ ],
326
+ "stateMachine": {
327
+ "states": [
328
+ {
329
+ "name": "closed",
330
+ "isInitial": true
328
331
  },
329
332
  {
330
- "from": "browsing",
331
- "to": "browsing",
332
- "event": "CONTACT_CREATED",
333
- "effects": [
334
- [
335
- "ref",
336
- "Contact"
337
- ]
338
- ]
333
+ "name": "open"
334
+ }
335
+ ],
336
+ "events": [
337
+ {
338
+ "key": "INIT",
339
+ "name": "Initialize"
339
340
  },
340
341
  {
341
- "from": "browsing",
342
- "to": "browsing",
343
- "event": "CONTACT_UPDATED",
342
+ "key": "CREATE",
343
+ "name": "Open"
344
+ },
345
+ {
346
+ "key": "CLOSE",
347
+ "name": "Close"
348
+ },
349
+ {
350
+ "key": "SAVE",
351
+ "name": "Save",
352
+ "payload": [
353
+ {
354
+ "name": "data",
355
+ "type": "object",
356
+ "required": true
357
+ }
358
+ ]
359
+ }
360
+ ],
361
+ "transitions": [
362
+ {
363
+ "from": "closed",
364
+ "to": "closed",
365
+ "event": "INIT",
344
366
  "effects": [
345
367
  [
346
368
  "ref",
@@ -349,16 +371,13 @@
349
371
  ]
350
372
  },
351
373
  {
352
- "from": "browsing",
353
- "to": "deleting",
354
- "event": "DELETE",
374
+ "from": "closed",
375
+ "to": "open",
376
+ "event": "CREATE",
355
377
  "effects": [
356
378
  [
357
379
  "fetch",
358
- "Contact",
359
- {
360
- "id": "@payload.id"
361
- }
380
+ "Contact"
362
381
  ],
363
382
  [
364
383
  "render-ui",
@@ -375,12 +394,12 @@
375
394
  "children": [
376
395
  {
377
396
  "type": "icon",
378
- "name": "trash-2",
397
+ "name": "plus-circle",
379
398
  "size": "md"
380
399
  },
381
400
  {
382
401
  "type": "typography",
383
- "content": "Delete Contact",
402
+ "content": "New Contact",
384
403
  "variant": "h3"
385
404
  }
386
405
  ]
@@ -389,34 +408,17 @@
389
408
  "type": "divider"
390
409
  },
391
410
  {
392
- "type": "typography",
393
- "content": "@entity.name",
394
- "variant": "h4"
395
- },
396
- {
397
- "type": "typography",
398
- "content": "This action cannot be undone.",
399
- "variant": "body"
400
- },
401
- {
402
- "type": "stack",
403
- "direction": "horizontal",
404
- "gap": "sm",
405
- "justify": "end",
406
- "children": [
407
- {
408
- "type": "button",
409
- "label": "Cancel",
410
- "event": "CANCEL",
411
- "variant": "ghost"
412
- },
413
- {
414
- "type": "button",
415
- "label": "Delete",
416
- "event": "CONFIRM_DELETE",
417
- "variant": "danger",
418
- "icon": "trash"
419
- }
411
+ "type": "form-section",
412
+ "entity": "Contact",
413
+ "mode": "create",
414
+ "submitEvent": "SAVE",
415
+ "cancelEvent": "CLOSE",
416
+ "fields": [
417
+ "name",
418
+ "company",
419
+ "email",
420
+ "phone",
421
+ "status"
420
422
  ]
421
423
  }
422
424
  ]
@@ -425,15 +427,32 @@
425
427
  ]
426
428
  },
427
429
  {
428
- "from": "deleting",
429
- "to": "browsing",
430
- "event": "CONFIRM_DELETE",
430
+ "from": "open",
431
+ "to": "closed",
432
+ "event": "CLOSE",
433
+ "effects": [
434
+ [
435
+ "render-ui",
436
+ "modal",
437
+ null
438
+ ],
439
+ [
440
+ "notify",
441
+ "Cancelled",
442
+ "info"
443
+ ]
444
+ ]
445
+ },
446
+ {
447
+ "from": "open",
448
+ "to": "closed",
449
+ "event": "SAVE",
431
450
  "effects": [
432
451
  [
433
452
  "persist",
434
- "delete",
453
+ "create",
435
454
  "Contact",
436
- "@entity.id"
455
+ "@payload.data"
437
456
  ],
438
457
  [
439
458
  "render-ui",
@@ -441,1238 +460,59 @@
441
460
  null
442
461
  ],
443
462
  [
444
- "render-ui",
445
- "main",
446
- {
447
- "type": "dashboard-layout",
448
- "appName": "CRM",
449
- "navItems": [
450
- {
451
- "label": "Contacts",
452
- "href": "/contacts",
453
- "icon": "users"
454
- },
455
- {
456
- "label": "Deals",
457
- "href": "/deals",
458
- "icon": "briefcase"
459
- },
460
- {
461
- "label": "Pipeline",
462
- "href": "/pipeline",
463
- "icon": "bar-chart-2"
464
- },
465
- {
466
- "label": "Notes",
467
- "href": "/notes",
468
- "icon": "file-text"
469
- }
470
- ],
471
- "children": [
472
- {
473
- "type": "stack",
474
- "direction": "vertical",
475
- "gap": "lg",
476
- "className": "max-w-5xl mx-auto w-full",
477
- "children": [
478
- {
479
- "type": "stack",
480
- "direction": "horizontal",
481
- "gap": "md",
482
- "justify": "space-between",
483
- "align": "center",
484
- "children": [
485
- {
486
- "type": "stack",
487
- "direction": "horizontal",
488
- "gap": "sm",
489
- "align": "center",
490
- "children": [
491
- {
492
- "type": "icon",
493
- "name": "users",
494
- "size": "lg"
495
- },
496
- {
497
- "type": "typography",
498
- "content": "Contacts",
499
- "variant": "h2"
500
- }
501
- ]
502
- },
503
- {
504
- "type": "stack",
505
- "direction": "horizontal",
506
- "gap": "sm",
507
- "children": [
508
- {
509
- "type": "button",
510
- "label": "Add Contact",
511
- "event": "CREATE",
512
- "variant": "primary",
513
- "icon": "plus"
514
- }
515
- ]
516
- }
517
- ]
518
- },
519
- {
520
- "type": "divider"
521
- },
522
- {
523
- "type": "simple-grid",
524
- "columns": 1,
525
- "children": [
526
- {
527
- "type": "stat-display",
528
- "label": "Total Contacts",
529
- "value": [
530
- "array/len",
531
- "@entity"
532
- ],
533
- "icon": "users"
534
- }
535
- ]
536
- },
537
- {
538
- "type": "divider"
539
- },
540
- {
541
- "type": "data-list",
542
- "entity": "Contact",
543
- "emptyIcon": "inbox",
544
- "emptyTitle": "No contacts yet",
545
- "emptyDescription": "Add your first contact to start building your CRM.",
546
- "itemActions": [
547
- {
548
- "label": "View",
549
- "event": "VIEW",
550
- "variant": "ghost",
551
- "size": "sm"
552
- },
553
- {
554
- "label": "Edit",
555
- "event": "EDIT",
556
- "variant": "ghost",
557
- "size": "sm"
558
- },
559
- {
560
- "label": "Delete",
561
- "event": "DELETE",
562
- "variant": "danger",
563
- "size": "sm"
564
- }
565
- ],
566
- "columns": [
567
- {
568
- "name": "name",
569
- "variant": "h3",
570
- "icon": "user"
571
- },
572
- {
573
- "name": "status",
574
- "variant": "badge"
575
- },
576
- {
577
- "name": "company",
578
- "variant": "body"
579
- },
580
- {
581
- "name": "email",
582
- "variant": "caption"
583
- },
584
- {
585
- "name": "phone",
586
- "variant": "caption"
587
- }
588
- ],
589
- "variant": "card",
590
- "gap": "sm"
591
- }
592
- ]
593
- }
594
- ]
595
- }
596
- ],
597
- [
598
- "notify",
599
- "Contact deleted successfully"
600
- ]
601
- ]
602
- },
603
- {
604
- "from": "deleting",
605
- "to": "browsing",
606
- "event": "CANCEL",
607
- "effects": [
608
- [
609
- "render-ui",
610
- "modal",
611
- null
612
- ],
613
- [
614
- "fetch",
615
- "Contact"
616
- ],
617
- [
618
- "render-ui",
619
- "main",
620
- {
621
- "type": "dashboard-layout",
622
- "appName": "CRM",
623
- "navItems": [
624
- {
625
- "label": "Contacts",
626
- "href": "/contacts",
627
- "icon": "users"
628
- },
629
- {
630
- "label": "Deals",
631
- "href": "/deals",
632
- "icon": "briefcase"
633
- },
634
- {
635
- "label": "Pipeline",
636
- "href": "/pipeline",
637
- "icon": "bar-chart-2"
638
- },
639
- {
640
- "label": "Notes",
641
- "href": "/notes",
642
- "icon": "file-text"
643
- }
644
- ],
645
- "children": [
646
- {
647
- "type": "stack",
648
- "direction": "vertical",
649
- "gap": "lg",
650
- "className": "max-w-5xl mx-auto w-full",
651
- "children": [
652
- {
653
- "type": "stack",
654
- "direction": "horizontal",
655
- "gap": "md",
656
- "justify": "space-between",
657
- "align": "center",
658
- "children": [
659
- {
660
- "type": "stack",
661
- "direction": "horizontal",
662
- "gap": "sm",
663
- "align": "center",
664
- "children": [
665
- {
666
- "type": "icon",
667
- "name": "users",
668
- "size": "lg"
669
- },
670
- {
671
- "type": "typography",
672
- "content": "Contacts",
673
- "variant": "h2"
674
- }
675
- ]
676
- },
677
- {
678
- "type": "stack",
679
- "direction": "horizontal",
680
- "gap": "sm",
681
- "children": [
682
- {
683
- "type": "button",
684
- "label": "Add Contact",
685
- "event": "CREATE",
686
- "variant": "primary",
687
- "icon": "plus"
688
- }
689
- ]
690
- }
691
- ]
692
- },
693
- {
694
- "type": "divider"
695
- },
696
- {
697
- "type": "simple-grid",
698
- "columns": 1,
699
- "children": [
700
- {
701
- "type": "stat-display",
702
- "label": "Total Contacts",
703
- "value": [
704
- "array/len",
705
- "@entity"
706
- ],
707
- "icon": "users"
708
- }
709
- ]
710
- },
711
- {
712
- "type": "divider"
713
- },
714
- {
715
- "type": "data-list",
716
- "entity": "Contact",
717
- "emptyIcon": "inbox",
718
- "emptyTitle": "No contacts yet",
719
- "emptyDescription": "Add your first contact to start building your CRM.",
720
- "itemActions": [
721
- {
722
- "label": "View",
723
- "event": "VIEW",
724
- "variant": "ghost",
725
- "size": "sm"
726
- },
727
- {
728
- "label": "Edit",
729
- "event": "EDIT",
730
- "variant": "ghost",
731
- "size": "sm"
732
- },
733
- {
734
- "label": "Delete",
735
- "event": "DELETE",
736
- "variant": "danger",
737
- "size": "sm"
738
- }
739
- ],
740
- "columns": [
741
- {
742
- "name": "name",
743
- "variant": "h3",
744
- "icon": "user"
745
- },
746
- {
747
- "name": "status",
748
- "variant": "badge"
749
- },
750
- {
751
- "name": "company",
752
- "variant": "body"
753
- },
754
- {
755
- "name": "email",
756
- "variant": "caption"
757
- },
758
- {
759
- "name": "phone",
760
- "variant": "caption"
761
- }
762
- ],
763
- "variant": "card",
764
- "gap": "sm"
765
- }
766
- ]
767
- }
768
- ]
769
- }
770
- ]
771
- ]
772
- },
773
- {
774
- "from": "deleting",
775
- "to": "browsing",
776
- "event": "CLOSE",
777
- "effects": [
778
- [
779
- "render-ui",
780
- "modal",
781
- null
782
- ],
783
- [
784
- "fetch",
785
- "Contact"
786
- ],
787
- [
788
- "render-ui",
789
- "main",
790
- {
791
- "type": "dashboard-layout",
792
- "appName": "CRM",
793
- "navItems": [
794
- {
795
- "label": "Contacts",
796
- "href": "/contacts",
797
- "icon": "users"
798
- },
799
- {
800
- "label": "Deals",
801
- "href": "/deals",
802
- "icon": "briefcase"
803
- },
804
- {
805
- "label": "Pipeline",
806
- "href": "/pipeline",
807
- "icon": "bar-chart-2"
808
- },
809
- {
810
- "label": "Notes",
811
- "href": "/notes",
812
- "icon": "file-text"
813
- }
814
- ],
815
- "children": [
816
- {
817
- "type": "stack",
818
- "direction": "vertical",
819
- "gap": "lg",
820
- "className": "max-w-5xl mx-auto w-full",
821
- "children": [
822
- {
823
- "type": "stack",
824
- "direction": "horizontal",
825
- "gap": "md",
826
- "justify": "space-between",
827
- "align": "center",
828
- "children": [
829
- {
830
- "type": "stack",
831
- "direction": "horizontal",
832
- "gap": "sm",
833
- "align": "center",
834
- "children": [
835
- {
836
- "type": "icon",
837
- "name": "users",
838
- "size": "lg"
839
- },
840
- {
841
- "type": "typography",
842
- "content": "Contacts",
843
- "variant": "h2"
844
- }
845
- ]
846
- },
847
- {
848
- "type": "stack",
849
- "direction": "horizontal",
850
- "gap": "sm",
851
- "children": [
852
- {
853
- "type": "button",
854
- "label": "Add Contact",
855
- "event": "CREATE",
856
- "variant": "primary",
857
- "icon": "plus"
858
- }
859
- ]
860
- }
861
- ]
862
- },
863
- {
864
- "type": "divider"
865
- },
866
- {
867
- "type": "simple-grid",
868
- "columns": 1,
869
- "children": [
870
- {
871
- "type": "stat-display",
872
- "label": "Total Contacts",
873
- "value": [
874
- "array/len",
875
- "@entity"
876
- ],
877
- "icon": "users"
878
- }
879
- ]
880
- },
881
- {
882
- "type": "divider"
883
- },
884
- {
885
- "type": "data-list",
886
- "entity": "Contact",
887
- "emptyIcon": "inbox",
888
- "emptyTitle": "No contacts yet",
889
- "emptyDescription": "Add your first contact to start building your CRM.",
890
- "itemActions": [
891
- {
892
- "label": "View",
893
- "event": "VIEW",
894
- "variant": "ghost",
895
- "size": "sm"
896
- },
897
- {
898
- "label": "Edit",
899
- "event": "EDIT",
900
- "variant": "ghost",
901
- "size": "sm"
902
- },
903
- {
904
- "label": "Delete",
905
- "event": "DELETE",
906
- "variant": "danger",
907
- "size": "sm"
908
- }
909
- ],
910
- "columns": [
911
- {
912
- "name": "name",
913
- "variant": "h3",
914
- "icon": "user"
915
- },
916
- {
917
- "name": "status",
918
- "variant": "badge"
919
- },
920
- {
921
- "name": "company",
922
- "variant": "body"
923
- },
924
- {
925
- "name": "email",
926
- "variant": "caption"
927
- },
928
- {
929
- "name": "phone",
930
- "variant": "caption"
931
- }
932
- ],
933
- "variant": "card",
934
- "gap": "sm"
935
- }
936
- ]
937
- }
938
- ]
939
- }
940
- ]
941
- ]
942
- }
943
- ]
944
- },
945
- "emits": [
946
- {
947
- "event": "CONVERT_LEAD",
948
- "description": "Convert contact lead to a deal",
949
- "payload": [
950
- {
951
- "name": "id",
952
- "type": "string",
953
- "required": true
954
- }
955
- ],
956
- "scope": "external"
957
- }
958
- ]
959
- },
960
- {
961
- "name": "ContactCreate",
962
- "linkedEntity": "Contact",
963
- "category": "interaction",
964
- "emits": [
965
- {
966
- "event": "CONTACT_CREATED"
967
- }
968
- ],
969
- "stateMachine": {
970
- "states": [
971
- {
972
- "name": "closed",
973
- "isInitial": true
974
- },
975
- {
976
- "name": "open"
977
- }
978
- ],
979
- "events": [
980
- {
981
- "key": "INIT",
982
- "name": "Initialize"
983
- },
984
- {
985
- "key": "CREATE",
986
- "name": "Open"
987
- },
988
- {
989
- "key": "CLOSE",
990
- "name": "Close"
991
- },
992
- {
993
- "key": "SAVE",
994
- "name": "Save",
995
- "payload": [
996
- {
997
- "name": "data",
998
- "type": "object",
999
- "required": true
1000
- }
1001
- ]
1002
- }
1003
- ],
1004
- "transitions": [
1005
- {
1006
- "from": "closed",
1007
- "to": "closed",
1008
- "event": "INIT",
1009
- "effects": [
1010
- [
1011
- "ref",
1012
- "Contact"
1013
- ]
1014
- ]
1015
- },
1016
- {
1017
- "from": "closed",
1018
- "to": "open",
1019
- "event": "CREATE",
1020
- "effects": [
1021
- [
1022
- "fetch",
1023
- "Contact"
1024
- ],
1025
- [
1026
- "render-ui",
1027
- "modal",
1028
- {
1029
- "type": "stack",
1030
- "direction": "vertical",
1031
- "gap": "md",
1032
- "children": [
1033
- {
1034
- "type": "stack",
1035
- "direction": "horizontal",
1036
- "gap": "sm",
1037
- "children": [
1038
- {
1039
- "type": "icon",
1040
- "name": "plus-circle",
1041
- "size": "md"
1042
- },
1043
- {
1044
- "type": "typography",
1045
- "content": "New Contact",
1046
- "variant": "h3"
1047
- }
1048
- ]
1049
- },
1050
- {
1051
- "type": "divider"
1052
- },
1053
- {
1054
- "type": "form-section",
1055
- "entity": "Contact",
1056
- "mode": "create",
1057
- "submitEvent": "SAVE",
1058
- "cancelEvent": "CLOSE",
1059
- "fields": [
1060
- "name",
1061
- "company",
1062
- "email",
1063
- "phone",
1064
- "status"
1065
- ]
1066
- }
1067
- ]
1068
- }
1069
- ]
1070
- ]
1071
- },
1072
- {
1073
- "from": "open",
1074
- "to": "closed",
1075
- "event": "CLOSE",
1076
- "effects": [
1077
- [
1078
- "render-ui",
1079
- "modal",
1080
- null
1081
- ],
1082
- [
1083
- "notify",
1084
- "Cancelled",
1085
- "info"
1086
- ]
1087
- ]
1088
- },
1089
- {
1090
- "from": "open",
1091
- "to": "closed",
1092
- "event": "SAVE",
1093
- "effects": [
1094
- [
1095
- "persist",
1096
- "create",
1097
- "Contact",
1098
- "@payload.data"
1099
- ],
1100
- [
1101
- "render-ui",
1102
- "modal",
1103
- null
1104
- ],
1105
- [
1106
- "emit",
1107
- "CONTACT_CREATED"
1108
- ],
1109
- [
1110
- "notify",
1111
- "Contact created successfully"
1112
- ]
1113
- ]
1114
- }
1115
- ]
1116
- }
1117
- },
1118
- {
1119
- "name": "ContactEdit",
1120
- "linkedEntity": "Contact",
1121
- "category": "interaction",
1122
- "emits": [
1123
- {
1124
- "event": "CONTACT_UPDATED"
1125
- }
1126
- ],
1127
- "stateMachine": {
1128
- "states": [
1129
- {
1130
- "name": "closed",
1131
- "isInitial": true
1132
- },
1133
- {
1134
- "name": "open"
1135
- }
1136
- ],
1137
- "events": [
1138
- {
1139
- "key": "INIT",
1140
- "name": "Initialize"
1141
- },
1142
- {
1143
- "key": "EDIT",
1144
- "name": "Open",
1145
- "payload": [
1146
- {
1147
- "name": "id",
1148
- "type": "string",
1149
- "required": true
1150
- }
1151
- ]
1152
- },
1153
- {
1154
- "key": "CLOSE",
1155
- "name": "Close"
1156
- },
1157
- {
1158
- "key": "SAVE",
1159
- "name": "Save",
1160
- "payload": [
1161
- {
1162
- "name": "data",
1163
- "type": "object",
1164
- "required": true
1165
- }
1166
- ]
1167
- }
1168
- ],
1169
- "transitions": [
1170
- {
1171
- "from": "closed",
1172
- "to": "closed",
1173
- "event": "INIT",
1174
- "effects": [
1175
- [
1176
- "ref",
1177
- "Contact"
1178
- ]
1179
- ]
1180
- },
1181
- {
1182
- "from": "closed",
1183
- "to": "open",
1184
- "event": "EDIT",
1185
- "effects": [
1186
- [
1187
- "fetch",
1188
- "Contact",
1189
- {
1190
- "id": "@payload.id"
1191
- }
1192
- ],
1193
- [
1194
- "render-ui",
1195
- "modal",
1196
- {
1197
- "type": "stack",
1198
- "direction": "vertical",
1199
- "gap": "md",
1200
- "children": [
1201
- {
1202
- "type": "stack",
1203
- "direction": "horizontal",
1204
- "gap": "sm",
1205
- "children": [
1206
- {
1207
- "type": "icon",
1208
- "name": "edit",
1209
- "size": "md"
1210
- },
1211
- {
1212
- "type": "typography",
1213
- "content": "Edit Contact",
1214
- "variant": "h3"
1215
- }
1216
- ]
1217
- },
1218
- {
1219
- "type": "divider"
1220
- },
1221
- {
1222
- "type": "form-section",
1223
- "entity": "Contact",
1224
- "mode": "edit",
1225
- "submitEvent": "SAVE",
1226
- "cancelEvent": "CLOSE",
1227
- "fields": [
1228
- "name",
1229
- "company",
1230
- "email",
1231
- "phone",
1232
- "status"
1233
- ],
1234
- "entityId": "@entity.id"
1235
- }
1236
- ]
1237
- }
1238
- ]
1239
- ]
1240
- },
1241
- {
1242
- "from": "open",
1243
- "to": "closed",
1244
- "event": "CLOSE",
1245
- "effects": [
1246
- [
1247
- "render-ui",
1248
- "modal",
1249
- null
1250
- ],
1251
- [
1252
- "notify",
1253
- "Cancelled",
1254
- "info"
1255
- ]
1256
- ]
1257
- },
1258
- {
1259
- "from": "open",
1260
- "to": "closed",
1261
- "event": "SAVE",
1262
- "effects": [
1263
- [
1264
- "persist",
1265
- "update",
1266
- "Contact",
1267
- "@payload.data"
1268
- ],
1269
- [
1270
- "render-ui",
1271
- "modal",
1272
- null
1273
- ],
1274
- [
1275
- "emit",
1276
- "CONTACT_UPDATED"
1277
- ],
1278
- [
1279
- "notify",
1280
- "Contact updated successfully"
1281
- ]
1282
- ]
1283
- }
1284
- ]
1285
- }
1286
- },
1287
- {
1288
- "name": "ContactView",
1289
- "linkedEntity": "Contact",
1290
- "category": "interaction",
1291
- "stateMachine": {
1292
- "states": [
1293
- {
1294
- "name": "closed",
1295
- "isInitial": true
1296
- },
1297
- {
1298
- "name": "open"
1299
- }
1300
- ],
1301
- "events": [
1302
- {
1303
- "key": "INIT",
1304
- "name": "Initialize"
1305
- },
1306
- {
1307
- "key": "VIEW",
1308
- "name": "Open",
1309
- "payload": [
1310
- {
1311
- "name": "id",
1312
- "type": "string",
1313
- "required": true
1314
- }
1315
- ]
1316
- },
1317
- {
1318
- "key": "CLOSE",
1319
- "name": "Close"
1320
- }
1321
- ],
1322
- "transitions": [
1323
- {
1324
- "from": "closed",
1325
- "to": "closed",
1326
- "event": "INIT",
1327
- "effects": [
1328
- [
1329
- "ref",
1330
- "Contact"
1331
- ]
1332
- ]
1333
- },
1334
- {
1335
- "from": "closed",
1336
- "to": "open",
1337
- "event": "VIEW",
1338
- "effects": [
1339
- [
1340
- "fetch",
1341
- "Contact",
1342
- {
1343
- "id": "@payload.id"
1344
- }
1345
- ],
1346
- [
1347
- "render-ui",
1348
- "modal",
1349
- {
1350
- "type": "stack",
1351
- "direction": "vertical",
1352
- "gap": "md",
1353
- "children": [
1354
- {
1355
- "type": "stack",
1356
- "direction": "horizontal",
1357
- "gap": "sm",
1358
- "align": "center",
1359
- "children": [
1360
- {
1361
- "type": "icon",
1362
- "name": "eye",
1363
- "size": "md"
1364
- },
1365
- {
1366
- "type": "typography",
1367
- "variant": "h3",
1368
- "content": "@entity.name"
1369
- }
1370
- ]
1371
- },
1372
- {
1373
- "type": "divider"
1374
- },
1375
- {
1376
- "type": "stack",
1377
- "direction": "horizontal",
1378
- "gap": "md",
1379
- "children": [
1380
- {
1381
- "type": "typography",
1382
- "variant": "caption",
1383
- "content": "Name"
1384
- },
1385
- {
1386
- "type": "typography",
1387
- "variant": "body",
1388
- "content": "@entity.name"
1389
- }
1390
- ]
1391
- },
1392
- {
1393
- "type": "stack",
1394
- "direction": "horizontal",
1395
- "gap": "md",
1396
- "children": [
1397
- {
1398
- "type": "typography",
1399
- "variant": "caption",
1400
- "content": "Company"
1401
- },
1402
- {
1403
- "type": "typography",
1404
- "variant": "body",
1405
- "content": "@entity.company"
1406
- }
1407
- ]
1408
- },
1409
- {
1410
- "type": "stack",
1411
- "direction": "horizontal",
1412
- "gap": "md",
1413
- "children": [
1414
- {
1415
- "type": "typography",
1416
- "variant": "caption",
1417
- "content": "Email"
1418
- },
1419
- {
1420
- "type": "typography",
1421
- "variant": "body",
1422
- "content": "@entity.email"
1423
- }
1424
- ]
1425
- },
1426
- {
1427
- "type": "stack",
1428
- "direction": "horizontal",
1429
- "gap": "md",
1430
- "children": [
1431
- {
1432
- "type": "typography",
1433
- "variant": "caption",
1434
- "content": "Phone"
1435
- },
1436
- {
1437
- "type": "typography",
1438
- "variant": "body",
1439
- "content": "@entity.phone"
1440
- }
1441
- ]
1442
- },
1443
- {
1444
- "type": "stack",
1445
- "direction": "horizontal",
1446
- "gap": "md",
1447
- "children": [
1448
- {
1449
- "type": "typography",
1450
- "variant": "caption",
1451
- "content": "Status"
1452
- },
1453
- {
1454
- "type": "typography",
1455
- "variant": "body",
1456
- "content": "@entity.status"
1457
- }
1458
- ]
1459
- },
1460
- {
1461
- "type": "divider"
1462
- },
1463
- {
1464
- "type": "stack",
1465
- "direction": "horizontal",
1466
- "gap": "sm",
1467
- "justify": "end",
1468
- "children": [
1469
- {
1470
- "type": "button",
1471
- "label": "Edit",
1472
- "event": "EDIT",
1473
- "variant": "primary",
1474
- "icon": "edit"
1475
- },
1476
- {
1477
- "type": "button",
1478
- "label": "Close",
1479
- "event": "CLOSE",
1480
- "variant": "ghost"
1481
- }
1482
- ]
1483
- }
1484
- ]
1485
- }
1486
- ]
1487
- ]
1488
- },
1489
- {
1490
- "from": "open",
1491
- "to": "closed",
1492
- "event": "CLOSE",
1493
- "effects": [
1494
- [
1495
- "render-ui",
1496
- "modal",
1497
- null
1498
- ],
1499
- [
1500
- "notify",
1501
- "Cancelled",
1502
- "info"
463
+ "emit",
464
+ "CONTACT_CREATED"
1503
465
  ]
1504
466
  ]
1505
467
  }
1506
468
  ]
1507
469
  }
1508
- }
1509
- ],
1510
- "pages": [
1511
- {
1512
- "name": "ContactsPage",
1513
- "path": "/contacts",
1514
- "isInitial": true,
1515
- "traits": [
1516
- {
1517
- "ref": "ContactBrowse"
1518
- },
1519
- {
1520
- "ref": "ContactCreate"
1521
- },
1522
- {
1523
- "ref": "ContactEdit"
1524
- },
1525
- {
1526
- "ref": "ContactView"
1527
- }
1528
- ]
1529
- }
1530
- ]
1531
- },
1532
- {
1533
- "name": "DealOrbital",
1534
- "entity": {
1535
- "name": "Deal",
1536
- "persistence": "runtime",
1537
- "fields": [
1538
- {
1539
- "name": "id",
1540
- "type": "string",
1541
- "required": true
1542
- },
1543
- {
1544
- "name": "title",
1545
- "type": "string",
1546
- "default": ""
1547
- },
1548
- {
1549
- "name": "contactId",
1550
- "type": "string",
1551
- "default": ""
1552
- },
1553
- {
1554
- "name": "value",
1555
- "type": "number",
1556
- "default": 0
1557
- },
1558
- {
1559
- "name": "stage",
1560
- "type": "string",
1561
- "default": "prospecting",
1562
- "values": [
1563
- "prospecting",
1564
- "qualification",
1565
- "proposal",
1566
- "negotiation",
1567
- "closed-won",
1568
- "closed-lost"
1569
- ]
1570
- },
1571
- {
1572
- "name": "closedAt",
1573
- "type": "date",
1574
- "default": ""
1575
- }
1576
- ]
1577
- },
1578
- "traits": [
470
+ },
1579
471
  {
1580
- "name": "DealBrowse",
1581
- "linkedEntity": "Deal",
472
+ "name": "ContactEdit",
473
+ "linkedEntity": "Contact",
1582
474
  "category": "interaction",
1583
- "listens": [
1584
- {
1585
- "event": "DEAL_CREATED",
1586
- "triggers": "DEAL_CREATED"
1587
- },
475
+ "emits": [
1588
476
  {
1589
- "event": "DEAL_UPDATED",
1590
- "triggers": "DEAL_UPDATED"
477
+ "event": "SAVE"
1591
478
  },
1592
479
  {
1593
- "event": "CONVERT_LEAD",
1594
- "triggers": "INIT",
1595
- "scope": "external"
480
+ "event": "CONTACT_UPDATED"
1596
481
  }
1597
482
  ],
1598
483
  "stateMachine": {
1599
484
  "states": [
1600
485
  {
1601
- "name": "browsing",
486
+ "name": "closed",
1602
487
  "isInitial": true
1603
488
  },
1604
489
  {
1605
- "name": "deleting"
490
+ "name": "open"
1606
491
  }
1607
492
  ],
1608
493
  "events": [
1609
494
  {
1610
495
  "key": "INIT",
1611
- "name": "Initialize"
1612
- },
1613
- {
1614
- "key": "CREATE",
1615
- "name": "CREATE"
1616
- },
1617
- {
1618
- "key": "VIEW",
1619
- "name": "VIEW",
1620
- "payload": [
1621
- {
1622
- "name": "id",
1623
- "type": "string",
1624
- "required": true
1625
- },
1626
- {
1627
- "name": "row",
1628
- "type": "object"
1629
- }
1630
- ]
1631
- },
1632
- {
1633
- "key": "EDIT",
1634
- "name": "EDIT",
1635
- "payload": [
1636
- {
1637
- "name": "id",
1638
- "type": "string",
1639
- "required": true
1640
- },
1641
- {
1642
- "name": "row",
1643
- "type": "object"
1644
- }
1645
- ]
496
+ "name": "Initialize"
1646
497
  },
1647
498
  {
1648
- "key": "DELETE",
1649
- "name": "DELETE",
499
+ "key": "EDIT",
500
+ "name": "Open",
1650
501
  "payload": [
1651
502
  {
1652
503
  "name": "id",
1653
504
  "type": "string",
1654
505
  "required": true
1655
- },
1656
- {
1657
- "name": "row",
1658
- "type": "object"
1659
506
  }
1660
507
  ]
1661
508
  },
1662
509
  {
1663
- "key": "DEAL_CREATED",
1664
- "name": "DEAL_CREATED",
1665
- "payload": [
1666
- {
1667
- "name": "data",
1668
- "type": "object",
1669
- "required": true
1670
- }
1671
- ]
510
+ "key": "CLOSE",
511
+ "name": "Close"
1672
512
  },
1673
513
  {
1674
- "key": "DEAL_UPDATED",
1675
- "name": "DEAL_UPDATED",
514
+ "key": "SAVE",
515
+ "name": "Save",
1676
516
  "payload": [
1677
517
  {
1678
518
  "name": "data",
@@ -1680,160 +520,74 @@
1680
520
  "required": true
1681
521
  }
1682
522
  ]
1683
- },
1684
- {
1685
- "key": "CONFIRM_DELETE",
1686
- "name": "Confirm Delete"
1687
- },
1688
- {
1689
- "key": "CANCEL",
1690
- "name": "Cancel"
1691
- },
1692
- {
1693
- "key": "CLOSE",
1694
- "name": "Close"
1695
523
  }
1696
524
  ],
1697
525
  "transitions": [
1698
526
  {
1699
- "from": "browsing",
1700
- "to": "browsing",
527
+ "from": "closed",
528
+ "to": "closed",
1701
529
  "event": "INIT",
1702
530
  "effects": [
1703
531
  [
1704
532
  "ref",
1705
- "Deal"
533
+ "Contact"
534
+ ]
535
+ ]
536
+ },
537
+ {
538
+ "from": "closed",
539
+ "to": "open",
540
+ "event": "EDIT",
541
+ "effects": [
542
+ [
543
+ "fetch",
544
+ "Contact",
545
+ {
546
+ "id": "@payload.id"
547
+ }
1706
548
  ],
1707
549
  [
1708
550
  "render-ui",
1709
- "main",
551
+ "modal",
1710
552
  {
1711
- "type": "dashboard-layout",
1712
- "appName": "CRM",
1713
- "navItems": [
1714
- {
1715
- "label": "Contacts",
1716
- "href": "/contacts",
1717
- "icon": "users"
1718
- },
1719
- {
1720
- "label": "Deals",
1721
- "href": "/deals",
1722
- "icon": "briefcase"
1723
- },
1724
- {
1725
- "label": "Pipeline",
1726
- "href": "/pipeline",
1727
- "icon": "bar-chart-2"
1728
- },
1729
- {
1730
- "label": "Notes",
1731
- "href": "/notes",
1732
- "icon": "file-text"
1733
- }
1734
- ],
553
+ "type": "stack",
554
+ "direction": "vertical",
555
+ "gap": "md",
1735
556
  "children": [
1736
557
  {
1737
558
  "type": "stack",
1738
- "direction": "vertical",
1739
- "gap": "lg",
1740
- "className": "max-w-5xl mx-auto w-full",
559
+ "direction": "horizontal",
560
+ "gap": "sm",
1741
561
  "children": [
1742
562
  {
1743
- "type": "stack",
1744
- "direction": "horizontal",
1745
- "gap": "md",
1746
- "justify": "space-between",
1747
- "align": "center",
1748
- "children": [
1749
- {
1750
- "type": "stack",
1751
- "direction": "horizontal",
1752
- "gap": "sm",
1753
- "align": "center",
1754
- "children": [
1755
- {
1756
- "type": "icon",
1757
- "name": "briefcase",
1758
- "size": "lg"
1759
- },
1760
- {
1761
- "type": "typography",
1762
- "content": "Deals",
1763
- "variant": "h2"
1764
- }
1765
- ]
1766
- },
1767
- {
1768
- "type": "stack",
1769
- "direction": "horizontal",
1770
- "gap": "sm",
1771
- "children": [
1772
- {
1773
- "type": "button",
1774
- "label": "New Deal",
1775
- "event": "CREATE",
1776
- "variant": "primary",
1777
- "icon": "plus"
1778
- }
1779
- ]
1780
- }
1781
- ]
1782
- },
1783
- {
1784
- "type": "divider"
563
+ "type": "icon",
564
+ "name": "edit",
565
+ "size": "md"
1785
566
  },
1786
567
  {
1787
- "type": "data-grid",
1788
- "entity": "Deal",
1789
- "emptyIcon": "inbox",
1790
- "emptyTitle": "No deals yet",
1791
- "emptyDescription": "Create a deal to track your sales pipeline.",
1792
- "itemActions": [
1793
- {
1794
- "label": "View",
1795
- "event": "VIEW",
1796
- "variant": "ghost",
1797
- "size": "sm"
1798
- },
1799
- {
1800
- "label": "Edit",
1801
- "event": "EDIT",
1802
- "variant": "ghost",
1803
- "size": "sm"
1804
- },
1805
- {
1806
- "label": "Delete",
1807
- "event": "DELETE",
1808
- "variant": "danger",
1809
- "size": "sm"
1810
- }
1811
- ],
1812
- "columns": [
1813
- {
1814
- "name": "title",
1815
- "variant": "h3",
1816
- "icon": "briefcase"
1817
- },
1818
- {
1819
- "name": "stage",
1820
- "variant": "badge"
1821
- },
1822
- {
1823
- "name": "value",
1824
- "variant": "h4",
1825
- "format": "currency"
1826
- },
1827
- {
1828
- "name": "contactId",
1829
- "label": "Contact",
1830
- "variant": "caption"
1831
- }
1832
- ],
1833
- "cols": 2,
1834
- "gap": "md"
568
+ "type": "typography",
569
+ "content": "Edit Contact",
570
+ "variant": "h3"
1835
571
  }
1836
572
  ]
573
+ },
574
+ {
575
+ "type": "divider"
576
+ },
577
+ {
578
+ "type": "form-section",
579
+ "entity": "Contact",
580
+ "mode": "edit",
581
+ "submitEvent": "SAVE",
582
+ "cancelEvent": "CLOSE",
583
+ "fields": [
584
+ "name",
585
+ "company",
586
+ "email",
587
+ "phone",
588
+ "status"
589
+ ],
590
+ "entityId": "@entity.id"
1837
591
  }
1838
592
  ]
1839
593
  }
@@ -1841,35 +595,118 @@
1841
595
  ]
1842
596
  },
1843
597
  {
1844
- "from": "browsing",
1845
- "to": "browsing",
1846
- "event": "DEAL_CREATED",
1847
- "effects": [
1848
- [
1849
- "ref",
1850
- "Deal"
1851
- ]
598
+ "from": "open",
599
+ "to": "closed",
600
+ "event": "CLOSE",
601
+ "effects": [
602
+ [
603
+ "render-ui",
604
+ "modal",
605
+ null
606
+ ],
607
+ [
608
+ "notify",
609
+ "Cancelled",
610
+ "info"
611
+ ]
612
+ ]
613
+ },
614
+ {
615
+ "from": "open",
616
+ "to": "closed",
617
+ "event": "SAVE",
618
+ "effects": [
619
+ [
620
+ "persist",
621
+ "update",
622
+ "Contact",
623
+ "@payload.data"
624
+ ],
625
+ [
626
+ "render-ui",
627
+ "modal",
628
+ null
629
+ ],
630
+ [
631
+ "emit",
632
+ "CONTACT_UPDATED"
633
+ ]
634
+ ]
635
+ }
636
+ ]
637
+ }
638
+ },
639
+ {
640
+ "name": "ContactView",
641
+ "linkedEntity": "Contact",
642
+ "category": "interaction",
643
+ "emits": [
644
+ {
645
+ "event": "SAVE"
646
+ }
647
+ ],
648
+ "stateMachine": {
649
+ "states": [
650
+ {
651
+ "name": "closed",
652
+ "isInitial": true
653
+ },
654
+ {
655
+ "name": "open"
656
+ }
657
+ ],
658
+ "events": [
659
+ {
660
+ "key": "INIT",
661
+ "name": "Initialize"
662
+ },
663
+ {
664
+ "key": "VIEW",
665
+ "name": "Open",
666
+ "payload": [
667
+ {
668
+ "name": "id",
669
+ "type": "string",
670
+ "required": true
671
+ }
1852
672
  ]
1853
673
  },
1854
674
  {
1855
- "from": "browsing",
1856
- "to": "browsing",
1857
- "event": "DEAL_UPDATED",
675
+ "key": "CLOSE",
676
+ "name": "Close"
677
+ },
678
+ {
679
+ "key": "SAVE",
680
+ "name": "Save",
681
+ "payload": [
682
+ {
683
+ "name": "data",
684
+ "type": "object",
685
+ "required": true
686
+ }
687
+ ]
688
+ }
689
+ ],
690
+ "transitions": [
691
+ {
692
+ "from": "closed",
693
+ "to": "closed",
694
+ "event": "INIT",
1858
695
  "effects": [
1859
696
  [
1860
697
  "ref",
1861
- "Deal"
698
+ "Contact"
1862
699
  ]
1863
700
  ]
1864
701
  },
1865
702
  {
1866
- "from": "browsing",
1867
- "to": "deleting",
1868
- "event": "DELETE",
703
+ "from": "closed",
704
+ "to": "open",
705
+ "event": "VIEW",
1869
706
  "effects": [
1870
707
  [
1871
708
  "fetch",
1872
- "Deal",
709
+ "Contact",
1873
710
  {
1874
711
  "id": "@payload.id"
1875
712
  }
@@ -1886,356 +723,301 @@
1886
723
  "type": "stack",
1887
724
  "direction": "horizontal",
1888
725
  "gap": "sm",
726
+ "align": "center",
1889
727
  "children": [
1890
728
  {
1891
729
  "type": "icon",
1892
- "name": "trash-2",
730
+ "name": "eye",
1893
731
  "size": "md"
1894
732
  },
1895
733
  {
1896
734
  "type": "typography",
1897
- "content": "Delete Deal",
1898
- "variant": "h3"
735
+ "variant": "h3",
736
+ "content": "@entity.name"
1899
737
  }
1900
738
  ]
1901
739
  },
1902
740
  {
1903
741
  "type": "divider"
1904
742
  },
1905
- {
1906
- "type": "typography",
1907
- "content": "@entity.title",
1908
- "variant": "h4"
1909
- },
1910
- {
1911
- "type": "typography",
1912
- "content": "This action cannot be undone.",
1913
- "variant": "body"
1914
- },
1915
743
  {
1916
744
  "type": "stack",
1917
745
  "direction": "horizontal",
1918
- "gap": "sm",
1919
- "justify": "end",
746
+ "gap": "md",
1920
747
  "children": [
1921
748
  {
1922
- "type": "button",
1923
- "label": "Cancel",
1924
- "event": "CANCEL",
1925
- "variant": "ghost"
749
+ "type": "typography",
750
+ "variant": "caption",
751
+ "content": "Name"
1926
752
  },
1927
753
  {
1928
- "type": "button",
1929
- "label": "Delete",
1930
- "event": "CONFIRM_DELETE",
1931
- "variant": "danger",
1932
- "icon": "trash"
754
+ "type": "typography",
755
+ "variant": "body",
756
+ "content": "@entity.name"
1933
757
  }
1934
758
  ]
1935
- }
1936
- ]
1937
- }
1938
- ]
1939
- ]
1940
- },
1941
- {
1942
- "from": "deleting",
1943
- "to": "browsing",
1944
- "event": "CONFIRM_DELETE",
1945
- "effects": [
1946
- [
1947
- "persist",
1948
- "delete",
1949
- "Deal",
1950
- "@entity.id"
1951
- ],
1952
- [
1953
- "render-ui",
1954
- "modal",
1955
- null
1956
- ],
1957
- [
1958
- "render-ui",
1959
- "main",
1960
- {
1961
- "type": "dashboard-layout",
1962
- "appName": "CRM",
1963
- "navItems": [
1964
- {
1965
- "label": "Contacts",
1966
- "href": "/contacts",
1967
- "icon": "users"
1968
759
  },
1969
760
  {
1970
- "label": "Deals",
1971
- "href": "/deals",
1972
- "icon": "briefcase"
1973
- },
1974
- {
1975
- "label": "Pipeline",
1976
- "href": "/pipeline",
1977
- "icon": "bar-chart-2"
761
+ "type": "stack",
762
+ "direction": "horizontal",
763
+ "gap": "md",
764
+ "children": [
765
+ {
766
+ "type": "typography",
767
+ "variant": "caption",
768
+ "content": "Company"
769
+ },
770
+ {
771
+ "type": "typography",
772
+ "variant": "body",
773
+ "content": "@entity.company"
774
+ }
775
+ ]
1978
776
  },
1979
- {
1980
- "label": "Notes",
1981
- "href": "/notes",
1982
- "icon": "file-text"
1983
- }
1984
- ],
1985
- "children": [
1986
777
  {
1987
778
  "type": "stack",
1988
- "direction": "vertical",
1989
- "gap": "lg",
1990
- "className": "max-w-5xl mx-auto w-full",
779
+ "direction": "horizontal",
780
+ "gap": "md",
1991
781
  "children": [
1992
782
  {
1993
- "type": "stack",
1994
- "direction": "horizontal",
1995
- "gap": "md",
1996
- "justify": "space-between",
1997
- "align": "center",
1998
- "children": [
1999
- {
2000
- "type": "stack",
2001
- "direction": "horizontal",
2002
- "gap": "sm",
2003
- "align": "center",
2004
- "children": [
2005
- {
2006
- "type": "icon",
2007
- "name": "briefcase",
2008
- "size": "lg"
2009
- },
2010
- {
2011
- "type": "typography",
2012
- "content": "Deals",
2013
- "variant": "h2"
2014
- }
2015
- ]
2016
- },
2017
- {
2018
- "type": "stack",
2019
- "direction": "horizontal",
2020
- "gap": "sm",
2021
- "children": [
2022
- {
2023
- "type": "button",
2024
- "label": "New Deal",
2025
- "event": "CREATE",
2026
- "variant": "primary",
2027
- "icon": "plus"
2028
- }
2029
- ]
2030
- }
2031
- ]
783
+ "type": "typography",
784
+ "variant": "caption",
785
+ "content": "Email"
2032
786
  },
2033
787
  {
2034
- "type": "divider"
788
+ "type": "typography",
789
+ "variant": "body",
790
+ "content": "@entity.email"
791
+ }
792
+ ]
793
+ },
794
+ {
795
+ "type": "stack",
796
+ "direction": "horizontal",
797
+ "gap": "md",
798
+ "children": [
799
+ {
800
+ "type": "typography",
801
+ "variant": "caption",
802
+ "content": "Phone"
2035
803
  },
2036
804
  {
2037
- "type": "data-grid",
2038
- "entity": "Deal",
2039
- "emptyIcon": "inbox",
2040
- "emptyTitle": "No deals yet",
2041
- "emptyDescription": "Create a deal to track your sales pipeline.",
2042
- "itemActions": [
2043
- {
2044
- "label": "View",
2045
- "event": "VIEW",
2046
- "variant": "ghost",
2047
- "size": "sm"
2048
- },
2049
- {
2050
- "label": "Edit",
2051
- "event": "EDIT",
2052
- "variant": "ghost",
2053
- "size": "sm"
2054
- },
2055
- {
2056
- "label": "Delete",
2057
- "event": "DELETE",
2058
- "variant": "danger",
2059
- "size": "sm"
2060
- }
2061
- ],
2062
- "columns": [
2063
- {
2064
- "name": "title",
2065
- "variant": "h3",
2066
- "icon": "briefcase"
2067
- },
2068
- {
2069
- "name": "stage",
2070
- "variant": "badge"
2071
- },
2072
- {
2073
- "name": "value",
2074
- "variant": "h4",
2075
- "format": "currency"
2076
- },
2077
- {
2078
- "name": "contactId",
2079
- "label": "Contact",
2080
- "variant": "caption"
2081
- }
2082
- ],
2083
- "cols": 2,
2084
- "gap": "md"
805
+ "type": "typography",
806
+ "variant": "body",
807
+ "content": "@entity.phone"
808
+ }
809
+ ]
810
+ },
811
+ {
812
+ "type": "stack",
813
+ "direction": "horizontal",
814
+ "gap": "md",
815
+ "children": [
816
+ {
817
+ "type": "typography",
818
+ "variant": "caption",
819
+ "content": "Status"
820
+ },
821
+ {
822
+ "type": "typography",
823
+ "variant": "body",
824
+ "content": "@entity.status"
825
+ }
826
+ ]
827
+ },
828
+ {
829
+ "type": "divider"
830
+ },
831
+ {
832
+ "type": "stack",
833
+ "direction": "horizontal",
834
+ "gap": "sm",
835
+ "justify": "end",
836
+ "children": [
837
+ {
838
+ "type": "button",
839
+ "label": "Edit",
840
+ "event": "EDIT",
841
+ "variant": "primary",
842
+ "icon": "edit"
843
+ },
844
+ {
845
+ "type": "button",
846
+ "label": "Close",
847
+ "event": "CLOSE",
848
+ "variant": "ghost"
2085
849
  }
2086
850
  ]
2087
851
  }
2088
852
  ]
2089
853
  }
854
+ ]
855
+ ]
856
+ },
857
+ {
858
+ "from": "open",
859
+ "to": "closed",
860
+ "event": "CLOSE",
861
+ "effects": [
862
+ [
863
+ "render-ui",
864
+ "modal",
865
+ null
2090
866
  ],
2091
867
  [
2092
868
  "notify",
2093
- "Deal deleted successfully"
869
+ "Cancelled",
870
+ "info"
2094
871
  ]
2095
872
  ]
2096
873
  },
2097
874
  {
2098
- "from": "deleting",
2099
- "to": "browsing",
2100
- "event": "CANCEL",
875
+ "from": "open",
876
+ "to": "closed",
877
+ "event": "SAVE",
2101
878
  "effects": [
2102
879
  [
2103
880
  "render-ui",
2104
881
  "modal",
2105
882
  null
883
+ ]
884
+ ]
885
+ }
886
+ ]
887
+ }
888
+ },
889
+ {
890
+ "name": "ContactDelete",
891
+ "linkedEntity": "Contact",
892
+ "category": "interaction",
893
+ "emits": [
894
+ {
895
+ "event": "CONFIRM_DELETE"
896
+ },
897
+ {
898
+ "event": "CONTACT_DELETED"
899
+ }
900
+ ],
901
+ "stateMachine": {
902
+ "states": [
903
+ {
904
+ "name": "idle",
905
+ "isInitial": true
906
+ },
907
+ {
908
+ "name": "confirming"
909
+ }
910
+ ],
911
+ "events": [
912
+ {
913
+ "key": "INIT",
914
+ "name": "Initialize"
915
+ },
916
+ {
917
+ "key": "DELETE",
918
+ "name": "Request Confirmation",
919
+ "payload": [
920
+ {
921
+ "name": "id",
922
+ "type": "string",
923
+ "required": true
924
+ }
925
+ ]
926
+ },
927
+ {
928
+ "key": "CONFIRM_DELETE",
929
+ "name": "Confirm"
930
+ },
931
+ {
932
+ "key": "CANCEL",
933
+ "name": "Cancel"
934
+ },
935
+ {
936
+ "key": "CLOSE",
937
+ "name": "Close"
938
+ }
939
+ ],
940
+ "transitions": [
941
+ {
942
+ "from": "idle",
943
+ "to": "idle",
944
+ "event": "INIT",
945
+ "effects": [
946
+ [
947
+ "ref",
948
+ "Contact"
949
+ ]
950
+ ]
951
+ },
952
+ {
953
+ "from": "idle",
954
+ "to": "confirming",
955
+ "event": "DELETE",
956
+ "effects": [
957
+ [
958
+ "set",
959
+ "@entity.pendingId",
960
+ "@payload.id"
2106
961
  ],
2107
962
  [
2108
963
  "fetch",
2109
- "Deal"
964
+ "Contact",
965
+ {
966
+ "id": "@payload.id"
967
+ }
2110
968
  ],
2111
969
  [
2112
970
  "render-ui",
2113
- "main",
971
+ "modal",
2114
972
  {
2115
- "type": "dashboard-layout",
2116
- "appName": "CRM",
2117
- "navItems": [
2118
- {
2119
- "label": "Contacts",
2120
- "href": "/contacts",
2121
- "icon": "users"
2122
- },
2123
- {
2124
- "label": "Deals",
2125
- "href": "/deals",
2126
- "icon": "briefcase"
2127
- },
2128
- {
2129
- "label": "Pipeline",
2130
- "href": "/pipeline",
2131
- "icon": "bar-chart-2"
2132
- },
2133
- {
2134
- "label": "Notes",
2135
- "href": "/notes",
2136
- "icon": "file-text"
2137
- }
2138
- ],
973
+ "type": "stack",
974
+ "direction": "vertical",
975
+ "gap": "md",
2139
976
  "children": [
2140
977
  {
2141
- "type": "stack",
2142
- "direction": "vertical",
2143
- "gap": "lg",
2144
- "className": "max-w-5xl mx-auto w-full",
2145
- "children": [
2146
- {
2147
- "type": "stack",
2148
- "direction": "horizontal",
2149
- "gap": "md",
2150
- "justify": "space-between",
2151
- "align": "center",
2152
- "children": [
2153
- {
2154
- "type": "stack",
2155
- "direction": "horizontal",
2156
- "gap": "sm",
2157
- "align": "center",
2158
- "children": [
2159
- {
2160
- "type": "icon",
2161
- "name": "briefcase",
2162
- "size": "lg"
2163
- },
2164
- {
2165
- "type": "typography",
2166
- "content": "Deals",
2167
- "variant": "h2"
2168
- }
2169
- ]
2170
- },
2171
- {
2172
- "type": "stack",
2173
- "direction": "horizontal",
2174
- "gap": "sm",
2175
- "children": [
2176
- {
2177
- "type": "button",
2178
- "label": "New Deal",
2179
- "event": "CREATE",
2180
- "variant": "primary",
2181
- "icon": "plus"
2182
- }
2183
- ]
2184
- }
2185
- ]
2186
- },
2187
- {
2188
- "type": "divider"
2189
- },
2190
- {
2191
- "type": "data-grid",
2192
- "entity": "Deal",
2193
- "emptyIcon": "inbox",
2194
- "emptyTitle": "No deals yet",
2195
- "emptyDescription": "Create a deal to track your sales pipeline.",
2196
- "itemActions": [
2197
- {
2198
- "label": "View",
2199
- "event": "VIEW",
2200
- "variant": "ghost",
2201
- "size": "sm"
2202
- },
2203
- {
2204
- "label": "Edit",
2205
- "event": "EDIT",
2206
- "variant": "ghost",
2207
- "size": "sm"
2208
- },
2209
- {
2210
- "label": "Delete",
2211
- "event": "DELETE",
2212
- "variant": "danger",
2213
- "size": "sm"
2214
- }
2215
- ],
2216
- "columns": [
2217
- {
2218
- "name": "title",
2219
- "variant": "h3",
2220
- "icon": "briefcase"
2221
- },
2222
- {
2223
- "name": "stage",
2224
- "variant": "badge"
2225
- },
2226
- {
2227
- "name": "value",
2228
- "variant": "h4",
2229
- "format": "currency"
2230
- },
2231
- {
2232
- "name": "contactId",
2233
- "label": "Contact",
2234
- "variant": "caption"
2235
- }
2236
- ],
2237
- "cols": 2,
2238
- "gap": "md"
978
+ "type": "stack",
979
+ "direction": "horizontal",
980
+ "gap": "sm",
981
+ "align": "center",
982
+ "children": [
983
+ {
984
+ "type": "icon",
985
+ "name": "alert-triangle",
986
+ "size": "md"
987
+ },
988
+ {
989
+ "type": "typography",
990
+ "content": "Delete Contact",
991
+ "variant": "h3"
992
+ }
993
+ ]
994
+ },
995
+ {
996
+ "type": "divider"
997
+ },
998
+ {
999
+ "type": "alert",
1000
+ "variant": "danger",
1001
+ "message": "This action cannot be undone."
1002
+ },
1003
+ {
1004
+ "type": "stack",
1005
+ "direction": "horizontal",
1006
+ "gap": "sm",
1007
+ "justify": "end",
1008
+ "children": [
1009
+ {
1010
+ "type": "button",
1011
+ "label": "Cancel",
1012
+ "event": "CANCEL",
1013
+ "variant": "ghost"
1014
+ },
1015
+ {
1016
+ "type": "button",
1017
+ "label": "Delete",
1018
+ "event": "CONFIRM_DELETE",
1019
+ "variant": "danger",
1020
+ "icon": "check"
2239
1021
  }
2240
1022
  ]
2241
1023
  }
@@ -2245,8 +1027,50 @@
2245
1027
  ]
2246
1028
  },
2247
1029
  {
2248
- "from": "deleting",
2249
- "to": "browsing",
1030
+ "from": "confirming",
1031
+ "to": "idle",
1032
+ "event": "CONFIRM_DELETE",
1033
+ "effects": [
1034
+ [
1035
+ "persist",
1036
+ "delete",
1037
+ "Contact",
1038
+ "@entity.pendingId"
1039
+ ],
1040
+ [
1041
+ "render-ui",
1042
+ "modal",
1043
+ null
1044
+ ],
1045
+ [
1046
+ "ref",
1047
+ "Contact"
1048
+ ],
1049
+ [
1050
+ "emit",
1051
+ "CONTACT_DELETED"
1052
+ ]
1053
+ ]
1054
+ },
1055
+ {
1056
+ "from": "confirming",
1057
+ "to": "idle",
1058
+ "event": "CANCEL",
1059
+ "effects": [
1060
+ [
1061
+ "render-ui",
1062
+ "modal",
1063
+ null
1064
+ ],
1065
+ [
1066
+ "ref",
1067
+ "Contact"
1068
+ ]
1069
+ ]
1070
+ },
1071
+ {
1072
+ "from": "confirming",
1073
+ "to": "idle",
2250
1074
  "event": "CLOSE",
2251
1075
  "effects": [
2252
1076
  [
@@ -2255,7 +1079,180 @@
2255
1079
  null
2256
1080
  ],
2257
1081
  [
2258
- "fetch",
1082
+ "ref",
1083
+ "Contact"
1084
+ ]
1085
+ ]
1086
+ }
1087
+ ]
1088
+ }
1089
+ }
1090
+ ],
1091
+ "pages": [
1092
+ {
1093
+ "name": "ContactsPage",
1094
+ "path": "/contacts",
1095
+ "isInitial": true,
1096
+ "traits": [
1097
+ {
1098
+ "ref": "ContactBrowse"
1099
+ },
1100
+ {
1101
+ "ref": "ContactCreate"
1102
+ },
1103
+ {
1104
+ "ref": "ContactEdit"
1105
+ },
1106
+ {
1107
+ "ref": "ContactView"
1108
+ },
1109
+ {
1110
+ "ref": "ContactDelete"
1111
+ }
1112
+ ]
1113
+ }
1114
+ ]
1115
+ },
1116
+ {
1117
+ "name": "DealOrbital",
1118
+ "entity": {
1119
+ "name": "Deal",
1120
+ "persistence": "runtime",
1121
+ "fields": [
1122
+ {
1123
+ "name": "id",
1124
+ "type": "string",
1125
+ "required": true
1126
+ },
1127
+ {
1128
+ "name": "title",
1129
+ "type": "string",
1130
+ "default": ""
1131
+ },
1132
+ {
1133
+ "name": "contactId",
1134
+ "type": "string",
1135
+ "default": ""
1136
+ },
1137
+ {
1138
+ "name": "value",
1139
+ "type": "number",
1140
+ "default": 0
1141
+ },
1142
+ {
1143
+ "name": "stage",
1144
+ "type": "string",
1145
+ "default": "prospecting",
1146
+ "values": [
1147
+ "prospecting",
1148
+ "qualification",
1149
+ "proposal",
1150
+ "negotiation",
1151
+ "closed-won",
1152
+ "closed-lost"
1153
+ ]
1154
+ },
1155
+ {
1156
+ "name": "closedAt",
1157
+ "type": "date",
1158
+ "default": ""
1159
+ }
1160
+ ]
1161
+ },
1162
+ "traits": [
1163
+ {
1164
+ "name": "DealBrowse",
1165
+ "linkedEntity": "Deal",
1166
+ "category": "interaction",
1167
+ "listens": [
1168
+ {
1169
+ "event": "DEAL_CREATED",
1170
+ "triggers": "INIT"
1171
+ },
1172
+ {
1173
+ "event": "DEAL_UPDATED",
1174
+ "triggers": "INIT"
1175
+ },
1176
+ {
1177
+ "event": "DEAL_DELETED",
1178
+ "triggers": "INIT"
1179
+ },
1180
+ {
1181
+ "event": "CONVERT_LEAD",
1182
+ "triggers": "INIT",
1183
+ "scope": "external"
1184
+ }
1185
+ ],
1186
+ "stateMachine": {
1187
+ "states": [
1188
+ {
1189
+ "name": "browsing",
1190
+ "isInitial": true
1191
+ }
1192
+ ],
1193
+ "events": [
1194
+ {
1195
+ "key": "INIT",
1196
+ "name": "Initialize"
1197
+ },
1198
+ {
1199
+ "key": "CREATE",
1200
+ "name": "CREATE"
1201
+ },
1202
+ {
1203
+ "key": "VIEW",
1204
+ "name": "VIEW",
1205
+ "payload": [
1206
+ {
1207
+ "name": "id",
1208
+ "type": "string",
1209
+ "required": true
1210
+ },
1211
+ {
1212
+ "name": "row",
1213
+ "type": "object"
1214
+ }
1215
+ ]
1216
+ },
1217
+ {
1218
+ "key": "EDIT",
1219
+ "name": "EDIT",
1220
+ "payload": [
1221
+ {
1222
+ "name": "id",
1223
+ "type": "string",
1224
+ "required": true
1225
+ },
1226
+ {
1227
+ "name": "row",
1228
+ "type": "object"
1229
+ }
1230
+ ]
1231
+ },
1232
+ {
1233
+ "key": "DELETE",
1234
+ "name": "DELETE",
1235
+ "payload": [
1236
+ {
1237
+ "name": "id",
1238
+ "type": "string",
1239
+ "required": true
1240
+ },
1241
+ {
1242
+ "name": "row",
1243
+ "type": "object"
1244
+ }
1245
+ ]
1246
+ }
1247
+ ],
1248
+ "transitions": [
1249
+ {
1250
+ "from": "browsing",
1251
+ "to": "browsing",
1252
+ "event": "INIT",
1253
+ "effects": [
1254
+ [
1255
+ "ref",
2259
1256
  "Deal"
2260
1257
  ],
2261
1258
  [
@@ -2416,6 +1413,9 @@
2416
1413
  "linkedEntity": "Deal",
2417
1414
  "category": "interaction",
2418
1415
  "emits": [
1416
+ {
1417
+ "event": "SAVE"
1418
+ },
2419
1419
  {
2420
1420
  "event": "DEAL_CREATED"
2421
1421
  }
@@ -2559,10 +1559,6 @@
2559
1559
  [
2560
1560
  "emit",
2561
1561
  "DEAL_CREATED"
2562
- ],
2563
- [
2564
- "notify",
2565
- "Deal created successfully"
2566
1562
  ]
2567
1563
  ]
2568
1564
  }
@@ -2574,6 +1570,9 @@
2574
1570
  "linkedEntity": "Deal",
2575
1571
  "category": "interaction",
2576
1572
  "emits": [
1573
+ {
1574
+ "event": "SAVE"
1575
+ },
2577
1576
  {
2578
1577
  "event": "DEAL_UPDATED"
2579
1578
  }
@@ -2728,10 +1727,6 @@
2728
1727
  [
2729
1728
  "emit",
2730
1729
  "DEAL_UPDATED"
2731
- ],
2732
- [
2733
- "notify",
2734
- "Deal updated successfully"
2735
1730
  ]
2736
1731
  ]
2737
1732
  }
@@ -2742,6 +1737,11 @@
2742
1737
  "name": "DealView",
2743
1738
  "linkedEntity": "Deal",
2744
1739
  "category": "interaction",
1740
+ "emits": [
1741
+ {
1742
+ "event": "SAVE"
1743
+ }
1744
+ ],
2745
1745
  "stateMachine": {
2746
1746
  "states": [
2747
1747
  {
@@ -2771,6 +1771,17 @@
2771
1771
  {
2772
1772
  "key": "CLOSE",
2773
1773
  "name": "Close"
1774
+ },
1775
+ {
1776
+ "key": "SAVE",
1777
+ "name": "Save",
1778
+ "payload": [
1779
+ {
1780
+ "name": "data",
1781
+ "type": "object",
1782
+ "required": true
1783
+ }
1784
+ ]
2774
1785
  }
2775
1786
  ],
2776
1787
  "transitions": [
@@ -2956,6 +1967,219 @@
2956
1967
  "info"
2957
1968
  ]
2958
1969
  ]
1970
+ },
1971
+ {
1972
+ "from": "open",
1973
+ "to": "closed",
1974
+ "event": "SAVE",
1975
+ "effects": [
1976
+ [
1977
+ "render-ui",
1978
+ "modal",
1979
+ null
1980
+ ]
1981
+ ]
1982
+ }
1983
+ ]
1984
+ }
1985
+ },
1986
+ {
1987
+ "name": "DealDelete",
1988
+ "linkedEntity": "Deal",
1989
+ "category": "interaction",
1990
+ "emits": [
1991
+ {
1992
+ "event": "CONFIRM_DELETE"
1993
+ },
1994
+ {
1995
+ "event": "DEAL_DELETED"
1996
+ }
1997
+ ],
1998
+ "stateMachine": {
1999
+ "states": [
2000
+ {
2001
+ "name": "idle",
2002
+ "isInitial": true
2003
+ },
2004
+ {
2005
+ "name": "confirming"
2006
+ }
2007
+ ],
2008
+ "events": [
2009
+ {
2010
+ "key": "INIT",
2011
+ "name": "Initialize"
2012
+ },
2013
+ {
2014
+ "key": "DELETE",
2015
+ "name": "Request Confirmation",
2016
+ "payload": [
2017
+ {
2018
+ "name": "id",
2019
+ "type": "string",
2020
+ "required": true
2021
+ }
2022
+ ]
2023
+ },
2024
+ {
2025
+ "key": "CONFIRM_DELETE",
2026
+ "name": "Confirm"
2027
+ },
2028
+ {
2029
+ "key": "CANCEL",
2030
+ "name": "Cancel"
2031
+ },
2032
+ {
2033
+ "key": "CLOSE",
2034
+ "name": "Close"
2035
+ }
2036
+ ],
2037
+ "transitions": [
2038
+ {
2039
+ "from": "idle",
2040
+ "to": "idle",
2041
+ "event": "INIT",
2042
+ "effects": [
2043
+ [
2044
+ "ref",
2045
+ "Deal"
2046
+ ]
2047
+ ]
2048
+ },
2049
+ {
2050
+ "from": "idle",
2051
+ "to": "confirming",
2052
+ "event": "DELETE",
2053
+ "effects": [
2054
+ [
2055
+ "set",
2056
+ "@entity.pendingId",
2057
+ "@payload.id"
2058
+ ],
2059
+ [
2060
+ "fetch",
2061
+ "Deal",
2062
+ {
2063
+ "id": "@payload.id"
2064
+ }
2065
+ ],
2066
+ [
2067
+ "render-ui",
2068
+ "modal",
2069
+ {
2070
+ "type": "stack",
2071
+ "direction": "vertical",
2072
+ "gap": "md",
2073
+ "children": [
2074
+ {
2075
+ "type": "stack",
2076
+ "direction": "horizontal",
2077
+ "gap": "sm",
2078
+ "align": "center",
2079
+ "children": [
2080
+ {
2081
+ "type": "icon",
2082
+ "name": "alert-triangle",
2083
+ "size": "md"
2084
+ },
2085
+ {
2086
+ "type": "typography",
2087
+ "content": "Delete Deal",
2088
+ "variant": "h3"
2089
+ }
2090
+ ]
2091
+ },
2092
+ {
2093
+ "type": "divider"
2094
+ },
2095
+ {
2096
+ "type": "alert",
2097
+ "variant": "danger",
2098
+ "message": "This action cannot be undone."
2099
+ },
2100
+ {
2101
+ "type": "stack",
2102
+ "direction": "horizontal",
2103
+ "gap": "sm",
2104
+ "justify": "end",
2105
+ "children": [
2106
+ {
2107
+ "type": "button",
2108
+ "label": "Cancel",
2109
+ "event": "CANCEL",
2110
+ "variant": "ghost"
2111
+ },
2112
+ {
2113
+ "type": "button",
2114
+ "label": "Delete",
2115
+ "event": "CONFIRM_DELETE",
2116
+ "variant": "danger",
2117
+ "icon": "check"
2118
+ }
2119
+ ]
2120
+ }
2121
+ ]
2122
+ }
2123
+ ]
2124
+ ]
2125
+ },
2126
+ {
2127
+ "from": "confirming",
2128
+ "to": "idle",
2129
+ "event": "CONFIRM_DELETE",
2130
+ "effects": [
2131
+ [
2132
+ "persist",
2133
+ "delete",
2134
+ "Deal",
2135
+ "@entity.pendingId"
2136
+ ],
2137
+ [
2138
+ "render-ui",
2139
+ "modal",
2140
+ null
2141
+ ],
2142
+ [
2143
+ "ref",
2144
+ "Deal"
2145
+ ],
2146
+ [
2147
+ "emit",
2148
+ "DEAL_DELETED"
2149
+ ]
2150
+ ]
2151
+ },
2152
+ {
2153
+ "from": "confirming",
2154
+ "to": "idle",
2155
+ "event": "CANCEL",
2156
+ "effects": [
2157
+ [
2158
+ "render-ui",
2159
+ "modal",
2160
+ null
2161
+ ],
2162
+ [
2163
+ "ref",
2164
+ "Deal"
2165
+ ]
2166
+ ]
2167
+ },
2168
+ {
2169
+ "from": "confirming",
2170
+ "to": "idle",
2171
+ "event": "CLOSE",
2172
+ "effects": [
2173
+ [
2174
+ "render-ui",
2175
+ "modal",
2176
+ null
2177
+ ],
2178
+ [
2179
+ "ref",
2180
+ "Deal"
2181
+ ]
2182
+ ]
2959
2183
  }
2960
2184
  ]
2961
2185
  }
@@ -2977,6 +2201,9 @@
2977
2201
  },
2978
2202
  {
2979
2203
  "ref": "DealView"
2204
+ },
2205
+ {
2206
+ "ref": "DealDelete"
2980
2207
  }
2981
2208
  ]
2982
2209
  }
@@ -4541,7 +3768,7 @@
4541
3768
  "listens": [
4542
3769
  {
4543
3770
  "event": "SEND",
4544
- "triggers": "SEND"
3771
+ "triggers": "INIT"
4545
3772
  }
4546
3773
  ],
4547
3774
  "stateMachine": {
@@ -4574,17 +3801,6 @@
4574
3801
  "type": "object"
4575
3802
  }
4576
3803
  ]
4577
- },
4578
- {
4579
- "key": "SEND",
4580
- "name": "SEND",
4581
- "payload": [
4582
- {
4583
- "name": "data",
4584
- "type": "object",
4585
- "required": true
4586
- }
4587
- ]
4588
3804
  }
4589
3805
  ],
4590
3806
  "transitions": [
@@ -4715,17 +3931,6 @@
4715
3931
  }
4716
3932
  ]
4717
3933
  ]
4718
- },
4719
- {
4720
- "from": "browsing",
4721
- "to": "browsing",
4722
- "event": "SEND",
4723
- "effects": [
4724
- [
4725
- "ref",
4726
- "Note"
4727
- ]
4728
- ]
4729
3934
  }
4730
3935
  ]
4731
3936
  }
@@ -4868,14 +4073,6 @@
4868
4073
  "render-ui",
4869
4074
  "modal",
4870
4075
  null
4871
- ],
4872
- [
4873
- "emit",
4874
- "SEND"
4875
- ],
4876
- [
4877
- "notify",
4878
- "Note created successfully"
4879
4076
  ]
4880
4077
  ]
4881
4078
  }
@@ -4886,6 +4083,11 @@
4886
4083
  "name": "NoteView",
4887
4084
  "linkedEntity": "Note",
4888
4085
  "category": "interaction",
4086
+ "emits": [
4087
+ {
4088
+ "event": "SAVE"
4089
+ }
4090
+ ],
4889
4091
  "stateMachine": {
4890
4092
  "states": [
4891
4093
  {
@@ -4915,6 +4117,17 @@
4915
4117
  {
4916
4118
  "key": "CLOSE",
4917
4119
  "name": "Close"
4120
+ },
4121
+ {
4122
+ "key": "SAVE",
4123
+ "name": "Save",
4124
+ "payload": [
4125
+ {
4126
+ "name": "data",
4127
+ "type": "object",
4128
+ "required": true
4129
+ }
4130
+ ]
4918
4131
  }
4919
4132
  ],
4920
4133
  "transitions": [
@@ -5076,6 +4289,18 @@
5076
4289
  "info"
5077
4290
  ]
5078
4291
  ]
4292
+ },
4293
+ {
4294
+ "from": "open",
4295
+ "to": "closed",
4296
+ "event": "SAVE",
4297
+ "effects": [
4298
+ [
4299
+ "render-ui",
4300
+ "modal",
4301
+ null
4302
+ ]
4303
+ ]
5079
4304
  }
5080
4305
  ]
5081
4306
  }
@@ -5099,6 +4324,5 @@
5099
4324
  }
5100
4325
  ]
5101
4326
  }
5102
- ],
5103
- "description": "Customer relationship management organism. Composes molecules via compose: - stdList(Contact): CRUD list of contacts - stdList(Deal): CRUD list of deals - stdDisplay(Pipeline): read-only pipeline dashboard - stdMessaging(Note): notes/communication thread Pages: /contacts (initial), /deals, /pipeline, /notes Connections: CONVERT_LEAD (contacts->deals), CLOSE_DEAL (deals->pipeline)"
5104
- }
4327
+ ]
4328
+ }