@almadar/std 16.235.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 (244) 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 +7680 -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/behavior.d.ts +1 -1
  207. package/dist/modules/browser.d.ts +1 -1
  208. package/dist/modules/composition.d.ts +1 -1
  209. package/dist/modules/contract.d.ts +1 -1
  210. package/dist/modules/core.d.ts +1 -1
  211. package/dist/modules/core.js +2 -0
  212. package/dist/modules/data.d.ts +1 -1
  213. package/dist/modules/ease.d.ts +1 -1
  214. package/dist/modules/format.d.ts +1 -1
  215. package/dist/modules/geo.d.ts +1 -1
  216. package/dist/modules/graph.d.ts +1 -1
  217. package/dist/modules/grid.d.ts +1 -1
  218. package/dist/modules/index.d.ts +1 -1
  219. package/dist/modules/index.js +17 -0
  220. package/dist/modules/integration.d.ts +1 -1
  221. package/dist/modules/json.d.ts +1 -1
  222. package/dist/modules/llm.d.ts +1 -1
  223. package/dist/modules/math.d.ts +1 -1
  224. package/dist/modules/memory.d.ts +1 -1
  225. package/dist/modules/nn.d.ts +1 -1
  226. package/dist/modules/noise.d.ts +1 -1
  227. package/dist/modules/object.d.ts +1 -1
  228. package/dist/modules/os.d.ts +1 -1
  229. package/dist/modules/path.d.ts +1 -1
  230. package/dist/modules/prob.d.ts +1 -1
  231. package/dist/modules/session.d.ts +1 -1
  232. package/dist/modules/str.d.ts +1 -1
  233. package/dist/modules/tensor.d.ts +1 -1
  234. package/dist/modules/time.d.ts +1 -1
  235. package/dist/modules/trace.d.ts +1 -1
  236. package/dist/modules/train.d.ts +1 -1
  237. package/dist/modules/validate.d.ts +1 -1
  238. package/dist/modules/vector.d.ts +1 -1
  239. package/dist/modules/workspace.d.ts +1 -1
  240. package/dist/registry/factory-signatures.json +1 -1
  241. package/dist/registry.d.ts +2 -2
  242. package/dist/registry.js +17 -0
  243. package/dist/{types-Ggla7OK7.d.ts → types-DLx38UFZ.d.ts} +23 -3
  244. package/package.json +2 -2
@@ -19,10 +19,10 @@
19
19
  "parent": "trt_01KXG04SD9CXEV12B2DCF8KYGK",
20
20
  "renames": []
21
21
  },
22
- "evt_01KXG04SDBVHXJR39FQKJ2R4F9": {
22
+ "evt_01M3RWGFY2NR2AWA5M5G9DE397": {
23
23
  "bakedName": "DetailPanelLoaded",
24
24
  "curName": "DetailPanelLoaded",
25
- "id": "evt_01KXG04SDBVHXJR39FQKJ2R4F9",
25
+ "id": "evt_01M3RWGFY2NR2AWA5M5G9DE397",
26
26
  "kind": "event",
27
27
  "owner": "workspace",
28
28
  "parent": "trt_01KXG04SD9CXEV12B2DCF8KYGK",
@@ -114,6 +114,14 @@
114
114
  "required": false,
115
115
  "type": "string"
116
116
  },
117
+ "roles": {
118
+ "items": {
119
+ "type": "string"
120
+ },
121
+ "name": "roles",
122
+ "required": false,
123
+ "type": "array"
124
+ },
117
125
  "variant": {
118
126
  "name": "variant",
119
127
  "required": false,
@@ -124,6 +132,11 @@
124
132
  "ghost",
125
133
  "danger"
126
134
  ]
135
+ },
136
+ "when": {
137
+ "name": "when",
138
+ "required": false,
139
+ "type": "object"
127
140
  }
128
141
  },
129
142
  "type": "object"
@@ -182,6 +195,11 @@
182
195
  "ghost",
183
196
  "danger"
184
197
  ]
198
+ },
199
+ "when": {
200
+ "name": "when",
201
+ "required": false,
202
+ "type": "object"
185
203
  }
186
204
  },
