@almadar/std 16.234.0 → 16.236.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/behaviors-registry.json +4402 -1898
  2. package/behaviors/lolo/infra/atoms/std-approval-gate.lolo +25 -41
  3. package/behaviors/lolo/infra/atoms/std-audit-capture.lolo +0 -5
  4. package/behaviors/lolo/infra/atoms/std-cache-aside.lolo +0 -24
  5. package/behaviors/lolo/infra/atoms/std-circuit-breaker.lolo +1 -17
  6. package/behaviors/lolo/infra/atoms/std-data-erasure.lolo +17 -24
  7. package/behaviors/lolo/infra/atoms/std-data-import.lolo +8 -11
  8. package/behaviors/lolo/infra/atoms/std-game-clock.lolo +2 -0
  9. package/behaviors/lolo/infra/atoms/std-knowledge-loop.lolo +0 -5
  10. package/behaviors/lolo/infra/atoms/std-lifecycle.lolo +3 -1
  11. package/behaviors/lolo/infra/atoms/std-mod-queue.lolo +40 -18
  12. package/behaviors/lolo/infra/atoms/std-notification-preferences.lolo +20 -11
  13. package/behaviors/lolo/infra/atoms/std-notify-on-event.lolo +0 -5
  14. package/behaviors/lolo/infra/atoms/std-permission-matrix.lolo +23 -11
  15. package/behaviors/lolo/infra/atoms/std-rate-limiter.lolo +84 -22
  16. package/behaviors/lolo/infra/atoms/std-status-lifecycle.lolo +1 -6
  17. package/behaviors/lolo/ml/atoms/std-graph-builder.lolo +3 -1
  18. package/behaviors/lolo/ml/atoms/std-ml-classify.lolo +0 -4
  19. package/behaviors/lolo/ml/atoms/std-ml-similarity.lolo +0 -4
  20. package/behaviors/lolo/ui/avl/atoms/ui-avl-state-machine.lolo +12 -0
  21. package/behaviors/lolo/ui/core/atoms/std-app-layout.lolo +55 -9
  22. package/behaviors/lolo/ui/core/atoms/std-app-search.lolo +6 -2
  23. package/behaviors/lolo/ui/core/atoms/std-billable-hour.lolo +19 -14
  24. package/behaviors/lolo/ui/core/atoms/std-board.lolo +77 -27
  25. package/behaviors/lolo/ui/core/atoms/std-browse.lolo +44 -28
  26. package/behaviors/lolo/ui/core/atoms/std-calendar.lolo +7 -3
  27. package/behaviors/lolo/ui/core/atoms/std-esign-flow.lolo +25 -13
  28. package/behaviors/lolo/ui/core/atoms/std-esign-request.lolo +5 -0
  29. package/behaviors/lolo/ui/core/atoms/std-event-log.lolo +0 -5
  30. package/behaviors/lolo/ui/core/atoms/std-export.lolo +0 -10
  31. package/behaviors/lolo/ui/core/atoms/std-file-store.lolo +7 -3
  32. package/behaviors/lolo/ui/core/atoms/std-form-advanced.lolo +1 -6
  33. package/behaviors/lolo/ui/core/atoms/std-geosearch.lolo +1 -0
  34. package/behaviors/lolo/ui/core/atoms/std-graphs.lolo +20 -4
  35. package/behaviors/lolo/ui/core/atoms/std-import.lolo +0 -5
  36. package/behaviors/lolo/ui/core/atoms/std-list.lolo +46 -32
  37. package/behaviors/lolo/ui/core/atoms/std-modal-editor.lolo +2 -2
  38. package/behaviors/lolo/ui/core/atoms/std-rating-review.lolo +12 -13
  39. package/behaviors/lolo/ui/core/atoms/std-record-detail.lolo +16 -12
  40. package/behaviors/lolo/ui/core/atoms/std-recurrence.lolo +10 -1
  41. package/behaviors/lolo/ui/core/atoms/std-role-gate.lolo +39 -0
  42. package/behaviors/lolo/ui/core/atoms/std-saved-search.lolo +78 -16
  43. package/behaviors/lolo/ui/core/atoms/std-selection.lolo +15 -10
  44. package/behaviors/lolo/ui/core/atoms/std-stats.lolo +5 -5
  45. package/behaviors/lolo/ui/core/atoms/std-tag-taxonomy.lolo +3 -0
  46. package/behaviors/lolo/ui/core/atoms/std-thread.lolo +41 -73
  47. package/behaviors/lolo/ui/core/atoms/std-version-history.lolo +20 -11
  48. package/behaviors/lolo/ui/core/atoms/std-vote.lolo +0 -4
  49. package/behaviors/lolo/ui/core/atoms/std-wizard.lolo +3 -3
  50. package/behaviors/lolo/ui/core/atoms/ui-presence.lolo +21 -0
  51. package/behaviors/lolo/ui/core/molecules/ui-breadcrumb.lolo +6 -1
  52. package/behaviors/lolo/ui/core/molecules/ui-chart.lolo +11 -1
  53. package/behaviors/lolo/ui/core/molecules/ui-code-block.lolo +13 -8
  54. package/behaviors/lolo/ui/core/molecules/ui-command-palette.lolo +7 -2
  55. package/behaviors/lolo/ui/core/molecules/ui-commit-row.lolo +2 -2
  56. package/behaviors/lolo/ui/core/molecules/ui-confirm-dialog.lolo +8 -0
  57. package/behaviors/lolo/ui/core/molecules/ui-data-grid.lolo +41 -3
  58. package/behaviors/lolo/ui/core/molecules/ui-data-list.lolo +41 -3
  59. package/behaviors/lolo/ui/core/molecules/ui-document-details.lolo +30 -9
  60. package/behaviors/lolo/ui/core/molecules/ui-document-panel.lolo +8 -3
  61. package/behaviors/lolo/ui/core/molecules/ui-document-viewer.lolo +6 -1
  62. package/behaviors/lolo/ui/core/molecules/ui-drawer.lolo +13 -0
  63. package/behaviors/lolo/ui/core/molecules/ui-floating-action-button.lolo +6 -1
  64. package/behaviors/lolo/ui/core/molecules/ui-floating-toolbar.lolo +6 -1
  65. package/behaviors/lolo/ui/core/molecules/ui-form-actions.lolo +6 -1
  66. package/behaviors/lolo/ui/core/molecules/ui-graph-canvas.lolo +6 -1
  67. package/behaviors/lolo/ui/core/molecules/ui-menu.lolo +6 -1
  68. package/behaviors/lolo/ui/core/molecules/ui-meter.lolo +6 -1
  69. package/behaviors/lolo/ui/core/molecules/ui-modal.lolo +5 -0
  70. package/behaviors/lolo/ui/core/molecules/ui-page-header.lolo +11 -1
  71. package/behaviors/lolo/ui/core/molecules/ui-page-transition.lolo +1 -1
  72. package/behaviors/lolo/ui/core/molecules/ui-swipeable-row.lolo +44 -15
  73. package/behaviors/lolo/ui/core/molecules/ui-table-view.lolo +41 -3
  74. package/behaviors/lolo/ui/core/molecules/ui-tabs.lolo +8 -2
  75. package/behaviors/lolo/ui/core/organisms/ui-detail-panel.lolo +66 -12
  76. package/behaviors/lolo/ui/core/organisms/ui-entity-cards.lolo +9 -3
  77. package/behaviors/lolo/ui/core/organisms/ui-entity-list.lolo +9 -3
  78. package/behaviors/lolo/ui/core/organisms/ui-entity-table.lolo +18 -9
  79. package/behaviors/lolo/ui/core/organisms/ui-form-section.lolo +55 -10
  80. package/behaviors/lolo/ui/core/organisms/ui-form.lolo +55 -10
  81. package/behaviors/lolo/ui/core/organisms/ui-media-gallery.lolo +8 -3
  82. package/behaviors/lolo/ui/core/organisms/ui-state-machine-view.lolo +12 -0
  83. package/behaviors/lolo/ui/core/organisms/ui-timeline.lolo +8 -3
  84. package/behaviors/lolo/ui/core/templates/ui-counter-template.lolo +2 -44
  85. package/behaviors/lolo/ui/core/templates/ui-dashboard-layout.lolo +6 -1
  86. package/behaviors/lolo/ui/core/templates/ui-generic-app-template.lolo +2 -37
  87. package/behaviors/lolo/ui/game/atoms/ui-game-menu.lolo +8 -2
  88. package/behaviors/lolo/ui/game/organisms/std-arcade-board-3d.lolo +2 -2
  89. package/behaviors/lolo/ui/game/organisms/std-crew-board-2d.lolo +0 -4
  90. package/behaviors/lolo/ui/game/organisms/std-platformer-puzzle.lolo +2 -66
  91. package/behaviors/lolo/ui/game/organisms/std-tactics-board-2d.lolo +0 -4
  92. package/behaviors/lolo/ui/game/organisms/std-worldmap-board-2d.lolo +0 -4
  93. package/behaviors/lolo/ui/learning/atoms/std-learn-stepper.lolo +6 -6
  94. package/behaviors/lolo-behavior-contracts.json +1 -1
  95. package/behaviors/registry/factory-signatures.json +1 -1
  96. package/behaviors/registry/infra/atoms/std-approval-gate.orb +124 -67
  97. package/behaviors/registry/infra/atoms/std-audit-capture.orb +0 -8
  98. package/behaviors/registry/infra/atoms/std-cache-aside.orb +0 -84
  99. package/behaviors/registry/infra/atoms/std-circuit-breaker.orb +1 -44
  100. package/behaviors/registry/infra/atoms/std-data-erasure.orb +124 -55
  101. package/behaviors/registry/infra/atoms/std-data-import.orb +12 -11
  102. package/behaviors/registry/infra/atoms/std-game-clock.orb +31 -0
  103. package/behaviors/registry/infra/atoms/std-knowledge-loop.orb +0 -57
  104. package/behaviors/registry/infra/atoms/std-lifecycle.orb +43 -0
  105. package/behaviors/registry/infra/atoms/std-mod-queue.orb +379 -103
  106. package/behaviors/registry/infra/atoms/std-notification-preferences.orb +126 -12
  107. package/behaviors/registry/infra/atoms/std-notify-on-event.orb +0 -11
  108. package/behaviors/registry/infra/atoms/std-permission-matrix.orb +128 -12
  109. package/behaviors/registry/infra/atoms/std-rate-limiter.orb +287 -72
  110. package/behaviors/registry/infra/atoms/std-status-lifecycle.orb +5 -8
  111. package/behaviors/registry/ml/atoms/std-graph-builder.orb +11 -0
  112. package/behaviors/registry/ml/atoms/std-ml-classify.orb +0 -7
  113. package/behaviors/registry/ml/atoms/std-ml-similarity.orb +0 -7
  114. package/behaviors/registry/ui/avl/atoms/ui-avl-state-machine.orb +82 -0
  115. package/behaviors/registry/ui/core/atoms/std-app-layout.orb +417 -9
  116. package/behaviors/registry/ui/core/atoms/std-app-search.orb +53 -1
  117. package/behaviors/registry/ui/core/atoms/std-billable-hour.orb +209 -19
  118. package/behaviors/registry/ui/core/atoms/std-board.orb +242 -61
  119. package/behaviors/registry/ui/core/atoms/std-browse.orb +295 -41
  120. package/behaviors/registry/ui/core/atoms/std-calendar.orb +96 -2
  121. package/behaviors/registry/ui/core/atoms/std-esign-flow.orb +122 -15
  122. package/behaviors/registry/ui/core/atoms/std-esign-request.orb +11 -0
  123. package/behaviors/registry/ui/core/atoms/std-event-log.orb +0 -8
  124. package/behaviors/registry/ui/core/atoms/std-export.orb +0 -16
  125. package/behaviors/registry/ui/core/atoms/std-file-store.orb +109 -2
  126. package/behaviors/registry/ui/core/atoms/std-form-advanced.orb +1 -43
  127. package/behaviors/registry/ui/core/atoms/std-geosearch.orb +5 -0
  128. package/behaviors/registry/ui/core/atoms/std-graphs.orb +173 -66
  129. package/behaviors/registry/ui/core/atoms/std-import.orb +0 -8
  130. package/behaviors/registry/ui/core/atoms/std-list.orb +226 -34
  131. package/behaviors/registry/ui/core/atoms/std-modal-editor.orb +10 -1
  132. package/behaviors/registry/ui/core/atoms/std-rating-review.orb +37 -19
  133. package/behaviors/registry/ui/core/atoms/std-record-detail.orb +204 -11
  134. package/behaviors/registry/ui/core/atoms/std-recurrence.orb +89 -4
  135. package/behaviors/registry/ui/core/atoms/std-role-gate.orb +217 -0
  136. package/behaviors/registry/ui/core/atoms/std-saved-search.orb +419 -19
  137. package/behaviors/registry/ui/core/atoms/std-selection.orb +140 -10
  138. package/behaviors/registry/ui/core/atoms/std-stats.orb +73 -1
  139. package/behaviors/registry/ui/core/atoms/std-tag-taxonomy.orb +3 -0
  140. package/behaviors/registry/ui/core/atoms/std-thread.orb +190 -115
  141. package/behaviors/registry/ui/core/atoms/std-version-history.orb +127 -13
  142. package/behaviors/registry/ui/core/atoms/std-vote.orb +0 -9
  143. package/behaviors/registry/ui/core/atoms/std-wizard.orb +33 -3
  144. package/behaviors/registry/ui/core/atoms/ui-presence.orb +59 -0
  145. package/behaviors/registry/ui/core/molecules/ui-breadcrumb.orb +53 -1
  146. package/behaviors/registry/ui/core/molecules/ui-chart.orb +68 -1
  147. package/behaviors/registry/ui/core/molecules/ui-code-block.orb +291 -8
  148. package/behaviors/registry/ui/core/molecules/ui-command-palette.orb +87 -2
  149. package/behaviors/registry/ui/core/molecules/ui-commit-row.orb +3 -2
  150. package/behaviors/registry/ui/core/molecules/ui-confirm-dialog.orb +32 -0
  151. package/behaviors/registry/ui/core/molecules/ui-data-grid.orb +189 -3
  152. package/behaviors/registry/ui/core/molecules/ui-data-list.orb +189 -3
  153. package/behaviors/registry/ui/core/molecules/ui-document-details.orb +81 -24
  154. package/behaviors/registry/ui/core/molecules/ui-document-panel.orb +121 -3
  155. package/behaviors/registry/ui/core/molecules/ui-document-viewer.orb +53 -1
  156. package/behaviors/registry/ui/core/molecules/ui-drawer.orb +40 -0
  157. package/behaviors/registry/ui/core/molecules/ui-floating-action-button.orb +53 -1
  158. package/behaviors/registry/ui/core/molecules/ui-floating-toolbar.orb +53 -1
  159. package/behaviors/registry/ui/core/molecules/ui-form-actions.orb +53 -1
  160. package/behaviors/registry/ui/core/molecules/ui-graph-canvas.orb +53 -1
  161. package/behaviors/registry/ui/core/molecules/ui-menu.orb +57 -1
  162. package/behaviors/registry/ui/core/molecules/ui-meter.orb +53 -1
  163. package/behaviors/registry/ui/core/molecules/ui-modal.orb +8 -0
  164. package/behaviors/registry/ui/core/molecules/ui-page-header.orb +60 -1
  165. package/behaviors/registry/ui/core/molecules/ui-page-transition.orb +1 -1
  166. package/behaviors/registry/ui/core/molecules/ui-swipeable-row.orb +393 -23
  167. package/behaviors/registry/ui/core/molecules/ui-table-view.orb +189 -3
  168. package/behaviors/registry/ui/core/molecules/ui-tabs.orb +99 -2
  169. package/behaviors/registry/ui/core/organisms/ui-detail-panel.orb +282 -20
  170. package/behaviors/registry/ui/core/organisms/ui-entity-cards.orb +130 -3
  171. package/behaviors/registry/ui/core/organisms/ui-entity-list.orb +130 -3
  172. package/behaviors/registry/ui/core/organisms/ui-entity-table.orb +367 -9
  173. package/behaviors/registry/ui/core/organisms/ui-form-section.orb +104 -13
  174. package/behaviors/registry/ui/core/organisms/ui-form.orb +104 -13
  175. package/behaviors/registry/ui/core/organisms/ui-media-gallery.orb +121 -3
  176. package/behaviors/registry/ui/core/organisms/ui-state-machine-view.orb +82 -0
  177. package/behaviors/registry/ui/core/organisms/ui-timeline.orb +121 -3
  178. package/behaviors/registry/ui/core/templates/ui-counter-template.orb +1 -172
  179. package/behaviors/registry/ui/core/templates/ui-dashboard-layout.orb +53 -1
  180. package/behaviors/registry/ui/core/templates/ui-generic-app-template.orb +1 -116
  181. package/behaviors/registry/ui/game/atoms/ui-game-menu.orb +99 -2
  182. package/behaviors/registry/ui/game/organisms/std-arcade-board-3d.orb +10 -0
  183. package/behaviors/registry/ui/game/organisms/std-crew-board-2d.orb +0 -7
  184. package/behaviors/registry/ui/game/organisms/std-platformer-puzzle.orb +1 -807
  185. package/behaviors/registry/ui/game/organisms/std-tactics-board-2d.orb +0 -7
  186. package/behaviors/registry/ui/game/organisms/std-worldmap-board-2d.orb +0 -7
  187. package/behaviors/registry/ui/learning/atoms/std-learn-stepper.orb +6 -0
  188. package/canonical-operators.json +18 -1
  189. package/dist/behaviors/exports-reader.js +7662 -3762
  190. package/dist/behaviors/functions/index.d.ts +309 -104
  191. package/dist/behaviors/functions/index.js +7651 -3762
  192. package/dist/behaviors/index.d.ts +1 -1
  193. package/dist/behaviors/index.js +7663 -3763
  194. package/dist/behaviors/query.js +7662 -3762
  195. package/dist/behaviors-embeddings.hash.json +3 -3
  196. package/dist/behaviors-embeddings.json +35 -27
  197. package/dist/behaviors-registry.json +4402 -1898
  198. package/dist/index.d.ts +3 -3
  199. package/dist/index.js +7697 -3763
  200. package/dist/knob-embeddings.hash.json +3 -3
  201. package/dist/knob-embeddings.json +612 -352
  202. package/dist/modules/anim.d.ts +1 -1
  203. package/dist/modules/array.d.ts +1 -1
  204. package/dist/modules/array.js +15 -0
  205. package/dist/modules/async.d.ts +1 -1
  206. package/dist/modules/async.js +9 -0
  207. package/dist/modules/behavior.d.ts +1 -1
  208. package/dist/modules/browser.d.ts +1 -1
  209. package/dist/modules/composition.d.ts +1 -1
  210. package/dist/modules/contract.d.ts +1 -1
  211. package/dist/modules/core.d.ts +1 -1
  212. package/dist/modules/core.js +10 -0
  213. package/dist/modules/data.d.ts +1 -1
  214. package/dist/modules/ease.d.ts +1 -1
  215. package/dist/modules/format.d.ts +1 -1
  216. package/dist/modules/geo.d.ts +1 -1
  217. package/dist/modules/graph.d.ts +1 -1
  218. package/dist/modules/grid.d.ts +1 -1
  219. package/dist/modules/index.d.ts +1 -1
  220. package/dist/modules/index.js +34 -0
  221. package/dist/modules/integration.d.ts +1 -1
  222. package/dist/modules/json.d.ts +1 -1
  223. package/dist/modules/llm.d.ts +1 -1
  224. package/dist/modules/math.d.ts +1 -1
  225. package/dist/modules/memory.d.ts +1 -1
  226. package/dist/modules/nn.d.ts +1 -1
  227. package/dist/modules/noise.d.ts +1 -1
  228. package/dist/modules/object.d.ts +1 -1
  229. package/dist/modules/os.d.ts +1 -1
  230. package/dist/modules/path.d.ts +1 -1
  231. package/dist/modules/prob.d.ts +1 -1
  232. package/dist/modules/session.d.ts +1 -1
  233. package/dist/modules/str.d.ts +1 -1
  234. package/dist/modules/tensor.d.ts +1 -1
  235. package/dist/modules/time.d.ts +1 -1
  236. package/dist/modules/trace.d.ts +1 -1
  237. package/dist/modules/train.d.ts +1 -1
  238. package/dist/modules/validate.d.ts +1 -1
  239. package/dist/modules/vector.d.ts +1 -1
  240. package/dist/modules/workspace.d.ts +1 -1
  241. package/dist/registry/factory-signatures.json +1 -1
  242. package/dist/registry.d.ts +5 -2
  243. package/dist/registry.js +55 -1
  244. package/dist/{types-DwAW4Nni.d.ts → types-DLx38UFZ.d.ts} +31 -4
  245. package/package.json +2 -2
