@hachej/boring-ui-kit 0.4.4 → 0.4.5

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.
@@ -8,10 +8,10 @@
8
8
  "react-dom@^19.0.0"
9
9
  ],
10
10
  "registryDependencies": [
11
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/theme.json",
12
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/pi-chat.json",
13
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/utils.json",
14
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/dock.json",
11
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/theme.json",
12
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/pi-chat.json",
13
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/utils.json",
14
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/dock.json",
15
15
  "badge",
16
16
  "card"
17
17
  ],
@@ -9,8 +9,8 @@
9
9
  "lucide-react@^1.51.0"
10
10
  ],
11
11
  "registryDependencies": [
12
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/theme.json",
13
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/utils.json",
12
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/theme.json",
13
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/utils.json",
14
14
  "button",
15
15
  "input",
16
16
  "label",
@@ -8,7 +8,7 @@
8
8
  "lucide-react@^1.51.0"
9
9
  ],
10
10
  "registryDependencies": [
11
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/theme.json",
11
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/theme.json",
12
12
  "table",
13
13
  "badge",
14
14
  "item",
package/r/registry.json CHANGED
@@ -125,6 +125,11 @@
125
125
  "react@^19.0.0"
126
126
  ],
127
127
  "files": [
128
+ {
129
+ "path": "registry/utils/use-draggable.ts",
130
+ "type": "registry:hook",
131
+ "target": "components/utils/use-draggable.ts"
132
+ },
128
133
  {
129
134
  "path": "registry/utils/utils.ts",
130
135
  "type": "registry:lib",
@@ -148,7 +153,7 @@
148
153
  "lucide-react@^1.51.0"
149
154
  ],
150
155
  "registryDependencies": [
151
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/utils.json",
156
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/utils.json",
152
157
  "dropdown-menu",
153
158
  "button",
154
159
  "toggle",
@@ -176,8 +181,8 @@
176
181
  "title": "Markdown editor",
177
182
  "description": "A host-owned styled wrapper over the concrete borrowed Markdown controller.",
178
183
  "dependencies": [
179
- "@hachej/boring-ui-kit@^0.4.4",
180
- "@hachej/boring-files@^0.4.4",
184
+ "@hachej/boring-ui-kit@^0.4.5",
185
+ "@hachej/boring-files@^0.4.5",
181
186
  "react@^19.0.0",
182
187
  "react-dom@^19.0.0",
183
188
  "marked@^17.0.6",
@@ -332,7 +337,7 @@
332
337
  },
333
338
  "docs": "Create and own a MarkdownController from @hachej/boring-ui-kit/markdown. Pass it to MarkdownEditor. The wrapper does not acquire resources or dispose the controller. Check the repository release notes for available npm versions; local tarball tests do not establish registry availability.",
334
339
  "registryDependencies": [
335
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/button.json"
340
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/button.json"
336
341
  ]
337
342
  },
338
343
  {
@@ -341,8 +346,8 @@
341
346
  "title": "HTML source and passive preview",
342
347
  "description": "Exact HTML source editing with a reconstructed passive preview and borrowed controller. Browser security qualification remains separate.",
343
348
  "dependencies": [
344
- "@hachej/boring-ui-kit@^0.4.4",
345
- "@hachej/boring-files@^0.4.4",
349
+ "@hachej/boring-ui-kit@^0.4.5",
350
+ "@hachej/boring-files@^0.4.5",
346
351
  "react@^19.0.0",
347
352
  "react-dom@^19.0.0"
348
353
  ],
@@ -390,7 +395,7 @@
390
395
  }
391
396
  },
392
397
  "registryDependencies": [
393
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/button.json"
398
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/button.json"
394
399
  ]
395
400
  },