187
205
  "tier": "presentation",
@@ -484,8 +502,8 @@
484
502
  },
485
503
  "selfFetch": {
486
504
  "default": true,
487
- "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.",
488
- "label": "Fetch its own rows on mount?",
505
+ "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.",
506
+ "label": "Fetch its own row on mount?",
489
507
  "tier": "internal",
490
508
  "type": "boolean"
491
509
  },
@@ -563,6 +581,13 @@
563
581
  "tier": "presentation",
564
582
  "type": "number"
565
583
  },
584
+ "viewerRole": {
585
+ "default": "",
586
+ "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.",
587
+ "label": "Viewer's role",
588
+ "tier": "policy",
589
+ "type": "string"
590
+ },
566
591
  "width": {
567
592
  "description": "Panel width (CSS value, e.g., '400px', '50%')",
568
593
  "label": "Width",
@@ -582,9 +607,9 @@
582
607
  ],
583
608
  "emits": [
584
609
  {
585
- "description": "DetailPanel rows finished loading; payload.data holds the collection.",
610
+ "description": "DetailPanel row finished loading; payload.data holds the single row.",
586
611
  "event": "DetailPanelLoaded",
587
- "eventId": "evt_01KXG04SDBVHXJR39FQKJ2R4F9",
612
+ "eventId": "evt_01M3RWGFY2NR2AWA5M5G9DE397",
588
613
  "payloadSchema": [
589
614
  {
590
615
  "entity": "DetailPanelItem",
@@ -596,7 +621,7 @@
596
621
  "type": "string"
597
622
  }
598
623
  ],
599
- "type": "[object]"
624
+ "type": "object"
600
625
  }
601
626
  ],
602
627
  "scope": "internal",
@@ -620,13 +645,21 @@
620
645
  "stateMachine": {
621
646
  "events": [
622
647
  {
648
+ "description": "Mount payload; a host that routes to this panel by id (a :id page param) passes it here.",
623
649
  "id": "evt_01KXG04SD94X8KGY16SVTBNF6K",
624
650
  "key": "INIT",
625
- "name": "Initialize"
651
+ "name": "Initialize",
652
+ "payloadSchema": [
653
+ {
654
+ "name": "id",
655
+ "type": "string"
656
+ }
657
+ ],
658
+ "tier": "internal"
626
659
  },
627
660
  {
628
- "description": "DetailPanel rows finished loading; payload.data holds the collection.",
629
- "id": "evt_01KXG04SDBVHXJR39FQKJ2R4F9",
661
+ "description": "DetailPanel row finished loading; payload.data holds the single row.",
662
+ "id": "evt_01M3RWGFY2NR2AWA5M5G9DE397",
630
663
  "key": "DetailPanelLoaded",
631
664
  "name": "Detail panel loaded",
632
665
  "payloadSchema": [
@@ -640,7 +673,7 @@
640
673
  "type": "string"
641
674
  }
642
675
  ],
643
- "type": "[object]"
676
+ "type": "object"
644
677
  }
645
678
  ],
646
679
  "synonyms": "loaded, fetched, retrieved",
@@ -650,6 +683,9 @@
650
683
  "states": [
651
684
  {
652
685
  "isInitial": true,
686
+ "name": "resolving"
687
+ },
688
+ {
653
689
  "name": "idle"
654
690
  }
655
691
  ],
@@ -662,14 +698,48 @@
662
698
  {
663
699
  "emit": {
664
700
  "success": "DetailPanelLoaded"
665
- }
701
+ },
702
+ "id": "@payload.id"
666
703
  }
667
704
  ],