@@ -1139,8 +1139,8 @@
1139
1139
  },
1140
1140
  "selfFetch": {
1141
1141
  "default": true,
1142
- "description": "true (default) = standalone mount self-populates on INIT. false = a composing atom owns the fetch and routes its loaded event here — suppresses the wrapper's own un-hydrated fetch so it cannot race the composer's.",
1143
- "label": "Fetch its own rows on mount?",
1142
+ "description": "true (default) = a mount that carries an id loads that one row (never the collection); a create-mode mount skips the load. false = a composing atom owns the load.",
1143
+ "label": "Fetch its own row on mount?",
1144
1144
  "tier": "internal",
1145
1145
  "type": "boolean"
1146
1146
  },
@@ -1341,7 +1341,7 @@
1341
1341
  "tier": "essential"
1342
1342
  },
1343
1343
  {
1344
- "description": "FormSection rows finished loading; payload.data holds the collection.",
1344
+ "description": "FormSection row finished loading; payload.data holds the single row.",
1345
1345
  "event": "FormSectionLoaded",
1346
1346
  "eventId": "evt_01KXG04SM2DVNXX31353QRB30A",
1347
1347
  "payloadSchema": [
@@ -1355,7 +1355,7 @@
1355
1355
  "type": "string"
1356
1356
  }
1357
1357
  ],
