@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
@@ -218,6 +218,22 @@
218
218
  "kind": "trait",
219
219
  "owner": "workspace",
220
220
  "renames": []
221
+ },
222
+ "trt_01M3SFBP29125B6XWS09H2479Q": {
223
+ "bakedName": "ListItemCreateButton",
224
+ "curName": "ListItemCreateButton",
225
+ "id": "trt_01M3SFBP29125B6XWS09H2479Q",
226
+ "kind": "trait",
227
+ "owner": "workspace",
228
+ "renames": []
229
+ },
230
+ "trt_01M3SFBP2919B7ZZAVP0866HMK": {
231
+ "bakedName": "ListItemCreateGate",
232
+ "curName": "ListItemCreateGate",
233
+ "id": "trt_01M3SFBP2919B7ZZAVP0866HMK",
234
+ "kind": "trait",
235
+ "owner": "workspace",
236
+ "renames": []
221
237
  }
222
238
  },
223
239
  "schemaVersion": 1
@@ -317,6 +333,16 @@
317
333
  "tier": "presentation",
318
334
  "type": "boolean"
319
335
  },
336
+ "createRoles": {
337
+ "default": [],
338
+ "description": "Roles (matched against viewerRole) that see the Create button. Empty = everyone.",
339
+ "items": {
340
+ "type": "string"
341
+ },
342
+ "label": "Roles that can create",
343
+ "tier": "policy",
344
+ "type": "[string]"
345
+ },
320
346
  "displayPageSize": {
321
347
  "default": 20.0,
322
348
  "description": "Rows visible per page before the data-grid's own pagination control appears — 20 matches the CRUD-list density sweet spot (Miller's law, 10-25 rows).",
@@ -371,6 +397,66 @@
371
397
  "tier": "presentation",
372
398
  "type": "[FilterSpec]"
373
399
  },
400
+ "itemActions": {
401
+ "default": [
402
+ {
403
+ "event": "EDIT",
404
+ "label": "Edit",
405
+ "variant": "ghost"
406
+ },
407
+ {
408
+ "event": "DELETE",
409
+ "label": "Delete",
410
+ "variant": "danger"
411
+ }
412
+ ],
413
+ "description": "Actions offered on each row; give an item `roles` to show it only to those viewer roles.",
414
+ "items": {
415
+ "properties": {
416
+ "event": {
417
+ "name": "event",
418
+ "required": false,
419
+ "type": "event"
420
+ },
421
+ "label": {
422
+ "name": "label",
423
+ "required": true,
424
+ "type": "string"
425
+ },
426
+ "roles": {
427
+ "items": {
428
+ "type": "string"
429
+ },
430
+ "name": "roles",
431
+ "required": false,
432
+ "type": "array"
433
+ },
434
+ "variant": {
435
+ "name": "variant",
436
+ "required": false,
437
+ "type": "string"
438
+ },
439
+ "when": {
440
+ "name": "when",
441
+ "required": false,
442
+ "type": "object"
443
+ }
444
+ },
445
+ "type": "object"
446
+ },
447
+ "label": "Row actions",
448
+ "tier": "presentation",
449
+ "type": "[ItemAction]"
450
+ },
451
+ "itemClickEvent": {
452
+ "default": "EDIT",
453
+ "description": "Row-click channel; empty = rows are not clickable.",
454
+ "label": "Which event does clicking a row fire?",
455
+ "refId": "evt_01KXG04GRMWW5X0FMZ8QB3J2FJ",
456
+ "synonyms": "row click event, item click, open event",
457
+ "tier": "presentation",
458
+ "type": "event"
459
+ },
374
460
  "pageSize": {
375
461
  "default": 20.0,
376
462
  "description": "Records fetched from the server per REFETCH_PAGE request. The initial load and search/filter refetches remain unpaginated (load everything that matches) unless a consumer wires REFETCH_PAGE, so the default list surface is unchanged.",
@@ -394,6 +480,13 @@
394
480
  "synonyms": "search hint, placeholder, search box text",
395
481
  "tier": "presentation",
396
482
  "type": "string"
483
+ },
484
+ "viewerRole": {
485
+ "default": "",
486
+ "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.",
487
+ "label": "Viewer's role",
488
+ "tier": "policy",
489
+ "type": "string"
397
490
  }
