@almadar/std 16.144.0 → 16.145.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 (91) hide show
  1. package/behaviors/lolo/ml/atoms/std-ml-classify.lolo +121 -0
  2. package/behaviors/lolo/ml/atoms/std-ml-exact-check.lolo +90 -0
  3. package/behaviors/lolo/ml/atoms/std-ml-infer.lolo +141 -0
  4. package/behaviors/lolo/ml/atoms/std-ml-label-capture.lolo +75 -0
  5. package/behaviors/lolo/ml/atoms/std-ml-lookup.lolo +83 -0
  6. package/behaviors/lolo/ml/atoms/std-ml-posterior.lolo +104 -0
  7. package/behaviors/lolo/ml/atoms/std-ml-similarity.lolo +154 -0
  8. package/behaviors/lolo/ml/molecules/std-escalating-decision.lolo +271 -0
  9. package/behaviors/lolo/ml/molecules/std-knowledge-tracing.lolo +115 -0
  10. package/behaviors/lolo/ui/core/atoms/std-board.lolo +20 -6
  11. package/behaviors/lolo/ui/core/atoms/std-browse.lolo +23 -6
  12. package/behaviors/lolo/ui/core/atoms/std-calendar.lolo +80 -2
  13. package/behaviors/lolo/ui/core/atoms/ui-typography.lolo +1 -1
  14. package/behaviors/lolo/ui/core/molecules/ui-calendar-grid.lolo +18 -0
  15. package/behaviors/lolo/ui/core/molecules/ui-data-grid.lolo +2 -0
  16. package/behaviors/lolo/ui/core/molecules/ui-data-list.lolo +3 -2
  17. package/behaviors/lolo/ui/core/molecules/ui-filter-group.lolo +20 -0
  18. package/behaviors/lolo/ui/core/molecules/ui-search-input.lolo +7 -2
  19. package/behaviors/lolo/ui/core/molecules/ui-table-view.lolo +3 -2
  20. package/behaviors/lolo/ui/core/organisms/ui-entity-cards.lolo +2 -0
  21. package/behaviors/lolo/ui/core/organisms/ui-entity-list.lolo +2 -0
  22. package/behaviors/lolo/ui/core/organisms/ui-entity-table.lolo +2 -0
  23. package/behaviors/lolo/ui/core/organisms/ui-timeline.lolo +2 -0
  24. package/behaviors/registry/factory-signatures.json +5018 -824
  25. package/behaviors/registry/ml/atoms/std-ml-classify.orb +622 -0
  26. package/behaviors/registry/ml/atoms/std-ml-exact-check.orb +505 -0
  27. package/behaviors/registry/ml/atoms/std-ml-infer.orb +770 -0
  28. package/behaviors/registry/ml/atoms/std-ml-label-capture.orb +367 -0
  29. package/behaviors/registry/ml/atoms/std-ml-lookup.orb +473 -0
  30. package/behaviors/registry/ml/atoms/std-ml-posterior.orb +669 -0
  31. package/behaviors/registry/ml/atoms/std-ml-similarity.orb +862 -0
  32. package/behaviors/registry/ml/molecules/std-escalating-decision.orb +1553 -0
  33. package/behaviors/registry/ml/molecules/std-knowledge-tracing.orb +577 -0
  34. package/behaviors/registry/ui/core/atoms/std-board.orb +64 -20
  35. package/behaviors/registry/ui/core/atoms/std-browse.orb +83 -48
  36. package/behaviors/registry/ui/core/atoms/std-calendar.orb +213 -3
  37. package/behaviors/registry/ui/core/atoms/ui-typography.orb +1 -1
  38. package/behaviors/registry/ui/core/molecules/ui-calendar-grid.orb +27 -0
  39. package/behaviors/registry/ui/core/molecules/ui-data-grid.orb +25 -12
  40. package/behaviors/registry/ui/core/molecules/ui-data-list.orb +26 -13
  41. package/behaviors/registry/ui/core/molecules/ui-filter-group.orb +86 -0
  42. package/behaviors/registry/ui/core/molecules/ui-search-input.orb +37 -1
  43. package/behaviors/registry/ui/core/molecules/ui-table-view.orb +25 -12
  44. package/behaviors/registry/ui/core/organisms/ui-entity-cards.orb +13 -0
  45. package/behaviors/registry/ui/core/organisms/ui-entity-list.orb +21 -8
  46. package/behaviors/registry/ui/core/organisms/ui-entity-table.orb +13 -0
  47. package/behaviors/registry/ui/core/organisms/ui-timeline.orb +13 -0
  48. package/canonical-operators.json +30 -6
  49. package/dist/behaviors/behaviors-embeddings.json +134 -134
  50. package/dist/behaviors/exports-reader.js +2462 -2080
  51. package/dist/behaviors/functions/index.d.ts +725 -1
  52. package/dist/behaviors/functions/index.js +2437 -2081
  53. package/dist/behaviors/index.d.ts +1 -1
  54. package/dist/behaviors/index.js +2463 -2081
  55. package/dist/behaviors/knob-embeddings.json +1 -1
  56. package/dist/behaviors/query.js +2462 -2080
  57. package/dist/behaviors/registry/factory-signatures.json +5018 -824
  58. package/dist/behaviors/registry/ml/atoms/std-ml-classify.orb +622 -0
  59. package/dist/behaviors/registry/ml/atoms/std-ml-exact-check.orb +505 -0
  60. package/dist/behaviors/registry/ml/atoms/std-ml-infer.orb +770 -0
  61. package/dist/behaviors/registry/ml/atoms/std-ml-label-capture.orb +367 -0
  62. package/dist/behaviors/registry/ml/atoms/std-ml-lookup.orb +473 -0
  63. package/dist/behaviors/registry/ml/atoms/std-ml-posterior.orb +669 -0
  64. package/dist/behaviors/registry/ml/atoms/std-ml-similarity.orb +862 -0
  65. package/dist/behaviors/registry/ml/molecules/std-escalating-decision.orb +1553 -0
  66. package/dist/behaviors/registry/ml/molecules/std-knowledge-tracing.orb +577 -0
  67. package/dist/behaviors/registry/ui/core/atoms/std-board.orb +64 -20
  68. package/dist/behaviors/registry/ui/core/atoms/std-browse.orb +83 -48
  69. package/dist/behaviors/registry/ui/core/atoms/std-calendar.orb +213 -3
  70. package/dist/behaviors/registry/ui/core/atoms/ui-typography.orb +1 -1
  71. package/dist/behaviors/registry/ui/core/molecules/ui-calendar-grid.orb +27 -0
  72. package/dist/behaviors/registry/ui/core/molecules/ui-data-grid.orb +25 -12
  73. package/dist/behaviors/registry/ui/core/molecules/ui-data-list.orb +26 -13
  74. package/dist/behaviors/registry/ui/core/molecules/ui-filter-group.orb +86 -0
  75. package/dist/behaviors/registry/ui/core/molecules/ui-search-input.orb +37 -1
  76. package/dist/behaviors/registry/ui/core/molecules/ui-table-view.orb +25 -12
  77. package/dist/behaviors/registry/ui/core/organisms/ui-entity-cards.orb +13 -0
  78. package/dist/behaviors/registry/ui/core/organisms/ui-entity-list.orb +21 -8
  79. package/dist/behaviors/registry/ui/core/organisms/ui-entity-table.orb +13 -0
  80. package/dist/behaviors/registry/ui/core/organisms/ui-timeline.orb +13 -0
  81. package/dist/behaviors-embeddings.json +134 -134
  82. package/dist/index.d.ts +1 -1
  83. package/dist/index.js +2498 -2088
  84. package/dist/knob-embeddings.json +1 -1
  85. package/dist/modules/array.js +28 -0
  86. package/dist/modules/contract.js +4 -4
  87. package/dist/modules/data.js +3 -3
  88. package/dist/modules/index.js +35 -7
  89. package/dist/registry/factory-signatures.json +5018 -824
  90. package/dist/registry.js +35 -7
  91. package/package.json +3 -3