1358
- "type": "[object]"
1358
+ "type": "object"
1359
1359
  }
1360
1360
  ],
1361
1361
  "scope": "internal",
@@ -1379,12 +1379,20 @@
1379
1379
  "stateMachine": {
1380
1380
  "events": [
1381
1381
  {
1382
+ "description": "Mount payload; a host that routes to this panel by id (a :id page param) passes it here.",
1382
1383
  "id": "evt_01KXG04SKZFVRPEFWABSGRQCW9",
1383
1384
  "key": "INIT",
1384
- "name": "Initialize"
1385
+ "name": "Initialize",
1386
+ "payloadSchema": [
1387
+ {
1388
+ "name": "id",
1389
+ "type": "string"
1390
+ }
1391
+ ],
1392
+ "tier": "internal"
1385
1393
  },
1386
1394
  {
1387
- "description": "FormSection rows finished loading; payload.data holds the collection.",
1395
+ "description": "FormSection row finished loading; payload.data holds the single row.",
1388
1396
  "id": "evt_01KXG04SM2DVNXX31353QRB30A",
1389
1397
  "key": "FormSectionLoaded",
1390
1398
  "name": "Form section loaded",
@@ -1399,7 +1407,7 @@
1399
1407
  "type": "string"
1400
1408
  }
1401
1409
  ],
1402
- "type": "[object]"
1410
+ "type": "object"
1403
1411
  }
