@almadar/std 16.242.0 → 16.244.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 (144) hide show
  1. package/behaviors/behaviors-registry.json +4470 -513
  2. package/behaviors/lolo/agent/atoms/std-agent-context.lolo +24 -4
  3. package/behaviors/lolo/agent/atoms/std-agent-memory.lolo +20 -5
  4. package/behaviors/lolo/agent/atoms/std-agent-proposal.lolo +550 -0
  5. package/behaviors/lolo/agent/atoms/std-agent-session.lolo +284 -25
  6. package/behaviors/lolo/agent/atoms/std-agent-suggestions.lolo +841 -0
  7. package/behaviors/lolo/agent/atoms/std-agent-tool-loop.lolo +58 -8
  8. package/behaviors/lolo/agent/organisms/std-agent-assistant.lolo +1 -0
  9. package/behaviors/lolo/infra/atoms/std-page-search.lolo +3 -1
  10. package/behaviors/lolo/infra/atoms/std-page-treat.lolo +28 -1
  11. package/behaviors/lolo/infra/atoms/std-page-watch.lolo +3 -1
  12. package/behaviors/lolo/ui/avl/atoms/ui-avl-state-machine.lolo +22 -0
  13. package/behaviors/lolo/ui/avl/atoms/ui-avl-transition-explainer.lolo +175 -0
  14. package/behaviors/lolo/ui/avl/atoms/ui-module-card.lolo +22 -0
  15. package/behaviors/lolo/ui/core/atoms/std-app-layout.lolo +23 -4
  16. package/behaviors/lolo/ui/core/atoms/std-hero.lolo +72 -33
  17. package/behaviors/lolo/ui/core/molecules/ui-agent-chat-feed.lolo +1 -1
  18. package/behaviors/lolo/ui/core/molecules/ui-markdown-content.lolo +54 -0
  19. package/behaviors/lolo/ui/core/molecules/ui-upload-drop-zone.lolo +5 -0
  20. package/behaviors/lolo/ui/core/organisms/ui-segment-renderer.lolo +127 -3
  21. package/behaviors/lolo/ui/core/organisms/ui-state-machine-view.lolo +22 -0
  22. package/behaviors/lolo/ui/core/templates/ui-dashboard-layout.lolo +2 -2
  23. package/behaviors/lolo/ui/learning/atoms/std-learn-arrangement.lolo +87 -17
  24. package/behaviors/lolo/ui/learning/atoms/std-learn-classify.lolo +172 -37
  25. package/behaviors/lolo/ui/learning/atoms/std-learn-coupled-sim.lolo +183 -70
  26. package/behaviors/lolo/ui/learning/atoms/std-learn-derivation.lolo +78 -13
  27. package/behaviors/lolo/ui/learning/atoms/std-learn-diagram.lolo +58 -2
  28. package/behaviors/lolo/ui/learning/atoms/std-learn-doser.lolo +107 -12
  29. package/behaviors/lolo/ui/learning/atoms/std-learn-estimate.lolo +83 -10
  30. package/behaviors/lolo/ui/learning/atoms/std-learn-goal-seek.lolo +130 -9
  31. package/behaviors/lolo/ui/learning/atoms/std-learn-grid-sim.lolo +143 -59
  32. package/behaviors/lolo/ui/learning/atoms/std-learn-hotspot.lolo +96 -22
  33. package/behaviors/lolo/ui/learning/atoms/std-learn-live-sim.lolo +66 -5
  34. package/behaviors/lolo/ui/learning/atoms/std-learn-predict.lolo +84 -6
  35. package/behaviors/lolo/ui/learning/atoms/std-learn-sandbox.lolo +80 -14
  36. package/behaviors/lolo/ui/learning/atoms/std-learn-scatter-fit.lolo +99 -5
  37. package/behaviors/lolo/ui/learning/atoms/std-learn-scenario.lolo +81 -7
  38. package/behaviors/lolo/ui/learning/atoms/std-learn-speed-drill.lolo +83 -7
  39. package/behaviors/lolo/ui/learning/atoms/std-learn-stepper.lolo +224 -99
  40. package/behaviors/lolo/ui/learning/atoms/std-learn-tour-3d.lolo +63 -2
  41. package/behaviors/lolo/ui/learning/atoms/std-learn-trace-player.lolo +99 -38
  42. package/behaviors/lolo/ui/learning/atoms/std-learn-transport.lolo +7 -7
  43. package/behaviors/lolo/ui/learning/atoms/std-learn-tree.lolo +69 -4
  44. package/behaviors/lolo-behavior-contracts.json +1 -1
  45. package/behaviors/registry/agent/atoms/std-agent-context.orb +205 -6
  46. package/behaviors/registry/agent/atoms/std-agent-memory.orb +146 -4
  47. package/behaviors/registry/agent/atoms/std-agent-proposal.orb +1972 -0
  48. package/behaviors/registry/agent/atoms/std-agent-session.orb +2021 -597
  49. package/behaviors/registry/agent/atoms/std-agent-suggestions.orb +5079 -0
  50. package/behaviors/registry/agent/atoms/std-agent-tool-loop.orb +287 -5
  51. package/behaviors/registry/agent/organisms/std-agent-assistant.orb +7 -0
  52. package/behaviors/registry/factory-signatures.json +1 -1
  53. package/behaviors/registry/infra/atoms/std-page-search.orb +19 -1
  54. package/behaviors/registry/infra/atoms/std-page-treat.orb +327 -2
  55. package/behaviors/registry/infra/atoms/std-page-watch.orb +19 -1
  56. package/behaviors/registry/ui/avl/atoms/ui-avl-state-machine.orb +134 -0
  57. package/behaviors/registry/ui/avl/atoms/ui-avl-transition-explainer.orb +678 -0
  58. package/behaviors/registry/ui/avl/atoms/ui-module-card.orb +122 -0
  59. package/behaviors/registry/ui/core/atoms/std-app-layout.orb +73 -4
  60. package/behaviors/registry/ui/core/atoms/std-hero.orb +174 -97
  61. package/behaviors/registry/ui/core/molecules/ui-markdown-content.orb +204 -1
  62. package/behaviors/registry/ui/core/molecules/ui-upload-drop-zone.orb +12 -0
  63. package/behaviors/registry/ui/core/organisms/ui-segment-renderer.orb +683 -30
  64. package/behaviors/registry/ui/learning/atoms/std-learn-arrangement.orb +748 -21
  65. package/behaviors/registry/ui/learning/atoms/std-learn-classify.orb +1429 -41
  66. package/behaviors/registry/ui/learning/atoms/std-learn-coupled-sim.orb +1031 -185
  67. package/behaviors/registry/ui/learning/atoms/std-learn-derivation.orb +807 -132
  68. package/behaviors/registry/ui/learning/atoms/std-learn-diagram.orb +553 -6
  69. package/behaviors/registry/ui/learning/atoms/std-learn-doser.orb +987 -21
  70. package/behaviors/registry/ui/learning/atoms/std-learn-estimate.orb +582 -16
  71. package/behaviors/registry/ui/learning/atoms/std-learn-goal-seek.orb +954 -13
  72. package/behaviors/registry/ui/learning/atoms/std-learn-grid-sim.orb +828 -88
  73. package/behaviors/registry/ui/learning/atoms/std-learn-hotspot.orb +730 -28
  74. package/behaviors/registry/ui/learning/atoms/std-learn-live-sim.orb +479 -9
  75. package/behaviors/registry/ui/learning/atoms/std-learn-predict.orb +797 -46
  76. package/behaviors/registry/ui/learning/atoms/std-learn-sandbox.orb +757 -58
  77. package/behaviors/registry/ui/learning/atoms/std-learn-scatter-fit.orb +1176 -164
  78. package/behaviors/registry/ui/learning/atoms/std-learn-scenario.orb +599 -12
  79. package/behaviors/registry/ui/learning/atoms/std-learn-speed-drill.orb +832 -150
  80. package/behaviors/registry/ui/learning/atoms/std-learn-stepper.orb +1561 -127
  81. package/behaviors/registry/ui/learning/atoms/std-learn-tour-3d.orb +655 -6
  82. package/behaviors/registry/ui/learning/atoms/std-learn-trace-player.orb +634 -43
  83. package/behaviors/registry/ui/learning/atoms/std-learn-transport.orb +85 -31
  84. package/behaviors/registry/ui/learning/atoms/std-learn-tree.orb +425 -9
  85. package/canonical-operators.json +45 -2
  86. package/dist/behaviors/exports-reader.js +16667 -7868
  87. package/dist/behaviors/functions/index.d.ts +711 -32
  88. package/dist/behaviors/functions/index.js +16651 -7869
  89. package/dist/behaviors/index.d.ts +1 -1
  90. package/dist/behaviors/index.js +16668 -7869
  91. package/dist/behaviors/query.js +16667 -7868
  92. package/dist/behaviors-embeddings.hash.json +3 -3
  93. package/dist/behaviors-embeddings.json +77 -53
  94. package/dist/behaviors-registry.json +4470 -513
  95. package/dist/index.d.ts +3 -3
  96. package/dist/index.js +16101 -7275
  97. package/dist/knob-embeddings.hash.json +3 -3
  98. package/dist/knob-embeddings.json +1309 -685
  99. package/dist/modules/anim.d.ts +1 -1
  100. package/dist/modules/array.d.ts +1 -1
  101. package/dist/modules/async.d.ts +1 -1
  102. package/dist/modules/behavior.d.ts +1 -1
  103. package/dist/modules/browser.d.ts +1 -1
  104. package/dist/modules/composition.d.ts +1 -1
  105. package/dist/modules/contract.d.ts +1 -1
  106. package/dist/modules/core.d.ts +1 -1
  107. package/dist/modules/core.js +29 -2
  108. package/dist/modules/data.d.ts +1 -1
  109. package/dist/modules/ease.d.ts +1 -1
  110. package/dist/modules/format.d.ts +1 -1
  111. package/dist/modules/geo.d.ts +1 -1
  112. package/dist/modules/graph.d.ts +1 -1
  113. package/dist/modules/grid.d.ts +1 -1
  114. package/dist/modules/i18n.d.ts +1 -1
  115. package/dist/modules/index.d.ts +1 -1
  116. package/dist/modules/index.js +29 -2
  117. package/dist/modules/integration.d.ts +1 -1
  118. package/dist/modules/json.d.ts +1 -1
  119. package/dist/modules/llm.d.ts +1 -1
  120. package/dist/modules/math.d.ts +1 -1
  121. package/dist/modules/memory.d.ts +1 -1
  122. package/dist/modules/nn.d.ts +1 -1
  123. package/dist/modules/noise.d.ts +1 -1
  124. package/dist/modules/object.d.ts +1 -1
  125. package/dist/modules/os.d.ts +1 -1
  126. package/dist/modules/path.d.ts +1 -1
  127. package/dist/modules/prob.d.ts +1 -1
  128. package/dist/modules/session.d.ts +1 -1
  129. package/dist/modules/str.d.ts +1 -1
  130. package/dist/modules/tensor.d.ts +1 -1
  131. package/dist/modules/time.d.ts +1 -1
  132. package/dist/modules/trace.d.ts +1 -1
  133. package/dist/modules/train.d.ts +1 -1
  134. package/dist/modules/validate.d.ts +1 -1
  135. package/dist/modules/vector.d.ts +1 -1
  136. package/dist/modules/workspace.d.ts +1 -1
  137. package/dist/registry/factory-signatures.json +1 -1
  138. package/dist/registry.d.ts +2 -2
  139. package/dist/registry.js +29 -2
  140. package/dist/{types-Cdb321uM.d.ts → types-Y-yYWEOX.d.ts} +1 -1
  141. package/i18n/ar.json +3 -1
  142. package/i18n/en.json +2 -0
  143. package/i18n/sl.json +3 -1
  144. package/package.json +3 -3
