@hachej/boring-ui-kit 0.4.11 → 0.4.13
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.
- package/dist/shared-chat/socket.js +3 -1
- package/dist/shared-chat/source.d.ts +7 -1
- package/package.json +2 -2
- package/r/agent-target.json +4 -4
- package/r/app-shell.json +10 -8
- package/r/board-viewer.json +12 -6
- package/r/button.json +1 -1
- package/r/diagram-viewer.json +8 -2
- package/r/dock.json +1 -1
- package/r/documents.json +14 -12
- package/r/feedback-preview.json +1 -1
- package/r/feedback.json +7 -6
- package/r/file-tree.json +5 -5
- package/r/highlights.json +3 -3
- package/r/html-viewer.json +3 -3
- package/r/looks-viewer.json +9 -3
- package/r/maquette-viewer.json +9 -3
- package/r/markdown-editor.json +3 -3
- package/r/mockup-viewer.json +14 -2
- package/r/pi-ambient.json +11 -8
- package/r/pi-app.json +31 -18
- package/r/pi-artifacts.json +32 -0
- package/r/pi-chat-approval.json +26 -0
- package/r/pi-chat-attachments.json +25 -0
- package/r/pi-chat-markdown.json +26 -0
- package/r/pi-chat-mentions.json +23 -0
- package/r/pi-chat-pickers.json +24 -0
- package/r/pi-chat-plugins.json +31 -0
- package/r/pi-chat-question.json +29 -0
- package/r/pi-chat-slash.json +26 -0
- package/r/pi-chat-subagent.json +34 -0
- package/r/pi-chat-voice.json +39 -0
- package/r/pi-chat.json +15 -97
- package/r/pi-workspace.json +4 -4
- package/r/placed-agent.json +4 -4
- package/r/provider-setup.json +2 -2
- package/r/record-viewer.json +8 -2
- package/r/registry.json +667 -242
- package/r/requests-board.json +1 -1
- package/r/shared-chat.json +13 -9
- package/r/task-list-viewer.json +2 -2
- package/r/version-history.json +3 -3
- package/r/viewer-code.json +36 -0
- package/r/viewer-frame.json +447 -0
- package/r/viewer-html.json +32 -0
- package/r/viewer-image.json +36 -0
- package/r/viewer-markdown.json +47 -0
- package/r/viewer-pdf.json +45 -0
- package/r/viewers.json +8 -491
- package/r/windows.json +1 -1
package/r/registry.json
CHANGED
|
@@ -153,7 +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.
|
|
156
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/utils.json",
|
|
157
157
|
"dropdown-menu",
|
|
158
158
|
"button",
|
|
159
159
|
"toggle",
|
|
@@ -181,8 +181,8 @@
|
|
|
181
181
|
"title": "Markdown editor",
|
|
182
182
|
"description": "A host-owned styled wrapper over the concrete borrowed Markdown controller.",
|
|
183
183
|
"dependencies": [
|
|
184
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
185
|
-
"@hachej/boring-files@^0.4.
|
|
184
|
+
"@hachej/boring-ui-kit@^0.4.13",
|
|
185
|
+
"@hachej/boring-files@^0.4.13",
|
|
186
186
|
"react@^19.0.0",
|
|
187
187
|
"react-dom@^19.0.0",
|
|
188
188
|
"marked@^17.0.6",
|
|
@@ -338,7 +338,7 @@
|
|
|
338
338
|
},
|
|
339
339
|
"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
340
|
"registryDependencies": [
|
|
341
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
341
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/button.json",
|
|
342
342
|
"button",
|
|
343
343
|
"toggle",
|
|
344
344
|
"dropdown-menu"
|
|
@@ -350,8 +350,8 @@
|
|
|
350
350
|
"title": "HTML source and passive preview",
|
|
351
351
|
"description": "Exact HTML source editing with a reconstructed passive preview and borrowed controller. Browser security qualification remains separate.",
|
|
352
352
|
"dependencies": [
|
|
353
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
354
|
-
"@hachej/boring-files@^0.4.
|
|
353
|
+
"@hachej/boring-ui-kit@^0.4.13",
|
|
354
|
+
"@hachej/boring-files@^0.4.13",
|
|
355
355
|
"react@^19.0.0",
|
|
356
356
|
"react-dom@^19.0.0"
|
|
357
357
|
],
|
|
@@ -399,22 +399,20 @@
|
|
|
399
399
|
}
|
|
400
400
|
},
|
|
401
401
|
"registryDependencies": [
|
|
402
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
402
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/button.json"
|
|
403
403
|
]
|
|
404
404
|
},
|
|
405
405
|
{
|
|
406
406
|
"name": "pi-chat",
|
|
407
407
|
"type": "registry:block",
|
|
408
408
|
"title": "Pi chat",
|
|
409
|
-
"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
|
|
409
|
+
"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
410
|
"dependencies": [
|
|
411
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
412
|
-
"@hachej/boring-files@^0.4.
|
|
413
|
-
"@hachej/boring-feedback@^0.4.
|
|
411
|
+
"@hachej/boring-ui-kit@^0.4.13",
|
|
412
|
+
"@hachej/boring-files@^0.4.13",
|
|
413
|
+
"@hachej/boring-feedback@^0.4.13",
|
|
414
414
|
"react@^19.0.0",
|
|
415
415
|
"react-dom@^19.0.0",
|
|
416
|
-
"marked@^17.0.6",
|
|
417
|
-
"entities@^8.1.0",
|
|
418
416
|
"@base-ui/react@1.9.0",
|
|
419
417
|
"@earendil-works/pi-durable@~1.2.0",
|
|
420
418
|
"@earendil-works/chord@~1.2.0",
|
|
@@ -425,8 +423,8 @@
|
|
|
425
423
|
"zod@^4.6.5"
|
|
426
424
|
],
|
|
427
425
|
"registryDependencies": [
|
|
428
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
429
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
426
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/utils.json",
|
|
427
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/button.json",
|
|
430
428
|
"dialog",
|
|
431
429
|
"tooltip",
|
|
432
430
|
"trace",
|
|
@@ -436,8 +434,6 @@
|
|
|
436
434
|
"attachment",
|
|
437
435
|
"badge",
|
|
438
436
|
"alert",
|
|
439
|
-
"checkbox",
|
|
440
|
-
"table",
|
|
441
437
|
"card",
|
|
442
438
|
"spinner",
|
|
443
439
|
"collapsible",
|
|
@@ -464,26 +460,6 @@
|
|
|
464
460
|
"type": "registry:component",
|
|
465
461
|
"target": "components/pi-chat/activity.tsx"
|
|
466
462
|
},
|
|
467
|
-
{
|
|
468
|
-
"path": "registry/pi-chat/artifact-card.tsx",
|
|
469
|
-
"type": "registry:component",
|
|
470
|
-
"target": "components/pi-chat/artifact-card.tsx"
|
|
471
|
-
},
|
|
472
|
-
{
|
|
473
|
-
"path": "registry/pi-chat/approval-card.tsx",
|
|
474
|
-
"type": "registry:component",
|
|
475
|
-
"target": "components/pi-chat/approval-card.tsx"
|
|
476
|
-
},
|
|
477
|
-
{
|
|
478
|
-
"path": "registry/pi-chat/artifact.ts",
|
|
479
|
-
"type": "registry:lib",
|
|
480
|
-
"target": "components/pi-chat/artifact.ts"
|
|
481
|
-
},
|
|
482
|
-
{
|
|
483
|
-
"path": "registry/pi-chat/camera-sheet.tsx",
|
|
484
|
-
"type": "registry:component",
|
|
485
|
-
"target": "components/pi-chat/camera-sheet.tsx"
|
|
486
|
-
},
|
|
487
463
|
{
|
|
488
464
|
"path": "registry/pi-chat/code-block.tsx",
|
|
489
465
|
"type": "registry:component",
|
|
@@ -529,16 +505,6 @@
|
|
|
529
505
|
"type": "registry:component",
|
|
530
506
|
"target": "components/pi-chat/sent-feedback.tsx"
|
|
531
507
|
},
|
|
532
|
-
{
|
|
533
|
-
"path": "registry/pi-chat/markdown.tsx",
|
|
534
|
-
"type": "registry:component",
|
|
535
|
-
"target": "components/pi-chat/markdown.tsx"
|
|
536
|
-
},
|
|
537
|
-
{
|
|
538
|
-
"path": "registry/pi-chat/mention-menu.tsx",
|
|
539
|
-
"type": "registry:component",
|
|
540
|
-
"target": "components/pi-chat/mention-menu.tsx"
|
|
541
|
-
},
|
|
542
508
|
{
|
|
543
509
|
"path": "registry/pi-chat/message.tsx",
|
|
544
510
|
"type": "registry:component",
|
|
@@ -559,16 +525,6 @@
|
|
|
559
525
|
"type": "registry:lib",
|
|
560
526
|
"target": "components/pi-chat/picker-keyboard.ts"
|
|
561
527
|
},
|
|
562
|
-
{
|
|
563
|
-
"path": "registry/pi-chat/pickers.tsx",
|
|
564
|
-
"type": "registry:component",
|
|
565
|
-
"target": "components/pi-chat/pickers.tsx"
|
|
566
|
-
},
|
|
567
|
-
{
|
|
568
|
-
"path": "registry/pi-chat/question-card.tsx",
|
|
569
|
-
"type": "registry:component",
|
|
570
|
-
"target": "components/pi-chat/question-card.tsx"
|
|
571
|
-
},
|
|
572
528
|
{
|
|
573
529
|
"path": "registry/pi-chat/queue.tsx",
|
|
574
530
|
"type": "registry:component",
|
|
@@ -590,9 +546,9 @@
|
|
|
590
546
|
"target": "components/pi-chat/shimmer.tsx"
|
|
591
547
|
},
|
|
592
548
|
{
|
|
593
|
-
"path": "registry/pi-chat/
|
|
549
|
+
"path": "registry/pi-chat/suggestions.tsx",
|
|
594
550
|
"type": "registry:component",
|
|
595
|
-
"target": "components/pi-chat/
|
|
551
|
+
"target": "components/pi-chat/suggestions.tsx"
|
|
596
552
|
},
|
|
597
553
|
{
|
|
598
554
|
"path": "registry/pi-chat/tool.tsx",
|
|
@@ -628,31 +584,6 @@
|
|
|
628
584
|
"path": "registry/pi-chat/use-conversations.ts",
|
|
629
585
|
"type": "registry:hook",
|
|
630
586
|
"target": "components/pi-chat/use-conversations.ts"
|
|
631
|
-
},
|
|
632
|
-
{
|
|
633
|
-
"path": "registry/pi-chat/run-card.tsx",
|
|
634
|
-
"type": "registry:component",
|
|
635
|
-
"target": "components/pi-chat/run-card.tsx"
|
|
636
|
-
},
|
|
637
|
-
{
|
|
638
|
-
"path": "registry/pi-chat/subagent-card.tsx",
|
|
639
|
-
"type": "registry:component",
|
|
640
|
-
"target": "components/pi-chat/subagent-card.tsx"
|
|
641
|
-
},
|
|
642
|
-
{
|
|
643
|
-
"path": "registry/pi-chat/use-hold-to-record.ts",
|
|
644
|
-
"type": "registry:hook",
|
|
645
|
-
"target": "components/pi-chat/use-hold-to-record.ts"
|
|
646
|
-
},
|
|
647
|
-
{
|
|
648
|
-
"path": "registry/pi-chat/use-voice-message.ts",
|
|
649
|
-
"type": "registry:hook",
|
|
650
|
-
"target": "components/pi-chat/use-voice-message.ts"
|
|
651
|
-
},
|
|
652
|
-
{
|
|
653
|
-
"path": "registry/pi-chat/voice-message.tsx",
|
|
654
|
-
"type": "registry:component",
|
|
655
|
-
"target": "components/pi-chat/voice-message.tsx"
|
|
656
587
|
}
|
|
657
588
|
],
|
|
658
589
|
"css": {
|
|
@@ -722,13 +653,302 @@
|
|
|
722
653
|
}
|
|
723
654
|
}
|
|
724
655
|
},
|
|
656
|
+
{
|
|
657
|
+
"name": "pi-chat-markdown",
|
|
658
|
+
"type": "registry:block",
|
|
659
|
+
"title": "Pi chat Markdown",
|
|
660
|
+
"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
|
+
"dependencies": [
|
|
662
|
+
"react@^19.0.0",
|
|
663
|
+
"marked@^17.0.6",
|
|
664
|
+
"entities@^8.1.0"
|
|
665
|
+
],
|
|
666
|
+
"registryDependencies": [
|
|
667
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-chat.json",
|
|
668
|
+
"button",
|
|
669
|
+
"checkbox",
|
|
670
|
+
"table"
|
|
671
|
+
],
|
|
672
|
+
"files": [
|
|
673
|
+
{
|
|
674
|
+
"path": "registry/pi-chat-markdown/markdown.tsx",
|
|
675
|
+
"type": "registry:component",
|
|
676
|
+
"target": "components/pi-chat-markdown/markdown.tsx"
|
|
677
|
+
}
|
|
678
|
+
]
|
|
679
|
+
},
|
|
680
|
+
{
|
|
681
|
+
"name": "pi-chat-slash",
|
|
682
|
+
"type": "registry:block",
|
|
683
|
+
"title": "Pi chat slash menu",
|
|
684
|
+
"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
|
+
"dependencies": [
|
|
686
|
+
"react@^19.0.0",
|
|
687
|
+
"lucide-react@^1.51.0"
|
|
688
|
+
],
|
|
689
|
+
"registryDependencies": [
|
|
690
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-chat.json",
|
|
691
|
+
"badge",
|
|
692
|
+
"button",
|
|
693
|
+
"input-group",
|
|
694
|
+
"item"
|
|
695
|
+
],
|
|
696
|
+
"files": [
|
|
697
|
+
{
|
|
698
|
+
"path": "registry/pi-chat-slash/slash-menu.tsx",
|
|
699
|
+
"type": "registry:component",
|
|
700
|
+
"target": "components/pi-chat-slash/slash-menu.tsx"
|
|
701
|
+
}
|
|
702
|
+
]
|
|
703
|
+
},
|
|
704
|
+
{
|
|
705
|
+
"name": "pi-chat-mentions",
|
|
706
|
+
"type": "registry:block",
|
|
707
|
+
"title": "Pi chat mentions",
|
|
708
|
+
"description": "The composer's `@` picker for files and other mentionable things. Plug it in with `mentions={{ ...config, Picker: MentionPicker }}`; without it typing `@` opens nothing (sent mentions still show as chips).",
|
|
709
|
+
"dependencies": [
|
|
710
|
+
"react@^19.0.0",
|
|
711
|
+
"lucide-react@^1.51.0"
|
|
712
|
+
],
|
|
713
|
+
"registryDependencies": [
|
|
714
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-chat.json",
|
|
715
|
+
"item"
|
|
716
|
+
],
|
|
717
|
+
"files": [
|
|
718
|
+
{
|
|
719
|
+
"path": "registry/pi-chat-mentions/mention-menu.tsx",
|
|
720
|
+
"type": "registry:component",
|
|
721
|
+
"target": "components/pi-chat-mentions/mention-menu.tsx"
|
|
722
|
+
}
|
|
723
|
+
]
|
|
724
|
+
},
|
|
725
|
+
{
|
|
726
|
+
"name": "pi-chat-pickers",
|
|
727
|
+
"type": "registry:block",
|
|
728
|
+
"title": "Pi chat model and effort picker",
|
|
729
|
+
"description": "The composer's one model-and-effort pill. Plug it in with `model={{ ...config, Picker: ModelEffortPicker }}` (or on `effort`); without it pi-chat shows no pill.",
|
|
730
|
+
"dependencies": [
|
|
731
|
+
"react@^19.0.0",
|
|
732
|
+
"lucide-react@^1.51.0"
|
|
733
|
+
],
|
|
734
|
+
"registryDependencies": [
|
|
735
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-chat.json",
|
|
736
|
+
"button",
|
|
737
|
+
"dropdown-menu"
|
|
738
|
+
],
|
|
739
|
+
"files": [
|
|
740
|
+
{
|
|
741
|
+
"path": "registry/pi-chat-pickers/pickers.tsx",
|
|
742
|
+
"type": "registry:component",
|
|
743
|
+
"target": "components/pi-chat-pickers/pickers.tsx"
|
|
744
|
+
}
|
|
745
|
+
]
|
|
746
|
+
},
|
|
747
|
+
{
|
|
748
|
+
"name": "pi-chat-voice",
|
|
749
|
+
"type": "registry:block",
|
|
750
|
+
"title": "Pi chat voice messages",
|
|
751
|
+
"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
|
+
"dependencies": [
|
|
753
|
+
"@hachej/boring-ui-kit@^0.4.13",
|
|
754
|
+
"react@^19.0.0",
|
|
755
|
+
"lucide-react@^1.51.0"
|
|
756
|
+
],
|
|
757
|
+
"registryDependencies": [
|
|
758
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-chat.json",
|
|
759
|
+
"bubble",
|
|
760
|
+
"button",
|
|
761
|
+
"message",
|
|
762
|
+
"spinner"
|
|
763
|
+
],
|
|
764
|
+
"files": [
|
|
765
|
+
{
|
|
766
|
+
"path": "registry/pi-chat-voice/use-hold-to-record.ts",
|
|
767
|
+
"type": "registry:hook",
|
|
768
|
+
"target": "components/pi-chat-voice/use-hold-to-record.ts"
|
|
769
|
+
},
|
|
770
|
+
{
|
|
771
|
+
"path": "registry/pi-chat-voice/use-voice-message.ts",
|
|
772
|
+
"type": "registry:hook",
|
|
773
|
+
"target": "components/pi-chat-voice/use-voice-message.ts"
|
|
774
|
+
},
|
|
775
|
+
{
|
|
776
|
+
"path": "registry/pi-chat-voice/voice-message.tsx",
|
|
777
|
+
"type": "registry:component",
|
|
778
|
+
"target": "components/pi-chat-voice/voice-message.tsx"
|
|
779
|
+
}
|
|
780
|
+
]
|
|
781
|
+
},
|
|
782
|
+
{
|
|
783
|
+
"name": "pi-chat-attachments",
|
|
784
|
+
"type": "registry:block",
|
|
785
|
+
"title": "Pi chat camera",
|
|
786
|
+
"description": "The full-screen phone camera the composer's + menu opens (Take a photo). Plug it in with `attachments={{ ...config, Camera: CameraSheet }}`; without it the menu offers file upload only.",
|
|
787
|
+
"dependencies": [
|
|
788
|
+
"react@^19.0.0",
|
|
789
|
+
"react-dom@^19.0.0",
|
|
790
|
+
"lucide-react@^1.51.0"
|
|
791
|
+
],
|
|
792
|
+
"registryDependencies": [
|
|
793
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-chat.json",
|
|
794
|
+
"button",
|
|
795
|
+
"input"
|
|
796
|
+
],
|
|
797
|
+
"files": [
|
|
798
|
+
{
|
|
799
|
+
"path": "registry/pi-chat-attachments/camera-sheet.tsx",
|
|
800
|
+
"type": "registry:component",
|
|
801
|
+
"target": "components/pi-chat-attachments/camera-sheet.tsx"
|
|
802
|
+
}
|
|
803
|
+
]
|
|
804
|
+
},
|
|
805
|
+
{
|
|
806
|
+
"name": "pi-chat-question",
|
|
807
|
+
"type": "registry:block",
|
|
808
|
+
"title": "Pi chat question card",
|
|
809
|
+
"description": "The human-in-the-loop question card for `ask_user` (choices, free text, answered state). Plug it in with `cards={{ question: QuestionCard }}`; without it pi-chat shows a \"waiting for your answer\" notice with no answer UI.",
|
|
810
|
+
"dependencies": [
|
|
811
|
+
"react@^19.0.0",
|
|
812
|
+
"lucide-react@^1.51.0",
|
|
813
|
+
"@earendil-works/pi-ai@~1.2.0"
|
|
814
|
+
],
|
|
815
|
+
"registryDependencies": [
|
|
816
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-chat.json",
|
|
817
|
+
"alert",
|
|
818
|
+
"button",
|
|
819
|
+
"card",
|
|
820
|
+
"input",
|
|
821
|
+
"item",
|
|
822
|
+
"spinner"
|
|
823
|
+
],
|
|
824
|
+
"files": [
|
|
825
|
+
{
|
|
826
|
+
"path": "registry/pi-chat-question/question-card.tsx",
|
|
827
|
+
"type": "registry:component",
|
|
828
|
+
"target": "components/pi-chat-question/question-card.tsx"
|
|
829
|
+
}
|
|
830
|
+
]
|
|
831
|
+
},
|
|
832
|
+
{
|
|
833
|
+
"name": "pi-chat-approval",
|
|
834
|
+
"type": "registry:block",
|
|
835
|
+
"title": "Pi chat approval card",
|
|
836
|
+
"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
|
+
"dependencies": [
|
|
838
|
+
"react@^19.0.0",
|
|
839
|
+
"lucide-react@^1.51.0",
|
|
840
|
+
"@earendil-works/pi-ai@~1.2.0"
|
|
841
|
+
],
|
|
842
|
+
"registryDependencies": [
|
|
843
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-chat.json",
|
|
844
|
+
"badge",
|
|
845
|
+
"button",
|
|
846
|
+
"item"
|
|
847
|
+
],
|
|
848
|
+
"files": [
|
|
849
|
+
{
|
|
850
|
+
"path": "registry/pi-chat-approval/approval-card.tsx",
|
|
851
|
+
"type": "registry:component",
|
|
852
|
+
"target": "components/pi-chat-approval/approval-card.tsx"
|
|
853
|
+
}
|
|
854
|
+
]
|
|
855
|
+
},
|
|
856
|
+
{
|
|
857
|
+
"name": "pi-chat-subagent",
|
|
858
|
+
"type": "registry:block",
|
|
859
|
+
"title": "Pi chat sub-agent card",
|
|
860
|
+
"description": "The card for a tool call that ran a sub-agent (`delegate`, and the run card of a started run). Plug it in with `cards={{ subagent: subagentCard }}`; without it the call is an ordinary tool step.",
|
|
861
|
+
"dependencies": [
|
|
862
|
+
"react@^19.0.0",
|
|
863
|
+
"lucide-react@^1.51.0",
|
|
864
|
+
"@earendil-works/pi-ai@~1.2.0"
|
|
865
|
+
],
|
|
866
|
+
"registryDependencies": [
|
|
867
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-chat.json",
|
|
868
|
+
"alert",
|
|
869
|
+
"badge",
|
|
870
|
+
"button",
|
|
871
|
+
"item",
|
|
872
|
+
"spinner"
|
|
873
|
+
],
|
|
874
|
+
"files": [
|
|
875
|
+
{
|
|
876
|
+
"path": "registry/pi-chat-subagent/run-card.tsx",
|
|
877
|
+
"type": "registry:component",
|
|
878
|
+
"target": "components/pi-chat-subagent/run-card.tsx"
|
|
879
|
+
},
|
|
880
|
+
{
|
|
881
|
+
"path": "registry/pi-chat-subagent/subagent-card.tsx",
|
|
882
|
+
"type": "registry:component",
|
|
883
|
+
"target": "components/pi-chat-subagent/subagent-card.tsx"
|
|
884
|
+
}
|
|
885
|
+
]
|
|
886
|
+
},
|
|
887
|
+
{
|
|
888
|
+
"name": "pi-artifacts",
|
|
889
|
+
"type": "registry:block",
|
|
890
|
+
"title": "Pi artifacts",
|
|
891
|
+
"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
|
+
"dependencies": [
|
|
893
|
+
"react@^19.0.0",
|
|
894
|
+
"lucide-react@^1.51.0",
|
|
895
|
+
"@earendil-works/pi-ai@~1.2.0",
|
|
896
|
+
"@earendil-works/pi-durable@~1.2.0"
|
|
897
|
+
],
|
|
898
|
+
"registryDependencies": [
|
|
899
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-chat.json",
|
|
900
|
+
"button",
|
|
901
|
+
"item"
|
|
902
|
+
],
|
|
903
|
+
"files": [
|
|
904
|
+
{
|
|
905
|
+
"path": "registry/pi-artifacts/artifact.ts",
|
|
906
|
+
"type": "registry:lib",
|
|
907
|
+
"target": "components/pi-artifacts/artifact.ts"
|
|
908
|
+
},
|
|
909
|
+
{
|
|
910
|
+
"path": "registry/pi-artifacts/artifact-card.tsx",
|
|
911
|
+
"type": "registry:component",
|
|
912
|
+
"target": "components/pi-artifacts/artifact-card.tsx"
|
|
913
|
+
}
|
|
914
|
+
]
|
|
915
|
+
},
|
|
916
|
+
{
|
|
917
|
+
"name": "pi-chat-plugins",
|
|
918
|
+
"type": "registry:block",
|
|
919
|
+
"title": "Pi chat with every composer feature",
|
|
920
|
+
"description": "withChatPlugins(props): pi-chat with every composer feature item plugged in (Markdown, slash menu, mentions, model and effort picker, voice messages, phone camera). Components the host already passes are kept; features the host does not configure stay off. pi-app, pi-ambient, app-shell and shared-chat use it.",
|
|
921
|
+
"dependencies": [
|
|
922
|
+
"react@^19.0.0"
|
|
923
|
+
],
|
|
924
|
+
"registryDependencies": [
|
|
925
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-chat.json",
|
|
926
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-chat-markdown.json",
|
|
927
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-chat-slash.json",
|
|
928
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-chat-mentions.json",
|
|
929
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-chat-pickers.json",
|
|
930
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-chat-voice.json",
|
|
931
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-chat-attachments.json",
|
|
932
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-chat-question.json",
|
|
933
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-chat-approval.json",
|
|
934
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-chat-subagent.json",
|
|
935
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-artifacts.json"
|
|
936
|
+
],
|
|
937
|
+
"files": [
|
|
938
|
+
{
|
|
939
|
+
"path": "registry/pi-chat-plugins/chat-plugins.ts",
|
|
940
|
+
"type": "registry:lib",
|
|
941
|
+
"target": "components/pi-chat-plugins/chat-plugins.ts"
|
|
942
|
+
}
|
|
943
|
+
]
|
|
944
|
+
},
|
|
725
945
|
{
|
|
726
946
|
"name": "pi-ambient",
|
|
727
947
|
"type": "registry:block",
|
|
728
948
|
"title": "Pi ambient agent",
|
|
729
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.",
|
|
730
950
|
"dependencies": [
|
|
731
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
951
|
+
"@hachej/boring-ui-kit@^0.4.13",
|
|
732
952
|
"react@^19.0.0",
|
|
733
953
|
"react-dom@^19.0.0",
|
|
734
954
|
"@earendil-works/pi-durable@~1.2.0",
|
|
@@ -736,11 +956,14 @@
|
|
|
736
956
|
"lucide-react@^1.51.0"
|
|
737
957
|
],
|
|
738
958
|
"registryDependencies": [
|
|
739
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
740
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
741
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
742
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
743
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
959
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/theme.json",
|
|
960
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-chat.json",
|
|
961
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-chat-plugins.json",
|
|
962
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-chat-question.json",
|
|
963
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-artifacts.json",
|
|
964
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-workspace.json",
|
|
965
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/utils.json",
|
|
966
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/button.json",
|
|
744
967
|
"message-scroller",
|
|
745
968
|
"button",
|
|
746
969
|
"toggle",
|
|
@@ -776,7 +999,7 @@
|
|
|
776
999
|
"react@^19.0.0"
|
|
777
1000
|
],
|
|
778
1001
|
"registryDependencies": [
|
|
779
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1002
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/utils.json"
|
|
780
1003
|
],
|
|
781
1004
|
"files": [
|
|
782
1005
|
{
|
|
@@ -796,10 +1019,10 @@
|
|
|
796
1019
|
"react-dom@^19.0.0"
|
|
797
1020
|
],
|
|
798
1021
|
"registryDependencies": [
|
|
799
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
800
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
801
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
802
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1022
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/theme.json",
|
|
1023
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-chat.json",
|
|
1024
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/utils.json",
|
|
1025
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/dock.json",
|
|
803
1026
|
"badge",
|
|
804
1027
|
"card"
|
|
805
1028
|
],
|
|
@@ -828,7 +1051,7 @@
|
|
|
828
1051
|
"zod@^4.6.5"
|
|
829
1052
|
],
|
|
830
1053
|
"registryDependencies": [
|
|
831
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1054
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/viewer-frame.json",
|
|
832
1055
|
"badge",
|
|
833
1056
|
"toggle",
|
|
834
1057
|
"tooltip"
|
|
@@ -853,6 +1076,16 @@
|
|
|
853
1076
|
"path": "registry/mockup-viewer/mockup-tailwind.ts",
|
|
854
1077
|
"type": "registry:lib",
|
|
855
1078
|
"target": "components/mockup-viewer/mockup-tailwind.ts"
|
|
1079
|
+
},
|
|
1080
|
+
{
|
|
1081
|
+
"path": "registry/mockup-viewer/mockup-path.ts",
|
|
1082
|
+
"type": "registry:lib",
|
|
1083
|
+
"target": "components/mockup-viewer/mockup-path.ts"
|
|
1084
|
+
},
|
|
1085
|
+
{
|
|
1086
|
+
"path": "registry/mockup-viewer/mockup-kind.tsx",
|
|
1087
|
+
"type": "registry:component",
|
|
1088
|
+
"target": "components/mockup-viewer/mockup-kind.tsx"
|
|
856
1089
|
}
|
|
857
1090
|
]
|
|
858
1091
|
},
|
|
@@ -866,7 +1099,7 @@
|
|
|
866
1099
|
"lucide-react@^1.51.0"
|
|
867
1100
|
],
|
|
868
1101
|
"registryDependencies": [
|
|
869
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1102
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/mockup-viewer.json",
|
|
870
1103
|
"alert",
|
|
871
1104
|
"button",
|
|
872
1105
|
"card",
|
|
@@ -882,6 +1115,11 @@
|
|
|
882
1115
|
"path": "registry/looks-viewer/looks.ts",
|
|
883
1116
|
"type": "registry:lib",
|
|
884
1117
|
"target": "components/looks-viewer/looks.ts"
|
|
1118
|
+
},
|
|
1119
|
+
{
|
|
1120
|
+
"path": "registry/looks-viewer/looks-kind.tsx",
|
|
1121
|
+
"type": "registry:component",
|
|
1122
|
+
"target": "components/looks-viewer/looks-kind.tsx"
|
|
885
1123
|
}
|
|
886
1124
|
]
|
|
887
1125
|
},
|
|
@@ -895,7 +1133,7 @@
|
|
|
895
1133
|
"lucide-react@^1.51.0"
|
|
896
1134
|
],
|
|
897
1135
|
"registryDependencies": [
|
|
898
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1136
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/theme.json",
|
|
899
1137
|
"table",
|
|
900
1138
|
"badge",
|
|
901
1139
|
"item",
|
|
@@ -918,6 +1156,11 @@
|
|
|
918
1156
|
"path": "registry/record-viewer/record-viewer.tsx",
|
|
919
1157
|
"type": "registry:component",
|
|
920
1158
|
"target": "components/record-viewer/record-viewer.tsx"
|
|
1159
|
+
},
|
|
1160
|
+
{
|
|
1161
|
+
"path": "registry/record-viewer/records-kind.tsx",
|
|
1162
|
+
"type": "registry:component",
|
|
1163
|
+
"target": "components/record-viewer/records-kind.tsx"
|
|
921
1164
|
}
|
|
922
1165
|
]
|
|
923
1166
|
},
|
|
@@ -931,7 +1174,7 @@
|
|
|
931
1174
|
"lucide-react@^1.51.0"
|
|
932
1175
|
],
|
|
933
1176
|
"registryDependencies": [
|
|
934
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1177
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/theme.json",
|
|
935
1178
|
"alert",
|
|
936
1179
|
"badge"
|
|
937
1180
|
],
|
|
@@ -955,6 +1198,11 @@
|
|
|
955
1198
|
"path": "registry/diagram-viewer/diagram-viewer.tsx",
|
|
956
1199
|
"type": "registry:component",
|
|
957
1200
|
"target": "components/diagram-viewer/diagram-viewer.tsx"
|
|
1201
|
+
},
|
|
1202
|
+
{
|
|
1203
|
+
"path": "registry/diagram-viewer/diagram-kind.tsx",
|
|
1204
|
+
"type": "registry:component",
|
|
1205
|
+
"target": "components/diagram-viewer/diagram-kind.tsx"
|
|
958
1206
|
}
|
|
959
1207
|
]
|
|
960
1208
|
},
|
|
@@ -968,8 +1216,8 @@
|
|
|
968
1216
|
"lucide-react@^1.51.0"
|
|
969
1217
|
],
|
|
970
1218
|
"registryDependencies": [
|
|
971
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
972
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1219
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/theme.json",
|
|
1220
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/diagram-viewer.json",
|
|
973
1221
|
"alert",
|
|
974
1222
|
"badge",
|
|
975
1223
|
"bubble",
|
|
@@ -1008,6 +1256,11 @@
|
|
|
1008
1256
|
"path": "registry/maquette-viewer/maquette-viewer.tsx",
|
|
1009
1257
|
"type": "registry:component",
|
|
1010
1258
|
"target": "components/maquette-viewer/maquette-viewer.tsx"
|
|
1259
|
+
},
|
|
1260
|
+
{
|
|
1261
|
+
"path": "registry/maquette-viewer/maquette-kind.tsx",
|
|
1262
|
+
"type": "registry:component",
|
|
1263
|
+
"target": "components/maquette-viewer/maquette-kind.tsx"
|
|
1011
1264
|
}
|
|
1012
1265
|
],
|
|
1013
1266
|
"css": {
|
|
@@ -1046,16 +1299,16 @@
|
|
|
1046
1299
|
"title": "Board viewer",
|
|
1047
1300
|
"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.",
|
|
1048
1301
|
"dependencies": [
|
|
1049
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
1050
|
-
"@hachej/boring-files@^0.4.
|
|
1302
|
+
"@hachej/boring-ui-kit@^0.4.13",
|
|
1303
|
+
"@hachej/boring-files@^0.4.13",
|
|
1051
1304
|
"react@^19.0.0",
|
|
1052
1305
|
"lucide-react@1.51.0",
|
|
1053
1306
|
"tldraw@5.5.2"
|
|
1054
1307
|
],
|
|
1055
1308
|
"registryDependencies": [
|
|
1056
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1057
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1058
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1309
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/maquette-viewer.json",
|
|
1310
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/mockup-viewer.json",
|
|
1311
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-artifacts.json",
|
|
1059
1312
|
"button",
|
|
1060
1313
|
"alert",
|
|
1061
1314
|
"card",
|
|
@@ -1081,6 +1334,11 @@
|
|
|
1081
1334
|
"path": "registry/board-viewer/board-props.ts",
|
|
1082
1335
|
"type": "registry:lib",
|
|
1083
1336
|
"target": "components/board-viewer/board-props.ts"
|
|
1337
|
+
},
|
|
1338
|
+
{
|
|
1339
|
+
"path": "registry/board-viewer/board-kind.tsx",
|
|
1340
|
+
"type": "registry:component",
|
|
1341
|
+
"target": "components/board-viewer/board-kind.tsx"
|
|
1084
1342
|
}
|
|
1085
1343
|
]
|
|
1086
1344
|
},
|
|
@@ -1090,18 +1348,22 @@
|
|
|
1090
1348
|
"title": "Shared chat",
|
|
1091
1349
|
"description": "Optional multi-party host log presentation over PiChat's generic composition seams. No agent runtime or speaking policy.",
|
|
1092
1350
|
"dependencies": [
|
|
1093
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
1351
|
+
"@hachej/boring-ui-kit@^0.4.13",
|
|
1094
1352
|
"react@^19.0.0",
|
|
1095
1353
|
"lucide-react@^1.51.0"
|
|
1096
1354
|
],
|
|
1097
1355
|
"registryDependencies": [
|
|
1098
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1099
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1356
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-chat.json",
|
|
1357
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-chat-plugins.json",
|
|
1358
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-chat-markdown.json",
|
|
1359
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-chat-mentions.json",
|
|
1360
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/theme.json",
|
|
1100
1361
|
"avatar",
|
|
1101
1362
|
"badge",
|
|
1102
1363
|
"button",
|
|
1103
1364
|
"drawer",
|
|
1104
1365
|
"popover",
|
|
1366
|
+
"separator",
|
|
1105
1367
|
"tooltip",
|
|
1106
1368
|
"trace",
|
|
1107
1369
|
"spinner",
|
|
@@ -1159,27 +1421,34 @@
|
|
|
1159
1421
|
"title": "Pi agent app",
|
|
1160
1422
|
"description": "AgentWorkspace: a whole agent page in one component. Left: the sessions pane (search, New, rename, archive, delete; collapsible, a drawer on a narrow screen). Center: PiChat. Right: the artifact viewers (artifact panel with versions, file viewer, auto-open of new artifacts) in the ArtifactWorkspace panel, a full-screen sheet on a phone. layout=\"embedded\" drops the left column for one compact top bar (title, History, Library, New) that joins an app-shell screen header. Props are data and callbacks; hooks for the conversations handler (useConversations), the chat transport (useRemoteChat) and saved resources (useSaved).",
|
|
1161
1423
|
"dependencies": [
|
|
1162
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
1163
|
-
"@hachej/boring-files@^0.4.
|
|
1424
|
+
"@hachej/boring-ui-kit@^0.4.13",
|
|
1425
|
+
"@hachej/boring-files@^0.4.13",
|
|
1164
1426
|
"react@^19.0.0",
|
|
1165
1427
|
"react-dom@^19.0.0",
|
|
1166
1428
|
"lucide-react@^1.51.0"
|
|
1167
1429
|
],
|
|
1168
1430
|
"registryDependencies": [
|
|
1169
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1170
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1171
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1172
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1173
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1174
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1175
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1176
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1177
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1178
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1431
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/theme.json",
|
|
1432
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-chat.json",
|
|
1433
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-chat-plugins.json",
|
|
1434
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-artifacts.json",
|
|
1435
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-workspace.json",
|
|
1436
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/viewer-frame.json",
|
|
1437
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/viewer-markdown.json",
|
|
1438
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/viewer-html.json",
|
|
1439
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/viewer-image.json",
|
|
1440
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/viewer-pdf.json",
|
|
1441
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/viewer-code.json",
|
|
1442
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/maquette-viewer.json",
|
|
1443
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/diagram-viewer.json",
|
|
1444
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/mockup-viewer.json",
|
|
1445
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/record-viewer.json",
|
|
1446
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/utils.json",
|
|
1447
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/button.json",
|
|
1179
1448
|
"drawer",
|
|
1180
1449
|
"dialog",
|
|
1181
1450
|
"button",
|
|
1182
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1451
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/file-tree.json",
|
|
1183
1452
|
"dropdown-menu",
|
|
1184
1453
|
"scroll-area",
|
|
1185
1454
|
"separator",
|
|
@@ -1257,6 +1526,11 @@
|
|
|
1257
1526
|
"path": "registry/pi-app/use-revision-attachments.ts",
|
|
1258
1527
|
"type": "registry:hook",
|
|
1259
1528
|
"target": "components/pi-app/use-revision-attachments.ts"
|
|
1529
|
+
},
|
|
1530
|
+
{
|
|
1531
|
+
"path": "registry/pi-app/viewer-kinds.tsx",
|
|
1532
|
+
"type": "registry:component",
|
|
1533
|
+
"target": "components/pi-app/viewer-kinds.tsx"
|
|
1260
1534
|
}
|
|
1261
1535
|
]
|
|
1262
1536
|
},
|
|
@@ -1271,10 +1545,10 @@
|
|
|
1271
1545
|
"lucide-react@^1.51.0"
|
|
1272
1546
|
],
|
|
1273
1547
|
"registryDependencies": [
|
|
1274
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1275
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1276
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1277
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1548
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-app.json",
|
|
1549
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-ambient.json",
|
|
1550
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/app-shell.json",
|
|
1551
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/utils.json",
|
|
1278
1552
|
"button"
|
|
1279
1553
|
],
|
|
1280
1554
|
"files": [
|
|
@@ -1291,19 +1565,21 @@
|
|
|
1291
1565
|
"title": "App shell: layouts, list/detail and agent layer",
|
|
1292
1566
|
"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.",
|
|
1293
1567
|
"dependencies": [
|
|
1294
|
-
"@hachej/boring-feedback@^0.4.
|
|
1295
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
1568
|
+
"@hachej/boring-feedback@^0.4.13",
|
|
1569
|
+
"@hachej/boring-ui-kit@^0.4.13",
|
|
1296
1570
|
"@base-ui/react@^1.9.0",
|
|
1297
1571
|
"react@^19.0.0",
|
|
1298
1572
|
"react-dom@^19.0.0",
|
|
1299
1573
|
"lucide-react@^1.51.0"
|
|
1300
1574
|
],
|
|
1301
1575
|
"registryDependencies": [
|
|
1302
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1303
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1304
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1305
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1306
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1576
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-chat.json",
|
|
1577
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-chat-plugins.json",
|
|
1578
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-chat-voice.json",
|
|
1579
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/dock.json",
|
|
1580
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/feedback.json",
|
|
1581
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/utils.json",
|
|
1582
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/button.json",
|
|
1307
1583
|
"drawer",
|
|
1308
1584
|
"sidebar",
|
|
1309
1585
|
"avatar",
|
|
@@ -1436,115 +1712,69 @@
|
|
|
1436
1712
|
]
|
|
1437
1713
|
},
|
|
1438
1714
|
{
|
|
1439
|
-
"name": "
|
|
1715
|
+
"name": "viewer-frame",
|
|
1440
1716
|
"type": "registry:component",
|
|
1441
|
-
"title": "
|
|
1442
|
-
"description": "The standard viewer top bar (title, status, viewer controls, Refresh, Share, Copy, Download, Open in new tab, Close, overflow menu)
|
|
1717
|
+
"title": "Viewer frame",
|
|
1718
|
+
"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.",
|
|
1443
1719
|
"dependencies": [
|
|
1444
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
1445
|
-
"@hachej/boring-files@^0.4.11",
|
|
1720
|
+
"@hachej/boring-ui-kit@^0.4.13",
|
|
1446
1721
|
"react@^19.0.0",
|
|
1447
1722
|
"react-dom@^19.0.0",
|
|
1448
|
-
"
|
|
1449
|
-
"@tiptap/core@^3.31.4",
|
|
1450
|
-
"@tiptap/react@^3.31.4",
|
|
1451
|
-
"@tiptap/pm@^3.31.4",
|
|
1452
|
-
"@tiptap/starter-kit@^3.31.4",
|
|
1453
|
-
"@tiptap/markdown@^3.31.4",
|
|
1454
|
-
"@tiptap/extensions@^3.31.4",
|
|
1455
|
-
"@tiptap/extension-list@^3.31.4",
|
|
1456
|
-
"@tiptap/extension-table@^3.31.4",
|
|
1457
|
-
"@tiptap/extension-image@^3.31.4",
|
|
1458
|
-
"@tiptap/extension-highlight@^3.31.4",
|
|
1459
|
-
"@tiptap/extension-bubble-menu@^3.31.4",
|
|
1460
|
-
"@tiptap/extension-floating-menu@^3.31.4",
|
|
1461
|
-
"lucide-react@^1.51.0",
|
|
1462
|
-
"pdfjs-dist@6.3.289"
|
|
1723
|
+
"lucide-react@^1.51.0"
|
|
1463
1724
|
],
|
|
1464
1725
|
"registryDependencies": [
|
|
1465
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1466
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1467
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1726
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/theme.json",
|
|
1727
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/utils.json",
|
|
1728
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/button.json",
|
|
1468
1729
|
"button",
|
|
1469
1730
|
"toggle",
|
|
1470
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1731
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/version-history.json",
|
|
1471
1732
|
"toggle-group",
|
|
1472
1733
|
"dialog",
|
|
1473
1734
|
"textarea",
|
|
1474
1735
|
"badge",
|
|
1475
|
-
"dropdown-menu"
|
|
1476
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.11/r/markdown-editor.json"
|
|
1736
|
+
"dropdown-menu"
|
|
1477
1737
|
],
|
|
1478
1738
|
"files": [
|
|
1479
1739
|
{
|
|
1480
|
-
"path": "registry/
|
|
1740
|
+
"path": "registry/viewer-frame/download.ts",
|
|
1481
1741
|
"type": "registry:lib",
|
|
1482
|
-
"target": "components/
|
|
1483
|
-
},
|
|
1484
|
-
{
|
|
1485
|
-
"path": "registry/viewers/html-pane.tsx",
|
|
1486
|
-
"type": "registry:component",
|
|
1487
|
-
"target": "components/viewers/html-pane.tsx"
|
|
1488
|
-
},
|
|
1489
|
-
{
|
|
1490
|
-
"path": "registry/viewers/image-pane.tsx",
|
|
1491
|
-
"type": "registry:component",
|
|
1492
|
-
"target": "components/viewers/image-pane.tsx"
|
|
1493
|
-
},
|
|
1494
|
-
{
|
|
1495
|
-
"path": "registry/viewers/interactive-html.tsx",
|
|
1496
|
-
"type": "registry:component",
|
|
1497
|
-
"target": "components/viewers/interactive-html.tsx"
|
|
1498
|
-
},
|
|
1499
|
-
{
|
|
1500
|
-
"path": "registry/viewers/local-file-viewer.tsx",
|
|
1501
|
-
"type": "registry:component",
|
|
1502
|
-
"target": "components/viewers/local-file-viewer.tsx"
|
|
1742
|
+
"target": "components/viewer-frame/download.ts"
|
|
1503
1743
|
},
|
|
1504
1744
|
{
|
|
1505
|
-
"path": "registry/
|
|
1745
|
+
"path": "registry/viewer-frame/interactive-html.tsx",
|
|
1506
1746
|
"type": "registry:component",
|
|
1507
|
-
"target": "components/
|
|
1747
|
+
"target": "components/viewer-frame/interactive-html.tsx"
|
|
1508
1748
|
},
|
|
1509
1749
|
{
|
|
1510
|
-
"path": "registry/
|
|
1750
|
+
"path": "registry/viewer-frame/media.ts",
|
|
1511
1751
|
"type": "registry:lib",
|
|
1512
|
-
"target": "components/
|
|
1513
|
-
},
|
|
1514
|
-
{
|
|
1515
|
-
"path": "registry/viewers/menu.tsx",
|
|
1516
|
-
"type": "registry:component",
|
|
1517
|
-
"target": "components/viewers/menu.tsx"
|
|
1518
|
-
},
|
|
1519
|
-
{
|
|
1520
|
-
"path": "registry/viewers/pdf-pane.tsx",
|
|
1521
|
-
"type": "registry:component",
|
|
1522
|
-
"target": "components/viewers/pdf-pane.tsx"
|
|
1752
|
+
"target": "components/viewer-frame/media.ts"
|
|
1523
1753
|
},
|
|
1524
1754
|
{
|
|
1525
|
-
"path": "registry/
|
|
1755
|
+
"path": "registry/viewer-frame/menu.tsx",
|
|
1526
1756
|
"type": "registry:component",
|
|
1527
|
-
"target": "components/
|
|
1757
|
+
"target": "components/viewer-frame/menu.tsx"
|
|
1528
1758
|
},
|
|
1529
1759
|
{
|
|
1530
|
-
"path": "registry/
|
|
1760
|
+
"path": "registry/viewer-frame/share.ts",
|
|
1531
1761
|
"type": "registry:lib",
|
|
1532
|
-
"target": "components/
|
|
1762
|
+
"target": "components/viewer-frame/share.ts"
|
|
1533
1763
|
},
|
|
1534
1764
|
{
|
|
1535
|
-
"path": "registry/
|
|
1765
|
+
"path": "registry/viewer-frame/viewer-frame.tsx",
|
|
1536
1766
|
"type": "registry:component",
|
|
1537
|
-
"target": "components/
|
|
1767
|
+
"target": "components/viewer-frame/viewer-frame.tsx"
|
|
1538
1768
|
},
|
|
1539
1769
|
{
|
|
1540
|
-
"path": "registry/
|
|
1770
|
+
"path": "registry/viewer-frame/viewer-window.ts",
|
|
1541
1771
|
"type": "registry:lib",
|
|
1542
|
-
"target": "components/
|
|
1772
|
+
"target": "components/viewer-frame/viewer-window.ts"
|
|
1543
1773
|
},
|
|
1544
1774
|
{
|
|
1545
|
-
"path": "registry/
|
|
1775
|
+
"path": "registry/viewer-frame/viewer-labels-fr.ts",
|
|
1546
1776
|
"type": "registry:lib",
|
|
1547
|
-
"target": "components/
|
|
1777
|
+
"target": "components/viewer-frame/viewer-labels-fr.ts"
|
|
1548
1778
|
}
|
|
1549
1779
|
],
|
|
1550
1780
|
"css": {
|
|
@@ -1919,6 +2149,198 @@
|
|
|
1919
2149
|
}
|
|
1920
2150
|
}
|
|
1921
2151
|
},
|
|
2152
|
+
{
|
|
2153
|
+
"name": "viewer-markdown",
|
|
2154
|
+
"type": "registry:component",
|
|
2155
|
+
"title": "Markdown viewer",
|
|
2156
|
+
"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.",
|
|
2157
|
+
"dependencies": [
|
|
2158
|
+
"@hachej/boring-ui-kit@^0.4.13",
|
|
2159
|
+
"react@^19.0.0",
|
|
2160
|
+
"lucide-react@^1.51.0",
|
|
2161
|
+
"marked@^17.0.6",
|
|
2162
|
+
"@tiptap/core@^3.31.4",
|
|
2163
|
+
"@tiptap/react@^3.31.4",
|
|
2164
|
+
"@tiptap/pm@^3.31.4",
|
|
2165
|
+
"@tiptap/starter-kit@^3.31.4",
|
|
2166
|
+
"@tiptap/markdown@^3.31.4",
|
|
2167
|
+
"@tiptap/extensions@^3.31.4",
|
|
2168
|
+
"@tiptap/extension-list@^3.31.4",
|
|
2169
|
+
"@tiptap/extension-table@^3.31.4",
|
|
2170
|
+
"@tiptap/extension-image@^3.31.4",
|
|
2171
|
+
"@tiptap/extension-highlight@^3.31.4",
|
|
2172
|
+
"@tiptap/extension-bubble-menu@^3.31.4",
|
|
2173
|
+
"@tiptap/extension-floating-menu@^3.31.4"
|
|
2174
|
+
],
|
|
2175
|
+
"registryDependencies": [
|
|
2176
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/viewer-frame.json",
|
|
2177
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/markdown-editor.json",
|
|
2178
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/utils.json",
|
|
2179
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/button.json",
|
|
2180
|
+
"button",
|
|
2181
|
+
"dropdown-menu"
|
|
2182
|
+
],
|
|
2183
|
+
"files": [
|
|
2184
|
+
{
|
|
2185
|
+
"path": "registry/viewer-markdown/markdown-kind.ts",
|
|
2186
|
+
"type": "registry:lib",
|
|
2187
|
+
"target": "components/viewer-markdown/markdown-kind.ts"
|
|
2188
|
+
},
|
|
2189
|
+
{
|
|
2190
|
+
"path": "registry/viewer-markdown/markdown-pane.tsx",
|
|
2191
|
+
"type": "registry:component",
|
|
2192
|
+
"target": "components/viewer-markdown/markdown-pane.tsx"
|
|
2193
|
+
}
|
|
2194
|
+
]
|
|
2195
|
+
},
|
|
2196
|
+
{
|
|
2197
|
+
"name": "viewer-html",
|
|
2198
|
+
"type": "registry:component",
|
|
2199
|
+
"title": "HTML viewer",
|
|
2200
|
+
"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.",
|
|
2201
|
+
"dependencies": [
|
|
2202
|
+
"@hachej/boring-ui-kit@^0.4.13",
|
|
2203
|
+
"react@^19.0.0",
|
|
2204
|
+
"lucide-react@^1.51.0"
|
|
2205
|
+
],
|
|
2206
|
+
"registryDependencies": [
|
|
2207
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/viewer-frame.json",
|
|
2208
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/utils.json",
|
|
2209
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/button.json",
|
|
2210
|
+
"button"
|
|
2211
|
+
],
|
|
2212
|
+
"files": [
|
|
2213
|
+
{
|
|
2214
|
+
"path": "registry/viewer-html/html-kind.ts",
|
|
2215
|
+
"type": "registry:lib",
|
|
2216
|
+
"target": "components/viewer-html/html-kind.ts"
|
|
2217
|
+
},
|
|
2218
|
+
{
|
|
2219
|
+
"path": "registry/viewer-html/html-pane.tsx",
|
|
2220
|
+
"type": "registry:component",
|
|
2221
|
+
"target": "components/viewer-html/html-pane.tsx"
|
|
2222
|
+
}
|
|
2223
|
+
]
|
|
2224
|
+
},
|
|
2225
|
+
{
|
|
2226
|
+
"name": "viewer-image",
|
|
2227
|
+
"type": "registry:component",
|
|
2228
|
+
"title": "Image viewer",
|
|
2229
|
+
"description": "The image kind: `imageKind` (match on PNG, JPEG, GIF, WebP and SVG, loader) and `ImagePane`, zoom and pan in the viewer frame. The pane loads the first time an image opens.",
|
|
2230
|
+
"dependencies": [
|
|
2231
|
+
"react@^19.0.0",
|
|
2232
|
+
"lucide-react@^1.51.0"
|
|
2233
|
+
],
|
|
2234
|
+
"registryDependencies": [
|
|
2235
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/viewer-frame.json",
|
|
2236
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/utils.json",
|
|
2237
|
+
"button"
|
|
2238
|
+
],
|
|
2239
|
+
"files": [
|
|
2240
|
+
{
|
|
2241
|
+
"path": "registry/viewer-image/image-kind.ts",
|
|
2242
|
+
"type": "registry:lib",
|
|
2243
|
+
"target": "components/viewer-image/image-kind.ts"
|
|
2244
|
+
},
|
|
2245
|
+
{
|
|
2246
|
+
"path": "registry/viewer-image/image-types.ts",
|
|
2247
|
+
"type": "registry:lib",
|
|
2248
|
+
"target": "components/viewer-image/image-types.ts"
|
|
2249
|
+
},
|
|
2250
|
+
{
|
|
2251
|
+
"path": "registry/viewer-image/image-pane.tsx",
|
|
2252
|
+
"type": "registry:component",
|
|
2253
|
+
"target": "components/viewer-image/image-pane.tsx"
|
|
2254
|
+
}
|
|
2255
|
+
]
|
|
2256
|
+
},
|
|
2257
|
+
{
|
|
2258
|
+
"name": "viewer-pdf",
|
|
2259
|
+
"type": "registry:component",
|
|
2260
|
+
"title": "PDF viewer",
|
|
2261
|
+
"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.",
|
|
2262
|
+
"dependencies": [
|
|
2263
|
+
"@hachej/boring-files@^0.4.13",
|
|
2264
|
+
"react@^19.0.0",
|
|
2265
|
+
"lucide-react@^1.51.0",
|
|
2266
|
+
"pdfjs-dist@6.3.289"
|
|
2267
|
+
],
|
|
2268
|
+
"registryDependencies": [
|
|
2269
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/viewer-frame.json",
|
|
2270
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/viewer-image.json",
|
|
2271
|
+
"badge",
|
|
2272
|
+
"button"
|
|
2273
|
+
],
|
|
2274
|
+
"files": [
|
|
2275
|
+
{
|
|
2276
|
+
"path": "registry/viewer-pdf/pdf-kind.ts",
|
|
2277
|
+
"type": "registry:lib",
|
|
2278
|
+
"target": "components/viewer-pdf/pdf-kind.ts"
|
|
2279
|
+
},
|
|
2280
|
+
{
|
|
2281
|
+
"path": "registry/viewer-pdf/pdf-pane.tsx",
|
|
2282
|
+
"type": "registry:component",
|
|
2283
|
+
"target": "components/viewer-pdf/pdf-pane.tsx"
|
|
2284
|
+
},
|
|
2285
|
+
{
|
|
2286
|
+
"path": "registry/viewer-pdf/pdf-pages.tsx",
|
|
2287
|
+
"type": "registry:component",
|
|
2288
|
+
"target": "components/viewer-pdf/pdf-pages.tsx"
|
|
2289
|
+
},
|
|
2290
|
+
{
|
|
2291
|
+
"path": "registry/viewer-pdf/local-file-viewer.tsx",
|
|
2292
|
+
"type": "registry:component",
|
|
2293
|
+
"target": "components/viewer-pdf/local-file-viewer.tsx"
|
|
2294
|
+
}
|
|
2295
|
+
]
|
|
2296
|
+
},
|
|
2297
|
+
{
|
|
2298
|
+
"name": "viewer-code",
|
|
2299
|
+
"type": "registry:component",
|
|
2300
|
+
"title": "Code viewers",
|
|
2301
|
+
"description": "The SVG and CSV kinds: `svgKind` (a preview from a blob URL, or its source) and `csvKind` (a table), drawn inside the artifact panel's bar. Each view loads the first time its artifact opens; other code stays in the panel's code block.",
|
|
2302
|
+
"dependencies": [
|
|
2303
|
+
"react@^19.0.0",
|
|
2304
|
+
"lucide-react@^1.51.0"
|
|
2305
|
+
],
|
|
2306
|
+
"registryDependencies": [
|
|
2307
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/viewer-frame.json",
|
|
2308
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-chat.json",
|
|
2309
|
+
"table"
|
|
2310
|
+
],
|
|
2311
|
+
"files": [
|
|
2312
|
+
{
|
|
2313
|
+
"path": "registry/viewer-code/code-kinds.ts",
|
|
2314
|
+
"type": "registry:lib",
|
|
2315
|
+
"target": "components/viewer-code/code-kinds.ts"
|
|
2316
|
+
},
|
|
2317
|
+
{
|
|
2318
|
+
"path": "registry/viewer-code/svg-view.tsx",
|
|
2319
|
+
"type": "registry:component",
|
|
2320
|
+
"target": "components/viewer-code/svg-view.tsx"
|
|
2321
|
+
},
|
|
2322
|
+
{
|
|
2323
|
+
"path": "registry/viewer-code/csv-table.tsx",
|
|
2324
|
+
"type": "registry:component",
|
|
2325
|
+
"target": "components/viewer-code/csv-table.tsx"
|
|
2326
|
+
}
|
|
2327
|
+
]
|
|
2328
|
+
},
|
|
2329
|
+
{
|
|
2330
|
+
"name": "viewers",
|
|
2331
|
+
"type": "registry:component",
|
|
2332
|
+
"title": "Viewers",
|
|
2333
|
+
"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.",
|
|
2334
|
+
"files": [],
|
|
2335
|
+
"registryDependencies": [
|
|
2336
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/viewer-frame.json",
|
|
2337
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/viewer-markdown.json",
|
|
2338
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/viewer-html.json",
|
|
2339
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/viewer-image.json",
|
|
2340
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/viewer-pdf.json",
|
|
2341
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/viewer-code.json"
|
|
2342
|
+
]
|
|
2343
|
+
},
|
|
1922
2344
|
{
|
|
1923
2345
|
"name": "provider-setup",
|
|
1924
2346
|
"type": "registry:component",
|
|
@@ -1930,8 +2352,8 @@
|
|
|
1930
2352
|
"lucide-react@^1.51.0"
|
|
1931
2353
|
],
|
|
1932
2354
|
"registryDependencies": [
|
|
1933
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1934
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2355
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/theme.json",
|
|
2356
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/utils.json",
|
|
1935
2357
|
"button",
|
|
1936
2358
|
"input",
|
|
1937
2359
|
"label",
|
|
@@ -1952,9 +2374,9 @@
|
|
|
1952
2374
|
"title": "Feedback",
|
|
1953
2375
|
"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.",
|
|
1954
2376
|
"dependencies": [
|
|
1955
|
-
"@hachej/boring-feedback@^0.4.
|
|
1956
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
1957
|
-
"@hachej/boring-files@^0.4.
|
|
2377
|
+
"@hachej/boring-feedback@^0.4.13",
|
|
2378
|
+
"@hachej/boring-ui-kit@^0.4.13",
|
|
2379
|
+
"@hachej/boring-files@^0.4.13",
|
|
1958
2380
|
"react@^19.0.0",
|
|
1959
2381
|
"react-dom@^19.0.0",
|
|
1960
2382
|
"lucide-react@^1.51.0"
|
|
@@ -2422,8 +2844,9 @@
|
|
|
2422
2844
|
}
|
|
2423
2845
|
},
|
|
2424
2846
|
"registryDependencies": [
|
|
2425
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2426
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2847
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-chat.json",
|
|
2848
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-chat-voice.json",
|
|
2849
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/utils.json",
|
|
2427
2850
|
"button",
|
|
2428
2851
|
"toggle",
|
|
2429
2852
|
"badge",
|
|
@@ -2439,7 +2862,7 @@
|
|
|
2439
2862
|
"title": "Feedback preview",
|
|
2440
2863
|
"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).",
|
|
2441
2864
|
"dependencies": [
|
|
2442
|
-
"@hachej/boring-feedback@^0.4.
|
|
2865
|
+
"@hachej/boring-feedback@^0.4.13",
|
|
2443
2866
|
"@earendil-works/pi-ai@~1.2.0",
|
|
2444
2867
|
"react@^19.0.0"
|
|
2445
2868
|
],
|
|
@@ -2463,8 +2886,8 @@
|
|
|
2463
2886
|
"title": "Consumer task-list viewer",
|
|
2464
2887
|
"description": "A consumer-defined task-list schema and controller over the shared text buffer, with a restylable borrowed React renderer.",
|
|
2465
2888
|
"dependencies": [
|
|
2466
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
2467
|
-
"@hachej/boring-files@^0.4.
|
|
2889
|
+
"@hachej/boring-ui-kit@^0.4.13",
|
|
2890
|
+
"@hachej/boring-files@^0.4.13",
|
|
2468
2891
|
"react@^19.0.0",
|
|
2469
2892
|
"react-dom@^19.0.0",
|
|
2470
2893
|
"zod@^4.6.5"
|
|
@@ -2520,12 +2943,12 @@
|
|
|
2520
2943
|
"title": "Version history rows",
|
|
2521
2944
|
"description": "Shared view-only version rows and menu metadata with relative time, provenance and Current. No file reads, publication or restoration.",
|
|
2522
2945
|
"dependencies": [
|
|
2523
|
-
"@hachej/boring-files@^0.4.
|
|
2946
|
+
"@hachej/boring-files@^0.4.13",
|
|
2524
2947
|
"react@^19.0.0"
|
|
2525
2948
|
],
|
|
2526
2949
|
"registryDependencies": [
|
|
2527
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2528
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2950
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/theme.json",
|
|
2951
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/button.json",
|
|
2529
2952
|
"button"
|
|
2530
2953
|
],
|
|
2531
2954
|
"files": [
|
|
@@ -2542,15 +2965,15 @@
|
|
|
2542
2965
|
"title": "File tree",
|
|
2543
2966
|
"description": "Browse, search, upload and inspect retained versions through one revisionProvider binding. Uses the consumer's shadcn Button and dropdown-menu with shared version-history rows; Base UI style only.",
|
|
2544
2967
|
"dependencies": [
|
|
2545
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
2546
|
-
"@hachej/boring-files@^0.4.
|
|
2968
|
+
"@hachej/boring-ui-kit@^0.4.13",
|
|
2969
|
+
"@hachej/boring-files@^0.4.13",
|
|
2547
2970
|
"react@^19.0.0",
|
|
2548
2971
|
"lucide-react@^1.51.0"
|
|
2549
2972
|
],
|
|
2550
2973
|
"registryDependencies": [
|
|
2551
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2552
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2553
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2974
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/theme.json",
|
|
2975
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/utils.json",
|
|
2976
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/version-history.json",
|
|
2554
2977
|
"button",
|
|
2555
2978
|
"dropdown-menu",
|
|
2556
2979
|
"collapsible",
|
|
@@ -2575,20 +2998,22 @@
|
|
|
2575
2998
|
"title": "Documents: the Library, a file and its revisions",
|
|
2576
2999
|
"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.",
|
|
2577
3000
|
"dependencies": [
|
|
2578
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
2579
|
-
"@hachej/boring-files@^0.4.
|
|
3001
|
+
"@hachej/boring-ui-kit@^0.4.13",
|
|
3002
|
+
"@hachej/boring-files@^0.4.13",
|
|
2580
3003
|
"react@^19.0.0",
|
|
2581
3004
|
"lucide-react@^1.51.0"
|
|
2582
3005
|
],
|
|
2583
3006
|
"registryDependencies": [
|
|
2584
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2585
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2586
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2587
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2588
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2589
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2590
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2591
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
3007
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/theme.json",
|
|
3008
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/utils.json",
|
|
3009
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/button.json",
|
|
3010
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-artifacts.json",
|
|
3011
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-app.json",
|
|
3012
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/app-shell.json",
|
|
3013
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/file-tree.json",
|
|
3014
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/viewer-frame.json",
|
|
3015
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/viewer-image.json",
|
|
3016
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/viewer-pdf.json",
|
|
2592
3017
|
"drawer",
|
|
2593
3018
|
"button",
|
|
2594
3019
|
"scroll-area",
|
|
@@ -2628,15 +3053,15 @@
|
|
|
2628
3053
|
"title": "Point and dictate on app data",
|
|
2629
3054
|
"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.",
|
|
2630
3055
|
"dependencies": [
|
|
2631
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
2632
|
-
"@hachej/boring-feedback@^0.4.
|
|
3056
|
+
"@hachej/boring-ui-kit@^0.4.13",
|
|
3057
|
+
"@hachej/boring-feedback@^0.4.13",
|
|
2633
3058
|
"@earendil-works/pi-durable@~1.2.0",
|
|
2634
3059
|
"react@^19.0.0",
|
|
2635
3060
|
"react-dom@^19.0.0"
|
|
2636
3061
|
],
|
|
2637
3062
|
"registryDependencies": [
|
|
2638
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2639
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
3063
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/app-shell.json",
|
|
3064
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/pi-chat.json",
|
|
2640
3065
|
"button",
|
|
2641
3066
|
"card",
|
|
2642
3067
|
"message",
|
|
@@ -2661,7 +3086,7 @@
|
|
|
2661
3086
|
"title": "Requests board",
|
|
2662
3087
|
"description": "Host-fed compact requests and responsive list/detail with questions and decisions.",
|
|
2663
3088
|
"registryDependencies": [
|
|
2664
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
3089
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/utils.json",
|
|
2665
3090
|
"badge",
|
|
2666
3091
|
"button",
|
|
2667
3092
|
"input",
|
|
@@ -2698,13 +3123,13 @@
|
|
|
2698
3123
|
"title": "Anchored highlights",
|
|
2699
3124
|
"description": "Exact Markdown highlights and comments in a conditional workspace sidecar.",
|
|
2700
3125
|
"dependencies": [
|
|
2701
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
2702
|
-
"@hachej/boring-files@^0.4.
|
|
3126
|
+
"@hachej/boring-ui-kit@^0.4.13",
|
|
3127
|
+
"@hachej/boring-files@^0.4.13",
|
|
2703
3128
|
"react@^19.0.0",
|
|
2704
3129
|
"react-dom@^19.0.0"
|
|
2705
3130
|
],
|
|
2706
3131
|
"registryDependencies": [
|
|
2707
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
3132
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/markdown-editor.json",
|
|
2708
3133
|
"button",
|
|
2709
3134
|
"textarea",
|
|
2710
3135
|
"label",
|
|
@@ -2730,7 +3155,7 @@
|
|
|
2730
3155
|
"lucide-react@^1.51.0"
|
|
2731
3156
|
],
|
|
2732
3157
|
"registryDependencies": [
|
|
2733
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
3158
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.13/r/utils.json",
|
|
2734
3159
|
"button",
|
|
2735
3160
|
"card",
|
|
2736
3161
|
"badge",
|