@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
@@ -209,6 +209,14 @@
209
209
  "required": false,
210
210
  "type": "string"
211
211
  },
212
+ "roles": {
213
+ "items": {
214
+ "type": "string"
215
+ },
216
+ "name": "roles",
217
+ "required": false,
218
+ "type": "array"
219
+ },
212
220
  "variant": {
213
221
  "name": "variant",
214
222
  "required": false,
@@ -722,6 +730,13 @@
722
730
  "tier": "presentation",
723
731
  "type": "string"
724
732
  },
733
+ "viewerRole": {
734
+ "default": "",
735
+ "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.",
736
+ "label": "Viewer's role",
737
+ "tier": "policy",
738
+ "type": "string"
739
+ },
725
740
  "wordWrap": {
726
741
  "default": false,
727
742
  "description": "Enable word-wrap in code / diff mode",
@@ -1028,7 +1043,40 @@
1028
1043
  "render-ui",
1029
1044
  "main",
1030
1045
  {
1031
- "actions": "@config.actions",
1046
+ "actions": [
1047
+ "array/filter",
1048
+ "@config.actions",
1049
+ [
1050
+ "fn",
1051
+ "action",
1052
+ [
1053
+ "or",
1054
+ [
1055
+ "=",
1056
+ [
1057
+ "array/len",
1058
+ [
1059
+ "object/get",
1060
+ "@action",
1061
+ "roles",
1062
+ []
1063
+ ]
1064
+ ],
1065
+ 0.0
1066
+ ],
1067
+ [
1068
+ "array/includes",
1069
+ [
1070
+ "object/get",
1071
+ "@action",
1072
+ "roles",
1073
+ []
1074
+ ],
1075
+ "@config.viewerRole"
1076
+ ]
1077
+ ]
1078
+ ]
1079
+ ],
1032
1080
  "className": "@config.className",
1033
1081
  "code": "@entity.code",
1034
1082
  "diagnostics": "@config.diagnostics",
@@ -1083,7 +1131,40 @@
1083
1131
  "render-ui",
1084
1132
  "main",
1085
1133
  {
1086
- "actions": "@config.actions",
1134
+ "actions": [
1135
+ "array/filter",
1136
+ "@config.actions",
1137
+ [
1138
+ "fn",
1139
+ "action",
1140
+ [
1141
+ "or",
1142
+ [
1143
+ "=",
1144
+ [
1145
+ "array/len",
1146
+ [
1147
+ "object/get",
1148
+ "@action",
1149
+ "roles",
1150
+ []
1151
+ ]
1152
+ ],
1153
+ 0.0
1154
+ ],
1155
+ [
1156
+ "array/includes",
1157
+ [
1158
+ "object/get",
1159
+ "@action",
1160
+ "roles",
1161
+ []
1162
+ ],
1163
+ "@config.viewerRole"
1164
+ ]
1165
+ ]
1166
+ ]
1167
+ ],
1087
1168
  "className": "@config.className",
1088
1169
  "code": "@entity.code",
1089
1170
  "diagnostics": "@config.diagnostics",
@@ -1138,7 +1219,40 @@
1138
1219
  "render-ui",
1139
1220
  "main",
1140
1221
  {
1141
- "actions": "@config.actions",
1222
+ "actions": [
1223
+ "array/filter",
1224
+ "@config.actions",
1225
+ [
1226
+ "fn",
1227
+ "action",
1228
+ [
1229
+ "or",
1230
+ [
1231
+ "=",
1232
+ [
1233
+ "array/len",
1234
+ [
1235
+ "object/get",
1236
+ "@action",
1237
+ "roles",
1238
+ []
1239
+ ]
1240
+ ],
1241
+ 0.0
1242
+ ],
1243
+ [
1244
+ "array/includes",
1245
+ [
1246
+ "object/get",
1247
+ "@action",
1248
+ "roles",
1249
+ []
1250
+ ],
1251
+ "@config.viewerRole"
1252
+ ]
1253
+ ]
1254
+ ]
1255
+ ],
1142
1256
  "className": "@config.className",
1143
1257
  "code": "@entity.code",
1144
1258
  "diagnostics": "@config.diagnostics",
@@ -1193,7 +1307,40 @@
1193
1307
  "render-ui",
1194
1308
  "main",
1195
1309
  {
1196
- "actions": "@config.actions",
1310
+ "actions": [
1311
+ "array/filter",
1312
+ "@config.actions",
1313
+ [
1314
+ "fn",
1315
+ "action",
1316
+ [
1317
+ "or",
1318
+ [
1319
+ "=",
1320
+ [
1321
+ "array/len",
1322
+ [
1323
+ "object/get",
1324
+ "@action",
1325
+ "roles",
1326
+ []
1327
+ ]
1328
+ ],
1329
+ 0.0
1330
+ ],
1331
+ [
1332
+ "array/includes",
1333
+ [
1334
+ "object/get",
1335
+ "@action",
1336
+ "roles",
1337
+ []
1338
+ ],
1339
+ "@config.viewerRole"
1340
+ ]
1341
+ ]
1342
+ ]
1343
+ ],
1197
1344
  "className": "@config.className",
1198
1345
  "code": "@entity.code",
1199
1346
  "diagnostics": "@config.diagnostics",
@@ -1248,7 +1395,40 @@
1248
1395
  "render-ui",
1249
1396
  "main",
1250
1397
  {
1251
- "actions": "@config.actions",
1398
+ "actions": [
1399
+ "array/filter",
1400
+ "@config.actions",
1401
+ [
1402
+ "fn",
1403
+ "action",
1404
+ [
1405
+ "or",
1406
+ [
1407
+ "=",
1408
+ [
1409
+ "array/len",
1410
+ [
1411
+ "object/get",
1412
+ "@action",
1413
+ "roles",
1414
+ []
1415
+ ]
1416
+ ],
1417
+ 0.0
1418
+ ],
1419
+ [
1420
+ "array/includes",
1421
+ [
1422
+ "object/get",
1423
+ "@action",
1424
+ "roles",
1425
+ []
1426
+ ],
1427
+ "@config.viewerRole"
1428
+ ]
1429
+ ]
1430
+ ]
1431
+ ],
1252
1432
  "className": "@config.className",
1253
1433
  "code": "@entity.code",
1254
1434
  "diagnostics": "@config.diagnostics",
@@ -1303,7 +1483,40 @@
1303
1483
  "render-ui",
1304
1484
  "main",
1305
1485
  {
1306
- "actions": "@config.actions",
1486
+ "actions": [
1487
+ "array/filter",
1488
+ "@config.actions",
1489
+ [
1490
+ "fn",
1491
+ "action",
1492
+ [
1493
+ "or",
1494
+ [
1495
+ "=",
1496
+ [
1497
+ "array/len",
1498
+ [
1499
+ "object/get",
1500
+ "@action",
1501
+ "roles",
1502
+ []
1503
+ ]
1504
+ ],
1505
+ 0.0
1506
+ ],
1507
+ [
1508
+ "array/includes",
1509
+ [
1510
+ "object/get",
1511
+ "@action",
1512
+ "roles",
1513
+ []
1514
+ ],
1515
+ "@config.viewerRole"
1516
+ ]
1517
+ ]
1518
+ ]
1519
+ ],
1307
1520
  "className": "@config.className",
1308
1521
  "code": "@entity.code",
1309
1522
  "diagnostics": "@config.diagnostics",
@@ -1358,7 +1571,40 @@
1358
1571
  "render-ui",
1359
1572
  "main",
1360
1573
  {
1361
- "actions": "@config.actions",
1574
+ "actions": [
1575
+ "array/filter",
1576
+ "@config.actions",
1577
+ [
1578
+ "fn",
1579
+ "action",
1580
+ [
1581
+ "or",
1582
+ [
1583
+ "=",
1584
+ [
1585
+ "array/len",
1586
+ [
1587
+ "object/get",
1588
+ "@action",
1589
+ "roles",
1590
+ []
1591
+ ]
1592
+ ],
1593
+ 0.0
1594
+ ],
1595
+ [
1596
+ "array/includes",
1597
+ [
1598
+ "object/get",
1599
+ "@action",
1600
+ "roles",
1601
+ []
1602
+ ],
1603
+ "@config.viewerRole"
1604
+ ]
1605
+ ]
1606
+ ]
1607
+ ],
1362
1608
  "className": "@config.className",
1363
1609
  "code": "@entity.code",
1364
1610
  "diagnostics": "@config.diagnostics",
@@ -1413,7 +1659,40 @@
1413
1659
  "render-ui",
1414
1660
  "main",
1415
1661
  {
1416
- "actions": "@config.actions",
1662
+ "actions": [
1663
+ "array/filter",
1664
+ "@config.actions",
1665
+ [
1666
+ "fn",
1667
+ "action",
1668
+ [
1669
+ "or",
1670
+ [
1671
+ "=",
1672
+ [
1673
+ "array/len",
1674
+ [
1675
+ "object/get",
1676
+ "@action",
1677
+ "roles",
1678
+ []
1679
+ ]
1680
+ ],
1681
+ 0.0
1682
+ ],
1683
+ [
1684
+ "array/includes",
1685
+ [
1686
+ "object/get",
1687
+ "@action",
1688
+ "roles",
1689
+ []
1690
+ ],
1691
+ "@config.viewerRole"
1692
+ ]
1693
+ ]
1694
+ ]
1695
+ ],
1417
1696
  "className": "@config.className",
1418
1697
  "code": "@entity.code",
1419
1698
  "diagnostics": "@config.diagnostics",
@@ -1479,6 +1758,10 @@
1479
1758
  {
1480
1759
  "name": "variant",
1481
1760
  "type": "string"
1761
+ },
1762
+ {
1763
+ "name": "roles",
1764
+ "type": "[string]"
1482
1765
  }
1483
1766
  ],
1484
1767
  "CodeBlockDiagnosticsItem": [
@@ -172,6 +172,14 @@
172
172
  "required": true,
173
173
  "type": "string"
174
174
  },
175
+ "roles": {
176
+ "items": {
177
+ "type": "string"
178
+ },
179
+ "name": "roles",
180
+ "required": false,
181
+ "type": "array"
182
+ },
175
183
  "shortcut": {
176
184
  "name": "shortcut",
177
185
  "required": false,
@@ -218,6 +226,13 @@
218
226
  "label": "Placeholder",
219
227
  "tier": "presentation",
220
228
  "type": "string"
229
+ },
230
+ "viewerRole": {
231
+ "default": "",
232
+ "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.",
233
+ "label": "Viewer's role",
234
+ "tier": "policy",
235
+ "type": "string"
221
236
  }
222
237
  },
223
238
  "effectRow": [
@@ -427,7 +442,40 @@
427
442
  "main",
428
443
  {
429
444
  "className": "@config.className",
430
- "commands": "@config.commands",
445
+ "commands": [
446
+ "array/filter",
447
+ "@config.commands",
448
+ [
449
+ "fn",
450
+ "action",
451
+ [
452
+ "or",
453
+ [
454
+ "=",
455
+ [
456
+ "array/len",
457
+ [
458
+ "object/get",
459
+ "@action",
460
+ "roles",
461
+ []
462
+ ]
463
+ ],
464
+ 0.0
465
+ ],
466
+ [
467
+ "array/includes",
468
+ [
469
+ "object/get",
470
+ "@action",
471
+ "roles",
472
+ []
473
+ ],
474
+ "@config.viewerRole"
475
+ ]
476
+ ]
477
+ ]
478
+ ],
431
479
  "emptyLabel": "@config.emptyLabel",
432
480
  "onOpenChange": "@config.onOpenChange",
433
481
  "onSelect": "@config.onSelect",
@@ -454,7 +502,40 @@
454
502
  "main",
455
503
  {
456
504
  "className": "@config.className",
457
- "commands": "@config.commands",
505
+ "commands": [
506
+ "array/filter",
507
+ "@config.commands",
508
+ [
509
+ "fn",
510
+ "action",
511
+ [
512
+ "or",
513
+ [
514
+ "=",
515
+ [
516
+ "array/len",
517
+ [
518
+ "object/get",
519
+ "@action",
520
+ "roles",
521
+ []
522
+ ]
523
+ ],
524
+ 0.0
525
+ ],
526
+ [
527
+ "array/includes",
528
+ [
529
+ "object/get",
530
+ "@action",
531
+ "roles",
532
+ []
533
+ ],
534
+ "@config.viewerRole"
535
+ ]
536
+ ]
537
+ ]
538
+ ],
458
539
  "emptyLabel": "@config.emptyLabel",
459
540
  "onOpenChange": "@config.onOpenChange",
460
541
  "onSelect": "@config.onSelect",
@@ -516,6 +597,10 @@
516
597
  {
517
598
  "name": "actionPayload",
518
599
  "type": "@payload(.action)"
600
+ },
601
+ {
602
+ "name": "roles",
603
+ "type": "[string]"
519
604
  }
520
605
  ],
521
606
  "CommandPaletteSELECTCommand": [
@@ -155,7 +155,7 @@
155
155
  },
156
156
  "kind": {
157
157
  "default": "user",
158
- "description": "What made this version (a user save, an agent turn, a restore, an undo/redo, a snapshot).",
158
+ "description": "What made this version (a user save, an agent turn, a restore, an undo/redo, a snapshot, a merge of a teammate's work).",
159
159
  "label": "Kind",
160
160
  "tier": "presentation",
161
161
  "type": "string",
@@ -165,7 +165,8 @@
165
165
  "restore",
166
166
  "undo",
167
167
  "redo",
168
- "snapshot"
168
+ "snapshot",
169
+ "merge"
169
170
  ]
170
171
  },
171
172
  "message": {
@@ -55,6 +55,15 @@
55
55
  "parent": "trt_01KXG04N3RSBSTZDAPDG9V6J2R",
56
56
  "renames": []
57
57
  },
58
+ "evt_01M3SGNEDVFXYK8Y451XP3K1HX": {
59
+ "bakedName": "@config.onExited",
60
+ "curName": "@config.onExited",
61
+ "id": "evt_01M3SGNEDVFXYK8Y451XP3K1HX",
62
+ "kind": "event",
63
+ "owner": "workspace",
64
+ "parent": "trt_01KXG04N3RSBSTZDAPDG9V6J2R",
65
+ "renames": []
66
+ },
58
67
  "orb_01KXG04N3RDZNPGSNKQQZN8W5T": {
59
68
  "bakedName": "ConfirmDialogOrbital",
60
69
  "curName": "ConfirmDialogOrbital",
@@ -214,6 +223,13 @@
214
223
  "tier": "presentation",
215
224
  "type": "event"
216
225
  },
226
+ "onExited": {
227
+ "default": "EXITED",
228
+ "description": "Fires after the exit animation completes (the dialog is about to unmount).",
229
+ "label": "On Exited",
230
+ "tier": "presentation",
231
+ "type": "event"
232
+ },
217
233
  "size": {
218
234
  "default": "sm",
219
235
  "description": "Dialog size",
@@ -268,6 +284,14 @@
268
284
  "scope": "external",
269
285
  "tier": "essential"
270
286
  },
287
+ {
288
+ "definerKnob": "onExited",
289
+ "description": "Fires after the exit animation completes (the dialog is about to unmount).",
290
+ "event": "@config.onExited",
291
+ "eventId": "evt_01M3SGNEDVFXYK8Y451XP3K1HX",
292
+ "scope": "external",
293
+ "tier": "essential"
294
+ },
271
295
  {
272
296
  "definerKnob": "onConfirm",
273
297
  "description": "Callback when action is confirmed (injected by slot wrapper)",
@@ -335,6 +359,13 @@
335
359
  "name": "@config.on close",
336
360
  "tier": "essential"
337
361
  },
362
+ {
363
+ "description": "Fires after the exit animation completes (the dialog is about to unmount).",
364
+ "id": "evt_01M3SGNEDVFXYK8Y451XP3K1HX",
365
+ "key": "@config.onExited",
366
+ "name": "@config.on exited",
367
+ "tier": "essential"
368
+ },
338
369
  {
339
370
  "description": "Callback when action is confirmed (injected by slot wrapper)",
340
371
  "id": "evt_01KXG04N3VBGPR9X1EXKM5459K",
@@ -388,6 +419,7 @@
388
419
  "message": "@config.message",
389
420
  "onClose": "@config.onClose",
390
421
  "onConfirm": "@config.onConfirm",
422
+ "onExited": "@config.onExited",
391
423
  "size": "@config.size",
392
424
  "title": "@config.title",
393
425
  "type": "confirm-dialog",