@hachej/boring-ui-kit 0.4.25 → 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 (74) hide show
  1. package/README.md +26 -2
  2. package/dist/chat-artifacts.d.ts +157 -0
  3. package/dist/chat-artifacts.js +274 -0
  4. package/dist/chat-react-controller.d.ts +25 -0
  5. package/dist/chat-react-controller.js +72 -0
  6. package/dist/chat-react-conversations.d.ts +40 -0
  7. package/dist/chat-react-conversations.js +68 -0
  8. package/dist/chat-react-draft.d.ts +11 -0
  9. package/dist/chat-react-draft.js +91 -0
  10. package/dist/chat-react-remote.d.ts +33 -0
  11. package/dist/chat-react-remote.js +72 -0
  12. package/dist/chat-react-transcript.d.ts +39 -0
  13. package/dist/chat-react-transcript.js +123 -0
  14. package/dist/chat-react.d.ts +60 -0
  15. package/dist/chat-react.js +94 -0
  16. package/dist/chat-text.d.ts +122 -0
  17. package/dist/chat-text.js +216 -0
  18. package/dist/chat-view.d.ts +2 -17
  19. package/dist/chat-view.js +1 -0
  20. package/dist/run-notifications.d.ts +42 -0
  21. package/dist/run-notifications.js +67 -0
  22. package/dist/shared-chat/index.d.ts +1 -1
  23. package/dist/shared-chat/index.js +5 -4
  24. package/dist/voice-capture.d.ts +12 -0
  25. package/dist/voice-capture.js +17 -2
  26. package/package.json +10 -2
  27. package/r/agent-target.json +5 -9
  28. package/r/app-shell.json +16 -25
  29. package/r/board-viewer.json +7 -11
  30. package/r/button.json +2 -9
  31. package/r/diagram-viewer.json +0 -5
  32. package/r/dock.json +2 -2
  33. package/r/documents.json +13 -18
  34. package/r/feedback-preview.json +1 -7
  35. package/r/feedback.json +12 -19
  36. package/r/file-tree.json +4 -14
  37. package/r/highlights.json +4 -9
  38. package/r/html-viewer.json +3 -3
  39. package/r/looks-viewer.json +2 -6
  40. package/r/maquette-viewer.json +2 -20
  41. package/r/markdown-editor.json +4 -7
  42. package/r/mockup-viewer.json +2 -5
  43. package/r/pi-ambient.json +11 -19
  44. package/r/pi-app-kinds.json +10 -10
  45. package/r/pi-app.json +16 -26
  46. package/r/pi-artifacts.json +3 -4
  47. package/r/pi-chat-approval.json +2 -5
  48. package/r/pi-chat-attachments.json +2 -4
  49. package/r/pi-chat-markdown.json +3 -5
  50. package/r/pi-chat-mentions.json +2 -3
  51. package/r/pi-chat-pickers.json +2 -4
  52. package/r/pi-chat-plugins.json +11 -11
  53. package/r/pi-chat-question.json +1 -7
  54. package/r/pi-chat-slash.json +3 -6
  55. package/r/pi-chat-subagent.json +3 -8
  56. package/r/pi-chat-voice.json +6 -9
  57. package/r/pi-chat.json +17 -45
  58. package/r/pi-workspace.json +4 -7
  59. package/r/placed-agent.json +4 -5
  60. package/r/provider-setup.json +2 -8
  61. package/r/record-viewer.json +0 -9
  62. package/r/registry.json +163 -396
  63. package/r/requests-board.json +2 -10
  64. package/r/shared-chat.json +9 -23
  65. package/r/task-list-viewer.json +3 -9
  66. package/r/version-history.json +3 -5
  67. package/r/viewer-code.json +2 -3
  68. package/r/viewer-frame.json +7 -15
  69. package/r/viewer-html.json +4 -5
  70. package/r/viewer-image.json +3 -4
  71. package/r/viewer-markdown.json +6 -8
  72. package/r/viewer-pdf.json +5 -7
  73. package/r/viewers.json +6 -6
  74. 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.25/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.25",
