@hachej/boring-ui-kit 0.4.24 → 0.4.26

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 (76) hide show
  1. package/README.md +26 -2
  2. package/bin/boring-ui-blocks.mjs +50 -13
  3. package/dist/chat-artifacts.d.ts +157 -0
  4. package/dist/chat-artifacts.js +274 -0
  5. package/dist/chat-react-controller.d.ts +25 -0
  6. package/dist/chat-react-controller.js +72 -0
  7. package/dist/chat-react-conversations.d.ts +40 -0
  8. package/dist/chat-react-conversations.js +68 -0
  9. package/dist/chat-react-draft.d.ts +11 -0
  10. package/dist/chat-react-draft.js +91 -0
  11. package/dist/chat-react-remote.d.ts +33 -0
  12. package/dist/chat-react-remote.js +72 -0
  13. package/dist/chat-react-transcript.d.ts +39 -0
  14. package/dist/chat-react-transcript.js +123 -0
  15. package/dist/chat-react.d.ts +60 -0
  16. package/dist/chat-react.js +94 -0
  17. package/dist/chat-text.d.ts +122 -0
  18. package/dist/chat-text.js +216 -0
  19. package/dist/chat-view.d.ts +2 -17
  20. package/dist/chat-view.js +1 -0
  21. package/dist/file-tree.js +5 -0
  22. package/dist/run-notifications.d.ts +42 -0
  23. package/dist/run-notifications.js +67 -0
  24. package/dist/shared-chat/index.d.ts +1 -1
  25. package/dist/shared-chat/index.js +5 -4
  26. package/dist/voice-capture.d.ts +12 -0
  27. package/dist/voice-capture.js +17 -2
  28. package/package.json +10 -2
  29. package/r/agent-target.json +5 -9
  30. package/r/app-shell.json +16 -25
  31. package/r/board-viewer.json +7 -11
  32. package/r/button.json +2 -9
  33. package/r/diagram-viewer.json +0 -5
  34. package/r/dock.json +2 -2
  35. package/r/documents.json +14 -19
  36. package/r/feedback-preview.json +1 -7
  37. package/r/feedback.json +12 -19
  38. package/r/file-tree.json +4 -14
  39. package/r/highlights.json +4 -9
  40. package/r/html-viewer.json +3 -3
  41. package/r/looks-viewer.json +2 -6
  42. package/r/maquette-viewer.json +2 -20
  43. package/r/markdown-editor.json +4 -7
  44. package/r/mockup-viewer.json +2 -5
  45. package/r/pi-ambient.json +11 -19
  46. package/r/pi-app-kinds.json +10 -10
  47. package/r/pi-app.json +16 -26
  48. package/r/pi-artifacts.json +3 -4
  49. package/r/pi-chat-approval.json +3 -5
  50. package/r/pi-chat-attachments.json +2 -4
  51. package/r/pi-chat-markdown.json +3 -5
  52. package/r/pi-chat-mentions.json +2 -3
  53. package/r/pi-chat-pickers.json +2 -4
  54. package/r/pi-chat-plugins.json +11 -11
  55. package/r/pi-chat-question.json +1 -7
  56. package/r/pi-chat-slash.json +3 -6
  57. package/r/pi-chat-subagent.json +3 -8
  58. package/r/pi-chat-voice.json +6 -9
  59. package/r/pi-chat.json +17 -45
  60. package/r/pi-workspace.json +4 -7
  61. package/r/placed-agent.json +4 -5
  62. package/r/provider-setup.json +2 -8
  63. package/r/record-viewer.json +0 -9
  64. package/r/registry.json +163 -395
  65. package/r/requests-board.json +2 -10
  66. package/r/shared-chat.json +9 -23
  67. package/r/task-list-viewer.json +3 -9
  68. package/r/version-history.json +3 -5
  69. package/r/viewer-code.json +2 -3
  70. package/r/viewer-frame.json +7 -15
  71. package/r/viewer-html.json +4 -5
  72. package/r/viewer-image.json +3 -4
  73. package/r/viewer-markdown.json +6 -8
  74. package/r/viewer-pdf.json +5 -7
  75. package/r/viewers.json +6 -6
  76. package/r/windows.json +2 -7
package/r/registry.json CHANGED
@@ -153,14 +153,7 @@
153
153
  "lucide-react@^1.51.0"
154
154
  ],
155
155
  "registryDependencies": [
156
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/utils.json",
157
- "dropdown-menu",
158
- "button",
159
- "toggle",
160
- "input",
161
- "textarea",
162
- "card",
163
- "separator"
156
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/utils.json"
164
157
  ],
165
158
  "files": [
166
159
  {
@@ -181,8 +174,8 @@
181
174
  "title": "Markdown editor",
182
175
  "description": "A host-owned styled wrapper over the concrete borrowed Markdown controller.",
183
176
  "dependencies": [
184
- "@hachej/boring-ui-kit@^0.4.24",
185
- "@hachej/boring-files@^0.4.24",
177
+ "@hachej/boring-ui-kit@^0.4.26",
178
+ "@hachej/boring-files@^0.4.26",
186
179
  "react@^19.0.0",
187
180
  "react-dom@^19.0.0",
188
181
  "marked@^17.0.6",
@@ -338,10 +331,7 @@
338
331
  },
339
332
  "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.",
340
333
  "registryDependencies": [
341
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/button.json",
342
- "button",
343
- "toggle",
344
- "dropdown-menu"
334
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/button.json"
345
335
  ]
346
336
  },
347
337
  {
@@ -350,8 +340,8 @@
350
340
  "title": "HTML source and passive preview",
351
341
  "description": "Exact HTML source editing with a reconstructed passive preview and borrowed controller. Browser security qualification remains separate.",
352
342
  "dependencies": [
353
- "@hachej/boring-ui-kit@^0.4.24",
354
- "@hachej/boring-files@^0.4.24",
343
+ "@hachej/boring-ui-kit@^0.4.26",
344
+ "@hachej/boring-files@^0.4.26",
355
345
  "react@^19.0.0",
356
346
  "react-dom@^19.0.0"
357
347
  ],
@@ -399,7 +389,7 @@
399
389
  }
400
390
  },