@@ -163,7 +163,7 @@
163
163
  "config": {
164
164
  "fields": {
165
165
  "default": {},
166
- "description": "Field name to how to read it from each result: `selector` (a descendant; absent reads the result itself), `attr` (an attribute; absent reads the text) and `resolve` (the attribute is a URL: return it absolute)",
166
+ "description": "Field name to how to read it from each result: `selector` (a descendant; absent reads the result itself), `attr` (an attribute; absent reads the text) , `resolve` (the value is a URL: return it absolute), `template` (compose the value from other fields, `{name}` per field; empty when any is empty) and `required` (leave the result out until this field reads non-empty)",
167
167
  "items": {
168
168
  "properties": {
169
169
  "attr": {
@@ -171,6 +171,11 @@
171
171
  "required": false,
172
172
  "type": "string"
173
173
  },
174
+ "required": {
175
+ "name": "required",
176
+ "required": false,
177
+ "type": "boolean"
178
+ },
174
179
  "resolve": {
175
180
  "name": "resolve",
176
181
  "required": false,
@@ -180,6 +185,11 @@
180
185
  "name": "selector",
181
186
  "required": false,
182
187
  "type": "string"
188
+ },
189
+ "template": {
190
+ "name": "template",
191
+ "required": false,
192
+ "type": "string"
183
193
  }
184
194
  },
185
195
  "type": "object"
@@ -846,6 +856,14 @@
846
856
  {
847
857
  "name": "resolve",
848
858
  "type": "boolean"
859
+ },
860
+ {
861
+ "name": "template",
862
+ "type": "string"
863
+ },
864
+ {
865
+ "name": "required",
866
+ "type": "boolean"
849
867
  }
850
868
  ],
851
869
  "PageResult": [
@@ -1,5 +1,5 @@
1
1
  {
2
- "description": "std-page-treat — applies a declared visual treatment to one element of a browser tab (hide, blur, highlight, or label it with text) or restores it, and reports which element it treated. TREAT takes the tab and element id std-page-watch reports. The treatments are a fixed, declared set: no arbitrary styles or scripts. Needs a host with the `page` service (a browser extension).",
2
+ "description": "std-page-treat — applies a declared visual treatment to one element of a browser tab (hide, blur, highlight, or label it with text) or restores it, and reports which element it treated. TREAT takes the tab and element id std-page-watch reports; TREAT_MANY treats a whole list at once and reports which elements were treated and which had already left their page. The treatments are a fixed, declared set: no arbitrary styles or scripts. Needs a host with the `page` service (a browser extension).",
3
3
  "ledger": {
4
4
  "entries": {
5
5
  "ent_01M431PMWEZFEQMV1ZADZ4AR3S": {
@@ -64,6 +64,33 @@
64
64
  "parent": "trt_01M431PMWE8GVWK42G31TJKSYS",
65
65
  "renames": []
66
66
  },
67
+ "evt_01M45BPXT9139TFQ4Y8FZMW7YR": {
68
+ "bakedName": "TREATED_MANY",
69
+ "curName": "TREATED_MANY",
70
+ "id": "evt_01M45BPXT9139TFQ4Y8FZMW7YR",
71
+ "kind": "event",
72
+ "owner": "workspace",
73
+ "parent": "trt_01M431PMWE8GVWK42G31TJKSYS",
74
+ "renames": []
75
+ },
76
+ "evt_01M45BPXT9RQKY42KAAF2R587N": {
77
+ "bakedName": "TREAT_MANY",
78
+ "curName": "TREAT_MANY",
79
+ "id": "evt_01M45BPXT9RQKY42KAAF2R587N",
80
+ "kind": "event",
81
+ "owner": "workspace",
82
+ "parent": "trt_01M431PMWE8GVWK42G31TJKSYS",
83
+ "renames": []
84
+ },
85
+ "evt_01M45BPXT9SP0TMHXWX7EP6WEE": {
86
+ "bakedName": "APPLIED_MANY",
87
+ "curName": "APPLIED_MANY",
88
+ "id": "evt_01M45BPXT9SP0TMHXWX7EP6WEE",
89
+ "kind": "event",
90
+ "owner": "workspace",
91
+ "parent": "trt_01M431PMWE8GVWK42G31TJKSYS",
92
+ "renames": []
93
+ },
67
94
  "orb_01M431PMWEGB77DC3DGPK02RAP": {
68
95
  "bakedName": "PageTreatOrbital",
69
96
  "curName": "PageTreatOrbital",
@@ -148,10 +175,18 @@
148
175
  "kind": "call-service",
149
176
  "resource": "page.apply"
150
177
  },
178
+ {
179
+ "kind": "call-service",
180
+ "resource": "page.applyMany"
181
+ },
151
182
  {
152
183
  "kind": "emit",
153
184
  "resource": "TREATED"
154
185
  },
186
+ {
187
+ "kind": "emit",
188
+ "resource": "TREATED_MANY"
189
+ },
155
190
  {
156
191
  "kind": "emit",
157
192
  "resource": "TREAT_FAILED"
@@ -198,6 +233,48 @@
198
233
  ],
199
234
  "tier": "secondary"
200
235
  },
236
+ {
237
+ "description": "The page service applied a list of treatments",
238
+ "event": "APPLIED_MANY",
239
+ "eventId": "evt_01M45BPXT9SP0TMHXWX7EP6WEE",
240
+ "payloadSchema": [
241
+ {
242
+ "entity": "PageElementRef",
243
+ "name": "applied",
244
+ "properties": [
245
+ {
246
+ "name": "tab",
247
+ "required": true,
248
+ "type": "number"
249
+ },
250
+ {
251
+ "name": "elementId",
252
+ "required": true,
253
+ "type": "string"
254
+ }
255
+ ],
256
+ "type": "[object]"
257
+ },
258
+ {
259
+ "entity": "PageElementRef",
260
+ "name": "missing",
261
+ "properties": [
262
+ {
263
+ "name": "tab",
264
+ "required": true,
265
+ "type": "number"
266
+ },
267
+ {
268
+ "name": "elementId",
269
+ "required": true,
270
+ "type": "string"
271
+ }
272
+ ],
273
+ "type": "[object]"
274
+ }
275
+ ],
276
+ "tier": "secondary"
277
+ },
201
278
  {
202
279
  "description": "The page service could not apply the treatment",
203
280
  "event": "APPLY_FAILED",
@@ -235,6 +312,50 @@
235
312
  "synonyms": "hidden, blurred, highlighted, labelled, restored",
236
313
  "tier": "primary"
237
314
  },
315
+ {
316
+ "description": "Each listed element now shows its treatment; `missing` lists those that had left their page (or whose tab closed)",
317
+ "event": "TREATED_MANY",
318
+ "eventId": "evt_01M45BPXT9139TFQ4Y8FZMW7YR",
319
+ "payloadSchema": [
320
+ {
321
+ "entity": "PageElementRef",
322
+ "name": "applied",
323
+ "properties": [
324
+ {
325
+ "name": "tab",
326
+ "required": true,
327
+ "type": "number"
328
+ },
329
+ {
330
+ "name": "elementId",
331
+ "required": true,
332
+ "type": "string"
333
+ }
334
+ ],
335
+ "type": "[object]"
336
+ },
337
+ {
338
+ "entity": "PageElementRef",
339
+ "name": "missing",
340
+ "properties": [
341
+ {
342
+ "name": "tab",
343
+ "required": true,
344
+ "type": "number"
345
+ },
346
+ {
347
+ "name": "elementId",
348
+ "required": true,
349
+ "type": "string"
350
+ }
351
+ ],
352
+ "type": "[object]"
353
+ }
354
+ ],
355
+ "scope": "external",
356
+ "synonyms": "hidden, blurred, restored, treated",
357
+ "tier": "primary"
358
+ },
238
359
  {
239
360
  "description": "The treatment could not be applied (the element is gone, or the tab closed)",
240
361
  "event": "TREAT_FAILED",
@@ -320,6 +441,82 @@
320
441
  ],
321
442
  "tier": "secondary"
322
443
  },
444
+ {
445
+ "description": "Treat a list of page elements in one call, each with its own treatment and label",
446
+ "external": true,
447
+ "id": "evt_01M45BPXT9RQKY42KAAF2R587N",
448
+ "key": "TREAT_MANY",
449
+ "name": "Treat Many",
450
+ "payloadSchema": [
451
+ {
452
+ "name": "items",
453
+ "properties": [
454
+ {
455
+ "name": "tab",
456
+ "required": true,
457
+ "type": "number"
458
+ },
459
+ {
460
+ "name": "elementId",
461
+ "required": true,
462
+ "type": "string"
463
+ },
464
+ {
465
+ "name": "treatment",
466
+ "type": "string"
467
+ },
468
+ {
469
+ "name": "label",
470
+ "type": "string"
471
+ }
472
+ ],
473
+ "type": "[object]"
474
+ }
475
+ ]
476
+ },
477
+ {
478
+ "description": "The page service applied a list of treatments",
479
+ "id": "evt_01M45BPXT9SP0TMHXWX7EP6WEE",
480
+ "key": "APPLIED_MANY",
481
+ "name": "Applied Many",
482
+ "payloadSchema": [
483
+ {
484
+ "entity": "PageElementRef",
485
+ "name": "applied",
486
+ "properties": [
487
+ {
488
+ "name": "tab",
489
+ "required": true,
490
+ "type": "number"
491
+ },
492
+ {
493
+ "name": "elementId",
494
+ "required": true,
495
+ "type": "string"
496
+ }
497
+ ],
498
+ "type": "[object]"
499
+ },
500
+ {
501
+ "entity": "PageElementRef",
502
+ "name": "missing",
503
+ "properties": [
504
+ {
505
+ "name": "tab",
506
+ "required": true,
507
+ "type": "number"
508
+ },
509
+ {
510
+ "name": "elementId",
511
+ "required": true,
512
+ "type": "string"
513
+ }
514
+ ],
515
+ "type": "[object]"
516
+ }
517
+ ],
518
+ "tier": "secondary"
519
+ },
323
520
  {
324
521
  "description": "The page service could not apply the treatment",
325
522
  "id": "evt_01M431PMWETQ15DFSCY7X3S3DQ",
@@ -358,6 +555,50 @@
358
555
  "synonyms": "hidden, blurred, highlighted, labelled, restored",
359
556
  "tier": "primary"
360
557
  },
558
+ {
559
+ "description": "Each listed element now shows its treatment; `missing` lists those that had left their page (or whose tab closed)",
560
+ "id": "evt_01M45BPXT9139TFQ4Y8FZMW7YR",
561
+ "key": "TREATED_MANY",
562
+ "name": "Treated Many",
563
+ "payloadSchema": [
564
+ {
565
+ "entity": "PageElementRef",
566
+ "name": "applied",
567
+ "properties": [
568
+ {
569
+ "name": "tab",
570
+ "required": true,
571
+ "type": "number"
572
+ },
573
+ {
574
+ "name": "elementId",
575
+ "required": true,
576
+ "type": "string"
577
+ }
578
+ ],
579
+ "type": "[object]"
580
+ },
581
+ {
582
+ "entity": "PageElementRef",
583
+ "name": "missing",
584
+ "properties": [
585
+ {
586
+ "name": "tab",
587
+ "required": true,
588
+ "type": "number"
589
+ },
590
+ {
591
+ "name": "elementId",
592
+ "required": true,
593
+ "type": "string"
594
+ }
595
+ ],
596
+ "type": "[object]"
597
+ }
598
+ ],
599
+ "synonyms": "hidden, blurred, restored, treated",
600
+ "tier": "primary"
601
+ },
361
602
  {
362
603
  "description": "The treatment could not be applied (the element is gone, or the tab closed)",
363
604
  "id": "evt_01M431PMWEBZK1KCZAB9FG6AE1",
@@ -449,6 +690,56 @@
449
690
  "from": "ready",
450
691
  "to": "ready"
451
692
  },
693
+ {
694
+ "effects": [
695
+ [
696
+ "call-service",
697
+ "page",
698
+ "applyMany",
699
+ {
700
+ "items": "@payload.items"
701
+ },
702
+ {
703
+ "emit": {
704
+ "failure": "APPLY_FAILED",
705
+ "success": "APPLIED_MANY"
706
+ }
707
+ }
708
+ ]
709
+ ],
710
+ "event": "TREAT_MANY",
711
+ "eventId": "evt_01M45BPXT9RQKY42KAAF2R587N",
712
+ "from": "ready",
713
+ "to": "ready"
714
+ },
715
+ {
716
+ "effects": [
717
+ [
718
+ "set",
719
+ "@entity.treated",
720
+ [
721
+ "+",
722
+ "@entity.treated",
723
+ [
724
+ "array/len",
725
+ "@payload.applied"
726
+ ]
727
+ ]
728
+ ],
729
+ [
730
+ "emit",
731
+ "TREATED_MANY",
732
+ {
733
+ "applied": "@payload.applied",
734
+ "missing": "@payload.missing"
735
+ }
736
+ ]
737
+ ],
738
+ "event": "APPLIED_MANY",
739
+ "eventId": "evt_01M45BPXT9SP0TMHXWX7EP6WEE",
740
+ "from": "ready",
741
+ "to": "ready"
742
+ },
452
743
  {
453
744
  "effects": [
454
745
  [
@@ -486,7 +777,41 @@
486
777
  ]
487
778
  }
488
779
  }
489
- ]
780
+ ],
781
+ "types": {
782
+ "PageElementRef": [
783
+ {
784
+ "name": "tab",
785
+ "required": true,
786
+ "type": "number"
787
+ },
788
+ {
789
+ "name": "elementId",
790
+ "required": true,
791
+ "type": "string"
792
+ }
793
+ ],
794
+ "PageTreatment": [
795
+ {
796
+ "name": "tab",
797
+ "required": true,
798
+ "type": "number"
799
+ },
800
+ {
801
+ "name": "elementId",
802
+ "required": true,
803
+ "type": "string"
804
+ },
805
+ {
806
+ "name": "treatment",
807
+ "type": "string"
808
+ },
809
+ {
810
+ "name": "label",
811
+ "type": "string"
812
+ }
813
+ ]
814
+ }
490
815
  }
491
816
  ],