185
- "@hachej/boring-files@^0.4.25",
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.25/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.25",
354
- "@hachej/boring-files@^0.4.25",
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.25/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.25",
412
- "@hachej/boring-files@^0.4.25",
413
- "@hachej/boring-feedback@^0.4.25",
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.25/r/utils.json",
427
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/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.25/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.25/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.25/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.25/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.25",
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.25/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.25/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.25/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,16 +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": [
838
- "@hachej/boring-ui-kit@^0.4.25",
781
+ "@hachej/boring-ui-kit@^0.4.26",
839
782
  "react@^19.0.0",
840
783
  "lucide-react@^1.51.0",
841
784
  "@earendil-works/pi-ai@~1.2.0"
842
785
  ],
843
786
  "registryDependencies": [
844
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/pi-chat.json",
845
- "badge",
846
- "button",
847
- "item"
787
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-chat.json"
848
788
  ],
849
789
  "files": [
850
790
  {
@@ -865,12 +805,7 @@
865
805
  "@earendil-works/pi-ai@~1.2.0"
866
806
  ],
867
807
  "registryDependencies": [
868
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/pi-chat.json",
869
- "alert",
870
- "badge",
871
- "button",
872
- "item",
873
- "spinner"
808
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-chat.json"
874
809
  ],
875
810
  "files": [
876
811
  {
@@ -891,15 +826,14 @@
891
826
  "title": "Pi artifacts",
892
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.",
893
828
  "dependencies": [
829
+ "@hachej/boring-ui-kit@^0.4.26",
894
830
  "react@^19.0.0",
895
831
  "lucide-react@^1.51.0",
896
832
  "@earendil-works/pi-ai@~1.2.0",
897
833
  "@earendil-works/pi-durable@~1.2.0"
898
834
  ],
899
835
  "registryDependencies": [
900
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/pi-chat.json",
901
- "button",
902
- "item"
836
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/pi-chat.json"
903
837
  ],
904
838
  "files": [
905
839
  {
@@ -923,17 +857,17 @@
923
857
  "react@^19.0.0"
924
858
  ],
925
859
  "registryDependencies": [
926
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/pi-chat.json",
927
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/pi-chat-markdown.json",
928
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/pi-chat-slash.json",
929
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/pi-chat-mentions.json",
930
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/pi-chat-pickers.json",
931
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/pi-chat-voice.json",
932
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/pi-chat-attachments.json",
933
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/pi-chat-question.json",
934
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/pi-chat-approval.json",
935
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/pi-chat-subagent.json",
936
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/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"
937
871
  ],
938
872
  "files": [
939
873
  {
@@ -947,9 +881,9 @@
947
881
  "name": "pi-ambient",
948
882
  "type": "registry:block",
949
883
  "title": "Pi ambient agent",
950
- "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.",
951
885
  "dependencies": [
952
- "@hachej/boring-ui-kit@^0.4.25",
886
+ "@hachej/boring-ui-kit@^0.4.26",
953
887
  "react@^19.0.0",
954
888
  "react-dom@^19.0.0",
955
889
  "@earendil-works/pi-durable@~1.2.0",
@@ -957,21 +891,13 @@
957
891
  "lucide-react@^1.51.0"
958
892
  ],
959
893
  "registryDependencies": [
960
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/theme.json",
961
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/pi-chat.json",
962
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/pi-chat-plugins.json",
963
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/pi-chat-question.json",
964
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/pi-artifacts.json",
965
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/pi-workspace.json",
966
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/utils.json",
967
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/button.json",
968
- "message-scroller",
969
- "button",
970
- "toggle",
971
- "avatar",
972
- "badge",
973
- "card",
974
- "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"
975
901
  ],
976
902
  "files": [
977
903
  {
@@ -1000,7 +926,7 @@
1000
926
  "react@^19.0.0"
1001
927
  ],
1002
928
  "registryDependencies": [
1003
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/utils.json"
929
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/utils.json"
1004
930
  ],
1005
931
  "files": [
1006
932
  {
@@ -1020,12 +946,9 @@
1020
946
  "react-dom@^19.0.0"
1021
947
  ],
1022
948
  "registryDependencies": [
1023
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/theme.json",
1024
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/pi-chat.json",
1025
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/utils.json",
1026
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/dock.json",
1027
- "badge",
1028
- "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"
1029
952
  ],
1030
953
  "files": [
1031
954
  {
@@ -1052,10 +975,7 @@
1052
975
  "zod@^4.6.5"
1053
976
  ],
1054
977
  "registryDependencies": [
1055
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/viewer-frame.json",
1056
- "badge",
1057
- "toggle",
1058
- "tooltip"
978
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/viewer-frame.json"
1059
979
  ],
1060
980
  "files": [
1061
981
  {
@@ -1100,11 +1020,7 @@
1100
1020
  "lucide-react@^1.51.0"
1101
1021
  ],
1102
1022
  "registryDependencies": [
1103
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/mockup-viewer.json",
1104
- "alert",
1105
- "button",
1106
- "card",
1107
- "toggle-group"
1023
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/mockup-viewer.json"
1108
1024
  ],
1109
1025
  "files": [
1110
1026
  {
@@ -1133,15 +1049,6 @@
1133
1049
  "react@^19.0.0",
1134
1050
  "lucide-react@^1.51.0"
1135
1051
  ],
1136
- "registryDependencies": [
1137
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/theme.json",
1138
- "table",
1139
- "badge",
1140
- "item",
1141
- "button",
1142
- "alert",
1143
- "empty"
1144
- ],
1145
1052
  "files": [
1146
1053
  {
1147
1054
  "path": "registry/record-viewer/records.ts",
@@ -1174,11 +1081,6 @@
1174
1081
  "react@^19.0.0",
1175
1082
  "lucide-react@^1.51.0"
1176
1083
  ],
1177
- "registryDependencies": [
1178
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/theme.json",
1179
- "alert",
1180
- "badge"
1181
- ],
1182
1084
  "files": [
1183
1085
  {
1184
1086
  "path": "registry/diagram-viewer/diagram.ts",
@@ -1217,25 +1119,7 @@
1217
1119
  "lucide-react@^1.51.0"
1218
1120
  ],
1219
1121
  "registryDependencies": [
1220
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/theme.json",
1221
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/diagram-viewer.json",
1222
- "alert",
1223
- "badge",
1224
- "bubble",
1225
- "button",
1226
- "card",
1227
- "empty",
1228
- "input",
1229
- "item",
1230
- "label",
1231
- "native-select",
1232
- "separator",
1233
- "table",
1234
- "dialog",
1235
- "dropdown-menu",
1236
- "popover",
1237
- "toggle",
1238
- "tooltip"
1122
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/diagram-viewer.json"
1239
1123
  ],
1240
1124
  "files": [
1241
1125
  {
@@ -1300,20 +1184,16 @@
1300
1184
  "title": "Board viewer",
1301
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.",
1302
1186
  "dependencies": [
1303
- "@hachej/boring-ui-kit@^0.4.25",
1304
- "@hachej/boring-files@^0.4.25",
1187
+ "@hachej/boring-ui-kit@^0.4.26",
1188
+ "@hachej/boring-files@^0.4.26",
1305
1189
  "react@^19.0.0",
1306
1190
  "lucide-react@1.51.0",
1307
1191
  "tldraw@5.5.2"
1308
1192
  ],
1309
1193
  "registryDependencies": [
1310
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/maquette-viewer.json",
1311
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/mockup-viewer.json",
1312
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/pi-artifacts.json",
1313
- "button",
1314
- "alert",
1315
- "card",
1316
- "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"
1317
1197
  ],
1318
1198
  "files": [
1319
1199
  {
@@ -1349,30 +1229,16 @@
1349
1229
  "title": "Shared chat",
1350
1230
  "description": "Optional multi-party host log presentation over PiChat's generic composition seams. No agent runtime or speaking policy.",
1351
1231
  "dependencies": [
1352
- "@hachej/boring-ui-kit@^0.4.25",
1232
+ "@hachej/boring-ui-kit@^0.4.26",
1353
1233
  "react@^19.0.0",
1354
1234
  "lucide-react@^1.51.0"
1355
1235
  ],
1356
1236
  "registryDependencies": [
1357
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/pi-chat.json",
1358
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/pi-chat-plugins.json",
1359
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/pi-chat-markdown.json",
1360
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/pi-chat-mentions.json",
1361
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/theme.json",
1362
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/utils.json",
1363
- "avatar",
1364
- "badge",
1365
- "button",
1366
- "drawer",
1367
- "popover",
1368
- "separator",
1369
- "tooltip",
1370
- "trace",
1371
- "spinner",
1372
- "item",
1373
- "message",
1374
- "bubble",
1375
- "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"
1376
1242
  ],
1377
1243
  "files": [
1378
1244
  {
@@ -1428,31 +1294,21 @@
1428
1294
  "title": "Pi agent app",
1429
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).",
1430
1296
  "dependencies": [
1431
- "@hachej/boring-ui-kit@^0.4.25",
1432
- "@hachej/boring-files@^0.4.25",
1297
+ "@hachej/boring-ui-kit@^0.4.26",
1298
+ "@hachej/boring-files@^0.4.26",
1433
1299
  "react@^19.0.0",
1434
1300
  "react-dom@^19.0.0",
1435
1301
  "lucide-react@^1.51.0"
1436
1302
  ],
1437
1303
  "registryDependencies": [
1438
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/theme.json",
1439
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/pi-chat.json",
1440
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/pi-chat-plugins.json",
1441
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/pi-artifacts.json",
1442
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/pi-workspace.json",
1443
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/viewer-frame.json",
1444
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/utils.json",
1445
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/button.json",
1446
- "drawer",
1447
- "dialog",
1448
- "button",
1449
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/file-tree.json",
1450
- "dropdown-menu",
1451
- "scroll-area",
1452
- "separator",
1453
- "table",
1454
- "popover",
1455
- "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"
1456
1312
  ],
1457
1313
  "files": [
1458
1314
  {
@@ -1538,16 +1394,16 @@
1538
1394
  "title": "Pi agent app default kinds",
1539
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.",
1540
1396
  "registryDependencies": [
1541
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/pi-app.json",
1542
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/viewer-markdown.json",
1543
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/viewer-html.json",
1544
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/viewer-image.json",
1545
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/viewer-pdf.json",
1546
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/viewer-code.json",
1547
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/maquette-viewer.json",
1548
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/diagram-viewer.json",
1549
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/mockup-viewer.json",
1550
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/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"
1551
1407
  ],
1552
1408
  "files": [
1553
1409
  {
@@ -1568,11 +1424,10 @@
1568
1424
  "lucide-react@^1.51.0"
1569
1425
  ],
1570
1426
  "registryDependencies": [
1571
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/pi-app.json",
1572
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/pi-ambient.json",
1573
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/app-shell.json",
1574
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/utils.json",
1575
- "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"
1576
1431
  ],
1577
1432
  "files": [
1578
1433
  {
@@ -1588,30 +1443,21 @@
1588
1443
  "title": "App shell: layouts, list/detail and agent layer",
1589
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.",
1590
1445
  "dependencies": [
1591
- "@hachej/boring-feedback@^0.4.25",
1592
- "@hachej/boring-ui-kit@^0.4.25",
1446
+ "@hachej/boring-feedback@^0.4.26",
1447
+ "@hachej/boring-ui-kit@^0.4.26",
1593
1448
  "@base-ui/react@^1.9.0",
1594
1449
  "react@^19.0.0",
1595
1450
  "react-dom@^19.0.0",
1596
1451
  "lucide-react@^1.51.0"
1597
1452
  ],
1598
1453
  "registryDependencies": [
1599
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/pi-chat.json",
1600
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/pi-chat-plugins.json",
1601
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/pi-chat-voice.json",
1602
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/dock.json",
1603
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/feedback.json",
1604
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/utils.json",
1605
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/button.json",
1606
- "drawer",
1607
- "sidebar",
1608
- "avatar",
1609
- "dropdown-menu",
1610
- "button",
1611
- "switch",
1612
- "badge",
1613
- "card",
1614
- "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"
1615
1461
  ],
1616
1462
  "css": {
1617
1463
  "@layer base": {
@@ -1740,23 +1586,15 @@
1740
1586
  "title": "Viewer frame",
1741
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.",
1742
1588
  "dependencies": [
1743
- "@hachej/boring-ui-kit@^0.4.25",
1589
+ "@hachej/boring-ui-kit@^0.4.26",
1744
1590
  "react@^19.0.0",
1745
1591
  "react-dom@^19.0.0",
1746
1592
  "lucide-react@^1.51.0"
1747
1593
  ],
1748
1594
  "registryDependencies": [
1749
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/theme.json",
1750
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/utils.json",
1751
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/button.json",
1752
- "button",
1753
- "toggle",
1754
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/version-history.json",
1755
- "toggle-group",
1756
- "dialog",
1757
- "textarea",
1758
- "badge",
1759
- "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"
1760
1598
  ],
1761
1599
  "files": [
1762
1600
  {
@@ -2178,7 +2016,7 @@
2178
2016
  "title": "Markdown viewer",
2179
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.",
2180
2018
  "dependencies": [
2181
- "@hachej/boring-ui-kit@^0.4.25",
2019
+ "@hachej/boring-ui-kit@^0.4.26",
2182
2020
  "react@^19.0.0",
2183
2021
  "lucide-react@^1.51.0",
2184
2022
  "marked@^17.0.6",
@@ -2196,12 +2034,10 @@
2196
2034
  "@tiptap/extension-floating-menu@^3.31.4"
2197
2035
  ],
2198
2036
  "registryDependencies": [
2199
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/viewer-frame.json",
2200
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/markdown-editor.json",
2201
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/utils.json",
2202
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/button.json",
2203
- "button",
2204
- "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"
2205
2041
  ],
2206
2042
  "files": [
2207
2043
  {
@@ -2222,15 +2058,14 @@
2222
2058
  "title": "HTML viewer",
2223
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.",
2224
2060
  "dependencies": [
2225
- "@hachej/boring-ui-kit@^0.4.25",
2061
+ "@hachej/boring-ui-kit@^0.4.26",
2226
2062
  "react@^19.0.0",
2227
2063
  "lucide-react@^1.51.0"
2228
2064
  ],
2229
2065
  "registryDependencies": [
2230
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/viewer-frame.json",
2231
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/utils.json",
2232
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/button.json",
2233
- "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"
2234
2069
  ],
2235
2070
  "files": [
2236
2071
  {
@@ -2255,9 +2090,8 @@
2255
2090
  "lucide-react@^1.51.0"
2256
2091
  ],
2257
2092
  "registryDependencies": [
2258
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/viewer-frame.json",
2259
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/utils.json",
2260
- "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"
2261
2095
  ],
2262
2096
  "files": [
2263
2097
  {
@@ -2283,16 +2117,14 @@
2283
2117
  "title": "PDF viewer",
2284
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.",
2285
2119
  "dependencies": [
2286
- "@hachej/boring-files@^0.4.25",
2120
+ "@hachej/boring-files@^0.4.26",
2287
2121
  "react@^19.0.0",
2288
2122
  "lucide-react@^1.51.0",
2289
2123
  "pdfjs-dist@6.3.289"
2290
2124
  ],
2291
2125
  "registryDependencies": [
2292
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/viewer-frame.json",
2293
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/viewer-image.json",
2294
- "badge",
2295
- "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"
2296
2128
  ],
2297
2129
  "files": [
2298
2130
  {
@@ -2327,9 +2159,8 @@
2327
2159
  "lucide-react@^1.51.0"
2328
2160
  ],
2329
2161
  "registryDependencies": [
2330
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/viewer-frame.json",
2331
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/pi-chat.json",
2332
- "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"
2333
2164
  ],
2334
2165
  "files": [
2335
2166
  {
@@ -2356,12 +2187,12 @@
2356
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.",
2357
2188
  "files": [],
2358
2189
  "registryDependencies": [
2359
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/viewer-frame.json",
2360
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/viewer-markdown.json",
2361
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/viewer-html.json",
2362
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/viewer-image.json",
2363
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/viewer-pdf.json",
2364
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/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"
2365
2196
  ]
2366
2197
  },
2367
2198
  {
@@ -2375,13 +2206,7 @@
2375
2206
  "lucide-react@^1.51.0"
2376
2207
  ],
2377
2208
  "registryDependencies": [
2378
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/theme.json",
2379
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/utils.json",
2380
- "button",
2381
- "input",
2382
- "label",
2383
- "native-select",
2384
- "popover"
2209
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/utils.json"
2385
2210
  ],
2386
2211
  "files": [
2387
2212
  {
@@ -2397,9 +2222,9 @@
2397
2222
  "title": "Feedback",
2398
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.",
2399
2224
  "dependencies": [
2400
- "@hachej/boring-feedback@^0.4.25",
2401
- "@hachej/boring-ui-kit@^0.4.25",
2402
- "@hachej/boring-files@^0.4.25",
2225
+ "@hachej/boring-feedback@^0.4.26",
2226
+ "@hachej/boring-ui-kit@^0.4.26",
2227
+ "@hachej/boring-files@^0.4.26",
2403
2228
  "react@^19.0.0",
2404
2229
  "react-dom@^19.0.0",
2405
2230
  "lucide-react@^1.51.0"
@@ -2867,16 +2692,9 @@
2867
2692
  }
2868
2693
  },
2869
2694
  "registryDependencies": [
2870
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/pi-chat.json",
2871
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/pi-chat-voice.json",
2872
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/utils.json",
2873
- "button",
2874
- "toggle",
2875
- "badge",
2876
- "item",
2877
- "card",
2878
- "textarea",
2879
- "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"
2880
2698
  ]
2881
2699
  },
2882
2700
  {
@@ -2885,7 +2703,7 @@
2885
2703
  "title": "Feedback preview",
2886
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).",
2887
2705
  "dependencies": [
2888
- "@hachej/boring-feedback@^0.4.25",
2706
+ "@hachej/boring-feedback@^0.4.26",
2889
2707
  "@earendil-works/pi-ai@~1.2.0",
2890
2708
  "react@^19.0.0"
2891
2709
  ],
@@ -2895,12 +2713,6 @@
2895
2713
  "type": "registry:component",
2896
2714
  "target": "components/feedback-preview/preview-banner.tsx"
2897
2715
  }
2898
- ],
2899
- "registryDependencies": [
2900
- "button",
2901
- "card",
2902
- "badge",
2903
- "input"
2904
2716
  ]
2905
2717
  },
2906
2718
  {
@@ -2909,8 +2721,8 @@
2909
2721
  "title": "Consumer task-list viewer",
2910
2722
  "description": "A consumer-defined task-list schema and controller over the shared text buffer, with a restylable borrowed React renderer.",
2911
2723
  "dependencies": [
2912
- "@hachej/boring-ui-kit@^0.4.25",
2913
- "@hachej/boring-files@^0.4.25",
2724
+ "@hachej/boring-ui-kit@^0.4.26",
2725
+ "@hachej/boring-files@^0.4.26",
2914
2726
  "react@^19.0.0",
2915
2727
  "react-dom@^19.0.0",
2916
2728
  "zod@^4.6.5"
@@ -2952,13 +2764,7 @@
2952
2764
  "color": "var(--destructive)"
2953
2765
  }
2954
2766
  },
2955
- "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.",
2956
- "registryDependencies": [
2957
- "button",
2958
- "card",
2959
- "input",
2960
- "checkbox"
2961
- ]
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."
2962
2768
  },
2963
2769
  {
2964
2770
  "name": "version-history",
@@ -2966,13 +2772,11 @@
2966
2772
  "title": "Version history rows",
2967
2773
  "description": "Shared view-only version rows and menu metadata with relative time, provenance and Current. No file reads, publication or restoration.",
2968
2774
  "dependencies": [
2969
- "@hachej/boring-files@^0.4.25",
2775
+ "@hachej/boring-files@^0.4.26",
2970
2776
  "react@^19.0.0"
2971
2777
  ],
2972
2778
  "registryDependencies": [
2973
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/theme.json",
2974
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/button.json",
2975
- "button"
2779
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/button.json"
2976
2780
  ],
2977
2781
  "files": [
2978
2782
  {
@@ -2988,24 +2792,14 @@
2988
2792
  "title": "File tree",
2989
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.",
2990
2794
  "dependencies": [
2991
- "@hachej/boring-ui-kit@^0.4.25",
2992
- "@hachej/boring-files@^0.4.25",
2795
+ "@hachej/boring-ui-kit@^0.4.26",
2796
+ "@hachej/boring-files@^0.4.26",
2993
2797
  "react@^19.0.0",
2994
2798
  "lucide-react@^1.51.0"
2995
2799
  ],
2996
2800
  "registryDependencies": [
2997
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/theme.json",
2998
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/utils.json",
2999
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/version-history.json",
3000
- "button",
3001
- "dialog",
3002
- "dropdown-menu",
3003
- "collapsible",
3004
- "empty",
3005
- "input",
3006
- "progress",
3007
- "separator",
3008
- "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"
3009
2803
  ],
3010
2804
  "files": [
3011
2805
  {
@@ -3022,27 +2816,22 @@
3022
2816
  "title": "Documents: the Library, a file and its revisions",
3023
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.",
3024
2818
  "dependencies": [
3025
- "@hachej/boring-ui-kit@^0.4.25",
3026
- "@hachej/boring-files@^0.4.25",
2819
+ "@hachej/boring-ui-kit@^0.4.26",
2820
+ "@hachej/boring-files@^0.4.26",
3027
2821
  "react@^19.0.0",
3028
2822
  "lucide-react@^1.51.0"
3029
2823
  ],
3030
2824
  "registryDependencies": [
3031
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/theme.json",
3032
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/utils.json",
3033
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/button.json",
3034
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/pi-artifacts.json",
3035
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/pi-app.json",
3036
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/pi-app-kinds.json",
3037
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/app-shell.json",
3038
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/file-tree.json",
3039
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/viewer-frame.json",
3040
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/viewer-image.json",
3041
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/viewer-pdf.json",
3042
- "drawer",
3043
- "button",
3044
- "scroll-area",
3045
- "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"
3046
2835
  ],
3047
2836
  "files": [
3048
2837
  {
@@ -3078,19 +2867,15 @@
3078
2867
  "title": "Point and dictate on app data",
3079
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.",
3080
2869
  "dependencies": [
3081
- "@hachej/boring-ui-kit@^0.4.25",
3082
- "@hachej/boring-feedback@^0.4.25",
2870
+ "@hachej/boring-ui-kit@^0.4.26",
2871
+ "@hachej/boring-feedback@^0.4.26",
3083
2872
  "@earendil-works/pi-durable@~1.2.0",
3084
2873
  "react@^19.0.0",
3085
2874
  "react-dom@^19.0.0"
3086
2875
  ],
3087
2876
  "registryDependencies": [
3088
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/app-shell.json",
3089
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/pi-chat.json",
3090
- "button",
3091
- "card",
3092
- "message",
3093
- "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"
3094
2879
  ],
3095
2880
  "files": [
3096
2881
  {
@@ -3111,15 +2896,7 @@
3111
2896
  "title": "Requests board",
3112
2897
  "description": "Host-fed compact requests and responsive list/detail with questions and decisions.",
3113
2898
  "registryDependencies": [
3114
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/utils.json",
3115
- "badge",
3116
- "button",
3117
- "input",
3118
- "toggle-group",
3119
- "item",
3120
- "empty",
3121
- "textarea",
3122
- "card"
2899
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/utils.json"
3123
2900
  ],
3124
2901
  "files": [
3125
2902
  {
@@ -3148,18 +2925,13 @@
3148
2925
  "title": "Anchored highlights",
3149
2926
  "description": "Exact Markdown highlights and comments in a conditional workspace sidecar.",
3150
2927
  "dependencies": [
3151
- "@hachej/boring-ui-kit@^0.4.25",
3152
- "@hachej/boring-files@^0.4.25",
2928
+ "@hachej/boring-ui-kit@^0.4.26",
2929
+ "@hachej/boring-files@^0.4.26",
3153
2930
  "react@^19.0.0",
3154
2931
  "react-dom@^19.0.0"
3155
2932
  ],
3156
2933
  "registryDependencies": [
3157
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/markdown-editor.json",
3158
- "button",
3159
- "textarea",
3160
- "label",
3161
- "item",
3162
- "dropdown-menu"
2934
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/markdown-editor.json"
3163
2935
  ],
3164
2936
  "files": [
3165
2937
  {
@@ -3180,12 +2952,7 @@
3180
2952
  "lucide-react@^1.51.0"
3181
2953
  ],
3182
2954
  "registryDependencies": [
3183
- "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.25/r/utils.json",
3184
- "button",
3185
- "card",
3186
- "badge",
3187
- "drawer",
3188
- "dropdown-menu"
2955
+ "https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.26/r/utils.json"
3189
2956
  ],
3190
2957
  "files": [
3191
2958
  {