1404
1412
  ],
1405
1413
  "synonyms": "loaded, fetched, retrieved",
@@ -1504,6 +1512,9 @@
1504
1512
  "states": [
1505
1513
  {
1506
1514
  "isInitial": true,
1515
+ "name": "resolving"
1516
+ },
1517
+ {
1507
1518
  "name": "idle"
1508
1519
  }
1509
1520
  ],
@@ -1516,7 +1527,8 @@
1516
1527
  {
1517
1528
  "emit": {
1518
1529
  "success": "FormSectionLoaded"
1519
- }
1530
+ },
1531
+ "id": "@payload.id"
1520
1532
  }
1521
1533
  ],
1522
1534
  [
@@ -1559,8 +1571,25 @@
1559
1571
  ],
1560
1572
  "event": "INIT",
1561
1573
  "eventId": "evt_01KXG04SKZFVRPEFWABSGRQCW9",
1562
- "from": "idle",
1563
- "guard": "@config.selfFetch",
1574
+ "from": "resolving",
1575
+ "guard": [
1576
+ "and",
1577
+ "@config.selfFetch",
1578
+ [
1579
+ "!=",
1580
+ [
1581
+ "str/default",
1582
+ "@payload.id",
1583
+ ""
1584
+ ],
1585
+ ""
1586
+ ],
1587
+ [
1588
+ "!=",
1589
+ "@config.mode",
1590
+ "create"
1591
+ ]
1592
+ ],
1564
1593
  "to": "idle"
