@almadar/std 6.5.2 → 7.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 (307) hide show
  1. package/behaviors/registry/atoms/std-agent-activity-log.orb +240 -227
  2. package/behaviors/registry/atoms/std-agent-chat-thread.orb +296 -199
  3. package/behaviors/registry/atoms/std-agent-classifier.orb +384 -133
  4. package/behaviors/registry/atoms/std-agent-completion.orb +404 -141
  5. package/behaviors/registry/atoms/std-agent-context-window.orb +904 -607
  6. package/behaviors/registry/atoms/std-agent-conversation.orb +443 -234
  7. package/behaviors/registry/atoms/std-agent-memory.orb +584 -150
  8. package/behaviors/registry/atoms/std-agent-provider.orb +431 -174
  9. package/behaviors/registry/atoms/std-agent-search.orb +217 -61
  10. package/behaviors/registry/atoms/std-agent-session.orb +406 -159
  11. package/behaviors/registry/atoms/std-agent-step-progress.orb +314 -294
  12. package/behaviors/registry/atoms/std-agent-token-gauge.orb +577 -500
  13. package/behaviors/registry/atoms/std-agent-tool-call.orb +328 -138
  14. package/behaviors/registry/atoms/std-async.orb +147 -86
  15. package/behaviors/registry/atoms/std-autoregressive.orb +64 -73
  16. package/behaviors/registry/atoms/std-browse.orb +260 -126
  17. package/behaviors/registry/atoms/std-cache-aside.orb +358 -259
  18. package/behaviors/registry/atoms/std-calendar.orb +280 -215
  19. package/behaviors/registry/atoms/std-circuit-breaker.orb +295 -234
  20. package/behaviors/registry/atoms/std-collision.orb +136 -135
  21. package/behaviors/registry/atoms/std-combat-log.orb +108 -90
  22. package/behaviors/registry/atoms/std-combat.orb +171 -98
  23. package/behaviors/registry/atoms/std-confirmation.orb +28 -300
  24. package/behaviors/registry/atoms/std-dialogue-box.orb +111 -30
  25. package/behaviors/registry/atoms/std-display.orb +491 -587
  26. package/behaviors/registry/atoms/std-drawer.orb +194 -121
  27. package/behaviors/registry/atoms/std-filter.orb +311 -326
  28. package/behaviors/registry/atoms/std-flip-card.orb +223 -177
  29. package/behaviors/registry/atoms/std-gallery.orb +130 -151
  30. package/behaviors/registry/atoms/std-game-audio.orb +133 -72
  31. package/behaviors/registry/atoms/std-game-canvas2d.orb +112 -52
  32. package/behaviors/registry/atoms/std-game-canvas3d.orb +150 -107
  33. package/behaviors/registry/atoms/std-game-hud.orb +87 -20
  34. package/behaviors/registry/atoms/std-game-menu.orb +32 -32
  35. package/behaviors/registry/atoms/std-game-over-screen.orb +100 -33
  36. package/behaviors/registry/atoms/std-gameflow.orb +147 -80
  37. package/behaviors/registry/atoms/std-input.orb +128 -393
  38. package/behaviors/registry/atoms/std-inventory-panel.orb +108 -71
  39. package/behaviors/registry/atoms/std-isometric-canvas.orb +156 -407
  40. package/behaviors/registry/atoms/std-loading.orb +127 -126
  41. package/behaviors/registry/atoms/std-modal.orb +30 -267
  42. package/behaviors/registry/atoms/std-movement.orb +391 -292
  43. package/behaviors/registry/atoms/std-notification.orb +133 -75
  44. package/behaviors/registry/atoms/std-overworld.orb +194 -121
  45. package/behaviors/registry/atoms/std-pagination.orb +120 -53
  46. package/behaviors/registry/atoms/std-physics2d.orb +94 -93
  47. package/behaviors/registry/atoms/std-platformer-canvas.orb +110 -98
  48. package/behaviors/registry/atoms/std-push.orb +172 -36
  49. package/behaviors/registry/atoms/std-quest.orb +552 -449
  50. package/behaviors/registry/atoms/std-rate-limiter.orb +242 -241
  51. package/behaviors/registry/atoms/std-rating.orb +123 -65
  52. package/behaviors/registry/atoms/std-related.orb +202 -26
  53. package/behaviors/registry/atoms/std-score-board.orb +109 -28
  54. package/behaviors/registry/atoms/std-score.orb +210 -146
  55. package/behaviors/registry/atoms/std-search.orb +265 -138
  56. package/behaviors/registry/atoms/std-selection.orb +311 -220
  57. package/behaviors/registry/atoms/std-service-custom-bearer.orb +199 -110
  58. package/behaviors/registry/atoms/std-service-custom-header.orb +206 -117
  59. package/behaviors/registry/atoms/std-service-custom-noauth.orb +197 -108
  60. package/behaviors/registry/atoms/std-service-custom-query.orb +193 -104
  61. package/behaviors/registry/atoms/std-service-email.orb +195 -107
  62. package/behaviors/registry/atoms/std-service-github.orb +216 -122
  63. package/behaviors/registry/atoms/std-service-llm.orb +204 -122
  64. package/behaviors/registry/atoms/std-service-oauth.orb +290 -204
  65. package/behaviors/registry/atoms/std-service-redis.orb +177 -92
  66. package/behaviors/registry/atoms/std-service-storage.orb +211 -122
  67. package/behaviors/registry/atoms/std-service-stripe.orb +236 -154
  68. package/behaviors/registry/atoms/std-service-twilio.orb +221 -137
  69. package/behaviors/registry/atoms/std-service-youtube.orb +327 -241
  70. package/behaviors/registry/atoms/std-simulation-canvas.orb +97 -36
  71. package/behaviors/registry/atoms/std-sort.orb +284 -207
  72. package/behaviors/registry/atoms/std-sprite.orb +150 -74
  73. package/behaviors/registry/atoms/std-tabs.orb +129 -62
  74. package/behaviors/registry/atoms/std-text-effects.orb +251 -190
  75. package/behaviors/registry/atoms/std-theme.orb +193 -135
  76. package/behaviors/registry/atoms/std-timer.orb +320 -344
  77. package/behaviors/registry/atoms/std-undo.orb +278 -199
  78. package/behaviors/registry/atoms/std-upload.orb +112 -111
  79. package/behaviors/registry/atoms/std-validate-on-save.orb +159 -151
  80. package/behaviors/registry/atoms/std-wizard.orb +445 -336
  81. package/behaviors/registry/molecules/std-agent-fix-loop.orb +876 -857
  82. package/behaviors/registry/molecules/std-agent-learner.orb +635 -654
  83. package/behaviors/registry/molecules/std-agent-planner.orb +581 -548
  84. package/behaviors/registry/molecules/std-agent-rag.orb +414 -410
  85. package/behaviors/registry/molecules/std-agent-tool-loop.orb +716 -711
  86. package/behaviors/registry/molecules/std-batch-selected-list.orb +28 -12
  87. package/behaviors/registry/molecules/std-builder-game.orb +86 -28
  88. package/behaviors/registry/molecules/std-calendar-booking.orb +32 -8
  89. package/behaviors/registry/molecules/std-cart.orb +347 -406
  90. package/behaviors/registry/molecules/std-classifier-game.orb +95 -37
  91. package/behaviors/registry/molecules/std-dashboard-tabbed.orb +16 -10
  92. package/behaviors/registry/molecules/std-debugger-game.orb +95 -37
  93. package/behaviors/registry/molecules/std-detail.orb +133 -138
  94. package/behaviors/registry/molecules/std-drawer-master-list.orb +12 -6
  95. package/behaviors/registry/molecules/std-event-handler-game.orb +91 -33
  96. package/behaviors/registry/molecules/std-filtered-list.orb +14 -8
  97. package/behaviors/registry/molecules/std-form-advanced.orb +242 -153
  98. package/behaviors/registry/molecules/std-gallery-filtered.orb +16 -10
  99. package/behaviors/registry/molecules/std-geospatial.orb +175 -122
  100. package/behaviors/registry/molecules/std-inventory.orb +216 -170
  101. package/behaviors/registry/molecules/std-list.orb +280 -205
  102. package/behaviors/registry/molecules/std-messaging.orb +146 -99
  103. package/behaviors/registry/molecules/std-negotiator-game.orb +95 -37
  104. package/behaviors/registry/molecules/std-platformer-game.orb +300 -171
  105. package/behaviors/registry/molecules/std-push-activity-log.orb +32 -8
  106. package/behaviors/registry/molecules/std-puzzle-game.orb +287 -146
  107. package/behaviors/registry/molecules/std-quiz.orb +322 -263
  108. package/behaviors/registry/molecules/std-related-master-detail.orb +21 -15
  109. package/behaviors/registry/molecules/std-sequencer-game.orb +92 -34
  110. package/behaviors/registry/molecules/std-service-content-pipeline.orb +268 -267
  111. package/behaviors/registry/molecules/std-service-custom-api-tester.orb +245 -152
  112. package/behaviors/registry/molecules/std-service-devops-toolkit.orb +633 -294
  113. package/behaviors/registry/molecules/std-service-notification-hub.orb +237 -152
  114. package/behaviors/registry/molecules/std-service-payment-flow.orb +310 -180
  115. package/behaviors/registry/molecules/std-simulator-game.orb +96 -38
  116. package/behaviors/registry/molecules/std-turn-based-battle.orb +247 -137
  117. package/behaviors/registry/molecules/std-wizard-form.orb +60 -9
  118. package/behaviors/registry/organisms/std-agent-assistant.orb +2810 -1833
  119. package/behaviors/registry/organisms/std-agent-builder.orb +6401 -4539
  120. package/behaviors/registry/organisms/std-agent-pipeline.orb +5028 -3497
  121. package/behaviors/registry/organisms/std-agent-reviewer.orb +2219 -1406
  122. package/behaviors/registry/organisms/std-agent-tutor.orb +2069 -1384
  123. package/behaviors/registry/organisms/std-api-gateway.orb +1419 -870
  124. package/behaviors/registry/organisms/std-arcade-game.orb +488 -231
  125. package/behaviors/registry/organisms/std-booking-system.orb +2457 -1467
  126. package/behaviors/registry/organisms/std-cicd-pipeline.orb +1367 -825
  127. package/behaviors/registry/organisms/std-cms.orb +1549 -566
  128. package/behaviors/registry/organisms/std-coding-academy.orb +744 -495
  129. package/behaviors/registry/organisms/std-crm.orb +1997 -1014
  130. package/behaviors/registry/organisms/std-devops-dashboard.orb +2160 -1606
  131. package/behaviors/registry/organisms/std-ecommerce.orb +2279 -1153
  132. package/behaviors/registry/organisms/std-finance-tracker.orb +1375 -727
  133. package/behaviors/registry/organisms/std-healthcare.orb +2940 -1703
  134. package/behaviors/registry/organisms/std-helpdesk.orb +1443 -781
  135. package/behaviors/registry/organisms/std-hr-portal.orb +2361 -1440
  136. package/behaviors/registry/organisms/std-iot-dashboard.orb +1491 -1026
  137. package/behaviors/registry/organisms/std-lms.orb +1629 -1046
  138. package/behaviors/registry/organisms/std-logic-training.orb +321 -134
  139. package/behaviors/registry/organisms/std-platformer-app.orb +855 -417
  140. package/behaviors/registry/organisms/std-project-manager.orb +1795 -877
  141. package/behaviors/registry/organisms/std-puzzle-app.orb +407 -206
  142. package/behaviors/registry/organisms/std-realtime-chat.orb +1436 -844
  143. package/behaviors/registry/organisms/std-rpg-game.orb +1522 -1007
  144. package/behaviors/registry/organisms/std-service-marketplace.orb +2110 -1204
  145. package/behaviors/registry/organisms/std-service-research-assistant.orb +1285 -1078
  146. package/behaviors/registry/organisms/std-social-feed.orb +612 -252
  147. package/behaviors/registry/organisms/std-stem-lab.orb +642 -450
  148. package/behaviors/registry/organisms/std-strategy-game.orb +893 -650
  149. package/behaviors/registry/organisms/std-trading-dashboard.orb +1271 -805
  150. package/dist/behaviors/registry/atoms/std-agent-activity-log.orb +240 -227
  151. package/dist/behaviors/registry/atoms/std-agent-chat-thread.orb +296 -199
  152. package/dist/behaviors/registry/atoms/std-agent-classifier.orb +384 -133
  153. package/dist/behaviors/registry/atoms/std-agent-completion.orb +404 -141
  154. package/dist/behaviors/registry/atoms/std-agent-context-window.orb +904 -607
  155. package/dist/behaviors/registry/atoms/std-agent-conversation.orb +443 -234
  156. package/dist/behaviors/registry/atoms/std-agent-memory.orb +584 -150
  157. package/dist/behaviors/registry/atoms/std-agent-provider.orb +431 -174
  158. package/dist/behaviors/registry/atoms/std-agent-search.orb +217 -61
  159. package/dist/behaviors/registry/atoms/std-agent-session.orb +406 -159
  160. package/dist/behaviors/registry/atoms/std-agent-step-progress.orb +314 -294
  161. package/dist/behaviors/registry/atoms/std-agent-token-gauge.orb +577 -500
  162. package/dist/behaviors/registry/atoms/std-agent-tool-call.orb +328 -138
  163. package/dist/behaviors/registry/atoms/std-async.orb +147 -86
  164. package/dist/behaviors/registry/atoms/std-autoregressive.orb +64 -73
  165. package/dist/behaviors/registry/atoms/std-browse.orb +260 -126
  166. package/dist/behaviors/registry/atoms/std-cache-aside.orb +358 -259
  167. package/dist/behaviors/registry/atoms/std-calendar.orb +280 -215
  168. package/dist/behaviors/registry/atoms/std-circuit-breaker.orb +295 -234
  169. package/dist/behaviors/registry/atoms/std-collision.orb +136 -135
  170. package/dist/behaviors/registry/atoms/std-combat-log.orb +108 -90
  171. package/dist/behaviors/registry/atoms/std-combat.orb +171 -98
  172. package/dist/behaviors/registry/atoms/std-confirmation.orb +28 -300
  173. package/dist/behaviors/registry/atoms/std-dialogue-box.orb +111 -30
  174. package/dist/behaviors/registry/atoms/std-display.orb +491 -587
  175. package/dist/behaviors/registry/atoms/std-drawer.orb +194 -121
  176. package/dist/behaviors/registry/atoms/std-filter.orb +311 -326
  177. package/dist/behaviors/registry/atoms/std-flip-card.orb +223 -177
  178. package/dist/behaviors/registry/atoms/std-gallery.orb +130 -151
  179. package/dist/behaviors/registry/atoms/std-game-audio.orb +133 -72
  180. package/dist/behaviors/registry/atoms/std-game-canvas2d.orb +112 -52
  181. package/dist/behaviors/registry/atoms/std-game-canvas3d.orb +150 -107
  182. package/dist/behaviors/registry/atoms/std-game-hud.orb +87 -20
  183. package/dist/behaviors/registry/atoms/std-game-menu.orb +32 -32
  184. package/dist/behaviors/registry/atoms/std-game-over-screen.orb +100 -33
  185. package/dist/behaviors/registry/atoms/std-gameflow.orb +147 -80
  186. package/dist/behaviors/registry/atoms/std-input.orb +128 -393
  187. package/dist/behaviors/registry/atoms/std-inventory-panel.orb +108 -71
  188. package/dist/behaviors/registry/atoms/std-isometric-canvas.orb +156 -407
  189. package/dist/behaviors/registry/atoms/std-loading.orb +127 -126
  190. package/dist/behaviors/registry/atoms/std-modal.orb +30 -267
  191. package/dist/behaviors/registry/atoms/std-movement.orb +391 -292
  192. package/dist/behaviors/registry/atoms/std-notification.orb +133 -75
  193. package/dist/behaviors/registry/atoms/std-overworld.orb +194 -121
  194. package/dist/behaviors/registry/atoms/std-pagination.orb +120 -53
  195. package/dist/behaviors/registry/atoms/std-physics2d.orb +94 -93
  196. package/dist/behaviors/registry/atoms/std-platformer-canvas.orb +110 -98
  197. package/dist/behaviors/registry/atoms/std-push.orb +172 -36
  198. package/dist/behaviors/registry/atoms/std-quest.orb +552 -449
  199. package/dist/behaviors/registry/atoms/std-rate-limiter.orb +242 -241
  200. package/dist/behaviors/registry/atoms/std-rating.orb +123 -65
  201. package/dist/behaviors/registry/atoms/std-related.orb +202 -26
  202. package/dist/behaviors/registry/atoms/std-score-board.orb +109 -28
  203. package/dist/behaviors/registry/atoms/std-score.orb +210 -146
  204. package/dist/behaviors/registry/atoms/std-search.orb +265 -138
  205. package/dist/behaviors/registry/atoms/std-selection.orb +311 -220
  206. package/dist/behaviors/registry/atoms/std-service-custom-bearer.orb +199 -110
  207. package/dist/behaviors/registry/atoms/std-service-custom-header.orb +206 -117
  208. package/dist/behaviors/registry/atoms/std-service-custom-noauth.orb +197 -108
  209. package/dist/behaviors/registry/atoms/std-service-custom-query.orb +193 -104
  210. package/dist/behaviors/registry/atoms/std-service-email.orb +195 -107
  211. package/dist/behaviors/registry/atoms/std-service-github.orb +216 -122
  212. package/dist/behaviors/registry/atoms/std-service-llm.orb +204 -122
  213. package/dist/behaviors/registry/atoms/std-service-oauth.orb +290 -204
  214. package/dist/behaviors/registry/atoms/std-service-redis.orb +177 -92
  215. package/dist/behaviors/registry/atoms/std-service-storage.orb +211 -122
  216. package/dist/behaviors/registry/atoms/std-service-stripe.orb +236 -154
  217. package/dist/behaviors/registry/atoms/std-service-twilio.orb +221 -137
  218. package/dist/behaviors/registry/atoms/std-service-youtube.orb +327 -241
  219. package/dist/behaviors/registry/atoms/std-simulation-canvas.orb +97 -36
  220. package/dist/behaviors/registry/atoms/std-sort.orb +284 -207
  221. package/dist/behaviors/registry/atoms/std-sprite.orb +150 -74
  222. package/dist/behaviors/registry/atoms/std-tabs.orb +129 -62
  223. package/dist/behaviors/registry/atoms/std-text-effects.orb +251 -190
  224. package/dist/behaviors/registry/atoms/std-theme.orb +193 -135
  225. package/dist/behaviors/registry/atoms/std-timer.orb +320 -344
  226. package/dist/behaviors/registry/atoms/std-undo.orb +278 -199
  227. package/dist/behaviors/registry/atoms/std-upload.orb +112 -111
  228. package/dist/behaviors/registry/atoms/std-validate-on-save.orb +159 -151
  229. package/dist/behaviors/registry/atoms/std-wizard.orb +445 -336
  230. package/dist/behaviors/registry/molecules/std-agent-fix-loop.orb +876 -857
  231. package/dist/behaviors/registry/molecules/std-agent-learner.orb +635 -654
  232. package/dist/behaviors/registry/molecules/std-agent-planner.orb +581 -548
  233. package/dist/behaviors/registry/molecules/std-agent-rag.orb +414 -410
  234. package/dist/behaviors/registry/molecules/std-agent-tool-loop.orb +716 -711
  235. package/dist/behaviors/registry/molecules/std-batch-selected-list.orb +28 -12
  236. package/dist/behaviors/registry/molecules/std-builder-game.orb +86 -28
  237. package/dist/behaviors/registry/molecules/std-calendar-booking.orb +32 -8
  238. package/dist/behaviors/registry/molecules/std-cart.orb +347 -406
  239. package/dist/behaviors/registry/molecules/std-classifier-game.orb +95 -37
  240. package/dist/behaviors/registry/molecules/std-dashboard-tabbed.orb +16 -10
  241. package/dist/behaviors/registry/molecules/std-debugger-game.orb +95 -37
  242. package/dist/behaviors/registry/molecules/std-detail.orb +133 -138
  243. package/dist/behaviors/registry/molecules/std-drawer-master-list.orb +12 -6
  244. package/dist/behaviors/registry/molecules/std-event-handler-game.orb +91 -33
  245. package/dist/behaviors/registry/molecules/std-filtered-list.orb +14 -8
  246. package/dist/behaviors/registry/molecules/std-form-advanced.orb +242 -153
  247. package/dist/behaviors/registry/molecules/std-gallery-filtered.orb +16 -10
  248. package/dist/behaviors/registry/molecules/std-geospatial.orb +175 -122
  249. package/dist/behaviors/registry/molecules/std-inventory.orb +216 -170
  250. package/dist/behaviors/registry/molecules/std-list.orb +280 -205
  251. package/dist/behaviors/registry/molecules/std-messaging.orb +146 -99
  252. package/dist/behaviors/registry/molecules/std-negotiator-game.orb +95 -37
  253. package/dist/behaviors/registry/molecules/std-platformer-game.orb +300 -171
  254. package/dist/behaviors/registry/molecules/std-push-activity-log.orb +32 -8
  255. package/dist/behaviors/registry/molecules/std-puzzle-game.orb +287 -146
  256. package/dist/behaviors/registry/molecules/std-quiz.orb +322 -263
  257. package/dist/behaviors/registry/molecules/std-related-master-detail.orb +21 -15
  258. package/dist/behaviors/registry/molecules/std-sequencer-game.orb +92 -34
  259. package/dist/behaviors/registry/molecules/std-service-content-pipeline.orb +268 -267
  260. package/dist/behaviors/registry/molecules/std-service-custom-api-tester.orb +245 -152
  261. package/dist/behaviors/registry/molecules/std-service-devops-toolkit.orb +633 -294
  262. package/dist/behaviors/registry/molecules/std-service-notification-hub.orb +237 -152
  263. package/dist/behaviors/registry/molecules/std-service-payment-flow.orb +310 -180
  264. package/dist/behaviors/registry/molecules/std-simulator-game.orb +96 -38
  265. package/dist/behaviors/registry/molecules/std-turn-based-battle.orb +247 -137
  266. package/dist/behaviors/registry/molecules/std-wizard-form.orb +60 -9
  267. package/dist/behaviors/registry/organisms/std-agent-assistant.orb +2810 -1833
  268. package/dist/behaviors/registry/organisms/std-agent-builder.orb +6401 -4539
  269. package/dist/behaviors/registry/organisms/std-agent-pipeline.orb +5028 -3497
  270. package/dist/behaviors/registry/organisms/std-agent-reviewer.orb +2219 -1406
  271. package/dist/behaviors/registry/organisms/std-agent-tutor.orb +2069 -1384
  272. package/dist/behaviors/registry/organisms/std-api-gateway.orb +1419 -870
  273. package/dist/behaviors/registry/organisms/std-arcade-game.orb +488 -231
  274. package/dist/behaviors/registry/organisms/std-booking-system.orb +2457 -1467
  275. package/dist/behaviors/registry/organisms/std-cicd-pipeline.orb +1367 -825
  276. package/dist/behaviors/registry/organisms/std-cms.orb +1549 -566
  277. package/dist/behaviors/registry/organisms/std-coding-academy.orb +744 -495
  278. package/dist/behaviors/registry/organisms/std-crm.orb +1997 -1014
  279. package/dist/behaviors/registry/organisms/std-devops-dashboard.orb +2160 -1606
  280. package/dist/behaviors/registry/organisms/std-ecommerce.orb +2279 -1153
  281. package/dist/behaviors/registry/organisms/std-finance-tracker.orb +1375 -727
  282. package/dist/behaviors/registry/organisms/std-healthcare.orb +2940 -1703
  283. package/dist/behaviors/registry/organisms/std-helpdesk.orb +1443 -781
  284. package/dist/behaviors/registry/organisms/std-hr-portal.orb +2361 -1440
  285. package/dist/behaviors/registry/organisms/std-iot-dashboard.orb +1491 -1026
  286. package/dist/behaviors/registry/organisms/std-lms.orb +1629 -1046
  287. package/dist/behaviors/registry/organisms/std-logic-training.orb +321 -134
  288. package/dist/behaviors/registry/organisms/std-platformer-app.orb +855 -417
  289. package/dist/behaviors/registry/organisms/std-project-manager.orb +1795 -877
  290. package/dist/behaviors/registry/organisms/std-puzzle-app.orb +407 -206
  291. package/dist/behaviors/registry/organisms/std-realtime-chat.orb +1436 -844
  292. package/dist/behaviors/registry/organisms/std-rpg-game.orb +1522 -1007
  293. package/dist/behaviors/registry/organisms/std-service-marketplace.orb +2110 -1204
  294. package/dist/behaviors/registry/organisms/std-service-research-assistant.orb +1285 -1078
  295. package/dist/behaviors/registry/organisms/std-social-feed.orb +612 -252
  296. package/dist/behaviors/registry/organisms/std-stem-lab.orb +642 -450
  297. package/dist/behaviors/registry/organisms/std-strategy-game.orb +893 -650
  298. package/dist/behaviors/registry/organisms/std-trading-dashboard.orb +1271 -805
  299. package/dist/index.js +16 -4
  300. package/dist/index.js.map +1 -1
  301. package/dist/modules/core.js +16 -4
  302. package/dist/modules/core.js.map +1 -1
  303. package/dist/modules/index.js +16 -4
  304. package/dist/modules/index.js.map +1 -1
  305. package/dist/registry.js +16 -4
  306. package/dist/registry.js.map +1 -1
  307. package/package.json +2 -2
