@almadar/std 14.25.0 → 14.27.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 (431) hide show
  1. package/behaviors/registry/agent/atoms/std-agent-activity-log.orb +82 -82
  2. package/behaviors/registry/agent/atoms/std-agent-chat-thread.orb +110 -110
  3. package/behaviors/registry/agent/atoms/std-agent-classifier.orb +112 -112
  4. package/behaviors/registry/agent/atoms/std-agent-completion.orb +90 -90
  5. package/behaviors/registry/agent/atoms/std-agent-context-window.orb +406 -406
  6. package/behaviors/registry/agent/atoms/std-agent-conversation.orb +94 -94
  7. package/behaviors/registry/agent/atoms/std-agent-memory.orb +83 -83
  8. package/behaviors/registry/agent/atoms/std-agent-provider.orb +122 -122
  9. package/behaviors/registry/agent/atoms/std-agent-search.orb +51 -51
  10. package/behaviors/registry/agent/atoms/std-agent-session.orb +122 -122
  11. package/behaviors/registry/agent/atoms/std-agent-step-progress.orb +214 -214
  12. package/behaviors/registry/agent/atoms/std-agent-token-gauge.orb +329 -329
  13. package/behaviors/registry/agent/atoms/std-agent-tool-call.orb +67 -67
  14. package/behaviors/registry/agent/molecules/std-agent-fix-loop.orb +202 -202
  15. package/behaviors/registry/agent/molecules/std-agent-learner.orb +185 -185
  16. package/behaviors/registry/agent/molecules/std-agent-planner.orb +122 -122
  17. package/behaviors/registry/agent/molecules/std-agent-rag.orb +114 -114
  18. package/behaviors/registry/agent/molecules/std-agent-tool-loop.orb +209 -209
  19. package/behaviors/registry/agent/organisms/std-agent-assistant.orb +1039 -1039
  20. package/behaviors/registry/agent/organisms/std-agent-builder.orb +2977 -2977
  21. package/behaviors/registry/agent/organisms/std-agent-pipeline.orb +2090 -2090
  22. package/behaviors/registry/agent/organisms/std-agent-reviewer.orb +935 -935
  23. package/behaviors/registry/agent/organisms/std-agent-tutor.orb +760 -760
  24. package/behaviors/registry/app/atoms/std-ap-bill.orb +62 -62
  25. package/behaviors/registry/app/atoms/std-applicant.orb +497 -43
  26. package/behaviors/registry/app/atoms/std-approval-request.orb +451 -625
  27. package/behaviors/registry/app/atoms/std-campaign-goal.orb +443 -238
  28. package/behaviors/registry/app/atoms/std-change-order.orb +563 -305
  29. package/behaviors/registry/app/atoms/std-chart-of-accounts.orb +435 -98
  30. package/behaviors/registry/app/atoms/std-checkin.orb +436 -272
  31. package/behaviors/registry/app/atoms/std-checkout-terminal.orb +458 -260
  32. package/behaviors/registry/app/atoms/std-class-roster.orb +508 -74
  33. package/behaviors/registry/app/atoms/std-class-session.orb +488 -101
  34. package/behaviors/registry/app/atoms/std-court-deadline.orb +525 -94
  35. package/behaviors/registry/app/atoms/std-customer-account.orb +576 -96
  36. package/behaviors/registry/app/atoms/std-donation-receipt.orb +497 -54
  37. package/behaviors/registry/app/atoms/std-donor.orb +440 -153
  38. package/behaviors/registry/app/atoms/std-drip-sequence.orb +453 -70
  39. package/behaviors/registry/app/atoms/std-driver.orb +477 -492
  40. package/behaviors/registry/app/atoms/std-dunning.orb +442 -515
  41. package/behaviors/registry/app/atoms/std-email-broadcast.orb +518 -65
  42. package/behaviors/registry/app/atoms/std-event.orb +467 -669
  43. package/behaviors/registry/app/atoms/std-health-score.orb +371 -436
  44. package/behaviors/registry/app/atoms/std-help-article.orb +374 -532
  45. package/behaviors/registry/app/atoms/std-help-category.orb +347 -369
  46. package/behaviors/registry/app/atoms/std-interview-slot.orb +491 -49
  47. package/behaviors/registry/app/atoms/std-invoice.orb +488 -303
  48. package/behaviors/registry/app/atoms/std-kitchen-display.orb +632 -140
  49. package/behaviors/registry/app/atoms/std-lease.orb +508 -184
  50. package/behaviors/registry/app/atoms/std-ledger-entry.orb +474 -150
  51. package/behaviors/registry/app/atoms/std-maintenance-request.orb +653 -203
  52. package/behaviors/registry/app/atoms/std-matter.orb +482 -336
  53. package/behaviors/registry/app/atoms/std-membership.orb +521 -113
  54. package/behaviors/registry/app/atoms/std-menu.orb +766 -174
  55. package/behaviors/registry/app/atoms/std-modifier-group.orb +518 -100
  56. package/behaviors/registry/app/atoms/std-nps-survey.orb +330 -338
  57. package/behaviors/registry/app/atoms/std-offer-letter.orb +493 -43
  58. package/behaviors/registry/app/atoms/std-payout-ledger.orb +376 -360
  59. package/behaviors/registry/app/atoms/std-question-bank.orb +364 -331
  60. package/behaviors/registry/app/atoms/std-receipt.orb +566 -57
  61. package/behaviors/registry/app/atoms/std-recurring-charge.orb +419 -842
  62. package/behaviors/registry/app/atoms/std-renewal-risk.orb +373 -436
  63. package/behaviors/registry/app/atoms/std-rent-charge.orb +659 -57
  64. package/behaviors/registry/app/atoms/std-reorder-rule.orb +497 -46
  65. package/behaviors/registry/app/atoms/std-response-collector.orb +456 -149
  66. package/behaviors/registry/app/atoms/std-rfi.orb +507 -466
  67. package/behaviors/registry/app/atoms/std-route-optimize.orb +448 -158
  68. package/behaviors/registry/app/atoms/std-segment.orb +367 -113
  69. package/behaviors/registry/app/atoms/std-stock-level.orb +486 -103
  70. package/behaviors/registry/app/atoms/std-submittal.orb +538 -510
  71. package/behaviors/registry/app/atoms/std-table-map.orb +88 -51
  72. package/behaviors/registry/app/atoms/std-technician-dispatch.orb +649 -67
  73. package/behaviors/registry/app/atoms/std-telematics-event.orb +324 -229
  74. package/behaviors/registry/app/atoms/std-template-editor.orb +527 -104
  75. package/behaviors/registry/app/atoms/std-tenant.orb +522 -63
  76. package/behaviors/registry/app/atoms/std-ticket-tier.orb +469 -457
  77. package/behaviors/registry/app/atoms/std-time-entry.orb +338 -301
  78. package/behaviors/registry/app/atoms/std-timesheet.orb +542 -298
  79. package/behaviors/registry/app/atoms/std-trial.orb +423 -337
  80. package/behaviors/registry/app/atoms/std-vehicle.orb +406 -571
  81. package/behaviors/registry/app/atoms/std-waitlist.orb +372 -283
  82. package/behaviors/registry/app/atoms/std-warehouse.orb +268 -214
  83. package/behaviors/registry/app/atoms/std-work-order.orb +629 -241
  84. package/behaviors/registry/app/molecules/std-applicant-form.orb +81 -75
  85. package/behaviors/registry/app/molecules/std-application.orb +168 -253
  86. package/behaviors/registry/app/molecules/std-broadcast-builder.orb +74 -200
  87. package/behaviors/registry/app/molecules/std-cart.orb +82 -76
  88. package/behaviors/registry/app/molecules/std-form-builder.orb +422 -161
  89. package/behaviors/registry/app/molecules/std-ledger-entry-form.orb +622 -154
  90. package/behaviors/registry/app/molecules/std-stock-adjustment.orb +512 -113
  91. package/behaviors/registry/app/molecules/std-vendor-onboarding.orb +390 -476
  92. package/behaviors/registry/app/organisms/std-accounting.orb +120 -120
  93. package/behaviors/registry/app/organisms/std-api-gateway.orb +214 -214
  94. package/behaviors/registry/app/organisms/std-ats-recruiting.orb +143 -143
  95. package/behaviors/registry/app/organisms/std-booking-system.orb +698 -698
  96. package/behaviors/registry/app/organisms/std-cicd-pipeline.orb +282 -282
  97. package/behaviors/registry/app/organisms/std-cms.orb +315 -315
  98. package/behaviors/registry/app/organisms/std-coding-academy.orb +226 -226
  99. package/behaviors/registry/app/organisms/std-construction-pm.orb +159 -159
  100. package/behaviors/registry/app/organisms/std-crm.orb +265 -265
  101. package/behaviors/registry/app/organisms/std-customer-success.orb +106 -106
  102. package/behaviors/registry/app/organisms/std-devops-dashboard.orb +384 -384
  103. package/behaviors/registry/app/organisms/std-document-mgmt.orb +101 -101
  104. package/behaviors/registry/app/organisms/std-ecommerce.orb +735 -735
  105. package/behaviors/registry/app/organisms/std-event-ticketing.orb +207 -207
  106. package/behaviors/registry/app/organisms/std-field-service.orb +181 -181
  107. package/behaviors/registry/app/organisms/std-finance-tracker.orb +227 -227
  108. package/behaviors/registry/app/organisms/std-fitness-studio.orb +145 -145
  109. package/behaviors/registry/app/organisms/std-fleet-mgmt.orb +149 -149
  110. package/behaviors/registry/app/organisms/std-forum.orb +150 -150
  111. package/behaviors/registry/app/organisms/std-healthcare.orb +531 -531
  112. package/behaviors/registry/app/organisms/std-helpdesk.orb +161 -161
  113. package/behaviors/registry/app/organisms/std-hr-portal.orb +455 -455
  114. package/behaviors/registry/app/organisms/std-inventory.orb +162 -162
  115. package/behaviors/registry/app/organisms/std-iot-dashboard.orb +353 -353
  116. package/behaviors/registry/app/organisms/std-legal-case.orb +164 -164
  117. package/behaviors/registry/app/organisms/std-listings.orb +147 -147
  118. package/behaviors/registry/app/organisms/std-lms.orb +409 -409
  119. package/behaviors/registry/app/organisms/std-marketing-campaign.orb +123 -123
  120. package/behaviors/registry/app/organisms/std-marketplace.orb +251 -251
  121. package/behaviors/registry/app/organisms/std-nonprofit-donations.orb +105 -105
  122. package/behaviors/registry/app/organisms/std-notes.orb +112 -112
  123. package/behaviors/registry/app/organisms/std-project-manager.orb +200 -200
  124. package/behaviors/registry/app/organisms/std-property-mgmt.orb +178 -178
  125. package/behaviors/registry/app/organisms/std-public-help-center.orb +133 -133
  126. package/behaviors/registry/app/organisms/std-realtime-chat.orb +245 -245
  127. package/behaviors/registry/app/organisms/std-restaurant-pos.orb +131 -131
  128. package/behaviors/registry/app/organisms/std-retail-pos.orb +129 -129
  129. package/behaviors/registry/app/organisms/std-social-feed.orb +159 -159
  130. package/behaviors/registry/app/organisms/std-subscription-billing.orb +187 -187
  131. package/behaviors/registry/app/organisms/std-survey.orb +129 -129
  132. package/behaviors/registry/app/organisms/std-time-tracking.orb +167 -167
  133. package/behaviors/registry/app/organisms/std-trading-dashboard.orb +263 -263
  134. package/behaviors/registry/app/organisms/std-wiki.orb +139 -139
  135. package/behaviors/registry/core/atoms/std-billable-hour.orb +505 -101
  136. package/behaviors/registry/core/atoms/std-branching-logic.orb +265 -594
  137. package/behaviors/registry/core/atoms/std-browse.orb +58 -58
  138. package/behaviors/registry/core/atoms/std-cache-aside.orb +97 -97
  139. package/behaviors/registry/core/atoms/std-calendar.orb +50 -50
  140. package/behaviors/registry/core/atoms/std-circuit-breaker.orb +184 -184
  141. package/behaviors/registry/core/atoms/std-confirmation.orb +25 -25
  142. package/behaviors/registry/core/atoms/std-display.orb +1 -1
  143. package/behaviors/registry/core/atoms/std-drawer.orb +14 -14
  144. package/behaviors/registry/core/atoms/std-esign-request.orb +29 -29
  145. package/behaviors/registry/core/atoms/std-file-store.orb +541 -159
  146. package/behaviors/registry/core/atoms/std-filter.orb +12 -12
  147. package/behaviors/registry/core/atoms/std-flag.orb +95 -95
  148. package/behaviors/registry/core/atoms/std-gallery.orb +119 -102
  149. package/behaviors/registry/core/atoms/std-geosearch.orb +26 -26
  150. package/behaviors/registry/core/atoms/std-graphs.orb +37 -37
  151. package/behaviors/registry/core/atoms/std-image-upload-multi.orb +93 -63
  152. package/behaviors/registry/core/atoms/std-mod-queue.orb +56 -56
  153. package/behaviors/registry/core/atoms/std-modal.orb +20 -20
  154. package/behaviors/registry/core/atoms/std-page-tree.orb +341 -459
  155. package/behaviors/registry/core/atoms/std-pagination.orb +17 -17
  156. package/behaviors/registry/core/atoms/std-push.orb +38 -38
  157. package/behaviors/registry/core/atoms/std-rate-limiter.orb +168 -168
  158. package/behaviors/registry/core/atoms/std-rating-review.orb +68 -68
  159. package/behaviors/registry/core/atoms/std-related.orb +34 -34
  160. package/behaviors/registry/core/atoms/std-rich-editor.orb +298 -433
  161. package/behaviors/registry/core/atoms/std-saved-search.orb +55 -55
  162. package/behaviors/registry/core/atoms/std-search.orb +9 -9
  163. package/behaviors/registry/core/atoms/std-selection.orb +77 -77
  164. package/behaviors/registry/core/atoms/std-signature-capture.orb +89 -89
  165. package/behaviors/registry/core/atoms/std-stats.orb +104 -104
  166. package/behaviors/registry/core/atoms/std-tabs.orb +27 -27
  167. package/behaviors/registry/core/atoms/std-tag-taxonomy.orb +69 -69
  168. package/behaviors/registry/core/atoms/std-thread.orb +56 -56
  169. package/behaviors/registry/core/atoms/std-version-history.orb +462 -438
  170. package/behaviors/registry/core/atoms/std-vote.orb +39 -39
  171. package/behaviors/registry/core/molecules/std-app-layout.orb +21 -21
  172. package/behaviors/registry/core/molecules/std-dashboard-grid-layout.orb +11 -11
  173. package/behaviors/registry/core/molecules/std-dashboard.orb +52 -52
  174. package/behaviors/registry/core/molecules/std-esign-flow.orb +86 -104
  175. package/behaviors/registry/core/molecules/std-filtered-list.orb +22 -22
  176. package/behaviors/registry/core/molecules/std-form-advanced.orb +133 -133
  177. package/behaviors/registry/core/molecules/std-list.orb +71 -71
  178. package/behaviors/registry/core/molecules/std-master-detail-layout.orb +13 -13
  179. package/behaviors/registry/core/molecules/std-stack-layout.orb +12 -12
  180. package/behaviors/registry/core/molecules/std-tabs-layout.orb +11 -11
  181. package/behaviors/registry/core/molecules/std-wizard-form.orb +227 -152
  182. package/behaviors/registry/core/organisms/std-generic-app.orb +544 -544
  183. package/behaviors/registry/game/atoms/std-collision.orb +0 -595
  184. package/behaviors/registry/game/atoms/std-combat.orb +0 -524
  185. package/behaviors/registry/game/atoms/std-dialogue-box.orb +27 -27
  186. package/behaviors/registry/game/atoms/std-game-canvas2d.orb +40 -40
  187. package/behaviors/registry/game/atoms/std-gameflow.orb +0 -456
  188. package/behaviors/registry/game/atoms/std-movement.orb +0 -1279
  189. package/behaviors/registry/game/atoms/std-overworld.orb +56 -56
  190. package/behaviors/registry/game/atoms/std-physics2d.orb +78 -78
  191. package/behaviors/registry/game/atoms/std-quest.orb +122 -122
  192. package/behaviors/registry/game/atoms/std-timer.orb +266 -266
  193. package/behaviors/registry/game/organisms/std-arcade-game.orb +0 -1446
  194. package/behaviors/registry/game/organisms/std-logic-training.orb +0 -1037
  195. package/behaviors/registry/game/organisms/std-platformer-app.orb +0 -2567
  196. package/behaviors/registry/game/organisms/std-puzzle-app.orb +0 -1197
  197. package/behaviors/registry/game/organisms/std-rpg-game.orb +0 -3509
  198. package/behaviors/registry/game/organisms/std-stem-lab.orb +0 -2003
  199. package/behaviors/registry/game/organisms/std-strategy-game.orb +0 -2686
  200. package/behaviors/registry/probes/molecules/std-source-scope-probe.orb +32 -32
  201. package/behaviors/registry/service/atoms/std-service-calendar-ical.orb +51 -51
  202. package/behaviors/registry/service/atoms/std-service-custom-bearer.orb +69 -69
  203. package/behaviors/registry/service/atoms/std-service-email.orb +55 -55
  204. package/behaviors/registry/service/atoms/std-service-github.orb +70 -70
  205. package/behaviors/registry/service/atoms/std-service-llm.orb +70 -70
  206. package/behaviors/registry/service/atoms/std-service-maps.orb +83 -83
  207. package/behaviors/registry/service/atoms/std-service-oauth.orb +51 -51
  208. package/behaviors/registry/service/atoms/std-service-print.orb +114 -114
  209. package/behaviors/registry/service/atoms/std-service-redis.orb +61 -61
  210. package/behaviors/registry/service/atoms/std-service-storage.orb +51 -51
  211. package/behaviors/registry/service/atoms/std-service-stripe.orb +111 -111
  212. package/behaviors/registry/service/atoms/std-service-twilio.orb +48 -48
  213. package/behaviors/registry/service/atoms/std-service-youtube.orb +45 -45
  214. package/behaviors/registry/service/organisms/std-service-marketplace.orb +911 -911
  215. package/behaviors/registry/service/organisms/std-service-research-assistant.orb +883 -883
  216. package/dist/behaviors/registry/agent/atoms/std-agent-activity-log.orb +82 -82
  217. package/dist/behaviors/registry/agent/atoms/std-agent-chat-thread.orb +110 -110
  218. package/dist/behaviors/registry/agent/atoms/std-agent-classifier.orb +112 -112
  219. package/dist/behaviors/registry/agent/atoms/std-agent-completion.orb +90 -90
  220. package/dist/behaviors/registry/agent/atoms/std-agent-context-window.orb +406 -406
  221. package/dist/behaviors/registry/agent/atoms/std-agent-conversation.orb +94 -94
  222. package/dist/behaviors/registry/agent/atoms/std-agent-memory.orb +83 -83
  223. package/dist/behaviors/registry/agent/atoms/std-agent-provider.orb +122 -122
  224. package/dist/behaviors/registry/agent/atoms/std-agent-search.orb +51 -51
  225. package/dist/behaviors/registry/agent/atoms/std-agent-session.orb +122 -122
  226. package/dist/behaviors/registry/agent/atoms/std-agent-step-progress.orb +214 -214
  227. package/dist/behaviors/registry/agent/atoms/std-agent-token-gauge.orb +329 -329
  228. package/dist/behaviors/registry/agent/atoms/std-agent-tool-call.orb +67 -67
  229. package/dist/behaviors/registry/agent/molecules/std-agent-fix-loop.orb +202 -202
  230. package/dist/behaviors/registry/agent/molecules/std-agent-learner.orb +185 -185
  231. package/dist/behaviors/registry/agent/molecules/std-agent-planner.orb +122 -122
  232. package/dist/behaviors/registry/agent/molecules/std-agent-rag.orb +114 -114
  233. package/dist/behaviors/registry/agent/molecules/std-agent-tool-loop.orb +209 -209
  234. package/dist/behaviors/registry/agent/organisms/std-agent-assistant.orb +1039 -1039
  235. package/dist/behaviors/registry/agent/organisms/std-agent-builder.orb +2977 -2977
  236. package/dist/behaviors/registry/agent/organisms/std-agent-pipeline.orb +2090 -2090
  237. package/dist/behaviors/registry/agent/organisms/std-agent-reviewer.orb +935 -935
  238. package/dist/behaviors/registry/agent/organisms/std-agent-tutor.orb +760 -760
  239. package/dist/behaviors/registry/app/atoms/std-ap-bill.orb +62 -62
  240. package/dist/behaviors/registry/app/atoms/std-applicant.orb +497 -43
  241. package/dist/behaviors/registry/app/atoms/std-approval-request.orb +451 -625
  242. package/dist/behaviors/registry/app/atoms/std-campaign-goal.orb +443 -238
  243. package/dist/behaviors/registry/app/atoms/std-change-order.orb +563 -305
  244. package/dist/behaviors/registry/app/atoms/std-chart-of-accounts.orb +435 -98
  245. package/dist/behaviors/registry/app/atoms/std-checkin.orb +436 -272
  246. package/dist/behaviors/registry/app/atoms/std-checkout-terminal.orb +458 -260
  247. package/dist/behaviors/registry/app/atoms/std-class-roster.orb +508 -74
  248. package/dist/behaviors/registry/app/atoms/std-class-session.orb +488 -101
  249. package/dist/behaviors/registry/app/atoms/std-court-deadline.orb +525 -94
  250. package/dist/behaviors/registry/app/atoms/std-customer-account.orb +576 -96
  251. package/dist/behaviors/registry/app/atoms/std-donation-receipt.orb +497 -54
  252. package/dist/behaviors/registry/app/atoms/std-donor.orb +440 -153
  253. package/dist/behaviors/registry/app/atoms/std-drip-sequence.orb +453 -70
  254. package/dist/behaviors/registry/app/atoms/std-driver.orb +477 -492
  255. package/dist/behaviors/registry/app/atoms/std-dunning.orb +442 -515
  256. package/dist/behaviors/registry/app/atoms/std-email-broadcast.orb +518 -65
  257. package/dist/behaviors/registry/app/atoms/std-event.orb +467 -669
  258. package/dist/behaviors/registry/app/atoms/std-health-score.orb +371 -436
  259. package/dist/behaviors/registry/app/atoms/std-help-article.orb +374 -532
  260. package/dist/behaviors/registry/app/atoms/std-help-category.orb +347 -369
  261. package/dist/behaviors/registry/app/atoms/std-interview-slot.orb +491 -49
  262. package/dist/behaviors/registry/app/atoms/std-invoice.orb +488 -303
  263. package/dist/behaviors/registry/app/atoms/std-kitchen-display.orb +632 -140
  264. package/dist/behaviors/registry/app/atoms/std-lease.orb +508 -184
  265. package/dist/behaviors/registry/app/atoms/std-ledger-entry.orb +474 -150
  266. package/dist/behaviors/registry/app/atoms/std-maintenance-request.orb +653 -203
  267. package/dist/behaviors/registry/app/atoms/std-matter.orb +482 -336
  268. package/dist/behaviors/registry/app/atoms/std-membership.orb +521 -113
  269. package/dist/behaviors/registry/app/atoms/std-menu.orb +766 -174
  270. package/dist/behaviors/registry/app/atoms/std-modifier-group.orb +518 -100
  271. package/dist/behaviors/registry/app/atoms/std-nps-survey.orb +330 -338
  272. package/dist/behaviors/registry/app/atoms/std-offer-letter.orb +493 -43
  273. package/dist/behaviors/registry/app/atoms/std-payout-ledger.orb +376 -360
  274. package/dist/behaviors/registry/app/atoms/std-question-bank.orb +364 -331
  275. package/dist/behaviors/registry/app/atoms/std-receipt.orb +566 -57
  276. package/dist/behaviors/registry/app/atoms/std-recurring-charge.orb +419 -842
  277. package/dist/behaviors/registry/app/atoms/std-renewal-risk.orb +373 -436
  278. package/dist/behaviors/registry/app/atoms/std-rent-charge.orb +659 -57
  279. package/dist/behaviors/registry/app/atoms/std-reorder-rule.orb +497 -46
  280. package/dist/behaviors/registry/app/atoms/std-response-collector.orb +456 -149
  281. package/dist/behaviors/registry/app/atoms/std-rfi.orb +507 -466
  282. package/dist/behaviors/registry/app/atoms/std-route-optimize.orb +448 -158
  283. package/dist/behaviors/registry/app/atoms/std-segment.orb +367 -113
  284. package/dist/behaviors/registry/app/atoms/std-stock-level.orb +486 -103
  285. package/dist/behaviors/registry/app/atoms/std-submittal.orb +538 -510
  286. package/dist/behaviors/registry/app/atoms/std-table-map.orb +88 -51
  287. package/dist/behaviors/registry/app/atoms/std-technician-dispatch.orb +649 -67
  288. package/dist/behaviors/registry/app/atoms/std-telematics-event.orb +324 -229
  289. package/dist/behaviors/registry/app/atoms/std-template-editor.orb +527 -104
  290. package/dist/behaviors/registry/app/atoms/std-tenant.orb +522 -63
  291. package/dist/behaviors/registry/app/atoms/std-ticket-tier.orb +469 -457
  292. package/dist/behaviors/registry/app/atoms/std-time-entry.orb +338 -301
  293. package/dist/behaviors/registry/app/atoms/std-timesheet.orb +542 -298
  294. package/dist/behaviors/registry/app/atoms/std-trial.orb +423 -337
  295. package/dist/behaviors/registry/app/atoms/std-vehicle.orb +406 -571
  296. package/dist/behaviors/registry/app/atoms/std-waitlist.orb +372 -283
  297. package/dist/behaviors/registry/app/atoms/std-warehouse.orb +268 -214
  298. package/dist/behaviors/registry/app/atoms/std-work-order.orb +629 -241
  299. package/dist/behaviors/registry/app/molecules/std-applicant-form.orb +81 -75
  300. package/dist/behaviors/registry/app/molecules/std-application.orb +168 -253
  301. package/dist/behaviors/registry/app/molecules/std-broadcast-builder.orb +74 -200
  302. package/dist/behaviors/registry/app/molecules/std-cart.orb +82 -76
  303. package/dist/behaviors/registry/app/molecules/std-form-builder.orb +422 -161
  304. package/dist/behaviors/registry/app/molecules/std-ledger-entry-form.orb +622 -154
  305. package/dist/behaviors/registry/app/molecules/std-stock-adjustment.orb +512 -113
  306. package/dist/behaviors/registry/app/molecules/std-vendor-onboarding.orb +390 -476
  307. package/dist/behaviors/registry/app/organisms/std-accounting.orb +120 -120
  308. package/dist/behaviors/registry/app/organisms/std-api-gateway.orb +214 -214
  309. package/dist/behaviors/registry/app/organisms/std-ats-recruiting.orb +143 -143
  310. package/dist/behaviors/registry/app/organisms/std-booking-system.orb +698 -698
  311. package/dist/behaviors/registry/app/organisms/std-cicd-pipeline.orb +282 -282
  312. package/dist/behaviors/registry/app/organisms/std-cms.orb +315 -315
  313. package/dist/behaviors/registry/app/organisms/std-coding-academy.orb +226 -226
  314. package/dist/behaviors/registry/app/organisms/std-construction-pm.orb +159 -159
  315. package/dist/behaviors/registry/app/organisms/std-crm.orb +265 -265
  316. package/dist/behaviors/registry/app/organisms/std-customer-success.orb +106 -106
  317. package/dist/behaviors/registry/app/organisms/std-devops-dashboard.orb +384 -384
  318. package/dist/behaviors/registry/app/organisms/std-document-mgmt.orb +101 -101
  319. package/dist/behaviors/registry/app/organisms/std-ecommerce.orb +735 -735
  320. package/dist/behaviors/registry/app/organisms/std-event-ticketing.orb +207 -207
  321. package/dist/behaviors/registry/app/organisms/std-field-service.orb +181 -181
  322. package/dist/behaviors/registry/app/organisms/std-finance-tracker.orb +227 -227
  323. package/dist/behaviors/registry/app/organisms/std-fitness-studio.orb +145 -145
  324. package/dist/behaviors/registry/app/organisms/std-fleet-mgmt.orb +149 -149
  325. package/dist/behaviors/registry/app/organisms/std-forum.orb +150 -150
  326. package/dist/behaviors/registry/app/organisms/std-healthcare.orb +531 -531
  327. package/dist/behaviors/registry/app/organisms/std-helpdesk.orb +161 -161
  328. package/dist/behaviors/registry/app/organisms/std-hr-portal.orb +455 -455
  329. package/dist/behaviors/registry/app/organisms/std-inventory.orb +162 -162
  330. package/dist/behaviors/registry/app/organisms/std-iot-dashboard.orb +353 -353
  331. package/dist/behaviors/registry/app/organisms/std-legal-case.orb +164 -164
  332. package/dist/behaviors/registry/app/organisms/std-listings.orb +147 -147
  333. package/dist/behaviors/registry/app/organisms/std-lms.orb +409 -409
  334. package/dist/behaviors/registry/app/organisms/std-marketing-campaign.orb +123 -123
  335. package/dist/behaviors/registry/app/organisms/std-marketplace.orb +251 -251
  336. package/dist/behaviors/registry/app/organisms/std-nonprofit-donations.orb +105 -105
  337. package/dist/behaviors/registry/app/organisms/std-notes.orb +112 -112
  338. package/dist/behaviors/registry/app/organisms/std-project-manager.orb +200 -200
  339. package/dist/behaviors/registry/app/organisms/std-property-mgmt.orb +178 -178
  340. package/dist/behaviors/registry/app/organisms/std-public-help-center.orb +133 -133
  341. package/dist/behaviors/registry/app/organisms/std-realtime-chat.orb +245 -245
  342. package/dist/behaviors/registry/app/organisms/std-restaurant-pos.orb +131 -131
  343. package/dist/behaviors/registry/app/organisms/std-retail-pos.orb +129 -129
  344. package/dist/behaviors/registry/app/organisms/std-social-feed.orb +159 -159
  345. package/dist/behaviors/registry/app/organisms/std-subscription-billing.orb +187 -187
  346. package/dist/behaviors/registry/app/organisms/std-survey.orb +129 -129
  347. package/dist/behaviors/registry/app/organisms/std-time-tracking.orb +167 -167
  348. package/dist/behaviors/registry/app/organisms/std-trading-dashboard.orb +263 -263
  349. package/dist/behaviors/registry/app/organisms/std-wiki.orb +139 -139
  350. package/dist/behaviors/registry/core/atoms/std-billable-hour.orb +505 -101
  351. package/dist/behaviors/registry/core/atoms/std-branching-logic.orb +265 -594
  352. package/dist/behaviors/registry/core/atoms/std-browse.orb +58 -58
  353. package/dist/behaviors/registry/core/atoms/std-cache-aside.orb +97 -97
  354. package/dist/behaviors/registry/core/atoms/std-calendar.orb +50 -50
  355. package/dist/behaviors/registry/core/atoms/std-circuit-breaker.orb +184 -184
  356. package/dist/behaviors/registry/core/atoms/std-confirmation.orb +25 -25
  357. package/dist/behaviors/registry/core/atoms/std-display.orb +1 -1
  358. package/dist/behaviors/registry/core/atoms/std-drawer.orb +14 -14
  359. package/dist/behaviors/registry/core/atoms/std-esign-request.orb +29 -29
  360. package/dist/behaviors/registry/core/atoms/std-file-store.orb +541 -159
  361. package/dist/behaviors/registry/core/atoms/std-filter.orb +12 -12
  362. package/dist/behaviors/registry/core/atoms/std-flag.orb +95 -95
  363. package/dist/behaviors/registry/core/atoms/std-gallery.orb +119 -102
  364. package/dist/behaviors/registry/core/atoms/std-geosearch.orb +26 -26
  365. package/dist/behaviors/registry/core/atoms/std-graphs.orb +37 -37
  366. package/dist/behaviors/registry/core/atoms/std-image-upload-multi.orb +93 -63
  367. package/dist/behaviors/registry/core/atoms/std-mod-queue.orb +56 -56
  368. package/dist/behaviors/registry/core/atoms/std-modal.orb +20 -20
  369. package/dist/behaviors/registry/core/atoms/std-page-tree.orb +341 -459
  370. package/dist/behaviors/registry/core/atoms/std-pagination.orb +17 -17
  371. package/dist/behaviors/registry/core/atoms/std-push.orb +38 -38
  372. package/dist/behaviors/registry/core/atoms/std-rate-limiter.orb +168 -168
  373. package/dist/behaviors/registry/core/atoms/std-rating-review.orb +68 -68
  374. package/dist/behaviors/registry/core/atoms/std-related.orb +34 -34
  375. package/dist/behaviors/registry/core/atoms/std-rich-editor.orb +298 -433
  376. package/dist/behaviors/registry/core/atoms/std-saved-search.orb +55 -55
  377. package/dist/behaviors/registry/core/atoms/std-search.orb +9 -9
  378. package/dist/behaviors/registry/core/atoms/std-selection.orb +77 -77
  379. package/dist/behaviors/registry/core/atoms/std-signature-capture.orb +89 -89
  380. package/dist/behaviors/registry/core/atoms/std-stats.orb +104 -104
  381. package/dist/behaviors/registry/core/atoms/std-tabs.orb +27 -27
  382. package/dist/behaviors/registry/core/atoms/std-tag-taxonomy.orb +69 -69
  383. package/dist/behaviors/registry/core/atoms/std-thread.orb +56 -56
  384. package/dist/behaviors/registry/core/atoms/std-version-history.orb +462 -438
  385. package/dist/behaviors/registry/core/atoms/std-vote.orb +39 -39
  386. package/dist/behaviors/registry/core/molecules/std-app-layout.orb +21 -21
  387. package/dist/behaviors/registry/core/molecules/std-dashboard-grid-layout.orb +11 -11
  388. package/dist/behaviors/registry/core/molecules/std-dashboard.orb +52 -52
  389. package/dist/behaviors/registry/core/molecules/std-esign-flow.orb +86 -104
  390. package/dist/behaviors/registry/core/molecules/std-filtered-list.orb +22 -22
  391. package/dist/behaviors/registry/core/molecules/std-form-advanced.orb +133 -133
  392. package/dist/behaviors/registry/core/molecules/std-list.orb +71 -71
  393. package/dist/behaviors/registry/core/molecules/std-master-detail-layout.orb +13 -13
  394. package/dist/behaviors/registry/core/molecules/std-stack-layout.orb +12 -12
  395. package/dist/behaviors/registry/core/molecules/std-tabs-layout.orb +11 -11
  396. package/dist/behaviors/registry/core/molecules/std-wizard-form.orb +227 -152
  397. package/dist/behaviors/registry/core/organisms/std-generic-app.orb +544 -544
  398. package/dist/behaviors/registry/game/atoms/std-collision.orb +0 -595
  399. package/dist/behaviors/registry/game/atoms/std-combat.orb +0 -524
  400. package/dist/behaviors/registry/game/atoms/std-dialogue-box.orb +27 -27
  401. package/dist/behaviors/registry/game/atoms/std-game-canvas2d.orb +40 -40
  402. package/dist/behaviors/registry/game/atoms/std-gameflow.orb +0 -456
  403. package/dist/behaviors/registry/game/atoms/std-movement.orb +0 -1279
  404. package/dist/behaviors/registry/game/atoms/std-overworld.orb +56 -56
  405. package/dist/behaviors/registry/game/atoms/std-physics2d.orb +78 -78
  406. package/dist/behaviors/registry/game/atoms/std-quest.orb +122 -122
  407. package/dist/behaviors/registry/game/atoms/std-timer.orb +266 -266
  408. package/dist/behaviors/registry/game/organisms/std-arcade-game.orb +0 -1446
  409. package/dist/behaviors/registry/game/organisms/std-logic-training.orb +0 -1037
  410. package/dist/behaviors/registry/game/organisms/std-platformer-app.orb +0 -2567
  411. package/dist/behaviors/registry/game/organisms/std-puzzle-app.orb +0 -1197
  412. package/dist/behaviors/registry/game/organisms/std-rpg-game.orb +0 -3509
  413. package/dist/behaviors/registry/game/organisms/std-stem-lab.orb +0 -2003
  414. package/dist/behaviors/registry/game/organisms/std-strategy-game.orb +0 -2686
  415. package/dist/behaviors/registry/probes/molecules/std-source-scope-probe.orb +32 -32
  416. package/dist/behaviors/registry/service/atoms/std-service-calendar-ical.orb +51 -51
  417. package/dist/behaviors/registry/service/atoms/std-service-custom-bearer.orb +69 -69
  418. package/dist/behaviors/registry/service/atoms/std-service-email.orb +55 -55
  419. package/dist/behaviors/registry/service/atoms/std-service-github.orb +70 -70
  420. package/dist/behaviors/registry/service/atoms/std-service-llm.orb +70 -70
  421. package/dist/behaviors/registry/service/atoms/std-service-maps.orb +83 -83
  422. package/dist/behaviors/registry/service/atoms/std-service-oauth.orb +51 -51
  423. package/dist/behaviors/registry/service/atoms/std-service-print.orb +114 -114
  424. package/dist/behaviors/registry/service/atoms/std-service-redis.orb +61 -61
  425. package/dist/behaviors/registry/service/atoms/std-service-storage.orb +51 -51
  426. package/dist/behaviors/registry/service/atoms/std-service-stripe.orb +111 -111
  427. package/dist/behaviors/registry/service/atoms/std-service-twilio.orb +48 -48
  428. package/dist/behaviors/registry/service/atoms/std-service-youtube.orb +45 -45
  429. package/dist/behaviors/registry/service/organisms/std-service-marketplace.orb +911 -911
  430. package/dist/behaviors/registry/service/organisms/std-service-research-assistant.orb +883 -883
  431. package/package.json +1 -1
