@almadar/std 16.194.0 → 16.196.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 (100) hide show
  1. package/behaviors/lolo/infra/atoms/std-approval-gate.lolo +3 -7
  2. package/behaviors/lolo/infra/atoms/std-circuit-breaker.lolo +1 -1
  3. package/behaviors/lolo/infra/atoms/std-cross-reference.lolo +5 -5
  4. package/behaviors/lolo/infra/atoms/std-data-erasure.lolo +3 -7
  5. package/behaviors/lolo/infra/atoms/std-mod-queue.lolo +4 -7
  6. package/behaviors/lolo/infra/atoms/std-notification-center.lolo +8 -6
  7. package/behaviors/lolo/infra/atoms/std-status-lifecycle.lolo +5 -9
  8. package/behaviors/lolo/ui/core/atoms/std-app-layout.lolo +1 -1
  9. package/behaviors/lolo/ui/core/atoms/std-app-search.lolo +1 -1
  10. package/behaviors/lolo/ui/core/atoms/std-billable-hour.lolo +1 -1
  11. package/behaviors/lolo/ui/core/atoms/std-board.lolo +30 -4
  12. package/behaviors/lolo/ui/core/atoms/std-browse.lolo +1 -1
  13. package/behaviors/lolo/ui/core/atoms/std-calendar.lolo +1 -1
  14. package/behaviors/lolo/ui/core/atoms/std-dashboard-grid-embedded.lolo +2 -2
  15. package/behaviors/lolo/ui/core/atoms/std-event-log.lolo +3 -3
  16. package/behaviors/lolo/ui/core/atoms/std-file-store.lolo +1 -1
  17. package/behaviors/lolo/ui/core/atoms/std-form-advanced.lolo +1 -1
  18. package/behaviors/lolo/ui/core/atoms/std-image-upload-multi.lolo +3 -7
  19. package/behaviors/lolo/ui/core/atoms/std-rating-review.lolo +5 -5
  20. package/behaviors/lolo/ui/core/atoms/std-recurrence.lolo +3 -3
  21. package/behaviors/lolo/ui/core/atoms/std-saved-search.lolo +3 -7
  22. package/behaviors/lolo/ui/core/atoms/std-signature-capture.lolo +3 -7
  23. package/behaviors/lolo/ui/core/atoms/std-tag-strip.lolo +3 -9
  24. package/behaviors/lolo/ui/core/atoms/std-tag-taxonomy.lolo +5 -7
  25. package/behaviors/lolo/ui/core/atoms/std-version-history.lolo +5 -9
  26. package/behaviors/lolo/ui/core/atoms/std-vote.lolo +3 -7
  27. package/behaviors/lolo/ui/core/atoms/std-wizard.lolo +3 -3
  28. package/behaviors/lolo/ui/core/organisms/ui-detail-panel.lolo +1 -1
  29. package/behaviors/registry/infra/atoms/std-approval-gate.orb +117 -61
  30. package/behaviors/registry/infra/atoms/std-cache-aside.orb +64 -63
  31. package/behaviors/registry/infra/atoms/std-circuit-breaker.orb +20 -92
  32. package/behaviors/registry/infra/atoms/std-cross-reference.orb +9 -8
  33. package/behaviors/registry/infra/atoms/std-data-erasure.orb +119 -60
  34. package/behaviors/registry/infra/atoms/std-mod-queue.orb +252 -63
  35. package/behaviors/registry/infra/atoms/std-notification-center.orb +25 -37
  36. package/behaviors/registry/infra/atoms/std-rate-limiter.orb +14 -28
  37. package/behaviors/registry/infra/atoms/std-status-lifecycle.orb +10 -17
  38. package/behaviors/registry/infra/organisms/std-status-lifecycle-control.orb +1 -2
  39. package/behaviors/registry/ml/organisms/std-escalating-decision.orb +5 -10
  40. package/behaviors/registry/ml/organisms/std-knowledge-tracing.orb +2 -4
  41. package/behaviors/registry/ui/core/atoms/std-app-layout.orb +1 -1
  42. package/behaviors/registry/ui/core/atoms/std-app-search.orb +1 -1
  43. package/behaviors/registry/ui/core/atoms/std-billable-hour.orb +51 -2
  44. package/behaviors/registry/ui/core/atoms/std-board.orb +74 -3
  45. package/behaviors/registry/ui/core/atoms/std-browse.orb +1 -1
  46. package/behaviors/registry/ui/core/atoms/std-calendar.orb +1 -1
  47. package/behaviors/registry/ui/core/atoms/std-confirmation.orb +27 -1
  48. package/behaviors/registry/ui/core/atoms/std-dashboard-grid-embedded.orb +4 -5
  49. package/behaviors/registry/ui/core/atoms/std-esign-flow.orb +104 -6
  50. package/behaviors/registry/ui/core/atoms/std-esign-request.orb +3 -6
  51. package/behaviors/registry/ui/core/atoms/std-event-log.orb +3 -2
  52. package/behaviors/registry/ui/core/atoms/std-export.orb +2 -4
  53. package/behaviors/registry/ui/core/atoms/std-file-store.orb +92 -4
  54. package/behaviors/registry/ui/core/atoms/std-form-advanced.orb +4 -84
  55. package/behaviors/registry/ui/core/atoms/std-gallery.orb +29 -1
  56. package/behaviors/registry/ui/core/atoms/std-image-upload-multi.orb +81 -48
  57. package/behaviors/registry/ui/core/atoms/std-import.orb +2 -4
  58. package/behaviors/registry/ui/core/atoms/std-list.orb +58 -2
  59. package/behaviors/registry/ui/core/atoms/std-modal.orb +54 -2
  60. package/behaviors/registry/ui/core/atoms/std-rating-review.orb +158 -8
  61. package/behaviors/registry/ui/core/atoms/std-record-detail.orb +245 -5
  62. package/behaviors/registry/ui/core/atoms/std-recurrence.orb +3 -2
  63. package/behaviors/registry/ui/core/atoms/std-saved-search.orb +72 -43
  64. package/behaviors/registry/ui/core/atoms/std-signature-capture.orb +63 -39
  65. package/behaviors/registry/ui/core/atoms/std-tag-strip.orb +64 -43
  66. package/behaviors/registry/ui/core/atoms/std-tag-taxonomy.orb +57 -40
  67. package/behaviors/registry/ui/core/atoms/std-version-history.orb +147 -58
  68. package/behaviors/registry/ui/core/atoms/std-vote.orb +4 -29
  69. package/behaviors/registry/ui/core/atoms/std-wizard.orb +3 -2
  70. package/behaviors/registry/ui/core/organisms/ui-detail-panel.orb +1 -1
  71. package/behaviors/registry/ui/game/organisms/std-arcade-board-3d.orb +4 -8
  72. package/behaviors/registry/ui/game/organisms/std-crew-board-2d.orb +3 -6
  73. package/behaviors/registry/ui/game/organisms/std-dungeon-board-2d.orb +5 -10
  74. package/behaviors/registry/ui/game/organisms/std-market-board-3d.orb +4 -8
  75. package/behaviors/registry/ui/game/organisms/std-objective-board-3d.orb +4 -8
  76. package/behaviors/registry/ui/game/organisms/std-survival-board-3d.orb +4 -8
  77. package/behaviors/registry/ui/game/organisms/std-tactics-board-3d.orb +4 -8
  78. package/behaviors/registry/ui/game/organisms/std-worldmap-board-2d.orb +3 -6
  79. package/behaviors/registry/ui/marketing/atoms/std-marketing-article.orb +1 -2
  80. package/behaviors/registry/ui/marketing/atoms/std-marketing-footer.orb +1 -2
  81. package/behaviors/registry/ui/marketing/atoms/std-marketing-split.orb +1 -2
  82. package/behaviors/registry/ui/marketing/atoms/std-marketing-stats.orb +1 -2
  83. package/behaviors/registry/ui/marketing/atoms/std-marketing-steps.orb +1 -2
  84. package/behaviors/registry/ui/marketing/atoms/std-marketing-team.orb +1 -2
  85. package/canonical-operators.json +6964 -454
  86. package/dist/behaviors/exports-reader.js +1993 -778
  87. package/dist/behaviors/functions/index.d.ts +86 -32
  88. package/dist/behaviors/functions/index.js +1993 -778
  89. package/dist/behaviors/index.d.ts +1 -1
  90. package/dist/behaviors/index.js +1993 -778
  91. package/dist/behaviors/query.js +1993 -778
  92. package/dist/behaviors-embeddings.hash.json +3 -3
  93. package/dist/behaviors-embeddings.json +3 -3
  94. package/dist/behaviors-registry.json +9 -3
  95. package/dist/index.d.ts +1 -1
  96. package/dist/index.js +1993 -778
  97. package/dist/knob-embeddings.hash.json +3 -3
  98. package/dist/knob-embeddings.json +1 -1
  99. package/dist/registry/factory-signatures.json +1 -1
  100. package/package.json +4 -4
