@almadar/std 16.235.0 → 16.237.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 (283) hide show
  1. package/behaviors/behaviors-registry.json +5621 -1993
  2. package/behaviors/lolo/infra/atoms/std-approval-gate.lolo +32 -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-migration-job.lolo +2 -2
  12. package/behaviors/lolo/infra/atoms/std-mod-queue.lolo +40 -18
  13. package/behaviors/lolo/infra/atoms/std-notification-preferences.lolo +25 -11
  14. package/behaviors/lolo/infra/atoms/std-notify-on-event.lolo +0 -5
  15. package/behaviors/lolo/infra/atoms/std-permission-matrix.lolo +28 -11
  16. package/behaviors/lolo/infra/atoms/std-rate-limiter.lolo +84 -22
  17. package/behaviors/lolo/infra/atoms/std-status-lifecycle.lolo +1 -6
  18. package/behaviors/lolo/ml/atoms/std-graph-builder.lolo +3 -1
  19. package/behaviors/lolo/ml/atoms/std-ml-classify.lolo +0 -4
  20. package/behaviors/lolo/ml/atoms/std-ml-similarity.lolo +0 -4
  21. package/behaviors/lolo/ui/avl/atoms/ui-avl-state-machine.lolo +12 -0
  22. package/behaviors/lolo/ui/core/atoms/std-app-layout.lolo +55 -9
  23. package/behaviors/lolo/ui/core/atoms/std-app-search.lolo +6 -2
  24. package/behaviors/lolo/ui/core/atoms/std-billable-hour.lolo +19 -14
  25. package/behaviors/lolo/ui/core/atoms/std-board.lolo +77 -27
  26. package/behaviors/lolo/ui/core/atoms/std-browse.lolo +76 -33
  27. package/behaviors/lolo/ui/core/atoms/std-calendar.lolo +7 -3
  28. package/behaviors/lolo/ui/core/atoms/std-esign-flow.lolo +25 -13
  29. package/behaviors/lolo/ui/core/atoms/std-esign-request.lolo +5 -0
  30. package/behaviors/lolo/ui/core/atoms/std-event-log.lolo +32 -5
  31. package/behaviors/lolo/ui/core/atoms/std-export.lolo +0 -10
  32. package/behaviors/lolo/ui/core/atoms/std-file-store.lolo +15 -4
  33. package/behaviors/lolo/ui/core/atoms/std-form-advanced.lolo +1 -6
  34. package/behaviors/lolo/ui/core/atoms/std-gantt-schedule.lolo +8 -1
  35. package/behaviors/lolo/ui/core/atoms/std-geosearch.lolo +1 -0
  36. package/behaviors/lolo/ui/core/atoms/std-graphs.lolo +20 -4
  37. package/behaviors/lolo/ui/core/atoms/std-image-upload-multi.lolo +2 -2
  38. package/behaviors/lolo/ui/core/atoms/std-import.lolo +0 -5
  39. package/behaviors/lolo/ui/core/atoms/std-list.lolo +53 -32
  40. package/behaviors/lolo/ui/core/atoms/std-modal-editor.lolo +2 -2
  41. package/behaviors/lolo/ui/core/atoms/std-multi-party-flow.lolo +24 -0
  42. package/behaviors/lolo/ui/core/atoms/std-rating-review.lolo +12 -13
  43. package/behaviors/lolo/ui/core/atoms/std-record-detail.lolo +29 -13
  44. package/behaviors/lolo/ui/core/atoms/std-recurrence.lolo +14 -1
  45. package/behaviors/lolo/ui/core/atoms/std-role-gate.lolo +39 -0
  46. package/behaviors/lolo/ui/core/atoms/std-saved-search.lolo +84 -16
  47. package/behaviors/lolo/ui/core/atoms/std-selection.lolo +22 -10
  48. package/behaviors/lolo/ui/core/atoms/std-stats.lolo +5 -5
  49. package/behaviors/lolo/ui/core/atoms/std-tag-taxonomy.lolo +3 -0
  50. package/behaviors/lolo/ui/core/atoms/std-thread.lolo +41 -73
  51. package/behaviors/lolo/ui/core/atoms/std-version-history.lolo +27 -12
  52. package/behaviors/lolo/ui/core/atoms/std-vote.lolo +0 -4
  53. package/behaviors/lolo/ui/core/atoms/std-wizard.lolo +3 -3
  54. package/behaviors/lolo/ui/core/atoms/ui-presence.lolo +21 -0
  55. package/behaviors/lolo/ui/core/atoms/ui-time-slot-cell.lolo +36 -0
  56. package/behaviors/lolo/ui/core/atoms/ui-typography.lolo +5 -0
  57. package/behaviors/lolo/ui/core/molecules/ui-alert.lolo +5 -0
  58. package/behaviors/lolo/ui/core/molecules/ui-animated-counter.lolo +1 -1
  59. package/behaviors/lolo/ui/core/molecules/ui-breadcrumb.lolo +6 -1
  60. package/behaviors/lolo/ui/core/molecules/ui-chart.lolo +11 -1
  61. package/behaviors/lolo/ui/core/molecules/ui-code-block.lolo +13 -8
  62. package/behaviors/lolo/ui/core/molecules/ui-command-palette.lolo +11 -6
  63. package/behaviors/lolo/ui/core/molecules/ui-commit-row.lolo +2 -2
  64. package/behaviors/lolo/ui/core/molecules/ui-confirm-dialog.lolo +8 -0
  65. package/behaviors/lolo/ui/core/molecules/ui-data-grid.lolo +60 -5
  66. package/behaviors/lolo/ui/core/molecules/ui-data-list.lolo +47 -3
  67. package/behaviors/lolo/ui/core/molecules/ui-date-range-picker.lolo +3 -3
  68. package/behaviors/lolo/ui/core/molecules/ui-document-details.lolo +31 -9
  69. package/behaviors/lolo/ui/core/molecules/ui-document-panel.lolo +8 -3
  70. package/behaviors/lolo/ui/core/molecules/ui-document-viewer.lolo +6 -1
  71. package/behaviors/lolo/ui/core/molecules/ui-drawer.lolo +13 -0
  72. package/behaviors/lolo/ui/core/molecules/ui-emoji-picker.lolo +1 -1
  73. package/behaviors/lolo/ui/core/molecules/ui-feature-card.lolo +1 -1
  74. package/behaviors/lolo/ui/core/molecules/ui-floating-action-button.lolo +6 -1
  75. package/behaviors/lolo/ui/core/molecules/ui-floating-toolbar.lolo +6 -1
  76. package/behaviors/lolo/ui/core/molecules/ui-form-actions.lolo +6 -1
  77. package/behaviors/lolo/ui/core/molecules/ui-gantt.lolo +9 -1
  78. package/behaviors/lolo/ui/core/molecules/ui-graph-canvas.lolo +6 -1
  79. package/behaviors/lolo/ui/core/molecules/ui-import-preview-tree.lolo +3 -2
  80. package/behaviors/lolo/ui/core/molecules/ui-likert-scale.lolo +1 -1
  81. package/behaviors/lolo/ui/core/molecules/ui-menu.lolo +7 -1
  82. package/behaviors/lolo/ui/core/molecules/ui-meter.lolo +6 -1
  83. package/behaviors/lolo/ui/core/molecules/ui-modal.lolo +5 -0
  84. package/behaviors/lolo/ui/core/molecules/ui-page-header.lolo +11 -1
  85. package/behaviors/lolo/ui/core/molecules/ui-page-transition.lolo +1 -1
  86. package/behaviors/lolo/ui/core/molecules/ui-swipeable-row.lolo +44 -15
  87. package/behaviors/lolo/ui/core/molecules/ui-table-view.lolo +57 -5
  88. package/behaviors/lolo/ui/core/molecules/ui-tabs.lolo +8 -2
  89. package/behaviors/lolo/ui/core/organisms/ui-detail-panel.lolo +87 -16
  90. package/behaviors/lolo/ui/core/organisms/ui-entity-cards.lolo +37 -10
  91. package/behaviors/lolo/ui/core/organisms/ui-entity-list.lolo +46 -8
  92. package/behaviors/lolo/ui/core/organisms/ui-entity-table.lolo +36 -10
  93. package/behaviors/lolo/ui/core/organisms/ui-form-section.lolo +57 -10
  94. package/behaviors/lolo/ui/core/organisms/ui-form.lolo +57 -10
  95. package/behaviors/lolo/ui/core/organisms/ui-media-gallery.lolo +22 -3
  96. package/behaviors/lolo/ui/core/organisms/ui-stat-card.lolo +6 -0
  97. package/behaviors/lolo/ui/core/organisms/ui-state-machine-view.lolo +12 -0
  98. package/behaviors/lolo/ui/core/organisms/ui-timeline.lolo +38 -5
  99. package/behaviors/lolo/ui/core/templates/ui-auth-layout.lolo +1 -1
  100. package/behaviors/lolo/ui/core/templates/ui-counter-template.lolo +3 -45
  101. package/behaviors/lolo/ui/core/templates/ui-dashboard-layout.lolo +7 -2
  102. package/behaviors/lolo/ui/core/templates/ui-generic-app-template.lolo +2 -37
  103. package/behaviors/lolo/ui/game/.hand-authored.json +2 -2
  104. package/behaviors/lolo/ui/game/atoms/ui-choice-button.lolo +1 -1
  105. package/behaviors/lolo/ui/game/atoms/ui-dialogue-bubble.lolo +2 -2
  106. package/behaviors/lolo/ui/game/atoms/ui-game-menu.lolo +9 -3
  107. package/behaviors/lolo/ui/game/atoms/ui-score-display.lolo +1 -1
  108. package/behaviors/lolo/ui/game/organisms/std-arcade-board-3d.lolo +2 -2
  109. package/behaviors/lolo/ui/game/organisms/std-crew-board-2d.lolo +0 -4
  110. package/behaviors/lolo/ui/game/organisms/std-platformer-puzzle.lolo +2 -66
  111. package/behaviors/lolo/ui/game/organisms/std-tactics-board-2d.lolo +0 -4
  112. package/behaviors/lolo/ui/game/organisms/std-worldmap-board-2d.lolo +0 -4
  113. package/behaviors/lolo/ui/learning/atoms/std-learn-stepper.lolo +6 -6
  114. package/behaviors/lolo-behavior-contracts.json +1 -1
  115. package/behaviors/registry/factory-signatures.json +1 -1
  116. package/behaviors/registry/infra/atoms/std-approval-gate.orb +194 -67
  117. package/behaviors/registry/infra/atoms/std-audit-capture.orb +0 -8
  118. package/behaviors/registry/infra/atoms/std-cache-aside.orb +0 -84
  119. package/behaviors/registry/infra/atoms/std-circuit-breaker.orb +1 -44
  120. package/behaviors/registry/infra/atoms/std-data-erasure.orb +124 -55
  121. package/behaviors/registry/infra/atoms/std-data-import.orb +12 -11
  122. package/behaviors/registry/infra/atoms/std-game-clock.orb +31 -0
  123. package/behaviors/registry/infra/atoms/std-knowledge-loop.orb +0 -57
  124. package/behaviors/registry/infra/atoms/std-lifecycle.orb +43 -0
  125. package/behaviors/registry/infra/atoms/std-migration-job.orb +26 -1
  126. package/behaviors/registry/infra/atoms/std-mod-queue.orb +379 -103
  127. package/behaviors/registry/infra/atoms/std-notification-preferences.orb +135 -12
  128. package/behaviors/registry/infra/atoms/std-notify-on-event.orb +0 -11
  129. package/behaviors/registry/infra/atoms/std-permission-matrix.orb +137 -12
  130. package/behaviors/registry/infra/atoms/std-rate-limiter.orb +287 -72
  131. package/behaviors/registry/infra/atoms/std-status-lifecycle.orb +5 -8
  132. package/behaviors/registry/ml/atoms/std-graph-builder.orb +11 -0
  133. package/behaviors/registry/ml/atoms/std-ml-classify.orb +0 -7
  134. package/behaviors/registry/ml/atoms/std-ml-similarity.orb +0 -7
  135. package/behaviors/registry/ui/avl/atoms/ui-avl-state-machine.orb +82 -0
  136. package/behaviors/registry/ui/core/atoms/std-app-layout.orb +417 -9
  137. package/behaviors/registry/ui/core/atoms/std-app-search.orb +53 -1
  138. package/behaviors/registry/ui/core/atoms/std-billable-hour.orb +209 -19
  139. package/behaviors/registry/ui/core/atoms/std-board.orb +242 -61
  140. package/behaviors/registry/ui/core/atoms/std-browse.orb +499 -49
  141. package/behaviors/registry/ui/core/atoms/std-calendar.orb +96 -2
  142. package/behaviors/registry/ui/core/atoms/std-esign-flow.orb +122 -15
  143. package/behaviors/registry/ui/core/atoms/std-esign-request.orb +11 -0
  144. package/behaviors/registry/ui/core/atoms/std-event-log.orb +42 -6
  145. package/behaviors/registry/ui/core/atoms/std-export.orb +0 -16
  146. package/behaviors/registry/ui/core/atoms/std-file-store.orb +121 -3
  147. package/behaviors/registry/ui/core/atoms/std-form-advanced.orb +1 -43
  148. package/behaviors/registry/ui/core/atoms/std-gantt-schedule.orb +25 -1
  149. package/behaviors/registry/ui/core/atoms/std-geosearch.orb +5 -0
  150. package/behaviors/registry/ui/core/atoms/std-graphs.orb +173 -66
  151. package/behaviors/registry/ui/core/atoms/std-image-upload-multi.orb +4 -0
  152. package/behaviors/registry/ui/core/atoms/std-import.orb +0 -8
  153. package/behaviors/registry/ui/core/atoms/std-list.orb +237 -34
  154. package/behaviors/registry/ui/core/atoms/std-modal-editor.orb +10 -1
  155. package/behaviors/registry/ui/core/atoms/std-multi-party-flow.orb +24 -0
  156. package/behaviors/registry/ui/core/atoms/std-rating-review.orb +37 -19
  157. package/behaviors/registry/ui/core/atoms/std-record-detail.orb +275 -14
  158. package/behaviors/registry/ui/core/atoms/std-recurrence.orb +93 -4
  159. package/behaviors/registry/ui/core/atoms/std-role-gate.orb +217 -0
  160. package/behaviors/registry/ui/core/atoms/std-saved-search.orb +473 -19
  161. package/behaviors/registry/ui/core/atoms/std-selection.orb +179 -10
  162. package/behaviors/registry/ui/core/atoms/std-stats.orb +73 -1
  163. package/behaviors/registry/ui/core/atoms/std-tag-taxonomy.orb +3 -0
  164. package/behaviors/registry/ui/core/atoms/std-thread.orb +190 -115
  165. package/behaviors/registry/ui/core/atoms/std-version-history.orb +138 -14
  166. package/behaviors/registry/ui/core/atoms/std-vote.orb +0 -9
  167. package/behaviors/registry/ui/core/atoms/std-wizard.orb +33 -3
  168. package/behaviors/registry/ui/core/atoms/ui-presence.orb +59 -0
  169. package/behaviors/registry/ui/core/atoms/ui-time-slot-cell.orb +132 -0
  170. package/behaviors/registry/ui/core/atoms/ui-typography.orb +7 -0
  171. package/behaviors/registry/ui/core/molecules/ui-alert.orb +7 -0
  172. package/behaviors/registry/ui/core/molecules/ui-animated-counter.orb +1 -1
  173. package/behaviors/registry/ui/core/molecules/ui-breadcrumb.orb +53 -1
  174. package/behaviors/registry/ui/core/molecules/ui-chart.orb +68 -1
  175. package/behaviors/registry/ui/core/molecules/ui-code-block.orb +291 -8
  176. package/behaviors/registry/ui/core/molecules/ui-command-palette.orb +89 -6
  177. package/behaviors/registry/ui/core/molecules/ui-commit-row.orb +3 -2
  178. package/behaviors/registry/ui/core/molecules/ui-confirm-dialog.orb +32 -0
  179. package/behaviors/registry/ui/core/molecules/ui-data-grid.orb +297 -5
  180. package/behaviors/registry/ui/core/molecules/ui-data-list.orb +261 -3
  181. package/behaviors/registry/ui/core/molecules/ui-date-range-picker.orb +1 -3
  182. package/behaviors/registry/ui/core/molecules/ui-document-details.orb +93 -24
  183. package/behaviors/registry/ui/core/molecules/ui-document-panel.orb +121 -3
  184. package/behaviors/registry/ui/core/molecules/ui-document-viewer.orb +53 -1
  185. package/behaviors/registry/ui/core/molecules/ui-drawer.orb +40 -0
  186. package/behaviors/registry/ui/core/molecules/ui-emoji-picker.orb +0 -1
  187. package/behaviors/registry/ui/core/molecules/ui-feature-card.orb +0 -1
  188. package/behaviors/registry/ui/core/molecules/ui-floating-action-button.orb +53 -1
  189. package/behaviors/registry/ui/core/molecules/ui-floating-toolbar.orb +53 -1
  190. package/behaviors/registry/ui/core/molecules/ui-form-actions.orb +53 -1
  191. package/behaviors/registry/ui/core/molecules/ui-gantt.orb +28 -1
  192. package/behaviors/registry/ui/core/molecules/ui-graph-canvas.orb +53 -1
  193. package/behaviors/registry/ui/core/molecules/ui-import-preview-tree.orb +9 -2
  194. package/behaviors/registry/ui/core/molecules/ui-likert-scale.orb +1 -1
  195. package/behaviors/registry/ui/core/molecules/ui-menu.orb +74 -1
  196. package/behaviors/registry/ui/core/molecules/ui-meter.orb +53 -1
  197. package/behaviors/registry/ui/core/molecules/ui-modal.orb +8 -0
  198. package/behaviors/registry/ui/core/molecules/ui-page-header.orb +60 -1
  199. package/behaviors/registry/ui/core/molecules/ui-page-transition.orb +1 -1
  200. package/behaviors/registry/ui/core/molecules/ui-swipeable-row.orb +393 -23
  201. package/behaviors/registry/ui/core/molecules/ui-table-view.orb +337 -5
  202. package/behaviors/registry/ui/core/molecules/ui-tabs.orb +99 -2
  203. package/behaviors/registry/ui/core/organisms/ui-detail-panel.orb +415 -33
  204. package/behaviors/registry/ui/core/organisms/ui-entity-cards.orb +340 -29
  205. package/behaviors/registry/ui/core/organisms/ui-entity-list.orb +296 -20
  206. package/behaviors/registry/ui/core/organisms/ui-entity-table.orb +489 -9
  207. package/behaviors/registry/ui/core/organisms/ui-form-section.orb +132 -13
  208. package/behaviors/registry/ui/core/organisms/ui-form.orb +132 -13
  209. package/behaviors/registry/ui/core/organisms/ui-media-gallery.orb +141 -3
  210. package/behaviors/registry/ui/core/organisms/ui-stat-card.orb +58 -0
  211. package/behaviors/registry/ui/core/organisms/ui-state-machine-view.orb +82 -0
  212. package/behaviors/registry/ui/core/organisms/ui-timeline.orb +159 -8
  213. package/behaviors/registry/ui/core/templates/ui-auth-layout.orb +0 -1
  214. package/behaviors/registry/ui/core/templates/ui-counter-template.orb +1 -173
  215. package/behaviors/registry/ui/core/templates/ui-dashboard-layout.orb +53 -2
  216. package/behaviors/registry/ui/core/templates/ui-generic-app-template.orb +1 -116
  217. package/behaviors/registry/ui/game/atoms/ui-choice-button.orb +1 -1
  218. package/behaviors/registry/ui/game/atoms/ui-dialogue-bubble.orb +1 -2
  219. package/behaviors/registry/ui/game/atoms/ui-game-menu.orb +100 -3
  220. package/behaviors/registry/ui/game/atoms/ui-score-display.orb +0 -1
  221. package/behaviors/registry/ui/game/organisms/std-arcade-board-3d.orb +10 -0
  222. package/behaviors/registry/ui/game/organisms/std-crew-board-2d.orb +0 -7
  223. package/behaviors/registry/ui/game/organisms/std-platformer-puzzle.orb +1 -807
  224. package/behaviors/registry/ui/game/organisms/std-tactics-board-2d.orb +0 -7
  225. package/behaviors/registry/ui/game/organisms/std-worldmap-board-2d.orb +0 -7
  226. package/behaviors/registry/ui/learning/atoms/std-learn-stepper.orb +6 -0
  227. package/canonical-operators.json +18 -1
  228. package/dist/behaviors/exports-reader.js +8942 -3946
  229. package/dist/behaviors/functions/index.d.ts +419 -132
  230. package/dist/behaviors/functions/index.js +8931 -3946
  231. package/dist/behaviors/index.d.ts +1 -1
  232. package/dist/behaviors/index.js +8943 -3947
  233. package/dist/behaviors/query.js +8942 -3946
  234. package/dist/behaviors-embeddings.hash.json +3 -3
  235. package/dist/behaviors-embeddings.json +49 -41
  236. package/dist/behaviors-registry.json +5621 -1993
  237. package/dist/index.d.ts +3 -3
  238. package/dist/index.js +8960 -3947
  239. package/dist/knob-embeddings.hash.json +3 -3
  240. package/dist/knob-embeddings.json +774 -374
  241. package/dist/modules/anim.d.ts +1 -1
  242. package/dist/modules/array.d.ts +1 -1
  243. package/dist/modules/array.js +15 -0
  244. package/dist/modules/async.d.ts +1 -1
  245. package/dist/modules/behavior.d.ts +1 -1
  246. package/dist/modules/browser.d.ts +1 -1
  247. package/dist/modules/composition.d.ts +1 -1
  248. package/dist/modules/contract.d.ts +1 -1
  249. package/dist/modules/core.d.ts +1 -1
  250. package/dist/modules/core.js +2 -0
  251. package/dist/modules/data.d.ts +1 -1
  252. package/dist/modules/ease.d.ts +1 -1
  253. package/dist/modules/format.d.ts +1 -1
  254. package/dist/modules/geo.d.ts +1 -1
  255. package/dist/modules/graph.d.ts +1 -1
  256. package/dist/modules/grid.d.ts +1 -1
  257. package/dist/modules/index.d.ts +1 -1
  258. package/dist/modules/index.js +17 -0
  259. package/dist/modules/integration.d.ts +1 -1
  260. package/dist/modules/json.d.ts +1 -1
  261. package/dist/modules/llm.d.ts +1 -1
  262. package/dist/modules/math.d.ts +1 -1
  263. package/dist/modules/memory.d.ts +1 -1
  264. package/dist/modules/nn.d.ts +1 -1
  265. package/dist/modules/noise.d.ts +1 -1
  266. package/dist/modules/object.d.ts +1 -1
  267. package/dist/modules/os.d.ts +1 -1
  268. package/dist/modules/path.d.ts +1 -1
  269. package/dist/modules/prob.d.ts +1 -1
  270. package/dist/modules/session.d.ts +1 -1
  271. package/dist/modules/str.d.ts +1 -1
  272. package/dist/modules/tensor.d.ts +1 -1
  273. package/dist/modules/time.d.ts +1 -1
  274. package/dist/modules/trace.d.ts +1 -1
  275. package/dist/modules/train.d.ts +1 -1
  276. package/dist/modules/validate.d.ts +1 -1
  277. package/dist/modules/vector.d.ts +1 -1
  278. package/dist/modules/workspace.d.ts +1 -1
  279. package/dist/registry/factory-signatures.json +1 -1
  280. package/dist/registry.d.ts +2 -2
  281. package/dist/registry.js +17 -0
  282. package/dist/{types-Ggla7OK7.d.ts → types-DLx38UFZ.d.ts} +23 -3
  283. package/package.json +3 -3