@@ -1,3509 +0,0 @@
1
- {
2
- "name": "std-rpg-game",
3
- "version": "1.0.0",
4
- "description": "std-rpg-game as a Function",
5
- "orbitals": [
6
- {
7
- "name": "BattleStateOrbital",
8
- "entity": {
9
- "name": "BattleState",
10
- "persistence": "runtime",
11
- "fields": [
12
- {
13
- "name": "id",
14
- "type": "string",
15
- "required": true
16
- },
17
- {
18
- "name": "turn",
19
- "type": "number",
20
- "default": 0.0
21
- },
22
- {
23
- "name": "score",
24
- "type": "number",
25
- "default": 0.0
26
- },
27
- {
28
- "name": "phase",
29
- "type": "string",
30
- "default": "setup"
31
- },
32
- {
33
- "name": "outcome",
34
- "type": "string"
35
- }
36
- ]
37
- },
38
- "traits": [
39
- {
40
- "name": "BattleStateBattleFlow",
41
- "category": "interaction",
42
- "linkedEntity": "BattleState",
43
- "emits": [
44
- {
45
- "event": "LOOT_DROPPED",
46
- "scope": "external",
47
- "payloadSchema": [
48
- {
49
- "name": "itemId",
50
- "type": "string"
51
- }
52
- ]
53
- },
54
- {
55
- "event": "BattleStateLoaded",
56
- "description": "Fired when BattleState finishes loading",
57
- "scope": "internal",
58
- "payloadSchema": [
59
- {
60
- "name": "data",
61
- "type": "[BattleState]"
62
- }
63
- ]
64
- },
65
- {
66
- "event": "BattleStateLoadFailed",
67
- "description": "Fired when BattleState fails to load",
68
- "scope": "internal",
69
- "payloadSchema": [
70
- {
71
- "name": "error",
72
- "type": "string"
73
- },
74
- {
75
- "name": "code",
76
- "type": "string"
77
- }
78
- ]
79
- },
80
- {
81
- "event": "RpgItemSaved",
82
- "scope": "internal",
83
- "payloadSchema": [
84
- {
85
- "name": "id",
86
- "type": "string"
87
- }
88
- ]
89
- },
90
- {
91
- "event": "RpgItemSaveFailed",
92
- "scope": "internal",
93
- "payloadSchema": [
94
- {
95
- "name": "error",
96
- "type": "string"
97
- },
98
- {
99
- "name": "code",
100
- "type": "string"
101
- }
102
- ]
103
- },
104
- {
105
- "event": "RpgItemUpdated",
106
- "scope": "internal",
107
- "payloadSchema": [
108
- {
109
- "name": "id",
110
- "type": "string"
111
- }
112
- ]
113
- },
114
- {
115
- "event": "RpgItemUpdateFailed",
116
- "scope": "internal",
117
- "payloadSchema": [
118
- {
119
- "name": "error",
120
- "type": "string"
121
- },
122
- {
123
- "name": "code",
124
- "type": "string"
125
- }
126
- ]
127
- },
128
- {
129
- "event": "RpgItemDeleted",
130
- "scope": "internal",
131
- "payloadSchema": [
132
- {
133
- "name": "id",
134
- "type": "string"
135
- }
136
- ]
137
- },
138
- {
139
- "event": "RpgItemDeleteFailed",
140
- "scope": "internal",
141
- "payloadSchema": [
142
- {
143
- "name": "error",
144
- "type": "string"
145
- },
146
- {
147
- "name": "code",
148
- "type": "string"
149
- }
150
- ]
151
- },
152
- {
153
- "event": "MissionUpdated",
154
- "scope": "internal",
155
- "payloadSchema": [
156
- {
157
- "name": "id",
158
- "type": "string"
159
- }
160
- ]
161
- },
162
- {
163
- "event": "MissionUpdateFailed",
164
- "scope": "internal",
165
- "payloadSchema": [
166
- {
167
- "name": "error",
168
- "type": "string"
169
- },
170
- {
171
- "name": "code",
172
- "type": "string"
173
- }
174
- ]
175
- }
176
- ],
177
- "listens": [
178
- {
179
- "event": "ENCOUNTER_STARTED",
180
- "triggers": "START",
181
- "source": {
182
- "kind": "orbital",
183
- "orbital": "WorldZoneOrbital",
184
- "trait": "WorldZoneNavigation"
185
- }
186
- }
187
- ],
188
- "stateMachine": {
189
- "states": [
190
- {
191
- "name": "menu",
192
- "isInitial": true
193
- },
194
- {
195
- "name": "playing"
196
- },
197
- {
198
- "name": "paused"
199
- },
200
- {
201
- "name": "gameover"
202
- }
203
- ],
204
- "events": [
205
- {
206
- "key": "INIT",
207
- "name": "Initialize"
208
- },
209
- {
210
- "key": "START",
211
- "name": "Start"
212
- },
213
- {
214
- "key": "NAVIGATE",
215
- "name": "Navigate"
216
- },
217
- {
218
- "key": "END_TURN",
219
- "name": "End Turn"
220
- },
221
- {
222
- "key": "PAUSE",
223
- "name": "Pause"
224
- },
225
- {
226
- "key": "GAME_OVER",
227
- "name": "Game Over"
228
- },
229
- {
230
- "key": "RESUME",
231
- "name": "Resume"
232
- },
233
- {
234
- "key": "CLOSE",
235
- "name": "Close"
236
- },
237
- {
238
- "key": "RESTART",
239
- "name": "Restart"
240
- },
241
- {
242
- "key": "LOOT_DROPPED",
243
- "name": "Loot Dropped"
244
- },
245
- {
246
- "key": "BattleStateLoaded",
247
- "name": "BattleState loaded",
248
- "payloadSchema": [
249
- {
250
- "name": "data",
251
- "type": "[BattleState]"
252
- }
253
- ]
254
- },
255
- {
256
- "key": "BattleStateLoadFailed",
257
- "name": "BattleState load failed",
258
- "payloadSchema": [
259
- {
260
- "name": "error",
261
- "type": "string"
262
- },
263
- {
264
- "name": "code",
265
- "type": "string"
266
- }
267
- ]
268
- },
269
- {
270
- "key": "RpgItemSaved",
271
- "name": "Rpg item saved",
272
- "payloadSchema": [
273
- {
274
- "name": "id",
275
- "type": "string"
276
- }
277
- ]
278
- },
279
- {
280
- "key": "RpgItemSaveFailed",
281
- "name": "Rpg item save failed",
282
- "payloadSchema": [
283
- {
284
- "name": "error",
285
- "type": "string"
286
- },
287
- {
288
- "name": "code",
289
- "type": "string"
290
- }
291
- ]
292
- },
293
- {
294
- "key": "RpgItemUpdated",
295
- "name": "Rpg item updated",
296
- "payloadSchema": [
297
- {
298
- "name": "id",
299
- "type": "string"
300
- }
301
- ]
302
- },
303
- {
304
- "key": "RpgItemUpdateFailed",
305
- "name": "Rpg item update failed",
306
- "payloadSchema": [
307
- {
308
- "name": "error",
309
- "type": "string"
310
- },
311
- {
312
- "name": "code",
313
- "type": "string"
314
- }
315
- ]
316
- },
317
- {
318
- "key": "RpgItemDeleted",
319
- "name": "Rpg item deleted",
320
- "payloadSchema": [
321
- {
322
- "name": "id",
323
- "type": "string"
324
- }
325
- ]
326
- },
327
- {
328
- "key": "RpgItemDeleteFailed",
329
- "name": "Rpg item delete failed",
330
- "payloadSchema": [
331
- {
332
- "name": "error",
333
- "type": "string"
334
- },
335
- {
336
- "name": "code",
337
- "type": "string"
338
- }
339
- ]
340
- },
341
- {
342
- "key": "MissionUpdated",
343
- "name": "Mission updated",
344
- "payloadSchema": [
345
- {
346
- "name": "id",
347
- "type": "string"
348
- }
349
- ]
350
- },
351
- {
352
- "key": "MissionUpdateFailed",
353
- "name": "Mission update failed",
354
- "payloadSchema": [
355
- {
356
- "name": "error",
357
- "type": "string"
358
- },
359
- {
360
- "name": "code",
361
- "type": "string"
362
- }
363
- ]
364
- }
365
- ],
366
- "transitions": [
367
- {
368
- "from": "menu",
369
- "to": "menu",
370
- "event": "INIT",
371
- "effects": [
372
- [
373
- "fetch",
374
- "BattleState",
375
- {
376
- "emit": {
377
- "success": "BattleStateLoaded",
378
- "failure": "BattleStateLoadFailed"
379
- }
380
- }
381
- ],
382
- [
383
- "render-ui",
384
- "main",
385
- {
386
- "showTopBar": true,
387
- "appName": "RPG Game",
388
- "type": "game-shell",
389
- "children": [
390
- {
391
- "subtitle": "Turn-Based Strategy",
392
- "title": "Battle Arena",
393
- "type": "game-menu",
394
- "menuItems": [
395
- {
396
- "event": "START",
397
- "label": "Start Battle",
398
- "variant": "primary"
399
- }
400
- ]
401
- }
402
- ]
403
- }
404
- ]
405
- ]
406
- },
407
- {
408
- "from": "menu",
409
- "to": "playing",
410
- "event": "START",
411
- "effects": [
412
- [
413
- "render-ui",
414
- "main",
415
- {
416
- "children": [
417
- {
418
- "type": "game-hud",
419
- "stats": [
420
- {
421
- "value": "@entity.turn",
422
- "label": "Turn"
423
- },
424
- {
425
- "label": "Score",
426
- "value": "@entity.score"
427
- }
428
- ]
429
- }
430
- ],
431
- "type": "game-shell",
432
- "showTopBar": true,
433
- "appName": "RPG Game"
434
- }
435
- ]
436
- ]
437
- },
438
- {
439
- "from": "menu",
440
- "to": "menu",
441
- "event": "NAVIGATE"
442
- },
443
- {
444
- "from": "playing",
445
- "to": "playing",
446
- "event": "END_TURN",
447
- "effects": [
448
- [
449
- "set",
450
- "@entity.turn",
451
- [
452
- "+",
453
- "@entity.turn",
454
- 1.0
455
- ]
456
- ],
457
- [
458
- "render-ui",
459
- "main",
460
- {
461
- "type": "game-shell",
462
- "children": [
463
- {
464
- "stats": [
465
- {
466
- "value": "@entity.turn",
467
- "label": "Turn"
468
- },
469
- {
470
- "label": "Score",
471
- "value": "@entity.score"
472
- }
473
- ],
474
- "type": "game-hud"
475
- }
476
- ],
477
- "appName": "RPG Game",
478
- "showTopBar": true
479
- }
480
- ]
481
- ]
482
- },
483
- {
484
- "from": "playing",
485
- "to": "paused",
486
- "event": "PAUSE",
487
- "effects": [
488
- [
489
- "render-ui",
490
- "modal",
491
- {
492
- "title": "Paused",
493
- "menuItems": [
494
- {
495
- "event": "RESUME",
496
- "label": "Resume",
497
- "variant": "primary"
498
- },
499
- {
500
- "event": "RESTART",
501
- "label": "Quit",
502
- "variant": "ghost"
503
- }
504
- ],
505
- "type": "game-menu"
506
- }
507
- ]
508
- ]
509
- },
510
- {
511
- "from": "playing",
512
- "to": "gameover",
513
- "event": "GAME_OVER",
514
- "effects": [
515
- [
516
- "render-ui",
517
- "main",
518
- {
519
- "children": [
520
- {
521
- "menuItems": [
522
- {
523
- "variant": "primary",
524
- "label": "Play Again",
525
- "event": "RESTART"
526
- },
527
- {
528
- "event": "RESTART",
529
- "variant": "secondary",
530
- "label": "Main Menu"
531
- }
532
- ],
533
- "stats": [
534
- {
535
- "label": "Turns",
536
- "value": "@entity.turn"
537
- },
538
- {
539
- "value": "@entity.score",
540
- "label": "Score"
541
- }
542
- ],
543
- "title": "Battle Over",
544
- "type": "game-over-screen"
545
- }
546
- ],
547
- "type": "game-shell",
548
- "appName": "RPG Game",
549
- "showTopBar": true
550
- }
551
- ]
552
- ]
553
- },
554
- {
555
- "from": "paused",
556
- "to": "paused",
557
- "event": "NAVIGATE"
558
- },
559
- {
560
- "from": "paused",
561
- "to": "playing",
562
- "event": "RESUME",
563
- "effects": [
564
- [
565
- "render-ui",
566
- "modal",
567
- null
568
- ],
569
- [
570
- "render-ui",
571
- "main",
572
- {
573
- "showTopBar": true,
574
- "children": [
575
- {
576
- "type": "game-hud",
577
- "stats": [
578
- {
579
- "label": "Turn",
580
- "value": "@entity.turn"
581
- },
582
- {
583
- "label": "Score",
584
- "value": "@entity.score"
585
- }
586
- ]
587
- }
588
- ],
589
- "type": "game-shell",
590
- "appName": "RPG Game"
591
- }
592
- ]
593
- ]
594
- },
595
- {
596
- "from": "paused",
597
- "to": "playing",
598
- "event": "CLOSE",
599
- "effects": [
600
- [
601
- "render-ui",
602
- "modal",
603
- null
604
- ],
605
- [
606
- "render-ui",
607
- "main",
608
- {
609
- "showTopBar": true,
610
- "children": [
611
- {
612
- "type": "game-hud",
613
- "stats": [
614
- {
615
- "label": "Turn",
616
- "value": "@entity.turn"
617
- },
618
- {
619
- "value": "@entity.score",
620
- "label": "Score"
621
- }
622
- ]
623
- }
624
- ],
625
- "type": "game-shell",
626
- "appName": "RPG Game"
627
- }
628
- ]
629
- ]
630
- },
631
- {
632
- "from": "paused",
633
- "to": "menu",
634
- "event": "RESTART",
635
- "effects": [
636
- [
637
- "render-ui",
638
- "modal",
639
- null
640
- ],
641
- [
642
- "render-ui",
643
- "main",
644
- {
645
- "children": [
646
- {
647
- "type": "game-menu",
648
- "subtitle": "Turn-Based Strategy",
649
- "menuItems": [
650
- {
651
- "event": "START",
652
- "variant": "primary",
653
- "label": "Start Battle"
654
- }
655
- ],
656
- "title": "Battle Arena"
657
- }
658
- ],
659
- "showTopBar": true,
660
- "type": "game-shell",
661
- "appName": "RPG Game"
662
- }
663
- ]
664
- ]
665
- },
666
- {
667
- "from": "gameover",
668
- "to": "menu",
669
- "event": "RESTART",
670
- "effects": [
671
- [
672
- "render-ui",
673
- "main",
674
- {
675
- "type": "game-shell",
676
- "appName": "RPG Game",
677
- "showTopBar": true,
678
- "children": [
679
- {
680
- "menuItems": [
681
- {
682
- "event": "START",
683
- "variant": "primary",
684
- "label": "Start Battle"
685
- }
686
- ],
687
- "subtitle": "Turn-Based Strategy",
688
- "type": "game-menu",
689
- "title": "Battle Arena"
690
- }
691
- ]
692
- }
693
- ]
694
- ]
695
- }
696
- ]
697
- },
698
- "scope": "collection"
699
- },
700
- {
701
- "name": "BattleStateCombatLog",
702
- "category": "interaction",
703
- "linkedEntity": "BattleState",
704
- "emits": [
705
- {
706
- "event": "BattleStateLoaded",
707
- "description": "Fired when BattleState finishes loading",
708
- "scope": "internal",
709
- "payloadSchema": [
710
- {
711
- "name": "data",
712
- "type": "[BattleState]"
713
- }
714
- ]
715
- },
716
- {
717
- "event": "BattleStateLoadFailed",
718
- "description": "Fired when BattleState fails to load",
719
- "scope": "internal",
720
- "payloadSchema": [
721
- {
722
- "name": "error",
723
- "type": "string"
724
- },
725
- {
726
- "name": "code",
727
- "type": "string"
728
- }
729
- ]
730
- }
731
- ],
732
- "stateMachine": {
733
- "states": [
734
- {
735
- "name": "idle",
736
- "isInitial": true
737
- }
738
- ],
739
- "events": [
740
- {
741
- "key": "INIT",
742
- "name": "Initialize"
743
- },
744
- {
745
- "key": "LOG_EVENT",
746
- "name": "Log Event",
747
- "payloadSchema": [
748
- {
749
- "name": "data",
750
- "type": "object",
751
- "required": true
752
- }
753
- ]
754
- },
755
- {
756
- "key": "CLEAR",
757
- "name": "Clear"
758
- },
759
- {
760
- "key": "BattleStateLoaded",
761
- "name": "BattleState loaded",
762
- "payloadSchema": [
763
- {
764
- "name": "data",
765
- "type": "[BattleState]"
766
- }
767
- ]
768
- },
769
- {
770
- "key": "BattleStateLoadFailed",
771
- "name": "BattleState load failed",
772
- "payloadSchema": [
773
- {
774
- "name": "error",
775
- "type": "string"
776
- },
777
- {
778
- "name": "code",
779
- "type": "string"
780
- }
781
- ]
782
- }
783
- ],
784
- "transitions": [
785
- {
786
- "from": "idle",
787
- "to": "idle",
788
- "event": "INIT",
789
- "effects": [
790
- [
791
- "fetch",
792
- "BattleState",
793
- {
794
- "emit": {
795
- "success": "BattleStateLoaded",
796
- "failure": "BattleStateLoadFailed"
797
- }
798
- }
799
- ]
800
- ]
801
- },
802
- {
803
- "from": "idle",
804
- "to": "idle",
805
- "event": "LOG_EVENT",
806
- "effects": [
807
- [
808
- "render-ui",
809
- "main",
810
- {
811
- "children": [
812
- {
813
- "autoScroll": true,
814
- "title": "Combat Log",
815
- "events": "@BattleState",
816
- "maxVisible": 10.0,
817
- "showTimestamps": true,
818
- "type": "combat-log"
819
- }
820
- ],
821
- "showTopBar": true,
822
- "type": "game-shell",
823
- "appName": "RPG Game"
824
- }
825
- ]
826
- ]
827
- },
828
- {
829
- "from": "idle",
830
- "to": "idle",
831
- "event": "CLEAR",
832
- "effects": [
833
- [
834
- "render-ui",
835
- "main",
836
- {
837
- "appName": "RPG Game",
838
- "type": "game-shell",
839
- "children": [
840
- {
841
- "autoScroll": true,
842
- "type": "combat-log",
843
- "maxVisible": 10.0,
844
- "events": "@BattleState",
845
- "showTimestamps": true,
846
- "title": "Combat Log"
847
- }
848
- ],
849
- "showTopBar": true
850
- }
851
- ]
852
- ]
853
- }
854
- ]
855
- },
856
- "scope": "collection"
857
- }
858
- ],
859
- "pages": [
860
- {
861
- "name": "BattlePage",
862
- "path": "/battle",
863
- "traits": [
864
- {
865
- "ref": "BattleStateBattleFlow"
866
- },
867
- {
868
- "ref": "BattleStateCombatLog"
869
- }
870
- ]
871
- }
872
- ]
873
- },
874
- {
875
- "name": "WorldZoneOrbital",
876
- "entity": {
877
- "name": "WorldZone",
878
- "persistence": "runtime",
879
- "fields": [
880
- {
881
- "name": "id",
882
- "type": "string",
883
- "required": true
884
- },
885
- {
886
- "name": "name",
887
- "type": "string",
888
- "required": true
889
- },
890
- {
891
- "name": "description",
892
- "type": "string"
893
- },
894
- {
895
- "name": "level",
896
- "type": "number"
897
- },
898
- {
899
- "name": "explored",
900
- "type": "boolean"
901
- }
902
- ]
903
- },
904
- "traits": [
905
- {
906
- "name": "WorldZoneNavigation",
907
- "category": "interaction",
908
- "linkedEntity": "WorldZone",
909
- "emits": [
910
- {
911
- "event": "ENCOUNTER_STARTED",
912
- "scope": "external",
913
- "payloadSchema": [
914
- {
915
- "name": "zoneId",
916
- "type": "string"
917
- }
918
- ]
919
- },
920
- {
921
- "event": "QUEST_ACCEPTED",
922
- "scope": "external",
923
- "payloadSchema": [
924
- {
925
- "name": "questId",
926
- "type": "string"
927
- }
928
- ]
929
- },
930
- {
931
- "event": "WorldZoneLoaded",
932
- "description": "Fired when WorldZone finishes loading",
933
- "scope": "internal",
934
- "payloadSchema": [
935
- {
936
- "name": "data",
937
- "type": "[WorldZone]"
938
- }
939
- ]
940
- },
941
- {
942
- "event": "WorldZoneLoadFailed",
943
- "description": "Fired when WorldZone fails to load",
944
- "scope": "internal",
945
- "payloadSchema": [
946
- {
947
- "name": "error",
948
- "type": "string"
949
- },
950
- {
951
- "name": "code",
952
- "type": "string"
953
- }
954
- ]
955
- }
956
- ],
957
- "stateMachine": {
958
- "states": [
959
- {
960
- "name": "loading",
961
- "isInitial": true
962
- },
963
- {
964
- "name": "exploring"
965
- },
966
- {
967
- "name": "transitioning"
968
- }
969
- ],
970
- "events": [
971
- {
972
- "key": "INIT",
973
- "name": "Initialize"
974
- },
975
- {
976
- "key": "WorldZoneLoaded",
977
- "name": "WorldZone loaded",
978
- "payloadSchema": [
979
- {
980
- "name": "data",
981
- "type": "[WorldZone]"
982
- }
983
- ]
984
- },
985
- {
986
- "key": "WorldZoneLoadFailed",
987
- "name": "WorldZone load failed",
988
- "payloadSchema": [
989
- {
990
- "name": "error",
991
- "type": "string"
992
- },
993
- {
994
- "name": "code",
995
- "type": "string"
996
- }
997
- ]
998
- },
999
- {
1000
- "key": "TRAVEL",
1001
- "name": "Travel"
1002
- },
1003
- {
1004
- "key": "ARRIVE",
1005
- "name": "Arrive"
1006
- },
1007
- {
1008
- "key": "ENCOUNTER_STARTED",
1009
- "name": "Encounter Started"
1010
- },
1011
- {
1012
- "key": "QUEST_ACCEPTED",
1013
- "name": "Quest Accepted"
1014
- }
1015
- ],
1016
- "transitions": [
1017
- {
1018
- "from": "loading",
1019
- "to": "loading",
1020
- "event": "INIT",
1021
- "effects": [
1022
- [
1023
- "fetch",
1024
- "WorldZone",
1025
- {
1026
- "emit": {
1027
- "failure": "WorldZoneLoadFailed",
1028
- "success": "WorldZoneLoaded"
1029
- }
1030
- }
1031
- ],
1032
- [
1033
- "render-ui",
1034
- "main",
1035
- {
1036
- "direction": "vertical",
1037
- "type": "stack",
1038
- "gap": "md",
1039
- "className": "py-12",
1040
- "children": [
1041
- {
1042
- "type": "spinner"
1043
- },
1044
- {
1045
- "variant": "caption",
1046
- "type": "typography",
1047
- "content": "Loading map…",
1048
- "color": "muted"
1049
- }
1050
- ],
1051
- "align": "center"
1052
- }
1053
- ]
1054
- ]
1055
- },
1056
- {
1057
- "from": "loading",
1058
- "to": "exploring",
1059
- "event": "WorldZoneLoaded",
1060
- "effects": [
1061
- [
1062
- "render-ui",
1063
- "main",
1064
- {
1065
- "children": [
1066
- {
1067
- "type": "stack",
1068
- "direction": "vertical",
1069
- "children": [
1070
- {
1071
- "children": [
1072
- {
1073
- "type": "stack",
1074
- "children": [
1075
- {
1076
- "type": "icon",
1077
- "name": "map"
1078
- },
1079
- {
1080
- "variant": "h2",
1081
- "type": "typography",
1082
- "content": "World Map"
1083
- }
1084
- ],
1085
- "direction": "horizontal",
1086
- "gap": "md"
1087
- },
1088
- {
1089
- "status": "online",
1090
- "type": "status-dot",
1091
- "pulse": false,
1092
- "label": "Exploring"
1093
- }
1094
- ],
1095
- "gap": "md",
1096
- "type": "stack",
1097
- "direction": "horizontal",
1098
- "justify": "between"
1099
- },
1100
- {
1101
- "type": "divider"
1102
- },
1103
- {
1104
- "markers": [],
1105
- "height": "200px",
1106
- "zoom": 10.0,
1107
- "type": "map-view"
1108
- },
1109
- {
1110
- "fields": [],
1111
- "entity": "@payload.data",
1112
- "renderItem": [
1113
- "fn",
1114
- "item",
1115
- {
1116
- "direction": "vertical",
1117
- "type": "stack",
1118
- "children": [
1119
- {
1120
- "type": "stack",
1121
- "direction": "horizontal",
1122
- "justify": "between",
1123
- "children": [
1124
- {
1125
- "type": "stack",
1126
- "direction": "horizontal",
1127
- "children": [
1128
- {
1129
- "name": "map-pin",
1130
- "type": "icon"
1131
- },
1132
- {
1133
- "content": "@item.name",
1134
- "variant": "h4",
1135
- "type": "typography"
1136
- }
1137
- ],
1138
- "align": "center",
1139
- "gap": "sm"
1140
- },
1141
- {
1142
- "label": "@item.description",
1143
- "type": "badge"
1144
- }
1145
- ],
1146
- "align": "center"
1147
- },
1148
- {
1149
- "type": "typography",
1150
- "content": "@item.level",
1151
- "variant": "caption"
1152
- }
1153
- ],
1154
- "gap": "sm"
1155
- }
1156
- ],
1157
- "itemActions": [
1158
- {
1159
- "event": "TRAVEL",
1160
- "label": "Travel"
1161
- }
1162
- ],
1163
- "type": "data-grid"
1164
- }
1165
- ],
1166
- "gap": "lg"
1167
- }
1168
- ],
1169
- "appName": "RPG Game",
1170
- "type": "game-shell",
1171
- "showTopBar": true
1172
- }
1173
- ]
1174
- ]
1175
- },
1176
- {
1177
- "from": "loading",
1178
- "to": "loading",
1179
- "event": "WorldZoneLoadFailed",
1180
- "effects": [
1181
- [
1182
- "render-ui",
1183
- "main",
1184
- {
1185
- "direction": "vertical",
1186
- "className": "py-12",
1187
- "gap": "md",
1188
- "align": "center",
1189
- "children": [
1190
- {
1191
- "color": "destructive",
1192
- "name": "alert-triangle",
1193
- "type": "icon"
1194
- },
1195
- {
1196
- "type": "typography",
1197
- "variant": "h3",
1198
- "content": "Failed to load map"
1199
- },
1200
- {
1201
- "variant": "body",
1202
- "type": "typography",
1203
- "color": "muted",
1204
- "content": "@payload.error"
1205
- },
1206
- {
1207
- "variant": "primary",
1208
- "type": "button",
1209
- "icon": "rotate-ccw",
1210
- "label": "Retry",
1211
- "action": "INIT"
1212
- }
1213
- ],
1214
- "type": "stack"
1215
- }
1216
- ]
1217
- ]
1218
- },
1219
- {
1220
- "from": "exploring",
1221
- "to": "transitioning",
1222
- "event": "TRAVEL",
1223
- "effects": [
1224
- [
1225
- "render-ui",
1226
- "main",
1227
- {
1228
- "type": "game-shell",
1229
- "showTopBar": true,
1230
- "appName": "RPG Game",
1231
- "children": [
1232
- {
1233
- "type": "stack",
1234
- "direction": "vertical",
1235
- "gap": "lg",
1236
- "align": "center",
1237
- "children": [
1238
- {
1239
- "type": "stack",
1240
- "gap": "md",
1241
- "children": [
1242
- {
1243
- "name": "loader",
1244
- "type": "icon"
1245
- },
1246
- {
1247
- "content": "Traveling...",
1248
- "type": "typography",
1249
- "variant": "h2"
1250
- }
1251
- ],
1252
- "direction": "horizontal"
1253
- },
1254
- {
1255
- "type": "divider"
1256
- },
1257
- {
1258
- "content": "Traveling to the destination worldzone.",
1259
- "variant": "body",
1260
- "type": "typography"
1261
- }
1262
- ]
1263
- }
1264
- ]
1265
- }
1266
- ]
1267
- ]
1268
- },
1269
- {
1270
- "from": "transitioning",
1271
- "to": "loading",
1272
- "event": "ARRIVE",
1273
- "effects": [
1274
- [
1275
- "fetch",
1276
- "WorldZone",
1277
- {
1278
- "emit": {
1279
- "success": "WorldZoneLoaded",
1280
- "failure": "WorldZoneLoadFailed"
1281
- }
1282
- }
1283
- ],
1284
- [
1285
- "render-ui",
1286
- "main",
1287
- {
1288
- "type": "spinner"
1289
- }
1290
- ]
1291
- ]
1292
- }
1293
- ]
1294
- },
1295
- "scope": "collection"
1296
- }
1297
- ],
1298
- "pages": [
1299
- {
1300
- "name": "World",
1301
- "path": "/world",
1302
- "traits": [
1303
- {
1304
- "ref": "WorldZoneNavigation"
1305
- }
1306
- ]
1307
- }
1308
- ]
1309
- },
1310
- {
1311
- "name": "RpgItemOrbital",
1312
- "entity": {
1313
- "name": "RpgItem",
1314
- "collection": "rpgitems",
1315
- "persistence": "persistent",
1316
- "fields": [
1317
- {
1318
- "name": "id",
1319
- "type": "string",
1320
- "required": true
1321
- },
1322
- {
1323
- "name": "name",
1324
- "type": "string",
1325
- "required": true
1326
- },
1327
- {
1328
- "name": "type",
1329
- "type": "string",
1330
- "required": true
1331
- },
1332
- {
1333
- "name": "quantity",
1334
- "type": "number"
1335
- },
1336
- {
1337
- "name": "rarity",
1338
- "type": "string"
1339
- },
1340
- {
1341
- "name": "pendingId",
1342
- "type": "string"
1343
- }
1344
- ]
1345
- },
1346
- "traits": [
1347
- {
1348
- "name": "RpgItemBrowse",
1349
- "category": "interaction",
1350
- "linkedEntity": "RpgItem",
1351
- "emits": [
1352
- {
1353
- "event": "ADD_ITEM"
1354
- },
1355
- {
1356
- "event": "USE_ITEM",
1357
- "payloadSchema": [
1358
- {
1359
- "name": "id",
1360
- "type": "string",
1361
- "required": true
1362
- },
1363
- {
1364
- "name": "row.id",
1365
- "type": "string",
1366
- "required": true
1367
- },
1368
- {
1369
- "name": "row.name",
1370
- "type": "string",
1371
- "required": true
1372
- },
1373
- {
1374
- "name": "row.type",
1375
- "type": "string",
1376
- "required": true
1377
- },
1378
- {
1379
- "name": "row.quantity",
1380
- "type": "number"
1381
- },
1382
- {
1383
- "name": "row.rarity",
1384
- "type": "string"
1385
- },
1386
- {
1387
- "name": "row.pendingId",
1388
- "type": "string"
1389
- }
1390
- ]
1391
- },
1392
- {
1393
- "event": "DROP",
1394
- "payloadSchema": [
1395
- {
1396
- "name": "id",
1397
- "type": "string",
1398
- "required": true
1399
- },
1400
- {
1401
- "name": "row.id",
1402
- "type": "string",
1403
- "required": true
1404
- },
1405
- {
1406
- "name": "row.name",
1407
- "type": "string",
1408
- "required": true
1409
- },
1410
- {
1411
- "name": "row.type",
1412
- "type": "string",
1413
- "required": true
1414
- },
1415
- {
1416
- "name": "row.quantity",
1417
- "type": "number"
1418
- },
1419
- {
1420
- "name": "row.rarity",
1421
- "type": "string"
1422
- },
1423
- {
1424
- "name": "row.pendingId",
1425
- "type": "string"
1426
- }
1427
- ]
1428
- },
1429
- {
1430
- "event": "RpgItemLoaded",
1431
- "description": "Fired when RpgItem finishes loading",
1432
- "scope": "internal",
1433
- "payloadSchema": [
1434
- {
1435
- "name": "data",
1436
- "type": "[RpgItem]"
1437
- }
1438
- ]
1439
- },
1440
- {
1441
- "event": "RpgItemLoadFailed",
1442
- "description": "Fired when RpgItem fails to load",
1443
- "scope": "internal",
1444
- "payloadSchema": [
1445
- {
1446
- "name": "error",
1447
- "type": "string"
1448
- },
1449
- {
1450
- "name": "code",
1451
- "type": "string"
1452
- }
1453
- ]
1454
- }
1455
- ],
1456
- "listens": [
1457
- {
1458
- "event": "ITEM_ADDED",
1459
- "triggers": "INIT",
1460
- "source": {
1461
- "kind": "trait",
1462
- "trait": "RpgItemAdd"
1463
- }
1464
- },
1465
- {
1466
- "event": "ITEM_USED",
1467
- "triggers": "INIT",
1468
- "source": {
1469
- "kind": "trait",
1470
- "trait": "RpgItemUse"
1471
- }
1472
- },
1473
- {
1474
- "event": "CONFIRM_DROP",
1475
- "triggers": "INIT",
1476
- "source": {
1477
- "kind": "trait",
1478
- "trait": "RpgItemDrop"
1479
- }
1480
- },
1481
- {
1482
- "event": "LOOT_DROPPED",
1483
- "triggers": "INIT",
1484
- "source": {
1485
- "kind": "orbital",
1486
- "orbital": "BattleStateOrbital",
1487
- "trait": "BattleStateBattleFlow"
1488
- }
1489
- }
1490
- ],
1491
- "stateMachine": {
1492
- "states": [
1493
- {
1494
- "name": "browsing",
1495
- "isInitial": true
1496
- }
1497
- ],
1498
- "events": [
1499
- {
1500
- "key": "INIT",
1501
- "name": "Initialize"
1502
- },
1503
- {
1504
- "key": "RpgItemLoaded",
1505
- "name": "RpgItem loaded",
1506
- "payloadSchema": [
1507
- {
1508
- "name": "data",
1509
- "type": "[RpgItem]"
1510
- }
1511
- ]
1512
- },
1513
- {
1514
- "key": "RpgItemLoadFailed",
1515
- "name": "RpgItem load failed",
1516
- "payloadSchema": [
1517
- {
1518
- "name": "error",
1519
- "type": "string"
1520
- },
1521
- {
1522
- "name": "code",
1523
- "type": "string"
1524
- }
1525
- ]
1526
- },
1527
- {
1528
- "key": "ADD_ITEM",
1529
- "name": "Add Item"
1530
- },
1531
- {
1532
- "key": "USE_ITEM",
1533
- "name": "Use Item"
1534
- },
1535
- {
1536
- "key": "DROP",
1537
- "name": "Drop"
1538
- }
1539
- ],
1540
- "transitions": [
1541
- {
1542
- "from": "browsing",
1543
- "to": "browsing",
1544
- "event": "INIT",
1545
- "effects": [
1546
- [
1547
- "fetch",
1548
- "RpgItem",
1549
- {
1550
- "emit": {
1551
- "success": "RpgItemLoaded",
1552
- "failure": "RpgItemLoadFailed"
1553
- }
1554
- }
1555
- ],
1556
- [
1557
- "render-ui",
1558
- "main",
1559
- {
1560
- "className": "py-12",
1561
- "gap": "md",
1562
- "align": "center",
1563
- "children": [
1564
- {
1565
- "type": "spinner"
1566
- },
1567
- {
1568
- "variant": "caption",
1569
- "color": "muted",
1570
- "content": "Loading…",
1571
- "type": "typography"
1572
- }
1573
- ],
1574
- "type": "stack",
1575
- "direction": "vertical"
1576
- }
1577
- ]
1578
- ]
1579
- },
1580
- {
1581
- "from": "browsing",
1582
- "to": "browsing",
1583
- "event": "RpgItemLoaded",
1584
- "effects": [
1585
- [
1586
- "render-ui",
1587
- "main",
1588
- {
1589
- "appName": "RPG Game",
1590
- "type": "game-shell",
1591
- "children": [
1592
- {
1593
- "children": [
1594
- {
1595
- "gap": "md",
1596
- "justify": "between",
1597
- "align": "center",
1598
- "children": [
1599
- {
1600
- "type": "stack",
1601
- "align": "center",
1602
- "children": [
1603
- {
1604
- "name": "briefcase",
1605
- "type": "icon"
1606
- },
1607
- {
1608
- "variant": "h2",
1609
- "type": "typography",
1610
- "content": "Inventory"
1611
- }
1612
- ],
1613
- "direction": "horizontal",
1614
- "gap": "sm"
1615
- },
1616
- {
1617
- "gap": "sm",
1618
- "type": "stack",
1619
- "children": [
1620
- {
1621
- "action": "ADD_ITEM",
1622
- "label": "Add RpgItem",
1623
- "variant": "primary",
1624
- "icon": "plus",
1625
- "type": "button"
1626
- }
1627
- ],
1628
- "direction": "horizontal"
1629
- }
1630
- ],
1631
- "direction": "horizontal",
1632
- "type": "stack"
1633
- },
1634
- {
1635
- "type": "divider"
1636
- },
1637
- {
1638
- "itemActions": [
1639
- {
1640
- "variant": "ghost",
1641
- "label": "Use",
1642
- "event": "USE_ITEM"
1643
- },
1644
- {
1645
- "label": "Drop",
1646
- "event": "DROP",
1647
- "variant": "danger"
1648
- }
1649
- ],
1650
- "type": "data-grid",
1651
- "entity": "@payload.data",
1652
- "fields": [
1653
- {
1654
- "label": "Name",
1655
- "icon": "briefcase",
1656
- "name": "name",
1657
- "variant": "h4"
1658
- },
1659
- {
1660
- "name": "type",
1661
- "colorMap": {
1662
- "failed": "destructive",
1663
- "disabled": "neutral",
1664
- "active": "success",
1665
- "pending": "warning",
1666
- "scheduled": "warning",
1667
- "archived": "neutral",
1668
- "cancelled": "destructive",
1669
- "error": "destructive",
1670
- "done": "success",
1671
- "draft": "warning",
1672
- "inactive": "neutral",
1673
- "completed": "success"
1674
- },
1675
- "label": "Type",
1676
- "variant": "badge"
1677
- },
1678
- {
1679
- "label": "Quantity",
1680
- "variant": "caption",
1681
- "name": "quantity"
1682
- }
1683
- ]
1684
- }
1685
- ],
1686
- "direction": "vertical",
1687
- "className": "max-w-5xl mx-auto w-full",
1688
- "type": "stack",
1689
- "gap": "lg"
1690
- }
1691
- ],
1692
- "showTopBar": true
1693
- }
1694
- ]
1695
- ]
1696
- },
1697
- {
1698
- "from": "browsing",
1699
- "to": "browsing",
1700
- "event": "RpgItemLoadFailed",
1701
- "effects": [
1702
- [
1703
- "render-ui",
1704
- "main",
1705
- {
1706
- "gap": "md",
1707
- "type": "stack",
1708
- "className": "py-12",
1709
- "align": "center",
1710
- "direction": "vertical",
1711
- "children": [
1712
- {
1713
- "color": "destructive",
1714
- "name": "alert-triangle",
1715
- "type": "icon"
1716
- },
1717
- {
1718
- "type": "typography",
1719
- "content": "Failed to load rpgitem",
1720
- "variant": "h3"
1721
- },
1722
- {
1723
- "variant": "body",
1724
- "content": "@payload.error",
1725
- "type": "typography",
1726
- "color": "muted"
1727
- },
1728
- {
1729
- "icon": "rotate-ccw",
1730
- "type": "button",
1731
- "action": "INIT",
1732
- "label": "Retry",
1733
- "variant": "primary"
1734
- }
1735
- ]
1736
- }
1737
- ]
1738
- ]
1739
- }
1740
- ]
1741
- },
1742
- "scope": "collection"
1743
- },
1744
- {
1745
- "name": "RpgItemAdd",
1746
- "category": "interaction",
1747
- "linkedEntity": "RpgItem",
1748
- "emits": [
1749
- {
1750
- "event": "ITEM_ADDED"
1751
- },
1752
- {
1753
- "event": "RpgItemLoadFailed",
1754
- "description": "Fired when RpgItem fails to load",
1755
- "scope": "internal",
1756
- "payloadSchema": [
1757
- {
1758
- "name": "error",
1759
- "type": "string"
1760
- },
1761
- {
1762
- "name": "code",
1763
- "type": "string"
1764
- }
1765
- ]
1766
- },
1767
- {
1768
- "event": "RpgItemLoaded",
1769
- "description": "Fired when RpgItem finishes loading",
1770
- "scope": "internal",
1771
- "payloadSchema": [
1772
- {
1773
- "name": "data",
1774
- "type": "[RpgItem]"
1775
- }
1776
- ]
1777
- },
1778
- {
1779
- "event": "RpgItemSaveFailed",
1780
- "scope": "internal",
1781
- "payloadSchema": [
1782
- {
1783
- "name": "error",
1784
- "type": "string"
1785
- },
1786
- {
1787
- "name": "code",
1788
- "type": "string"
1789
- }
1790
- ]
1791
- },
1792
- {
1793
- "event": "RpgItemSaved",
1794
- "scope": "internal",
1795
- "payloadSchema": [
1796
- {
1797
- "name": "id",
1798
- "type": "string"
1799
- }
1800
- ]
1801
- }
1802
- ],
1803
- "listens": [
1804
- {
1805
- "event": "ADD_ITEM",
1806
- "triggers": "ADD_ITEM",
1807
- "source": {
1808
- "kind": "trait",
1809
- "trait": "RpgItemBrowse"
1810
- }
1811
- }
1812
- ],
1813
- "stateMachine": {
1814
- "states": [
1815
- {
1816
- "name": "closed",
1817
- "isInitial": true
1818
- },
1819
- {
1820
- "name": "open"
1821
- }
1822
- ],
1823
- "events": [
1824
- {
1825
- "key": "INIT",
1826
- "name": "Initialize"
1827
- },
1828
- {
1829
- "key": "ADD_ITEM",
1830
- "name": "Add Item"
1831
- },
1832
- {
1833
- "key": "CLOSE",
1834
- "name": "Close"
1835
- },
1836
- {
1837
- "key": "SAVE",
1838
- "name": "Save",
1839
- "payloadSchema": [
1840
- {
1841
- "name": "data",
1842
- "type": "string"
1843
- }
1844
- ]
1845
- },
1846
- {
1847
- "key": "ITEM_ADDED",
1848
- "name": "Item Added"
1849
- },
1850
- {
1851
- "key": "RpgItemLoadFailed",
1852
- "name": "RpgItem load failed",
1853
- "payloadSchema": [
1854
- {
1855
- "name": "error",
1856
- "type": "string"
1857
- },
1858
- {
1859
- "name": "code",
1860
- "type": "string"
1861
- }
1862
- ]
1863
- },
1864
- {
1865
- "key": "RpgItemLoaded",
1866
- "name": "RpgItem loaded",
1867
- "payloadSchema": [
1868
- {
1869
- "name": "data",
1870
- "type": "[RpgItem]"
1871
- }
1872
- ]
1873
- },
1874
- {
1875
- "key": "RpgItemSaveFailed",
1876
- "name": "RpgItem save failed",
1877
- "payloadSchema": [
1878
- {
1879
- "name": "error",
1880
- "type": "string"
1881
- },
1882
- {
1883
- "name": "code",
1884
- "type": "string"
1885
- }
1886
- ]
1887
- },
1888
- {
1889
- "key": "RpgItemSaved",
1890
- "name": "RpgItem saved",
1891
- "payloadSchema": [
1892
- {
1893
- "name": "id",
1894
- "type": "string"
1895
- }
1896
- ]
1897
- }
1898
- ],
1899
- "transitions": [
1900
- {
1901
- "from": "closed",
1902
- "to": "closed",
1903
- "event": "INIT",
1904
- "effects": [
1905
- [
1906
- "fetch",
1907
- "RpgItem",
1908
- {
1909
- "emit": {
1910
- "success": "RpgItemLoaded",
1911
- "failure": "RpgItemLoadFailed"
1912
- }
1913
- }
1914
- ]
1915
- ]
1916
- },
1917
- {
1918
- "from": "closed",
1919
- "to": "open",
1920
- "event": "ADD_ITEM",
1921
- "effects": [
1922
- [
1923
- "fetch",
1924
- "RpgItem",
1925
- {
1926
- "emit": {
1927
- "success": "RpgItemLoaded",
1928
- "failure": "RpgItemLoadFailed"
1929
- }
1930
- }
1931
- ],
1932
- [
1933
- "render-ui",
1934
- "modal",
1935
- {
1936
- "children": [
1937
- {
1938
- "type": "stack",
1939
- "gap": "sm",
1940
- "direction": "horizontal",
1941
- "children": [
1942
- {
1943
- "type": "icon",
1944
- "name": "plus-circle"
1945
- },
1946
- {
1947
- "type": "typography",
1948
- "variant": "h3",
1949
- "content": "Add RpgItem"
1950
- }
1951
- ]
1952
- },
1953
- {
1954
- "type": "divider"
1955
- },
1956
- {
1957
- "type": "form-section",
1958
- "submitEvent": "SAVE",
1959
- "fields": [
1960
- "name",
1961
- "type",
1962
- "quantity",
1963
- "rarity"
1964
- ],
1965
- "mode": "create",
1966
- "cancelEvent": "CLOSE"
1967
- }
1968
- ],
1969
- "direction": "vertical",
1970
- "gap": "md",
1971
- "type": "stack"
1972
- }
1973
- ]
1974
- ]
1975
- },
1976
- {
1977
- "from": "open",
1978
- "to": "closed",
1979
- "event": "CLOSE",
1980
- "effects": [
1981
- [
1982
- "render-ui",
1983
- "modal",
1984
- null
1985
- ],
1986
- [
1987
- "render-ui",
1988
- "main",
1989
- {
1990
- "type": "box"
1991
- }
1992
- ],
1993
- [
1994
- "notify",
1995
- "Cancelled",
1996
- "info"
1997
- ]
1998
- ]
1999
- },
2000
- {
2001
- "from": "open",
2002
- "to": "closed",
2003
- "event": "SAVE",
2004
- "effects": [
2005
- [
2006
- "persist",
2007
- "create",
2008
- "RpgItem",
2009
- "@payload.data",
2010
- {
2011
- "emit": {
2012
- "failure": "RpgItemSaveFailed",
2013
- "success": "RpgItemSaved"
2014
- }
2015
- }
2016
- ],
2017
- [
2018
- "render-ui",
2019
- "modal",
2020
- null
2021
- ],
2022
- [
2023
- "render-ui",
2024
- "main",
2025
- {
2026
- "type": "box"
2027
- }
2028
- ],
2029
- [
2030
- "emit",
2031
- "ITEM_ADDED"
2032
- ]
2033
- ]
2034
- }
2035
- ]
2036
- },
2037
- "scope": "collection"
2038
- },
2039
- {
2040
- "name": "RpgItemUse",
2041
- "category": "interaction",
2042
- "linkedEntity": "RpgItem",
2043
- "emits": [
2044
- {
2045
- "event": "ITEM_USED"
2046
- },
2047
- {
2048
- "event": "RpgItemLoadFailed",
2049
- "description": "Fired when RpgItem fails to load",
2050
- "scope": "internal",
2051
- "payloadSchema": [
2052
- {
2053
- "name": "error",
2054
- "type": "string"
2055
- },
2056
- {
2057
- "name": "code",
2058
- "type": "string"
2059
- }
2060
- ]
2061
- },
2062
- {
2063
- "event": "RpgItemLoaded",
2064
- "description": "Fired when RpgItem finishes loading",
2065
- "scope": "internal",
2066
- "payloadSchema": [
2067
- {
2068
- "name": "data",
2069
- "type": "[RpgItem]"
2070
- }
2071
- ]
2072
- },
2073
- {
2074
- "event": "RpgItemUpdateFailed",
2075
- "scope": "internal",
2076
- "payloadSchema": [
2077
- {
2078
- "name": "error",
2079
- "type": "string"
2080
- },
2081
- {
2082
- "name": "code",
2083
- "type": "string"
2084
- }
2085
- ]
2086
- },
2087
- {
2088
- "event": "RpgItemUpdated",
2089
- "scope": "internal",
2090
- "payloadSchema": [
2091
- {
2092
- "name": "id",
2093
- "type": "string"
2094
- }
2095
- ]
2096
- }
2097
- ],
2098
- "listens": [
2099
- {
2100
- "event": "USE_ITEM",
2101
- "triggers": "USE_ITEM",
2102
- "source": {
2103
- "kind": "trait",
2104
- "trait": "RpgItemBrowse"
2105
- }
2106
- }
2107
- ],
2108
- "stateMachine": {
2109
- "states": [
2110
- {
2111
- "name": "closed",
2112
- "isInitial": true
2113
- },
2114
- {
2115
- "name": "open"
2116
- }
2117
- ],
2118
- "events": [
2119
- {
2120
- "key": "INIT",
2121
- "name": "Initialize"
2122
- },
2123
- {
2124
- "key": "USE_ITEM",
2125
- "name": "Use Item",
2126
- "payloadSchema": [
2127
- {
2128
- "name": "id",
2129
- "type": "string"
2130
- }
2131
- ]
2132
- },
2133
- {
2134
- "key": "CLOSE",
2135
- "name": "Close"
2136
- },
2137
- {
2138
- "key": "SAVE",
2139
- "name": "Save",
2140
- "payloadSchema": [
2141
- {
2142
- "name": "data",
2143
- "type": "string"
2144
- }
2145
- ]
2146
- },
2147
- {
2148
- "key": "ITEM_USED",
2149
- "name": "Item Used"
2150
- },
2151
- {
2152
- "key": "RpgItemLoadFailed",
2153
- "name": "RpgItem load failed",
2154
- "payloadSchema": [
2155
- {
2156
- "name": "error",
2157
- "type": "string"
2158
- },
2159
- {
2160
- "name": "code",
2161
- "type": "string"
2162
- }
2163
- ]
2164
- },
2165
- {
2166
- "key": "RpgItemLoaded",
2167
- "name": "RpgItem loaded",
2168
- "payloadSchema": [
2169
- {
2170
- "name": "data",
2171
- "type": "[RpgItem]"
2172
- }
2173
- ]
2174
- },
2175
- {
2176
- "key": "RpgItemUpdateFailed",
2177
- "name": "RpgItem update failed",
2178
- "payloadSchema": [
2179
- {
2180
- "name": "error",
2181
- "type": "string"
2182
- },
2183
- {
2184
- "name": "code",
2185
- "type": "string"
2186
- }
2187
- ]
2188
- },
2189
- {
2190
- "key": "RpgItemUpdated",
2191
- "name": "RpgItem updated",
2192
- "payloadSchema": [
2193
- {
2194
- "name": "id",
2195
- "type": "string"
2196
- }
2197
- ]
2198
- }
2199
- ],
2200
- "transitions": [
2201
- {
2202
- "from": "closed",
2203
- "to": "closed",
2204
- "event": "INIT",
2205
- "effects": [
2206
- [
2207
- "fetch",
2208
- "RpgItem",
2209
- {
2210
- "emit": {
2211
- "success": "RpgItemLoaded",
2212
- "failure": "RpgItemLoadFailed"
2213
- }
2214
- }
2215
- ]
2216
- ]
2217
- },
2218
- {
2219
- "from": "closed",
2220
- "to": "open",
2221
- "event": "USE_ITEM",
2222
- "effects": [
2223
- [
2224
- "fetch",
2225
- "RpgItem",
2226
- {
2227
- "id": "@payload.id",
2228
- "emit": {
2229
- "failure": "RpgItemLoadFailed",
2230
- "success": "RpgItemLoaded"
2231
- }
2232
- }
2233
- ],
2234
- [
2235
- "render-ui",
2236
- "modal",
2237
- {
2238
- "type": "stack",
2239
- "children": [
2240
- {
2241
- "align": "center",
2242
- "gap": "sm",
2243
- "type": "stack",
2244
- "direction": "horizontal",
2245
- "children": [
2246
- {
2247
- "type": "icon",
2248
- "name": "zap"
2249
- },
2250
- {
2251
- "content": "Use RpgItem",
2252
- "variant": "h3",
2253
- "type": "typography"
2254
- }
2255
- ]
2256
- },
2257
- {
2258
- "type": "divider"
2259
- },
2260
- {
2261
- "content": "@entity.name",
2262
- "variant": "body",
2263
- "type": "typography"
2264
- },
2265
- {
2266
- "children": [
2267
- {
2268
- "action": "CLOSE",
2269
- "type": "button",
2270
- "variant": "ghost",
2271
- "label": "Cancel"
2272
- },
2273
- {
2274
- "label": "Confirm Use",
2275
- "type": "button",
2276
- "variant": "primary",
2277
- "icon": "check",
2278
- "action": "SAVE"
2279
- }
2280
- ],
2281
- "justify": "center",
2282
- "type": "stack",
2283
- "direction": "horizontal",
2284
- "gap": "sm"
2285
- }
2286
- ],
2287
- "align": "center",
2288
- "gap": "md",
2289
- "direction": "vertical"
2290
- }
2291
- ]
2292
- ]
2293
- },
2294
- {
2295
- "from": "open",
2296
- "to": "closed",
2297
- "event": "CLOSE",
2298
- "effects": [
2299
- [
2300
- "render-ui",
2301
- "modal",
2302
- null
2303
- ],
2304
- [
2305
- "render-ui",
2306
- "main",
2307
- {
2308
- "type": "box"
2309
- }
2310
- ],
2311
- [
2312
- "notify",
2313
- "Cancelled",
2314
- "info"
2315
- ]
2316
- ]
2317
- },
2318
- {
2319
- "from": "open",
2320
- "to": "closed",
2321
- "event": "SAVE",
2322
- "effects": [
2323
- [
2324
- "persist",
2325
- "update",
2326
- "RpgItem",
2327
- "@payload.data",
2328
- {
2329
- "emit": {
2330
- "success": "RpgItemUpdated",
2331
- "failure": "RpgItemUpdateFailed"
2332
- }
2333
- }
2334
- ],
2335
- [
2336
- "render-ui",
2337
- "modal",
2338
- null
2339
- ],
2340
- [
2341
- "render-ui",
2342
- "main",
2343
- {
2344
- "type": "box"
2345
- }
2346
- ],
2347
- [
2348
- "emit",
2349
- "ITEM_USED"
2350
- ]
2351
- ]
2352
- }
2353
- ]
2354
- },
2355
- "scope": "collection"
2356
- },
2357
- {
2358
- "name": "RpgItemDrop",
2359
- "category": "interaction",
2360
- "linkedEntity": "RpgItem",
2361
- "emits": [
2362
- {
2363
- "event": "CONFIRM_DROP"
2364
- },
2365
- {
2366
- "event": "RpgItemDeleteFailed",
2367
- "scope": "internal",
2368
- "payloadSchema": [
2369
- {
2370
- "name": "error",
2371
- "type": "string"
2372
- },
2373
- {
2374
- "name": "code",
2375
- "type": "string"
2376
- }
2377
- ]
2378
- },
2379
- {
2380
- "event": "RpgItemDeleted",
2381
- "scope": "internal",
2382
- "payloadSchema": [
2383
- {
2384
- "name": "id",
2385
- "type": "string"
2386
- }
2387
- ]
2388
- },
2389
- {
2390
- "event": "RpgItemLoadFailed",
2391
- "description": "Fired when RpgItem fails to load",
2392
- "scope": "internal",
2393
- "payloadSchema": [
2394
- {
2395
- "name": "error",
2396
- "type": "string"
2397
- },
2398
- {
2399
- "name": "code",
2400
- "type": "string"
2401
- }
2402
- ]
2403
- },
2404
- {
2405
- "event": "RpgItemLoaded",
2406
- "description": "Fired when RpgItem finishes loading",
2407
- "scope": "internal",
2408
- "payloadSchema": [
2409
- {
2410
- "name": "data",
2411
- "type": "[RpgItem]"
2412
- }
2413
- ]
2414
- }
2415
- ],
2416
- "listens": [
2417
- {
2418
- "event": "DROP",
2419
- "triggers": "DROP",
2420
- "source": {
2421
- "kind": "trait",
2422
- "trait": "RpgItemBrowse"
2423
- }
2424
- }
2425
- ],
2426
- "stateMachine": {
2427
- "states": [
2428
- {
2429
- "name": "idle",
2430
- "isInitial": true
2431
- },
2432
- {
2433
- "name": "confirming"
2434
- }
2435
- ],
2436
- "events": [
2437
- {
2438
- "key": "INIT",
2439
- "name": "Initialize"
2440
- },
2441
- {
2442
- "key": "DROP",
2443
- "name": "Drop",
2444
- "payloadSchema": [
2445
- {
2446
- "name": "id",
2447
- "type": "string"
2448
- }
2449
- ]
2450
- },
2451
- {
2452
- "key": "CONFIRM_DROP",
2453
- "name": "Confirm Drop"
2454
- },
2455
- {
2456
- "key": "CANCEL",
2457
- "name": "Cancel"
2458
- },
2459
- {
2460
- "key": "CLOSE",
2461
- "name": "Close"
2462
- },
2463
- {
2464
- "key": "RpgItemDeleteFailed",
2465
- "name": "RpgItem delete failed",
2466
- "payloadSchema": [
2467
- {
2468
- "name": "error",
2469
- "type": "string"
2470
- },
2471
- {
2472
- "name": "code",
2473
- "type": "string"
2474
- }
2475
- ]
2476
- },
2477
- {
2478
- "key": "RpgItemDeleted",
2479
- "name": "RpgItem deleted",
2480
- "payloadSchema": [
2481
- {
2482
- "name": "id",
2483
- "type": "string"
2484
- }
2485
- ]
2486
- },
2487
- {
2488
- "key": "RpgItemLoadFailed",
2489
- "name": "RpgItem load failed",
2490
- "payloadSchema": [
2491
- {
2492
- "name": "error",
2493
- "type": "string"
2494
- },
2495
- {
2496
- "name": "code",
2497
- "type": "string"
2498
- }
2499
- ]
2500
- },
2501
- {
2502
- "key": "RpgItemLoaded",
2503
- "name": "RpgItem loaded",
2504
- "payloadSchema": [
2505
- {
2506
- "name": "data",
2507
- "type": "[RpgItem]"
2508
- }
2509
- ]
2510
- }
2511
- ],
2512
- "transitions": [
2513
- {
2514
- "from": "idle",
2515
- "to": "idle",
2516
- "event": "INIT",
2517
- "effects": [
2518
- [
2519
- "fetch",
2520
- "RpgItem",
2521
- {
2522
- "emit": {
2523
- "success": "RpgItemLoaded",
2524
- "failure": "RpgItemLoadFailed"
2525
- }
2526
- }
2527
- ]
2528
- ]
2529
- },
2530
- {
2531
- "from": "idle",
2532
- "to": "confirming",
2533
- "event": "DROP",
2534
- "effects": [
2535
- [
2536
- "set",
2537
- "@entity.pendingId",
2538
- "@payload.id"
2539
- ],
2540
- [
2541
- "fetch",
2542
- "RpgItem",
2543
- {
2544
- "emit": {
2545
- "failure": "RpgItemLoadFailed",
2546
- "success": "RpgItemLoaded"
2547
- },
2548
- "id": "@payload.id"
2549
- }
2550
- ],
2551
- [
2552
- "render-ui",
2553
- "modal",
2554
- {
2555
- "direction": "vertical",
2556
- "children": [
2557
- {
2558
- "direction": "horizontal",
2559
- "children": [
2560
- {
2561
- "name": "alert-triangle",
2562
- "type": "icon"
2563
- },
2564
- {
2565
- "variant": "h3",
2566
- "content": "Drop RpgItem",
2567
- "type": "typography"
2568
- }
2569
- ],
2570
- "type": "stack",
2571
- "gap": "sm",
2572
- "align": "center"
2573
- },
2574
- {
2575
- "type": "divider"
2576
- },
2577
- {
2578
- "variant": "error",
2579
- "message": "Are you sure you want to drop this rpgitem?",
2580
- "type": "alert"
2581
- },
2582
- {
2583
- "direction": "horizontal",
2584
- "justify": "end",
2585
- "gap": "sm",
2586
- "type": "stack",
2587
- "children": [
2588
- {
2589
- "label": "Cancel",
2590
- "variant": "ghost",
2591
- "action": "CANCEL",
2592
- "type": "button"
2593
- },
2594
- {
2595
- "type": "button",
2596
- "label": "Drop",
2597
- "action": "CONFIRM_DROP",
2598
- "variant": "danger",
2599
- "icon": "check"
2600
- }
2601
- ]
2602
- }
2603
- ],
2604
- "type": "stack",
2605
- "gap": "md"
2606
- }
2607
- ]
2608
- ]
2609
- },
2610
- {
2611
- "from": "confirming",
2612
- "to": "idle",
2613
- "event": "CONFIRM_DROP",
2614
- "effects": [
2615
- [
2616
- "persist",
2617
- "delete",
2618
- "RpgItem",
2619
- "@entity.pendingId",
2620
- {
2621
- "emit": {
2622
- "success": "RpgItemDeleted",
2623
- "failure": "RpgItemDeleteFailed"
2624
- }
2625
- }
2626
- ],
2627
- [
2628
- "render-ui",
2629
- "modal",
2630
- null
2631
- ],
2632
- [
2633
- "render-ui",
2634
- "main",
2635
- {
2636
- "type": "box"
2637
- }
2638
- ],
2639
- [
2640
- "fetch",
2641
- "RpgItem",
2642
- {
2643
- "emit": {
2644
- "success": "RpgItemLoaded",
2645
- "failure": "RpgItemLoadFailed"
2646
- }
2647
- }
2648
- ]
2649
- ]
2650
- },
2651
- {
2652
- "from": "confirming",
2653
- "to": "idle",
2654
- "event": "CANCEL",
2655
- "effects": [
2656
- [
2657
- "render-ui",
2658
- "modal",
2659
- null
2660
- ],
2661
- [
2662
- "render-ui",
2663
- "main",
2664
- {
2665
- "type": "box"
2666
- }
2667
- ],
2668
- [
2669
- "fetch",
2670
- "RpgItem",
2671
- {
2672
- "emit": {
2673
- "success": "RpgItemLoaded",
2674
- "failure": "RpgItemLoadFailed"
2675
- }
2676
- }
2677
- ]
2678
- ]
2679
- },
2680
- {
2681
- "from": "confirming",
2682
- "to": "idle",
2683
- "event": "CLOSE",
2684
- "effects": [
2685
- [
2686
- "render-ui",
2687
- "modal",
2688
- null
2689
- ],
2690
- [
2691
- "render-ui",
2692
- "main",
2693
- {
2694
- "type": "box"
2695
- }
2696
- ],
2697
- [
2698
- "fetch",
2699
- "RpgItem",
2700
- {
2701
- "emit": {
2702
- "success": "RpgItemLoaded",
2703
- "failure": "RpgItemLoadFailed"
2704
- }
2705
- }
2706
- ]
2707
- ]
2708
- }
2709
- ]
2710
- },
2711
- "scope": "collection"
2712
- }
2713
- ],
2714
- "pages": [
2715
- {
2716
- "name": "Inventory",
2717
- "path": "/inventory",
2718
- "traits": [
2719
- {
2720
- "ref": "RpgItemBrowse"
2721
- },
2722
- {
2723
- "ref": "RpgItemAdd"
2724
- },
2725
- {
2726
- "ref": "RpgItemUse"
2727
- },
2728
- {
2729
- "ref": "RpgItemDrop"
2730
- }
2731
- ]
2732
- }
2733
- ]
2734
- },
2735
- {
2736
- "name": "MissionOrbital",
2737
- "entity": {
2738
- "name": "Mission",
2739
- "persistence": "runtime",
2740
- "fields": [
2741
- {
2742
- "name": "id",
2743
- "type": "string",
2744
- "required": true
2745
- },
2746
- {
2747
- "name": "title",
2748
- "type": "string",
2749
- "required": true
2750
- },
2751
- {
2752
- "name": "description",
2753
- "type": "string"
2754
- },
2755
- {
2756
- "name": "status",
2757
- "type": "string"
2758
- },
2759
- {
2760
- "name": "reward",
2761
- "type": "string"
2762
- }
2763
- ]
2764
- },
2765
- "traits": [
2766
- {
2767
- "name": "MissionTracking",
2768
- "category": "interaction",
2769
- "linkedEntity": "Mission",
2770
- "emits": [
2771
- {
2772
- "event": "MissionLoadFailed",
2773
- "description": "Fired when Mission fails to load",
2774
- "scope": "internal",
2775
- "payloadSchema": [
2776
- {
2777
- "name": "error",
2778
- "type": "string"
2779
- },
2780
- {
2781
- "name": "code",
2782
- "type": "string"
2783
- }
2784
- ]
2785
- },
2786
- {
2787
- "event": "MissionLoaded",
2788
- "description": "Fired when Mission finishes loading",
2789
- "scope": "internal",
2790
- "payloadSchema": [
2791
- {
2792
- "name": "data",
2793
- "type": "[Mission]"
2794
- }
2795
- ]
2796
- },
2797
- {
2798
- "event": "MissionUpdateFailed",
2799
- "scope": "internal",
2800
- "payloadSchema": [
2801
- {
2802
- "name": "error",
2803
- "type": "string"
2804
- },
2805
- {
2806
- "name": "code",
2807
- "type": "string"
2808
- }
2809
- ]
2810
- },
2811
- {
2812
- "event": "MissionUpdated",
2813
- "scope": "internal",
2814
- "payloadSchema": [
2815
- {
2816
- "name": "id",
2817
- "type": "string"
2818
- }
2819
- ]
2820
- }
2821
- ],
2822
- "listens": [
2823
- {
2824
- "event": "QUEST_ACCEPTED",
2825
- "triggers": "INIT",
2826
- "source": {
2827
- "kind": "orbital",
2828
- "orbital": "WorldZoneOrbital",
2829
- "trait": "WorldZoneNavigation"
2830
- }
2831
- }
2832
- ],
2833
- "stateMachine": {
2834
- "states": [
2835
- {
2836
- "name": "loading",
2837
- "isInitial": true
2838
- },
2839
- {
2840
- "name": "available"
2841
- },
2842
- {
2843
- "name": "active"
2844
- },
2845
- {
2846
- "name": "progressing"
2847
- },
2848
- {
2849
- "name": "complete"
2850
- },
2851
- {
2852
- "name": "failed"
2853
- }
2854
- ],
2855
- "events": [
2856
- {
2857
- "key": "INIT",
2858
- "name": "Initialize"
2859
- },
2860
- {
2861
- "key": "MissionLoaded",
2862
- "name": "Mission loaded",
2863
- "payloadSchema": [
2864
- {
2865
- "name": "data",
2866
- "type": "[Mission]"
2867
- }
2868
- ]
2869
- },
2870
- {
2871
- "key": "MissionLoadFailed",
2872
- "name": "Mission load failed",
2873
- "payloadSchema": [
2874
- {
2875
- "name": "error",
2876
- "type": "string"
2877
- },
2878
- {
2879
- "name": "code",
2880
- "type": "string"
2881
- }
2882
- ]
2883
- },
2884
- {
2885
- "key": "ACCEPT",
2886
- "name": "Accept"
2887
- },
2888
- {
2889
- "key": "PROGRESS",
2890
- "name": "Progress"
2891
- },
2892
- {
2893
- "key": "COMPLETE",
2894
- "name": "Complete"
2895
- },
2896
- {
2897
- "key": "FAIL",
2898
- "name": "Fail"
2899
- },
2900
- {
2901
- "key": "SAVE",
2902
- "name": "Save",
2903
- "payloadSchema": [
2904
- {
2905
- "name": "data",
2906
- "type": "Mission"
2907
- }
2908
- ]
2909
- },
2910
- {
2911
- "key": "CANCEL",
2912
- "name": "Cancel"
2913
- },
2914
- {
2915
- "key": "CLOSE",
2916
- "name": "Close"
2917
- },
2918
- {
2919
- "key": "RESET",
2920
- "name": "Reset"
2921
- },
2922
- {
2923
- "key": "MissionUpdateFailed",
2924
- "name": "Mission update failed",
2925
- "payloadSchema": [
2926
- {
2927
- "name": "error",
2928
- "type": "string"
2929
- },
2930
- {
2931
- "name": "code",
2932
- "type": "string"
2933
- }
2934
- ]
2935
- },
2936
- {
2937
- "key": "MissionUpdated",
2938
- "name": "Mission updated",
2939
- "payloadSchema": [
2940
- {
2941
- "name": "id",
2942
- "type": "string"
2943
- }
2944
- ]
2945
- }
2946
- ],
2947
- "transitions": [
2948
- {
2949
- "from": "loading",
2950
- "to": "loading",
2951
- "event": "INIT",
2952
- "effects": [
2953
- [
2954
- "fetch",
2955
- "Mission",
2956
- {
2957
- "emit": {
2958
- "success": "MissionLoaded",
2959
- "failure": "MissionLoadFailed"
2960
- }
2961
- }
2962
- ],
2963
- [
2964
- "render-ui",
2965
- "main",
2966
- {
2967
- "gap": "md",
2968
- "className": "py-12",
2969
- "direction": "vertical",
2970
- "align": "center",
2971
- "children": [
2972
- {
2973
- "type": "spinner"
2974
- },
2975
- {
2976
- "color": "muted",
2977
- "content": "Loading missions…",
2978
- "variant": "caption",
2979
- "type": "typography"
2980
- }
2981
- ],
2982
- "type": "stack"
2983
- }
2984
- ]
2985
- ]
2986
- },
2987
- {
2988
- "from": "loading",
2989
- "to": "available",
2990
- "event": "MissionLoaded",
2991
- "effects": [
2992
- [
2993
- "render-ui",
2994
- "main",
2995
- {
2996
- "appName": "RPG Game",
2997
- "children": [
2998
- {
2999
- "direction": "vertical",
3000
- "gap": "lg",
3001
- "children": [
3002
- {
3003
- "direction": "horizontal",
3004
- "children": [
3005
- {
3006
- "direction": "horizontal",
3007
- "type": "stack",
3008
- "children": [
3009
- {
3010
- "type": "icon",
3011
- "name": "flag"
3012
- },
3013
- {
3014
- "variant": "h2",
3015
- "type": "typography",
3016
- "content": "Missions Board"
3017
- }
3018
- ],
3019
- "gap": "md"
3020
- }
3021
- ],
3022
- "justify": "between",
3023
- "type": "stack",
3024
- "gap": "md"
3025
- },
3026
- {
3027
- "type": "divider"
3028
- },
3029
- {
3030
- "type": "data-list",
3031
- "entity": "@payload.data",
3032
- "groupBy": "status",
3033
- "itemActions": [
3034
- {
3035
- "label": "Accept",
3036
- "event": "ACCEPT"
3037
- }
3038
- ],
3039
- "fields": [],
3040
- "renderItem": [
3041
- "fn",
3042
- "item",
3043
- {
3044
- "children": [
3045
- {
3046
- "type": "stack",
3047
- "align": "center",
3048
- "justify": "between",
3049
- "children": [
3050
- {
3051
- "type": "stack",
3052
- "direction": "horizontal",
3053
- "gap": "sm",
3054
- "align": "center",
3055
- "children": [
3056
- {
3057
- "name": "flag",
3058
- "type": "icon"
3059
- },
3060
- {
3061
- "content": "@item.title",
3062
- "variant": "h4",
3063
- "type": "typography"
3064
- }
3065
- ]
3066
- },
3067
- {
3068
- "label": "@item.description",
3069
- "type": "badge"
3070
- }
3071
- ],
3072
- "direction": "horizontal"
3073
- },
3074
- {
3075
- "type": "typography",
3076
- "variant": "caption",
3077
- "content": "@item.status"
3078
- }
3079
- ],
3080
- "direction": "vertical",
3081
- "type": "stack",
3082
- "gap": "sm"
3083
- }
3084
- ]
3085
- }
3086
- ],
3087
- "type": "stack"
3088
- }
3089
- ],
3090
- "type": "game-shell",
3091
- "showTopBar": true
3092
- }
3093
- ]
3094
- ]
3095
- },
3096
- {
3097
- "from": "loading",
3098
- "to": "loading",
3099
- "event": "MissionLoadFailed",
3100
- "effects": [
3101
- [
3102
- "render-ui",
3103
- "main",
3104
- {
3105
- "children": [
3106
- {
3107
- "color": "destructive",
3108
- "name": "alert-triangle",
3109
- "type": "icon"
3110
- },
3111
- {
3112
- "type": "typography",
3113
- "content": "Failed to load missions",
3114
- "variant": "h3"
3115
- },
3116
- {
3117
- "color": "muted",
3118
- "type": "typography",
3119
- "content": "@payload.error",
3120
- "variant": "body"
3121
- },
3122
- {
3123
- "label": "Retry",
3124
- "action": "INIT",
3125
- "type": "button",
3126
- "icon": "rotate-ccw",
3127
- "variant": "primary"
3128
- }
3129
- ],
3130
- "gap": "md",
3131
- "align": "center",
3132
- "className": "py-12",
3133
- "type": "stack",
3134
- "direction": "vertical"
3135
- }
3136
- ]
3137
- ]
3138
- },
3139
- {
3140
- "from": "available",
3141
- "to": "active",
3142
- "event": "ACCEPT",
3143
- "effects": [
3144
- [
3145
- "render-ui",
3146
- "main",
3147
- {
3148
- "showTopBar": true,
3149
- "children": [
3150
- {
3151
- "type": "stack",
3152
- "direction": "vertical",
3153
- "gap": "lg",
3154
- "children": [
3155
- {
3156
- "content": "Quest Active",
3157
- "type": "typography",
3158
- "variant": "h2"
3159
- },
3160
- {
3161
- "type": "progress-bar",
3162
- "showPercentage": true,
3163
- "value": 50.0
3164
- },
3165
- {
3166
- "type": "stack",
3167
- "gap": "sm",
3168
- "children": [
3169
- {
3170
- "label": "Progress",
3171
- "type": "button",
3172
- "variant": "primary",
3173
- "action": "PROGRESS"
3174
- },
3175
- {
3176
- "action": "COMPLETE",
3177
- "type": "button",
3178
- "label": "Complete",
3179
- "variant": "success"
3180
- },
3181
- {
3182
- "action": "FAIL",
3183
- "label": "Fail",
3184
- "type": "button",
3185
- "variant": "danger"
3186
- }
3187
- ],
3188
- "direction": "horizontal"
3189
- }
3190
- ],
3191
- "align": "center"
3192
- }
3193
- ],
3194
- "appName": "RPG Game",
3195
- "type": "game-shell"
3196
- }
3197
- ]
3198
- ]
3199
- },
3200
- {
3201
- "from": "active",
3202
- "to": "progressing",
3203
- "event": "PROGRESS",
3204
- "effects": [
3205
- [
3206
- "render-ui",
3207
- "modal",
3208
- {
3209
- "type": "stack",
3210
- "gap": "md",
3211
- "direction": "vertical",
3212
- "children": [
3213
- {
3214
- "type": "stack",
3215
- "gap": "sm",
3216
- "direction": "horizontal",
3217
- "children": [
3218
- {
3219
- "name": "trending-up",
3220
- "type": "icon"
3221
- },
3222
- {
3223
- "type": "typography",
3224
- "content": "Update Progress",
3225
- "variant": "h3"
3226
- }
3227
- ]
3228
- },
3229
- {
3230
- "type": "divider"
3231
- },
3232
- {
3233
- "entity": "@entity",
3234
- "submitEvent": "SAVE",
3235
- "cancelEvent": "CANCEL",
3236
- "fields": [
3237
- "title",
3238
- "description",
3239
- "status",
3240
- "reward"
3241
- ],
3242
- "type": "form-section",
3243
- "mode": "edit"
3244
- }
3245
- ]
3246
- }
3247
- ]
3248
- ]
3249
- },
3250
- {
3251
- "from": "active",
3252
- "to": "complete",
3253
- "event": "COMPLETE",
3254
- "effects": [
3255
- [
3256
- "render-ui",
3257
- "main",
3258
- {
3259
- "type": "game-shell",
3260
- "children": [
3261
- {
3262
- "children": [
3263
- {
3264
- "name": "check-circle",
3265
- "type": "icon"
3266
- },
3267
- {
3268
- "content": "Quest Complete",
3269
- "variant": "h2",
3270
- "type": "typography"
3271
- },
3272
- {
3273
- "variant": "success",
3274
- "message": "Congratulations! The quest has been completed.",
3275
- "type": "alert"
3276
- },
3277
- {
3278
- "type": "button",
3279
- "action": "RESET",
3280
- "variant": "primary",
3281
- "label": "View Quests",
3282
- "icon": "arrow-left"
3283
- }
3284
- ],
3285
- "type": "stack",
3286
- "direction": "vertical",
3287
- "gap": "lg",
3288
- "align": "center"
3289
- }
3290
- ],
3291
- "showTopBar": true,
3292
- "appName": "RPG Game"
3293
- }
3294
- ]
3295
- ]
3296
- },
3297
- {
3298
- "from": "active",
3299
- "to": "failed",
3300
- "event": "FAIL",
3301
- "effects": [
3302
- [
3303
- "render-ui",
3304
- "main",
3305
- {
3306
- "showTopBar": true,
3307
- "children": [
3308
- {
3309
- "direction": "vertical",
3310
- "align": "center",
3311
- "type": "stack",
3312
- "gap": "lg",
3313
- "children": [
3314
- {
3315
- "type": "icon",
3316
- "name": "x-circle"
3317
- },
3318
- {
3319
- "variant": "h2",
3320
- "type": "typography",
3321
- "content": "Quest Failed"
3322
- },
3323
- {
3324
- "type": "alert",
3325
- "message": "The quest was not completed. You can try again.",
3326
- "variant": "error"
3327
- },
3328
- {
3329
- "icon": "arrow-left",
3330
- "type": "button",
3331
- "action": "RESET",
3332
- "label": "View Quests",
3333
- "variant": "primary"
3334
- }
3335
- ]
3336
- }
3337
- ],
3338
- "type": "game-shell",
3339
- "appName": "RPG Game"
3340
- }
3341
- ]
3342
- ]
3343
- },
3344
- {
3345
- "from": "progressing",
3346
- "to": "loading",
3347
- "event": "SAVE",
3348
- "effects": [
3349
- [
3350
- "persist",
3351
- "update",
3352
- "Mission",
3353
- "@payload.data",
3354
- {
3355
- "emit": {
3356
- "success": "MissionUpdated",
3357
- "failure": "MissionUpdateFailed"
3358
- }
3359
- }
3360
- ],
3361
- [
3362
- "render-ui",
3363
- "modal",
3364
- null
3365
- ],
3366
- [
3367
- "fetch",
3368
- "Mission",
3369
- {
3370
- "emit": {
3371
- "success": "MissionLoaded",
3372
- "failure": "MissionLoadFailed"
3373
- }
3374
- }
3375
- ],
3376
- [
3377
- "render-ui",
3378
- "main",
3379
- {
3380
- "type": "spinner"
3381
- }
3382
- ]
3383
- ]
3384
- },
3385
- {
3386
- "from": "progressing",
3387
- "to": "loading",
3388
- "event": "CANCEL",
3389
- "effects": [
3390
- [
3391
- "render-ui",
3392
- "modal",
3393
- null
3394
- ],
3395
- [
3396
- "fetch",
3397
- "Mission",
3398
- {
3399
- "emit": {
3400
- "success": "MissionLoaded",
3401
- "failure": "MissionLoadFailed"
3402
- }
3403
- }
3404
- ],
3405
- [
3406
- "render-ui",
3407
- "main",
3408
- {
3409
- "type": "spinner"
3410
- }
3411
- ]
3412
- ]
3413
- },
3414
- {
3415
- "from": "progressing",
3416
- "to": "loading",
3417
- "event": "CLOSE",
3418
- "effects": [
3419
- [
3420
- "render-ui",
3421
- "modal",
3422
- null
3423
- ],
3424
- [
3425
- "fetch",
3426
- "Mission",
3427
- {
3428
- "emit": {
3429
- "failure": "MissionLoadFailed",
3430
- "success": "MissionLoaded"
3431
- }
3432
- }
3433
- ],
3434
- [
3435
- "render-ui",
3436
- "main",
3437
- {
3438
- "type": "spinner"
3439
- }
3440
- ]
3441
- ]
3442
- },
3443
- {
3444
- "from": "complete",
3445
- "to": "loading",
3446
- "event": "RESET",
3447
- "effects": [
3448
- [
3449
- "fetch",
3450
- "Mission",
3451
- {
3452
- "emit": {
3453
- "success": "MissionLoaded",
3454
- "failure": "MissionLoadFailed"
3455
- }
3456
- }
3457
- ],
3458
- [
3459
- "render-ui",
3460
- "main",
3461
- {
3462
- "type": "spinner"
3463
- }
3464
- ]
3465
- ]
3466
- },
3467
- {
3468
- "from": "failed",
3469
- "to": "loading",
3470
- "event": "RESET",
3471
- "effects": [
3472
- [
3473
- "fetch",
3474
- "Mission",
3475
- {
3476
- "emit": {
3477
- "failure": "MissionLoadFailed",
3478
- "success": "MissionLoaded"
3479
- }
3480
- }
3481
- ],
3482
- [
3483
- "render-ui",
3484
- "main",
3485
- {
3486
- "type": "spinner"
3487
- }
3488
- ]
3489
- ]
3490
- }
3491
- ]
3492
- },
3493
- "scope": "collection"
3494
- }
3495
- ],
3496
- "pages": [
3497
- {
3498
- "name": "Quests",
3499
- "path": "/quests",
3500
- "traits": [
3501
- {
3502
- "ref": "MissionTracking"
3503
- }
3504
- ]
3505
- }
3506
- ]
3507
- }
3508
- ]
3509
- }