401
391
  "registryDependencies": [
402
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/button.json"
392
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/button.json"
403
393
  ]
404
394
  },
405
395
  {
@@ -408,9 +398,9 @@
408
398
  "title": "Pi chat",
409
399
  "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 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 question, approval, sub-agent and artifact cards are separate items (pi-chat-question, pi-chat-approval, pi-chat-subagent, pi-artifacts); without them a question or an approval shows a \"waiting for your answer\" notice, a sub-agent call is an ordinary tool step and no artifact is offered. The optional pi-ambient and pi-workspace blocks build on it.",
410
400
  "dependencies": [
411
- "@hachej/boring-ui-kit@^0.4.24",
412
- "@hachej/boring-files@^0.4.24",
413
- "@hachej/boring-feedback@^0.4.24",
401
+ "@hachej/boring-ui-kit@^0.4.26",
402
+ "@hachej/boring-files@^0.4.26",
403
+ "@hachej/boring-feedback@^0.4.26",
414
404
  "react@^19.0.0",
415
405
  "react-dom@^19.0.0",
416
406
  "@base-ui/react@1.9.0",
@@ -423,36 +413,8 @@
423
413
  "zod@^4.6.5"
424
414
  ],
425
415
  "registryDependencies": [
426
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/utils.json",
427
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/button.json",
428
- "dialog",
429
- "tooltip",
430
- "trace",
431
- "message",
432
- "message-scroller",
433
- "bubble",
434
- "attachment",
435
- "badge",
436
- "alert",
437
- "card",
438
- "spinner",
439
- "collapsible",
440
- "drawer",
441
- "button",
442
- "toggle",
443
- "dropdown-menu",
444
- "empty",
445
- "input",
446
- "input-group",
447
- "popover",
448
- "scroll-area",
449
- "separator",
450
- "sidebar",
451
- "badge",
452
- "item",
453
- "drawer",
454
- "alert",
455
- "avatar"
416
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/utils.json",
417
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/button.json"
456
418
  ],
457
419
  "files": [
458
420
  {
@@ -659,15 +621,13 @@
659
621
  "title": "Pi chat Markdown",
660
622
  "description": "Markdown for the chat's assistant replies: safe token-by-token rendering (raw HTML shown as text, no images fetched, http(s) links only), code blocks, tables, task lists and /command buttons. Plug it in with `renderText={markdownText}`; without it pi-chat shows replies as plain text.",
661
623
  "dependencies": [
624
+ "@hachej/boring-ui-kit@^0.4.26",
662
625
  "react@^19.0.0",
663
626
  "marked@^17.0.6",
664
627
  "entities@^8.1.0"
665
628
  ],
666
629
  "registryDependencies": [
667
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-chat.json",
668
- "button",
669
- "checkbox",
670
- "table"
630
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-chat.json"
671
631
  ],
672
632
  "files": [
673
633
  {
@@ -683,15 +643,12 @@
683
643
  "title": "Pi chat slash menu",
684
644
  "description": "The composer's `/` menu of commands and skills (and the Commands entry of the + menu). Plug it in with `slash={{ ...config, Picker: SlashPicker }}`; without it pi-chat has no `/` menu.",
685
645
  "dependencies": [
646
+ "@hachej/boring-ui-kit@^0.4.26",
686
647
  "react@^19.0.0",
687
648
  "lucide-react@^1.51.0"
688
649
  ],
689
650
  "registryDependencies": [
690
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-chat.json",
691
- "badge",
692
- "button",
693
- "input-group",
694
- "item"
651
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-chat.json"
695
652
  ],
696
653
  "files": [
697
654
  {
@@ -711,8 +668,7 @@
711
668
  "lucide-react@^1.51.0"
712
669
  ],
713
670
  "registryDependencies": [
714
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-chat.json",
715
- "item"
671
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-chat.json"
716
672
  ],
717
673
  "files": [
718
674
  {
@@ -732,9 +688,7 @@
732
688
  "lucide-react@^1.51.0"
733
689
  ],
734
690
  "registryDependencies": [
735
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-chat.json",
736
- "button",
737
- "dropdown-menu"
691
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-chat.json"
738
692
  ],
739
693
  "files": [
740
694
  {
@@ -750,16 +704,13 @@
750
704
  "title": "Pi chat voice messages",
751
705
  "description": "Hold-to-record voice messages: the recorder hook over the kit's voice capture, the composer's record button and the pending voice bubble, plus useHoldToRecord. Plug it in with `voiceMessage={{ ...config, ...voiceMessagePlugin }}`; without it pi-chat has no voice button.",
752
706
  "dependencies": [
753
- "@hachej/boring-ui-kit@^0.4.24",
707
+ "@hachej/boring-ui-kit@^0.4.26",
754
708
  "react@^19.0.0",
755
709
  "lucide-react@^1.51.0"
756
710
  ],
757
711
  "registryDependencies": [
758
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-chat.json",
759
- "bubble",
760
- "button",
761
- "message",
762
- "spinner"
712
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/utils.json",
713
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-chat.json"
763
714
  ],
764
715
  "files": [
765
716
  {
@@ -790,9 +741,7 @@
790
741
  "lucide-react@^1.51.0"
791
742
  ],
792
743
  "registryDependencies": [
793
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-chat.json",
794
- "button",
795
- "input"
744
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-chat.json"
796
745
  ],
797
746
  "files": [
798
747
  {
@@ -813,13 +762,7 @@
813
762
  "@earendil-works/pi-ai@~1.2.0"
814
763
  ],
815
764
  "registryDependencies": [
816
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-chat.json",
817
- "alert",
818
- "button",
819
- "card",
820
- "input",
821
- "item",
822
- "spinner"
765
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-chat.json"
823
766
  ],
824
767
  "files": [
825
768
  {
@@ -835,15 +778,13 @@
835
778
  "title": "Pi chat approval card",
836
779
  "description": "The Approve / Deny card for host tools wrapped with `requireApproval`. Plug it in with `cards={{ approval: ApprovalCard }}`; without it pi-chat shows a \"waiting for your answer\" notice with no answer UI.",
837
780
  "dependencies": [
781
+ "@hachej/boring-ui-kit@^0.4.26",
838
782
  "react@^19.0.0",
839
783
  "lucide-react@^1.51.0",
840
784
  "@earendil-works/pi-ai@~1.2.0"
841
785
  ],
842
786
  "registryDependencies": [
843
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-chat.json",
844
- "badge",
845
- "button",
846
- "item"
787
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-chat.json"
847
788
  ],
848
789
  "files": [
849
790
  {
@@ -864,12 +805,7 @@
864
805
  "@earendil-works/pi-ai@~1.2.0"
865
806
  ],
866
807
  "registryDependencies": [
867
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-chat.json",
868
- "alert",
869
- "badge",
870
- "button",
871
- "item",
872
- "spinner"
808
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-chat.json"
873
809
  ],
874
810
  "files": [
875
811
  {
@@ -890,15 +826,14 @@
890
826
  "title": "Pi artifacts",
891
827
  "description": "Artifact descriptors, kinds and the artifact card that opens generated content in the host's panel. Plug it in with `artifacts={{ ...artifactCards, open, isOpen, kinds }}`; without it pi-chat offers no artifact. pi-app and the viewers import their artifact kinds and types from it.",
892
828
  "dependencies": [
829
+ "@hachej/boring-ui-kit@^0.4.26",
893
830
  "react@^19.0.0",
894
831
  "lucide-react@^1.51.0",
895
832
  "@earendil-works/pi-ai@~1.2.0",
896
833
  "@earendil-works/pi-durable@~1.2.0"
897
834
  ],
898
835
  "registryDependencies": [
899
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-chat.json",
900
- "button",
901
- "item"
836
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-chat.json"
902
837
  ],
903
838
  "files": [
904
839
  {
@@ -922,17 +857,17 @@
922
857
  "react@^19.0.0"
923
858
  ],
924
859
  "registryDependencies": [
925
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-chat.json",
926
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-chat-markdown.json",
927
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-chat-slash.json",
928
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-chat-mentions.json",
929
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-chat-pickers.json",
930
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-chat-voice.json",
931
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-chat-attachments.json",
932
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-chat-question.json",
933
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-chat-approval.json",
934
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-chat-subagent.json",
935
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-artifacts.json"
860
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-chat.json",
861
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-chat-markdown.json",
862
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-chat-slash.json",
863
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-chat-mentions.json",
864
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-chat-pickers.json",
865
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-chat-voice.json",
866
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-chat-attachments.json",
867
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-chat-question.json",
868
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-chat-approval.json",
869
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-chat-subagent.json",
870
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-artifacts.json"
936
871
  ],
937
872
  "files": [
938
873
  {
@@ -946,9 +881,9 @@
946
881
  "name": "pi-ambient",
947
882
  "type": "registry:block",
948
883
  "title": "Pi ambient agent",
949
- "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.",
884
+ "description": "AmbientChat, a compact floating agent bar that grows into a chat window over an existing page, and AgentNotifications, toasts over the kit's shared chat-react run notifications (with the one guarded browser Notification helper). A block over the pi-chat item; its in-window artifact panel uses the pi-workspace layout.",
950
885
  "dependencies": [
951
- "@hachej/boring-ui-kit@^0.4.24",
886
+ "@hachej/boring-ui-kit@^0.4.26",
952
887
  "react@^19.0.0",
953
888
  "react-dom@^19.0.0",
954
889
  "@earendil-works/pi-durable@~1.2.0",
@@ -956,21 +891,13 @@
956
891
  "lucide-react@^1.51.0"
957
892
  ],
958
893
  "registryDependencies": [
959
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/theme.json",
960
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-chat.json",
961
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-chat-plugins.json",
962
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-chat-question.json",
963
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-artifacts.json",
964
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-workspace.json",
965
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/utils.json",
966
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/button.json",
967
- "message-scroller",
968
- "button",
969
- "toggle",
970
- "avatar",
971
- "badge",
972
- "card",
973
- "separator"
894
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-chat.json",
895
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-chat-plugins.json",
896
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-chat-question.json",
897
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-artifacts.json",
898
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-workspace.json",
899
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/utils.json",
900
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/button.json"
974
901
  ],
975
902
  "files": [
976
903
  {
@@ -999,7 +926,7 @@
999
926
  "react@^19.0.0"
1000
927
  ],
1001
928
  "registryDependencies": [
1002
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/utils.json"
929
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/utils.json"
1003
930
  ],
1004
931
  "files": [
1005
932
  {
@@ -1019,12 +946,9 @@
1019
946
  "react-dom@^19.0.0"
1020
947
  ],
1021
948
  "registryDependencies": [
1022
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/theme.json",
1023
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-chat.json",
1024
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/utils.json",
1025
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/dock.json",
1026
- "badge",
1027
- "card"
949
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-chat.json",
950
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/utils.json",
951
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/dock.json"
1028
952
  ],
1029
953
  "files": [
1030
954
  {
@@ -1051,10 +975,7 @@
1051
975
  "zod@^4.6.5"
1052
976
  ],
1053
977
  "registryDependencies": [
1054
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/viewer-frame.json",
1055
- "badge",
1056
- "toggle",
1057
- "tooltip"
978
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/viewer-frame.json"
1058
979
  ],
1059
980
  "files": [
1060
981
  {
@@ -1099,11 +1020,7 @@
1099
1020
  "lucide-react@^1.51.0"
1100
1021
  ],
1101
1022
  "registryDependencies": [
1102
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/mockup-viewer.json",
1103
- "alert",
1104
- "button",
1105
- "card",
1106
- "toggle-group"
1023
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/mockup-viewer.json"
1107
1024
  ],
1108
1025
  "files": [
1109
1026
  {
@@ -1132,15 +1049,6 @@
1132
1049
  "react@^19.0.0",
1133
1050
  "lucide-react@^1.51.0"
1134
1051
  ],
1135
- "registryDependencies": [
1136
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/theme.json",
1137
- "table",
1138
- "badge",
1139
- "item",
1140
- "button",
1141
- "alert",
1142
- "empty"
1143
- ],
1144
1052
  "files": [
1145
1053
  {
1146
1054
  "path": "registry/record-viewer/records.ts",
@@ -1173,11 +1081,6 @@
1173
1081
  "react@^19.0.0",
1174
1082
  "lucide-react@^1.51.0"
1175
1083
  ],
1176
- "registryDependencies": [
1177
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/theme.json",
1178
- "alert",
1179
- "badge"
1180
- ],
1181
1084
  "files": [
1182
1085
  {
1183
1086
  "path": "registry/diagram-viewer/diagram.ts",
@@ -1216,25 +1119,7 @@
1216
1119
  "lucide-react@^1.51.0"
1217
1120
  ],
1218
1121
  "registryDependencies": [
1219
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/theme.json",
1220
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/diagram-viewer.json",
1221
- "alert",
1222
- "badge",
1223
- "bubble",
1224
- "button",
1225
- "card",
1226
- "empty",
1227
- "input",
1228
- "item",
1229
- "label",
1230
- "native-select",
1231
- "separator",
1232
- "table",
1233
- "dialog",
1234
- "dropdown-menu",
1235
- "popover",
1236
- "toggle",
1237
- "tooltip"
1122
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/diagram-viewer.json"
1238
1123
  ],
1239
1124
  "files": [
1240
1125
  {
@@ -1299,20 +1184,16 @@
1299
1184
  "title": "Board viewer",
1300
1185
  "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.",
1301
1186
  "dependencies": [
1302
- "@hachej/boring-ui-kit@^0.4.24",
1303
- "@hachej/boring-files@^0.4.24",
1187
+ "@hachej/boring-ui-kit@^0.4.26",
1188
+ "@hachej/boring-files@^0.4.26",
1304
1189
  "react@^19.0.0",
1305
1190
  "lucide-react@1.51.0",
1306
1191
  "tldraw@5.5.2"
1307
1192
  ],
1308
1193
  "registryDependencies": [
1309
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/maquette-viewer.json",
1310
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/mockup-viewer.json",
1311
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-artifacts.json",
1312
- "button",
1313
- "alert",
1314
- "card",
1315
- "tooltip"
1194
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/maquette-viewer.json",
1195
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/mockup-viewer.json",
1196
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-artifacts.json"
1316
1197
  ],
1317
1198
  "files": [
1318
1199
  {
@@ -1348,30 +1229,16 @@
1348
1229
  "title": "Shared chat",
1349
1230
  "description": "Optional multi-party host log presentation over PiChat's generic composition seams. No agent runtime or speaking policy.",
1350
1231
  "dependencies": [
1351
- "@hachej/boring-ui-kit@^0.4.24",
1232
+ "@hachej/boring-ui-kit@^0.4.26",
1352
1233
  "react@^19.0.0",
1353
1234
  "lucide-react@^1.51.0"
1354
1235
  ],
1355
1236
  "registryDependencies": [
1356
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-chat.json",
1357
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-chat-plugins.json",
1358
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-chat-markdown.json",
1359
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-chat-mentions.json",
1360
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/theme.json",
1361
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/utils.json",
1362
- "avatar",
1363
- "badge",
1364
- "button",
1365
- "drawer",
1366
- "popover",
1367
- "separator",
1368
- "tooltip",
1369
- "trace",
1370
- "spinner",
1371
- "item",
1372
- "message",
1373
- "bubble",
1374
- "message-scroller"
1237
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-chat.json",
1238
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-chat-plugins.json",
1239
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-chat-markdown.json",
1240
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-chat-mentions.json",
1241
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/utils.json"
1375
1242
  ],
1376
1243
  "files": [
1377
1244
  {
@@ -1427,31 +1294,21 @@
1427
1294
  "title": "Pi agent app",
1428
1295
  "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 panel (versions, file viewer, auto-open of new artifacts) in the ArtifactWorkspace panel, a full-screen sheet on a phone; it draws files with the kinds the app passes in artifactKinds (defaultKinds of the pi-app-kinds item is the default list). 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).",
1429
1296
  "dependencies": [
1430
- "@hachej/boring-ui-kit@^0.4.24",
1431
- "@hachej/boring-files@^0.4.24",
1297
+ "@hachej/boring-ui-kit@^0.4.26",
1298
+ "@hachej/boring-files@^0.4.26",
1432
1299
  "react@^19.0.0",
1433
1300
  "react-dom@^19.0.0",
1434
1301
  "lucide-react@^1.51.0"
1435
1302
  ],
1436
1303
  "registryDependencies": [
1437
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/theme.json",
1438
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-chat.json",
1439
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-chat-plugins.json",
1440
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-artifacts.json",
1441
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-workspace.json",
1442
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/viewer-frame.json",
1443
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/utils.json",
1444
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/button.json",
1445
- "drawer",
1446
- "dialog",
1447
- "button",
1448
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/file-tree.json",
1449
- "dropdown-menu",
1450
- "scroll-area",
1451
- "separator",
1452
- "table",
1453
- "popover",
1454
- "tooltip"
1304
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-chat.json",
1305
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-chat-plugins.json",
1306
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-artifacts.json",
1307
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-workspace.json",
1308
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/viewer-frame.json",
1309
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/utils.json",
1310
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/button.json",
1311
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/file-tree.json"
1455
1312
  ],
1456
1313
  "files": [
1457
1314
  {
@@ -1537,16 +1394,16 @@
1537
1394
  "title": "Pi agent app default kinds",
1538
1395
  "description": "defaultKinds({ locale, comments }): the artifact kinds the pi-app item draws with by default, in order: maquette, diagram, mock-up and records, then Markdown, HTML, SVG, CSV, image and PDF (documentKinds). Pass it as AgentWorkspace's artifactKinds (or ViewerOptions.kinds), with an app's own kinds before it. Each kind loads its viewer on first open.",
1539
1396
  "registryDependencies": [
1540
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-app.json",
1541
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/viewer-markdown.json",
1542
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/viewer-html.json",
1543
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/viewer-image.json",
1544
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/viewer-pdf.json",
1545
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/viewer-code.json",
1546
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/maquette-viewer.json",
1547
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/diagram-viewer.json",
1548
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/mockup-viewer.json",
1549
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/record-viewer.json"
1397
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-app.json",
1398
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/viewer-markdown.json",
1399
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/viewer-html.json",
1400
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/viewer-image.json",
1401
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/viewer-pdf.json",
1402
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/viewer-code.json",
1403
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/maquette-viewer.json",
1404
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/diagram-viewer.json",
1405
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/mockup-viewer.json",
1406
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/record-viewer.json"
1550
1407
  ],
1551
1408
  "files": [
1552
1409
  {
@@ -1567,11 +1424,10 @@
1567
1424
  "lucide-react@^1.51.0"
1568
1425
  ],
1569
1426
  "registryDependencies": [
1570
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-app.json",
1571
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-ambient.json",
1572
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/app-shell.json",
1573
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/utils.json",
1574
- "button"
1427
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-app.json",
1428
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-ambient.json",
1429
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/app-shell.json",
1430
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/utils.json"
1575
1431
  ],
1576
1432
  "files": [
1577
1433
  {
@@ -1587,30 +1443,21 @@
1587
1443
  "title": "App shell: layouts, list/detail and agent layer",
1588
1444
  "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.",
1589
1445
  "dependencies": [
1590
- "@hachej/boring-feedback@^0.4.24",
1591
- "@hachej/boring-ui-kit@^0.4.24",
1446
+ "@hachej/boring-feedback@^0.4.26",
1447
+ "@hachej/boring-ui-kit@^0.4.26",
1592
1448
  "@base-ui/react@^1.9.0",
1593
1449
  "react@^19.0.0",
1594
1450
  "react-dom@^19.0.0",
1595
1451
  "lucide-react@^1.51.0"
1596
1452
  ],
1597
1453
  "registryDependencies": [
1598
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-chat.json",
1599
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-chat-plugins.json",
1600
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-chat-voice.json",
1601
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/dock.json",
1602
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/feedback.json",
1603
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/utils.json",
1604
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/button.json",
1605
- "drawer",
1606
- "sidebar",
1607
- "avatar",
1608
- "dropdown-menu",
1609
- "button",
1610
- "switch",
1611
- "badge",
1612
- "card",
1613
- "separator"
1454
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-chat.json",
1455
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-chat-plugins.json",
1456
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-chat-voice.json",
1457
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/dock.json",
1458
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/feedback.json",
1459
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/utils.json",
1460
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/button.json"
1614
1461
  ],
1615
1462
  "css": {
1616
1463
  "@layer base": {
@@ -1739,23 +1586,15 @@
1739
1586
  "title": "Viewer frame",
1740
1587
  "description": "The standard viewer top bar every viewer draws in (title, status, viewer controls, Refresh, Share, Copy, Download, Open in new tab, Close, overflow menu), its window labels, download, share and media helpers and the sandboxed interactive HTML frame. The viewers' styles live here. Each viewer is its own item (viewer-markdown, viewer-html, viewer-image, viewer-pdf, viewer-code) with a cheap kind module and a view loaded on first open.",
1741
1588
  "dependencies": [
1742
- "@hachej/boring-ui-kit@^0.4.24",
1589
+ "@hachej/boring-ui-kit@^0.4.26",
1743
1590
  "react@^19.0.0",
1744
1591
  "react-dom@^19.0.0",
1745
1592
  "lucide-react@^1.51.0"
1746
1593
  ],
1747
1594
  "registryDependencies": [
1748
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/theme.json",
1749
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/utils.json",
1750
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/button.json",
1751
- "button",
1752
- "toggle",
1753
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/version-history.json",
1754
- "toggle-group",
1755
- "dialog",
1756
- "textarea",
1757
- "badge",
1758
- "dropdown-menu"
1595
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/utils.json",
1596
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/button.json",
1597
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/version-history.json"
1759
1598
  ],
1760
1599
  "files": [
1761
1600
  {
@@ -2177,7 +2016,7 @@
2177
2016
  "title": "Markdown viewer",
2178
2017
  "description": "The Markdown kind: `markdownKind` (match, loader) and `MarkdownPane`, the tiptap editor with a formatting toolbar and prose styling over the kit's revisioned Markdown controller, in the viewer frame. The pane and tiptap load the first time a Markdown file opens.",
2179
2018
  "dependencies": [
2180
- "@hachej/boring-ui-kit@^0.4.24",
2019
+ "@hachej/boring-ui-kit@^0.4.26",
2181
2020
  "react@^19.0.0",
2182
2021
  "lucide-react@^1.51.0",
2183
2022
  "marked@^17.0.6",
@@ -2195,12 +2034,10 @@
2195
2034
  "@tiptap/extension-floating-menu@^3.31.4"
2196
2035
  ],
2197
2036
  "registryDependencies": [
2198
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/viewer-frame.json",
2199
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/markdown-editor.json",
2200
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/utils.json",
2201
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/button.json",
2202
- "button",
2203
- "dropdown-menu"
2037
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/viewer-frame.json",
2038
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/markdown-editor.json",
2039
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/utils.json",
2040
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/button.json"
2204
2041
  ],
2205
2042
  "files": [
2206
2043
  {
@@ -2221,15 +2058,14 @@
2221
2058
  "title": "HTML viewer",
2222
2059
  "description": "The HTML kind: `htmlKind` (match, loader) and `HtmlPane`, the passive HTML preview (sandboxed when the host opts in) and source editor, in the viewer frame. The pane loads the first time an HTML file opens.",
2223
2060
  "dependencies": [
2224
- "@hachej/boring-ui-kit@^0.4.24",
2061
+ "@hachej/boring-ui-kit@^0.4.26",
2225
2062
  "react@^19.0.0",
2226
2063
  "lucide-react@^1.51.0"
2227
2064
  ],
2228
2065
  "registryDependencies": [
2229
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/viewer-frame.json",
2230
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/utils.json",
2231
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/button.json",
2232
- "button"
2066
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/viewer-frame.json",
2067
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/utils.json",
2068
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/button.json"
2233
2069
  ],
2234
2070
  "files": [
2235
2071
  {
@@ -2254,9 +2090,8 @@
2254
2090
  "lucide-react@^1.51.0"
2255
2091
  ],
2256
2092
  "registryDependencies": [
2257
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/viewer-frame.json",
2258
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/utils.json",
2259
- "button"
2093
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/viewer-frame.json",
2094
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/utils.json"
2260
2095
  ],
2261
2096
  "files": [
2262
2097
  {
@@ -2282,16 +2117,14 @@
2282
2117
  "title": "PDF viewer",
2283
2118
  "description": "The PDF kind: `pdfKind` (match, loader) and `PdfPane` in the viewer frame (the browser's viewer, or pdf.js pages where there is none), and LocalFileViewer for browser-only files. The pane loads the first time a PDF opens.",
2284
2119
  "dependencies": [
2285
- "@hachej/boring-files@^0.4.24",
2120
+ "@hachej/boring-files@^0.4.26",
2286
2121
  "react@^19.0.0",
2287
2122
  "lucide-react@^1.51.0",
2288
2123
  "pdfjs-dist@6.3.289"
2289
2124
  ],
2290
2125
  "registryDependencies": [
2291
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/viewer-frame.json",
2292
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/viewer-image.json",
2293
- "badge",
2294
- "button"
2126
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/viewer-frame.json",
2127
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/viewer-image.json"
2295
2128
  ],
2296
2129
  "files": [
2297
2130
  {
@@ -2326,9 +2159,8 @@
2326
2159
  "lucide-react@^1.51.0"
2327
2160
  ],
2328
2161
  "registryDependencies": [
2329
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/viewer-frame.json",
2330
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-chat.json",
2331
- "table"
2162
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/viewer-frame.json",
2163
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-chat.json"
2332
2164
  ],
2333
2165
  "files": [
2334
2166
  {
@@ -2355,12 +2187,12 @@
2355
2187
  "description": "Deprecated aggregate: installs every viewer item (viewer-frame, viewer-markdown, viewer-html, viewer-image, viewer-pdf, viewer-code). Add the items you use instead.",
2356
2188
  "files": [],
2357
2189
  "registryDependencies": [
2358
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/viewer-frame.json",
2359
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/viewer-markdown.json",
2360
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/viewer-html.json",
2361
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/viewer-image.json",
2362
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/viewer-pdf.json",
2363
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/viewer-code.json"
2190
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/viewer-frame.json",
2191
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/viewer-markdown.json",
2192
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/viewer-html.json",
2193
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/viewer-image.json",
2194
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/viewer-pdf.json",
2195
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/viewer-code.json"
2364
2196
  ]
2365
2197
  },
2366
2198
  {
@@ -2374,13 +2206,7 @@
2374
2206
  "lucide-react@^1.51.0"
2375
2207
  ],
2376
2208
  "registryDependencies": [
2377
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/theme.json",
2378
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/utils.json",
2379
- "button",
2380
- "input",
2381
- "label",
2382
- "native-select",
2383
- "popover"
2209
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/utils.json"
2384
2210
  ],
2385
2211
  "files": [
2386
2212
  {
@@ -2396,9 +2222,9 @@
2396
2222
  "title": "Feedback",
2397
2223
  "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.",
2398
2224
  "dependencies": [
2399
- "@hachej/boring-feedback@^0.4.24",
2400
- "@hachej/boring-ui-kit@^0.4.24",
2401
- "@hachej/boring-files@^0.4.24",
2225
+ "@hachej/boring-feedback@^0.4.26",
2226
+ "@hachej/boring-ui-kit@^0.4.26",
2227
+ "@hachej/boring-files@^0.4.26",
2402
2228
  "react@^19.0.0",
2403
2229
  "react-dom@^19.0.0",
2404
2230
  "lucide-react@^1.51.0"
@@ -2866,16 +2692,9 @@
2866
2692
  }
2867
2693
  },
2868
2694
  "registryDependencies": [
2869
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-chat.json",
2870
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-chat-voice.json",
2871
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/utils.json",
2872
- "button",
2873
- "toggle",
2874
- "badge",
2875
- "item",
2876
- "card",
2877
- "textarea",
2878
- "switch"
2695
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-chat.json",
2696
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-chat-voice.json",
2697
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/utils.json"
2879
2698
  ]
2880
2699
  },
2881
2700
  {
@@ -2884,7 +2703,7 @@
2884
2703
  "title": "Feedback preview",
2885
2704
  "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).",
2886
2705
  "dependencies": [
2887
- "@hachej/boring-feedback@^0.4.24",
2706
+ "@hachej/boring-feedback@^0.4.26",
2888
2707
  "@earendil-works/pi-ai@~1.2.0",
2889
2708
  "react@^19.0.0"
2890
2709
  ],
@@ -2894,12 +2713,6 @@
2894
2713
  "type": "registry:component",
2895
2714
  "target": "components/feedback-preview/preview-banner.tsx"
2896
2715
  }
2897
- ],
2898
- "registryDependencies": [
2899
- "button",
2900
- "card",
2901
- "badge",
2902
- "input"
2903
2716
  ]
2904
2717
  },
2905
2718
  {
@@ -2908,8 +2721,8 @@
2908
2721
  "title": "Consumer task-list viewer",
2909
2722
  "description": "A consumer-defined task-list schema and controller over the shared text buffer, with a restylable borrowed React renderer.",
2910
2723
  "dependencies": [
2911
- "@hachej/boring-ui-kit@^0.4.24",
2912
- "@hachej/boring-files@^0.4.24",
2724
+ "@hachej/boring-ui-kit@^0.4.26",
2725
+ "@hachej/boring-files@^0.4.26",
2913
2726
  "react@^19.0.0",
2914
2727
  "react-dom@^19.0.0",
2915
2728
  "zod@^4.6.5"
@@ -2951,13 +2764,7 @@
2951
2764
  "color": "var(--destructive)"
2952
2765
  }
2953
2766
  },
2954
- "docs": "The installed task-list schema/controller are trusted consumer code; publication and draft recovery come from @hachej/boring-ui-kit/text-buffer. Construct a feature with a host-authenticated ResourceClient and exact source, then pass its concrete controller to TaskListViewer. Install native tools separately on the server. No host credentials or native kernel are copied into this item. Local tarball qualification only; no hosted release endpoint is advertised.",
2955
- "registryDependencies": [
2956
- "button",
2957
- "card",
2958
- "input",
2959
- "checkbox"
2960
- ]
2767
+ "docs": "The installed task-list schema/controller are trusted consumer code; publication and draft recovery come from @hachej/boring-ui-kit/text-buffer. Construct a feature with a host-authenticated ResourceClient and exact source, then pass its concrete controller to TaskListViewer. Install native tools separately on the server. No host credentials or native kernel are copied into this item. Local tarball qualification only; no hosted release endpoint is advertised."
2961
2768
  },
2962
2769
  {
2963
2770
  "name": "version-history",
@@ -2965,13 +2772,11 @@
2965
2772
  "title": "Version history rows",
2966
2773
  "description": "Shared view-only version rows and menu metadata with relative time, provenance and Current. No file reads, publication or restoration.",
2967
2774
  "dependencies": [
2968
- "@hachej/boring-files@^0.4.24",
2775
+ "@hachej/boring-files@^0.4.26",
2969
2776
  "react@^19.0.0"
2970
2777
  ],
2971
2778
  "registryDependencies": [
2972
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/theme.json",
2973
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/button.json",
2974
- "button"
2779
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/button.json"
2975
2780
  ],
2976
2781
  "files": [
2977
2782
  {
@@ -2987,24 +2792,14 @@
2987
2792
  "title": "File tree",
2988
2793
  "description": "Browse, search, upload, rename, move, delete and inspect retained versions through one revisionProvider binding. Uses the consumer's shadcn Button, dropdown-menu and dialog with shared version-history rows; Base UI style only.",
2989
2794
  "dependencies": [
2990
- "@hachej/boring-ui-kit@^0.4.24",
2991
- "@hachej/boring-files@^0.4.24",
2795
+ "@hachej/boring-ui-kit@^0.4.26",
2796
+ "@hachej/boring-files@^0.4.26",
2992
2797
  "react@^19.0.0",
2993
2798
  "lucide-react@^1.51.0"
2994
2799
  ],
2995
2800
  "registryDependencies": [
2996
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/theme.json",
2997
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/utils.json",
2998
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/version-history.json",
2999
- "button",
3000
- "dialog",
3001
- "dropdown-menu",
3002
- "collapsible",
3003
- "empty",
3004
- "input",
3005
- "progress",
3006
- "separator",
3007
- "sidebar"
2801
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/utils.json",
2802
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/version-history.json"
3008
2803
  ],
3009
2804
  "files": [
3010
2805
  {
@@ -3021,27 +2816,22 @@
3021
2816
  "title": "Documents: the Library, a file and its revisions",
3022
2817
  "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.",
3023
2818
  "dependencies": [
3024
- "@hachej/boring-ui-kit@^0.4.24",
3025
- "@hachej/boring-files@^0.4.24",
2819
+ "@hachej/boring-ui-kit@^0.4.26",
2820
+ "@hachej/boring-files@^0.4.26",
3026
2821
  "react@^19.0.0",
3027
2822
  "lucide-react@^1.51.0"
3028
2823
  ],
3029
2824
  "registryDependencies": [
3030
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/theme.json",
3031
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/utils.json",
3032
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/button.json",
3033
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-artifacts.json",
3034
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-app.json",
3035
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-app-kinds.json",
3036
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/app-shell.json",
3037
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/file-tree.json",
3038
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/viewer-frame.json",
3039
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/viewer-image.json",
3040
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/viewer-pdf.json",
3041
- "drawer",
3042
- "button",
3043
- "scroll-area",
3044
- "separator"
2825
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/utils.json",
2826
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/button.json",
2827
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-artifacts.json",
2828
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-app.json",
2829
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-app-kinds.json",
2830
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/app-shell.json",
2831
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/file-tree.json",
2832
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/viewer-frame.json",
2833
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/viewer-image.json",
2834
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/viewer-pdf.json"
3045
2835
  ],
3046
2836
  "files": [
3047
2837
  {
@@ -3077,19 +2867,15 @@
3077
2867
  "title": "Point and dictate on app data",
3078
2868
  "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.",
3079
2869
  "dependencies": [
3080
- "@hachej/boring-ui-kit@^0.4.24",
3081
- "@hachej/boring-feedback@^0.4.24",
2870
+ "@hachej/boring-ui-kit@^0.4.26",
2871
+ "@hachej/boring-feedback@^0.4.26",
3082
2872
  "@earendil-works/pi-durable@~1.2.0",
3083
2873
  "react@^19.0.0",
3084
2874
  "react-dom@^19.0.0"
3085
2875
  ],
3086
2876
  "registryDependencies": [
3087
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/app-shell.json",
3088
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/pi-chat.json",
3089
- "button",
3090
- "card",
3091
- "message",
3092
- "bubble"
2877
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/app-shell.json",
2878
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-chat.json"
3093
2879
  ],
3094
2880
  "files": [
3095
2881
  {
@@ -3110,15 +2896,7 @@
3110
2896
  "title": "Requests board",
3111
2897
  "description": "Host-fed compact requests and responsive list/detail with questions and decisions.",
3112
2898
  "registryDependencies": [
3113
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/utils.json",
3114
- "badge",
3115
- "button",
3116
- "input",
3117
- "toggle-group",
3118
- "item",
3119
- "empty",
3120
- "textarea",
3121
- "card"
2899
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/utils.json"
3122
2900
  ],
3123
2901
  "files": [
3124
2902
  {
@@ -3147,18 +2925,13 @@
3147
2925
  "title": "Anchored highlights",
3148
2926
  "description": "Exact Markdown highlights and comments in a conditional workspace sidecar.",
3149
2927
  "dependencies": [
3150
- "@hachej/boring-ui-kit@^0.4.24",
3151
- "@hachej/boring-files@^0.4.24",
2928
+ "@hachej/boring-ui-kit@^0.4.26",
2929
+ "@hachej/boring-files@^0.4.26",
3152
2930
  "react@^19.0.0",
3153
2931
  "react-dom@^19.0.0"
3154
2932
  ],
3155
2933
  "registryDependencies": [
3156
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/markdown-editor.json",
3157
- "button",
3158
- "textarea",
3159
- "label",
3160
- "item",
3161
- "dropdown-menu"
2934
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/markdown-editor.json"
3162
2935
  ],
3163
2936
  "files": [
3164
2937
  {
@@ -3179,12 +2952,7 @@
3179
2952
  "lucide-react@^1.51.0"
3180
2953
  ],
3181
2954
  "registryDependencies": [
3182
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.24/r/utils.json",
3183
- "button",
3184
- "card",
3185
- "badge",
3186
- "drawer",
3187
- "dropdown-menu"
2955
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/utils.json"
3188
2956
  ],
3189
2957
  "files": [
3190
2958
  {