398
491
  },
399
492
  "effectRow": [
@@ -908,13 +1001,7 @@
908
1001
  "gap": "md",
909
1002
  "type": "stack"
910
1003
  },
911
- {
912
- "action": "CREATE",
913
- "icon": "plus",
914
- "label": "Create",
915
- "type": "button",
916
- "variant": "primary"
917
- }
1004
+ "@trait.ListItemCreateGate"
918
1005
  ],
919
1006
  "direction": "horizontal",
920
1007
  "gap": "md",
@@ -998,17 +1085,40 @@
998
1085
  }
999
1086
  ],
1000
1087
  "itemActions": [
1001
- {
1002
- "event": "EDIT",
1003
- "label": "Edit",
1004
- "variant": "ghost"
1005
- },
1006
- {
1007
- "event": "DELETE",
1008
- "label": "Delete",
1009
- "variant": "danger"
1010
- }
1088
+ "array/filter",
1089
+ "@config.itemActions",
1090
+ [
1091
+ "fn",
1092
+ "action",
1093
+ [
1094
+ "or",
1095
+ [
1096
+ "=",
1097
+ [
1098
+ "array/len",
1099
+ [
1100
+ "object/get",
1101
+ "@action",
1102
+ "roles",
1103
+ []
1104
+ ]
1105
+ ],
1106
+ 0.0
1107
+ ],
1108
+ [
1109
+ "array/includes",
1110
+ [
1111
+ "object/get",
1112
+ "@action",
1113
+ "roles",
1114
+ []
1115
+ ],
1116
+ "@config.viewerRole"
1117
+ ]
1118
+ ]
1119
+ ]
1011
1120
  ],
1121
+ "itemClickEvent": "@config.itemClickEvent",
1012
1122
  "pageSize": "@config.displayPageSize",
1013
1123
  "type": "data-grid"
1014
1124
  }
@@ -1241,13 +1351,7 @@
1241
1351
  "gap": "md",
1242
1352
  "type": "stack"
1243
1353
  },
1244
- {
1245
- "action": "CREATE",
1246
- "icon": "plus",
1247
- "label": "Create",
1248
- "type": "button",
1249
- "variant": "primary"
1250
- }
1354
+ "@trait.ListItemCreateGate"
1251
1355
  ],
1252
1356
  "direction": "horizontal",
1253
1357
  "gap": "md",
@@ -1331,17 +1435,40 @@
1331
1435
  }
1332
1436
  ],
1333
1437
  "itemActions": [
1334
- {
1335
- "event": "EDIT",
1336
- "label": "Edit",
1337
- "variant": "ghost"
1338
- },
1339
- {
1340
- "event": "DELETE",
1341
- "label": "Delete",
1342
- "variant": "danger"
1343
- }
1438
+ "array/filter",
1439
+ "@config.itemActions",
1440
+ [
1441
+ "fn",
1442
+ "action",
1443
+ [
1444
+ "or",
1445
+ [
1446
+ "=",
1447
+ [
1448
+ "array/len",
1449
+ [
1450
+ "object/get",
1451
+ "@action",
1452
+ "roles",
1453
+ []
1454
+ ]
1455
+ ],
1456
+ 0.0
1457
+ ],
1458
+ [
1459
+ "array/includes",
1460
+ [
1461
+ "object/get",
1462
+ "@action",
1463
+ "roles",
1464
+ []
1465
+ ],
1466
+ "@config.viewerRole"
1467
+ ]
1468
+ ]
1469
+ ]
1344
1470
  ],
1471
+ "itemClickEvent": "@config.itemClickEvent",
1345
1472
  "pageSize": "@config.displayPageSize",
1346
1473
  "type": "data-grid"
1347
1474
  }
@@ -1409,8 +1536,53 @@
1409
1536
  "to": "loading"
1410
1537
  }
1411
1538
  ]
1539
+ },
1540
+ "traitEmbedIds": {
1541
+ "ListItemCreateGate": "trt_01M3SFBP2919B7ZZAVP0866HMK"
1412
1542
  }
