@almadar/std 3.1.3 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (245) hide show
  1. package/behaviors/exports/atoms/std-async.orb +14 -14
  2. package/behaviors/exports/atoms/std-browse.orb +13 -13
  3. package/behaviors/exports/atoms/std-cache-aside.orb +29 -29
  4. package/behaviors/exports/atoms/std-circuit-breaker.orb +17 -17
  5. package/behaviors/exports/atoms/std-collision.orb +13 -13
  6. package/behaviors/exports/atoms/std-combat-log.orb +12 -12
  7. package/behaviors/exports/atoms/std-combat.orb +9 -9
  8. package/behaviors/exports/atoms/std-confirmation.orb +13 -13
  9. package/behaviors/exports/atoms/std-dialogue-box.orb +11 -11
  10. package/behaviors/exports/atoms/std-display.orb +18 -18
  11. package/behaviors/exports/atoms/std-drawer.orb +13 -13
  12. package/behaviors/exports/atoms/std-filter.orb +28 -28
  13. package/behaviors/exports/atoms/std-game-audio.orb +9 -9
  14. package/behaviors/exports/atoms/std-game-canvas2d.orb +253 -0
  15. package/behaviors/exports/atoms/std-game-canvas3d.orb +234 -0
  16. package/behaviors/exports/atoms/std-game-hud.orb +10 -10
  17. package/behaviors/exports/atoms/std-game-menu.orb +12 -12
  18. package/behaviors/exports/atoms/std-game-over-screen.orb +9 -9
  19. package/behaviors/exports/atoms/std-gameflow.orb +12 -12
  20. package/behaviors/exports/atoms/std-input.orb +32 -32
  21. package/behaviors/exports/atoms/std-inventory-panel.orb +13 -13
  22. package/behaviors/exports/atoms/std-isometric-canvas.orb +9 -9
  23. package/behaviors/exports/atoms/std-loading.orb +14 -14
  24. package/behaviors/exports/atoms/std-modal.orb +9 -9
  25. package/behaviors/exports/atoms/std-movement.orb +20 -20
  26. package/behaviors/exports/atoms/std-notification.orb +8 -8
  27. package/behaviors/exports/atoms/std-overworld.orb +20 -20
  28. package/behaviors/exports/atoms/std-pagination.orb +18 -18
  29. package/behaviors/exports/atoms/std-physics2d.orb +8 -8
  30. package/behaviors/exports/atoms/std-platformer-canvas.orb +9 -9
  31. package/behaviors/exports/atoms/std-quest.orb +35 -35
  32. package/behaviors/exports/atoms/std-rate-limiter.orb +14 -14
  33. package/behaviors/exports/atoms/std-score-board.orb +9 -9
  34. package/behaviors/exports/atoms/std-score.orb +8 -8
  35. package/behaviors/exports/atoms/std-search.orb +16 -16
  36. package/behaviors/exports/atoms/std-selection.orb +34 -34
  37. package/behaviors/exports/atoms/std-simulation-canvas.orb +9 -9
  38. package/behaviors/exports/atoms/std-sort.orb +28 -28
  39. package/behaviors/exports/atoms/std-sprite.orb +17 -17
  40. package/behaviors/exports/atoms/std-tabs.orb +18 -18
  41. package/behaviors/exports/atoms/std-timer.orb +8 -8
  42. package/behaviors/exports/atoms/std-undo.orb +9 -9
  43. package/behaviors/exports/atoms/std-wizard.orb +20 -20
  44. package/behaviors/exports/molecules/std-builder-game.orb +10 -10
  45. package/behaviors/exports/molecules/std-cart.orb +28 -27
  46. package/behaviors/exports/molecules/std-classifier-game.orb +10 -10
  47. package/behaviors/exports/molecules/std-debugger-game.orb +10 -10
  48. package/behaviors/exports/molecules/std-detail.orb +32 -31
  49. package/behaviors/exports/molecules/std-event-handler-game.orb +10 -10
  50. package/behaviors/exports/molecules/std-geospatial.orb +30 -29
  51. package/behaviors/exports/molecules/std-inventory.orb +46 -45
  52. package/behaviors/exports/molecules/std-list.orb +64 -63
  53. package/behaviors/exports/molecules/std-messaging.orb +28 -27
  54. package/behaviors/exports/molecules/std-negotiator-game.orb +10 -10
  55. package/behaviors/exports/molecules/std-platformer-game.orb +13 -13
  56. package/behaviors/exports/molecules/std-puzzle-game.orb +13 -13
  57. package/behaviors/exports/molecules/std-sequencer-game.orb +10 -10
  58. package/behaviors/exports/molecules/std-simulator-game.orb +10 -10
  59. package/behaviors/exports/molecules/std-turn-based-battle.orb +15 -15
  60. package/behaviors/exports/organisms/std-api-gateway.orb +4 -2
  61. package/behaviors/exports/organisms/std-booking-system.orb +8 -4
  62. package/behaviors/exports/organisms/std-cicd-pipeline.orb +4 -2
  63. package/behaviors/exports/organisms/std-cms.orb +10 -5
  64. package/behaviors/exports/organisms/std-crm.orb +4 -2
  65. package/behaviors/exports/organisms/std-devops-dashboard.orb +4 -2
  66. package/behaviors/exports/organisms/std-ecommerce.orb +10 -5
  67. package/behaviors/exports/organisms/std-finance-tracker.orb +6 -3
  68. package/behaviors/exports/organisms/std-healthcare.orb +10 -5
  69. package/behaviors/exports/organisms/std-helpdesk.orb +2 -1
  70. package/behaviors/exports/organisms/std-hr-portal.orb +4 -2
  71. package/behaviors/exports/organisms/std-iot-dashboard.orb +4 -2
  72. package/behaviors/exports/organisms/std-lms.orb +2 -1
  73. package/behaviors/exports/organisms/std-platformer-app.orb +2 -1
  74. package/behaviors/exports/organisms/std-project-manager.orb +8 -4
  75. package/behaviors/exports/organisms/std-realtime-chat.orb +6 -3
  76. package/behaviors/exports/organisms/std-rpg-game.orb +2 -1
  77. package/behaviors/exports/organisms/std-trading-dashboard.orb +4 -2
  78. package/behaviors/exports/validation-report.json +3 -10
  79. package/dist/behaviors/exports/atoms/std-async.orb +14 -14
  80. package/dist/behaviors/exports/atoms/std-browse.orb +13 -13
  81. package/dist/behaviors/exports/atoms/std-cache-aside.orb +29 -29
  82. package/dist/behaviors/exports/atoms/std-circuit-breaker.orb +17 -17
  83. package/dist/behaviors/exports/atoms/std-collision.orb +13 -13
  84. package/dist/behaviors/exports/atoms/std-combat-log.orb +12 -12
  85. package/dist/behaviors/exports/atoms/std-combat.orb +9 -9
  86. package/dist/behaviors/exports/atoms/std-confirmation.orb +13 -13
  87. package/dist/behaviors/exports/atoms/std-dialogue-box.orb +11 -11
  88. package/dist/behaviors/exports/atoms/std-display.orb +18 -18
  89. package/dist/behaviors/exports/atoms/std-drawer.orb +13 -13
  90. package/dist/behaviors/exports/atoms/std-filter.orb +28 -28
  91. package/dist/behaviors/exports/atoms/std-game-audio.orb +9 -9
  92. package/dist/behaviors/exports/atoms/std-game-canvas2d.orb +253 -0
  93. package/dist/behaviors/exports/atoms/std-game-canvas3d.orb +234 -0
  94. package/dist/behaviors/exports/atoms/std-game-hud.orb +10 -10
  95. package/dist/behaviors/exports/atoms/std-game-menu.orb +12 -12
  96. package/dist/behaviors/exports/atoms/std-game-over-screen.orb +9 -9
  97. package/dist/behaviors/exports/atoms/std-gameflow.orb +12 -12
  98. package/dist/behaviors/exports/atoms/std-input.orb +32 -32
  99. package/dist/behaviors/exports/atoms/std-inventory-panel.orb +13 -13
  100. package/dist/behaviors/exports/atoms/std-isometric-canvas.orb +9 -9
  101. package/dist/behaviors/exports/atoms/std-loading.orb +14 -14
  102. package/dist/behaviors/exports/atoms/std-modal.orb +9 -9
  103. package/dist/behaviors/exports/atoms/std-movement.orb +20 -20
  104. package/dist/behaviors/exports/atoms/std-notification.orb +8 -8
  105. package/dist/behaviors/exports/atoms/std-overworld.orb +20 -20
  106. package/dist/behaviors/exports/atoms/std-pagination.orb +18 -18
  107. package/dist/behaviors/exports/atoms/std-physics2d.orb +8 -8
  108. package/dist/behaviors/exports/atoms/std-platformer-canvas.orb +9 -9
  109. package/dist/behaviors/exports/atoms/std-quest.orb +35 -35
  110. package/dist/behaviors/exports/atoms/std-rate-limiter.orb +14 -14
  111. package/dist/behaviors/exports/atoms/std-score-board.orb +9 -9
  112. package/dist/behaviors/exports/atoms/std-score.orb +8 -8
  113. package/dist/behaviors/exports/atoms/std-search.orb +16 -16
  114. package/dist/behaviors/exports/atoms/std-selection.orb +34 -34
  115. package/dist/behaviors/exports/atoms/std-simulation-canvas.orb +9 -9
  116. package/dist/behaviors/exports/atoms/std-sort.orb +28 -28
  117. package/dist/behaviors/exports/atoms/std-sprite.orb +17 -17
  118. package/dist/behaviors/exports/atoms/std-tabs.orb +18 -18
  119. package/dist/behaviors/exports/atoms/std-timer.orb +8 -8
  120. package/dist/behaviors/exports/atoms/std-undo.orb +9 -9
  121. package/dist/behaviors/exports/atoms/std-wizard.orb +20 -20
  122. package/dist/behaviors/exports/molecules/std-builder-game.orb +10 -10
  123. package/dist/behaviors/exports/molecules/std-cart.orb +28 -27
  124. package/dist/behaviors/exports/molecules/std-classifier-game.orb +10 -10
  125. package/dist/behaviors/exports/molecules/std-debugger-game.orb +10 -10
  126. package/dist/behaviors/exports/molecules/std-detail.orb +32 -31
  127. package/dist/behaviors/exports/molecules/std-event-handler-game.orb +10 -10
  128. package/dist/behaviors/exports/molecules/std-geospatial.orb +30 -29
  129. package/dist/behaviors/exports/molecules/std-inventory.orb +46 -45
  130. package/dist/behaviors/exports/molecules/std-list.orb +64 -63
  131. package/dist/behaviors/exports/molecules/std-messaging.orb +28 -27
  132. package/dist/behaviors/exports/molecules/std-negotiator-game.orb +10 -10
  133. package/dist/behaviors/exports/molecules/std-platformer-game.orb +13 -13
  134. package/dist/behaviors/exports/molecules/std-puzzle-game.orb +13 -13
  135. package/dist/behaviors/exports/molecules/std-sequencer-game.orb +10 -10
  136. package/dist/behaviors/exports/molecules/std-simulator-game.orb +10 -10
  137. package/dist/behaviors/exports/molecules/std-turn-based-battle.orb +15 -15
  138. package/dist/behaviors/exports/organisms/std-api-gateway.orb +4 -2
  139. package/dist/behaviors/exports/organisms/std-booking-system.orb +8 -4
  140. package/dist/behaviors/exports/organisms/std-cicd-pipeline.orb +4 -2
  141. package/dist/behaviors/exports/organisms/std-cms.orb +10 -5
  142. package/dist/behaviors/exports/organisms/std-crm.orb +4 -2
  143. package/dist/behaviors/exports/organisms/std-devops-dashboard.orb +4 -2
  144. package/dist/behaviors/exports/organisms/std-ecommerce.orb +10 -5
  145. package/dist/behaviors/exports/organisms/std-finance-tracker.orb +6 -3
  146. package/dist/behaviors/exports/organisms/std-healthcare.orb +10 -5
  147. package/dist/behaviors/exports/organisms/std-helpdesk.orb +2 -1
  148. package/dist/behaviors/exports/organisms/std-hr-portal.orb +4 -2
  149. package/dist/behaviors/exports/organisms/std-iot-dashboard.orb +4 -2
  150. package/dist/behaviors/exports/organisms/std-lms.orb +2 -1
  151. package/dist/behaviors/exports/organisms/std-platformer-app.orb +2 -1
  152. package/dist/behaviors/exports/organisms/std-project-manager.orb +8 -4
  153. package/dist/behaviors/exports/organisms/std-realtime-chat.orb +6 -3
  154. package/dist/behaviors/exports/organisms/std-rpg-game.orb +2 -1
  155. package/dist/behaviors/exports/organisms/std-trading-dashboard.orb +4 -2
  156. package/dist/behaviors/exports/validation-report.json +3 -10
  157. package/dist/behaviors/exports-reader.d.ts +6 -1
  158. package/dist/behaviors/exports-reader.js +4 -1
  159. package/dist/behaviors/exports-reader.js.map +1 -1
  160. package/dist/behaviors/functions/index.js +31 -6
  161. package/dist/behaviors/functions/index.js.map +1 -1
  162. package/dist/behaviors/index.d.ts +1 -1
  163. package/dist/behaviors/index.js +35 -7
  164. package/dist/behaviors/index.js.map +1 -1
  165. package/dist/exports/atoms/std-async.orb +14 -14
  166. package/dist/exports/atoms/std-browse.orb +13 -13
  167. package/dist/exports/atoms/std-cache-aside.orb +29 -29
  168. package/dist/exports/atoms/std-circuit-breaker.orb +17 -17
  169. package/dist/exports/atoms/std-collision.orb +13 -13
  170. package/dist/exports/atoms/std-combat-log.orb +12 -12
  171. package/dist/exports/atoms/std-combat.orb +9 -9
  172. package/dist/exports/atoms/std-confirmation.orb +13 -13
  173. package/dist/exports/atoms/std-dialogue-box.orb +11 -11
  174. package/dist/exports/atoms/std-display.orb +18 -18
  175. package/dist/exports/atoms/std-drawer.orb +13 -13
  176. package/dist/exports/atoms/std-filter.orb +28 -28
  177. package/dist/exports/atoms/std-game-audio.orb +9 -9
  178. package/dist/exports/atoms/std-game-canvas2d.orb +253 -0
  179. package/dist/exports/atoms/std-game-canvas3d.orb +234 -0
  180. package/dist/exports/atoms/std-game-hud.orb +10 -10
  181. package/dist/exports/atoms/std-game-menu.orb +12 -12
  182. package/dist/exports/atoms/std-game-over-screen.orb +9 -9
  183. package/dist/exports/atoms/std-gameflow.orb +12 -12
  184. package/dist/exports/atoms/std-input.orb +32 -32
  185. package/dist/exports/atoms/std-inventory-panel.orb +13 -13
  186. package/dist/exports/atoms/std-isometric-canvas.orb +9 -9
  187. package/dist/exports/atoms/std-loading.orb +14 -14
  188. package/dist/exports/atoms/std-modal.orb +9 -9
  189. package/dist/exports/atoms/std-movement.orb +20 -20
  190. package/dist/exports/atoms/std-notification.orb +8 -8
  191. package/dist/exports/atoms/std-overworld.orb +20 -20
  192. package/dist/exports/atoms/std-pagination.orb +18 -18
  193. package/dist/exports/atoms/std-physics2d.orb +8 -8
  194. package/dist/exports/atoms/std-platformer-canvas.orb +9 -9
  195. package/dist/exports/atoms/std-quest.orb +35 -35
  196. package/dist/exports/atoms/std-rate-limiter.orb +14 -14
  197. package/dist/exports/atoms/std-score-board.orb +9 -9
  198. package/dist/exports/atoms/std-score.orb +8 -8
  199. package/dist/exports/atoms/std-search.orb +16 -16
  200. package/dist/exports/atoms/std-selection.orb +34 -34
  201. package/dist/exports/atoms/std-simulation-canvas.orb +9 -9
  202. package/dist/exports/atoms/std-sort.orb +28 -28
  203. package/dist/exports/atoms/std-sprite.orb +17 -17
  204. package/dist/exports/atoms/std-tabs.orb +18 -18
  205. package/dist/exports/atoms/std-timer.orb +8 -8
  206. package/dist/exports/atoms/std-undo.orb +9 -9
  207. package/dist/exports/atoms/std-wizard.orb +20 -20
  208. package/dist/exports/molecules/std-builder-game.orb +10 -10
  209. package/dist/exports/molecules/std-cart.orb +28 -27
  210. package/dist/exports/molecules/std-classifier-game.orb +10 -10
  211. package/dist/exports/molecules/std-debugger-game.orb +10 -10
  212. package/dist/exports/molecules/std-detail.orb +32 -31
  213. package/dist/exports/molecules/std-event-handler-game.orb +10 -10
  214. package/dist/exports/molecules/std-geospatial.orb +30 -29
  215. package/dist/exports/molecules/std-inventory.orb +46 -45
  216. package/dist/exports/molecules/std-list.orb +64 -63
  217. package/dist/exports/molecules/std-messaging.orb +28 -27
  218. package/dist/exports/molecules/std-negotiator-game.orb +10 -10
  219. package/dist/exports/molecules/std-platformer-game.orb +13 -13
  220. package/dist/exports/molecules/std-puzzle-game.orb +13 -13
  221. package/dist/exports/molecules/std-sequencer-game.orb +10 -10
  222. package/dist/exports/molecules/std-simulator-game.orb +10 -10
  223. package/dist/exports/molecules/std-turn-based-battle.orb +15 -15
  224. package/dist/exports/organisms/std-api-gateway.orb +4 -2
  225. package/dist/exports/organisms/std-booking-system.orb +8 -4
  226. package/dist/exports/organisms/std-cicd-pipeline.orb +4 -2
  227. package/dist/exports/organisms/std-cms.orb +10 -5
  228. package/dist/exports/organisms/std-crm.orb +4 -2
  229. package/dist/exports/organisms/std-devops-dashboard.orb +4 -2
  230. package/dist/exports/organisms/std-ecommerce.orb +10 -5
  231. package/dist/exports/organisms/std-finance-tracker.orb +6 -3
  232. package/dist/exports/organisms/std-healthcare.orb +10 -5
  233. package/dist/exports/organisms/std-helpdesk.orb +2 -1
  234. package/dist/exports/organisms/std-hr-portal.orb +4 -2
  235. package/dist/exports/organisms/std-iot-dashboard.orb +4 -2
  236. package/dist/exports/organisms/std-lms.orb +2 -1
  237. package/dist/exports/organisms/std-platformer-app.orb +2 -1
  238. package/dist/exports/organisms/std-project-manager.orb +8 -4
  239. package/dist/exports/organisms/std-realtime-chat.orb +6 -3
  240. package/dist/exports/organisms/std-rpg-game.orb +2 -1
  241. package/dist/exports/organisms/std-trading-dashboard.orb +4 -2
  242. package/dist/exports/validation-report.json +3 -10
  243. package/dist/index.js +31 -6
  244. package/dist/index.js.map +1 -1
  245. package/package.json +3 -2