668
705
  [
669
706
  "render-ui",
670
707
  "main",
671
708
  {
672
- "actions": "@config.actions",
709
+ "actions": [
710
+ "array/filter",
711
+ "@config.actions",
712
+ [
713
+ "fn",
714
+ "action",
715
+ [
716
+ "or",
717
+ [
718
+ "=",
719
+ [
720
+ "array/len",
721
+ [
722
+ "object/get",
723
+ "@action",
724
+ "roles",
725
+ []
726
+ ]
727
+ ],
728
+ 0.0
729
+ ],
730
+ [
731
+ "array/includes",
732
+ [
733
+ "object/get",
734
+ "@action",
735
+ "roles",
736
+ []
737
+ ],
738
+ "@config.viewerRole"
739
+ ]
740
+ ]
741
+ ]
742
+ ],
673
743
  "activeFilters": "@config.activeFilters",
674
744
  "avatar": "@config.avatar",
675
745
  "backAction": "@config.backAction",
@@ -707,8 +777,25 @@
707
777
  ],
708
778
  "event": "INIT",
709
779
  "eventId": "evt_01KXG04SD94X8KGY16SVTBNF6K",
710
- "from": "idle",
711
- "guard": "@config.selfFetch",
780
+ "from": "resolving",
781
+ "guard": [
782
+ "and",
783
+ "@config.selfFetch",
784
+ [
785
+ "!=",
786
+ [
787
+ "str/default",
788
+ "@payload.id",
789
+ ""
790
+ ],
791
+ ""
792
+ ],
793
+ [
794
+ "!=",
795
+ "@config.mode",
796
+ "create"
797
+ ]
798
+ ],
712
799
  "to": "idle"
713
800
  },
714
801
  {
@@ -717,7 +804,40 @@
717
804
  "render-ui",
718
805
  "main",
719
806
  {
720
- "actions": "@config.actions",
807
+ "actions": [
808
+ "array/filter",
809
+ "@config.actions",
810
+ [
811
+ "fn",
812
+ "action",
813
+ [
814
+ "or",
815
+ [
816
+ "=",
817
+ [
818
+ "array/len",
819
+ [
820
+ "object/get",
821
+ "@action",
822
+ "roles",
823
+ []
824
+ ]
825
+ ],
826
+ 0.0
827
+ ],
828
+ [
829
+ "array/includes",
830
+ [
831
+ "object/get",
832
+ "@action",
833
+ "roles",
834
+ []
835
+ ],
836
+ "@config.viewerRole"
837
+ ]
838
+ ]
839
+ ]
840
+ ],
721
841
  "activeFilters": "@config.activeFilters",
722
842
  "avatar": "@config.avatar",
723
843
  "backAction": "@config.backAction",
@@ -755,11 +875,108 @@
755
875
  ],
756
876
  "event": "INIT",
757
877
  "eventId": "evt_01KXG04SD94X8KGY16SVTBNF6K",
758
- "from": "idle",
878
+ "from": "resolving",
759
879
  "guard": [
760
880
  "not",
761
- "@config.selfFetch"
881
+ [
882
+ "and",
883
+ "@config.selfFetch",
884
+ [
885
+ "!=",
886
+ [
887
+ "str/default",
888
+ "@payload.id",
889
+ ""
890
+ ],
891
+ ""
892
+ ],
893
+ [
894
+ "!=",
895
+ "@config.mode",
896
+ "create"
897
+ ]
898
+ ]
899
+ ],
900
+ "to": "idle"
901
+ },
902
+ {
903
+ "effects": [
904
+ [
905
+ "render-ui",
906
+ "main",
907
+ {
908
+ "actions": [
909
+ "array/filter",
910
+ "@config.actions",
911
+ [
912
+ "fn",
913
+ "action",
914
+ [
915
+ "or",
916
+ [
917
+ "=",
918
+ [
919
+ "array/len",
920
+ [
921
+ "object/get",
922
+ "@action",
923
+ "roles",
924
+ []
925
+ ]
926
+ ],
927
+ 0.0
928
+ ],
929
+ [
930
+ "array/includes",
931
+ [
932
+ "object/get",
933
+ "@action",
934
+ "roles",
935
+ []
936
+ ],
937
+ "@config.viewerRole"
938
+ ]
939
+ ]
940
+ ]
941
+ ],
942
+ "activeFilters": "@config.activeFilters",
943
+ "avatar": "@config.avatar",
944
+ "backAction": "@config.backAction",
945
+ "className": "@config.className",
946
+ "displayFields": "@config.displayFields",
947
+ "entity": "@entity",
948
+ "error": "@config.error",
949
+ "fieldNames": "@config.fieldNames",
950
+ "fields": "@config.fields",
951
+ "footer": "@config.footer",
952
+ "initialData": "@entity",
953
+ "isLoading": "@config.isLoading",
954
+ "maxInlineActions": "@config.maxInlineActions",
955
+ "mode": "@config.mode",
956
+ "onTitleCommit": "@config.onTitleCommit",
957
+ "page": "@config.pageProp",
958
+ "pageSize": "@config.pageSize",
959
+ "position": "@config.position",
960
+ "relationsData": "@config.relationsData",
961
+ "searchValue": "@config.searchValue",
962
+ "sections": "@config.sections",
963
+ "selectedIds": "@config.selectedIds",
964
+ "showActions": "@config.showActions",
965
+ "slideOver": "@config.slideOver",
966
+ "sortBy": "@config.sortBy",
967
+ "sortDirection": "@config.sortDirection",
968
+ "status": "@config.status",
969
+ "subtitle": "@config.subtitle",
970
+ "title": "@config.title",
971
+ "totalCount": "@config.totalCount",
972
+ "type": "detail-panel",
973
+ "width": "@config.width"
974
+ }
975
+ ]
762
976
  ],
977
+ "event": "INIT",
978
+ "eventId": "evt_01KXG04SD94X8KGY16SVTBNF6K",
979
+ "from": "idle",
763
980
  "to": "idle"
764
981
  },