1565
1594
  },
1566
1595
  {
@@ -1605,11 +1634,73 @@
1605
1634
  ],
1606
1635
  "event": "INIT",
1607
1636
  "eventId": "evt_01KXG04SKZFVRPEFWABSGRQCW9",
1608
- "from": "idle",
1637
+ "from": "resolving",
1609
1638
  "guard": [
1610
1639
  "not",
1611
- "@config.selfFetch"
1640
+ [
1641
+ "and",
1642
+ "@config.selfFetch",
1643
+ [
1644
+ "!=",
1645
+ [
1646
+ "str/default",
1647
+ "@payload.id",
1648
+ ""
1649
+ ],
1650
+ ""
1651
+ ],
1652
+ [
1653
+ "!=",
1654
+ "@config.mode",
1655
+ "create"
1656
+ ]
1657
+ ]
1658
+ ],
1659
+ "to": "idle"
1660
+ },
1661
+ {
1662
+ "effects": [
1663
+ [
1664
+ "render-ui",
1665
+ "main",
1666
+ {
1667
+ "cancelEvent": "@config.cancelEvent",
1668
+ "cancelLabel": "@config.cancelLabel",
1669
+ "children": "@config.children",
1670
+ "className": "@config.className",
1671
+ "conditionalFields": "@config.conditionalFields",
1672
+ "configPath": "@config.configPath",
1673
+ "entity": "@entity",
1674
+ "error": "@config.error",
1675
+ "evaluationContext": "@config.evaluationContext",
1676
+ "fieldOverrides": "@config.fieldOverrides",
1677
+ "fields": "@config.fields",
1678
+ "gap": "@config.gap",
1679
+ "hiddenCalculations": "@config.hiddenCalculations",
1680
+ "initialData": "@entity",
1681
+ "isLoading": "@config.isLoading",
1682
+ "layout": "@config.layout",
1683
+ "mode": "@config.mode",
1684
+ "onCancel": "@config.onCancel",
1685
+ "onFieldChange": "@config.onFieldChange",
1686
+ "onSubmit": "@config.onSubmit",
1687
+ "relationsData": "@config.relationsData",
1688
+ "relationsLoading": "@config.relationsLoading",
1689
+ "repeatable": "@config.repeatable",
1690
+ "sections": "@config.sections",
1691
+ "showCancel": "@config.showCancel",
1692
+ "showSubmit": "@config.showSubmit",
1693
+ "submitEvent": "@config.submitEvent",
1694
+ "submitLabel": "@config.submitLabel",
1695
+ "title": "@config.title",
1696
+ "type": "form-section",
1697
+ "violationTriggers": "@config.violationTriggers"
1698
+ }
1699
+ ]
1612
1700
  ],
1701
+ "event": "INIT",
1702
+ "eventId": "evt_01KXG04SKZFVRPEFWABSGRQCW9",
1703
+ "from": "idle",
1613
1704
  "to": "idle"
1614
1705
  },