@@ -704,7 +704,8 @@
704
704
  "department",
705
705
  "role",
706
706
  "startDate"
707
- ]
707
+ ],
708
+ "entityId": "@entity.id"
708
709
  }
709
710
  ]
710
711
  }
@@ -2773,7 +2774,8 @@
2773
2774
  "startDate",
2774
2775
  "endDate",
2775
2776
  "status"
2776
- ]
2777
+ ],
2778
+ "entityId": "@entity.id"
2777
2779
  }
2778
2780
  ]
2779
2781
  }
@@ -846,7 +846,8 @@
846
846
  "name": "DeviceOrbital",
847
847
  "entity": {
848
848
  "name": "Device",
849
- "persistence": "runtime",
849
+ "persistence": "persistent",
850
+ "collection": "devices",
850
851
  "fields": [
851
852
  {
852
853
  "name": "id",
@@ -1522,7 +1523,8 @@
1522
1523
  "type",
1523
1524
  "status",
1524
1525
  "lastSeen"
1525
- ]
1526
+ ],
1527
+ "entityId": "@entity.id"
1526
1528
  }
1527
1529
  ]
1528
1530
  }
@@ -704,7 +704,8 @@
704
704
  "instructor",
705
705
  "duration",
706
706
  "level"
707
- ]
707
+ ],
708
+ "entityId": "@entity.id"
708
709
  }