@@ -387,6 +387,14 @@
387
387
  "required": true,
388
388
  "type": "string"
389
389
  },
390
+ "roles": {
391
+ "items": {
392
+ "type": "string"
393
+ },
394
+ "name": "roles",
395
+ "required": false,
396
+ "type": "array"
397
+ },
390
398
  "variant": {
391
399
  "name": "variant",
392
400
  "required": false,
@@ -397,6 +405,11 @@
397
405
  "ghost",
398
406
  "danger"
399
407
  ]
408
+ },
409
+ "when": {
410
+ "name": "when",
411
+ "required": false,
412
+ "type": "object"
400
413
  }
401
414
  },
402
415
  "type": "object"
@@ -425,10 +438,44 @@
425
438
  "default": {
426
439
  "children": [
427
440
  {
428
- "actions": "@config.actions",
429
- "entity": "@payload.data",
441
+ "actions": [
442
+ "array/filter",
443
+ "@config.actions",
444
+ [
445
+ "fn",
446
+ "action",
447
+ [
448
+ "or",
449
+ [
450
+ "=",
451
+ [
452
+ "array/len",
453
+ [
454
+ "object/get",
455
+ "@action",
456
+ "roles",
457
+ []
458
+ ]
459
+ ],
460
+ 0.0
461
+ ],
462
+ [
463
+ "array/includes",
464
+ [
465
+ "object/get",
466
+ "@action",
467
+ "roles",
468
+ []
469
+ ],
470
+ "@config.viewerRole"
471
+ ]
472
+ ]
473
+ ]
474
+ ],
475
+ "closeEvent": "@config.closeEvent",
476
+ "entity": "@entity.loadedRow",
430
477
  "fields": "@config.fields",
431
- "initialData": "@payload.data",
478
+ "initialData": "@entity.loadedRow",
432
479
  "maxInlineActions": "@config.maxInlineActions",
433
480
  "sections": "@config.sections",
434
481
  "showActions": "@config.showActions",
@@ -446,6 +493,14 @@
446
493
  "tier": "internal",
447
494
  "type": "render-ui"
448
495
  },
496
+ "closeEvent": {
497
+ "default": "",
498
+ "description": "The `actions` entry whose event matches renders as the panel's close (×) button. Empty = no close button (a routed detail page navigates back instead).",
499
+ "label": "Which action closes the record?",
500
+ "synonyms": "close event, dismiss event, close button",
501
+ "tier": "presentation",
502
+ "type": "event"
503
+ },
449
504
  "contentField": {
450
505
  "default": "content",
451
506
  "description": "Name of the field on the loaded record that carries the rich-text HTML body the document look renders and edits (e.g. content, body, articleText).",
@@ -478,7 +533,40 @@
478
533
  },
479
534
  "documentBodyContent": {
480
535
  "default": {
481
- "actions": "@config.actions",
536
+ "actions": [
537
+ "array/filter",
538
+ "@config.actions",
539
+ [
540
+ "fn",
541
+ "action",
542
+ [
543
+ "or",
544
+ [
545
+ "=",
546
+ [
547
+ "array/len",
548
+ [
549
+ "object/get",
550
+ "@action",
551
+ "roles",
552
+ []
553
+ ]
554
+ ],
555
+ 0.0
556
+ ],
557
+ [
558
+ "array/includes",
559
+ [
560
+ "object/get",
561
+ "@action",
562
+ "roles",
563
+ []
564
+ ],
565
+ "@config.viewerRole"
566
+ ]
567
+ ]
568
+ ]
569
+ ],
482
570
  "className": "w-full",
483
571
  "coverImage": "@entity.coverUrl",
484
572
  "editEvent": [
@@ -510,7 +598,40 @@
510
598
  },
511
599
  "documentEditingContent": {
512
600
  "default": {
513
- "actions": "@config.actions",
601
+ "actions": [
602
+ "array/filter",
603
+ "@config.actions",
604
+ [
605
+ "fn",
606
+ "action",
607
+ [
608
+ "or",
609
+ [
610
+ "=",
611
+ [
612
+ "array/len",
613
+ [
614
+ "object/get",
615
+ "@action",
616
+ "roles",
617
+ []
618
+ ]
619
+ ],
620
+ 0.0
621
+ ],
622
+ [
623
+ "array/includes",
624
+ [
625
+ "object/get",
626
+ "@action",
627
+ "roles",
628
+ []
629
+ ],
630
+ "@config.viewerRole"
631
+ ]
632
+ ]
633
+ ]
634
+ ],
514
635
  "autosaveHint": "@config.autosaveHint",
515
636
  "className": "w-full",
516
637
  "contentChangeEvent": "CONTENT_CHANGE",
@@ -551,15 +672,18 @@
551
672
  "default": [
552
673
  {
553
674
  "header": "Name",
554
- "key": "name"
675
+ "key": "name",
676
+ "variant": "h4"
555
677
  },
556
678
  {
557
679
  "header": "Description",
558
- "key": "description"
680
+ "key": "description",
681
+ "variant": "body"
559
682
  },
560
683
  {
561
684
  "header": "Status",
562
- "key": "status"
685
+ "key": "status",
686
+ "variant": "badge"
563
687
  },
564
688
  {
565
689
  "format": "date",
@@ -570,6 +694,26 @@
570
694
  "description": "Each entry maps one entity field to a labelled row in the panel. Unlike a list row, a detail panel SHOULD label every field — the value stands alone here with no column header or repeated row position to name it.",
571
695
  "items": {
572
696
  "properties": {
697
+ "colorMap": {
698
+ "items": {
699
+ "type": "string",
700
+ "values": [
701
+ "default",
702
+ "primary",
703
+ "secondary",
704
+ "success",
705
+ "warning",
706
+ "danger",
707
+ "error",
708
+ "info",
709
+ "neutral",
710
+ "destructive"
711
+ ]
712
+ },
713
+ "name": "colorMap",
714
+ "required": false,
715
+ "type": "object"
716
+ },
573
717
  "format": {
574
718
  "name": "format",
575
719
  "required": false,
@@ -591,6 +735,28 @@
591
735
  "name": "key",
592
736
  "required": true,
593
737
  "type": "string"
738
+ },
739
+ "labels": {
740
+ "items": {
741
+ "type": "string"
742
+ },
743
+ "name": "labels",
744
+ "required": false,
745
+ "type": "object"
746
+ },
747
+ "variant": {
748
+ "name": "variant",
749
+ "required": false,
750
+ "type": "string",
751
+ "values": [
752
+ "h3",
753
+ "h4",
754
+ "body",
755
+ "caption",
756
+ "badge",
757
+ "small",
758
+ "progress"
759
+ ]
594
760
  }
595
761
  },
596
762
  "type": "object"
@@ -643,10 +809,44 @@
643
809
  "default": {
644
810
  "children": [
645
811
  {
646
- "actions": "@config.actions",
647
- "entity": "@payload.data",
812
+ "actions": [
813
+ "array/filter",
814
+ "@config.actions",
815
+ [
816
+ "fn",
817
+ "action",
818
+ [
819
+ "or",
820
+ [
821
+ "=",
822
+ [
823
+ "array/len",
824
+ [
825
+ "object/get",
826
+ "@action",
827
+ "roles",
828
+ []
829
+ ]
830
+ ],
831
+ 0.0
832
+ ],
833
+ [
834
+ "array/includes",
835
+ [
836
+ "object/get",
837
+ "@action",
838
+ "roles",
839
+ []
840
+ ],
841
+ "@config.viewerRole"
842
+ ]
843
+ ]
844
+ ]
845
+ ],
846
+ "closeEvent": "@config.closeEvent",
847
+ "entity": "@entity.loadedRow",
648
848
  "fields": "@config.fields",
649
- "initialData": "@payload.data",
849
+ "initialData": "@entity.loadedRow",
650
850
  "maxInlineActions": "@config.maxInlineActions",
651
851
  "sections": "@config.sections",
652
852
  "showActions": "@config.showActions",
@@ -710,10 +910,44 @@
710
910
  "default": {
711
911
  "children": [
712
912
  {
713
- "actions": "@config.actions",
714
- "entity": "@payload.data",
913
+ "actions": [
914
+ "array/filter",
915
+ "@config.actions",
916
+ [
917
+ "fn",
918
+ "action",
919
+ [
920
+ "or",
921
+ [
922
+ "=",
923
+ [
924
+ "array/len",
925
+ [
926
+ "object/get",
927
+ "@action",
928
+ "roles",
929
+ []
930
+ ]
931
+ ],
932
+ 0.0
933
+ ],
934
+ [
935
+ "array/includes",
936
+ [
937
+ "object/get",
938
+ "@action",
939
+ "roles",
940
+ []
941
+ ],
942
+ "@config.viewerRole"
943
+ ]
944
+ ]
945
+ ]
946
+ ],
947
+ "closeEvent": "@config.closeEvent",
948
+ "entity": "@entity.loadedRow",
715
949
  "fields": "@config.fields",
716
- "initialData": "@payload.data",
950
+ "initialData": "@entity.loadedRow",
717
951
  "maxInlineActions": "@config.maxInlineActions",
718
952
  "sections": "@config.sections",
719
953
  "showActions": "@config.showActions",
@@ -747,6 +981,13 @@
747
981
  "synonyms": "title field, heading field, name field, label field",
748
982
  "tier": "presentation",
749
983
  "type": "string"
984
+ },
985
+ "viewerRole": {
986
+ "default": "",
987
+ "description": "The signed-in viewer's role that each action's `roles` is checked against. Bind it explicitly at the call site (e.g. `viewerRole: @user.role`) in an app whose identity carries a role; left empty, only actions with no `roles` show.",
988
+ "label": "Viewer's role",
989
+ "tier": "policy",
990
+ "type": "string"
750
991
  }
751
992
  },
752
993
  "effectRow": [
@@ -4176,6 +4417,14 @@
4176
4417
  {
4177
4418
  "name": "variant",
4178
4419
  "type": "string"
4420
+ },
4421
+ {
4422
+ "name": "roles",
4423
+ "type": "[string]"
4424
+ },
4425
+ {
4426
+ "name": "when",
4427
+ "type": "SExpr"
4179
4428
  }
4180
4429
  ],
4181
4430
  "RecordFieldSpec": [
@@ -4191,6 +4440,18 @@
4191
4440
  {
4192
4441
  "name": "format",
4193
4442
  "type": "string"
4443
+ },
4444
+ {
4445
+ "name": "variant",
4446
+ "type": "string"
4447
+ },
4448
+ {
4449
+ "name": "colorMap",
4450
+ "type": "Map<string,BadgeColor>"
4451
+ },
4452
+ {
4453
+ "name": "labels",
4454
+ "type": "Map<string,string>"
4194
4455
  }
4195
4456
  ],
4196
4457
  "RecordSection": [
@@ -389,6 +389,41 @@
389
389
  "tier": "presentation",
390
390
  "type": "[string]"
391
391
  },
392
+ "itemActions": {
393
+ "default": [
394
+ {
395
+ "event": "OPEN_EXCEPTION",
396
+ "label": "Manage"
397
+ }
398
+ ],
399
+ "description": "Actions offered on each row; give an item `roles` to show it only to those viewer roles.",
400
+ "items": {
401
+ "properties": {
402
+ "event": {
403
+ "name": "event",
404
+ "required": false,
405
+ "type": "event"
406
+ },
407
+ "label": {
408
+ "name": "label",
409
+ "required": true,
410
+ "type": "string"
411
+ },
412
+ "roles": {
413
+ "items": {
414
+ "type": "string"
415
+ },
416
+ "name": "roles",
417
+ "required": false,
418
+ "type": "array"
419
+ }
420
+ },
421
+ "type": "object"
422
+ },
423
+ "label": "Row actions",
424
+ "tier": "presentation",
425
+ "type": "[ItemAction]"
426
+ },
392
427
  "timelineLook": {
393
428
  "default": "vertical-spacious",
394
429
  "description": "Layer 2 visual treatment for the timeline.",
@@ -408,6 +443,13 @@
408
443
  "label": "Section title",
409
444
  "tier": "presentation",
410
445
  "type": "string"
446
+ },
447
+ "viewerRole": {
448
+ "default": "",
449
+ "description": "The signed-in viewer's role that each action's `roles` is checked against. Bind it explicitly at the call site (e.g. `viewerRole: @user.role`) in an app whose identity carries a role; left empty, only actions with no `roles` show.",
450
+ "label": "Viewer's role",
451
+ "tier": "policy",
452
+ "type": "string"
411
453
  }
412
454
  },
413
455
  "effectRow": [
@@ -1117,6 +1159,8 @@
1117
1159
  "variant": "h4"
1118
1160
  },
1119
1161
  {
1162
+ "dateField": "date",
1163
+ "descriptionField": "description",
1120
1164
  "entity": "@entity.occurrences",
1121
1165
  "fields": [
1122
1166
  "title",
@@ -1125,12 +1169,42 @@
1125
1169
  "status"
1126
1170
  ],
1127
1171
  "itemActions": [
1128
- {
1129
- "event": "OPEN_EXCEPTION",
1130
- "label": "Manage"
1131
- }
1172
+ "array/filter",
1173
+ "@config.itemActions",
1174
+ [
1175
+ "fn",
1176
+ "action",
1177
+ [
1178
+ "or",
1179
+ [
1180
+ "=",
1181
+ [
1182
+ "array/len",
1183
+ [
1184
+ "object/get",
1185
+ "@action",
1186
+ "roles",
1187
+ []
1188
+ ]
1189
+ ],
1190
+ 0.0
1191
+ ],
1192
+ [
1193
+ "array/includes",
1194
+ [
1195
+ "object/get",
1196
+ "@action",
1197
+ "roles",
1198
+ []
1199
+ ],
1200
+ "@config.viewerRole"
1201
+ ]
1202
+ ]
1203
+ ]
1132
1204
  ],
1133
1205
  "look": "@config.timelineLook",
1206
+ "statusField": "status",
1207
+ "titleField": "title",
1134
1208
  "type": "timeline"
1135
1209
  },
1136
1210
  {
@@ -1638,6 +1712,21 @@
1638
1712
  }
1639
1713
  ],
1640
1714
  "types": {
1715
+ "ItemAction": [
1716
+ {
1717
+ "name": "label",
1718
+ "required": true,
1719
+ "type": "string"
1720
+ },
1721
+ {
1722
+ "name": "event",
1723
+ "type": "event"
1724
+ },
1725
+ {
1726
+ "name": "roles",
1727
+ "type": "[string]"
1728
+ }
1729
+ ],
1641
1730
  "ObjectSpec": [
1642
1731
  {
1643
1732
  "name": "id",