1615
1706
  {
@@ -1624,7 +1715,7 @@
1624
1715
  "className": "@config.className",
1625
1716
  "conditionalFields": "@config.conditionalFields",
1626
1717
  "configPath": "@config.configPath",
1627
- "entity": "@payload.data",
1718
+ "entity": "@entity",
1628
1719
  "error": "@config.error",
1629
1720
  "evaluationContext": "@config.evaluationContext",
1630
1721
  "fieldOverrides": "@config.fieldOverrides",
@@ -1139,8 +1139,8 @@
1139
1139
  },
1140
1140
  "selfFetch": {
1141
1141
  "default": true,
1142
- "description": "true (default) = standalone mount self-populates on INIT. false = a composing atom owns the fetch and routes its loaded event here — suppresses the wrapper's own un-hydrated fetch so it cannot race the composer's.",
1143
- "label": "Fetch its own rows on mount?",
1142
+ "description": "true (default) = a mount that carries an id loads that one row (never the collection); a create-mode mount skips the load. false = a composing atom owns the load.",
1143
+ "label": "Fetch its own row on mount?",
1144
1144
  "tier": "internal",
1145
1145
  "type": "boolean"
1146
1146
  },
@@ -1341,7 +1341,7 @@
1341
1341
  "tier": "essential"
1342
1342
  },
1343
1343
  {
1344
- "description": "Form rows finished loading; payload.data holds the collection.",
1344
+ "description": "Form row finished loading; payload.data holds the single row.",
1345
1345
  "event": "FormLoaded",
1346
1346
  "eventId": "evt_01KXG04SPJ2STJW3Y490CWSZ1M",
1347
1347
  "payloadSchema": [
@@ -1355,7 +1355,7 @@
1355
1355
  "type": "string"
1356
1356
  }
1357
1357
  ],
1358
- "type": "[object]"
1358
+ "type": "object"
1359
1359
  }
1360
1360
  ],
1361
1361
  "scope": "internal",
@@ -1379,12 +1379,20 @@
1379
1379
  "stateMachine": {
1380
1380
  "events": [
1381
1381
  {
1382
+ "description": "Mount payload; a host that routes to this panel by id (a :id page param) passes it here.",
1382
1383
  "id": "evt_01KXG04SPFFQ0K590SFJPYS7MM",
1383
1384
  "key": "INIT",
1384
- "name": "Initialize"
1385
+ "name": "Initialize",
1386
+ "payloadSchema": [
1387
+ {
1388
+ "name": "id",
1389
+ "type": "string"
1390
+ }
1391
+ ],
1392
+ "tier": "internal"
1385
1393
  },
1386
1394
  {
1387
- "description": "Form rows finished loading; payload.data holds the collection.",
1395
+ "description": "Form row finished loading; payload.data holds the single row.",
1388
1396
  "id": "evt_01KXG04SPJ2STJW3Y490CWSZ1M",
1389
1397
  "key": "FormLoaded",
1390
1398
  "name": "Form loaded",
@@ -1399,7 +1407,7 @@
1399
1407
  "type": "string"
1400
1408
  }
1401
1409
  ],
1402
- "type": "[object]"
1410
+ "type": "object"
1403
1411
  }
1404
1412
  ],
1405
1413
  "synonyms": "loaded, fetched, retrieved",
@@ -1504,6 +1512,9 @@
1504
1512
  "states": [
1505
1513
  {
1506
1514
  "isInitial": true,
1515
+ "name": "resolving"
1516
+ },
1517
+ {
1507
1518
  "name": "idle"
1508
1519
  }
1509
1520
  ],
@@ -1516,7 +1527,8 @@
1516
1527
  {
1517
1528
  "emit": {
1518
1529
  "success": "FormLoaded"
1519
- }
1530
+ },
1531
+ "id": "@payload.id"
1520
1532
  }
1521
1533
  ],
1522
1534
  [
@@ -1559,8 +1571,25 @@
1559
1571
  ],
1560
1572
  "event": "INIT",
1561
1573
  "eventId": "evt_01KXG04SPFFQ0K590SFJPYS7MM",
1562
- "from": "idle",
1563
- "guard": "@config.selfFetch",
1574
+ "from": "resolving",
1575
+ "guard": [
1576
+ "and",
1577
+ "@config.selfFetch",
1578
+ [
1579
+ "!=",
1580
+ [
1581
+ "str/default",
1582
+ "@payload.id",
1583
+ ""
1584
+ ],
1585
+ ""
1586
+ ],
1587
+ [
1588
+ "!=",
1589
+ "@config.mode",
1590
+ "create"
1591
+ ]
1592
+ ],
1564
1593
  "to": "idle"
