@almadar/std 16.241.0 → 16.243.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 +136 -0
  8. package/behaviors/lolo/infra/atoms/std-page-treat.lolo +59 -0
  9. package/behaviors/lolo/infra/atoms/std-page-watch.lolo +88 -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 +885 -0
  55. package/behaviors/registry/infra/atoms/std-page-treat.orb +494 -0
  56. package/behaviors/registry/infra/atoms/std-page-watch.orb +572 -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
@@ -398,6 +398,13 @@
398
398
  "tier": "domain",
399
399
  "type": "string"
400
400
  },
401
+ "summary": {
402
+ "default": "",
403
+ "description": "One line under the title saying what the scenario explores (keep it under ~65 characters). Empty shows no line.",
404
+ "label": "Concept",
405
+ "tier": "presentation",
406
+ "type": "string"
407
+ },
401
408
  "title": {
402
409
  "default": "Decision Scenario",
403
410
  "description": "Title shown above the scenario.",
@@ -742,37 +749,90 @@
742
749
  {
743
750
  "children": [
744
751
  {
745
- "content": "@entity.title",
746
- "type": "typography",
747
- "variant": "h4"
752
+ "align": "start",
753
+ "children": [
754
+ {
755
+ "children": [
756
+ {
757
+ "content": "@entity.title",
758
+ "type": "typography",
759
+ "variant": "h4"
760
+ },
761
+ [
762
+ "if",
763
+ [
764
+ "==",
765
+ "@config.summary",
766
+ ""
767
+ ],
768
+ null,
769
+ {
770
+ "color": "muted",
771
+ "content": "@config.summary",
772
+ "type": "typography",
773
+ "variant": "body2"
774
+ }
775
+ ]
776
+ ],
777
+ "direction": "vertical",
778
+ "gap": "xs",
779
+ "type": "stack"
780
+ },
781
+ {
782
+ "label": [
783
+ "if",
784
+ "@entity.done",
785
+ "Ended",
786
+ [
787
+ "str/concat",
788
+ "Decision ",
789
+ [
790
+ "+",
791
+ "@entity.stepCount",
792
+ 1.0
793
+ ]
794
+ ]
795
+ ],
796
+ "type": "badge",
797
+ "variant": [
798
+ "if",
799
+ "@entity.done",
800
+ "primary",
801
+ "neutral"
802
+ ]
803
+ }
804
+ ],
805
+ "direction": "horizontal",
806
+ "gap": "md",
807
+ "justify": "between",
808
+ "type": "stack"
748
809
  },
749
810
  {
750
- "content": [
751
- "str/concat",
752
- "@config.metricALabel",
753
- ": ",
754
- [
755
- "math/round",
756
- "@entity.metricA",
757
- 0.0
758
- ],
759
- " · ",
760
- "@config.metricBLabel",
761
- ": ",
762
- [
763
- "math/round",
764
- "@entity.metricB",
765
- 0.0
766
- ],
767
- " · decisions: ",
768
- [
769
- "str/concat",
770
- "",
771
- "@entity.stepCount"
772
- ]
811
+ "align": "center",
812
+ "children": [
813
+ {
814
+ "label": "@config.metricALabel",
815
+ "type": "stat-display",
816
+ "value": [
817
+ "math/round",
818
+ "@entity.metricA",
819
+ 0.0
820
+ ]
821
+ },
822
+ {
823
+ "label": "@config.metricBLabel",
824
+ "type": "stat-display",
825
+ "value": [
826
+ "math/round",
827
+ "@entity.metricB",
828
+ 0.0
829
+ ]
830
+ }
773
831
  ],
774
- "type": "typography",
775
- "variant": "body"
832
+ "direction": "horizontal",
833
+ "gap": "md",
834
+ "type": "stack",
835
+ "wrap": true
776
836
  },
777
837
  {
778
838
  "children": "@entity.view",
@@ -816,20 +876,20 @@
816
876
  ],
817
877
  "label"
818
878
  ],
819
- "size": "sm",
879
+ "size": "lg",
820
880
  "type": "button",
821
881
  "variant": "secondary"
822
882
  }
823
883
  ]
824
884
  ],
825
885
  "direction": "vertical",
826
- "gap": "xs",
886
+ "gap": "sm",
827
887
  "type": "stack"
828
888
  },
829
889
  {
830
890
  "content": "@entity.feedback",
831
891
  "type": "typography",
832
- "variant": "caption"
892
+ "variant": "body"
833
893
  },