492
817
  "schemaVersion": 1,
@@ -146,7 +146,7 @@
146
146
  "config": {
147
147
  "fields": {
148
148
  "default": {},
149
- "description": "Field name to how to read it from each element: `selector` (a descendant; absent reads the element itself), `attr` (an attribute; absent reads the text) and `resolve` (the attribute is a URL: return it absolute)",
149
+ "description": "Field name to how to read it from each element: `selector` (a descendant; absent reads the element itself), `attr` (an attribute; absent reads the text) , `resolve` (the value is a URL: return it absolute), `template` (compose the value from other fields, `{name}` per field; empty when any is empty) and `required` (leave the element out until this field reads non-empty — a placeholder is reported once it fills in)",
150
150
  "items": {
151
151
  "properties": {
152
152
  "attr": {
@@ -154,6 +154,11 @@
154
154
  "required": false,
155
155
  "type": "string"
156
156
  },
157
+ "required": {
158
+ "name": "required",
159
+ "required": false,
160
+ "type": "boolean"
161
+ },
157
162
  "resolve": {
158
163
  "name": "resolve",
159
164
  "required": false,
@@ -163,6 +168,11 @@
163
168
  "name": "selector",
164
169
  "required": false,
165
170
  "type": "string"
171
+ },
172
+ "template": {
173
+ "name": "template",
174
+ "required": false,
175
+ "type": "string"
166
176
  }
167
177
  },
168
178
  "type": "object"
@@ -544,6 +554,14 @@
544
554
  {
545
555
  "name": "resolve",
546
556
  "type": "boolean"
557
+ },
558
+ {
559
+ "name": "template",
560
+ "type": "string"
561
+ },
562
+ {
563
+ "name": "required",
564
+ "type": "boolean"
547
565
  }
548
566
  ]
549
567
  }
@@ -110,6 +110,92 @@
110
110
  "tier": "presentation",
111
111
  "type": "number"
112
112
  },