@@ -12,7 +12,7 @@ orbital ApprovalGateOrbital {
12
12
 
13
13
  type ApprovalRequestLoadFailed = Event { error : string, code : string } "Fired when the approval queue fails to load"
14
14
 
15
- type ApprovalRequestReviewed = Event { row : ApprovalRequest } "Fired after a row's status persists (approve / deny)"
15
+ type ApprovalRequestReviewed = Event @entity "Fired after a row's status persists (approve / deny)"
16
16
 
17
17
  type ApprovalRequestReviewFailed = Event { error : string, code : string } "Fired when the persist fails"
18
18
 
@@ -397,9 +397,7 @@ orbital ApprovalGateOrbital {
397
397
  @description "Indicates failure to load an approval request."
398
398
  @synonyms "load error, failed load, request failure"
399
399
  @tier "internal"
400
- ApprovalRequestReviewed {
401
- row : ApprovalRequest
402
- }
400
+ ApprovalRequestReviewed
403
401
  @description "Signals that an approval request has been reviewed."
404
402
  @synonyms "reviewed, processed, examined"
405
403
  @tier "internal"
@@ -474,9 +472,7 @@ orbital ApprovalGateOrbital {
474
472
  @description "Indicates failure to load an approval request."
475
473
  @synonyms "load error, failed load, request failure"
476
474
  @tier "internal"
477
- ApprovalRequestReviewed {
478
- row : ApprovalRequest
479
- }
475
+ ApprovalRequestReviewed
480
476
  @description "Indicates an approval request has been reviewed."
481
477
  @synonyms "reviewed, checked, processed"
482
478
  @tier "domain"
@@ -11,7 +11,7 @@ orbital ServiceNodeOrbital {
11
11
  uses Divider from "std/behaviors/ui-divider"
12
12
  uses SimpleGrid from "std/behaviors/ui-simple-grid"
13
13
 
14
- type ServiceNodeLoaded = Event ServiceNode "Fired when ServiceNode finishes loading"
14
+ type ServiceNodeLoaded = Event { data : [ServiceNode] } "Fired when ServiceNode finishes loading"
15
15
 
16
16
  type ServiceNodeLoadFailed = Event { message : string } "Fired when ServiceNode fails to load"
17
17
 
@@ -9,9 +9,9 @@ orbital CrossReferenceOrbital {
9
9
 
10
10
  type FETCH_LINKS_FOR = Event { leftId : string } "Request the link set for a given leftId."
11
11
 
12
- type LinkCreated = Event { row : @entity } "Fired after a junction row is persisted."
12
+ type LinkCreated = Event @entity "Fired after a junction row is persisted."
13
13
 
14
- type LinkRemoved = Event { leftId : string, rightId : string } "Fired after a junction row is deleted."
14
+ type LinkRemoved = Event { id : string, deleted : boolean } "Fired after a junction row is deleted — persist delete emits the deleted row's id and a deleted flag, not the link's leftId/rightId."
15
15
 
16
16
  type LinksLoaded = Event { leftId : string, data : [ObjectSpec] } "Fired after junction rows for leftId are fetched."
17
17
 
@@ -50,10 +50,10 @@ orbital CrossReferenceOrbital {
50
50
  }
51
51
 
52
52
  emits {
53
- LinkCreated -> external { row : @entity }
53
+ LinkCreated -> external
54
54
  LinkRemoved -> external {
55
- leftId : string
56
- rightId : string
55
+ id : string
56
+ deleted : boolean
57
57
  }
58
58
  LinksLoaded -> external {
59
59
  leftId : string
@@ -12,7 +12,7 @@ orbital DataErasureOrbital {
12
12
 
13
13
  type ErasureLoadFailed = Event { error : string, code : string } "Fired when the erasure queue fails to load."
14
14
 
15
- type ErasureSaved = Event { row : ErasureRequest } "Fired after an ErasureRequest row persists."
15
+ type ErasureSaved = Event ErasureRequest "Fired after an ErasureRequest row persists."
16
16
 
17
17
  type ErasureSaveFailed = Event { error : string, code : string } "Fired when an ErasureRequest persist fails."
18
18
 
@@ -272,9 +272,7 @@ orbital DataErasureOrbital {
272
272
  @description "Indicates failure to load erasure request data."
273
273
  @synonyms "load error, failed load, data error"
274
274
  @tier "internal"
275
- ErasureSaved {
276
- row : ErasureRequest
277
- }
275
+ ErasureSaved
278
276
  @description "Indicates a new erasure request has been successfully saved."
279
277
  @synonyms "created, added, persisted"
280
278
  @tier "domain"
@@ -363,9 +361,7 @@ orbital DataErasureOrbital {
363
361
  @description "Indicates a failure to load erasure request data."
364
362
  @synonyms "load error, failed load, data error"
365
363
  @tier "internal"
366
- ErasureSaved {
367
- row : ErasureRequest
368
- }
364
+ ErasureSaved
369
365
  @description "A new erasure request has been successfully saved."
370
366
  @synonyms "created, added, persisted"
371
367
  @tier "domain"
@@ -12,7 +12,7 @@ orbital ModQueueItemOrbital {
12
12
 
13
13
  type ModQueueItemLoadFailed = Event { error : string, code : string } "Fired when the moderation queue collection fails to load"
14
14
 
15
- type ModQueueItemReviewed = Event { row : ModQueueItem } "Fired after a queue row's status persists (approve / reject / escalate)"
15
+ type ModQueueItemReviewed = Event ModQueueItem "Fired after a queue row's status persists (approve / reject / escalate)"
16
16
 
17
17
  type ModQueueItemReviewFailed = Event { error : string, code : string } "Fired when a queue row's status update fails to persist"
18
18
 
@@ -26,6 +26,7 @@ orbital ModQueueItemOrbital {
26
26
  reviewedBy : string @description "The user who performed the review action." @synonyms "reviewer, reviewerId, assignedTo"
27
27
  reviewedAt : datetime @description "Timestamp indicating when the item was last reviewed." @synonyms "review date, review time, last reviewed"
28
28
  notes : string @description "Free-text comments or observations related to the item." @synonyms "comment, remark, observation, details"
29
+ seedRow : ModQueueItem @intrinsic @description "The row an edit-mode modal pre-fills from when its payload carries no row (a scalar-only action event still opens a fully seeded form)." = {}
29
30
  }
30
31
 
31
32
  trait LoadingSpinner = Spinner.traits.SpinnerRender -> ModQueueItem {
@@ -259,9 +260,7 @@ orbital ModQueueItemOrbital {
259
260
  @description "Indicates failure to load moderation queue items."
260
261
  @synonyms "error, failure, problem, failed"
261
262
  @tier "internal"
262
- ModQueueItemReviewed {
263
- row : ModQueueItem
264
- }
263
+ ModQueueItemReviewed
265
264
  @description "Signals a moderation queue item has been reviewed and a verdict recorded."
266
265
  @synonyms "reviewed, processed, judged, completed"
267
266
  @tier "domain"
@@ -318,9 +317,7 @@ orbital ModQueueItemOrbital {
318
317
  @description "Indicates failure to load a moderation queue item."
319
318
  @synonyms "error, failure, problem, issue"
320
319
  @tier "internal"
321
- ModQueueItemReviewed {
322
- row : ModQueueItem
323
- }
320
+ ModQueueItemReviewed
324
321
  @description "A moderation queue item's review status has been updated."
325
322
  @synonyms "reviewed, updated, verdict, decision"
326
323
  @tier "domain"
@@ -3,7 +3,7 @@ app std-notification-center "1.0.0"
3
3
  type NotifRow = { id : string, recipient : string, channel : string, message : string, severity : string, dispatched : boolean, error : string, recordedAt : number }
4
4
  type PushCreds = { endpoint : string, p256dh : string, auth : string }
5
5
  orbital NotificationCenterOrbital {
6
- type PUSH_SUBSCRIBED = Event { result : PushCreds } "browser/push-subscribe resolved — the flat subscription credentials arrive in `result`."
6
+ type PUSH_SUBSCRIBED = Event { endpoint : string, p256dh : string, auth : string } "browser/push-subscribe resolved — the credentials arrive FLAT on the payload (?endpoint, ?p256dh, ?auth), not wrapped in a `result` field."
7
7
 
8
8
  entity NotificationPreference [persistent: notificationPreferences] {
9
9
  id : string!
@@ -54,10 +54,10 @@ orbital NotificationCenterOrbital {
54
54
  PUSH_SUBSCRIBED -> idle
55
55
  (set @entity.lastError "")
56
56
  (persist create PushSubscription {
57
- auth: ?result.auth
57
+ auth: ?auth
58
58
  createdAt: @now
59
- endpoint: ?result.endpoint
60
- p256dh: ?result.p256dh
59
+ endpoint: ?endpoint
60
+ p256dh: ?p256dh
61
61
  userId: @user.id
62
62
  } { emit: { failure: PUSH_SAVE_FAILED, success: PUSH_SAVED } })
63
63
  PUSH_SAVED -> idle
@@ -72,9 +72,11 @@ orbital NotificationCenterOrbital {
72
72
 
73
73
  emits {
74
74
  PUSH_SUBSCRIBED {
75
- result : PushCreds
75
+ endpoint : string
76
+ p256dh : string
77
+ auth : string
76
78
  }
77
- @description "browser/push-subscribe resolved with the flat subscription credentials in `result`"
79
+ @description "browser/push-subscribe resolved; the subscription credentials arrive flat on the payload"
78
80
  @tier "secondary"
79
81
  PUSH_SUBSCRIBE_FAILED {
80
82
  error : string!
@@ -7,6 +7,8 @@ orbital StatusLifecycleOrbital {
7
7
 
8
8
  type StatusChanged = Event { entityId : string, status : string } "Re-emitted per record after a legal transition; rename to wire downstream reactions (notify, audit, archive)."
9
9
 
10
+ type StatusPersisted = Event StatusRecord "Internal: the status write landed; carries the persisted row flat."
11
+
10
12
  type StatusChangeFailed = Event { error : string, code : string } "Internal: persist of the new status failed."
11
13
 
12
14
  entity StatusRecord [persistent: status_records] {
@@ -27,7 +29,7 @@ orbital StatusLifecycleOrbital {
27
29
  ;; synchronous emit fired even when the write failed, so a denied
28
30
  ;; mutation still looked like a completed transition downstream.
29
31
  StatusPersisted -> idle when ["!=", (str/default ?id ""), ""]
30
- (emit StatusChanged { entityId: ?id, status: (str/default (object/get ?row @config.statusField) "") })
32
+ (emit StatusChanged { entityId: ?id, status: (str/default (object/get @payload @config.statusField) "") })
31
33
  StatusChangeFailed -> idle
32
34
  }
33
35
 
@@ -36,10 +38,7 @@ orbital StatusLifecycleOrbital {
36
38
  entityId : string
37
39
  status : string
38
40
  }
39
- StatusPersisted {
40
- id : string
41
- row : StatusRecord
42
- }
41
+ StatusPersisted
43
42
  StatusChangeFailed -> external {
44
43
  error : string
45
44
  code : string
@@ -52,10 +51,7 @@ orbital StatusLifecycleOrbital {
52
51
  from : string
53
52
  to : string
54
53
  }
55
- StatusPersisted {
56
- id : string
57
- row : StatusRecord
58
- }
54
+ StatusPersisted
59
55
  StatusChangeFailed {
60
56
  error : string
61
57
  code : string
@@ -2,7 +2,7 @@ app std-app-layout "1.4.1"
2
2
  "std-app-layout — dashboard-layout chrome (sidebar nav + top bar with search + topBarActions + notifications) wrapping a single contentTrait slot. Use for list-style apps (CMS / helpdesk / CRM) and account/settings pages: the chrome stays stable while the consumer's content trait renders the data, and the consumer can add domain icons (cart / profile / help) via topBarActions. Bind once per orbital — the consumer rebinds linkedEntity via `XAppLayout = AppShell.traits.AppLayout -> XEntity` so multiple orbitals in one file each get their own chrome without colliding on a shared atom entity."
3
3
  ;; @capabilities "settings page shell, preferences page, account settings layout, profile settings, admin console shell"
4
4
  type NavItem = { label : string!, href : string!, icon : string, badge : string, children : [json] }
5
- type ItemAction = { label : string!, event : string, navigatesTo : string, variant : string, icon : string }
5
+ type ItemAction = { label : string!, event : event, navigatesTo : string, variant : string, icon : string }
6
6
  type NotificationSpec = { id : string, message : string, variant : string }
7
7
  orbital AppLayoutOrbital {
8
8
  type AppLayoutStateLoaded = Event { data : [AppLayoutData] }
@@ -1,7 +1,7 @@
1
1
  app std-app-search "1.0.0"
2
2
  "std-app-search — reusable global search: wraps a host content view and, on a SEARCH trigger, fetches the linked entity filtered by @config.searchField and renders the matching results, then CLEAR_SEARCH returns to the host view. Rebind to any entity; point @config.idleContent at the normal view and wire a trigger (e.g. AppLayout SEARCH) into SEARCH."
3
3
  type AppSearchFieldSpec = { name : string!, label : string, variant : h3 | h4 | body | caption | badge | small | progress, icon : string, format : date | currency | number | boolean | percent, event : string, href : string, payload : string, disabled : boolean, confirm : string, hidden : boolean }
4
- type AppSearchActionSpec = { label : string!, event : string!, variant : primary | secondary | ghost | danger, icon : string, href : string, payload : string, disabled : boolean, confirm : string, hidden : boolean }
4
+ type AppSearchActionSpec = { label : string!, event : event!, variant : primary | secondary | ghost | danger, icon : string, href : string, payload : string, disabled : boolean, confirm : string, hidden : boolean }
5
5
  orbital AppSearchOrbital {
6
6
  type AppSearchLoaded = Event { data : [AppSearchTarget] } "Filtered search results loaded"
7
7
  type AppSearchFailed = Event { error : string } "Search fetch failed"
@@ -1,6 +1,6 @@
1
1
  app std-billable-hour "1.0.0"
2
2
  "std-billable-hour — generic billable-hour timesheet primitive for legal, agency, and consulting domains. Lists entries in `browsing`; opens entry detail in `viewing_single` with Invoice / Write Off actions."
3
- type ItemAction = { label : string!, event : string, navigatesTo : string, variant : string, icon : string }
3
+ type ItemAction = { label : string!, event : event, navigatesTo : string, variant : string, icon : string }
4
4
  type ColumnSpec = { key : string!, field : string, header : string, width : string, align : string, className : string, weight : string, format : string, icon : string }
5
5
  orbital BillableHourOrbital {
6
6
  uses TableView from "std/behaviors/ui-table-view"
@@ -12,7 +12,9 @@ orbital BoardOrbital {
12
12
 
13
13
  type BoardItemsLoadFailed = Event { error : string, code : string } "Fired when the upstream fetch fails"
14
14
 
15
- type BoardItemsSaved = Event { row : @entity } "Fired when a board item has been persisted"
15
+ type BoardItemsSaved = Event @entity "Fired when a board item has been persisted"
16
+
17
+ type BoardItemDeleted = Event { id : string, deleted : boolean } "Fired when a board item has been deleted — persist delete emits the id and a deleted flag, never the row, so this cannot share BoardItemsSaved's contract"
16
18
 
17
19
  type BoardItemsSaveFailed = Event { error : string, code : string } "Fired when a persist intent fails"
18
20
 
@@ -75,6 +77,16 @@ orbital BoardOrbital {
75
77
  title: "Refreshing board…"
76
78
  type: loading-state
77
79
  })
80
+ ;; Same refresh, different contract: a delete emits { id, deleted }, not
81
+ ;; the row, so it cannot ride BoardItemsSaved's payload.
82
+ BoardItemDeleted -> loading
83
+ (fetch BoardView {
84
+ emit: { failure: BoardItemsLoadFailed, success: BoardItemsLoaded }
85
+ })
86
+ (render-ui main {
87
+ title: "Refreshing board…"
88
+ type: loading-state
89
+ })
78
90
  BoardItemsSaveFailed -> error
79
91
  (set @entity.errorMessage ?error)
80
92
  (render-ui main {
@@ -277,7 +289,7 @@ orbital BoardOrbital {
277
289
  })
278
290
  DELETE_CARD -> loading
279
291
  (persist delete BoardView ?id {
280
- emit: { failure: BoardItemsSaveFailed, success: BoardItemsSaved }
292
+ emit: { failure: BoardItemsSaveFailed, success: BoardItemDeleted }
281
293
  })
282
294
  (render-ui main {
283
295
  title: "Deleting item…"
@@ -378,10 +390,17 @@ orbital BoardOrbital {
378
390
  @description "Indicates a failure to load board items."
379
391
  @synonyms "error, failed, problem, loading failure"
380
392
  @tier "internal"
381
- BoardItemsSaved { row : @entity }
393
+ BoardItemsSaved
382
394
  @description "Signals that board items have been successfully saved."
383
395
  @synonyms "saved, persisted, updated"
384
396
  @tier "domain"
397
+ BoardItemDeleted {
398
+ id : string
399
+ deleted : boolean
400
+ }
401
+ @description "Signals a board item has been deleted; carries the deleted row's id, not the row."
402
+ @synonyms "deleted, removed, discarded"
403
+ @tier "domain"
385
404
  BoardItemsSaveFailed {
386
405
  error : string
387
406
  code : string
@@ -482,10 +501,17 @@ orbital BoardOrbital {
482
501
  @description "Indicates a failure to load board items."
483
502
  @synonyms "error, failed, problem, loading issue"
484
503
  @tier "internal"
485
- BoardItemsSaved { row : @entity }
504
+ BoardItemsSaved
486
505
  @description "Indicates board items have been successfully saved."
487
506
  @synonyms "saved, updated, persisted"
488
507
  @tier "presentation"
508
+ BoardItemDeleted {
509
+ id : string
510
+ deleted : boolean
511
+ }
512
+ @description "Indicates a board item has been deleted; carries the deleted row's id, not the row."
513
+ @synonyms "deleted, removed, discarded"
514
+ @tier "presentation"
489
515
  BoardItemsSaveFailed {
490
516
  error : string
491
517
  code : string
@@ -1,7 +1,7 @@
1
1
  app std-browse "2.5.0"
2
2
  "std-browse as a Function — single primitive: data-grid. Owns the fetch + REFETCH (query/filter/page) state machine. Consumers configure fields/imageField/itemActions/cols/gap/variant; the atom renders the grid. Each `fields[]` entry accepts `{ name, label, variant }` plus optional `referenceEntity` + `displayField` to render a foreign-key column as the joined entity's display value (data-grid resolves @list[referenceEntity] at render time when both keys are present). `browseLook` (table default / dense / feed / gallery / master-detail / triage) selects one of six render bodies; dense/feed/gallery were folded in from std-browse-dense/-feed/-gallery (Phase 5.B); master-detail (split record view driven by the guarded VIEW/CLOSE self-transitions) and triage (inbox rows) were folded in 2026-07-26. Consumers retarget by setting browseLook."
3
3
  type FieldSpec = { name : string!, label : string, variant : h3 | h4 | body | caption | badge | small | progress, icon : string, format : date | currency | number | boolean | percent, key : string, header : string }
4
- type ItemAction = { label : string!, event : string, navigatesTo : string, variant : primary | secondary | ghost | danger, icon : string }
4
+ type ItemAction = { label : string!, event : event, navigatesTo : string, variant : primary | secondary | ghost | danger, icon : string }
5
5
  type ColumnSpec = { key : string!, field : string, header : string, width : string, align : left | center | right, className : string, weight : normal | medium | semibold, format : badge | date | currency | number | percent | boolean, icon : string }
6
6
  type FilterSpec = { field : string!, label : string, options : [string] }
7
7
  orbital BrowseItemOrbital {
@@ -1,6 +1,6 @@
1
1
  app std-calendar "1.4.0"
2
2
  "std-calendar as a Function — owns the fetch + SELECT_DAY state machine; default bodyContent renders the month-grid + upcoming-events tree. `config.calendarLook` switches the body between the default month-grid ('month'), a day-grouped agenda list ('agenda-list'), and a 7-column week timeline ('week-timeline') while inheriting the same trait, state machine, emits, and listens."
3
- type ItemAction = { label : string!, event : string, navigatesTo : string, variant : primary | secondary | ghost | danger, icon : string }
3
+ type ItemAction = { label : string!, event : event, navigatesTo : string, variant : primary | secondary | ghost | danger, icon : string }
4
4
  type FilterSpec = { field : string!, label : string, options : [string] }
5
5
  orbital CalendarEventOrbital {
6
6
  type CalendarEventLoaded = Event { data : [CalendarEvent] } "Fired when CalendarEvent finishes loading; payload.data holds the events"
@@ -138,9 +138,9 @@ orbital DashboardGridEmbeddedOrbital {
138
138
  @label "Tile slot 12"
139
139
  @description "Trait reference for grid cell 12. Format '@trait.<TraitName>' picks any trait declared on the orbital; '@trait.EmptyTile' leaves the cell blank. Override THIS config to swap a chart, remove a tile, or reorder — never edit any other trait to move tile content."
140
140
  @tier "presentation"
141
- minTileWidth : number = 320
141
+ minTileWidth : string = "320px"
142
142
  @label "Tile min width"
143
- @description "Minimum pixel width per tile before the grid re-flows"
143
+ @description "Minimum CSS width per tile before the grid re-flows (a CSS length, e.g. \"320px\" or \"20rem\")"
144
144
  @tier "presentation"
145
145
  theme : string = ""
146
146
  @label "Theme"
@@ -14,7 +14,7 @@ orbital EventLogOrbital {
14
14
 
15
15
  type EventLogLoadFailed = Event { error : string, code : string } "Fired when fetch fails"
16
16
 
17
- type EventLogSaved = Event { row : @entity } "Fired when an entry has been persisted"
17
+ type EventLogSaved = Event @entity "Fired when an entry has been persisted"
18
18
 
19
19
  type EventLogSaveFailed = Event { error : string, code : string } "Fired when persist fails"
20
20
 
@@ -500,7 +500,7 @@ orbital EventLogOrbital {
500
500
  @description "Indicates that loading the event log failed."
501
501
  @synonyms "error, failure, failed, problem"
502
502
  @tier "internal"
503
- EventLogSaved { row : @entity }
503
+ EventLogSaved
504
504
  @description "Indicates a new event has been successfully logged."
505
505
  @synonyms "saved, added, created, recorded"
506
506
  @tier "domain"
@@ -547,7 +547,7 @@ orbital EventLogOrbital {
547
547
  @description "Indicates the event log failed to load."
548
548
  @synonyms "error, failure, failed, loading error"
549
549
  @tier "internal"
550
- EventLogSaved { row : @entity }
550
+ EventLogSaved
551
551
  @description "Indicates a new event has been successfully recorded."
552
552
  @synonyms "saved, added, created, persisted"
553
553
  @tier "domain"
@@ -1,7 +1,7 @@
1
1
  app std-file-store "2.0.0"
2
2
  "std-file-store — the generic file/page tree primitive. A file-tree + config-driven data table over a hierarchical collection; opens a row in `viewing_single` with config-driven detail actions. Rebindable: pass `fields`/`itemActions`/`detailActions`/`tree` to retarget it at any hierarchical entity (files, wiki pages, note trees). Folds in the former std-page-tree via `reorderable` + a page field/action set."
3
3
  type FieldSpec = { name : string!, label : string, variant : "h3" | "h4" | "body" | "caption" | "badge" | "small" | "progress", icon : string, format : "date" | "currency" | "number" | "boolean" | "percent", key : string, header : string }
4
- type ItemAction = { label : string!, event : string!, variant : "primary" | "secondary" | "ghost" | "danger", icon : string }
4
+ type ItemAction = { label : string!, event : event!, variant : "primary" | "secondary" | "ghost" | "danger", icon : string }
5
5
  type TreeNode = { name : string!, path : string!, type : "file" | "dir"!, children : [object] }
6
6
  orbital StoredFileOrbital {
7
7
  type StoredFileLoaded = Event { data : [StoredFile] } "Fired when the collection finishes loading"
@@ -3,7 +3,7 @@ app std-form-advanced "1.2.0"
3
3
  type FieldSpec = { name : string!, label : string, variant : string, icon : string, format : string, key : string, header : string }
4
4
  type ValidationSpec = { field : string!, rule : string, message : string }
5
5
  orbital FormEntryOrbital {
6
- type FormEntryLoaded = Event FormEntry "Fired when FormEntry finishes loading"
6
+ type FormEntryLoaded = Event { data : [FormEntry] } "Fired when FormEntry finishes loading"
7
7
 
8
8
  type FormEntryLoadFailed = Event { message : string } "Fired when FormEntry fails to load"
9
9
 
@@ -9,7 +9,7 @@ orbital UploadedImageOrbital {
9
9
 
10
10
  type UploadedImageLoadFailed = Event { error : string, code : string } "Fired when the uploaded-image collection fails to load"
11
11
 
12
- type UploadedImageCreated = Event { row : UploadedImage } "Fired after a new uploaded image persists successfully"
12
+ type UploadedImageCreated = Event UploadedImage "Fired after a new uploaded image persists successfully"
13
13
 
14
14
  type UploadedImageDeleted = Event { id : string! } "Fired after an uploaded image is removed"
15
15
 
@@ -225,9 +225,7 @@ orbital UploadedImageOrbital {
225
225
  @description "Indicates an image failed to load during the upload process."
226
226
  @synonyms "error, failure, problem, unsuccessful"
227
227
  @tier "internal"
228
- UploadedImageCreated {
229
- row : UploadedImage
230
- }
228
+ UploadedImageCreated
231
229
  @description "A new image has been successfully uploaded."
232
230
  @synonyms "added, new, received"
233
231
  @tier "domain"
@@ -286,9 +284,7 @@ orbital UploadedImageOrbital {
286
284
  @description "Indicates an image failed to load during the upload process."
287
285
  @synonyms "error, failure, problem, unsuccessful"
288
286
  @tier "internal"
289
- UploadedImageCreated {
290
- row : UploadedImage
291
- }
287
+ UploadedImageCreated
292
288
  @description "A new image has been successfully uploaded."
293
289
  @synonyms "added, received, new image"
294
290
  @tier "domain"
@@ -12,7 +12,7 @@ orbital RatingReviewOrbital {
12
12
 
13
13
  type ReviewsLoadFailed = Event { error : string, code : string } "Fired when reviews fetch fails"
14
14
 
15
- type ReviewSaved = Event { row : @entity } "Fired after a new review persists successfully"
15
+ type ReviewSaved = Event ReviewView "Fired after a new review persists successfully"
16
16
 
17
17
  type ReviewSaveFailed = Event { error : string, code : string } "Fired when persist fails"
18
18
 
@@ -1086,7 +1086,7 @@ orbital RatingReviewOrbital {
1086
1086
  @description "Indicates that loading reviews was unsuccessful."
1087
1087
  @synonyms "failed, error, problem, unsuccessful"
1088
1088
  @tier "internal"
1089
- ReviewSaved { row : @entity }
1089
+ ReviewSaved
1090
1090
  @description "Indicates a review has been successfully saved."
1091
1091
  @synonyms "saved, persisted, updated"
1092
1092
  @tier "domain"
@@ -1149,7 +1149,7 @@ orbital RatingReviewOrbital {
1149
1149
  @description "Indicates that loading reviews was unsuccessful."
1150
1150
  @synonyms "failure, error, problem, unsuccessful"
1151
1151
  @tier "internal"
1152
- ReviewSaved { row : @entity }
1152
+ ReviewSaved
1153
1153
  @description "Indicates a review has been successfully stored."
1154
1154
  @synonyms "saved, persisted, updated"
1155
1155
  @tier "presentation"
@@ -1456,7 +1456,7 @@ orbital RatingReviewOrbital {
1456
1456
  @description "Triggers a refresh of the review data and UI."
1457
1457
  @synonyms "refresh, reload, reset"
1458
1458
  @tier "internal"
1459
- ReviewSaved { row : @entity }
1459
+ ReviewSaved
1460
1460
  @description "Indicates a review has been successfully stored."
1461
1461
  @synonyms "saved, persisted, updated"
1462
1462
  @tier "presentation"
@@ -1490,7 +1490,7 @@ orbital RatingReviewOrbital {
1490
1490
  @description "Triggers a refresh of the review data and UI."
1491
1491
  @synonyms "refresh, reload, reset"
1492
1492
  @tier "internal"
1493
- ReviewSaved { row : @entity }
1493
+ ReviewSaved
1494
1494
  @description "Indicates a review has been successfully stored."
1495
1495
  @synonyms "saved, persisted, updated"
1496
1496
  @tier "presentation"
@@ -8,7 +8,7 @@ orbital RecurrenceOrbital {
8
8
 
9
9
  type RecurrenceLoadFailed = Event { error : string, code : string } "Fired when fetch fails"
10
10
 
11
- type RecurrenceSaved = Event { row : @entity } "Fired when a recurrence rule has been persisted"
11
+ type RecurrenceSaved = Event @entity "Fired when a recurrence rule has been persisted"
12
12
 
13
13
  type RecurrenceSaveFailed = Event { error : string, code : string } "Fired when persist fails"
14
14
 
@@ -441,7 +441,7 @@ orbital RecurrenceOrbital {
441
441
  @description "Indicates failure to load recurrence rule data."
442
442
  @synonyms "load error, failed load, data error"
443
443
  @tier "internal"
444
- RecurrenceSaved { row : @entity }
444
+ RecurrenceSaved
445
445
  @description "Indicates the recurrence rule has been successfully saved."
446
446
  @synonyms "saved, updated, persisted"
447
447
  @tier "domain"
@@ -513,7 +513,7 @@ orbital RecurrenceOrbital {
513
513
  @description "Indicates failure to load recurrence rule data."
514
514
  @synonyms "load error, failed load, data error"
515
515
  @tier "internal"
516
- RecurrenceSaved { row : @entity }
516
+ RecurrenceSaved
517
517
  @description "Indicates the recurrence rule has been successfully saved."
518
518
  @synonyms "saved, updated, persisted"
519
519
  @tier "domain"
@@ -5,7 +5,7 @@ orbital SavedSearchOrbital {
5
5
 
6
6
  type SavedSearchLoadFailed = Event { error : string, code : string } "Fired when the saved-search collection fails to load"
7
7
 
8
- type SavedSearchUpdated = Event { row : SavedSearch } "Fired after a saved-search row's update persists (toggle alert / rename / change frequency)"
8
+ type SavedSearchUpdated = Event SavedSearch "Fired after a saved-search row's update persists (toggle alert / rename / change frequency)"
9
9
 
10
10
  type SavedSearchDeleted = Event { id : string! } "Fired after a saved-search row is deleted"
11
11
 
@@ -280,9 +280,7 @@ orbital SavedSearchOrbital {
280
280
  @description "Indicates a failure to load saved search data."
281
281
  @synonyms "error, failure, load error"
282
282
  @tier "internal"
283
- SavedSearchUpdated {
284
- row : SavedSearch
285
- }
283
+ SavedSearchUpdated
286
284
  @description "Indicates a saved search has been modified and persisted."
287
285
  @synonyms "modified, changed, updated, persisted"
288
286
  @tier "presentation"
@@ -347,9 +345,7 @@ orbital SavedSearchOrbital {
347
345
  @description "Indicates failure to load saved search data."
348
346
  @synonyms "error, failure, load error"
349
347
  @tier "internal"
350
- SavedSearchUpdated {
351
- row : SavedSearch
352
- }
348
+ SavedSearchUpdated
353
349
  @description "A saved search's details have been modified."
354
350
  @synonyms "modified, changed, updated"
355
351
  @tier "presentation"
@@ -5,7 +5,7 @@ orbital SignatureCaptureOrbital {
5
5
 
6
6
  type SignatureLoadFailed = Event { error : string, code : string } "Fired when the prior-signature load fails"
7
7
 
8
- type SignatureSubmitted = Event { row : Signature } "Fired after a signature persists successfully"
8
+ type SignatureSubmitted = Event Signature "Fired after a signature persists successfully"
9
9
 
10
10
  type SignatureSubmitFailed = Event { error : string, code : string } "Fired when persisting a signature fails"
11
11
 
@@ -278,9 +278,7 @@ orbital SignatureCaptureOrbital {
278
278
  @description "Indicates the signature data could not be loaded."
279
279
  @synonyms "load error, failed load, data error"
280
280
  @tier "internal"
281
- SignatureSubmitted {
282
- row : Signature
283
- }
281
+ SignatureSubmitted
284
282
  @description "Indicates a signature has been successfully captured and submitted."
285
283
  @synonyms "signed, finalized, completed"
286
284
  @tier "domain"
@@ -323,9 +321,7 @@ orbital SignatureCaptureOrbital {
323
321
  @description "Indicates the signature data could not be loaded."
324
322
  @synonyms "error, failure, problem, unsuccessful"
325
323
  @tier "internal"
326
- SignatureSubmitted {
327
- row : Signature
328
- }
324
+ SignatureSubmitted
329
325
  @description "Indicates a signature has been successfully submitted."
330
326
  @synonyms "saved, finalized, confirmed"
331
327
  @tier "domain"
@@ -8,7 +8,7 @@ orbital TagStripOrbital {
8
8
 
9
9
  type TagStripRemoveOptions = Event { data : [StripTag] } "The shared tag store loaded to resolve the remaining names on remove"
10
10
 
11
- type TagStripTagCreated = Event { id : string, row : StripTag } "A typed tag name had no existing row; one was created in the shared taxonomy"
11
+ type TagStripTagCreated = Event StripTag "A typed tag name had no existing row; one was created in the shared taxonomy"
12
12
 
13
13
  type TagStripLoadFailed = Event { error : string, code : string } "The tag store fetch or create failed"
14
14
 
@@ -230,10 +230,7 @@ orbital TagStripOrbital {
230
230
  }
231
231
  @description "The shared tag store loaded to resolve the remaining names on remove."
232
232
  @tier "internal"
233
- TagStripTagCreated {
234
- id : string
235
- row : StripTag
236
- }
233
+ TagStripTagCreated
237
234
  @description "A typed name had no existing tag; a fresh row was created in the shared taxonomy."
238
235
  @tier "internal"
239
236
  TagStripLoadFailed {
@@ -280,10 +277,7 @@ orbital TagStripOrbital {
280
277
  }
281
278
  @description "Remove-resolve fetch resolved."
282
279
  @tier "internal"
283
- TagStripTagCreated {
284
- id : string
285
- row : StripTag
286
- }
280
+ TagStripTagCreated
287
281
  @description "The taxonomy row for a typed name persisted; attach its id."
288
282
  @tier "internal"
289
283
  TagStripLoadFailed {