765
982
  {
@@ -768,7 +985,40 @@
768
985
  "render-ui",
769
986
  "main",
770
987
  {
771
- "actions": "@config.actions",
988
+ "actions": [
989
+ "array/filter",
990
+ "@config.actions",
991
+ [
992
+ "fn",
993
+ "action",
994
+ [
995
+ "or",
996
+ [
997
+ "=",
998
+ [
999
+ "array/len",
1000
+ [
1001
+ "object/get",
1002
+ "@action",
1003
+ "roles",
1004
+ []
1005
+ ]
1006
+ ],
1007
+ 0.0
1008
+ ],
1009
+ [
1010
+ "array/includes",
1011
+ [
1012
+ "object/get",
1013
+ "@action",
1014
+ "roles",
1015
+ []
1016
+ ],
1017
+ "@config.viewerRole"
1018
+ ]
1019
+ ]
1020
+ ]
1021
+ ],
772
1022
  "activeFilters": "@config.activeFilters",
773
1023
  "avatar": "@config.avatar",
774
1024
  "backAction": "@config.backAction",
@@ -805,7 +1055,7 @@
805
1055
  ]
806
1056
  ],
807
1057
  "event": "DetailPanelLoaded",
808
- "eventId": "evt_01KXG04SDBVHXJR39FQKJ2R4F9",
1058
+ "eventId": "evt_01M3RWGFY2NR2AWA5M5G9DE397",
809
1059
  "from": "idle",
810
1060
  "to": "idle"
811
1061
  }
@@ -835,6 +1085,14 @@
835
1085
  {
836
1086
  "name": "variant",
837
1087
  "type": "string"
1088
+ },
1089
+ {
1090
+ "name": "when",
1091
+ "type": "SExpr"
1092
+ },
1093
+ {
1094
+ "name": "roles",
1095
+ "type": "[string]"
838
1096
  }
839
1097
  ],
840
1098
  "DetailPanelBackAction": [
@@ -858,6 +1116,10 @@
858
1116
  {
859
1117
  "name": "variant",
860
1118
  "type": "string"
1119
+ },
1120
+ {
1121
+ "name": "when",
1122
+ "type": "SExpr"
861
1123
  }
862
1124
  ],
863
1125
  "DetailPanelError": [
@@ -306,10 +306,23 @@
306
306
  "required": false,
307
307
  "type": "string"
308
308
  },
309
+ "roles": {
310
+ "items": {
311
+ "type": "string"
312
+ },
313
+ "name": "roles",
314
+ "required": false,
315
+ "type": "array"
316
+ },
309
317
  "variant": {
310
318
  "name": "variant",
311
319
  "required": false,
312
320
  "type": "string"
321
+ },
322
+ "when": {
323
+ "name": "when",
324
+ "required": false,
325
+ "type": "object"
313
326
  }