834
894
  {
835
895
  "children": [
@@ -853,6 +913,7 @@
853
913
  "type": "stack"
854
914
  },
855
915
  {
916
+ "align": "center",
856
917
  "children": [
857
918
  {
858
919
  "action": "RESTART",
@@ -862,14 +923,26 @@
862
923
  false,
863
924
  true
864
925
  ],
926
+ "icon": "rotate-ccw",
865
927
  "label": "@config.restartLabel",
866
928
  "type": "button",
867
929
  "variant": "primary"
930
+ },
931
+ {
932
+ "color": "muted",
933
+ "content": [
934
+ "str/concat",
935
+ "Decisions ",
936
+ "@entity.stepCount"
937
+ ],
938
+ "type": "typography",
939
+ "variant": "caption"
868
940
  }
869
941
  ],
870
942
  "direction": "horizontal",
871
943
  "gap": "sm",
872
- "type": "stack"
944
+ "type": "stack",
945
+ "wrap": true
873
946
  }
874
947
  ],
875
948
  "direction": "vertical",
@@ -892,6 +965,43 @@
892
965
  ],
893
966
  "to": "idle"
894
967
  },
968
+ {
969
+ "effects": [
970
+ [
971
+ "set",
972
+ "@entity.active",
973
+ false
974
+ ],
975
+ [
976
+ "render-ui",
977
+ "main",
978
+ null
979
+ ]
980
+ ],
981
+ "event": "MODE_SELECTED",
982
+ "eventId": "evt_01M07581GASKSPTBR0AKY9KB4B",
983
+ "from": "idle",
984
+ "guard": [
985
+ "and",
986
+ [
987
+ "not",
988
+ [
989
+ "==",
990
+ "@config.matchMode",
991
+ ""
992
+ ]
993
+ ],
994
+ [
995
+ "not",
996
+ [
997
+ "==",
998
+ "@payload.mode",
999
+ "@config.matchMode"
1000
+ ]
1001
+ ]
1002
+ ],
1003
+ "to": "idle"
1004
+ },
895
1005
  {
896
1006
  "effects": [
897
1007
  [
@@ -1012,37 +1122,90 @@
1012
1122
  {
1013
1123
  "children": [
1014
1124
  {
1015
- "content": "@entity.title",
1016
- "type": "typography",
1017
- "variant": "h4"
1125
+ "align": "start",
1126
+ "children": [
1127
+ {
1128
+ "children": [
1129
+ {
1130
+ "content": "@entity.title",
1131
+ "type": "typography",
1132
+ "variant": "h4"
1133
+ },
1134
+ [
1135
+ "if",
1136
+ [
1137
+ "==",
1138
+ "@config.summary",
1139
+ ""
1140
+ ],
1141
+ null,
1142
+ {
1143
+ "color": "muted",
1144
+ "content": "@config.summary",
1145
+ "type": "typography",
1146
+ "variant": "body2"
1147
+ }
1148
+ ]
1149
+ ],
1150
+ "direction": "vertical",
1151
+ "gap": "xs",
1152
+ "type": "stack"
1153
+ },
1154
+ {
1155
+ "label": [
1156
+ "if",
1157
+ "@entity.done",
1158
+ "Ended",
1159
+ [
1160
+ "str/concat",
1161
+ "Decision ",
1162
+ [
1163
+ "+",
1164
+ "@entity.stepCount",
1165
+ 1.0
1166
+ ]
1167
+ ]
1168
+ ],
1169
+ "type": "badge",
1170
+ "variant": [
1171
+ "if",
1172
+ "@entity.done",
1173
+ "primary",
1174
+ "neutral"
1175
+ ]
1176
+ }
1177
+ ],
1178
+ "direction": "horizontal",
1179
+ "gap": "md",
1180
+ "justify": "between",
1181
+ "type": "stack"
1018
1182
  },
1019
1183
  {
1020
- "content": [
1021
- "str/concat",
1022
- "@config.metricALabel",
1023
- ": ",
1024
- [
1025
- "math/round",
1026
- "@entity.metricA",
1027
- 0.0
1028
- ],
1029
- " · ",
1030
- "@config.metricBLabel",
1031
- ": ",
1032
- [
1033
- "math/round",
1034
- "@entity.metricB",
1035
- 0.0
1036
- ],
1037
- " · decisions: ",
1038
- [
1039
- "str/concat",
1040
- "",
1041
- "@entity.stepCount"
1042
- ]
1184
+ "align": "center",
1185
+ "children": [
1186
+ {
1187
+ "label": "@config.metricALabel",
1188
+ "type": "stat-display",
1189
+ "value": [
1190
+ "math/round",
1191
+ "@entity.metricA",
1192
+ 0.0
1193
+ ]
1194
+ },
1195
+ {
1196
+ "label": "@config.metricBLabel",
1197
+ "type": "stat-display",
1198
+ "value": [
1199
+ "math/round",
1200
+ "@entity.metricB",
1201
+ 0.0
1202
+ ]
1203
+ }
1043
1204
  ],
1044
- "type": "typography",
1045
- "variant": "body"
1205
+ "direction": "horizontal",
1206
+ "gap": "md",
1207
+ "type": "stack",
1208
+ "wrap": true
1046
1209
  },
1047
1210
  {
1048
1211
  "children": "@entity.view",
@@ -1086,20 +1249,20 @@
1086
1249
  ],
1087
1250
  "label"
1088
1251
  ],
1089
- "size": "sm",
1252
+ "size": "lg",
1090
1253
  "type": "button",
1091
1254
  "variant": "secondary"
1092
1255
  }
1093
1256
  ]
1094
1257
  ],
1095
1258
  "direction": "vertical",
1096
- "gap": "xs",
1259
+ "gap": "sm",
1097
1260
  "type": "stack"
1098
1261
  },
1099
1262
  {
1100
1263
  "content": "@entity.feedback",
1101
1264
  "type": "typography",
1102
- "variant": "caption"
1265
+ "variant": "body"
1103
1266
  },
1104
1267
  {
1105
1268
  "children": [
@@ -1123,6 +1286,7 @@
1123
1286
  "type": "stack"
1124
1287
  },
1125
1288
  {
1289
+ "align": "center",
1126
1290
  "children": [
1127
1291
  {
1128
1292
  "action": "RESTART",
@@ -1132,14 +1296,26 @@
1132
1296
  false,
1133
1297
  true
1134
1298
  ],
1299
+ "icon": "rotate-ccw",
1135
1300
  "label": "@config.restartLabel",
1136
1301
  "type": "button",
1137
1302
  "variant": "primary"
1303
+ },
1304
+ {
1305
+ "color": "muted",
1306
+ "content": [
1307
+ "str/concat",
1308
+ "Decisions ",
1309
+ "@entity.stepCount"
1310
+ ],
1311
+ "type": "typography",
1312
+ "variant": "caption"
1138
1313
  }
1139
1314
  ],
1140
1315
  "direction": "horizontal",
1141
1316
  "gap": "sm",
1142
- "type": "stack"
1317
+ "type": "stack",
1318
+ "wrap": true
1143
1319
  }
1144
1320
  ],
