@almadar/std 16.145.0 → 16.147.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 (135) hide show
  1. package/behaviors/lolo/infra/atoms/std-migration-job.lolo +269 -0
  2. package/behaviors/lolo/infra/atoms/std-mod-queue.lolo +1 -1
  3. package/behaviors/lolo/ml/atoms/std-data-collector.lolo +56 -0
  4. package/behaviors/lolo/ml/atoms/std-graph-builder.lolo +90 -0
  5. package/behaviors/lolo/ml/atoms/std-ml-similarity.lolo +25 -13
  6. package/behaviors/lolo/ml/atoms/std-tokenizer.lolo +108 -0
  7. package/behaviors/lolo/ml/atoms/std-weight-validator.lolo +106 -0
  8. package/behaviors/lolo/ui/core/atoms/std-app-layout.lolo +14 -0
  9. package/behaviors/lolo/ui/core/atoms/std-billable-hour.lolo +1 -1
  10. package/behaviors/lolo/ui/core/atoms/std-esign-flow.lolo +3 -3
  11. package/behaviors/lolo/ui/core/atoms/std-esign-request.lolo +4 -4
  12. package/behaviors/lolo/ui/core/atoms/std-event-log.lolo +2 -2
  13. package/behaviors/lolo/ui/core/atoms/std-file-store.lolo +1 -1
  14. package/behaviors/lolo/ui/core/atoms/std-gallery.lolo +1 -1
  15. package/behaviors/lolo/ui/core/atoms/std-image-upload-multi.lolo +2 -2
  16. package/behaviors/lolo/ui/core/atoms/std-import.lolo +132 -0
  17. package/behaviors/lolo/ui/core/atoms/std-recurrence.lolo +5 -5
  18. package/behaviors/lolo/ui/core/atoms/std-saved-search.lolo +1 -1
  19. package/behaviors/lolo/ui/core/atoms/std-signature-capture.lolo +1 -1
  20. package/behaviors/lolo/ui/core/atoms/std-stats.lolo +1 -1
  21. package/behaviors/lolo/ui/core/atoms/std-tag-taxonomy.lolo +3 -3
  22. package/behaviors/lolo/ui/core/molecules/ui-data-grid.lolo +0 -2
  23. package/behaviors/lolo/ui/core/molecules/ui-data-list.lolo +0 -2
  24. package/behaviors/lolo/ui/core/molecules/ui-import-preview-tree.lolo +96 -0
  25. package/behaviors/lolo/ui/core/molecules/ui-import-progress.lolo +49 -0
  26. package/behaviors/lolo/ui/core/molecules/ui-import-source-picker.lolo +67 -0
  27. package/behaviors/lolo/ui/core/molecules/ui-table-view.lolo +0 -2
  28. package/behaviors/lolo/ui/core/organisms/ui-entity-cards.lolo +0 -2
  29. package/behaviors/lolo/ui/core/organisms/ui-entity-list.lolo +0 -2
  30. package/behaviors/lolo/ui/core/organisms/ui-entity-table.lolo +0 -2
  31. package/behaviors/lolo/ui/core/organisms/ui-timeline.lolo +0 -2
  32. package/behaviors/lolo/ui/game/atoms/std-dungeon-combat.lolo +2 -2
  33. package/behaviors/lolo/ui/game/molecules/std-worldmap-board-2d.lolo +1 -1
  34. package/behaviors/lolo/ui/game/organisms/ui-boardgame-board.lolo +2 -2
  35. package/behaviors/lolo/ui/game/organisms/ui-builder-board.lolo +2 -2
  36. package/behaviors/lolo/ui/game/organisms/ui-debugger-board.lolo +3 -3
  37. package/behaviors/lolo/ui/game/organisms/ui-physics-sandbox-board.lolo +3 -3
  38. package/behaviors/lolo/ui/game/organisms/ui-roguelike-board.lolo +1 -1
  39. package/behaviors/lolo/ui/game/organisms/ui-sequencer-board.lolo +1 -1
  40. package/behaviors/lolo/ui/learning/atoms/std-algo-heapsort.lolo +2 -2
  41. package/behaviors/lolo/ui/learning/atoms/std-algo-mst.lolo +3 -3
  42. package/behaviors/registry/factory-signatures.json +11531 -2142
  43. package/behaviors/registry/infra/atoms/std-migration-job.orb +1310 -0
  44. package/behaviors/registry/infra/atoms/std-mod-queue.orb +5 -5
  45. package/behaviors/registry/ml/atoms/std-data-collector.orb +324 -0
  46. package/behaviors/registry/ml/atoms/std-graph-builder.orb +480 -0
  47. package/behaviors/registry/ml/atoms/std-ml-similarity.orb +127 -72
  48. package/behaviors/registry/ml/atoms/std-tokenizer.orb +570 -0
  49. package/behaviors/registry/ml/atoms/std-weight-validator.orb +624 -0
  50. package/behaviors/registry/ui/core/atoms/std-app-layout.orb +33 -1
  51. package/behaviors/registry/ui/core/atoms/std-billable-hour.orb +2 -2
  52. package/behaviors/registry/ui/core/atoms/std-esign-flow.orb +17 -21
  53. package/behaviors/registry/ui/core/atoms/std-esign-request.orb +7 -13
  54. package/behaviors/registry/ui/core/atoms/std-event-log.orb +2 -4
  55. package/behaviors/registry/ui/core/atoms/std-file-store.orb +3 -4
  56. package/behaviors/registry/ui/core/atoms/std-gallery.orb +11 -20
  57. package/behaviors/registry/ui/core/atoms/std-image-upload-multi.orb +4 -4
  58. package/behaviors/registry/ui/core/atoms/std-import.orb +701 -0
  59. package/behaviors/registry/ui/core/atoms/std-recurrence.orb +5 -10
  60. package/behaviors/registry/ui/core/atoms/std-saved-search.orb +2 -2
  61. package/behaviors/registry/ui/core/atoms/std-signature-capture.orb +2 -2
  62. package/behaviors/registry/ui/core/molecules/ui-data-grid.orb +12 -25
  63. package/behaviors/registry/ui/core/molecules/ui-data-list.orb +13 -26
  64. package/behaviors/registry/ui/core/molecules/ui-import-preview-tree.orb +354 -0
  65. package/behaviors/registry/ui/core/molecules/ui-import-progress.orb +195 -0
  66. package/behaviors/registry/ui/core/molecules/ui-import-source-picker.orb +279 -0
  67. package/behaviors/registry/ui/core/molecules/ui-table-view.orb +12 -25
  68. package/behaviors/registry/ui/core/organisms/ui-entity-cards.orb +0 -13
  69. package/behaviors/registry/ui/core/organisms/ui-entity-list.orb +8 -21
  70. package/behaviors/registry/ui/core/organisms/ui-entity-table.orb +0 -13
  71. package/behaviors/registry/ui/core/organisms/ui-timeline.orb +0 -13
  72. package/behaviors/registry/ui/game/atoms/std-dungeon-combat.orb +4 -4
  73. package/behaviors/registry/ui/game/molecules/std-worldmap-board-2d.orb +6 -9
  74. package/behaviors/registry/ui/game/organisms/ui-boardgame-board.orb +4 -4
  75. package/behaviors/registry/ui/game/organisms/ui-builder-board.orb +4 -4
  76. package/behaviors/registry/ui/game/organisms/ui-debugger-board.orb +12 -12
  77. package/behaviors/registry/ui/game/organisms/ui-physics-sandbox-board.orb +19 -19
  78. package/behaviors/registry/ui/game/organisms/ui-roguelike-board.orb +1 -1
  79. package/behaviors/registry/ui/game/organisms/ui-sequencer-board.orb +2 -2
  80. package/behaviors/registry/ui/learning/atoms/std-algo-heapsort.orb +8 -8
  81. package/dist/behaviors/behaviors-embeddings.json +568 -496
  82. package/dist/behaviors/behaviors-registry.json +7518 -3936
  83. package/dist/behaviors/exports-reader.js +3093 -2581
  84. package/dist/behaviors/functions/index.d.ts +922 -14
  85. package/dist/behaviors/functions/index.js +3056 -2582
  86. package/dist/behaviors/index.d.ts +1 -1
  87. package/dist/behaviors/index.js +3094 -2582
  88. package/dist/behaviors/knob-embeddings.json +1 -1
  89. package/dist/behaviors/query.js +3093 -2581
  90. package/dist/behaviors/registry/factory-signatures.json +11531 -2142
  91. package/dist/behaviors/registry/infra/atoms/std-migration-job.orb +1310 -0
  92. package/dist/behaviors/registry/infra/atoms/std-mod-queue.orb +5 -5
  93. package/dist/behaviors/registry/ml/atoms/std-data-collector.orb +324 -0
  94. package/dist/behaviors/registry/ml/atoms/std-graph-builder.orb +480 -0
  95. package/dist/behaviors/registry/ml/atoms/std-ml-similarity.orb +127 -72
  96. package/dist/behaviors/registry/ml/atoms/std-tokenizer.orb +570 -0
  97. package/dist/behaviors/registry/ml/atoms/std-weight-validator.orb +624 -0
  98. package/dist/behaviors/registry/ui/core/atoms/std-app-layout.orb +33 -1
  99. package/dist/behaviors/registry/ui/core/atoms/std-billable-hour.orb +2 -2
  100. package/dist/behaviors/registry/ui/core/atoms/std-esign-flow.orb +17 -21
  101. package/dist/behaviors/registry/ui/core/atoms/std-esign-request.orb +7 -13
  102. package/dist/behaviors/registry/ui/core/atoms/std-event-log.orb +2 -4
  103. package/dist/behaviors/registry/ui/core/atoms/std-file-store.orb +3 -4
  104. package/dist/behaviors/registry/ui/core/atoms/std-gallery.orb +11 -20
  105. package/dist/behaviors/registry/ui/core/atoms/std-image-upload-multi.orb +4 -4
  106. package/dist/behaviors/registry/ui/core/atoms/std-import.orb +701 -0
  107. package/dist/behaviors/registry/ui/core/atoms/std-recurrence.orb +5 -10
  108. package/dist/behaviors/registry/ui/core/atoms/std-saved-search.orb +2 -2
  109. package/dist/behaviors/registry/ui/core/atoms/std-signature-capture.orb +2 -2
  110. package/dist/behaviors/registry/ui/core/molecules/ui-data-grid.orb +12 -25
  111. package/dist/behaviors/registry/ui/core/molecules/ui-data-list.orb +13 -26
  112. package/dist/behaviors/registry/ui/core/molecules/ui-import-preview-tree.orb +354 -0
  113. package/dist/behaviors/registry/ui/core/molecules/ui-import-progress.orb +195 -0
  114. package/dist/behaviors/registry/ui/core/molecules/ui-import-source-picker.orb +279 -0
  115. package/dist/behaviors/registry/ui/core/molecules/ui-table-view.orb +12 -25
  116. package/dist/behaviors/registry/ui/core/organisms/ui-entity-cards.orb +0 -13
  117. package/dist/behaviors/registry/ui/core/organisms/ui-entity-list.orb +8 -21
  118. package/dist/behaviors/registry/ui/core/organisms/ui-entity-table.orb +0 -13
  119. package/dist/behaviors/registry/ui/core/organisms/ui-timeline.orb +0 -13
  120. package/dist/behaviors/registry/ui/game/atoms/std-dungeon-combat.orb +4 -4
  121. package/dist/behaviors/registry/ui/game/molecules/std-worldmap-board-2d.orb +6 -9
  122. package/dist/behaviors/registry/ui/game/organisms/ui-boardgame-board.orb +4 -4
  123. package/dist/behaviors/registry/ui/game/organisms/ui-builder-board.orb +4 -4
  124. package/dist/behaviors/registry/ui/game/organisms/ui-debugger-board.orb +12 -12
  125. package/dist/behaviors/registry/ui/game/organisms/ui-physics-sandbox-board.orb +19 -19
  126. package/dist/behaviors/registry/ui/game/organisms/ui-roguelike-board.orb +1 -1
  127. package/dist/behaviors/registry/ui/game/organisms/ui-sequencer-board.orb +2 -2
  128. package/dist/behaviors/registry/ui/learning/atoms/std-algo-heapsort.orb +8 -8
  129. package/dist/behaviors-embeddings.json +568 -496
  130. package/dist/behaviors-registry.json +7518 -3936
  131. package/dist/index.d.ts +1 -1
  132. package/dist/index.js +3094 -2582
  133. package/dist/knob-embeddings.json +1 -1
  134. package/dist/registry/factory-signatures.json +11531 -2142
  135. package/package.json +2 -2