113
+ "annotations": {
114
+ "default": {
115
+ "effects": {
116
+ "persist": {
117
+ "body": "Saves the order."
118
+ }
119
+ },
120
+ "states": {
121
+ "pending": {
122
+ "body": "Every order starts here.",
123
+ "title": "Unpaid"
124
+ }
125
+ },
126
+ "transitions": {
127
+ "PAY": {
128
+ "body": "Only fires when the amount is positive."
129
+ }
130
+ }
131
+ },
132
+ "description": "Author explanations shown in a popover on hover: a note per state name, per transition event and per effect type.",
133
+ "label": "Annotations",
134
+ "properties": {
135
+ "effects": {
136
+ "items": {
137
+ "properties": {
138
+ "body": {
139
+ "name": "body",
140
+ "required": true,
141
+ "type": "string"
142
+ },
143
+ "title": {
144
+ "name": "title",
145
+ "required": false,
146
+ "type": "string"
147
+ }
148
+ },
149
+ "type": "object"
150
+ },
151
+ "name": "effects",
152
+ "required": false,
153
+ "type": "object"
154
+ },
155
+ "states": {
156
+ "items": {
157
+ "properties": {
158
+ "body": {
159
+ "name": "body",
160
+ "required": true,
161
+ "type": "string"
162
+ },
163
+ "title": {
164
+ "name": "title",
165
+ "required": false,
166
+ "type": "string"
167
+ }
168
+ },
169
+ "type": "object"
170
+ },
171
+ "name": "states",
172
+ "required": false,
173
+ "type": "object"
174
+ },
175
+ "transitions": {
176
+ "items": {
177
+ "properties": {
178
+ "body": {
179
+ "name": "body",
180
+ "required": true,
181
+ "type": "string"
182
+ },
183
+ "title": {
184
+ "name": "title",
185
+ "required": false,
186
+ "type": "string"
187
+ }
188
+ },
189
+ "type": "object"
190
+ },
191
+ "name": "transitions",
192
+ "required": false,
193
+ "type": "object"
194
+ }
195
+ },
196
+ "tier": "presentation",
197
+ "type": "AvlStateMachineAnnotations"
198
+ },
113
199
  "ariaBusy": {
114
200
  "description": "This region is updating; assistive technology waits before announcing it.",
115
201
  "label": "Aria-busy",
@@ -865,6 +951,7 @@
865
951
  {
866
952
  "activeState": "@config.activeState",
867
953
  "activeTransition": "@config.activeTransition",
954
+ "annotations": "@config.annotations",
868
955
  "aria-busy": "@config.ariaBusy",
869
956
  "aria-current": "@config.ariaCurrent",
870
957
  "aria-describedby": "@config.ariaDescribedby",
@@ -908,6 +995,53 @@
908
995
  }
909
996
  ],