1145
1321
  "direction": "vertical",
@@ -1440,37 +1616,90 @@
1440
1616
  {
1441
1617
  "children": [
1442
1618
  {
1443
- "content": "@entity.title",
1444
- "type": "typography",
1445
- "variant": "h4"
1619
+ "align": "start",
1620
+ "children": [
1621
+ {
1622
+ "children": [
1623
+ {
1624
+ "content": "@entity.title",
1625
+ "type": "typography",
1626
+ "variant": "h4"
1627
+ },
1628
+ [
1629
+ "if",
1630
+ [
1631
+ "==",
1632
+ "@config.summary",
1633
+ ""
1634
+ ],
1635
+ null,
1636
+ {
1637
+ "color": "muted",
1638
+ "content": "@config.summary",
1639
+ "type": "typography",
1640
+ "variant": "body2"
1641
+ }
1642
+ ]
1643
+ ],
1644
+ "direction": "vertical",
1645
+ "gap": "xs",
1646
+ "type": "stack"
1647
+ },
1648
+ {
1649
+ "label": [
1650
+ "if",
1651
+ "@entity.done",
1652
+ "Ended",
1653
+ [
1654
+ "str/concat",
1655
+ "Decision ",
1656
+ [
1657
+ "+",
1658
+ "@entity.stepCount",
1659
+ 1.0
1660
+ ]
1661
+ ]
1662
+ ],
1663
+ "type": "badge",
1664
+ "variant": [
1665
+ "if",
1666
+ "@entity.done",
1667
+ "primary",
1668
+ "neutral"
1669
+ ]
1670
+ }
1671
+ ],
1672
+ "direction": "horizontal",
1673
+ "gap": "md",
1674
+ "justify": "between",
1675
+ "type": "stack"
1446
1676
  },
1447
1677
  {
1448
- "content": [
1449
- "str/concat",
1450
- "@config.metricALabel",
1451
- ": ",
1452
- [
1453
- "math/round",
1454
- "@entity.metricA",
1455
- 0.0
1456
- ],
1457
- " · ",
1458
- "@config.metricBLabel",
1459
- ": ",
1460
- [
1461
- "math/round",
1462
- "@entity.metricB",
1463
- 0.0
1464
- ],
1465
- " · decisions: ",
1466
- [
1467
- "str/concat",
1468
- "",
1469
- "@entity.stepCount"
1470
- ]
1678
+ "align": "center",
1679
+ "children": [
1680
+ {
1681
+ "label": "@config.metricALabel",
1682
+ "type": "stat-display",
1683
+ "value": [
1684
+ "math/round",
1685
+ "@entity.metricA",
1686
+ 0.0
1687
+ ]
1688
+ },
1689
+ {
1690
+ "label": "@config.metricBLabel",
1691
+ "type": "stat-display",
1692
+ "value": [
1693
+ "math/round",
1694
+ "@entity.metricB",
1695
+ 0.0
1696
+ ]
1697
+ }
1471
1698
  ],
1472
- "type": "typography",
1473
- "variant": "body"
1699
+ "direction": "horizontal",
1700
+ "gap": "md",
1701
+ "type": "stack",
1702
+ "wrap": true
1474
1703
  },
1475
1704
  {
1476
1705
  "children": "@entity.view",
@@ -1514,20 +1743,20 @@
1514
1743
  ],
1515
1744
  "label"
1516
1745
  ],
1517
- "size": "sm",
1746
+ "size": "lg",
1518
1747
  "type": "button",
1519
1748
  "variant": "secondary"
1520
1749
  }
1521
1750
  ]