@@ -188,11 +188,10 @@
188
188
  "type": "string"
189
189
  },
190
190
  {
191
- "default": "",
192
191
  "description": "The date associated with this occurrence.",
193
192
  "name": "date",
194
193
  "synonyms": "due date, scheduled date, run date",
195
- "type": "string"
194
+ "type": "date"
196
195
  },
197
196
  {
198
197
  "default": [],
@@ -269,18 +268,16 @@
269
268
  "type": "number"
270
269
  },
271
270
  {
272
- "default": "",
273
271
  "description": "The date when the recurrence begins.",
274
272
  "name": "startDate",
275
273
  "synonyms": "start date, begin date, initial date",
276
- "type": "string"
274
+ "type": "date"
277
275
  },
278
276
  {
279
- "default": "",
280
277
  "description": "The date when the recurrence ends.",
281
278
  "name": "endDate",
282
279
  "synonyms": "end date, termination date, final date",
283
- "type": "string"
280
+ "type": "date"
284
281
  },
285
282
  {
286
283
  "default": 0.0,
@@ -304,11 +301,10 @@
304
301
  "type": "string"
305
302
  },
306
303
  {
307
- "default": "",
308
304
  "description": "The date of the currently active occurrence.",
309
305
  "name": "currentOccurrenceDate",
310
306
  "synonyms": "occurrence date, current date, run date",
311
- "type": "string"
307
+ "type": "date"
312
308
  },