1565
1594
  },
1566
1595
  {
@@ -1605,11 +1634,73 @@
1605
1634
  ],
1606
1635
  "event": "INIT",
1607
1636
  "eventId": "evt_01KXG04SPFFQ0K590SFJPYS7MM",
1608
- "from": "idle",
1637
+ "from": "resolving",
1609
1638
  "guard": [
1610
1639
  "not",
1611
- "@config.selfFetch"
1640
+ [
1641
+ "and",
1642
+ "@config.selfFetch",
1643
+ [
1644
+ "!=",
1645
+ [
1646
+ "str/default",
1647
+ "@payload.id",
1648
+ ""
1649
+ ],
1650
+ ""
1651
+ ],
1652
+ [
1653
+ "!=",
1654
+ "@config.mode",
1655
+ "create"
1656
+ ]
1657
+ ]
1658
+ ],
1659
+ "to": "idle"
1660
+ },
1661
+ {
1662
+ "effects": [
1663
+ [
1664
+ "render-ui",
1665
+ "main",
1666
+ {
1667
+ "cancelEvent": "@config.cancelEvent",
1668
+ "cancelLabel": "@config.cancelLabel",
1669
+ "children": "@config.children",
1670
+ "className": "@config.className",
1671
+ "conditionalFields": "@config.conditionalFields",
1672
+ "configPath": "@config.configPath",
1673
+ "entity": "@entity",
1674
+ "error": "@config.error",
1675
+ "evaluationContext": "@config.evaluationContext",
1676
+ "fieldOverrides": "@config.fieldOverrides",
1677
+ "fields": "@config.fields",
1678
+ "gap": "@config.gap",
1679
+ "hiddenCalculations": "@config.hiddenCalculations",
1680
+ "initialData": "@entity",
1681
+ "isLoading": "@config.isLoading",
1682
+ "layout": "@config.layout",
1683
+ "mode": "@config.mode",
1684
+ "onCancel": "@config.onCancel",
1685
+ "onFieldChange": "@config.onFieldChange",
1686
+ "onSubmit": "@config.onSubmit",
1687
+ "relationsData": "@config.relationsData",
1688
+ "relationsLoading": "@config.relationsLoading",
1689
+ "repeatable": "@config.repeatable",
1690
+ "sections": "@config.sections",
1691
+ "showCancel": "@config.showCancel",
1692
+ "showSubmit": "@config.showSubmit",
1693
+ "submitEvent": "@config.submitEvent",
1694
+ "submitLabel": "@config.submitLabel",
1695
+ "title": "@config.title",
1696
+ "type": "form",
1697
+ "violationTriggers": "@config.violationTriggers"
1698
+ }
1699
+ ]
1612
1700
  ],
1701
+ "event": "INIT",
1702
+ "eventId": "evt_01KXG04SPFFQ0K590SFJPYS7MM",
1703
+ "from": "idle",
1613
1704
  "to": "idle"
1614
1705
  },
1615
1706
  {
@@ -1624,7 +1715,7 @@
1624
1715
  "className": "@config.className",
1625
1716
  "conditionalFields": "@config.conditionalFields",
1626
1717
  "configPath": "@config.configPath",
1627
- "entity": "@payload.data",
1718
+ "entity": "@entity",
1628
1719
  "error": "@config.error",
1629
1720
  "evaluationContext": "@config.evaluationContext",
1630
1721
  "fieldOverrides": "@config.fieldOverrides",
@@ -118,6 +118,14 @@
118
118
  "required": false,
119
119
  "type": "string"
120
120
  },
121
+ "roles": {
122
+ "items": {
123
+ "type": "string"
124
+ },
125
+ "name": "roles",
126
+ "required": false,
127
+ "type": "array"
128
+ },
121
129
  "variant": {
122
130
  "name": "variant",
123
131
  "required": false,
@@ -351,6 +359,13 @@
351
359
  "label": "Total Count",
352
360
  "tier": "presentation",
353
361
  "type": "number"
362
+ },
363
+ "viewerRole": {
364
+ "default": "",
365
+ "description": "The viewer's role that each action's `roles` is checked against; bind it at the call site (e.g. `viewerRole: @user.role`). Empty = only actions with no `roles` show.",
366
+ "label": "Viewer's role",
367
+ "tier": "policy",
368
+ "type": "string"
354
369
  }
355
370
  },