709
710
  ]
710
711
  }
@@ -717,7 +717,8 @@
717
717
  "name": "CollectibleOrbital",
718
718
  "entity": {
719
719
  "name": "Collectible",
720
- "persistence": "runtime",
720
+ "persistence": "persistent",
721
+ "collection": "collectibles",
721
722
  "fields": [
722
723
  {
723
724
  "name": "id",
@@ -6,7 +6,8 @@
6
6
  "name": "TaskOrbital",
7
7
  "entity": {
8
8
  "name": "Task",
9
- "persistence": "runtime",
9
+ "persistence": "persistent",
10
+ "collection": "tasks",
10
11
  "fields": [
11
12
  {
12
13
  "name": "id",
@@ -706,7 +707,8 @@
706
707
  "status",
707
708
  "storyPoints",
708
709
  "dueDate"
709
- ]
710
+ ],
711
+ "entityId": "@entity.id"
710
712
  }
711
713
  ]
712
714
  }
@@ -1034,7 +1036,8 @@
1034
1036
  "name": "SprintOrbital",
1035
1037
  "entity": {
1036
1038
  "name": "Sprint",
1037
- "persistence": "runtime",
1039
+ "persistence": "persistent",
1040
+ "collection": "sprints",
1038
1041
  "fields": [
1039
1042
  {
1040
1043
  "name": "id",
@@ -1748,7 +1751,8 @@
1748
1751
  "goal",
1749
1752
  "status",
1750
1753
  "taskCount"
1751
- ]
1754
+ ],
1755
+ "entityId": "@entity.id"
1752
1756
  }
1753
1757
  ]