313
309
  {
314
310
  "default": "",
@@ -318,11 +314,10 @@
318
314
  "type": "string"
319
315
  },
320
316
  {
321
- "default": "",
322
317
  "description": "The date to which the recurrence is rescheduled.",
323
318
  "name": "rescheduleDate",
324
319
  "synonyms": "new date, replacement date, revised date",
325
- "type": "string"
320
+ "type": "date"
326
321
  },
327
322
  {
328
323
  "default": "",
@@ -204,7 +204,7 @@
204
204
  "description": "Timestamp of the last notification sent.",
205
205
  "name": "lastNotifiedAt",
206
206
  "synonyms": "last_notification, notified_at, last_alert",
207
- "type": "string"
207
+ "type": "datetime"
208
208
  },
209
209
  {
210
210
  "name": "createdAt",
@@ -416,7 +416,7 @@
416
416
  },
417
417
  {
418
418
  "name": "lastNotifiedAt",
419
- "type": "string"
419
+ "type": "datetime"
420
420
  },
421
421
  {
422
422
  "name": "createdAt",
@@ -152,7 +152,7 @@
152
152
  "description": "Timestamp indicating when the signature was captured.",
153
153
  "name": "signedAt",
154
154
  "synonyms": "date, time, timestamp",
155
- "type": "string"
155
+ "type": "datetime"
156
156
  },
