@almadar/std 16.241.0 → 16.242.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 (109) hide show
  1. package/behaviors/behaviors-registry.json +4650 -535
  2. package/behaviors/lolo/agent/atoms/std-agent-memory.lolo +38 -1
  3. package/behaviors/lolo/agent/atoms/std-agent-session.lolo +1074 -47
  4. package/behaviors/lolo/agent/atoms/std-agent-tool-loop.lolo +8 -7
  5. package/behaviors/lolo/agent/organisms/std-agent-assistant.lolo +56 -37
  6. package/behaviors/lolo/infra/atoms/std-page-open.lolo +59 -0
  7. package/behaviors/lolo/infra/atoms/std-page-search.lolo +134 -0
  8. package/behaviors/lolo/infra/atoms/std-page-treat.lolo +59 -0
  9. package/behaviors/lolo/infra/atoms/std-page-watch.lolo +86 -0
  10. package/behaviors/lolo/ui/core/atoms/std-book-reader.lolo +25 -1
  11. package/behaviors/lolo/ui/core/atoms/std-card-grid.lolo +9 -0
  12. package/behaviors/lolo/ui/core/atoms/std-doc-page.lolo +153 -0
  13. package/behaviors/lolo/ui/learning/atoms/std-learn-arrangement.lolo +124 -92
  14. package/behaviors/lolo/ui/learning/atoms/std-learn-classify.lolo +114 -55
  15. package/behaviors/lolo/ui/learning/atoms/std-learn-compare.lolo +40 -14
  16. package/behaviors/lolo/ui/learning/atoms/std-learn-coupled-sim.lolo +363 -123
  17. package/behaviors/lolo/ui/learning/atoms/std-learn-derivation.lolo +93 -48
  18. package/behaviors/lolo/ui/learning/atoms/std-learn-diagram.lolo +60 -28
  19. package/behaviors/lolo/ui/learning/atoms/std-learn-doser.lolo +193 -96
  20. package/behaviors/lolo/ui/learning/atoms/std-learn-estimate.lolo +75 -32
  21. package/behaviors/lolo/ui/learning/atoms/std-learn-goal-seek.lolo +142 -86
  22. package/behaviors/lolo/ui/learning/atoms/std-learn-grid-sim.lolo +266 -98
  23. package/behaviors/lolo/ui/learning/atoms/std-learn-hotspot.lolo +103 -65
  24. package/behaviors/lolo/ui/learning/atoms/std-learn-live-sim.lolo +223 -109
  25. package/behaviors/lolo/ui/learning/atoms/std-learn-measure.lolo +232 -64
  26. package/behaviors/lolo/ui/learning/atoms/std-learn-param-explorer.lolo +69 -29
  27. package/behaviors/lolo/ui/learning/atoms/std-learn-perturb.lolo +363 -123
  28. package/behaviors/lolo/ui/learning/atoms/std-learn-predict.lolo +73 -41
  29. package/behaviors/lolo/ui/learning/atoms/std-learn-sample-accumulator.lolo +96 -38
  30. package/behaviors/lolo/ui/learning/atoms/std-learn-sandbox.lolo +65 -45
  31. package/behaviors/lolo/ui/learning/atoms/std-learn-scatter-fit.lolo +243 -117
  32. package/behaviors/lolo/ui/learning/atoms/std-learn-scenario.lolo +76 -28
  33. package/behaviors/lolo/ui/learning/atoms/std-learn-sim-3d.lolo +228 -109
  34. package/behaviors/lolo/ui/learning/atoms/std-learn-speed-drill.lolo +95 -44
  35. package/behaviors/lolo/ui/learning/atoms/std-learn-stepper.lolo +199 -125
  36. package/behaviors/lolo/ui/learning/atoms/std-learn-tour-3d.lolo +92 -48
  37. package/behaviors/lolo/ui/learning/atoms/std-learn-trace-player.lolo +239 -78
  38. package/behaviors/lolo/ui/learning/atoms/std-learn-transport.lolo +147 -38
  39. package/behaviors/lolo/ui/learning/atoms/std-learn-tree.lolo +123 -58
  40. package/behaviors/lolo/ui/learning/atoms/ui-algo-graph-canvas.lolo +22 -0
  41. package/behaviors/lolo/ui/learning/atoms/ui-algorithm-canvas.lolo +26 -0
  42. package/behaviors/lolo/ui/learning/atoms/ui-biology-canvas.lolo +26 -0
  43. package/behaviors/lolo/ui/learning/atoms/ui-chemistry-canvas.lolo +27 -1
  44. package/behaviors/lolo/ui/learning/atoms/ui-learning-canvas.lolo +27 -1
  45. package/behaviors/lolo/ui/learning/atoms/ui-math-canvas.lolo +29 -9
  46. package/behaviors/lolo/ui/learning/atoms/ui-physics-canvas.lolo +26 -0
  47. package/behaviors/lolo-behavior-contracts.json +1 -1
  48. package/behaviors/registry/agent/atoms/std-agent-memory.orb +372 -2
  49. package/behaviors/registry/agent/atoms/std-agent-session.orb +4752 -348
  50. package/behaviors/registry/agent/atoms/std-agent-tool-loop.orb +54 -42
  51. package/behaviors/registry/agent/organisms/std-agent-assistant.orb +356 -122
  52. package/behaviors/registry/factory-signatures.json +1 -1
  53. package/behaviors/registry/infra/atoms/std-page-open.orb +435 -0
  54. package/behaviors/registry/infra/atoms/std-page-search.orb +867 -0
  55. package/behaviors/registry/infra/atoms/std-page-treat.orb +494 -0
  56. package/behaviors/registry/infra/atoms/std-page-watch.orb +554 -0
  57. package/behaviors/registry/ui/core/atoms/std-book-reader.orb +119 -0
  58. package/behaviors/registry/ui/core/atoms/std-card-grid.orb +61 -0
  59. package/behaviors/registry/ui/core/atoms/std-doc-page.orb +594 -0
  60. package/behaviors/registry/ui/learning/atoms/std-learn-arrangement.orb +903 -369
  61. package/behaviors/registry/ui/learning/atoms/std-learn-classify.orb +1002 -232
  62. package/behaviors/registry/ui/learning/atoms/std-learn-compare.orb +253 -74
  63. package/behaviors/registry/ui/learning/atoms/std-learn-coupled-sim.orb +3624 -921
  64. package/behaviors/registry/ui/learning/atoms/std-learn-derivation.orb +685 -144
  65. package/behaviors/registry/ui/learning/atoms/std-learn-diagram.orb +404 -52
  66. package/behaviors/registry/ui/learning/atoms/std-learn-doser.orb +1787 -210
  67. package/behaviors/registry/ui/learning/atoms/std-learn-estimate.orb +699 -71
  68. package/behaviors/registry/ui/learning/atoms/std-learn-goal-seek.orb +1102 -578
  69. package/behaviors/registry/ui/learning/atoms/std-learn-grid-sim.orb +2760 -872
  70. package/behaviors/registry/ui/learning/atoms/std-learn-hotspot.orb +689 -152
  71. package/behaviors/registry/ui/learning/atoms/std-learn-live-sim.orb +1431 -633
  72. package/behaviors/registry/ui/learning/atoms/std-learn-measure.orb +2485 -512
  73. package/behaviors/registry/ui/learning/atoms/std-learn-param-explorer.orb +501 -197
  74. package/behaviors/registry/ui/learning/atoms/std-learn-perturb.orb +3642 -928
  75. package/behaviors/registry/ui/learning/atoms/std-learn-predict.orb +705 -125
  76. package/behaviors/registry/ui/learning/atoms/std-learn-sample-accumulator.orb +624 -114
  77. package/behaviors/registry/ui/learning/atoms/std-learn-sandbox.orb +405 -153
  78. package/behaviors/registry/ui/learning/atoms/std-learn-scatter-fit.orb +1911 -611
  79. package/behaviors/registry/ui/learning/atoms/std-learn-scenario.orb +436 -128
  80. package/behaviors/registry/ui/learning/atoms/std-learn-sim-3d.orb +2482 -485
  81. package/behaviors/registry/ui/learning/atoms/std-learn-speed-drill.orb +896 -192
  82. package/behaviors/registry/ui/learning/atoms/std-learn-stepper.orb +2001 -759
  83. package/behaviors/registry/ui/learning/atoms/std-learn-tour-3d.orb +734 -228
  84. package/behaviors/registry/ui/learning/atoms/std-learn-trace-player.orb +2501 -764
  85. package/behaviors/registry/ui/learning/atoms/std-learn-transport.orb +1591 -173
  86. package/behaviors/registry/ui/learning/atoms/std-learn-tree.orb +883 -122
  87. package/behaviors/registry/ui/learning/atoms/ui-algo-graph-canvas.orb +176 -0
  88. package/behaviors/registry/ui/learning/atoms/ui-algorithm-canvas.orb +211 -0
  89. package/behaviors/registry/ui/learning/atoms/ui-biology-canvas.orb +211 -0
  90. package/behaviors/registry/ui/learning/atoms/ui-chemistry-canvas.orb +212 -1
  91. package/behaviors/registry/ui/learning/atoms/ui-learning-canvas.orb +212 -1
  92. package/behaviors/registry/ui/learning/atoms/ui-math-canvas.orb +203 -9
  93. package/behaviors/registry/ui/learning/atoms/ui-physics-canvas.orb +211 -0
  94. package/behaviors/signatures.lolo +325 -655
  95. package/dist/behaviors/exports-reader.js +16092 -9747
  96. package/dist/behaviors/functions/index.d.ts +1052 -136
  97. package/dist/behaviors/functions/index.js +16063 -9745
  98. package/dist/behaviors/index.d.ts +1 -1
  99. package/dist/behaviors/index.js +16093 -9748
  100. package/dist/behaviors/query.js +16092 -9747
  101. package/dist/behaviors-embeddings.hash.json +3 -3
  102. package/dist/behaviors-embeddings.json +45 -25
  103. package/dist/behaviors-registry.json +4650 -535
  104. package/dist/index.d.ts +1 -1
  105. package/dist/index.js +16093 -9748
  106. package/dist/knob-embeddings.hash.json +3 -3
  107. package/dist/knob-embeddings.json +607 -263
  108. package/dist/registry/factory-signatures.json +1 -1
  109. package/package.json +3 -3