@@ -11,10 +11,11 @@ orbital CalendarEventOrbital {
11
11
  description : string @description "event details or notes" @synonyms "details, notes, body, summary"
12
12
  status : "active" | "inactive" | "pending" @description "event lifecycle status" @synonyms "state, stage, phase" = active
13
13
  createdAt : string
14
- date : datetime @intrinsic = ""
14
+ date : datetime @intrinsic
15
15
  time : string @description "event start time of day" @synonyms "start, scheduled time, begins, when, start time" = ""
16
16
  duration : number @description "event length in minutes" @synonyms "minutes, length, span, duration" = 60
17
17
  selectedRange : string @intrinsic = month
18
+ weekAnchor : date @intrinsic
18
19
  }
19
20
 
20
21
  trait CalendarEventCalendar -> @rebindable CalendarEvent [interaction, collection] {
@@ -22,6 +23,7 @@ orbital CalendarEventOrbital {
22
23
 
23
24
  state loading {
24
25
  INIT -> loading
26
+ (set @entity.weekAnchor (time/now))
25
27
  (fetch CalendarEvent {
26
28
  emit: { failure: CalendarEventLoadFailed, success: CalendarEventLoaded }
27
29
  })
@@ -87,6 +89,16 @@ orbital CalendarEventOrbital {
87
89
  emit: { failure: CalendarEventLoadFailed, success: CalendarEventLoaded }
88
90
  filter: (time/isAfter (time/parse @entity.date) (if ["=", ?value, week] (time/subtract (time/now) 1 week) (if ["=", ?value, "3months"] (time/subtract (time/now) 3 month) (if ["=", ?value, year] (time/subtract (time/now) 1 year) (time/subtract (time/now) 1 month)))))
89
91
  })
92
+ CALENDAR_PREV_WEEK -> loading
93
+ (set @entity.weekAnchor (time/subtract @entity.weekAnchor 1 week))
94
+ (fetch CalendarEvent {
95
+ emit: { failure: CalendarEventLoadFailed, success: CalendarEventLoaded }
96
+ })
97
+ CALENDAR_NEXT_WEEK -> loading
98
+ (set @entity.weekAnchor (time/add @entity.weekAnchor 1 week))
99
+ (fetch CalendarEvent {
100
+ emit: { failure: CalendarEventLoadFailed, success: CalendarEventLoaded }
101
+ })
90
102
  }
91
103
 
92
104
  state error {
@@ -106,6 +118,11 @@ orbital CalendarEventOrbital {
106
118
  @description "Indicates a failure to load calendar events."
107
119
  @synonyms "error, failed, problem, loading issue"
108
120
  @tier "internal"
121
+ @config.onEventClick -> external {
122
+ event : object
123
+ }
124
+ @description "Emitted when a calendar chip is clicked: UI:{onEventClick} with { event } carrying the clicked row."
125
+ @tier "presentation"
109
126
  }
110
127
 
111
128
  listens {
@@ -128,6 +145,14 @@ orbital CalendarEventOrbital {
128
145
  @description "Indicates a failure to load calendar events."
129
146
  @synonyms "error, failure, problem, failed"
130
147
  @tier "internal"
148
+ CALENDAR_PREV_WEEK
149
+ @description "Move the week timeline one week earlier."
150
+ @synonyms "previous week, back a week, earlier week, last week"
151
+ @tier "domain"
152
+ CALENDAR_NEXT_WEEK
153
+ @description "Move the week timeline one week later."
154
+ @synonyms "next week, forward a week, later week, following week"
155
+ @tier "domain"
131
156
  }
132
157
 
133
158
  config {
@@ -151,6 +176,16 @@ orbital CalendarEventOrbital {
151
176
  @label "Description binding"
152
177
  @description "Per-row binding for the event description slot."
153
178
  @tier "presentation"
179
+ startField : string = "date"
180
+ @label "Start field"
181
+ @description "Row column holding the timestamp the calendar grid places each chip by. Rebound hosts point this at their own column (e.g. startTime, startsAt, dueAt); the chip's LABEL comes from titleBinding, not from here."
182
+ @synonyms "start column, date column, when field, timestamp field"
183
+ @tier "presentation"
184
+ onEventClick : string = ""
185
+ @label "On Event Click"
186
+ @description "Event emitted when a calendar chip is clicked: UI:{onEventClick} with { event } carrying the clicked row. Empty means chips are not clickable."
187
+ @synonyms "open event, event click, select event, chip click"
188
+ @tier "presentation"
154
189
  calendarLook : "month" | "agenda-list" | "week-timeline" = month
155
190
  @label "Calendar look"
156
191
  @description "Layer 3 body layout: default month-grid + upcoming-events list ('month'), day-grouped agenda list ('agenda-list'), or 7-column week timeline ('week-timeline')."
@@ -181,7 +216,17 @@ orbital CalendarEventOrbital {
181
216
  gap: md
182
217
  justify: between
183
218
  type: stack
184
- }, { type: divider }, { events: ?data, type: calendar-grid }, { type: divider }, {
219
+ }, { type: divider }, {
220
+ events: ?data
221
+ onEventClick: @config.onEventClick
222
+ renderItem: (fn item {
223
+ content: @config.titleBinding
224
+ type: typography
225
+ variant: small
226
+ })
227
+ startField: @config.startField
228
+ type: calendar-grid
229
+ }, { type: divider }, {
185
230
  content: "Upcoming Events"
186
231
  type: typography
187
232
  variant: h4
@@ -331,6 +376,29 @@ orbital CalendarEventOrbital {
331
376
  direction: horizontal
332
377
  gap: sm
333
378
  type: stack
379
+ }, {
380
+ align: center
381
+ children: [{
382
+ action: CALENDAR_PREV_WEEK
383
+ icon: chevron-left
384
+ label: "Previous week"
385
+ type: button
386
+ variant: ghost
387
+ }, {
388
+ color: muted
389
+ content: (time/format @entity.weekAnchor "MMM D, YYYY")
390
+ type: typography
391
+ variant: caption
392
+ }, {
393
+ action: CALENDAR_NEXT_WEEK
394
+ icon: chevron-right
395
+ label: "Next week"
396
+ type: button
397
+ variant: ghost
398
+ }]
399
+ direction: horizontal
400
+ gap: xs
401
+ type: stack
334
402
  }, {
335
403
  onSelect: SELECT_DAY
336
404
  selected: @entity.selectedRange
@@ -344,7 +412,17 @@ orbital CalendarEventOrbital {
344
412
  className: w-full
345
413
  dayWindow: 7
346
414
  events: ?data
415
+ onEventClick: @config.onEventClick
416
+ renderItem: (fn item {
417
+ content: @config.titleBinding
418
+ type: typography
419
+ variant: small
420
+ })
421
+ startField: @config.startField
422
+ swipeLeftEvent: CALENDAR_NEXT_WEEK
423
+ swipeRightEvent: CALENDAR_PREV_WEEK
347
424
  type: calendar-grid
425
+ weekStart: @entity.weekAnchor
348
426
  }]
349
427
  direction: vertical
350
428
  gap: md
@@ -46,7 +46,7 @@ orbital TypographyOrbital {
46
46
  @tier "presentation"
47
47
  weight : "none" | "light" | "normal" | "medium" | "semibold" | "bold" = none
48
48
  @label "Weight"
49
- @description "Font weight override"
49
+ @description "Font weight override — `none` = no override, the variant's baked weight applies"
50
50
  @tier "presentation"
51
51
  size : "none" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" = none
52
52
  @label "Size"
@@ -30,6 +30,9 @@ orbital CalendarGridOrbital {
30
30
  swipeLeftEvent: @config.swipeLeftEvent
31
31
  swipeRightEvent: @config.swipeRightEvent
32
32
  dayWindow: @config.dayWindow
33
+ titleField: @config.titleField
34
+ startField: @config.startField
35
+ colorField: @config.colorField
33
36
  type: calendar-grid
34
37
  })
35
38
  CalendarGridLoaded -> idle
@@ -46,6 +49,9 @@ orbital CalendarGridOrbital {
46
49
  swipeLeftEvent: @config.swipeLeftEvent
47
50
  swipeRightEvent: @config.swipeRightEvent
48
51
  dayWindow: @config.dayWindow
52
+ titleField: @config.titleField
53
+ startField: @config.startField
54
+ colorField: @config.colorField
49
55
  type: calendar-grid
50
56
  })
51
57
  }
@@ -134,6 +140,18 @@ orbital CalendarGridOrbital {
134
140
  @label "Day Window"
135
141
  @description "Override the viewport-driven day window. `'auto'` (default) tracks `window.innerWidth` — 1 day on mobile, 3 on tablet, 7 on laptop+. Pass an explicit number to force a fixed window (useful for print layouts or screenshot tests)."
136
142
  @tier "presentation"
143
+ titleField : string = title
144
+ @label "Title Field"
145
+ @description "Row field holding the chip label. Defaults to `title`. Lets a host bound to its own entity name the column instead of being forced to rename its fields to this grid's contract (same accessor idiom as `DataList`'s `senderField` / `DataGrid`'s `imageField`)."
146
+ @tier "presentation"
147
+ startField : string = startTime
148
+ @label "Start Field"
149
+ @description "Row field holding the start timestamp (ISO or epoch). Defaults to `startTime`."
150
+ @tier "presentation"
151
+ colorField : string = color
152
+ @label "Color Field"
153
+ @description "Row field holding the chip's Tailwind colour class. Defaults to `color`."
154
+ @tier "presentation"
137
155
  }
138
156
  }
139
157
 
@@ -106,6 +106,8 @@ orbital DataGridOrbital {
106
106
  look: @config.look
107
107
  type: data-grid
108
108
  })
109
+ VIEW -> idle
110
+ (emit VIEW {})
109
111
  }
110
112
 
111
113
  emits {
@@ -18,8 +18,7 @@ orbital DataListOrbital {
18
18
  }
19
19
  type DataListItemActionsItem = {
20
20
  label : string!
21
- event : string
22
- navigatesTo : string
21
+ event : string!
23
22
  icon : icon
24
23
  variant : "primary" | "secondary" | "ghost" | "danger"
25
24
  }
@@ -123,6 +122,8 @@ orbital DataListOrbital {
123
122
  look: @config.look
124
123
  type: data-list
125
124
  })
125
+ VIEW -> idle
126
+ (emit VIEW {})
126
127
  }