157
157
  {
158
158
  "description": "The client's IP address during signature capture.",
@@ -300,7 +300,7 @@
300
300
  },
301
301
  {
302
302
  "name": "signedAt",
303
- "type": "string"
303
+ "type": "datetime"
304
304
  },
305
305
  {
306
306
  "name": "ipAddress",
@@ -524,10 +524,10 @@
524
524
  "tier": "essential"
525
525
  },
526
526
  {
527
- "description": "User opened a record from the list.",
528
- "id": "evt_01KXG04N8D4X4590GZE8705366",
529
- "key": "VIEW",
530
- "name": "View",
527
+ "description": "Selection change event name (emits UI:{selectionEvent} with { selectedIds: string[] })",
528
+ "id": "evt_01KXG04N8DGC8A3RER0AYS0QJM",
529
+ "key": "@config.selectionEvent",
530
+ "name": "@config.selection event",
531
531
  "payloadSchema": [
532
532
  {
533
533
  "name": "id",
@@ -537,10 +537,10 @@
537
537
  "tier": "essential"
538
538
  },
539
539
  {
540
- "description": "Selection change event name (emits UI:{selectionEvent} with { selectedIds: string[] })",
541
- "id": "evt_01KXG04N8DGC8A3RER0AYS0QJM",
542
- "key": "@config.selectionEvent",
543
- "name": "@config.selection event",
540
+ "description": "Event emitted when more items needed: UI:{loadMoreEvent}",
541
+ "id": "evt_01KXG04N8D5HH49DN80YD3E4GT",
542
+ "key": "@config.loadMoreEvent",
543
+ "name": "@config.load more event",
544
544
  "payloadSchema": [
545
545
  {
546
546
  "name": "id",
@@ -550,10 +550,10 @@
550
550
  "tier": "essential"
551
551
  },
552
552
  {
553
- "description": "Event emitted when more items needed: UI:{loadMoreEvent}",
554
- "id": "evt_01KXG04N8D5HH49DN80YD3E4GT",
555
- "key": "@config.loadMoreEvent",
556
- "name": "@config.load more event",
553
+ "description": "User opened a record from the list.",
554
+ "id": "evt_01KXG04N8D4X4590GZE8705366",
555
+ "key": "VIEW",
556
+ "name": "View",
557
557
  "payloadSchema": [
558
558
  {
559
559
  "name": "id",
@@ -664,19 +664,6 @@
664
664
  "eventId": "evt_01KXG04N8DK57488TSZFVFEC94",
665
665
  "from": "idle",
666
666
  "to": "idle"
667
- },
668
- {
669
- "effects": [
670
- [
671
- "emit",
672
- "VIEW",
673
- {}
674
- ]
675
- ],
676
- "event": "VIEW",
677
- "eventId": "evt_01KXG04N8D4X4590GZE8705366",
678
- "from": "idle",
679
- "to": "idle"
680
667
  }
681
668
  ]
682
669
  }
@@ -685,19 +685,6 @@
685
685
  "synonyms": "loaded, fetched, retrieved",
686
686
  "tier": "essential"
687
687
  },
688
- {
689
- "description": "User opened a record from the list.",
690
- "id": "evt_01KXG04N9MDW84T2BWY9EF2FC7",
691
- "key": "VIEW",
692
- "name": "View",
693
- "payloadSchema": [
694
- {
695
- "name": "id",
696
- "type": "string"
697
- }
698
- ],
699
- "tier": "essential"
700
- },
701
688
  {
702
689
  "description": "Event emitted on reorder: UI:{reorderEvent} with { fromIndex, toIndex }",
703
690
  "id": "evt_01KXG04N9M0MPJ2H0462NH6D5S",
@@ -775,6 +762,19 @@
775
762
  }
776
763
  ],
777
764
  "tier": "essential"
765
+ },
766
+ {
767
+ "description": "User opened a record from the list.",
768
+ "id": "evt_01KXG04N9MDW84T2BWY9EF2FC7",
769
+ "key": "VIEW",
770
+ "name": "View",
771
+ "payloadSchema": [
772
+ {
773
+ "name": "id",
774
+ "type": "string"
775
+ }
776
+ ],
777
+ "tier": "essential"
778
778
  }
779
779
  ],