@@ -347,16 +347,28 @@ var CORE_OPERATORS = {
347
347
  module: "core",
348
348
  category: "effect",
349
349
  minArity: 2,
350
- maxArity: 3,
351
- description: "Create, update, delete, clear, or batch entity records",
350
+ maxArity: 4,
351
+ description: "Create, update, delete, clear, or batch entity records. Optional trailing { emit: { success, failure } } options object attaches closed-circuit emit routing.",
352
352
  hasSideEffects: true,
353
353
  returnType: "void",
354
354
  params: [
355
355
  { name: "action", type: PERSIST_ACTION, description: "Persist action" },
356
356
  { name: "entity", type: { kind: "entity" }, description: "Target entity name" },
357
- { name: "data", type: ENTITY_REF, description: "Payload (create/update) or entity id (delete)", optional: true }
357
+ { name: "data", type: ENTITY_REF, description: "Payload (create/update) or entity id (delete)", optional: true },
358
+ {
359
+ name: "options",
360
+ type: {
361
+ kind: "object",
362
+ fields: {
363
+ emit: { kind: "object", fields: {}, open: true }
364
+ },
365
+ open: true
366
+ },
367
+ description: "Optional trailing options object carrying { emit: { success, failure } } closed-circuit routing",
368
+ optional: true
369
+ }
358
370
  ],
359
- example: '["persist", "create", "Task", { "title": "@payload.title" }]',
371
+ example: '["persist", "create", "Task", { "title": "@payload.title" }, { "emit": { "success": "TASK_CREATED" } }]',
360
372
  effect: {
361
373
  kind: "persist",
362
374
  // Action-discriminated union. The compiler narrows at the call site
@@ -1 +1 @@
1
- {"version":3,"sources":["../../modules/core.ts"],"names":[],"mappings":"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","file":"core.js","sourcesContent":["/**\n * Core Module - Language Primitives\n *\n * The 28 unnamespaced S-expression operators that form the .orb language core:\n * arithmetic primitives, comparison, logic, control flow, and effects.\n *\n * These operators existed in the retired `@almadar/operators` package prior to\n * its merge into `@almadar/std`. They live here alongside the library modules\n * (math, str, array, etc.) so the whole operator surface has one home.\n *\n * Effect operators declare rich Schema v2 params and effect metadata so\n * validators, LLM prompt generators, and the Rust compiler can reason about\n * shapes (literal unions for persist actions, UISlot for render-ui, event keys\n * for emit) instead of relying on string heuristics.\n *\n * @packageDocumentation\n */\n\nimport type { OperatorTypeRef, StdOperatorMeta } from '../types.js';\n\n// ============================================================================\n// Shared type refs\n// ============================================================================\n\nconst NUMBER: OperatorTypeRef = 'number';\nconst BOOLEAN: OperatorTypeRef = 'boolean';\nconst STRING: OperatorTypeRef = 'string';\nconst ANY: OperatorTypeRef = 'any';\nconst SEXPR: OperatorTypeRef = { kind: 'sexpr' };\nconst BINDING: OperatorTypeRef = { kind: 'binding' };\nconst ENTITY_REF: OperatorTypeRef = { kind: 'entityRef' };\nconst EVENT_KEY: OperatorTypeRef = { kind: 'eventKey' };\nconst UI_SLOT: OperatorTypeRef = { kind: 'uiSlot' };\nconst PATTERN_TYPE: OperatorTypeRef = { kind: 'patternType' };\n\nconst PERSIST_ACTION: OperatorTypeRef = {\n kind: 'union',\n of: [\n { kind: 'literal', value: 'create' },\n { kind: 'literal', value: 'update' },\n { kind: 'literal', value: 'delete' },\n { kind: 'literal', value: 'clear' },\n { kind: 'literal', value: 'batch' },\n ],\n};\n\nconst SET_OPERATION: OperatorTypeRef = {\n kind: 'union',\n of: [\n { kind: 'literal', value: 'increment' },\n { kind: 'literal', value: 'decrement' },\n { kind: 'literal', value: 'multiply' },\n { kind: 'literal', value: 'append' },\n { kind: 'literal', value: 'remove' },\n ],\n};\n\nconst NOTIFY_CHANNEL: OperatorTypeRef = {\n kind: 'union',\n of: [\n { kind: 'literal', value: 'email' },\n { kind: 'literal', value: 'push' },\n { kind: 'literal', value: 'sms' },\n { kind: 'literal', value: 'in_app' },\n ],\n};\n\n// ============================================================================\n// Core operators\n// ============================================================================\n\nexport const CORE_OPERATORS: Record<string, StdOperatorMeta> = {\n // --- arithmetic primitives --------------------------------------------------\n\n '+': {\n module: 'core',\n category: 'arithmetic',\n minArity: 2,\n maxArity: null,\n description: 'Add numbers',\n hasSideEffects: false,\n returnType: 'number',\n params: [{ name: '...nums', type: NUMBER, description: 'Numbers to sum' }],\n example: '[\"+\", 1, 2, 3] // => 6',\n },\n '-': {\n module: 'core',\n category: 'arithmetic',\n minArity: 1,\n maxArity: 2,\n description: 'Subtract or negate',\n hasSideEffects: false,\n returnType: 'number',\n params: [\n { name: 'a', type: NUMBER, description: 'Left operand or value to negate' },\n { name: 'b', type: NUMBER, description: 'Right operand', optional: true },\n ],\n example: '[\"-\", 5, 2] // => 3; [\"-\", 5] // => -5',\n },\n '*': {\n module: 'core',\n category: 'arithmetic',\n minArity: 2,\n maxArity: null,\n description: 'Multiply numbers',\n hasSideEffects: false,\n returnType: 'number',\n params: [{ name: '...nums', type: NUMBER, description: 'Numbers to multiply' }],\n example: '[\"*\", 2, 3, 4] // => 24',\n },\n '/': {\n module: 'core',\n category: 'arithmetic',\n minArity: 2,\n maxArity: 2,\n description: 'Divide numbers',\n hasSideEffects: false,\n returnType: 'number',\n params: [\n { name: 'a', type: NUMBER, description: 'Numerator' },\n { name: 'b', type: NUMBER, description: 'Denominator' },\n ],\n example: '[\"/\", 10, 2] // => 5',\n },\n '%': {\n module: 'core',\n category: 'arithmetic',\n minArity: 2,\n maxArity: 2,\n description: 'Modulo (remainder)',\n hasSideEffects: false,\n returnType: 'number',\n params: [\n { name: 'a', type: NUMBER, description: 'Dividend' },\n { name: 'b', type: NUMBER, description: 'Divisor' },\n ],\n example: '[\"%\", 10, 3] // => 1',\n },\n\n // --- comparison -------------------------------------------------------------\n\n '=': {\n module: 'core',\n category: 'comparison',\n minArity: 2,\n maxArity: 2,\n description: 'Equal to',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [\n { name: 'a', type: ANY, description: 'Left operand' },\n { name: 'b', type: ANY, description: 'Right operand' },\n ],\n example: '[\"=\", \"@entity.status\", \"active\"]',\n },\n '!=': {\n module: 'core',\n category: 'comparison',\n minArity: 2,\n maxArity: 2,\n description: 'Not equal to',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [\n { name: 'a', type: ANY, description: 'Left operand' },\n { name: 'b', type: ANY, description: 'Right operand' },\n ],\n example: '[\"!=\", \"@entity.id\", null]',\n },\n '<': {\n module: 'core',\n category: 'comparison',\n minArity: 2,\n maxArity: 2,\n description: 'Less than',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [\n { name: 'a', type: NUMBER, description: 'Left operand' },\n { name: 'b', type: NUMBER, description: 'Right operand' },\n ],\n example: '[\"<\", \"@entity.health\", 10]',\n },\n '>': {\n module: 'core',\n category: 'comparison',\n minArity: 2,\n maxArity: 2,\n description: 'Greater than',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [\n { name: 'a', type: NUMBER, description: 'Left operand' },\n { name: 'b', type: NUMBER, description: 'Right operand' },\n ],\n example: '[\">\", \"@entity.score\", 0]',\n },\n '<=': {\n module: 'core',\n category: 'comparison',\n minArity: 2,\n maxArity: 2,\n description: 'Less than or equal',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [\n { name: 'a', type: NUMBER, description: 'Left operand' },\n { name: 'b', type: NUMBER, description: 'Right operand' },\n ],\n example: '[\"<=\", \"@entity.count\", 100]',\n },\n '>=': {\n module: 'core',\n category: 'comparison',\n minArity: 2,\n maxArity: 2,\n description: 'Greater than or equal',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [\n { name: 'a', type: NUMBER, description: 'Left operand' },\n { name: 'b', type: NUMBER, description: 'Right operand' },\n ],\n example: '[\">=\", \"@entity.age\", 18]',\n },\n\n // --- logic ------------------------------------------------------------------\n\n and: {\n module: 'core',\n category: 'logic',\n minArity: 2,\n maxArity: null,\n description: 'Logical AND',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [{ name: '...conds', type: BOOLEAN, description: 'Boolean expressions to AND' }],\n example: '[\"and\", [\"=\", \"@entity.active\", true], [\">\", \"@entity.score\", 0]]',\n },\n or: {\n module: 'core',\n category: 'logic',\n minArity: 2,\n maxArity: null,\n description: 'Logical OR',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [{ name: '...conds', type: BOOLEAN, description: 'Boolean expressions to OR' }],\n example: '[\"or\", [\"=\", \"@entity.role\", \"admin\"], [\"=\", \"@entity.role\", \"owner\"]]',\n },\n not: {\n module: 'core',\n category: 'logic',\n minArity: 1,\n maxArity: 1,\n description: 'Logical NOT',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [{ name: 'cond', type: BOOLEAN, description: 'Boolean to negate' }],\n example: '[\"not\", \"@entity.disabled\"]',\n },\n if: {\n module: 'core',\n category: 'logic',\n minArity: 3,\n maxArity: 3,\n description: 'Conditional expression (ternary)',\n hasSideEffects: false,\n returnType: 'any',\n params: [\n { name: 'cond', type: BOOLEAN, description: 'Condition to evaluate' },\n { name: 'then', type: ANY, description: 'Value or effect if true' },\n { name: 'else', type: ANY, description: 'Value or effect if false' },\n ],\n example: '[\"if\", [\">\", \"@entity.health\", 0], \"alive\", \"dead\"]',\n },\n\n // --- control ----------------------------------------------------------------\n\n let: {\n module: 'core',\n category: 'control',\n minArity: 2,\n maxArity: 2,\n description: 'Bind local variables for a body expression',\n hasSideEffects: false,\n returnType: 'any',\n params: [\n {\n name: 'bindings',\n type: { kind: 'array', of: { kind: 'array', of: ANY } },\n description: 'Array of [name, value] pairs',\n },\n { name: 'body', type: SEXPR, description: 'Expression or effect list using the bindings' },\n ],\n example: '[\"let\", [[\"x\", 10]], [\"+\", \"x\", 1]]',\n },\n do: {\n module: 'core',\n category: 'control',\n minArity: 1,\n maxArity: null,\n description: 'Sequential execution of multiple effects/expressions',\n hasSideEffects: false,\n returnType: 'any',\n params: [{ name: '...exprs', type: SEXPR, description: 'Effects/expressions to run in order' }],\n example: '[\"do\", [\"set\", \"@entity.x\", 0], [\"set\", \"@entity.y\", 0]]',\n },\n when: {\n module: 'core',\n category: 'control',\n minArity: 2,\n maxArity: 2,\n description: 'Conditional effect without an else branch',\n hasSideEffects: false,\n returnType: 'void',\n params: [\n { name: 'cond', type: BOOLEAN, description: 'Guard expression' },\n { name: 'effect', type: SEXPR, description: 'Effect to run if cond is true' },\n ],\n example: '[\"when\", [\">\", \"@entity.health\", 0], [\"emit\", \"ALIVE\"]]',\n },\n fn: {\n module: 'core',\n category: 'control',\n minArity: 2,\n maxArity: 2,\n description: 'Lambda expression (used for per-item renders and transforms)',\n hasSideEffects: false,\n returnType: 'function',\n acceptsLambda: true,\n lambdaArgPosition: 1,\n params: [\n { name: 'paramName', type: STRING, description: 'Name of the parameter binding' },\n { name: 'body', type: SEXPR, description: 'Expression evaluated per invocation' },\n ],\n example: '[\"fn\", \"item\", { \"type\": \"typography\", \"content\": \"@item.title\" }]',\n },\n\n // --- effect -----------------------------------------------------------------\n\n set: {\n module: 'core',\n category: 'effect',\n minArity: 2,\n maxArity: 2,\n description: 'Set a binding to a value',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'binding', type: BINDING, description: 'Target binding (e.g. \"@entity.field\")' },\n { name: 'value', type: ANY, description: 'Value to assign (literal or expression)' },\n ],\n example: '[\"set\", \"@entity.health\", 100]',\n effect: {\n kind: 'set',\n // success emit carries the written value; the evaluator coerces to the\n // binding's declared type, so 'any' is the general shape. A future pass\n // can narrow per-binding via resolveBinding.\n produces: ANY,\n config: { operation: SET_OPERATION },\n },\n },\n emit: {\n module: 'core',\n category: 'effect',\n minArity: 1,\n maxArity: 2,\n description: 'Emit an event onto the bus',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'event', type: EVENT_KEY, description: 'Event key' },\n { name: 'payload', type: ENTITY_REF, description: 'Optional payload', optional: true },\n ],\n example: '[\"emit\", \"PLAYER_DIED\", { \"playerId\": \"@entity.id\" }]',\n effect: {\n kind: 'emit',\n produces: {\n kind: 'object',\n fields: { event: EVENT_KEY, payload: ANY },\n open: true,\n },\n },\n },\n persist: {\n module: 'core',\n category: 'effect',\n minArity: 2,\n maxArity: 3,\n description: 'Create, update, delete, clear, or batch entity records',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'action', type: PERSIST_ACTION, description: 'Persist action' },\n { name: 'entity', type: { kind: 'entity' }, description: 'Target entity name' },\n { name: 'data', type: ENTITY_REF, description: 'Payload (create/update) or entity id (delete)', optional: true },\n ],\n example: '[\"persist\", \"create\", \"Task\", { \"title\": \"@payload.title\" }]',\n effect: {\n kind: 'persist',\n // Action-discriminated union. The compiler narrows at the call site\n // based on the action arg literal to pick the right branch when\n // checking the emit.success event's declared payload.\n // create/update -> the resulting entity record\n // delete/clear -> { id, deleted }\n // batch -> summary of operations\n produces: {\n kind: 'union',\n of: [\n { kind: 'entity' },\n {\n kind: 'object',\n fields: { id: STRING, deleted: BOOLEAN },\n open: false,\n },\n {\n kind: 'object',\n fields: {\n operations: { kind: 'array', of: ANY },\n completedCount: NUMBER,\n totalCount: NUMBER,\n },\n open: false,\n },\n ],\n },\n },\n },\n navigate: {\n module: 'core',\n category: 'effect',\n minArity: 1,\n maxArity: 2,\n description: 'Navigate to a route',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'path', type: STRING, description: 'Route path (supports :param placeholders)' },\n {\n name: 'params',\n type: { kind: 'object', fields: {}, open: true },\n description: 'Optional route params',\n optional: true,\n },\n ],\n example: '[\"navigate\", \"/tasks/:id\", { \"id\": \"@entity.id\" }]',\n effect: { kind: 'navigate' },\n },\n notify: {\n module: 'core',\n category: 'effect',\n minArity: 1,\n maxArity: 2,\n description: 'Show a notification (in-app, email, push, sms)',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'channel', type: NOTIFY_CHANNEL, description: 'Delivery channel' },\n { name: 'message', type: STRING, description: 'Message body', optional: true },\n ],\n example: '[\"notify\", \"in_app\", \"Task created successfully\"]',\n effect: { kind: 'notify' },\n },\n spawn: {\n module: 'core',\n category: 'effect',\n minArity: 1,\n maxArity: 2,\n description: 'Spawn a new entity instance (games)',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'entity', type: { kind: 'entity' }, description: 'Entity name to spawn' },\n {\n name: 'initialState',\n type: { kind: 'object', fields: {}, open: true },\n description: 'Initial field values',\n optional: true,\n },\n ],\n example: '[\"spawn\", \"Bullet\", { \"x\": \"@entity.x\", \"y\": \"@entity.y\" }]',\n effect: { kind: 'spawn' },\n },\n despawn: {\n module: 'core',\n category: 'effect',\n minArity: 0,\n maxArity: 1,\n description: 'Despawn an entity instance (games)',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'entityId', type: STRING, description: 'Target entity id (defaults to @entity.id)', optional: true },\n ],\n example: '[\"despawn\", \"@entity.id\"]',\n effect: { kind: 'despawn' },\n },\n fetch: {\n module: 'core',\n category: 'effect',\n minArity: 1,\n maxArity: 2,\n description: 'Fetch an entity (by id) or a collection (by filter) from persistence',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'entity', type: { kind: 'entity' }, description: 'Target entity name' },\n {\n name: 'options',\n type: {\n kind: 'object',\n fields: {\n id: STRING,\n filter: ANY,\n limit: NUMBER,\n offset: NUMBER,\n include: { kind: 'array', of: STRING },\n emit: { kind: 'object', fields: {}, open: true },\n },\n open: true,\n },\n description: 'Fetch options: id | filter | limit | offset | include | emit',\n optional: true,\n },\n ],\n example: '[\"fetch\", \"Task\", { \"id\": \"@payload.taskId\", \"emit\": { \"success\": \"TASK_LOADED\" } }]',\n effect: {\n kind: 'fetch',\n // Call-site-discriminated union: options.id present -> single entity;\n // otherwise -> array of entity. The compiler narrows at the call site\n // when checking emit.success against the declared event payload.\n produces: {\n kind: 'union',\n of: [\n { kind: 'entity' },\n { kind: 'array', of: { kind: 'entity' } },\n ],\n },\n },\n },\n ref: {\n module: 'core',\n category: 'effect',\n minArity: 1,\n maxArity: 2,\n description: 'Reactive entity reference (deprecated, use fetch with listens in V2)',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'entity', type: { kind: 'entity' }, description: 'Target entity name' },\n {\n name: 'options',\n type: {\n kind: 'object',\n fields: {\n id: STRING,\n filter: ANY,\n include: { kind: 'array', of: STRING },\n emit: { kind: 'object', fields: {}, open: true },\n },\n open: true,\n },\n description: 'Ref options: id | filter | include | emit',\n optional: true,\n },\n ],\n example: '[\"ref\", \"Task\"]',\n effect: {\n kind: 'ref',\n // Same call-site shape as fetch. Kept for the V2 transition period;\n // scheduled for deprecation in a later phase (see Almadar_Entity_V2_Plan.md).\n produces: {\n kind: 'union',\n of: [\n { kind: 'entity' },\n { kind: 'array', of: { kind: 'entity' } },\n ],\n },\n },\n },\n 'call-service': {\n module: 'core',\n category: 'effect',\n minArity: 2,\n maxArity: 3,\n description: 'Invoke an external service action',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'service', type: STRING, description: 'Service name (e.g. \"llm\", \"stripe\")' },\n { name: 'action', type: STRING, description: 'Service action (e.g. \"generate\", \"charge\")' },\n {\n name: 'params',\n type: { kind: 'object', fields: {}, open: true },\n description: 'Service-specific params',\n optional: true,\n },\n ],\n example: '[\"call-service\", \"llm\", \"generate\", { \"userPrompt\": \"@entity.inputText\" }]',\n effect: {\n kind: 'call-service',\n // TODO(entity-v2): narrow to the declared service return type once\n // per-service return shapes live on the orbital services block.\n // Today the emit.success payload is whatever the service adapter returns.\n produces: ANY,\n },\n },\n 'render-ui': {\n module: 'core',\n category: 'effect',\n minArity: 2,\n maxArity: 3,\n description: 'Render a pattern into a UI slot',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'slot', type: UI_SLOT, description: 'Target UI slot (main, sidebar, modal, hud, ...)' },\n {\n name: 'pattern',\n type: {\n kind: 'union',\n of: [\n { kind: 'object', fields: { patternType: PATTERN_TYPE }, open: true },\n { kind: 'literal', value: null as unknown as string },\n ],\n },\n description: 'Pattern config (or null to clear the slot)',\n },\n {\n name: 'props',\n type: { kind: 'object', fields: {}, open: true },\n description: 'Extra props forwarded to the pattern',\n optional: true,\n },\n ],\n example: '[\"render-ui\", \"main\", { \"patternType\": \"entity-table\", \"columns\": [\"name\"] }]',\n effect: { kind: 'render-ui' },\n },\n};\n\n/**\n * Get all core operator names.\n */\nexport function getCoreOperators(): string[] {\n return Object.keys(CORE_OPERATORS);\n}\n"]}
1
+ {"version":3,"sources":["../../modules/core.ts"],"names":[],"mappings":"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","file":"core.js","sourcesContent":["/**\n * Core Module - Language Primitives\n *\n * The 28 unnamespaced S-expression operators that form the .orb language core:\n * arithmetic primitives, comparison, logic, control flow, and effects.\n *\n * These operators existed in the retired `@almadar/operators` package prior to\n * its merge into `@almadar/std`. They live here alongside the library modules\n * (math, str, array, etc.) so the whole operator surface has one home.\n *\n * Effect operators declare rich Schema v2 params and effect metadata so\n * validators, LLM prompt generators, and the Rust compiler can reason about\n * shapes (literal unions for persist actions, UISlot for render-ui, event keys\n * for emit) instead of relying on string heuristics.\n *\n * @packageDocumentation\n */\n\nimport type { OperatorTypeRef, StdOperatorMeta } from '../types.js';\n\n// ============================================================================\n// Shared type refs\n// ============================================================================\n\nconst NUMBER: OperatorTypeRef = 'number';\nconst BOOLEAN: OperatorTypeRef = 'boolean';\nconst STRING: OperatorTypeRef = 'string';\nconst ANY: OperatorTypeRef = 'any';\nconst SEXPR: OperatorTypeRef = { kind: 'sexpr' };\nconst BINDING: OperatorTypeRef = { kind: 'binding' };\nconst ENTITY_REF: OperatorTypeRef = { kind: 'entityRef' };\nconst EVENT_KEY: OperatorTypeRef = { kind: 'eventKey' };\nconst UI_SLOT: OperatorTypeRef = { kind: 'uiSlot' };\nconst PATTERN_TYPE: OperatorTypeRef = { kind: 'patternType' };\n\nconst PERSIST_ACTION: OperatorTypeRef = {\n kind: 'union',\n of: [\n { kind: 'literal', value: 'create' },\n { kind: 'literal', value: 'update' },\n { kind: 'literal', value: 'delete' },\n { kind: 'literal', value: 'clear' },\n { kind: 'literal', value: 'batch' },\n ],\n};\n\nconst SET_OPERATION: OperatorTypeRef = {\n kind: 'union',\n of: [\n { kind: 'literal', value: 'increment' },\n { kind: 'literal', value: 'decrement' },\n { kind: 'literal', value: 'multiply' },\n { kind: 'literal', value: 'append' },\n { kind: 'literal', value: 'remove' },\n ],\n};\n\nconst NOTIFY_CHANNEL: OperatorTypeRef = {\n kind: 'union',\n of: [\n { kind: 'literal', value: 'email' },\n { kind: 'literal', value: 'push' },\n { kind: 'literal', value: 'sms' },\n { kind: 'literal', value: 'in_app' },\n ],\n};\n\n// ============================================================================\n// Core operators\n// ============================================================================\n\nexport const CORE_OPERATORS: Record<string, StdOperatorMeta> = {\n // --- arithmetic primitives --------------------------------------------------\n\n '+': {\n module: 'core',\n category: 'arithmetic',\n minArity: 2,\n maxArity: null,\n description: 'Add numbers',\n hasSideEffects: false,\n returnType: 'number',\n params: [{ name: '...nums', type: NUMBER, description: 'Numbers to sum' }],\n example: '[\"+\", 1, 2, 3] // => 6',\n },\n '-': {\n module: 'core',\n category: 'arithmetic',\n minArity: 1,\n maxArity: 2,\n description: 'Subtract or negate',\n hasSideEffects: false,\n returnType: 'number',\n params: [\n { name: 'a', type: NUMBER, description: 'Left operand or value to negate' },\n { name: 'b', type: NUMBER, description: 'Right operand', optional: true },\n ],\n example: '[\"-\", 5, 2] // => 3; [\"-\", 5] // => -5',\n },\n '*': {\n module: 'core',\n category: 'arithmetic',\n minArity: 2,\n maxArity: null,\n description: 'Multiply numbers',\n hasSideEffects: false,\n returnType: 'number',\n params: [{ name: '...nums', type: NUMBER, description: 'Numbers to multiply' }],\n example: '[\"*\", 2, 3, 4] // => 24',\n },\n '/': {\n module: 'core',\n category: 'arithmetic',\n minArity: 2,\n maxArity: 2,\n description: 'Divide numbers',\n hasSideEffects: false,\n returnType: 'number',\n params: [\n { name: 'a', type: NUMBER, description: 'Numerator' },\n { name: 'b', type: NUMBER, description: 'Denominator' },\n ],\n example: '[\"/\", 10, 2] // => 5',\n },\n '%': {\n module: 'core',\n category: 'arithmetic',\n minArity: 2,\n maxArity: 2,\n description: 'Modulo (remainder)',\n hasSideEffects: false,\n returnType: 'number',\n params: [\n { name: 'a', type: NUMBER, description: 'Dividend' },\n { name: 'b', type: NUMBER, description: 'Divisor' },\n ],\n example: '[\"%\", 10, 3] // => 1',\n },\n\n // --- comparison -------------------------------------------------------------\n\n '=': {\n module: 'core',\n category: 'comparison',\n minArity: 2,\n maxArity: 2,\n description: 'Equal to',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [\n { name: 'a', type: ANY, description: 'Left operand' },\n { name: 'b', type: ANY, description: 'Right operand' },\n ],\n example: '[\"=\", \"@entity.status\", \"active\"]',\n },\n '!=': {\n module: 'core',\n category: 'comparison',\n minArity: 2,\n maxArity: 2,\n description: 'Not equal to',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [\n { name: 'a', type: ANY, description: 'Left operand' },\n { name: 'b', type: ANY, description: 'Right operand' },\n ],\n example: '[\"!=\", \"@entity.id\", null]',\n },\n '<': {\n module: 'core',\n category: 'comparison',\n minArity: 2,\n maxArity: 2,\n description: 'Less than',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [\n { name: 'a', type: NUMBER, description: 'Left operand' },\n { name: 'b', type: NUMBER, description: 'Right operand' },\n ],\n example: '[\"<\", \"@entity.health\", 10]',\n },\n '>': {\n module: 'core',\n category: 'comparison',\n minArity: 2,\n maxArity: 2,\n description: 'Greater than',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [\n { name: 'a', type: NUMBER, description: 'Left operand' },\n { name: 'b', type: NUMBER, description: 'Right operand' },\n ],\n example: '[\">\", \"@entity.score\", 0]',\n },\n '<=': {\n module: 'core',\n category: 'comparison',\n minArity: 2,\n maxArity: 2,\n description: 'Less than or equal',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [\n { name: 'a', type: NUMBER, description: 'Left operand' },\n { name: 'b', type: NUMBER, description: 'Right operand' },\n ],\n example: '[\"<=\", \"@entity.count\", 100]',\n },\n '>=': {\n module: 'core',\n category: 'comparison',\n minArity: 2,\n maxArity: 2,\n description: 'Greater than or equal',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [\n { name: 'a', type: NUMBER, description: 'Left operand' },\n { name: 'b', type: NUMBER, description: 'Right operand' },\n ],\n example: '[\">=\", \"@entity.age\", 18]',\n },\n\n // --- logic ------------------------------------------------------------------\n\n and: {\n module: 'core',\n category: 'logic',\n minArity: 2,\n maxArity: null,\n description: 'Logical AND',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [{ name: '...conds', type: BOOLEAN, description: 'Boolean expressions to AND' }],\n example: '[\"and\", [\"=\", \"@entity.active\", true], [\">\", \"@entity.score\", 0]]',\n },\n or: {\n module: 'core',\n category: 'logic',\n minArity: 2,\n maxArity: null,\n description: 'Logical OR',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [{ name: '...conds', type: BOOLEAN, description: 'Boolean expressions to OR' }],\n example: '[\"or\", [\"=\", \"@entity.role\", \"admin\"], [\"=\", \"@entity.role\", \"owner\"]]',\n },\n not: {\n module: 'core',\n category: 'logic',\n minArity: 1,\n maxArity: 1,\n description: 'Logical NOT',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [{ name: 'cond', type: BOOLEAN, description: 'Boolean to negate' }],\n example: '[\"not\", \"@entity.disabled\"]',\n },\n if: {\n module: 'core',\n category: 'logic',\n minArity: 3,\n maxArity: 3,\n description: 'Conditional expression (ternary)',\n hasSideEffects: false,\n returnType: 'any',\n params: [\n { name: 'cond', type: BOOLEAN, description: 'Condition to evaluate' },\n { name: 'then', type: ANY, description: 'Value or effect if true' },\n { name: 'else', type: ANY, description: 'Value or effect if false' },\n ],\n example: '[\"if\", [\">\", \"@entity.health\", 0], \"alive\", \"dead\"]',\n },\n\n // --- control ----------------------------------------------------------------\n\n let: {\n module: 'core',\n category: 'control',\n minArity: 2,\n maxArity: 2,\n description: 'Bind local variables for a body expression',\n hasSideEffects: false,\n returnType: 'any',\n params: [\n {\n name: 'bindings',\n type: { kind: 'array', of: { kind: 'array', of: ANY } },\n description: 'Array of [name, value] pairs',\n },\n { name: 'body', type: SEXPR, description: 'Expression or effect list using the bindings' },\n ],\n example: '[\"let\", [[\"x\", 10]], [\"+\", \"x\", 1]]',\n },\n do: {\n module: 'core',\n category: 'control',\n minArity: 1,\n maxArity: null,\n description: 'Sequential execution of multiple effects/expressions',\n hasSideEffects: false,\n returnType: 'any',\n params: [{ name: '...exprs', type: SEXPR, description: 'Effects/expressions to run in order' }],\n example: '[\"do\", [\"set\", \"@entity.x\", 0], [\"set\", \"@entity.y\", 0]]',\n },\n when: {\n module: 'core',\n category: 'control',\n minArity: 2,\n maxArity: 2,\n description: 'Conditional effect without an else branch',\n hasSideEffects: false,\n returnType: 'void',\n params: [\n { name: 'cond', type: BOOLEAN, description: 'Guard expression' },\n { name: 'effect', type: SEXPR, description: 'Effect to run if cond is true' },\n ],\n example: '[\"when\", [\">\", \"@entity.health\", 0], [\"emit\", \"ALIVE\"]]',\n },\n fn: {\n module: 'core',\n category: 'control',\n minArity: 2,\n maxArity: 2,\n description: 'Lambda expression (used for per-item renders and transforms)',\n hasSideEffects: false,\n returnType: 'function',\n acceptsLambda: true,\n lambdaArgPosition: 1,\n params: [\n { name: 'paramName', type: STRING, description: 'Name of the parameter binding' },\n { name: 'body', type: SEXPR, description: 'Expression evaluated per invocation' },\n ],\n example: '[\"fn\", \"item\", { \"type\": \"typography\", \"content\": \"@item.title\" }]',\n },\n\n // --- effect -----------------------------------------------------------------\n\n set: {\n module: 'core',\n category: 'effect',\n minArity: 2,\n maxArity: 2,\n description: 'Set a binding to a value',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'binding', type: BINDING, description: 'Target binding (e.g. \"@entity.field\")' },\n { name: 'value', type: ANY, description: 'Value to assign (literal or expression)' },\n ],\n example: '[\"set\", \"@entity.health\", 100]',\n effect: {\n kind: 'set',\n // success emit carries the written value; the evaluator coerces to the\n // binding's declared type, so 'any' is the general shape. A future pass\n // can narrow per-binding via resolveBinding.\n produces: ANY,\n config: { operation: SET_OPERATION },\n },\n },\n emit: {\n module: 'core',\n category: 'effect',\n minArity: 1,\n maxArity: 2,\n description: 'Emit an event onto the bus',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'event', type: EVENT_KEY, description: 'Event key' },\n { name: 'payload', type: ENTITY_REF, description: 'Optional payload', optional: true },\n ],\n example: '[\"emit\", \"PLAYER_DIED\", { \"playerId\": \"@entity.id\" }]',\n effect: {\n kind: 'emit',\n produces: {\n kind: 'object',\n fields: { event: EVENT_KEY, payload: ANY },\n open: true,\n },\n },\n },\n persist: {\n module: 'core',\n category: 'effect',\n minArity: 2,\n maxArity: 4,\n description: 'Create, update, delete, clear, or batch entity records. Optional trailing { emit: { success, failure } } options object attaches closed-circuit emit routing.',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'action', type: PERSIST_ACTION, description: 'Persist action' },\n { name: 'entity', type: { kind: 'entity' }, description: 'Target entity name' },\n { name: 'data', type: ENTITY_REF, description: 'Payload (create/update) or entity id (delete)', optional: true },\n {\n name: 'options',\n type: {\n kind: 'object',\n fields: {\n emit: { kind: 'object', fields: {}, open: true },\n },\n open: true,\n },\n description: 'Optional trailing options object carrying { emit: { success, failure } } closed-circuit routing',\n optional: true,\n },\n ],\n example: '[\"persist\", \"create\", \"Task\", { \"title\": \"@payload.title\" }, { \"emit\": { \"success\": \"TASK_CREATED\" } }]',\n effect: {\n kind: 'persist',\n // Action-discriminated union. The compiler narrows at the call site\n // based on the action arg literal to pick the right branch when\n // checking the emit.success event's declared payload.\n // create/update -> the resulting entity record\n // delete/clear -> { id, deleted }\n // batch -> summary of operations\n produces: {\n kind: 'union',\n of: [\n { kind: 'entity' },\n {\n kind: 'object',\n fields: { id: STRING, deleted: BOOLEAN },\n open: false,\n },\n {\n kind: 'object',\n fields: {\n operations: { kind: 'array', of: ANY },\n completedCount: NUMBER,\n totalCount: NUMBER,\n },\n open: false,\n },\n ],\n },\n },\n },\n navigate: {\n module: 'core',\n category: 'effect',\n minArity: 1,\n maxArity: 2,\n description: 'Navigate to a route',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'path', type: STRING, description: 'Route path (supports :param placeholders)' },\n {\n name: 'params',\n type: { kind: 'object', fields: {}, open: true },\n description: 'Optional route params',\n optional: true,\n },\n ],\n example: '[\"navigate\", \"/tasks/:id\", { \"id\": \"@entity.id\" }]',\n effect: { kind: 'navigate' },\n },\n notify: {\n module: 'core',\n category: 'effect',\n minArity: 1,\n maxArity: 2,\n description: 'Show a notification (in-app, email, push, sms)',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'channel', type: NOTIFY_CHANNEL, description: 'Delivery channel' },\n { name: 'message', type: STRING, description: 'Message body', optional: true },\n ],\n example: '[\"notify\", \"in_app\", \"Task created successfully\"]',\n effect: { kind: 'notify' },\n },\n spawn: {\n module: 'core',\n category: 'effect',\n minArity: 1,\n maxArity: 2,\n description: 'Spawn a new entity instance (games)',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'entity', type: { kind: 'entity' }, description: 'Entity name to spawn' },\n {\n name: 'initialState',\n type: { kind: 'object', fields: {}, open: true },\n description: 'Initial field values',\n optional: true,\n },\n ],\n example: '[\"spawn\", \"Bullet\", { \"x\": \"@entity.x\", \"y\": \"@entity.y\" }]',\n effect: { kind: 'spawn' },\n },\n despawn: {\n module: 'core',\n category: 'effect',\n minArity: 0,\n maxArity: 1,\n description: 'Despawn an entity instance (games)',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'entityId', type: STRING, description: 'Target entity id (defaults to @entity.id)', optional: true },\n ],\n example: '[\"despawn\", \"@entity.id\"]',\n effect: { kind: 'despawn' },\n },\n fetch: {\n module: 'core',\n category: 'effect',\n minArity: 1,\n maxArity: 2,\n description: 'Fetch an entity (by id) or a collection (by filter) from persistence',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'entity', type: { kind: 'entity' }, description: 'Target entity name' },\n {\n name: 'options',\n type: {\n kind: 'object',\n fields: {\n id: STRING,\n filter: ANY,\n limit: NUMBER,\n offset: NUMBER,\n include: { kind: 'array', of: STRING },\n emit: { kind: 'object', fields: {}, open: true },\n },\n open: true,\n },\n description: 'Fetch options: id | filter | limit | offset | include | emit',\n optional: true,\n },\n ],\n example: '[\"fetch\", \"Task\", { \"id\": \"@payload.taskId\", \"emit\": { \"success\": \"TASK_LOADED\" } }]',\n effect: {\n kind: 'fetch',\n // Call-site-discriminated union: options.id present -> single entity;\n // otherwise -> array of entity. The compiler narrows at the call site\n // when checking emit.success against the declared event payload.\n produces: {\n kind: 'union',\n of: [\n { kind: 'entity' },\n { kind: 'array', of: { kind: 'entity' } },\n ],\n },\n },\n },\n ref: {\n module: 'core',\n category: 'effect',\n minArity: 1,\n maxArity: 2,\n description: 'Reactive entity reference (deprecated, use fetch with listens in V2)',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'entity', type: { kind: 'entity' }, description: 'Target entity name' },\n {\n name: 'options',\n type: {\n kind: 'object',\n fields: {\n id: STRING,\n filter: ANY,\n include: { kind: 'array', of: STRING },\n emit: { kind: 'object', fields: {}, open: true },\n },\n open: true,\n },\n description: 'Ref options: id | filter | include | emit',\n optional: true,\n },\n ],\n example: '[\"ref\", \"Task\"]',\n effect: {\n kind: 'ref',\n // Same call-site shape as fetch. Kept for the V2 transition period;\n // scheduled for deprecation in a later phase (see Almadar_Entity_V2_Plan.md).\n produces: {\n kind: 'union',\n of: [\n { kind: 'entity' },\n { kind: 'array', of: { kind: 'entity' } },\n ],\n },\n },\n },\n 'call-service': {\n module: 'core',\n category: 'effect',\n minArity: 2,\n maxArity: 3,\n description: 'Invoke an external service action',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'service', type: STRING, description: 'Service name (e.g. \"llm\", \"stripe\")' },\n { name: 'action', type: STRING, description: 'Service action (e.g. \"generate\", \"charge\")' },\n {\n name: 'params',\n type: { kind: 'object', fields: {}, open: true },\n description: 'Service-specific params',\n optional: true,\n },\n ],\n example: '[\"call-service\", \"llm\", \"generate\", { \"userPrompt\": \"@entity.inputText\" }]',\n effect: {\n kind: 'call-service',\n // TODO(entity-v2): narrow to the declared service return type once\n // per-service return shapes live on the orbital services block.\n // Today the emit.success payload is whatever the service adapter returns.\n produces: ANY,\n },\n },\n 'render-ui': {\n module: 'core',\n category: 'effect',\n minArity: 2,\n maxArity: 3,\n description: 'Render a pattern into a UI slot',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'slot', type: UI_SLOT, description: 'Target UI slot (main, sidebar, modal, hud, ...)' },\n {\n name: 'pattern',\n type: {\n kind: 'union',\n of: [\n { kind: 'object', fields: { patternType: PATTERN_TYPE }, open: true },\n { kind: 'literal', value: null as unknown as string },\n ],\n },\n description: 'Pattern config (or null to clear the slot)',\n },\n {\n name: 'props',\n type: { kind: 'object', fields: {}, open: true },\n description: 'Extra props forwarded to the pattern',\n optional: true,\n },\n ],\n example: '[\"render-ui\", \"main\", { \"patternType\": \"entity-table\", \"columns\": [\"name\"] }]',\n effect: { kind: 'render-ui' },\n },\n};\n\n/**\n * Get all core operator names.\n */\nexport function getCoreOperators(): string[] {\n return Object.keys(CORE_OPERATORS);\n}\n"]}
@@ -347,16 +347,28 @@ var CORE_OPERATORS = {
347
347
  module: "core",
348
348
  category: "effect",
349
349
  minArity: 2,
350
- maxArity: 3,
351
- description: "Create, update, delete, clear, or batch entity records",
350
+ maxArity: 4,
351
+ description: "Create, update, delete, clear, or batch entity records. Optional trailing { emit: { success, failure } } options object attaches closed-circuit emit routing.",
352
352
  hasSideEffects: true,
353
353
  returnType: "void",
354
354
  params: [
355
355
  { name: "action", type: PERSIST_ACTION, description: "Persist action" },
356
356
  { name: "entity", type: { kind: "entity" }, description: "Target entity name" },
357
- { name: "data", type: ENTITY_REF, description: "Payload (create/update) or entity id (delete)", optional: true }
357
+ { name: "data", type: ENTITY_REF, description: "Payload (create/update) or entity id (delete)", optional: true },
358
+ {
359
+ name: "options",
360
+ type: {
361
+ kind: "object",
362
+ fields: {
363
+ emit: { kind: "object", fields: {}, open: true }
364
+ },
365
+ open: true
366
+ },
367
+ description: "Optional trailing options object carrying { emit: { success, failure } } closed-circuit routing",
368
+ optional: true
369
+ }
358
370
  ],
359
- example: '["persist", "create", "Task", { "title": "@payload.title" }]',
371
+ example: '["persist", "create", "Task", { "title": "@payload.title" }, { "emit": { "success": "TASK_CREATED" } }]',
360
372
  effect: {
361
373
  kind: "persist",
362
374
  // Action-discriminated union. The compiler narrows at the call site