127
128
 
128
129
  emits {
@@ -30,6 +30,8 @@ orbital FilterGroupOrbital {
30
30
  query: @config.query
31
31
  isLoading: @config.isLoading
32
32
  look: @config.look
33
+ event: @config.event
34
+ clearEvent: @config.clearEvent
33
35
  type: filter-group
34
36
  })
35
37
  }
@@ -46,6 +48,16 @@ orbital FilterGroupOrbital {
46
48
  }
47
49
  @description "Callback to clear all filters"
48
50
  @tier "essential"
51
+ @config.event -> external {
52
+ id : string
53
+ }
54
+ @description "Declarative filter event — emits UI:{event} via eventBus on filter change (alongside canonical UI:FILTER)"
55
+ @tier "essential"
56
+ @config.clearEvent -> external {
57
+ id : string
58
+ }
59
+ @description "Declarative clear event — emits UI:{clearEvent} via eventBus on clear-all (alongside canonical UI:CLEAR_FILTERS)"
60
+ @tier "essential"
49
61
  }
50
62
 
51
63
  config {
@@ -85,6 +97,14 @@ orbital FilterGroupOrbital {
85
97
  @label "Look"
86
98
  @description "Layer 2 visual treatment — orthogonal to the semantic variant."
87
99
  @tier "presentation"
100
+ event : string = "EVENT"
101
+ @label "Event"
102
+ @description "Declarative filter event — emits UI:{event} via eventBus on filter change (alongside canonical UI:FILTER)"
103
+ @tier "presentation"
104
+ clearEvent : string = "CLEAR"
105
+ @label "Clear Event"
106
+ @description "Declarative clear event — emits UI:{clearEvent} via eventBus on clear-all (alongside canonical UI:CLEAR_FILTERS)"
107
+ @tier "presentation"
88
108
  }
89
109
  }