1413
1543
  },
1544
+ {
1545
+ "config": {
1546
+ "action": {
1547
+ "default": "CREATE",
1548
+ "type": "unknown"
1549
+ },
1550
+ "icon": {
1551
+ "default": "plus",
1552
+ "type": "unknown"
1553
+ },
1554
+ "label": {
1555
+ "default": "Create",
1556
+ "type": "unknown"
1557
+ },
1558
+ "variant": {
1559
+ "default": "primary",
1560
+ "type": "unknown"
1561
+ }
1562
+ },
1563
+ "id": "trt_01M3SFBP29125B6XWS09H2479Q",
1564
+ "name": "ListItemCreateButton",
1565
+ "ref": "Button.traits.ButtonRender"
1566
+ },
1567
+ {
1568
+ "config": {
1569
+ "content": {
1570
+ "default": "@trait.ListItemCreateButton",
1571
+ "type": "unknown"
1572
+ },
1573
+ "roles": {
1574
+ "default": "@config.createRoles",
1575
+ "type": "unknown"
1576
+ },
1577
+ "viewerRole": {
1578
+ "default": "@config.viewerRole",
1579
+ "type": "unknown"
1580
+ }
1581
+ },
1582
+ "id": "trt_01M3SFBP2919B7ZZAVP0866HMK",
1583
+ "name": "ListItemCreateGate",
1584
+ "ref": "RoleGate.traits.RoleGate"
1585
+ },
1414
1586
  {
1415
1587
  "config": {
1416
1588
  "fields": {
@@ -1876,9 +2048,40 @@
1876
2048
  "name": "options",
1877
2049
  "type": "[string]"
1878
2050
  }
2051
+ ],
2052
+ "ItemAction": [
2053
+ {
2054
+ "name": "label",
2055
+ "required": true,
2056
+ "type": "string"
2057
+ },
2058
+ {
2059
+ "name": "event",
2060
+ "type": "event"
2061
+ },
2062
+ {
2063
+ "name": "variant",
2064
+ "type": "string"
2065
+ },
2066
+ {
2067
+ "name": "roles",
2068
+ "type": "[string]"
2069
+ },
2070
+ {
2071
+ "name": "when",
2072
+ "type": "SExpr"
2073
+ }
1879
2074
  ]
1880
2075
  },