780
780
  "states": [
@@ -888,19 +888,6 @@
888
888
  "eventId": "evt_01KXG04N9M8T9GWGKD8RDCZB00",
889
889
  "from": "idle",
890
890
  "to": "idle"
891
- },
892
- {
893
- "effects": [
894
- [
895
- "emit",
896
- "VIEW",
897
- {}
898
- ]
899
- ],
900
- "event": "VIEW",
901
- "eventId": "evt_01KXG04N9MDW84T2BWY9EF2FC7",
902
- "from": "idle",
903
- "to": "idle"
904
891
  }
905
892
  ]
906
893
  }
@@ -0,0 +1,354 @@
1
+ {
2
+ "description": "ImportPreviewTree — UI factory (1:1 with the @almadar/ui import-preview-tree pattern).",
3
+ "ledger": {
4
+ "entries": {
5
+ "ent_01KYEH6KWAWWMTNSA67QZ9CJDJ": {
6
+ "bakedName": "ImportPreviewTreeItem",
7
+ "curName": "ImportPreviewTreeItem",
8
+ "id": "ent_01KYEH6KWAWWMTNSA67QZ9CJDJ",
9
+ "kind": "entity",
10
+ "owner": "workspace",
11
+ "renames": []
12
+ },
13
+ "evt_01KYEH6KWAE6CQBGVGFYWVK92Z": {
14
+ "bakedName": "INIT",
15
+ "curName": "INIT",
16
+ "id": "evt_01KYEH6KWAE6CQBGVGFYWVK92Z",
17
+ "kind": "event",
18
+ "owner": "workspace",
19
+ "parent": "trt_01KYEH6KWAS916TX8XWTNNW52D",
20
+ "renames": []
21
+ },
22
+ "evt_01KYEH6KWRG81M3EZE8YG7Z36D": {
23
+ "bakedName": "@config.onCancel",
24
+ "curName": "@config.onCancel",
25
+ "id": "evt_01KYEH6KWRG81M3EZE8YG7Z36D",
26
+ "kind": "event",
27
+ "owner": "workspace",
28
+ "parent": "trt_01KYEH6KWAS916TX8XWTNNW52D",
29
+ "renames": []
30
+ },
31
+ "evt_01KYEH6KWRRJ5Q5WMVFG0AAVQK": {
32
+ "bakedName": "@config.onConfirm",
33
+ "curName": "@config.onConfirm",
34
+ "id": "evt_01KYEH6KWRRJ5Q5WMVFG0AAVQK",
35
+ "kind": "event",
36
+ "owner": "workspace",
37
+ "parent": "trt_01KYEH6KWAS916TX8XWTNNW52D",
38
+ "renames": []
39
+ },
40
+ "orb_01KYEH6KWAT41SWVMS3DWQJ879": {
41
+ "bakedName": "ImportPreviewTreeOrbital",
42
+ "curName": "ImportPreviewTreeOrbital",
43
+ "id": "orb_01KYEH6KWAT41SWVMS3DWQJ879",
44
+ "kind": "orbital",
45
+ "owner": "workspace",
46
+ "renames": []
47
+ },
48
+ "pag_01KYEH6KWR2BC8ZW7WW91JQWTN": {
49
+ "bakedName": "ImportPreviewTreePage",
50
+ "curName": "ImportPreviewTreePage",
51
+ "id": "pag_01KYEH6KWR2BC8ZW7WW91JQWTN",
52
+ "kind": "page",
53
+ "owner": "workspace",
54
+ "renames": []
55
+ },
56
+ "trt_01KYEH6KWAS916TX8XWTNNW52D": {
57
+ "bakedName": "ImportPreviewTreeRender",
58
+ "curName": "ImportPreviewTreeRender",
59
+ "id": "trt_01KYEH6KWAS916TX8XWTNNW52D",
60
+ "kind": "trait",
61
+ "owner": "workspace",
62
+ "renames": []
63
+ }
64
+ },
65
+ "schemaVersion": 1
66
+ },
67
+ "name": "ui-import-preview-tree",
68
+ "orbitals": [
69
+ {
70
+ "entity": {
71
+ "fields": [
72
+ {
73
+ "name": "id",
74
+ "required": true,
75
+ "type": "string"
76
+ }
77
+ ],
78
+ "id": "ent_01KYEH6KWAWWMTNSA67QZ9CJDJ",
79
+ "name": "ImportPreviewTreeItem",
80
+ "persistence": "runtime"
81
+ },
82
+ "id": "orb_01KYEH6KWAT41SWVMS3DWQJ879",
83
+ "name": "ImportPreviewTreeOrbital",
84
+ "pages": [
85
+ {
86
+ "id": "pag_01KYEH6KWR2BC8ZW7WW91JQWTN",
87
+ "name": "ImportPreviewTreePage",
88
+ "path": "/import-preview-tree",
89
+ "traits": [
90
+ {
91
+ "ref": "ImportPreviewTreeRender",
92
+ "refId": "trt_01KYEH6KWAS916TX8XWTNNW52D"
93
+ }
94
+ ]
95
+ }
96
+ ],
97
+ "traits": [
98
+ {
99
+ "category": "interaction",
100
+ "config": {
101
+ "cancelLabel": {
102
+ "default": "Cancel",
103
+ "description": "Cancel button label",
104
+ "label": "Cancel Label",
105
+ "tier": "presentation",
106
+ "type": "string"
107
+ },
108
+ "className": {
109
+ "description": "Additional CSS classes",
110
+ "label": "Class Name",
111
+ "tier": "presentation",
112
+ "type": "string"
113
+ },
114
+ "confirmLabel": {
115
+ "default": "Confirm import",
116
+ "description": "Confirm button label",
117
+ "label": "Confirm Label",
118
+ "tier": "presentation",
119
+ "type": "string"
120
+ },
121
+ "entityDisplay": {
122
+ "default": {
123
+ "item": {
124
+ "plural": "Plural",
125
+ "singular": "Singular"
126
+ }
127
+ },
128
+ "description": "Entity name → display labels; falls back to the entity name",
129
+ "items": {
130
+ "properties": {
131
+ "plural": {
132
+ "name": "plural",
133
+ "required": true,
134
+ "type": "string"
135
+ },
136
+ "singular": {
137
+ "name": "singular",
138
+ "required": true,
139
+ "type": "string"
140
+ }
141
+ },
142
+ "type": "object"
143
+ },
144
+ "label": "Entity Display",
145
+ "tier": "presentation",
146
+ "type": "Map<string,ImportPreviewTreeEntityDisplayValue>"
147
+ },
148
+ "indent": {
149
+ "default": 16.0,
150
+ "description": "Indent per tree depth in px (default: 16)",
151
+ "label": "Indent",
152
+ "tier": "presentation",
153
+ "type": "number"
154
+ },
155
+ "onCancel": {
156
+ "default": "CANCEL",
157
+ "description": "Called when the user cancels the staged import",
158
+ "label": "On Cancel",
159
+ "tier": "presentation",
160
+ "type": "string"
161
+ },
162
+ "onConfirm": {
163
+ "default": "CONFIRM",
164
+ "description": "Called when the user confirms the staged import",
165
+ "label": "On Confirm",
166
+ "tier": "presentation",
167
+ "type": "string"
168
+ },
169
+ "skipped": {
170
+ "default": [],
171
+ "description": "Elements skipped during extraction, with reasons",
172
+ "items": {
173
+ "properties": {
174
+ "reason": {
175
+ "name": "reason",
176
+ "required": true,
177
+ "type": "string"
178
+ },
179
+ "ref": {
180
+ "name": "ref",
181
+ "required": true,
182
+ "type": "string"
183
+ }
184
+ },
185
+ "type": "object"
186
+ },
187
+ "label": "Skipped",
188
+ "tier": "presentation",
189
+ "type": "[ImportPreviewTreeSkippedItem]"
190
+ },
191
+ "units": {
192
+ "default": [
193
+ {
194
+ "fields": {},
195
+ "parentRef": "Parent Ref",
196
+ "ref": "Ref",
197
+ "targetEntity": "Target Entity"
198
+ },
199
+ {
200
+ "fields": {},
201
+ "parentRef": "Parent Ref 2",
202
+ "ref": "Ref 2",
203
+ "targetEntity": "Target Entity 2"
204
+ }
205
+ ],
206
+ "description": "Staged units to preview",
207
+ "items": {
208
+ "properties": {
209
+ "fields": {
210
+ "items": {
211
+ "type": "string"
212
+ },
213
+ "name": "fields",
214
+ "required": true,
215
+ "type": "object"
216
+ },
217
+ "parentRef": {
218
+ "name": "parentRef",
219
+ "required": false,
220
+ "type": "string"
221
+ },
222
+ "ref": {
223
+ "name": "ref",
224
+ "required": true,
225
+ "type": "string"
226
+ },
227
+ "targetEntity": {
228
+ "name": "targetEntity",
229
+ "required": true,
230
+ "type": "string"
231
+ }
232
+ },
233
+ "type": "object"
234
+ },
235
+ "label": "Units",
236
+ "tier": "presentation",
237
+ "type": "[ImportPreviewTreeUnitsItem]"
238
+ }
239
+ },
240
+ "emits": [
241
+ {
242
+ "description": "Called when the user confirms the staged import",
243
+ "event": "@config.onConfirm",
244
+ "eventId": "evt_01KYEH6KWRRJ5Q5WMVFG0AAVQK",
245
+ "payloadSchema": [
246
+ {
247
+ "name": "id",
248
+ "type": "string"
249
+ }
250
+ ],
251
+ "scope": "external",
252
+ "tier": "essential"
253
+ },
254
+ {
255
+ "description": "Called when the user cancels the staged import",
256
+ "event": "@config.onCancel",
257
+ "eventId": "evt_01KYEH6KWRG81M3EZE8YG7Z36D",
258
+ "payloadSchema": [
259
+ {
260
+ "name": "id",
261
+ "type": "string"
262
+ }
263
+ ],
264
+ "scope": "external",
265
+ "tier": "essential"
266
+ }
267
+ ],
268
+ "entityContract": {
269
+ "provides": [],
270
+ "requires": []
271
+ },
272
+ "entityRebindable": true,
273
+ "entityRefIds": {
274
+ "ImportPreviewTreeItem": "ent_01KYEH6KWAWWMTNSA67QZ9CJDJ"
275
+ },
276
+ "id": "trt_01KYEH6KWAS916TX8XWTNNW52D",
277
+ "linkedEntity": "ImportPreviewTreeItem",
278
+ "linkedEntityId": "ent_01KYEH6KWAWWMTNSA67QZ9CJDJ",
279
+ "name": "ImportPreviewTreeRender",
280
+ "scope": "instance",
281
+ "stateMachine": {
282
+ "events": [
283
+ {
284
+ "id": "evt_01KYEH6KWAE6CQBGVGFYWVK92Z",
285
+ "key": "INIT",
286
+ "name": "Initialize"
287
+ },
288
+ {
289
+ "description": "Called when the user confirms the staged import",
290
+ "id": "evt_01KYEH6KWRRJ5Q5WMVFG0AAVQK",
291
+ "key": "@config.onConfirm",
292
+ "name": "@config.on confirm",
293
+ "payloadSchema": [
294
+ {
295
+ "name": "id",
296
+ "type": "string"
297
+ }
298
+ ],
299
+ "tier": "essential"
300
+ },
301
+ {
302
+ "description": "Called when the user cancels the staged import",
303
+ "id": "evt_01KYEH6KWRG81M3EZE8YG7Z36D",
304
+ "key": "@config.onCancel",
305
+ "name": "@config.on cancel",
306
+ "payloadSchema": [
307
+ {
308
+ "name": "id",
309
+ "type": "string"
310
+ }
311
+ ],
312
+ "tier": "essential"
313
+ }
314
+ ],
315
+ "states": [
316
+ {
317
+ "isInitial": true,
318
+ "name": "idle"
319
+ }
320
+ ],
321
+ "transitions": [
322
+ {
323
+ "effects": [
324
+ [
325
+ "render-ui",
326
+ "main",
327
+ {
328
+ "cancelLabel": "@config.cancelLabel",
329
+ "className": "@config.className",
330
+ "confirmLabel": "@config.confirmLabel",
331
+ "entityDisplay": "@config.entityDisplay",
332
+ "indent": "@config.indent",
333
+ "onCancel": "@config.onCancel",
334
+ "onConfirm": "@config.onConfirm",
335
+ "skipped": "@config.skipped",
336
+ "type": "import-preview-tree",
337
+ "units": "@config.units"
338
+ }
339
+ ]
340
+ ],
341
+ "event": "INIT",
342
+ "eventId": "evt_01KYEH6KWAE6CQBGVGFYWVK92Z",
343
+ "from": "idle",
344
+ "to": "idle"
345
+ }
346
+ ]
347
+ }
348
+ }
349
+ ]
350
+ }
351
+ ],
352
+ "schemaVersion": 1,
353
+ "version": "1.0.0"
354
+ }