90
110
 
@@ -49,6 +49,11 @@ orbital SearchInputOrbital {
49
49
  }
50
50
  @description "Callback when search value changes"
51
51
  @tier "essential"
52
+ @config.event -> external {
53
+ id : string
54
+ }
55
+ @description "Declarative search event — emits UI:{event} via eventBus on query submit (alongside canonical UI:SEARCH)"
56
+ @tier "essential"
52
57
  }
53
58
 
54
59
  listens {
@@ -86,9 +91,9 @@ orbital SearchInputOrbital {
86
91
  @label "Class Name"
87
92
  @description "Additional CSS classes"
88
93
  @tier "presentation"
89
- event : string
94
+ event : string = "EVENT"
90
95
  @label "Event"
91
- @description "Event name to dispatch on search (schema metadata, wired by trait) This is metadata used by the trait generator, not by the component."
96
+ @description "Declarative search event emits UI:{event} via eventBus on query submit (alongside canonical UI:SEARCH)"
92
97
  @tier "presentation"
93
98
  query : string
94
99
  @label "Query"
@@ -31,8 +31,7 @@ orbital TableViewOrbital {
31
31
  }
32
32
  type TableViewItemActionsItem = {
33
33
  label : string!
34
- event : string
35
- navigatesTo : string
34
+ event : string!
36
35
  icon : icon
37
36
  variant : "primary" | "secondary" | "ghost" | "danger"
38
37
  }
@@ -112,6 +111,8 @@ orbital TableViewOrbital {
112
111
  look: @config.look
113
112
  type: table-view
114
113
  })
114
+ VIEW -> idle
115
+ (emit VIEW {})
115
116
  }
116
117
 
117
118
  emits {
@@ -96,6 +96,8 @@ orbital EntityCardsOrbital {
96
96
  imageField: @config.imageField
97
97
  type: entity-cards
98
98
  })
99
+ VIEW -> idle
100
+ (emit VIEW {})
99
101
  }
100
102
 
101
103
  emits {
@@ -74,6 +74,8 @@ orbital EntityListOrbital {
74
74
  fieldNames: @config.fieldNames
75
75
  type: entity-list
76
76
  })
77
+ VIEW -> idle
78
+ (emit VIEW {})
77
79
  }
78
80
 
79
81
  emits {
@@ -120,6 +120,8 @@ orbital EntityTableOrbital {
120
120
  look: @config.look
121
121
  type: entity-table
122
122
  })
123
+ VIEW -> idle
124
+ (emit VIEW {})
123
125
  }
124
126
 
125
127
  emits {
@@ -59,6 +59,8 @@ orbital TimelineOrbital {
59
59
  look: @config.look
60
60
  type: timeline
61
61
  })
62
+ VIEW -> idle
63
+ (emit VIEW {})
62
64
  }
63
65
 
64
66
  emits {