1522
1751
  ],
1523
1752
  "direction": "vertical",
1524
- "gap": "xs",
1753
+ "gap": "sm",
1525
1754
  "type": "stack"
1526
1755
  },
1527
1756
  {
1528
1757
  "content": "@entity.feedback",
1529
1758
  "type": "typography",
1530
- "variant": "caption"
1759
+ "variant": "body"
1531
1760
  },
1532
1761
  {
1533
1762
  "children": [
@@ -1551,6 +1780,7 @@
1551
1780
  "type": "stack"
1552
1781
  },
1553
1782
  {
1783
+ "align": "center",
1554
1784
  "children": [
1555
1785
  {
1556
1786
  "action": "RESTART",
@@ -1560,14 +1790,26 @@
1560
1790
  false,
1561
1791
  true
1562
1792
  ],
1793
+ "icon": "rotate-ccw",
1563
1794
  "label": "@config.restartLabel",
1564
1795
  "type": "button",
1565
1796
  "variant": "primary"
1797
+ },
1798
+ {
1799
+ "color": "muted",
1800
+ "content": [
1801
+ "str/concat",
1802
+ "Decisions ",
1803
+ "@entity.stepCount"
1804
+ ],
1805
+ "type": "typography",
1806
+ "variant": "caption"
1566
1807
  }
1567
1808
  ],
1568
1809
  "direction": "horizontal",
1569
1810
  "gap": "sm",
1570
- "type": "stack"
1811
+ "type": "stack",
1812
+ "wrap": true
1571
1813
  }
1572
1814
  ],
1573
1815
  "direction": "vertical",