314
327
  },
315
328
  "type": "object"
@@ -408,6 +421,13 @@
408
421
  "label": "Variant",
409
422
  "tier": "presentation",
410
423
  "type": "string"
424
+ },
425
+ "viewerRole": {
426
+ "default": "",
427
+ "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.",
428
+ "label": "Viewer's role",
429
+ "tier": "policy",
430
+ "type": "string"
411
431
  }
412
432
  },
413
433
  "effectRow": [
@@ -559,7 +579,40 @@
559
579
  "gap": "@config.gap",
560
580
  "imageField": "@config.imageField",
561
581
  "isLoading": "@config.isLoading",
562
- "itemActions": "@config.itemActions",
582
+ "itemActions": [
583
+ "array/filter",
584
+ "@config.itemActions",
585
+ [
586
+ "fn",
587
+ "action",
588
+ [
589
+ "or",
590
+ [
591
+ "=",
592
+ [
593
+ "array/len",
594
+ [
595
+ "object/get",
596
+ "@action",
597
+ "roles",
598
+ []
599
+ ]
600
+ ],
601
+ 0.0
602
+ ],
603
+ [
604
+ "array/includes",
605
+ [
606
+ "object/get",
607
+ "@action",
608
+ "roles",
609
+ []
610
+ ],
611
+ "@config.viewerRole"
612
+ ]
613
+ ]
614
+ ]
615
+ ],
563
616
  "maxCols": "@config.maxCols",
564
617
  "minCardWidth": "@config.minCardWidth",
565
618
  "page": "@config.pageProp",
@@ -600,7 +653,40 @@
600
653
  "gap": "@config.gap",
601
654
  "imageField": "@config.imageField",
602
655
  "isLoading": "@config.isLoading",
603
- "itemActions": "@config.itemActions",
656
+ "itemActions": [
657
+ "array/filter",
658
+ "@config.itemActions",
659
+ [
660
+ "fn",
661
+ "action",
662
+ [
663
+ "or",
664
+ [
665
+ "=",
666
+ [
667
+ "array/len",
668
+ [
669
+ "object/get",
670
+ "@action",
671
+ "roles",
672
+ []
673
+ ]
674
+ ],
675
+ 0.0
676
+ ],
677
+ [
678
+ "array/includes",
679
+ [
680
+ "object/get",
681
+ "@action",
682
+ "roles",
683
+ []
684
+ ],
685
+ "@config.viewerRole"
686
+ ]
687
+ ]
688
+ ]
689
+ ],
604
690
  "maxCols": "@config.maxCols",
605
691
  "minCardWidth": "@config.minCardWidth",
606
692
  "page": "@config.pageProp",
@@ -644,7 +730,40 @@
644
730
  "gap": "@config.gap",
645
731
  "imageField": "@config.imageField",
646
732
  "isLoading": "@config.isLoading",
647
- "itemActions": "@config.itemActions",
733
+ "itemActions": [
734
+ "array/filter",
735
+ "@config.itemActions",
736
+ [
737
+ "fn",
738
+ "action",
739
+ [
740
+ "or",
741
+ [
742
+ "=",
743
+ [
744
+ "array/len",
745
+ [
746
+ "object/get",
747
+ "@action",
748
+ "roles",
749
+ []
750
+ ]
751
+ ],
752
+ 0.0
753
+ ],
754
+ [
755
+ "array/includes",
756
+ [
757
+ "object/get",
758
+ "@action",
759
+ "roles",
760
+ []
761
+ ],
762
+ "@config.viewerRole"
763
+ ]
764
+ ]
765
+ ]
766
+ ],
648
767
  "maxCols": "@config.maxCols",
649
768
  "minCardWidth": "@config.minCardWidth",
650
769
  "page": "@config.pageProp",
@@ -747,6 +866,14 @@
747
866
  {
748
867
  "name": "variant",
749
868
  "type": "string"
869
+ },
870
+ {
871
+ "name": "when",
872
+ "type": "SExpr"
873
+ },
874
+ {
875
+ "name": "roles",
876
+ "type": "[string]"
750
877
  }
751
878
  ]
752
879
  }