356
371
  "effectRow": [
@@ -481,7 +496,40 @@
481
496
  "render-ui",
482
497
  "main",
483
498
  {
484
- "actions": "@config.actions",
499
+ "actions": [
500
+ "array/filter",
501
+ "@config.actions",
502
+ [
503
+ "fn",
504
+ "action",
505
+ [
506
+ "or",
507
+ [
508
+ "=",
509
+ [
510
+ "array/len",
511
+ [
512
+ "object/get",
513
+ "@action",
514
+ "roles",
515
+ []
516
+ ]
517
+ ],
518
+ 0.0
519
+ ],
520
+ [
521
+ "array/includes",
522
+ [
523
+ "object/get",
524
+ "@action",
525
+ "roles",
526
+ []
527
+ ],
528
+ "@config.viewerRole"
529
+ ]
530
+ ]
531
+ ]
532
+ ],
485
533
  "activeFilters": "@config.activeFilters",
486
534
  "aspectRatio": "@config.aspectRatio",
487
535
  "className": "@config.className",
@@ -518,7 +566,40 @@
518
566
  "render-ui",
519
567
  "main",
520
568
  {
521
- "actions": "@config.actions",
569
+ "actions": [
570
+ "array/filter",
571
+ "@config.actions",
572
+ [
573
+ "fn",
574
+ "action",
575
+ [
576
+ "or",
577
+ [
578
+ "=",
579
+ [
580
+ "array/len",
581
+ [
582
+ "object/get",
583
+ "@action",
584
+ "roles",
585
+ []
586
+ ]
587
+ ],
588
+ 0.0
589
+ ],
590
+ [
591
+ "array/includes",
592
+ [
593
+ "object/get",
594
+ "@action",
595
+ "roles",
596
+ []
597
+ ],
598
+ "@config.viewerRole"
599
+ ]
600
+ ]
601
+ ]
602
+ ],
522
603
  "activeFilters": "@config.activeFilters",
523
604
  "aspectRatio": "@config.aspectRatio",
524
605
  "className": "@config.className",
@@ -558,7 +639,40 @@
558
639
  "render-ui",
559
640
  "main",
560
641
  {
561
- "actions": "@config.actions",
642
+ "actions": [
643
+ "array/filter",
644
+ "@config.actions",
645
+ [
646
+ "fn",
647
+ "action",
648
+ [
649
+ "or",
650
+ [
651
+ "=",
652
+ [
653
+ "array/len",
654
+ [
655
+ "object/get",
656
+ "@action",
657
+ "roles",
658
+ []
659
+ ]
660
+ ],
661
+ 0.0
662
+ ],
663
+ [
664
+ "array/includes",
665
+ [
666
+ "object/get",
667
+ "@action",
668
+ "roles",
669
+ []
670
+ ],
671
+ "@config.viewerRole"
672
+ ]
673
+ ]
674
+ ]
675
+ ],
562
676
  "activeFilters": "@config.activeFilters",
563
677
  "aspectRatio": "@config.aspectRatio",
564
678
  "className": "@config.className",
@@ -610,6 +724,10 @@
610
724
  {
611
725
  "name": "variant",
612
726
  "type": "string"
727
+ },
728
+ {
729
+ "name": "roles",
730
+ "type": "[string]"
613
731
  }
614
732
  ],
615
733
  "MediaGalleryError": [
@@ -183,6 +183,13 @@
183
183
  "gear"
184
184
  ]
185
185
  },
186
+ "onTransitionClick": {
187
+ "default": "TRANSITION_CLICK",
188
+ "description": "Direct transition-click callback, for React hosts (e.g. a canvas node).",
189
+ "label": "On Transition Click",
190
+ "tier": "presentation",
191
+ "type": "event"
192
+ },
186
193
  "pendingSourceState": {
187
194
  "description": "Source of a transition being drawn — the next state click picks its target.",
188
195
  "label": "Pending Source State",
@@ -391,6 +398,32 @@
391
398
  "name": "to",
392
399
  "required": true,
393
400
  "type": "string"
401
+ },
402
+ {
403
+ "name": "transition",
404
+ "properties": [
405
+ {
406
+ "name": "index",
407
+ "required": true,
408
+ "type": "number"
409
+ },
410
+ {
411
+ "name": "event",
412
+ "required": true,
413
+ "type": "string"
414
+ },
415
+ {
416
+ "name": "from",
417
+ "required": true,
418
+ "type": "string"
419
+ },
420
+ {
421
+ "name": "to",
422
+ "required": true,
423
+ "type": "string"
424
+ }
425
+ ],
426
+ "type": "object"
394
427
  }
395
428
  ],
396
429
  "scope": "external",
@@ -456,6 +489,32 @@
456
489
  "name": "to",
457
490
  "required": true,
458
491
  "type": "string"
492
+ },
493
+ {
494
+ "name": "transition",
495
+ "properties": [
496
+ {
497
+ "name": "index",
498
+ "required": true,
499
+ "type": "number"
500
+ },
501
+ {
502
+ "name": "event",
503
+ "required": true,
504
+ "type": "string"
505
+ },
506
+ {
507
+ "name": "from",
508
+ "required": true,
509
+ "type": "string"
510
+ },
511
+ {
512
+ "name": "to",
513
+ "required": true,
514
+ "type": "string"
515
+ }
516
+ ],
517
+ "type": "object"
459
518
  }
460
519
  ],
461
520
  "tier": "essential"
@@ -482,6 +541,7 @@
482
541
  "error": "@config.error",
483
542
  "isLoading": "@config.isLoading",
484
543
  "nodeShape": "@config.nodeShape",
544
+ "onTransitionClick": "@config.onTransitionClick",
485
545
  "pendingSourceState": "@config.pendingSourceState",
486
546
  "selectedState": "@config.selectedState",
487
547
  "showHeader": "@config.showHeader",
@@ -522,6 +582,28 @@
522
582
  "type": "string"
523
583
  }
524
584
  ],
585
+ "StateMachineViewTRANSITIONCLICKTransition": [
586
+ {
587
+ "name": "index",
588
+ "required": true,
589
+ "type": "number"
590
+ },
591
+ {
592
+ "name": "event",
593
+ "required": true,
594
+ "type": "string"
595
+ },
596
+ {
597
+ "name": "from",
598
+ "required": true,
599
+ "type": "string"
600
+ },
601
+ {
602
+ "name": "to",
603
+ "required": true,
604
+ "type": "string"
605
+ }
606
+ ],
525
607
  "StateMachineViewTrait": [
526
608
  {
527
609
  "name": "name",