@@ -1728,37 +1970,90 @@
1728
1970
  {
1729
1971
  "children": [
1730
1972
  {
1731
- "content": "@entity.title",
1732
- "type": "typography",
1733
- "variant": "h4"
1973
+ "align": "start",
1974
+ "children": [
1975
+ {
1976
+ "children": [
1977
+ {
1978
+ "content": "@entity.title",
1979
+ "type": "typography",
1980
+ "variant": "h4"
1981
+ },
1982
+ [
1983
+ "if",
1984
+ [
1985
+ "==",
1986
+ "@config.summary",
1987
+ ""
1988
+ ],
1989
+ null,
1990
+ {
1991
+ "color": "muted",
1992
+ "content": "@config.summary",
1993
+ "type": "typography",
1994
+ "variant": "body2"
1995
+ }
1996
+ ]
1997
+ ],
1998
+ "direction": "vertical",
1999
+ "gap": "xs",
2000
+ "type": "stack"
2001
+ },
2002
+ {
2003
+ "label": [
2004
+ "if",
2005
+ "@entity.done",
2006
+ "Ended",
2007
+ [
2008
+ "str/concat",
2009
+ "Decision ",
2010
+ [
2011
+ "+",
2012
+ "@entity.stepCount",
2013
+ 1.0
2014
+ ]
2015
+ ]
2016
+ ],
2017
+ "type": "badge",
2018
+ "variant": [
2019
+ "if",
2020
+ "@entity.done",
2021
+ "primary",
2022
+ "neutral"
2023
+ ]
2024
+ }
2025
+ ],
2026
+ "direction": "horizontal",
2027
+ "gap": "md",
2028
+ "justify": "between",
2029
+ "type": "stack"
1734
2030
  },
1735
2031
  {
1736
- "content": [
1737
- "str/concat",
1738
- "@config.metricALabel",
1739
- ": ",
1740
- [
1741
- "math/round",
1742
- "@entity.metricA",
1743
- 0.0
1744
- ],
1745
- " · ",
1746
- "@config.metricBLabel",
1747
- ": ",
1748
- [
1749
- "math/round",
1750
- "@entity.metricB",
1751
- 0.0
1752
- ],
1753
- " · decisions: ",
1754
- [
1755
- "str/concat",
1756
- "",
1757
- "@entity.stepCount"
1758
- ]
2032
+ "align": "center",
2033
+ "children": [
2034
+ {
2035
+ "label": "@config.metricALabel",
2036
+ "type": "stat-display",
2037
+ "value": [
2038
+ "math/round",
2039
+ "@entity.metricA",
2040
+ 0.0
2041
+ ]
2042
+ },
2043
+ {
2044
+ "label": "@config.metricBLabel",
2045
+ "type": "stat-display",
2046
+ "value": [
2047
+ "math/round",
2048
+ "@entity.metricB",
2049
+ 0.0
2050
+ ]
2051
+ }
1759
2052
  ],
1760
- "type": "typography",
1761
- "variant": "body"
2053
+ "direction": "horizontal",
2054
+ "gap": "md",
2055
+ "type": "stack",
2056
+ "wrap": true
1762
2057
  },
1763
2058
  {
1764
2059
  "children": "@entity.view",
@@ -1802,20 +2097,20 @@
1802
2097
  ],
1803
2098
  "label"
1804
2099
  ],
1805
- "size": "sm",
2100
+ "size": "lg",
1806
2101
  "type": "button",
1807
2102
  "variant": "secondary"
1808
2103
  }
1809
2104
  ]
1810
2105
  ],
1811
2106
  "direction": "vertical",
1812
- "gap": "xs",
2107
+ "gap": "sm",
1813
2108
  "type": "stack"
1814
2109
  },
1815
2110
  {
1816
2111
  "content": "@entity.feedback",
1817
2112
  "type": "typography",
1818
- "variant": "caption"
2113
+ "variant": "body"
1819
2114
  },
1820
2115
  {
1821
2116
  "children": [
@@ -1839,6 +2134,7 @@
1839
2134
  "type": "stack"
1840
2135
  },
1841
2136
  {
2137
+ "align": "center",
1842
2138
  "children": [
1843
2139
  {
1844
2140
  "action": "RESTART",
@@ -1848,14 +2144,26 @@
1848
2144
  false,
1849
2145
  true
1850
2146
  ],
2147
+ "icon": "rotate-ccw",
1851
2148
  "label": "@config.restartLabel",
1852
2149
  "type": "button",
1853
2150
  "variant": "primary"
2151
+ },
2152
+ {
2153
+ "color": "muted",
2154
+ "content": [
2155
+ "str/concat",
2156
+ "Decisions ",
2157
+ "@entity.stepCount"
2158
+ ],
2159
+ "type": "typography",
2160
+ "variant": "caption"
1854
2161
  }
1855
2162
  ],
1856
2163
  "direction": "horizontal",
1857
2164
  "gap": "sm",
1858
- "type": "stack"
2165
+ "type": "stack",
2166
+ "wrap": true
1859
2167
  }
1860
2168
  ],
1861
2169
  "direction": "vertical",