396
401
  {
@@ -399,8 +404,8 @@
399
404
  "title": "Pi chat",
400
405
  "description": "A complete Tailwind chat over the borrowed native chat controller: composer, messages, one collapsible activity block per turn (tool calls and reasoning), message queue, history, a human-in-the-loop question card, an Approve / Deny card for host tools wrapped with requireApproval optional artifact cards that open generated content in the host's panel, and feedback cards for the opt-in feedback tool (lists, and Show offers that the host page resolves). Chat only: no layout. Owned, editable source; no AI SDK. The optional pi-ambient and pi-workspace blocks build on it.",
401
406
  "dependencies": [
402
- "@hachej/boring-ui-kit@^0.4.4",
403
- "@hachej/boring-files@^0.4.4",
407
+ "@hachej/boring-ui-kit@^0.4.5",
408
+ "@hachej/boring-files@^0.4.5",
404
409
  "react@^19.0.0",
405
410
  "react-dom@^19.0.0",
406
411
  "marked@^17.0.6",
@@ -415,8 +420,8 @@
415
420
  "zod@^4.6.5"
416
421
  ],
417
422
  "registryDependencies": [
418
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/utils.json",
419
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/button.json",
423
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/utils.json",
424
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/button.json",
420
425
  "tooltip",
421
426
  "trace",
422
427
  "message",
@@ -607,6 +612,21 @@
607
612
  "path": "registry/pi-chat/run-card.tsx",
608
613
  "type": "registry:component",
609
614
  "target": "components/pi-chat/run-card.tsx"
615
+ },
616
+ {
617
+ "path": "registry/pi-chat/use-hold-to-record.ts",
618
+ "type": "registry:hook",
619
+ "target": "components/pi-chat/use-hold-to-record.ts"
620
+ },
621
+ {
622
+ "path": "registry/pi-chat/use-voice-message.ts",
623
+ "type": "registry:hook",
624
+ "target": "components/pi-chat/use-voice-message.ts"
625
+ },
626
+ {
627
+ "path": "registry/pi-chat/voice-message.tsx",
628
+ "type": "registry:component",
629
+ "target": "components/pi-chat/voice-message.tsx"
610
630
  }
611
631
  ],
612
632
  "css": {
@@ -647,6 +667,10 @@
647
667
  ".pi-chat :is([data-slot=\"button\"], [data-slot=\"toggle\"], [class~=\"group/button\"], [class~=\"group/toggle\"])": {
648
668
  "min-height": "2.75rem",
649
669
  "min-width": "2.75rem"
670
+ },
671
+ ".pi-chat [data-testid=\"queue\"] button, .pi-chat button[data-testid=\"composer-queue\"]": {
672
+ "min-height": "3rem",
673
+ "min-width": "3rem"
650
674
  }
651
675
  }
652
676
  },
@@ -674,7 +698,7 @@
674
698
  "title": "Pi ambient agent",
675
699
  "description": "AmbientChat, a compact floating agent bar that grows into a chat window over an existing page, and AgentNotifications, toasts for finished, failed and waiting tasks (with the one guarded browser Notification helper). A block over the pi-chat item; its in-window artifact panel uses the pi-workspace layout.",
676
700
  "dependencies": [
677
- "@hachej/boring-ui-kit@^0.4.4",
701
+ "@hachej/boring-ui-kit@^0.4.5",
678
702
  "react@^19.0.0",
679
703
  "react-dom@^19.0.0",
680
704
  "@earendil-works/pi-durable@~1.2.0",
@@ -682,11 +706,11 @@
682
706
  "lucide-react@^1.51.0"
683
707
  ],
684
708
  "registryDependencies": [
685
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/theme.json",
686
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/pi-chat.json",
687
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/pi-workspace.json",
688
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/utils.json",
689
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/button.json",
709
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/theme.json",
710
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/pi-chat.json",
711
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/pi-workspace.json",
712
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/utils.json",
713
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/button.json",
690
714
  "message-scroller",
691
715
  "button",
692
716
  "toggle",
@@ -722,7 +746,7 @@
722
746
  "react@^19.0.0"
723
747
  ],
724
748
  "registryDependencies": [
725
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/utils.json"
749
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/utils.json"
726
750
  ],