@@ -60,21 +60,35 @@ orbital ScenarioOrbital {
60
60
  padding: md
61
61
  children: [
62
62
  { type: stack, direction: vertical, gap: md, children: [
63
- { type: typography, variant: h4, content: @entity.title },
64
- { type: typography, variant: body, content: (str/concat @config.metricALabel ": " (math/round @entity.metricA 0) " · " @config.metricBLabel ": " (math/round @entity.metricB 0) " · decisions: " (str/concat "" @entity.stepCount)) },
63
+ { type: stack, direction: horizontal, justify: between, align: start, gap: md, children: [
64
+ { type: stack, direction: vertical, gap: xs, children: [
65
+ { type: typography, variant: h4, content: @entity.title },
66
+ (if (== @config.summary "") null { type: typography, variant: body2, color: muted, content: @config.summary })
67
+ ] },
68
+ { type: badge, label: (if @entity.done "Ended" (str/concat "Decision " (+ @entity.stepCount 1))), variant: (if @entity.done "primary" "neutral") }
69
+ ] },
70
+ { type: stack, direction: horizontal, align: center, gap: md, wrap: true, children: [
71
+ { type: stat-display, label: @config.metricALabel, value: (math/round @entity.metricA 0) },
72
+ { type: stat-display, label: @config.metricBLabel, value: (math/round @entity.metricB 0) }
73
+ ] },
65
74
  { type: stack, direction: vertical, gap: md, children: @entity.view },
66
- { type: stack, direction: vertical, gap: xs, children: (array/map (array/range 0 (array/len @entity.choices)) (fn (i)
67
- { type: button, action: CHOOSE, actionPayload: { index: @i }, label: (object/get (array/nth @entity.choices @i) label), variant: secondary, size: sm, disabled: (if @entity.done true false) })) },
68
- { type: typography, variant: caption, content: @entity.feedback },
75
+ { type: stack, direction: vertical, gap: sm, children: (array/map (array/range 0 (array/len @entity.choices)) (fn (i)
76
+ { type: button, action: CHOOSE, actionPayload: { index: @i }, label: (object/get (array/nth @entity.choices @i) label), variant: secondary, size: lg, disabled: (if @entity.done true false) })) },
77
+ { type: typography, variant: body, content: @entity.feedback },
69
78
  { type: stack, direction: vertical, gap: xs, children: (array/map @entity.path (fn (line)
70
79
  { type: typography, variant: caption, color: muted, content: @line })) },
71
- { type: stack, direction: horizontal, gap: sm, children: [
72
- { type: button, action: RESTART, label: @config.restartLabel, variant: primary, disabled: (if @entity.done false true) }
80
+ { type: stack, direction: horizontal, align: center, gap: sm, wrap: true, children: [
81
+ { type: button, action: RESTART, label: @config.restartLabel, icon: "rotate-ccw", variant: primary, disabled: (if @entity.done false true) },
82
+ { type: typography, variant: caption, color: muted, content: (str/concat "Decisions " @entity.stepCount) }
73
83
  ] }
74
84
  ] }
75
85
  ]
76
86
  })
77
87
 
88
+ MODE_SELECTED -> idle when (and (not (== @config.matchMode "")) (not (== ?mode @config.matchMode)))
89
+ (set @entity.active false)
90
+ (render-ui main null)
91
+
78
92
  MODE_SELECTED -> idle when (== ?mode @config.matchMode)
79
93
  (let (
80
94
  (start (array/find @config.nodes (fn n (== (object/get @n id) @config.startId))))
@@ -101,16 +115,26 @@ orbital ScenarioOrbital {
101
115
  padding: md
102
116
  children: [
103
117
  { type: stack, direction: vertical, gap: md, children: [
104
- { type: typography, variant: h4, content: @entity.title },
105
- { type: typography, variant: body, content: (str/concat @config.metricALabel ": " (math/round @entity.metricA 0) " · " @config.metricBLabel ": " (math/round @entity.metricB 0) " · decisions: " (str/concat "" @entity.stepCount)) },
118
+ { type: stack, direction: horizontal, justify: between, align: start, gap: md, children: [
119
+ { type: stack, direction: vertical, gap: xs, children: [
120
+ { type: typography, variant: h4, content: @entity.title },
121
+ (if (== @config.summary "") null { type: typography, variant: body2, color: muted, content: @config.summary })
122
+ ] },
123
+ { type: badge, label: (if @entity.done "Ended" (str/concat "Decision " (+ @entity.stepCount 1))), variant: (if @entity.done "primary" "neutral") }
124
+ ] },
125
+ { type: stack, direction: horizontal, align: center, gap: md, wrap: true, children: [
126
+ { type: stat-display, label: @config.metricALabel, value: (math/round @entity.metricA 0) },
127
+ { type: stat-display, label: @config.metricBLabel, value: (math/round @entity.metricB 0) }
128
+ ] },
106
129
  { type: stack, direction: vertical, gap: md, children: @entity.view },
107
- { type: stack, direction: vertical, gap: xs, children: (array/map (array/range 0 (array/len @entity.choices)) (fn (i)
108
- { type: button, action: CHOOSE, actionPayload: { index: @i }, label: (object/get (array/nth @entity.choices @i) label), variant: secondary, size: sm, disabled: (if @entity.done true false) })) },
109
- { type: typography, variant: caption, content: @entity.feedback },
130
+ { type: stack, direction: vertical, gap: sm, children: (array/map (array/range 0 (array/len @entity.choices)) (fn (i)
131
+ { type: button, action: CHOOSE, actionPayload: { index: @i }, label: (object/get (array/nth @entity.choices @i) label), variant: secondary, size: lg, disabled: (if @entity.done true false) })) },
132
+ { type: typography, variant: body, content: @entity.feedback },
110
133
  { type: stack, direction: vertical, gap: xs, children: (array/map @entity.path (fn (line)
111
134
  { type: typography, variant: caption, color: muted, content: @line })) },
112
- { type: stack, direction: horizontal, gap: sm, children: [
113
- { type: button, action: RESTART, label: @config.restartLabel, variant: primary, disabled: (if @entity.done false true) }
135
+ { type: stack, direction: horizontal, align: center, gap: sm, wrap: true, children: [
136
+ { type: button, action: RESTART, label: @config.restartLabel, icon: "rotate-ccw", variant: primary, disabled: (if @entity.done false true) },
137
+ { type: typography, variant: caption, color: muted, content: (str/concat "Decisions " @entity.stepCount) }
114
138
  ] }
115
139
  ] }
116
140
  ]
@@ -156,16 +180,26 @@ orbital ScenarioOrbital {
156
180
  padding: md
157
181
  children: [
158
182
  { type: stack, direction: vertical, gap: md, children: [
159
- { type: typography, variant: h4, content: @entity.title },
160
- { type: typography, variant: body, content: (str/concat @config.metricALabel ": " (math/round @entity.metricA 0) " · " @config.metricBLabel ": " (math/round @entity.metricB 0) " · decisions: " (str/concat "" @entity.stepCount)) },
183
+ { type: stack, direction: horizontal, justify: between, align: start, gap: md, children: [
184
+ { type: stack, direction: vertical, gap: xs, children: [
185
+ { type: typography, variant: h4, content: @entity.title },
186
+ (if (== @config.summary "") null { type: typography, variant: body2, color: muted, content: @config.summary })
187
+ ] },
188
+ { type: badge, label: (if @entity.done "Ended" (str/concat "Decision " (+ @entity.stepCount 1))), variant: (if @entity.done "primary" "neutral") }
189
+ ] },
190
+ { type: stack, direction: horizontal, align: center, gap: md, wrap: true, children: [
191
+ { type: stat-display, label: @config.metricALabel, value: (math/round @entity.metricA 0) },
192
+ { type: stat-display, label: @config.metricBLabel, value: (math/round @entity.metricB 0) }
193
+ ] },
161
194
  { type: stack, direction: vertical, gap: md, children: @entity.view },
162
- { type: stack, direction: vertical, gap: xs, children: (array/map (array/range 0 (array/len @entity.choices)) (fn (i)
163
- { type: button, action: CHOOSE, actionPayload: { index: @i }, label: (object/get (array/nth @entity.choices @i) label), variant: secondary, size: sm, disabled: (if @entity.done true false) })) },
164
- { type: typography, variant: caption, content: @entity.feedback },
195
+ { type: stack, direction: vertical, gap: sm, children: (array/map (array/range 0 (array/len @entity.choices)) (fn (i)
196
+ { type: button, action: CHOOSE, actionPayload: { index: @i }, label: (object/get (array/nth @entity.choices @i) label), variant: secondary, size: lg, disabled: (if @entity.done true false) })) },
197
+ { type: typography, variant: body, content: @entity.feedback },
165
198
  { type: stack, direction: vertical, gap: xs, children: (array/map @entity.path (fn (line)
166
199
  { type: typography, variant: caption, color: muted, content: @line })) },
167
- { type: stack, direction: horizontal, gap: sm, children: [
168
- { type: button, action: RESTART, label: @config.restartLabel, variant: primary, disabled: (if @entity.done false true) }
200
+ { type: stack, direction: horizontal, align: center, gap: sm, wrap: true, children: [
201
+ { type: button, action: RESTART, label: @config.restartLabel, icon: "rotate-ccw", variant: primary, disabled: (if @entity.done false true) },
202
+ { type: typography, variant: caption, color: muted, content: (str/concat "Decisions " @entity.stepCount) }
169
203
  ] }
170
204
  ] }
171
205
  ]
@@ -198,16 +232,26 @@ orbital ScenarioOrbital {
198
232
  padding: md
199
233
  children: [
200
234
  { type: stack, direction: vertical, gap: md, children: [
201
- { type: typography, variant: h4, content: @entity.title },
202
- { type: typography, variant: body, content: (str/concat @config.metricALabel ": " (math/round @entity.metricA 0) " · " @config.metricBLabel ": " (math/round @entity.metricB 0) " · decisions: " (str/concat "" @entity.stepCount)) },
235
+ { type: stack, direction: horizontal, justify: between, align: start, gap: md, children: [
236
+ { type: stack, direction: vertical, gap: xs, children: [
237
+ { type: typography, variant: h4, content: @entity.title },
238
+ (if (== @config.summary "") null { type: typography, variant: body2, color: muted, content: @config.summary })
239
+ ] },
240
+ { type: badge, label: (if @entity.done "Ended" (str/concat "Decision " (+ @entity.stepCount 1))), variant: (if @entity.done "primary" "neutral") }
241
+ ] },
242
+ { type: stack, direction: horizontal, align: center, gap: md, wrap: true, children: [
243
+ { type: stat-display, label: @config.metricALabel, value: (math/round @entity.metricA 0) },
244
+ { type: stat-display, label: @config.metricBLabel, value: (math/round @entity.metricB 0) }
245
+ ] },
203
246
  { type: stack, direction: vertical, gap: md, children: @entity.view },
204
- { type: stack, direction: vertical, gap: xs, children: (array/map (array/range 0 (array/len @entity.choices)) (fn (i)
205
- { type: button, action: CHOOSE, actionPayload: { index: @i }, label: (object/get (array/nth @entity.choices @i) label), variant: secondary, size: sm, disabled: (if @entity.done true false) })) },
206
- { type: typography, variant: caption, content: @entity.feedback },
247
+ { type: stack, direction: vertical, gap: sm, children: (array/map (array/range 0 (array/len @entity.choices)) (fn (i)
248
+ { type: button, action: CHOOSE, actionPayload: { index: @i }, label: (object/get (array/nth @entity.choices @i) label), variant: secondary, size: lg, disabled: (if @entity.done true false) })) },
249
+ { type: typography, variant: body, content: @entity.feedback },
207
250
  { type: stack, direction: vertical, gap: xs, children: (array/map @entity.path (fn (line)
208
251
  { type: typography, variant: caption, color: muted, content: @line })) },
209
- { type: stack, direction: horizontal, gap: sm, children: [
210
- { type: button, action: RESTART, label: @config.restartLabel, variant: primary, disabled: (if @entity.done false true) }
252
+ { type: stack, direction: horizontal, align: center, gap: sm, wrap: true, children: [
253
+ { type: button, action: RESTART, label: @config.restartLabel, icon: "rotate-ccw", variant: primary, disabled: (if @entity.done false true) },
254
+ { type: typography, variant: caption, color: muted, content: (str/concat "Decisions " @entity.stepCount) }
211
255
  ] }
212
256
  ] }
213
257
  ]
@@ -258,6 +302,10 @@ orbital ScenarioOrbital {
258
302
  @label "Title"
259
303
  @description "Title shown above the scenario."
260
304
  @tier "presentation"
305
+ summary : string = ""
306
+ @label "Concept"
307
+ @description "One line under the title saying what the scenario explores (keep it under ~65 characters). Empty shows no line."
308
+ @tier "presentation"
261
309
  metricALabel : string = "Budget"
262
310
  @label "Metric A Label"
263
311
  @description "Display name of the first tracked consequence metric."