910
997
  "types": {
998
+ "AvlStateMachineAnnotations": [
999
+ {
1000
+ "name": "states",
1001
+ "type": "Map<string,AvlStateMachineAnnotationsStatesValue>"
1002
+ },
1003
+ {
1004
+ "name": "transitions",
1005
+ "type": "Map<string,AvlStateMachineAnnotationsTransitionsValue>"
1006
+ },
1007
+ {
1008
+ "name": "effects",
1009
+ "type": "Map<string,AvlStateMachineAnnotationsEffectsValue>"
1010
+ }
1011
+ ],
1012
+ "AvlStateMachineAnnotationsEffectsValue": [
1013
+ {
1014
+ "name": "title",
1015
+ "type": "string"
1016
+ },
1017
+ {
1018
+ "name": "body",
1019
+ "required": true,
1020
+ "type": "string"
1021
+ }
1022
+ ],
1023
+ "AvlStateMachineAnnotationsStatesValue": [
1024
+ {
1025
+ "name": "title",
1026
+ "type": "string"
1027
+ },
1028
+ {
1029
+ "name": "body",
1030
+ "required": true,
1031
+ "type": "string"
1032
+ }
1033
+ ],
1034
+ "AvlStateMachineAnnotationsTransitionsValue": [
1035
+ {
1036
+ "name": "title",
1037
+ "type": "string"
1038
+ },
1039
+ {
1040
+ "name": "body",
1041
+ "required": true,
1042
+ "type": "string"
1043
+ }
1044
+ ],
911
1045
  "AvlStateMachineTRANSITIONCLICKTransition": [
912
1046
  {
913
1047
  "name": "index",