727
751
  "files": [
728
752
  {
@@ -742,10 +766,10 @@
742
766
  "react-dom@^19.0.0"
743
767
  ],
744
768
  "registryDependencies": [
745
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/theme.json",
746
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/pi-chat.json",
747
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/utils.json",
748
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/dock.json",
769
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/theme.json",
770
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/pi-chat.json",
771
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/utils.json",
772
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/dock.json",
749
773
  "badge",
750
774
  "card"
751
775
  ],
@@ -774,7 +798,7 @@
774
798
  "zod@^4.6.5"
775
799
  ],
776
800
  "registryDependencies": [
777
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/viewers.json",
801
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/viewers.json",
778
802
  "badge",
779
803
  "toggle",
780
804
  "tooltip"
@@ -812,7 +836,7 @@
812
836
  "lucide-react@^1.51.0"
813
837
  ],
814
838
  "registryDependencies": [
815
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/theme.json",
839
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/theme.json",
816
840
  "table",
817
841
  "badge",
818
842
  "item",
@@ -848,7 +872,7 @@
848
872
  "lucide-react@^1.51.0"
849
873
  ],
850
874
  "registryDependencies": [
851
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/theme.json",
875
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/theme.json",
852
876
  "alert",
853
877
  "badge"
854
878
  ],
@@ -885,8 +909,8 @@
885
909
  "lucide-react@^1.51.0"
886
910
  ],