1881
2076
  "uses": [
2077
+ {
2078
+ "as": "RoleGate",
2079
+ "from": "std/behaviors/std-role-gate"
2080
+ },
2081
+ {
2082
+ "as": "Button",
2083
+ "from": "std/behaviors/ui-button"
2084
+ },
1882
2085
  {
1883
2086
  "as": "Confirmation",
1884
2087
  "from": "std/behaviors/std-confirmation"
@@ -770,7 +770,7 @@
770
770
  "name": "Initialize"
771
771
  },
772
772
  {
773
- "description": "One physical keydown, delivered by the host's keyboard router. The host decides preventDefault from config.keymap; this trait only reads key + editorId.",
773
+ "description": "One physical keydown, delivered by the host's keyboard router. The host decides preventDefault from config.keymap; the command line accepts only keys config.keymap captures in COMMAND.",
774
774
  "id": "evt_01M1N9RFGVK31M3ZE4N9FBHBWM",
775
775
  "key": "KEY",
776
776
  "name": "Key",
@@ -3095,6 +3095,15 @@
3095
3095
  "from": "COMMAND",
3096
3096
  "guard": [
3097
3097
  "and",
3098
+ [
3099
+ "array/includes",
3100
+ [
3101
+ "object/get",
3102
+ "@config.keymap",
3103
+ "COMMAND"
3104
+ ],
3105
+ "@payload.key"
3106
+ ],
3098
3107
  [
3099
3108
  "!=",
3100
3109
  "@payload.key",
@@ -1486,6 +1486,8 @@
1486
1486
  "variant": "h4"
1487
1487
  },
1488
1488
  {
1489
+ "dateField": "timestamp",
1490
+ "descriptionField": "description",
1489
1491
  "entity": "@entity.audit",
1490
1492
  "fields": [
1491
1493
  "title",
@@ -1494,6 +1496,8 @@
1494
1496
  "status"
1495
1497
  ],
1496
1498
  "look": "@config.timelineLook",
1499
+ "statusField": "status",
1500
+ "titleField": "title",
1497
1501
  "type": "timeline"
1498
1502
  },
1499
1503
  {
@@ -2004,6 +2008,8 @@
2004
2008
  "variant": "h4"
2005
2009
  },
2006
2010
  {
2011
+ "dateField": "timestamp",
2012
+ "descriptionField": "description",
2007
2013
  "entity": "@entity.audit",
2008
2014
  "fields": [
2009
2015
  "title",
@@ -2012,6 +2018,8 @@
2012
2018
  "status"
2013
2019
  ],
2014
2020
  "look": "@config.timelineLook",
2021
+ "statusField": "status",
2022
+ "titleField": "title",
2015
2023
  "type": "timeline"
2016
2024
  },
2017
2025
  {
@@ -2285,6 +2293,8 @@
2285
2293
  "variant": "h4"
2286
2294
  },
2287
2295
  {
2296
+ "dateField": "timestamp",
2297
+ "descriptionField": "description",
2288
2298
  "entity": "@entity.audit",
2289
2299
  "fields": [
2290
2300
  "title",
@@ -2293,6 +2303,8 @@
2293
2303
  "status"
2294
2304
  ],
2295
2305
  "look": "@config.timelineLook",
2306
+ "statusField": "status",
2307
+ "titleField": "title",
2296
2308
  "type": "timeline"
2297
2309
  }
2298
2310
  ],
@@ -2566,6 +2578,8 @@
2566
2578
  "variant": "h4"
2567
2579
  },
2568
2580
  {
2581
+ "dateField": "timestamp",
2582
+ "descriptionField": "description",
2569
2583
  "entity": "@entity.audit",
2570
2584
  "fields": [
2571
2585
  "title",
@@ -2574,6 +2588,8 @@
2574
2588
  "status"
2575
2589
  ],
2576
2590
  "look": "@config.timelineLook",
2591
+ "statusField": "status",
2592
+ "titleField": "title",
2577
2593
  "type": "timeline"
2578
2594
  },
2579
2595
  {
@@ -2717,6 +2733,8 @@
2717
2733
  "variant": "h4"
2718
2734
  },
2719
2735
  {
2736
+ "dateField": "timestamp",
2737
+ "descriptionField": "description",
2720
2738
  "entity": "@entity.audit",
2721
2739
  "fields": [
2722
2740
  "title",
@@ -2725,6 +2743,8 @@
2725
2743
  "status"
2726
2744
  ],
2727
2745
  "look": "@config.timelineLook",
2746
+ "statusField": "status",
2747
+ "titleField": "title",
2728
2748
  "type": "timeline"
2729
2749
  },
2730
2750
  {
@@ -2867,6 +2887,8 @@
2867
2887
  "variant": "h4"
2868
2888
  },
2869
2889
  {
2890
+ "dateField": "timestamp",
2891
+ "descriptionField": "description",
2870
2892
  "entity": "@entity.audit",
2871
2893
  "fields": [
2872
2894
  "title",
@@ -2875,6 +2897,8 @@
2875
2897
  "status"
2876
2898
  ],
2877
2899
  "look": "@config.timelineLook",
2900
+ "statusField": "status",
2901
+ "titleField": "title",
2878
2902
  "type": "timeline"
2879
2903
  },
2880
2904
  {
@@ -1766,6 +1766,7 @@
1766
1766
  },
1767
1767
  {
1768
1768
  "cancelEvent": "CANCEL_REVIEW",
1769
+ "cancelLabel": "@config.cancelLabel",
1769
1770
  "entity": "@entity",
1770
1771
  "fields": "@config.reviewFields",
1771
1772
  "mode": "edit",
@@ -3035,6 +3036,7 @@
3035
3036
  },
3036
3037
  {
3037
3038
  "cancelEvent": "CANCEL_REVIEW",
3039
+ "cancelLabel": "@config.cancelLabel",
3038
3040
  "entity": "@entity",
3039
3041
  "fields": "@config.reviewFields",
3040
3042
  "mode": "edit",
@@ -3266,13 +3268,6 @@
3266
3268
  "tier": "presentation",
3267
3269
  "type": "boolean"
3268
3270
  },
3269
- "allowPhotos": {
3270
- "default": false,
3271
- "description": "Let the user attach photos to the review",
3272
- "label": "Allow photos",
3273
- "tier": "presentation",
3274
- "type": "boolean"
3275
- },
3276
3271
  "cancelLabel": {
3277
3272
  "default": "Cancel",
3278
3273
  "description": "Label on the cancel button",
@@ -3303,13 +3298,6 @@
3303
3298
  "tier": "domain",
3304
3299
  "type": "number"
3305
3300
  },
3306
- "submitEvent": {
3307
- "default": "SUBMIT_REVIEW",
3308
- "description": "Event emitted when the user submits the form",
3309
- "label": "Submit event",
3310
- "tier": "internal",
3311
- "type": "string"
3312
- },
3313
3301
  "submitLabel": {
3314
3302
  "default": "Submit review",
3315
3303
  "description": "Label on the primary submit button",
@@ -3784,9 +3772,15 @@
3784
3772
  },
3785
3773
  {
3786
3774
  "cancelEvent": "CANCEL_REVIEW",
3775
+ "cancelLabel": "@config.cancelLabel",
3787
3776
  "entity": "@entity",
3788
3777
  "fields": [
3789
- "draftComment"
3778
+ "if",
3779
+ "@config.allowComment",
3780
+ [
3781
+ "draftComment"
3782
+ ],
3783
+ []
3790
3784
  ],
3791
3785
  "mode": "edit",
3792
3786
  "submitEvent": "SUBMIT_REVIEW",
@@ -3836,9 +3830,15 @@
3836
3830
  },
3837
3831
  {
3838
3832
  "cancelEvent": "CANCEL_REVIEW",
3833
+ "cancelLabel": "@config.cancelLabel",
3839
3834
  "entity": "@entity",
3840
3835
  "fields": [
3841
- "draftComment"
3836
+ "if",
3837
+ "@config.allowComment",
3838
+ [
3839
+ "draftComment"
3840
+ ],
3841
+ []
3842
3842
  ],
3843
3843
  "mode": "edit",
3844
3844
  "submitEvent": "SUBMIT_REVIEW",
@@ -3938,9 +3938,15 @@
3938
3938
  },
3939
3939
  {
3940
3940
  "cancelEvent": "CANCEL_REVIEW",
3941
+ "cancelLabel": "@config.cancelLabel",
3941
3942
  "entity": "@entity",
3942
3943
  "fields": [
3943
- "draftComment"
3944
+ "if",
3945
+ "@config.allowComment",
3946
+ [
3947
+ "draftComment"
3948
+ ],
3949
+ []
3944
3950
  ],
3945
3951
  "mode": "edit",
3946
3952
  "submitEvent": "SUBMIT_REVIEW",
@@ -4054,9 +4060,15 @@
4054
4060
  },
4055
4061
  {
4056
4062
  "cancelEvent": "CANCEL_REVIEW",
4063
+ "cancelLabel": "@config.cancelLabel",
4057
4064
  "entity": "@entity",
4058
4065
  "fields": [
4059
- "draftComment"
4066
+ "if",
4067
+ "@config.allowComment",
4068
+ [
4069
+ "draftComment"
4070
+ ],
4071
+ []
4060
4072
  ],
4061
4073
  "mode": "edit",
4062
4074
  "submitEvent": "SUBMIT_REVIEW",
@@ -4101,9 +4113,15 @@
4101
4113
  },
4102
4114
  {
4103
4115
  "cancelEvent": "CANCEL_REVIEW",
4116
+ "cancelLabel": "@config.cancelLabel",
4104
4117
  "entity": "@entity",
4105
4118
  "fields": [
4106
- "draftComment"
4119
+ "if",
4120
+ "@config.allowComment",
4121
+ [
4122
+ "draftComment"
4123
+ ],
4124
+ []
4107
4125
  ],
4108
4126
  "mode": "edit",
4109
4127
  "submitEvent": "SUBMIT_REVIEW",