1754
1758
  }
@@ -6,7 +6,8 @@
6
6
  "name": "ChatMessageOrbital",
7
7
  "entity": {
8
8
  "name": "ChatMessage",
9
- "persistence": "runtime",
9
+ "persistence": "persistent",
10
+ "collection": "chatmessages",
10
11
  "fields": [
11
12
  {
12
13
  "name": "id",
@@ -589,7 +590,8 @@
589
590
  "name": "ChannelOrbital",
590
591
  "entity": {
591
592
  "name": "Channel",
592
- "persistence": "runtime",
593
+ "persistence": "persistent",
594
+ "collection": "channels",
593
595
  "fields": [
594
596
  {
595
597
  "name": "id",
@@ -1265,7 +1267,8 @@
1265
1267
  "description",
1266
1268
  "memberCount",
1267
1269
  "isPrivate"
1268
- ]
1270
+ ],
1271
+ "entityId": "@entity.id"
1269
1272
  }
1270
1273
  ]
1271
1274
  }
@@ -963,7 +963,8 @@
963
963
  "name": "RpgItemOrbital",
964
964
  "entity": {
965
965
  "name": "RpgItem",
966
- "persistence": "runtime",
966
+ "persistence": "persistent",
967
+ "collection": "rpgitems",
967
968
  "fields": [
968
969
  {
969
970
  "name": "id",
@@ -848,7 +848,8 @@
848
848
  "name": "TradeOrderOrbital",
849
849
  "entity": {
850
850
  "name": "TradeOrder",
851
- "persistence": "runtime",
851
+ "persistence": "persistent",
852
+ "collection": "tradeorders",
852
853
  "fields": [
853
854
  {
854
855
  "name": "id",
@@ -1524,7 +1525,8 @@
1524
1525
  "side",
1525
1526
  "quantity",
1526
1527
  "price"
1527
- ]
1528
+ ],
1529
+ "entityId": "@entity.id"
1528
1530
  }
1529
1531
  ]
1530
1532
  }
@@ -1,18 +1,11 @@
1
1
  [
2
2
  {
3
- "name": "std-list",
3
+ "name": "std-game-canvas2d",
4
4
  "errors": 0,
5
- "warnings": 1,
5
+ "warnings": 0,
6
6
  "output": [
7
7
  "Loaded 22 services from packages/almadar-patterns/src/services-registry.json",
8
- "Validating schema: /home/osamah/kflow.ai.builder/packages/almadar-std/behaviors/exports/molecules/std-list.orb",
9
- "Schema validation warnings:",
10
- " ⚠️ [CIRCUIT_MODAL_EXIT_INCOMPLETE] orbitals[0].traits[0].transitions[Single(\"deleting\")->CONFIRM_DELETE->browsing]: Transition Single(\"deleting\")--[CONFIRM_DELETE]-->browsing closes modal but doesn't re-render main slot. Main view will show stale content.",
11
- " 💡 Add render-ui(\"main\", {...}) alongside render-ui(\"modal\", null) to refresh the main view after closing the modal",
12
- " ⚠️ [CIRCUIT_MODAL_EXIT_INCOMPLETE] orbitals[0].traits[0].transitions[Single(\"deleting\")->CANCEL->browsing]: Transition Single(\"deleting\")--[CANCEL]-->browsing closes modal but doesn't re-render main slot. Main view will show stale content.",
13
- " 💡 Add render-ui(\"main\", {...}) alongside render-ui(\"modal\", null) to refresh the main view after closing the modal",
14
- " ⚠️ [CIRCUIT_MODAL_EXIT_INCOMPLETE] orbitals[0].traits[0].transitions[Single(\"deleting\")->CLOSE->browsing]: Transition Single(\"deleting\")--[CLOSE]-->browsing closes modal but doesn't re-render main slot. Main view will show stale content.",
15
- " 💡 Add render-ui(\"main\", {...}) alongside render-ui(\"modal\", null) to refresh the main view after closing the modal"
8
+ "Validating schema: /home/osamah/kflow.ai.builder/packages/almadar-std/behaviors/exports/atoms/std-game-canvas2d.orb"
16
9
  ]
17
10
  }
18
11
  ]
@@ -40,5 +40,10 @@ declare function loadGoldenOrb(behaviorName: string): BehaviorSchema | null;
40
40
  * Check if a golden .orb file exists for the given behavior name.
41
41
  */
42
42
  declare function hasGoldenOrb(behaviorName: string): boolean;
43
+ /**
44
+ * Get a single behavior by name.
45
+ * Alias for loadGoldenOrb for compatibility.
46
+ */
47
+ declare function getBehavior(behaviorName: string): BehaviorSchema | null;
43
48
 
44
- export { type BehaviorLevel, getAllBehaviorNames, getAllBehaviors, getBehaviorsByLevel, hasGoldenOrb, loadGoldenOrb };
49
+ export { type BehaviorLevel, getAllBehaviorNames, getAllBehaviors, getBehavior, getBehaviorsByLevel, hasGoldenOrb, loadGoldenOrb };
@@ -55,7 +55,10 @@ function hasGoldenOrb(behaviorName) {
55
55
  (level) => existsSync(resolve(EXPORTS_DIR, level, `${behaviorName}.orb`))
56
56
  );
57
57
  }
58
+ function getBehavior(behaviorName) {
59
+ return loadGoldenOrb(behaviorName);
60
+ }
58
61
 
59
- export { getAllBehaviorNames, getAllBehaviors, getBehaviorsByLevel, hasGoldenOrb, loadGoldenOrb };
62
+ export { getAllBehaviorNames, getAllBehaviors, getBehavior, getBehaviorsByLevel, hasGoldenOrb, loadGoldenOrb };
60
63
  //# sourceMappingURL=exports-reader.js.map
61
64
  //# sourceMappingURL=exports-reader.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../behaviors/exports-reader.ts"],"names":["__dirname"],"mappings":";;;;;AAmBA,IAAMA,WAAA,GAAY,OAAA,CAAQ,aAAA,CAAc,MAAA,CAAA,IAAA,CAAY,GAAG,CAAC,CAAA;AACxD,IAAM,WAAA,GAAc,OAAA,CAAQA,WAAA,EAAW,SAAS,CAAA;AAChD,IAAM,UAAA,GAAa,CAAC,OAAA,EAAS,WAAA,EAAa,WAAW,CAAA;AAKrD,SAAS,WAAW,GAAA,EAAoD;AACtE,EAAA,IAAI;AACF,IAAA,OAAO,WAAA,CAAY,GAAG,CAAA,CACnB,MAAA,CAAO,CAAC,CAAA,KAAc,CAAA,CAAE,QAAA,CAAS,MAAM,CAAC,CAAA,CACxC,GAAA,CAAI,CAAC,OAAe,EAAE,IAAA,EAAM,CAAA,CAAE,OAAA,CAAQ,MAAA,EAAQ,EAAE,CAAA,EAAG,IAAA,EAAM,OAAA,CAAQ,GAAA,EAAK,CAAC,CAAA,EAAE,CAAE,CAAA;AAAA,EAChF,CAAA,CAAA,MAAQ;AACN,IAAA,OAAO,EAAC;AAAA,EACV;AACF;AAGA,SAAS,iBAAA,GAAiF;AACxF,EAAA,MAAM,UAAuE,EAAC;AAC9E,EAAA,KAAA,MAAW,SAAS,UAAA,EAAY;AAC9B,IAAA,KAAA,MAAW,SAAS,UAAA,CAAW,OAAA,CAAQ,WAAA,EAAa,KAAK,CAAC,CAAA,EAAG;AAC3D,MAAA,OAAA,CAAQ,IAAA,CAAK,EAAE,GAAG,KAAA,EAAO,OAAO,CAAA;AAAA,IAClC;AAAA,EACF;AACA,EAAA,OAAO,OAAA;AACT;AAKO,SAAS,mBAAA,GAAgC;AAC9C,EAAA,OAAO,iBAAA,EAAkB,CAAE,GAAA,CAAI,CAAA,CAAA,KAAK,EAAE,IAAI,CAAA;AAC5C;AAOO,SAAS,eAAA,GAAoC;AAClD,EAAA,OAAO,iBAAA,EAAkB,CAAE,GAAA,CAAI,CAAA,CAAA,KAAK;AAClC,IAAA,MAAM,SAAS,IAAA,CAAK,KAAA,CAAM,aAAa,CAAA,CAAE,IAAA,EAAM,OAAO,CAAC,CAAA;AACvD,IAAA,MAAA,CAAO,OAAO,CAAA,CAAE,IAAA;AAChB,IAAA,OAAO,MAAA;AAAA,EACT,CAAC,CAAA;AACH;AAKO,SAAS,oBAAoB,KAAA,EAAwC;AAC1E,EAAA,OAAO,UAAA,CAAW,OAAA,CAAQ,WAAA,EAAa,KAAK,CAAC,CAAA,CAAE,GAAA;AAAA,IAAI,OACjD,IAAA,CAAK,KAAA,CAAM,aAAa,CAAA,CAAE,IAAA,EAAM,OAAO,CAAC;AAAA,GAC1C;AACF;AAMO,SAAS,cAAc,YAAA,EAA6C;AACzE,EAAA,KAAA,MAAW,SAAS,UAAA,EAAY;AAC9B,IAAA,MAAM,UAAU,OAAA,CAAQ,WAAA,EAAa,KAAA,EAAO,CAAA,EAAG,YAAY,CAAA,IAAA,CAAM,CAAA;AACjE,IAAA,IAAI,UAAA,CAAW,OAAO,CAAA,EAAG;AACvB,MAAA,IAAI;AACF,QAAA,OAAO,IAAA,CAAK,KAAA,CAAM,YAAA,CAAa,OAAA,EAAS,OAAO,CAAC,CAAA;AAAA,MAClD,CAAA,CAAA,MAAQ;AACN,QAAA,OAAO,IAAA;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACA,EAAA,OAAO,IAAA;AACT;AAKO,SAAS,aAAa,YAAA,EAA+B;AAC1D,EAAA,OAAO,UAAA,CAAW,IAAA;AAAA,IAAK,CAAA,KAAA,KACrB,WAAW,OAAA,CAAQ,WAAA,EAAa,OAAO,CAAA,EAAG,YAAY,MAAM,CAAC;AAAA,GAC/D;AACF","file":"exports-reader.js","sourcesContent":["/**\n * Exports Reader\n *\n * Provides programmatic access to the golden .orb files in behaviors/exports/.\n * Other packages import these functions instead of reading the filesystem directly.\n *\n * Directory structure mirrors functions/:\n * exports/atoms/*.orb\n * exports/molecules/*.orb\n * exports/organisms/*.orb\n *\n * @packageDocumentation\n */\n\nimport { readdirSync, readFileSync, existsSync } from 'fs';\nimport { resolve, dirname } from 'path';\nimport { fileURLToPath } from 'url';\nimport type { BehaviorSchema } from './types.js';\n\nconst __dirname = dirname(fileURLToPath(import.meta.url));\nconst EXPORTS_DIR = resolve(__dirname, 'exports');\nconst LEVEL_DIRS = ['atoms', 'molecules', 'organisms'] as const;\n\nexport type BehaviorLevel = typeof LEVEL_DIRS[number];\n\n/** Read all .orb files from a single directory. */\nfunction readOrbDir(dir: string): Array<{ name: string; path: string }> {\n try {\n return readdirSync(dir)\n .filter((f: string) => f.endsWith('.orb'))\n .map((f: string) => ({ name: f.replace('.orb', ''), path: resolve(dir, f) }));\n } catch {\n return [];\n }\n}\n\n/** Read all .orb entries across atoms/molecules/organisms. */\nfunction readAllOrbEntries(): Array<{ name: string; path: string; level: BehaviorLevel }> {\n const entries: Array<{ name: string; path: string; level: BehaviorLevel }> = [];\n for (const level of LEVEL_DIRS) {\n for (const entry of readOrbDir(resolve(EXPORTS_DIR, level))) {\n entries.push({ ...entry, level });\n }\n }\n return entries;\n}\n\n/**\n * List all available golden behavior names (without .orb extension).\n */\nexport function getAllBehaviorNames(): string[] {\n return readAllOrbEntries().map(e => e.name);\n}\n\n/**\n * Load all golden .orb files as BehaviorSchema objects.\n * Sets `.name` to the behavior identifier (e.g., \"std-list\") from the filename,\n * overriding the orbital name inside the .orb file.\n */\nexport function getAllBehaviors(): BehaviorSchema[] {\n return readAllOrbEntries().map(e => {\n const schema = JSON.parse(readFileSync(e.path, 'utf-8')) as BehaviorSchema;\n schema.name = e.name;\n return schema;\n });\n}\n\n/**\n * Load all golden .orb files for a specific level (atoms, molecules, organisms).\n */\nexport function getBehaviorsByLevel(level: BehaviorLevel): BehaviorSchema[] {\n return readOrbDir(resolve(EXPORTS_DIR, level)).map(e =>\n JSON.parse(readFileSync(e.path, 'utf-8')) as BehaviorSchema\n );\n}\n\n/**\n * Load a single golden .orb file by behavior name.\n * Searches across all levels. Returns null if not found.\n */\nexport function loadGoldenOrb(behaviorName: string): BehaviorSchema | null {\n for (const level of LEVEL_DIRS) {\n const orbPath = resolve(EXPORTS_DIR, level, `${behaviorName}.orb`);\n if (existsSync(orbPath)) {\n try {\n return JSON.parse(readFileSync(orbPath, 'utf-8')) as BehaviorSchema;\n } catch {\n return null;\n }\n }\n }\n return null;\n}\n\n/**\n * Check if a golden .orb file exists for the given behavior name.\n */\nexport function hasGoldenOrb(behaviorName: string): boolean {\n return LEVEL_DIRS.some(level =>\n existsSync(resolve(EXPORTS_DIR, level, `${behaviorName}.orb`))\n );\n}\n"]}
1
+ {"version":3,"sources":["../../behaviors/exports-reader.ts"],"names":["__dirname"],"mappings":";;;;;AAmBA,IAAMA,WAAA,GAAY,OAAA,CAAQ,aAAA,CAAc,MAAA,CAAA,IAAA,CAAY,GAAG,CAAC,CAAA;AACxD,IAAM,WAAA,GAAc,OAAA,CAAQA,WAAA,EAAW,SAAS,CAAA;AAChD,IAAM,UAAA,GAAa,CAAC,OAAA,EAAS,WAAA,EAAa,WAAW,CAAA;AAKrD,SAAS,WAAW,GAAA,EAAoD;AACtE,EAAA,IAAI;AACF,IAAA,OAAO,WAAA,CAAY,GAAG,CAAA,CACnB,MAAA,CAAO,CAAC,CAAA,KAAc,CAAA,CAAE,QAAA,CAAS,MAAM,CAAC,CAAA,CACxC,GAAA,CAAI,CAAC,OAAe,EAAE,IAAA,EAAM,CAAA,CAAE,OAAA,CAAQ,MAAA,EAAQ,EAAE,CAAA,EAAG,IAAA,EAAM,OAAA,CAAQ,GAAA,EAAK,CAAC,CAAA,EAAE,CAAE,CAAA;AAAA,EAChF,CAAA,CAAA,MAAQ;AACN,IAAA,OAAO,EAAC;AAAA,EACV;AACF;AAGA,SAAS,iBAAA,GAAiF;AACxF,EAAA,MAAM,UAAuE,EAAC;AAC9E,EAAA,KAAA,MAAW,SAAS,UAAA,EAAY;AAC9B,IAAA,KAAA,MAAW,SAAS,UAAA,CAAW,OAAA,CAAQ,WAAA,EAAa,KAAK,CAAC,CAAA,EAAG;AAC3D,MAAA,OAAA,CAAQ,IAAA,CAAK,EAAE,GAAG,KAAA,EAAO,OAAO,CAAA;AAAA,IAClC;AAAA,EACF;AACA,EAAA,OAAO,OAAA;AACT;AAKO,SAAS,mBAAA,GAAgC;AAC9C,EAAA,OAAO,iBAAA,EAAkB,CAAE,GAAA,CAAI,CAAA,CAAA,KAAK,EAAE,IAAI,CAAA;AAC5C;AAOO,SAAS,eAAA,GAAoC;AAClD,EAAA,OAAO,iBAAA,EAAkB,CAAE,GAAA,CAAI,CAAA,CAAA,KAAK;AAClC,IAAA,MAAM,SAAS,IAAA,CAAK,KAAA,CAAM,aAAa,CAAA,CAAE,IAAA,EAAM,OAAO,CAAC,CAAA;AACvD,IAAA,MAAA,CAAO,OAAO,CAAA,CAAE,IAAA;AAChB,IAAA,OAAO,MAAA;AAAA,EACT,CAAC,CAAA;AACH;AAKO,SAAS,oBAAoB,KAAA,EAAwC;AAC1E,EAAA,OAAO,UAAA,CAAW,OAAA,CAAQ,WAAA,EAAa,KAAK,CAAC,CAAA,CAAE,GAAA;AAAA,IAAI,OACjD,IAAA,CAAK,KAAA,CAAM,aAAa,CAAA,CAAE,IAAA,EAAM,OAAO,CAAC;AAAA,GAC1C;AACF;AAMO,SAAS,cAAc,YAAA,EAA6C;AACzE,EAAA,KAAA,MAAW,SAAS,UAAA,EAAY;AAC9B,IAAA,MAAM,UAAU,OAAA,CAAQ,WAAA,EAAa,KAAA,EAAO,CAAA,EAAG,YAAY,CAAA,IAAA,CAAM,CAAA;AACjE,IAAA,IAAI,UAAA,CAAW,OAAO,CAAA,EAAG;AACvB,MAAA,IAAI;AACF,QAAA,OAAO,IAAA,CAAK,KAAA,CAAM,YAAA,CAAa,OAAA,EAAS,OAAO,CAAC,CAAA;AAAA,MAClD,CAAA,CAAA,MAAQ;AACN,QAAA,OAAO,IAAA;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACA,EAAA,OAAO,IAAA;AACT;AAKO,SAAS,aAAa,YAAA,EAA+B;AAC1D,EAAA,OAAO,UAAA,CAAW,IAAA;AAAA,IAAK,CAAA,KAAA,KACrB,WAAW,OAAA,CAAQ,WAAA,EAAa,OAAO,CAAA,EAAG,YAAY,MAAM,CAAC;AAAA,GAC/D;AACF;AAMO,SAAS,YAAY,YAAA,EAA6C;AACvE,EAAA,OAAO,cAAc,YAAY,CAAA;AACnC","file":"exports-reader.js","sourcesContent":["/**\n * Exports Reader\n *\n * Provides programmatic access to the golden .orb files in behaviors/exports/.\n * Other packages import these functions instead of reading the filesystem directly.\n *\n * Directory structure mirrors functions/:\n * exports/atoms/*.orb\n * exports/molecules/*.orb\n * exports/organisms/*.orb\n *\n * @packageDocumentation\n */\n\nimport { readdirSync, readFileSync, existsSync } from 'fs';\nimport { resolve, dirname } from 'path';\nimport { fileURLToPath } from 'url';\nimport type { BehaviorSchema } from './types.js';\n\nconst __dirname = dirname(fileURLToPath(import.meta.url));\nconst EXPORTS_DIR = resolve(__dirname, 'exports');\nconst LEVEL_DIRS = ['atoms', 'molecules', 'organisms'] as const;\n\nexport type BehaviorLevel = typeof LEVEL_DIRS[number];\n\n/** Read all .orb files from a single directory. */\nfunction readOrbDir(dir: string): Array<{ name: string; path: string }> {\n try {\n return readdirSync(dir)\n .filter((f: string) => f.endsWith('.orb'))\n .map((f: string) => ({ name: f.replace('.orb', ''), path: resolve(dir, f) }));\n } catch {\n return [];\n }\n}\n\n/** Read all .orb entries across atoms/molecules/organisms. */\nfunction readAllOrbEntries(): Array<{ name: string; path: string; level: BehaviorLevel }> {\n const entries: Array<{ name: string; path: string; level: BehaviorLevel }> = [];\n for (const level of LEVEL_DIRS) {\n for (const entry of readOrbDir(resolve(EXPORTS_DIR, level))) {\n entries.push({ ...entry, level });\n }\n }\n return entries;\n}\n\n/**\n * List all available golden behavior names (without .orb extension).\n */\nexport function getAllBehaviorNames(): string[] {\n return readAllOrbEntries().map(e => e.name);\n}\n\n/**\n * Load all golden .orb files as BehaviorSchema objects.\n * Sets `.name` to the behavior identifier (e.g., \"std-list\") from the filename,\n * overriding the orbital name inside the .orb file.\n */\nexport function getAllBehaviors(): BehaviorSchema[] {\n return readAllOrbEntries().map(e => {\n const schema = JSON.parse(readFileSync(e.path, 'utf-8')) as BehaviorSchema;\n schema.name = e.name;\n return schema;\n });\n}\n\n/**\n * Load all golden .orb files for a specific level (atoms, molecules, organisms).\n */\nexport function getBehaviorsByLevel(level: BehaviorLevel): BehaviorSchema[] {\n return readOrbDir(resolve(EXPORTS_DIR, level)).map(e =>\n JSON.parse(readFileSync(e.path, 'utf-8')) as BehaviorSchema\n );\n}\n\n/**\n * Load a single golden .orb file by behavior name.\n * Searches across all levels. Returns null if not found.\n */\nexport function loadGoldenOrb(behaviorName: string): BehaviorSchema | null {\n for (const level of LEVEL_DIRS) {\n const orbPath = resolve(EXPORTS_DIR, level, `${behaviorName}.orb`);\n if (existsSync(orbPath)) {\n try {\n return JSON.parse(readFileSync(orbPath, 'utf-8')) as BehaviorSchema;\n } catch {\n return null;\n }\n }\n }\n return null;\n}\n\n/**\n * Check if a golden .orb file exists for the given behavior name.\n */\nexport function hasGoldenOrb(behaviorName: string): boolean {\n return LEVEL_DIRS.some(level =>\n existsSync(resolve(EXPORTS_DIR, level, `${behaviorName}.orb`))\n );\n}\n\n/**\n * Get a single behavior by name.\n * Alias for loadGoldenOrb for compatibility.\n */\nexport function getBehavior(behaviorName: string): BehaviorSchema | null {\n return loadGoldenOrb(behaviorName);\n}\n"]}
@@ -6709,17 +6709,38 @@ function buildEntity41(c) {
6709
6709
  }
6710
6710
  function buildTrait42(c) {
6711
6711
  const { width, height, fps } = c;
6712
- const idleView = {
6712
+ const canvasConfig = {
6713
6713
  type: "game-canvas2-d",
6714
6714
  width,
6715
6715
  height,
6716
6716
  fps
6717
6717
  };
6718
+ const idleView = {
6719
+ type: "stack",
6720
+ direction: "vertical",
6721
+ gap: "md",
6722
+ children: [
6723
+ { type: "stack", direction: "horizontal", gap: "sm", align: "center", children: [
6724
+ { type: "icon", name: "monitor", size: "md" },
6725
+ { type: "typography", content: `${c.entityName} Canvas`, variant: "h3" }
6726
+ ] },
6727
+ { type: "typography", content: `${width}x${height} @ ${fps}fps`, variant: "caption", color: "muted" },
6728
+ canvasConfig,
6729
+ { type: "button", label: "Start", event: "START", variant: "primary", icon: "play" }
6730
+ ]
6731
+ };
6718
6732
  const renderingView = {
6719
- type: "game-canvas2-d",
6720
- width,
6721
- height,
6722
- fps
6733
+ type: "stack",
6734
+ direction: "vertical",
6735
+ gap: "md",
6736
+ children: [
6737
+ { type: "stack", direction: "horizontal", gap: "sm", align: "center", children: [
6738
+ { type: "icon", name: "monitor", size: "md" },
6739
+ { type: "typography", content: `${c.entityName} Canvas`, variant: "h3" }
6740
+ ] },
6741
+ canvasConfig,
6742
+ { type: "button", label: "Stop", event: "STOP", variant: "ghost", icon: "square" }
6743
+ ]
6723
6744
  };
6724
6745
  return {
6725
6746
  name: c.traitName,
@@ -6869,6 +6890,10 @@ function resolve44(params) {
6869
6890
  };
6870
6891
  }
6871
6892
  function formContent(entityName, mode, title, icon, formFields, saveEvent, cancelEvent) {
6893
+ const formSection = { type: "form-section", entity: entityName, mode, submitEvent: saveEvent, cancelEvent, fields: formFields };
6894
+ if (mode === "edit") {
6895
+ formSection.entityId = "@entity.id";
6896
+ }
6872
6897
  return {
6873
6898
  type: "stack",
6874
6899
  direction: "vertical",
@@ -6879,7 +6904,7 @@ function formContent(entityName, mode, title, icon, formFields, saveEvent, cance
6879
6904
  { type: "typography", content: title, variant: "h3" }
6880
6905
  ] },
6881
6906
  { type: "divider" },
6882
- { type: "form-section", entity: entityName, mode, submitEvent: saveEvent, cancelEvent, fields: formFields }
6907
+ formSection
6883
6908
  ]
6884
6909
  };
6885
6910
  }