887
911
  "registryDependencies": [
888
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/theme.json",
889
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/diagram-viewer.json",
912
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/theme.json",
913
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/diagram-viewer.json",
890
914
  "alert",
891
915
  "badge",
892
916
  "bubble",
@@ -963,16 +987,16 @@
963
987
  "title": "Board viewer",
964
988
  "description": "A board@1 artifact kind for *.board.json. Lazy native tldraw projection of maquette screens, sandboxed HTML mock-ups, goto arrows and notes. Conditional board-file autosave; phone viewing without accidental frame edits. Hosts supply their resource client, asset URLs and license key.",
965
989
  "dependencies": [
966
- "@hachej/boring-ui-kit@^0.4.4",
967
- "@hachej/boring-files@^0.4.4",
990
+ "@hachej/boring-ui-kit@^0.4.5",
991
+ "@hachej/boring-files@^0.4.5",
968
992
  "react@^19.0.0",
969
993
  "lucide-react@1.51.0",
970
994
  "tldraw@5.5.2"
971
995
  ],
972
996
  "registryDependencies": [
973
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/maquette-viewer.json",
974
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/mockup-viewer.json",
975
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/pi-chat.json",
997
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/maquette-viewer.json",
998
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/mockup-viewer.json",
999
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/pi-chat.json",
976
1000
  "button",
977
1001
  "alert",
978
1002
  "card",
@@ -1007,13 +1031,13 @@
1007
1031
  "title": "Shared chat",
1008
1032
  "description": "Optional multi-party host log presentation over PiChat's generic composition seams. No agent runtime or speaking policy.",
1009
1033
  "dependencies": [
1010
- "@hachej/boring-ui-kit@^0.4.4",
1034
+ "@hachej/boring-ui-kit@^0.4.5",
1011
1035
  "react@^19.0.0",
1012
1036
  "lucide-react@^1.51.0"
1013
1037
  ],
1014
1038
  "registryDependencies": [
1015
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/pi-chat.json",
1016
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/theme.json",
1039
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/pi-chat.json",
1040
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/theme.json",
1017
1041
  "avatar",
1018
1042
  "badge",
1019
1043
  "button",
@@ -1077,26 +1101,26 @@
1077
1101
  "title": "Pi agent app",
1078
1102
  "description": "AgentWorkspace: a whole agent page in one component. Left: the sessions pane (search, New, rename, archive, delete; collapsible, a drawer on a narrow screen). Center: PiChat. Right: the artifact viewers (artifact panel with versions, file viewer, auto-open of new artifacts) in the ArtifactWorkspace panel, a full-screen sheet on a phone. layout=\"embedded\" drops the left column for one compact top bar (title, History, Library, New) that joins an app-shell screen header. Props are data and callbacks; hooks for the conversations handler (useConversations), the chat transport (useRemoteChat) and saved resources (useSaved).",
1079
1103
  "dependencies": [
1080
- "@hachej/boring-ui-kit@^0.4.4",
1081
- "@hachej/boring-files@^0.4.4",
1104
+ "@hachej/boring-ui-kit@^0.4.5",
1105
+ "@hachej/boring-files@^0.4.5",
1082
1106
  "react@^19.0.0",
1083
1107
  "react-dom@^19.0.0",
1084
1108
  "lucide-react@^1.51.0"
1085
1109
  ],
1086
1110
  "registryDependencies": [
1087
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/theme.json",
1088
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/pi-chat.json",
1089
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/pi-workspace.json",
1090
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/viewers.json",
1091
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/maquette-viewer.json",
1092
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/diagram-viewer.json",
1093
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/mockup-viewer.json",
1094
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/record-viewer.json",
1095
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/utils.json",
1096
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/button.json",
1111
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/theme.json",
1112
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/pi-chat.json",
1113
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/pi-workspace.json",
1114
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/viewers.json",
1115
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/maquette-viewer.json",
1116
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/diagram-viewer.json",
1117
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/mockup-viewer.json",
1118
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/record-viewer.json",
1119
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/utils.json",
1120
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/button.json",
1097
1121
  "drawer",
1098
1122
  "button",
1099
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/file-tree.json",
1123
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/file-tree.json",
1100
1124
  "dropdown-menu",
1101
1125
  "scroll-area",
1102
1126
  "separator",
@@ -1183,19 +1207,19 @@
1183
1207
  "title": "App shell: layouts, list/detail and agent layer",
1184
1208
  "description": "AppShell with three layouts. B \"workspace\" puts a ListDetail on a screen (phone: the list, then the detail as a stack step with Back; wide: a 20rem list and the detail side by side, sidebar as an icon rail). C \"chat\" wraps the app's own AgentWorkspace (untouched, passed as the nav item's render; install the pi-app item yourself) in the same sidebar, account menu and header; it takes no shell agent. A \"screen\": one screen at a time, every screen kept mounted. On a phone bottom tabs (at most four; more give three plus a « Plus » sheet) and an avatar button that opens the account sheet; on a wide screen the shadcn sidebar (icon rail, NavUser). One header per screen through useScreenHeader (title, subtitle, back, up to two actions, the rest behind « … »). The account menu holds « Améliorer l'app » (the improve agent), the app's own entries and sign out. AppSheet is the one bottom sheet (one open at a time, Back closes it). It mounts the AgentLayer: one agent's PiChat above the app (phone: a drawer with peek, half and full snap points; wide: a right panel), the improve agent in the same layer, optional push-to-talk and point mode. Also useAgentContext and readAgentContext (the screen on show travels as `context` with each submit) and useBackLayer, the one Back manager. Built on explicitly pinned Base UI drawer and dropdown-menu recipes, plus the sidebar and avatar of the host's own shadcn style.",
1185
1209
  "dependencies": [
1186
- "@hachej/boring-feedback@^0.4.4",
1187
- "@hachej/boring-ui-kit@^0.4.4",
1210
+ "@hachej/boring-feedback@^0.4.5",
1211
+ "@hachej/boring-ui-kit@^0.4.5",
1188
1212
  "@base-ui/react@^1.9.0",
1189
1213
  "react@^19.0.0",
1190
1214
  "react-dom@^19.0.0",
1191
1215
  "lucide-react@^1.51.0"
1192
1216
  ],
1193
1217
  "registryDependencies": [
1194
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/pi-chat.json",
1195
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/dock.json",
1196
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/feedback.json",
1197
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/utils.json",
1198
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/button.json",
1218
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/pi-chat.json",
1219
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/dock.json",
1220
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/feedback.json",
1221
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/utils.json",
1222
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/button.json",
1199
1223
  "drawer",
1200
1224
  "sidebar",
1201
1225
  "avatar",
@@ -1333,8 +1357,8 @@
1333
1357
  "title": "Viewers",
1334
1358
  "description": "The standard viewer top bar (title, status, viewer controls, Refresh, Share, Copy, Download, Open in new tab, Close, overflow menu) with Tailwind panes over it: the Markdown editor with a formatting toolbar and prose styling, the passive HTML preview and source editor, an image viewer with zoom and pan, a PDF viewer, and LocalFileViewer for browser-only files. Owned, editable source over the borrowed controllers; no AI SDK.",
1335
1359
  "dependencies": [
1336
- "@hachej/boring-ui-kit@^0.4.4",
1337
- "@hachej/boring-files@^0.4.4",
1360
+ "@hachej/boring-ui-kit@^0.4.5",
1361
+ "@hachej/boring-files@^0.4.5",
1338
1362
  "react@^19.0.0",
1339
1363
  "react-dom@^19.0.0",
1340
1364
  "marked@^17.0.6",
@@ -1354,12 +1378,12 @@
1354
1378
  "pdfjs-dist@6.3.289"
1355
1379
  ],
1356
1380
  "registryDependencies": [
1357
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/theme.json",
1358
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/utils.json",
1359
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/button.json",
1381
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/theme.json",
1382
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/utils.json",
1383
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/button.json",
1360
1384
  "button",
1361
1385
  "toggle",
1362
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/version-history.json",
1386
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/version-history.json",
1363
1387
  "toggle-group",
1364
1388
  "dialog",
1365
1389
  "textarea",
@@ -1801,8 +1825,8 @@
1801
1825
  "lucide-react@^1.51.0"
1802
1826
  ],
1803
1827
  "registryDependencies": [
1804
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/theme.json",
1805
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/utils.json",
1828
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/theme.json",
1829
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/utils.json",
1806
1830
  "button",
1807
1831
  "input",
1808
1832
  "label",
@@ -1823,9 +1847,9 @@
1823
1847
  "title": "Feedback",
1824
1848
  "description": "Feedback from the chat composer: one Feedback button starts feedback mode on the application page (hover, click to pin a numbered note, hold ⌥ to use the app, optional voice), and one chip carries the notes to the next message. FeedbackBar, NoteBubble, FeedbackChip with its review, useComposerFeedback for the pi-chat composer, and PickerOverlay styles. Optional, not mounted by default: PointButton, AnnotateSheet, FeedbackList and FeedbackReport. Picking, masking, anchoring and placement stay in @hachej/boring-feedback/page and /ui, so restyling cannot weaken them.",
1825
1849
  "dependencies": [
1826
- "@hachej/boring-feedback@^0.4.4",
1827
- "@hachej/boring-ui-kit@^0.4.4",
1828
- "@hachej/boring-files@^0.4.4",
1850
+ "@hachej/boring-feedback@^0.4.5",
1851
+ "@hachej/boring-ui-kit@^0.4.5",
1852
+ "@hachej/boring-files@^0.4.5",
1829
1853
  "react@^19.0.0",
1830
1854
  "react-dom@^19.0.0",
1831
1855
  "lucide-react@^1.51.0"
@@ -2323,8 +2347,8 @@
2323
2347
  }
2324
2348
  },
2325
2349
  "registryDependencies": [
2326
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/pi-chat.json",
2327
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/utils.json",
2350
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/pi-chat.json",
2351
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/utils.json",
2328
2352
  "button",
2329
2353
  "toggle",
2330
2354
  "badge",
@@ -2339,7 +2363,7 @@
2339
2363
  "title": "Feedback preview",
2340
2364
  "description": "PreviewBanner: a live, reversible preview of a change in the page (Approve / Discard) over `@hachej/boring-feedback/preview`, whose subagent calls models through a host gateway. Separate from `feedback` so annotation-only apps do not install the model SDK; install `feedback` first (its styles cover the banner).",
2341
2365
  "dependencies": [
2342
- "@hachej/boring-feedback@^0.4.4",
2366
+ "@hachej/boring-feedback@^0.4.5",
2343
2367
  "@earendil-works/pi-ai@~1.2.0",
2344
2368
  "react@^19.0.0"
2345
2369
  ],
@@ -2363,8 +2387,8 @@
2363
2387
  "title": "Consumer task-list viewer",
2364
2388
  "description": "A consumer-defined task-list schema and controller over the shared text buffer, with a restylable borrowed React renderer.",
2365
2389
  "dependencies": [
2366
- "@hachej/boring-ui-kit@^0.4.4",
2367
- "@hachej/boring-files@^0.4.4",
2390
+ "@hachej/boring-ui-kit@^0.4.5",
2391
+ "@hachej/boring-files@^0.4.5",
2368
2392
  "react@^19.0.0",
2369
2393
  "react-dom@^19.0.0",
2370
2394
  "zod@^4.6.5"
@@ -2420,12 +2444,12 @@
2420
2444
  "title": "Version history rows",
2421
2445
  "description": "Shared view-only version rows and menu metadata with relative time, provenance and Current. No file reads, publication or restoration.",
2422
2446
  "dependencies": [
2423
- "@hachej/boring-files@^0.4.4",
2447
+ "@hachej/boring-files@^0.4.5",
2424
2448
  "react@^19.0.0"
2425
2449
  ],
2426
2450
  "registryDependencies": [
2427
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/theme.json",
2428
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/button.json",
2451
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/theme.json",
2452
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/button.json",
2429
2453
  "button"
2430
2454
  ],
2431
2455
  "files": [
@@ -2442,15 +2466,15 @@
2442
2466
  "title": "File tree",
2443
2467
  "description": "Browse, search, upload and inspect retained versions through one revisionProvider binding. Uses the consumer's shadcn Button and dropdown-menu with shared version-history rows; Base UI style only.",
2444
2468
  "dependencies": [
2445
- "@hachej/boring-ui-kit@^0.4.4",
2446
- "@hachej/boring-files@^0.4.4",
2469
+ "@hachej/boring-ui-kit@^0.4.5",
2470
+ "@hachej/boring-files@^0.4.5",
2447
2471
  "react@^19.0.0",
2448
2472
  "lucide-react@^1.51.0"
2449
2473
  ],
2450
2474
  "registryDependencies": [
2451
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/theme.json",
2452
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/utils.json",
2453
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/version-history.json",
2475
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/theme.json",
2476
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/utils.json",
2477
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/version-history.json",
2454
2478
  "button",
2455
2479
  "dropdown-menu",
2456
2480
  "collapsible",
@@ -2475,20 +2499,20 @@
2475
2499
  "title": "Documents: the Library, a file and its revisions",
2476
2500
  "description": "The workspace's Library as the list, the chosen file in its viewer and its retained revisions beside it (an older one opens read-only). DocumentSheet opens one document over the app for a host's « Voir la fiche », with an optional « Toutes les fiches ». Every read goes through one revisionProvider binding.",
2477
2501
  "dependencies": [
2478
- "@hachej/boring-ui-kit@^0.4.4",
2479
- "@hachej/boring-files@^0.4.4",
2502
+ "@hachej/boring-ui-kit@^0.4.5",
2503
+ "@hachej/boring-files@^0.4.5",
2480
2504
  "react@^19.0.0",
2481
2505
  "lucide-react@^1.51.0"
2482
2506
  ],
2483
2507
  "registryDependencies": [
2484
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/theme.json",
2485
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/utils.json",
2486
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/button.json",
2487
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/pi-chat.json",
2488
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/pi-app.json",
2489
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/app-shell.json",
2490
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/file-tree.json",
2491
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/viewers.json",
2508
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/theme.json",
2509
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/utils.json",
2510
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/button.json",
2511
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/pi-chat.json",
2512
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/pi-app.json",
2513
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/app-shell.json",
2514
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/file-tree.json",
2515
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/viewers.json",
2492
2516
  "drawer",
2493
2517
  "button",
2494
2518
  "scroll-area",
@@ -2528,15 +2552,15 @@
2528
2552
  "title": "Point and dictate on app data",
2529
2553
  "description": "Tap explicitly marked JSON app context, dictate once and show the same app agent’s native reply without opening chat. Host-controlled presentation; no feedback report or second controller.",
2530
2554
  "dependencies": [
2531
- "@hachej/boring-ui-kit@^0.4.4",
2532
- "@hachej/boring-feedback@^0.4.4",
2555
+ "@hachej/boring-ui-kit@^0.4.5",
2556
+ "@hachej/boring-feedback@^0.4.5",
2533
2557
  "@earendil-works/pi-durable@~1.2.0",
2534
2558
  "react@^19.0.0",
2535
2559
  "react-dom@^19.0.0"
2536
2560
  ],
2537
2561
  "registryDependencies": [
2538
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/app-shell.json",
2539
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/pi-chat.json",
2562
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/app-shell.json",
2563
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/pi-chat.json",
2540
2564
  "button",
2541
2565
  "card",
2542
2566
  "message",
@@ -2561,7 +2585,7 @@
2561
2585
  "title": "Requests board",
2562
2586
  "description": "Host-fed compact requests and responsive list/detail with questions and decisions.",
2563
2587
  "registryDependencies": [
2564
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/utils.json",
2588
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/utils.json",
2565
2589
  "badge",
2566
2590
  "button",
2567
2591
  "input",
@@ -2598,13 +2622,13 @@
2598
2622
  "title": "Anchored highlights",
2599
2623
  "description": "Exact Markdown highlights and comments in a conditional workspace sidecar.",
2600
2624
  "dependencies": [
2601
- "@hachej/boring-ui-kit@^0.4.4",
2602
- "@hachej/boring-files@^0.4.4",
2625
+ "@hachej/boring-ui-kit@^0.4.5",
2626
+ "@hachej/boring-files@^0.4.5",
2603
2627
  "react@^19.0.0",
2604
2628
  "react-dom@^19.0.0"
2605
2629
  ],
2606
2630
  "registryDependencies": [
2607
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/markdown-editor.json",
2631
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/markdown-editor.json",
2608
2632
  "button",
2609
2633
  "textarea",
2610
2634
  "label",
@@ -2618,6 +2642,32 @@
2618
2642
  "target": "components/highlights/highlights.tsx"
2619
2643
  }
2620
2644
  ]
2645
+ },
2646
+ {
2647
+ "name": "windows",
2648
+ "type": "registry:block",
2649
+ "title": "Floating windows and launcher",
2650
+ "description": "Host utility windows with shared pointer-capture drag, resize, focus stacking, minimize/close, remembered rectangles and a keyboard launcher; full-screen Drawer below 641px. No agent or content persistence.",
2651
+ "dependencies": [
2652
+ "react@^19.0.0",
2653
+ "react-dom@^19.0.0",
2654
+ "lucide-react@^1.51.0"
2655
+ ],
2656
+ "registryDependencies": [
2657
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/utils.json",
2658
+ "button",
2659
+ "card",
2660
+ "badge",
2661
+ "drawer",
2662
+ "dropdown-menu"
2663
+ ],
2664
+ "files": [
2665
+ {
2666
+ "path": "registry/windows/windows.tsx",
2667
+ "type": "registry:component",
2668
+ "target": "components/windows/windows.tsx"
2669
+ }
2670
+ ]
2621
2671
  }
2622
2672
  ]
2623
2673
  }
@@ -7,7 +7,7 @@
7
7
  "react@^19.0.0"
8
8
  ],
9
9
  "registryDependencies": [
10
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.4/r/utils.json",
10
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.5/r/utils.json",
11
11
  "badge",
12
12
  "button",
13
13
  "input",