@aigentyc/chat-sdk 0.2.5 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/bin/aigentyc.mjs +10 -4
  2. package/bin/lib/skill.mjs +84 -0
  3. package/claude-skill/README.md +32 -0
  4. package/claude-skill/aigentyc-chat-sdk/SKILL.md +339 -0
  5. package/context7.json +1 -1
  6. package/dist/ChatInterface-B0zbA3Lm.d.cts +64 -0
  7. package/dist/ChatInterface-f8ftS56n.d.ts +64 -0
  8. package/dist/{SlotsContext-CBtt36al.d.ts → SlotsContext-BjiX1mRx.d.ts} +17 -2
  9. package/dist/{SlotsContext-CHvISDJT.d.cts → SlotsContext-CEOBjzfh.d.cts} +17 -2
  10. package/dist/ai-elements.cjs +114 -393
  11. package/dist/ai-elements.cjs.map +1 -1
  12. package/dist/ai-elements.d.cts +2 -31
  13. package/dist/ai-elements.d.ts +2 -31
  14. package/dist/ai-elements.js +9 -291
  15. package/dist/ai-elements.js.map +1 -1
  16. package/dist/{chunk-5QSXB6UL.cjs → chunk-3HGOLNGG.cjs} +13 -4
  17. package/dist/chunk-3HGOLNGG.cjs.map +1 -0
  18. package/dist/{chunk-KVEJAPWA.js → chunk-3KSMOHNY.js} +48 -62
  19. package/dist/chunk-3KSMOHNY.js.map +1 -0
  20. package/dist/chunk-4WOBNRRB.cjs +540 -0
  21. package/dist/chunk-4WOBNRRB.cjs.map +1 -0
  22. package/dist/chunk-7AZMWPKX.cjs +35 -0
  23. package/dist/chunk-7AZMWPKX.cjs.map +1 -0
  24. package/dist/chunk-B27JIQ4Z.js +528 -0
  25. package/dist/chunk-B27JIQ4Z.js.map +1 -0
  26. package/dist/{chunk-J2K7EJYP.cjs → chunk-BPV66QNM.cjs} +6 -4
  27. package/dist/chunk-BPV66QNM.cjs.map +1 -0
  28. package/dist/{chunk-FYPJSHCL.js → chunk-FPQ3UCCJ.js} +6 -4
  29. package/dist/chunk-FPQ3UCCJ.js.map +1 -0
  30. package/dist/{chunk-7L4FS6G7.js → chunk-JHWSG5IB.js} +17 -3
  31. package/dist/chunk-JHWSG5IB.js.map +1 -0
  32. package/dist/{chunk-4FBVV64J.js → chunk-M4YRNNGB.js} +13 -4
  33. package/dist/chunk-M4YRNNGB.js.map +1 -0
  34. package/dist/{chunk-QDFPJJ5Y.cjs → chunk-OU5OZKYH.cjs} +50 -65
  35. package/dist/chunk-OU5OZKYH.cjs.map +1 -0
  36. package/dist/{chunk-MC6QDYB6.cjs → chunk-PPCGZ5MP.cjs} +166 -67
  37. package/dist/chunk-PPCGZ5MP.cjs.map +1 -0
  38. package/dist/{chunk-U3FXVLUK.js → chunk-PQCGQ32Q.js} +84 -4
  39. package/dist/chunk-PQCGQ32Q.js.map +1 -0
  40. package/dist/{chunk-FOZXDUSZ.js → chunk-SWKWHBBN.js} +151 -54
  41. package/dist/chunk-SWKWHBBN.js.map +1 -0
  42. package/dist/{chunk-DMGYQ6NN.cjs → chunk-TLGZSXTU.cjs} +86 -6
  43. package/dist/chunk-TLGZSXTU.cjs.map +1 -0
  44. package/dist/{chunk-C24QG43M.cjs → chunk-TZ7EM3EG.cjs} +17 -2
  45. package/dist/chunk-TZ7EM3EG.cjs.map +1 -0
  46. package/dist/chunk-XEAAB5ZM.js +32 -0
  47. package/dist/chunk-XEAAB5ZM.js.map +1 -0
  48. package/dist/components.cjs +31 -52
  49. package/dist/components.cjs.map +1 -1
  50. package/dist/components.d.cts +4 -34
  51. package/dist/components.d.ts +4 -34
  52. package/dist/components.js +18 -42
  53. package/dist/components.js.map +1 -1
  54. package/dist/core.d.cts +2 -2
  55. package/dist/core.d.ts +2 -2
  56. package/dist/hooks.cjs +6 -6
  57. package/dist/hooks.d.cts +2 -2
  58. package/dist/hooks.d.ts +2 -2
  59. package/dist/hooks.js +2 -2
  60. package/dist/i18n.d.cts +1 -1
  61. package/dist/i18n.d.ts +1 -1
  62. package/dist/index.cjs +45 -23
  63. package/dist/index.cjs.map +1 -1
  64. package/dist/index.d.cts +51 -6
  65. package/dist/index.d.ts +51 -6
  66. package/dist/index.js +17 -10
  67. package/dist/index.js.map +1 -1
  68. package/dist/llms-full.txt +194 -14
  69. package/dist/message-feedback-BFh3-qym.d.cts +92 -0
  70. package/dist/message-feedback-cWR0NVok.d.ts +92 -0
  71. package/dist/normalize-KzCLLqpU.d.cts +42 -0
  72. package/dist/normalize-KzCLLqpU.d.ts +42 -0
  73. package/dist/styles.css +1 -1
  74. package/dist/theme.d.cts +1 -1
  75. package/dist/theme.d.ts +1 -1
  76. package/dist/tools.cjs +14 -5
  77. package/dist/tools.d.cts +3 -2
  78. package/dist/tools.d.ts +3 -2
  79. package/dist/tools.js +3 -2
  80. package/dist/{types-DKJ_-nbG.d.cts → types-DlNwk-bG.d.cts} +33 -3
  81. package/dist/{types-DKJ_-nbG.d.ts → types-DlNwk-bG.d.ts} +33 -3
  82. package/dist/ui.cjs +45 -45
  83. package/dist/ui.js +2 -2
  84. package/llms.txt +175 -5
  85. package/package.json +2 -1
  86. package/dist/chunk-4FBVV64J.js.map +0 -1
  87. package/dist/chunk-5QSXB6UL.cjs.map +0 -1
  88. package/dist/chunk-7L4FS6G7.js.map +0 -1
  89. package/dist/chunk-A7PCSWIK.js +0 -219
  90. package/dist/chunk-A7PCSWIK.js.map +0 -1
  91. package/dist/chunk-C24QG43M.cjs.map +0 -1
  92. package/dist/chunk-DMGYQ6NN.cjs.map +0 -1
  93. package/dist/chunk-FOZXDUSZ.js.map +0 -1
  94. package/dist/chunk-FYPJSHCL.js.map +0 -1
  95. package/dist/chunk-J2K7EJYP.cjs.map +0 -1
  96. package/dist/chunk-KVEJAPWA.js.map +0 -1
  97. package/dist/chunk-MC6QDYB6.cjs.map +0 -1
  98. package/dist/chunk-QDFPJJ5Y.cjs.map +0 -1
  99. package/dist/chunk-RTVEBPAJ.cjs +0 -230
  100. package/dist/chunk-RTVEBPAJ.cjs.map +0 -1
  101. package/dist/chunk-U3FXVLUK.js.map +0 -1
@@ -1,12 +1,12 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkRTVEBPAJ_cjs = require('./chunk-RTVEBPAJ.cjs');
4
+ var chunk4WOBNRRB_cjs = require('./chunk-4WOBNRRB.cjs');
5
5
  require('./chunk-X7R334SB.cjs');
6
- var chunk3MP2EGEJ_cjs = require('./chunk-3MP2EGEJ.cjs');
6
+ require('./chunk-3MP2EGEJ.cjs');
7
7
  var chunkJOO6C3XT_cjs = require('./chunk-JOO6C3XT.cjs');
8
- var chunkQDFPJJ5Y_cjs = require('./chunk-QDFPJJ5Y.cjs');
9
- var chunkC24QG43M_cjs = require('./chunk-C24QG43M.cjs');
8
+ var chunkOU5OZKYH_cjs = require('./chunk-OU5OZKYH.cjs');
9
+ var chunkTZ7EM3EG_cjs = require('./chunk-TZ7EM3EG.cjs');
10
10
  var chunkAWAJOSFP_cjs = require('./chunk-AWAJOSFP.cjs');
11
11
  var chunk525KS5HM_cjs = require('./chunk-525KS5HM.cjs');
12
12
  var reactSlot = require('@radix-ui/react-slot');
@@ -137,14 +137,14 @@ var MessageAction = ({
137
137
  size = "icon-sm",
138
138
  ...props
139
139
  }) => {
140
- const button = /* @__PURE__ */ jsxRuntime.jsxs(chunkC24QG43M_cjs.Button, { size, type: "button", variant, ...props, children: [
140
+ const button = /* @__PURE__ */ jsxRuntime.jsxs(chunkTZ7EM3EG_cjs.Button, { size, type: "button", variant, ...props, children: [
141
141
  children,
142
142
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: label || tooltip })
143
143
  ] });
144
144
  if (tooltip) {
145
- return /* @__PURE__ */ jsxRuntime.jsx(chunkQDFPJJ5Y_cjs.TooltipProvider, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkQDFPJJ5Y_cjs.Tooltip, { children: [
146
- /* @__PURE__ */ jsxRuntime.jsx(chunkQDFPJJ5Y_cjs.TooltipTrigger, { asChild: true, children: button }),
147
- /* @__PURE__ */ jsxRuntime.jsx(chunkQDFPJJ5Y_cjs.TooltipContent, { children: /* @__PURE__ */ jsxRuntime.jsx("p", { children: tooltip }) })
145
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkOU5OZKYH_cjs.TooltipProvider, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkOU5OZKYH_cjs.Tooltip, { children: [
146
+ /* @__PURE__ */ jsxRuntime.jsx(chunkOU5OZKYH_cjs.TooltipTrigger, { asChild: true, children: button }),
147
+ /* @__PURE__ */ jsxRuntime.jsx(chunkOU5OZKYH_cjs.TooltipContent, { children: /* @__PURE__ */ jsxRuntime.jsx("p", { children: tooltip }) })
148
148
  ] }) });
149
149
  }
150
150
  return button;
@@ -245,7 +245,7 @@ var MessageBranchPrevious = ({
245
245
  }) => {
246
246
  const { goToPrevious, totalBranches } = useMessageBranch();
247
247
  return /* @__PURE__ */ jsxRuntime.jsx(
248
- chunkC24QG43M_cjs.Button,
248
+ chunkTZ7EM3EG_cjs.Button,
249
249
  {
250
250
  "aria-label": "Previous branch",
251
251
  disabled: totalBranches <= 1,
@@ -265,7 +265,7 @@ var MessageBranchNext = ({
265
265
  }) => {
266
266
  const { goToNext, totalBranches } = useMessageBranch();
267
267
  return /* @__PURE__ */ jsxRuntime.jsx(
268
- chunkC24QG43M_cjs.Button,
268
+ chunkTZ7EM3EG_cjs.Button,
269
269
  {
270
270
  "aria-label": "Next branch",
271
271
  disabled: totalBranches <= 1,
@@ -417,7 +417,7 @@ function MessageAttachment({
417
417
  }
418
418
  ),
419
419
  onRemove && /* @__PURE__ */ jsxRuntime.jsxs(
420
- chunkC24QG43M_cjs.Button,
420
+ chunkTZ7EM3EG_cjs.Button,
421
421
  {
422
422
  "aria-label": "Remove attachment",
423
423
  className: "absolute top-2 right-2 size-6 rounded-full bg-background/80 p-0 opacity-0 backdrop-blur-sm transition-opacity hover:bg-background group-hover:opacity-100 [&>svg]:size-3",
@@ -434,12 +434,12 @@ function MessageAttachment({
434
434
  }
435
435
  )
436
436
  ] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
437
- /* @__PURE__ */ jsxRuntime.jsxs(chunkQDFPJJ5Y_cjs.Tooltip, { children: [
438
- /* @__PURE__ */ jsxRuntime.jsx(chunkQDFPJJ5Y_cjs.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex size-full shrink-0 items-center justify-center rounded-lg bg-muted text-muted-foreground", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.PaperclipIcon, { className: "size-4" }) }) }),
439
- /* @__PURE__ */ jsxRuntime.jsx(chunkQDFPJJ5Y_cjs.TooltipContent, { children: /* @__PURE__ */ jsxRuntime.jsx("p", { children: attachmentLabel }) })
437
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkOU5OZKYH_cjs.Tooltip, { children: [
438
+ /* @__PURE__ */ jsxRuntime.jsx(chunkOU5OZKYH_cjs.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex size-full shrink-0 items-center justify-center rounded-lg bg-muted text-muted-foreground", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.PaperclipIcon, { className: "size-4" }) }) }),
439
+ /* @__PURE__ */ jsxRuntime.jsx(chunkOU5OZKYH_cjs.TooltipContent, { children: /* @__PURE__ */ jsxRuntime.jsx("p", { children: attachmentLabel }) })
440
440
  ] }),
441
441
  onRemove && /* @__PURE__ */ jsxRuntime.jsxs(
442
- chunkC24QG43M_cjs.Button,
442
+ chunkTZ7EM3EG_cjs.Button,
443
443
  {
444
444
  "aria-label": "Remove attachment",
445
445
  className: "size-6 shrink-0 rounded-full p-0 opacity-0 transition-opacity hover:bg-accent group-hover:opacity-100 [&>svg]:size-3",
@@ -494,288 +494,6 @@ var MessageToolbar = ({
494
494
  children
495
495
  }
496
496
  );
497
-
498
- // src/core/api/kb-client.ts
499
- function getDefaultEndpoint() {
500
- try {
501
- const env = undefined;
502
- if (env?.VITE_API_ENDPOINT) return env.VITE_API_ENDPOINT;
503
- } catch {
504
- }
505
- return "http://localhost:3000";
506
- }
507
- async function submitFeedback(request, apiKey, apiEndpoint) {
508
- const endpoint = apiEndpoint || getDefaultEndpoint();
509
- const headers = {
510
- "Content-Type": "application/json"
511
- };
512
- if (apiKey) {
513
- headers["Authorization"] = `Bearer ${apiKey}`;
514
- }
515
- try {
516
- const response = await fetch(`${endpoint}/api/kb/feedback`, {
517
- method: "POST",
518
- headers,
519
- credentials: "include",
520
- body: JSON.stringify(request)
521
- });
522
- if (!response.ok) {
523
- const error = await response.json().catch(() => ({ error: response.statusText }));
524
- return { success: false, error: error.error || response.statusText };
525
- }
526
- return { success: true };
527
- } catch (error) {
528
- return {
529
- success: false,
530
- error: error instanceof Error ? error.message : "Unknown error"
531
- };
532
- }
533
- }
534
- var ThumbsUpIcon = ({ className }) => /* @__PURE__ */ jsxRuntime.jsx("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", className, children: /* @__PURE__ */ jsxRuntime.jsx(
535
- "path",
536
- {
537
- d: "M7 11V19C7 19.2652 6.89464 19.5196 6.70711 19.7071C6.51957 19.8946 6.26522 20 6 20H4C3.73478 20 3.48043 19.8946 3.29289 19.7071C3.10536 19.5196 3 19.2652 3 19V12C3 11.7348 3.10536 11.4804 3.29289 11.2929C3.48043 11.1054 3.73478 11 4 11H7ZM7 11C8.06087 11 9.07828 10.5786 9.82843 9.82843C10.5786 9.07828 11 8.06087 11 7V6C11 5.46957 11.2107 4.96086 11.5858 4.58579C11.9609 4.21071 12.4696 4 13 4C13.5304 4 14.0391 4.21071 14.4142 4.58579C14.7893 4.96086 15 5.46957 15 6V11H18C18.5304 11 19.0391 11.2107 19.4142 11.5858C19.7893 11.9609 20 12.4696 20 13L19 18C18.8562 18.6135 18.5834 19.1402 18.2227 19.501C17.8619 19.8617 17.4328 20.0368 17 20H10C9.20435 20 8.44129 19.6839 7.87868 19.1213C7.31607 18.5587 7 17.7956 7 17",
538
- stroke: "currentColor",
539
- strokeWidth: "1.5",
540
- strokeLinecap: "round",
541
- strokeLinejoin: "round"
542
- }
543
- ) });
544
- var ThumbsDownIcon = ({ className }) => /* @__PURE__ */ jsxRuntime.jsx("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", className, children: /* @__PURE__ */ jsxRuntime.jsx(
545
- "path",
546
- {
547
- d: "M7 13V4.99999C7 4.73478 6.89464 4.48042 6.70711 4.29289C6.51957 4.10535 6.26522 3.99999 6 3.99999H4C3.73478 3.99999 3.48043 4.10535 3.29289 4.29289C3.10536 4.48042 3 4.73478 3 4.99999V12C3 12.2652 3.10536 12.5196 3.29289 12.7071C3.48043 12.8946 3.73478 13 4 13H7ZM7 13C8.06087 13 9.07828 13.4214 9.82843 14.1716C10.5786 14.9217 11 15.9391 11 17V18C11 18.5304 11.2107 19.0391 11.5858 19.4142C11.9609 19.7893 12.4696 20 13 20C13.5304 20 14.0391 19.7893 14.4142 19.4142C14.7893 19.0391 15 18.5304 15 18V13H18C18.5304 13 19.0391 12.7893 19.4142 12.4142C19.7893 12.0391 20 11.5304 20 11L19 5.99999C18.8562 5.38652 18.5834 4.85975 18.2227 4.49903C17.8619 4.13831 17.4328 3.96317 17 3.99999H10C9.20435 3.99999 8.44129 4.31606 7.87868 4.87867C7.31607 5.44128 7 6.20434 7 6.99999",
548
- stroke: "currentColor",
549
- strokeWidth: "1.5",
550
- strokeLinecap: "round",
551
- strokeLinejoin: "round"
552
- }
553
- ) });
554
- var REVIEW_TYPES = [
555
- { value: "wrong_answer", labelKey: "wrongAnswer" },
556
- { value: "partial_answer", labelKey: "partialAnswer" },
557
- { value: "hallucination", labelKey: "hallucination" },
558
- { value: "inappropriate_tone", labelKey: "inappropriateTone" }
559
- ];
560
- function MessageFeedback({
561
- messageId,
562
- projectId,
563
- sessionId,
564
- apiKey,
565
- apiEndpoint,
566
- textContent,
567
- trackInteraction
568
- }) {
569
- const { t } = chunk3MP2EGEJ_cjs.useI18n();
570
- const [feedback, setFeedback] = React2.useState(null);
571
- const [showReviewForm, setShowReviewForm] = React2.useState(false);
572
- const [reviewType, setReviewType] = React2.useState(null);
573
- const [reviewText, setReviewText] = React2.useState("");
574
- const [isSubmitting, setIsSubmitting] = React2.useState(false);
575
- const [copied, setCopied] = React2.useState(false);
576
- const submitFeedbackToApi = async (feedbackData) => {
577
- if (!projectId || !messageId || isSubmitting) return;
578
- setIsSubmitting(true);
579
- try {
580
- const request = {
581
- projectId,
582
- sessionId,
583
- messageId,
584
- isPositive: feedbackData.isPositive,
585
- issueType: feedbackData.reviewType,
586
- feedbackText: feedbackData.reviewText
587
- };
588
- const result = await submitFeedback(request, apiKey, apiEndpoint);
589
- if (!result.success) {
590
- console.error("Failed to submit feedback:", result.error);
591
- }
592
- } catch (error) {
593
- console.error("Failed to submit feedback:", error);
594
- } finally {
595
- setIsSubmitting(false);
596
- }
597
- };
598
- const handlePositiveFeedback = () => {
599
- if (isSubmitting) return;
600
- setFeedback("positive");
601
- setShowReviewForm(false);
602
- submitFeedbackToApi({ isPositive: true });
603
- trackInteraction?.({
604
- type: "feedback",
605
- target: "thumbs_up",
606
- label: "Positive feedback",
607
- messageId,
608
- metadata: { isPositive: true }
609
- });
610
- };
611
- const handleNegativeFeedback = () => {
612
- if (isSubmitting) return;
613
- setFeedback("negative");
614
- setShowReviewForm(true);
615
- };
616
- const handleSubmitReview = () => {
617
- if (isSubmitting) return;
618
- const feedbackData = {
619
- isPositive: false,
620
- reviewType: reviewType ?? void 0,
621
- reviewText: reviewText || void 0
622
- };
623
- setShowReviewForm(false);
624
- submitFeedbackToApi(feedbackData);
625
- trackInteraction?.({
626
- type: "feedback",
627
- target: "thumbs_down",
628
- label: "Negative feedback",
629
- messageId,
630
- metadata: { isPositive: false, reviewType, reviewText }
631
- });
632
- };
633
- const handleCancelReview = () => {
634
- setFeedback(null);
635
- setShowReviewForm(false);
636
- setReviewType(null);
637
- setReviewText("");
638
- };
639
- const handleCopy = async () => {
640
- if (typeof window === "undefined" || !navigator?.clipboard?.writeText) return;
641
- try {
642
- await navigator.clipboard.writeText(textContent);
643
- setCopied(true);
644
- setTimeout(() => setCopied(false), 2e3);
645
- trackInteraction?.({
646
- type: "copy",
647
- target: "message",
648
- label: "Copy response",
649
- messageId,
650
- metadata: { contentLength: textContent.length }
651
- });
652
- } catch (error) {
653
- console.error("Failed to copy:", error);
654
- }
655
- };
656
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-4", children: [
657
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
658
- /* @__PURE__ */ jsxRuntime.jsx(
659
- "button",
660
- {
661
- type: "button",
662
- onClick: handlePositiveFeedback,
663
- disabled: isSubmitting,
664
- className: chunk525KS5HM_cjs.cn(
665
- "group w-8 h-8 rounded-full flex items-center justify-center transition-all duration-300",
666
- feedback === "positive" ? "bg-primary/10 text-primary" : "bg-secondary text-muted-foreground hover:bg-primary/10 hover:text-primary",
667
- isSubmitting && "opacity-50 cursor-not-allowed"
668
- ),
669
- title: t("helpful"),
670
- children: /* @__PURE__ */ jsxRuntime.jsx(ThumbsUpIcon, {})
671
- }
672
- ),
673
- /* @__PURE__ */ jsxRuntime.jsx(
674
- "button",
675
- {
676
- type: "button",
677
- onClick: handleNegativeFeedback,
678
- disabled: isSubmitting,
679
- className: chunk525KS5HM_cjs.cn(
680
- "group w-8 h-8 rounded-full flex items-center justify-center transition-all duration-300",
681
- feedback === "negative" ? "bg-red-100 text-red-500" : "bg-secondary text-muted-foreground hover:bg-red-50 hover:text-red-500",
682
- isSubmitting && "opacity-50 cursor-not-allowed"
683
- ),
684
- title: t("notHelpful"),
685
- children: /* @__PURE__ */ jsxRuntime.jsx(ThumbsDownIcon, {})
686
- }
687
- ),
688
- /* @__PURE__ */ jsxRuntime.jsx(
689
- "button",
690
- {
691
- type: "button",
692
- onClick: handleCopy,
693
- className: "group w-8 h-8 rounded-full bg-secondary flex items-center justify-center text-muted-foreground hover:bg-primary/10 hover:text-primary transition-all duration-300",
694
- title: t("copyResponse"),
695
- children: copied ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "w-4 h-4 text-green-600" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Copy, { className: "w-4 h-4" })
696
- }
697
- )
698
- ] }),
699
- showReviewForm && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-4 bg-gradient-to-br from-accent to-secondary rounded-2xl border border-border overflow-hidden animate-in slide-in-from-top-2 duration-300", children: [
700
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "px-5 py-4 border-b border-border flex items-center justify-between", children: [
701
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
702
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "w-8 h-8 rounded-xl bg-card border border-border flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(ThumbsDownIcon, { className: "text-red-500" }) }),
703
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium text-sm", children: t("whatWentWrong") })
704
- ] }),
705
- /* @__PURE__ */ jsxRuntime.jsx(
706
- "button",
707
- {
708
- type: "button",
709
- onClick: handleCancelReview,
710
- className: "w-8 h-8 rounded-full bg-card border border-border flex items-center justify-center hover:border-primary transition-colors",
711
- children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "w-4 h-4" })
712
- }
713
- )
714
- ] }),
715
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-5 space-y-4", children: [
716
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-2", children: REVIEW_TYPES.map((type) => /* @__PURE__ */ jsxRuntime.jsx(
717
- "button",
718
- {
719
- type: "button",
720
- onClick: () => setReviewType(type.value),
721
- className: chunk525KS5HM_cjs.cn(
722
- "px-4 py-2 rounded-full text-xs font-medium transition-all duration-300",
723
- reviewType === type.value ? "bg-primary text-primary-foreground shadow-md shadow-primary/20" : "bg-card border border-border text-foreground hover:border-primary hover:text-primary"
724
- ),
725
- children: t(type.labelKey)
726
- },
727
- type.value
728
- )) }),
729
- /* @__PURE__ */ jsxRuntime.jsx(
730
- chunkQDFPJJ5Y_cjs.Textarea,
731
- {
732
- placeholder: t("addDetails"),
733
- value: reviewText,
734
- onChange: (e) => setReviewText(e.target.value),
735
- rows: 2,
736
- className: "text-sm resize-none rounded-xl border-border focus:border-primary focus:ring-primary/20"
737
- }
738
- ),
739
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-end", children: /* @__PURE__ */ jsxRuntime.jsxs(
740
- "button",
741
- {
742
- type: "button",
743
- onClick: handleSubmitReview,
744
- disabled: isSubmitting,
745
- className: "group relative px-5 py-2.5 bg-primary text-primary-foreground rounded-full text-sm font-medium overflow-hidden transition-all duration-300 hover:shadow-lg hover:shadow-primary/25 disabled:opacity-50 disabled:cursor-not-allowed",
746
- children: [
747
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "relative z-10", children: isSubmitting ? t("submitting") : t("submitFeedback") }),
748
- /* @__PURE__ */ jsxRuntime.jsx(
749
- "div",
750
- {
751
- className: "absolute inset-0 opacity-0 group-hover:opacity-100 transition-opacity bg-primary/90"
752
- }
753
- )
754
- ]
755
- }
756
- ) })
757
- ] })
758
- ] }),
759
- /* @__PURE__ */ jsxRuntime.jsx("style", { children: `
760
- .animate-in {
761
- animation: animateIn 0.3s ease-out;
762
- }
763
- .slide-in-from-top-2 {
764
- --tw-enter-translate-y: -0.5rem;
765
- }
766
- @keyframes animateIn {
767
- from {
768
- opacity: 0;
769
- transform: translateY(var(--tw-enter-translate-y, 0));
770
- }
771
- to {
772
- opacity: 1;
773
- transform: translateY(0);
774
- }
775
- }
776
- ` })
777
- ] });
778
- }
779
497
  var MOBILE_BREAKPOINT = 768;
780
498
  function subscribeToResize(cb) {
781
499
  if (typeof window === "undefined") return () => {
@@ -915,12 +633,12 @@ ${gridCss}`;
915
633
  {
916
634
  onClick: () => setCurrentPage((p) => Math.max(0, p - 1)),
917
635
  disabled: currentPage === 0,
918
- className: "px-3 py-1.5 text-sm rounded-md border border-gray-300 disabled:opacity-40 disabled:cursor-not-allowed hover:bg-gray-100 transition-colors",
636
+ className: "px-3 py-1.5 text-sm rounded-md border border-border disabled:opacity-40 disabled:cursor-not-allowed hover:bg-muted transition-colors",
919
637
  "aria-label": "Previous page",
920
638
  children: "\u2039"
921
639
  }
922
640
  ),
923
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-sm text-gray-600 px-2 tabular-nums", children: [
641
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-sm text-muted-foreground px-2 tabular-nums", children: [
924
642
  currentPage + 1,
925
643
  " / ",
926
644
  totalPages
@@ -930,7 +648,7 @@ ${gridCss}`;
930
648
  {
931
649
  onClick: () => setCurrentPage((p) => Math.min(totalPages - 1, p + 1)),
932
650
  disabled: currentPage >= totalPages - 1,
933
- className: "px-3 py-1.5 text-sm rounded-md border border-gray-300 disabled:opacity-40 disabled:cursor-not-allowed hover:bg-gray-100 transition-colors",
651
+ className: "px-3 py-1.5 text-sm rounded-md border border-border disabled:opacity-40 disabled:cursor-not-allowed hover:bg-muted transition-colors",
934
652
  "aria-label": "Next page",
935
653
  children: "\u203A"
936
654
  }
@@ -1042,7 +760,7 @@ var ArtifactClose = ({
1042
760
  variant = "ghost",
1043
761
  ...props
1044
762
  }) => /* @__PURE__ */ jsxRuntime.jsxs(
1045
- chunkC24QG43M_cjs.Button,
763
+ chunkTZ7EM3EG_cjs.Button,
1046
764
  {
1047
765
  className: chunk525KS5HM_cjs.cn(
1048
766
  "size-8 p-0 text-muted-foreground hover:text-foreground",
@@ -1084,7 +802,7 @@ var ArtifactAction = ({
1084
802
  ...props
1085
803
  }) => {
1086
804
  const button = /* @__PURE__ */ jsxRuntime.jsxs(
1087
- chunkC24QG43M_cjs.Button,
805
+ chunkTZ7EM3EG_cjs.Button,
1088
806
  {
1089
807
  className: chunk525KS5HM_cjs.cn(
1090
808
  "size-8 p-0 text-muted-foreground hover:text-foreground",
@@ -1101,9 +819,9 @@ var ArtifactAction = ({
1101
819
  }
1102
820
  );
1103
821
  if (tooltip) {
1104
- return /* @__PURE__ */ jsxRuntime.jsx(chunkQDFPJJ5Y_cjs.TooltipProvider, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkQDFPJJ5Y_cjs.Tooltip, { children: [
1105
- /* @__PURE__ */ jsxRuntime.jsx(chunkQDFPJJ5Y_cjs.TooltipTrigger, { asChild: true, children: button }),
1106
- /* @__PURE__ */ jsxRuntime.jsx(chunkQDFPJJ5Y_cjs.TooltipContent, { children: /* @__PURE__ */ jsxRuntime.jsx("p", { children: tooltip }) })
822
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkOU5OZKYH_cjs.TooltipProvider, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkOU5OZKYH_cjs.Tooltip, { children: [
823
+ /* @__PURE__ */ jsxRuntime.jsx(chunkOU5OZKYH_cjs.TooltipTrigger, { asChild: true, children: button }),
824
+ /* @__PURE__ */ jsxRuntime.jsx(chunkOU5OZKYH_cjs.TooltipContent, { children: /* @__PURE__ */ jsxRuntime.jsx("p", { children: tooltip }) })
1107
825
  ] }) });
1108
826
  }
1109
827
  return button;
@@ -1227,7 +945,7 @@ var CodeBlockCopyButton = ({
1227
945
  };
1228
946
  const Icon = isCopied ? lucideReact.CheckIcon : lucideReact.CopyIcon;
1229
947
  return /* @__PURE__ */ jsxRuntime.jsx(
1230
- chunkC24QG43M_cjs.Button,
948
+ chunkTZ7EM3EG_cjs.Button,
1231
949
  {
1232
950
  className: chunk525KS5HM_cjs.cn("shrink-0", className),
1233
951
  onClick: copyToClipboard,
@@ -1295,9 +1013,9 @@ var WebPreviewNavigationButton = ({
1295
1013
  tooltip,
1296
1014
  children,
1297
1015
  ...props
1298
- }) => /* @__PURE__ */ jsxRuntime.jsx(chunkQDFPJJ5Y_cjs.TooltipProvider, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkQDFPJJ5Y_cjs.Tooltip, { children: [
1299
- /* @__PURE__ */ jsxRuntime.jsx(chunkQDFPJJ5Y_cjs.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
1300
- chunkC24QG43M_cjs.Button,
1016
+ }) => /* @__PURE__ */ jsxRuntime.jsx(chunkOU5OZKYH_cjs.TooltipProvider, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkOU5OZKYH_cjs.Tooltip, { children: [
1017
+ /* @__PURE__ */ jsxRuntime.jsx(chunkOU5OZKYH_cjs.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
1018
+ chunkTZ7EM3EG_cjs.Button,
1301
1019
  {
1302
1020
  className: "h-8 w-8 p-0 hover:text-foreground",
1303
1021
  disabled,
@@ -1308,7 +1026,7 @@ var WebPreviewNavigationButton = ({
1308
1026
  children
1309
1027
  }
1310
1028
  ) }),
1311
- /* @__PURE__ */ jsxRuntime.jsx(chunkQDFPJJ5Y_cjs.TooltipContent, { children: /* @__PURE__ */ jsxRuntime.jsx("p", { children: tooltip }) })
1029
+ /* @__PURE__ */ jsxRuntime.jsx(chunkOU5OZKYH_cjs.TooltipContent, { children: /* @__PURE__ */ jsxRuntime.jsx("p", { children: tooltip }) })
1312
1030
  ] }) });
1313
1031
  var WebPreviewUrl = ({
1314
1032
  value,
@@ -1333,7 +1051,7 @@ var WebPreviewUrl = ({
1333
1051
  onKeyDown?.(event);
1334
1052
  };
1335
1053
  return /* @__PURE__ */ jsxRuntime.jsx(
1336
- chunkQDFPJJ5Y_cjs.Input,
1054
+ chunkOU5OZKYH_cjs.Input,
1337
1055
  {
1338
1056
  className: "h-8 flex-1 text-sm",
1339
1057
  onChange: onChange ?? handleChange,
@@ -1373,15 +1091,15 @@ var WebPreviewConsole = ({
1373
1091
  }) => {
1374
1092
  const { consoleOpen, setConsoleOpen } = useWebPreview();
1375
1093
  return /* @__PURE__ */ jsxRuntime.jsxs(
1376
- chunkC24QG43M_cjs.Collapsible,
1094
+ chunkTZ7EM3EG_cjs.Collapsible,
1377
1095
  {
1378
1096
  className: chunk525KS5HM_cjs.cn("border-t bg-muted/50 font-mono text-sm", className),
1379
1097
  onOpenChange: setConsoleOpen,
1380
1098
  open: consoleOpen,
1381
1099
  ...props,
1382
1100
  children: [
1383
- /* @__PURE__ */ jsxRuntime.jsx(chunkC24QG43M_cjs.CollapsibleTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
1384
- chunkC24QG43M_cjs.Button,
1101
+ /* @__PURE__ */ jsxRuntime.jsx(chunkTZ7EM3EG_cjs.CollapsibleTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
1102
+ chunkTZ7EM3EG_cjs.Button,
1385
1103
  {
1386
1104
  className: "flex w-full items-center justify-between p-4 text-start font-medium hover:bg-muted/50",
1387
1105
  variant: "ghost",
@@ -1400,7 +1118,7 @@ var WebPreviewConsole = ({
1400
1118
  }
1401
1119
  ) }),
1402
1120
  /* @__PURE__ */ jsxRuntime.jsx(
1403
- chunkC24QG43M_cjs.CollapsibleContent,
1121
+ chunkTZ7EM3EG_cjs.CollapsibleContent,
1404
1122
  {
1405
1123
  className: chunk525KS5HM_cjs.cn(
1406
1124
  "px-4 pb-4",
@@ -1474,7 +1192,7 @@ var InlineCitationCardTrigger = ({
1474
1192
  className,
1475
1193
  ...props
1476
1194
  }) => /* @__PURE__ */ jsxRuntime.jsx(HoverCardTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
1477
- chunkQDFPJJ5Y_cjs.Badge,
1195
+ chunkOU5OZKYH_cjs.Badge,
1478
1196
  {
1479
1197
  className: chunk525KS5HM_cjs.cn("ml-1 rounded-full", className),
1480
1198
  variant: "secondary",
@@ -1501,14 +1219,14 @@ var InlineCitationCarousel = ({
1501
1219
  ...props
1502
1220
  }) => {
1503
1221
  const [api, setApi] = React2.useState();
1504
- return /* @__PURE__ */ jsxRuntime.jsx(CarouselApiContext.Provider, { value: api, children: /* @__PURE__ */ jsxRuntime.jsx(chunkQDFPJJ5Y_cjs.Carousel, { className: chunk525KS5HM_cjs.cn("w-full", className), setApi, ...props, children }) });
1222
+ return /* @__PURE__ */ jsxRuntime.jsx(CarouselApiContext.Provider, { value: api, children: /* @__PURE__ */ jsxRuntime.jsx(chunkOU5OZKYH_cjs.Carousel, { className: chunk525KS5HM_cjs.cn("w-full", className), setApi, ...props, children }) });
1505
1223
  };
1506
- var InlineCitationCarouselContent = (props) => /* @__PURE__ */ jsxRuntime.jsx(chunkQDFPJJ5Y_cjs.CarouselContent, { ...props });
1224
+ var InlineCitationCarouselContent = (props) => /* @__PURE__ */ jsxRuntime.jsx(chunkOU5OZKYH_cjs.CarouselContent, { ...props });
1507
1225
  var InlineCitationCarouselItem = ({
1508
1226
  className,
1509
1227
  ...props
1510
1228
  }) => /* @__PURE__ */ jsxRuntime.jsx(
1511
- chunkQDFPJJ5Y_cjs.CarouselItem,
1229
+ chunkOU5OZKYH_cjs.CarouselItem,
1512
1230
  {
1513
1231
  className: chunk525KS5HM_cjs.cn("w-full space-y-2 p-4 pl-8", className),
1514
1232
  ...props
@@ -1726,7 +1444,7 @@ var Reasoning = React2.memo(
1726
1444
  {
1727
1445
  value: { isStreaming, isOpen, setIsOpen, duration },
1728
1446
  children: /* @__PURE__ */ jsxRuntime.jsx(
1729
- chunkC24QG43M_cjs.Collapsible,
1447
+ chunkTZ7EM3EG_cjs.Collapsible,
1730
1448
  {
1731
1449
  className: chunk525KS5HM_cjs.cn("not-prose mb-4", className),
1732
1450
  onOpenChange: handleOpenChange,
@@ -1756,7 +1474,7 @@ var ReasoningTrigger = React2.memo(
1756
1474
  ({ className, children, getThinkingMessage = defaultGetThinkingMessage, ...props }) => {
1757
1475
  const { isStreaming, isOpen, duration } = useReasoning();
1758
1476
  return /* @__PURE__ */ jsxRuntime.jsx(
1759
- chunkC24QG43M_cjs.CollapsibleTrigger,
1477
+ chunkTZ7EM3EG_cjs.CollapsibleTrigger,
1760
1478
  {
1761
1479
  className: chunk525KS5HM_cjs.cn(
1762
1480
  "flex w-full items-center gap-2 text-muted-foreground text-sm transition-colors hover:text-foreground",
@@ -1782,7 +1500,7 @@ var ReasoningTrigger = React2.memo(
1782
1500
  );
1783
1501
  var ReasoningContent = React2.memo(
1784
1502
  ({ className, children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
1785
- chunkC24QG43M_cjs.CollapsibleContent,
1503
+ chunkTZ7EM3EG_cjs.CollapsibleContent,
1786
1504
  {
1787
1505
  className: chunk525KS5HM_cjs.cn(
1788
1506
  "mt-4 text-sm",
@@ -1871,7 +1589,7 @@ function FollowupButtons({
1871
1589
  }) {
1872
1590
  if (!suggestions || suggestions.length === 0) return null;
1873
1591
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunk525KS5HM_cjs.cn("flex flex-wrap gap-2", className), children: suggestions.map((suggestion, index) => /* @__PURE__ */ jsxRuntime.jsx(
1874
- chunkC24QG43M_cjs.Button,
1592
+ chunkTZ7EM3EG_cjs.Button,
1875
1593
  {
1876
1594
  variant: "outline",
1877
1595
  size: "sm",
@@ -1887,9 +1605,9 @@ var Suggestions = ({
1887
1605
  className,
1888
1606
  children,
1889
1607
  ...props
1890
- }) => /* @__PURE__ */ jsxRuntime.jsxs(chunkQDFPJJ5Y_cjs.ScrollArea, { className: "w-full overflow-x-auto whitespace-nowrap", ...props, children: [
1608
+ }) => /* @__PURE__ */ jsxRuntime.jsxs(chunkOU5OZKYH_cjs.ScrollArea, { className: "w-full overflow-x-auto whitespace-nowrap", ...props, children: [
1891
1609
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunk525KS5HM_cjs.cn("flex w-max flex-nowrap items-center gap-2", className), children }),
1892
- /* @__PURE__ */ jsxRuntime.jsx(chunkQDFPJJ5Y_cjs.ScrollBar, { className: "hidden", orientation: "horizontal" })
1610
+ /* @__PURE__ */ jsxRuntime.jsx(chunkOU5OZKYH_cjs.ScrollBar, { className: "hidden", orientation: "horizontal" })
1893
1611
  ] });
1894
1612
  var Suggestion = ({
1895
1613
  suggestion,
@@ -1904,7 +1622,7 @@ var Suggestion = ({
1904
1622
  onClick?.(suggestion);
1905
1623
  };
1906
1624
  return /* @__PURE__ */ jsxRuntime.jsx(
1907
- chunkC24QG43M_cjs.Button,
1625
+ chunkTZ7EM3EG_cjs.Button,
1908
1626
  {
1909
1627
  className: chunk525KS5HM_cjs.cn("cursor-pointer rounded-full px-4", className),
1910
1628
  onClick: handleClick,
@@ -2001,7 +1719,7 @@ var ContextTrigger = ({ children, ...props }) => {
2001
1719
  style: "percent",
2002
1720
  maximumFractionDigits: 1
2003
1721
  }).format(usedPercent);
2004
- return /* @__PURE__ */ jsxRuntime.jsx(HoverCardTrigger, { asChild: true, children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(chunkC24QG43M_cjs.Button, { type: "button", variant: "ghost", ...props, children: [
1722
+ return /* @__PURE__ */ jsxRuntime.jsx(HoverCardTrigger, { asChild: true, children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(chunkTZ7EM3EG_cjs.Button, { type: "button", variant: "ghost", ...props, children: [
2005
1723
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium text-muted-foreground", children: renderedPercent }),
2006
1724
  /* @__PURE__ */ jsxRuntime.jsx(ContextIcon, {})
2007
1725
  ] }) });
@@ -2042,7 +1760,7 @@ var ContextContentHeader = ({
2042
1760
  total
2043
1761
  ] })
2044
1762
  ] }),
2045
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-2", children: /* @__PURE__ */ jsxRuntime.jsx(chunkQDFPJJ5Y_cjs.Progress, { className: "bg-muted", value: usedPercent * PERCENT_MAX }) })
1763
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-2", children: /* @__PURE__ */ jsxRuntime.jsx(chunkOU5OZKYH_cjs.Progress, { className: "bg-muted", value: usedPercent * PERCENT_MAX }) })
2046
1764
  ] }) });
2047
1765
  };
2048
1766
  var ContextContentBody = ({
@@ -2269,8 +1987,8 @@ var ChainOfThought = React2.memo(
2269
1987
  var ChainOfThoughtHeader = React2.memo(
2270
1988
  ({ className, children, ...props }) => {
2271
1989
  const { isOpen, setIsOpen } = useChainOfThought();
2272
- return /* @__PURE__ */ jsxRuntime.jsx(chunkC24QG43M_cjs.Collapsible, { onOpenChange: setIsOpen, open: isOpen, children: /* @__PURE__ */ jsxRuntime.jsxs(
2273
- chunkC24QG43M_cjs.CollapsibleTrigger,
1990
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkTZ7EM3EG_cjs.Collapsible, { onOpenChange: setIsOpen, open: isOpen, children: /* @__PURE__ */ jsxRuntime.jsxs(
1991
+ chunkTZ7EM3EG_cjs.CollapsibleTrigger,
2274
1992
  {
2275
1993
  className: chunk525KS5HM_cjs.cn(
2276
1994
  "flex w-full items-center gap-2 text-muted-foreground text-sm transition-colors hover:text-foreground",
@@ -2345,7 +2063,7 @@ var ChainOfThoughtSearchResults = React2.memo(
2345
2063
  );
2346
2064
  var ChainOfThoughtSearchResult = React2.memo(
2347
2065
  ({ className, children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
2348
- chunkQDFPJJ5Y_cjs.Badge,
2066
+ chunkOU5OZKYH_cjs.Badge,
2349
2067
  {
2350
2068
  className: chunk525KS5HM_cjs.cn("gap-1 px-2 py-0.5 font-normal text-xs", className),
2351
2069
  variant: "secondary",
@@ -2357,8 +2075,8 @@ var ChainOfThoughtSearchResult = React2.memo(
2357
2075
  var ChainOfThoughtContent = React2.memo(
2358
2076
  ({ className, children, ...props }) => {
2359
2077
  const { isOpen } = useChainOfThought();
2360
- return /* @__PURE__ */ jsxRuntime.jsx(chunkC24QG43M_cjs.Collapsible, { open: isOpen, children: /* @__PURE__ */ jsxRuntime.jsx(
2361
- chunkC24QG43M_cjs.CollapsibleContent,
2078
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkTZ7EM3EG_cjs.Collapsible, { open: isOpen, children: /* @__PURE__ */ jsxRuntime.jsx(
2079
+ chunkTZ7EM3EG_cjs.CollapsibleContent,
2362
2080
  {
2363
2081
  className: chunk525KS5HM_cjs.cn(
2364
2082
  "mt-2 space-y-3",
@@ -2403,12 +2121,12 @@ var Confirmation = ({
2403
2121
  if (!approval || state === "input-streaming" || state === "input-available") {
2404
2122
  return null;
2405
2123
  }
2406
- return /* @__PURE__ */ jsxRuntime.jsx(ConfirmationContext.Provider, { value: { approval, state }, children: /* @__PURE__ */ jsxRuntime.jsx(chunkQDFPJJ5Y_cjs.Alert, { className: chunk525KS5HM_cjs.cn("flex flex-col gap-2", className), ...props }) });
2124
+ return /* @__PURE__ */ jsxRuntime.jsx(ConfirmationContext.Provider, { value: { approval, state }, children: /* @__PURE__ */ jsxRuntime.jsx(chunkOU5OZKYH_cjs.Alert, { className: chunk525KS5HM_cjs.cn("flex flex-col gap-2", className), ...props }) });
2407
2125
  };
2408
2126
  var ConfirmationTitle = ({
2409
2127
  className,
2410
2128
  ...props
2411
- }) => /* @__PURE__ */ jsxRuntime.jsx(chunkQDFPJJ5Y_cjs.AlertDescription, { className: chunk525KS5HM_cjs.cn("inline", className), ...props });
2129
+ }) => /* @__PURE__ */ jsxRuntime.jsx(chunkOU5OZKYH_cjs.AlertDescription, { className: chunk525KS5HM_cjs.cn("inline", className), ...props });
2412
2130
  var ConfirmationRequest = ({ children }) => {
2413
2131
  const { state } = useConfirmation();
2414
2132
  if (state !== "approval-requested") {
@@ -2450,7 +2168,7 @@ var ConfirmationActions = ({
2450
2168
  }
2451
2169
  );
2452
2170
  };
2453
- var ConfirmationAction = (props) => /* @__PURE__ */ jsxRuntime.jsx(chunkC24QG43M_cjs.Button, { className: "h-8 px-3 text-sm", type: "button", ...props });
2171
+ var ConfirmationAction = (props) => /* @__PURE__ */ jsxRuntime.jsx(chunkTZ7EM3EG_cjs.Button, { className: "h-8 px-3 text-sm", type: "button", ...props });
2454
2172
  var Controls = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
2455
2173
  react$1.Controls,
2456
2174
  {
@@ -2475,7 +2193,7 @@ var Command = React2__namespace.forwardRef(({ className, ...props }, ref) => /*
2475
2193
  ));
2476
2194
  Command.displayName = cmdk.Command.displayName;
2477
2195
  var CommandDialog = ({ children, ...props }) => {
2478
- return /* @__PURE__ */ jsxRuntime.jsx(chunkQDFPJJ5Y_cjs.Dialog, { ...props, children: /* @__PURE__ */ jsxRuntime.jsx(chunkQDFPJJ5Y_cjs.DialogContent, { className: "overflow-hidden p-0", children: /* @__PURE__ */ jsxRuntime.jsx(Command, { className: "[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children }) }) });
2196
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkOU5OZKYH_cjs.Dialog, { ...props, children: /* @__PURE__ */ jsxRuntime.jsx(chunkOU5OZKYH_cjs.DialogContent, { className: "overflow-hidden p-0", children: /* @__PURE__ */ jsxRuntime.jsx(Command, { className: "[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children }) }) });
2479
2197
  };
2480
2198
  var CommandInput = React2__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
2481
2199
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Search, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
@@ -2559,15 +2277,15 @@ var CommandShortcut = ({
2559
2277
  );
2560
2278
  };
2561
2279
  CommandShortcut.displayName = "CommandShortcut";
2562
- var ModelSelector = (props) => /* @__PURE__ */ jsxRuntime.jsx(chunkQDFPJJ5Y_cjs.Dialog, { ...props });
2563
- var ModelSelectorTrigger = (props) => /* @__PURE__ */ jsxRuntime.jsx(chunkQDFPJJ5Y_cjs.DialogTrigger, { ...props });
2280
+ var ModelSelector = (props) => /* @__PURE__ */ jsxRuntime.jsx(chunkOU5OZKYH_cjs.Dialog, { ...props });
2281
+ var ModelSelectorTrigger = (props) => /* @__PURE__ */ jsxRuntime.jsx(chunkOU5OZKYH_cjs.DialogTrigger, { ...props });
2564
2282
  var ModelSelectorContent = ({
2565
2283
  className,
2566
2284
  children,
2567
2285
  title = "Model Selector",
2568
2286
  ...props
2569
- }) => /* @__PURE__ */ jsxRuntime.jsxs(chunkQDFPJJ5Y_cjs.DialogContent, { className: chunk525KS5HM_cjs.cn("p-0", className), ...props, children: [
2570
- /* @__PURE__ */ jsxRuntime.jsx(chunkQDFPJJ5Y_cjs.DialogTitle, { className: "sr-only", children: title }),
2287
+ }) => /* @__PURE__ */ jsxRuntime.jsxs(chunkOU5OZKYH_cjs.DialogContent, { className: chunk525KS5HM_cjs.cn("p-0", className), ...props, children: [
2288
+ /* @__PURE__ */ jsxRuntime.jsx(chunkOU5OZKYH_cjs.DialogTitle, { className: "sr-only", children: title }),
2571
2289
  /* @__PURE__ */ jsxRuntime.jsx(Command, { className: "**:data-[slot=command-input-wrapper]:h-auto", children })
2572
2290
  ] });
2573
2291
  var ModelSelectorDialog = (props) => /* @__PURE__ */ jsxRuntime.jsx(CommandDialog, { ...props });
@@ -2676,19 +2394,19 @@ var useOpenInContext = () => {
2676
2394
  }
2677
2395
  return context;
2678
2396
  };
2679
- var OpenIn = ({ query, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(OpenInContext.Provider, { value: { query }, children: /* @__PURE__ */ jsxRuntime.jsx(chunkQDFPJJ5Y_cjs.DropdownMenu, { ...props }) });
2397
+ var OpenIn = ({ query, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(OpenInContext.Provider, { value: { query }, children: /* @__PURE__ */ jsxRuntime.jsx(chunkOU5OZKYH_cjs.DropdownMenu, { ...props }) });
2680
2398
  var OpenInContent = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
2681
- chunkQDFPJJ5Y_cjs.DropdownMenuContent,
2399
+ chunkOU5OZKYH_cjs.DropdownMenuContent,
2682
2400
  {
2683
2401
  align: "start",
2684
2402
  className: chunk525KS5HM_cjs.cn("w-[240px]", className),
2685
2403
  ...props
2686
2404
  }
2687
2405
  );
2688
- var OpenInItem = (props) => /* @__PURE__ */ jsxRuntime.jsx(chunkQDFPJJ5Y_cjs.DropdownMenuItem, { ...props });
2689
- var OpenInLabel = (props) => /* @__PURE__ */ jsxRuntime.jsx(chunkQDFPJJ5Y_cjs.DropdownMenuLabel, { ...props });
2690
- var OpenInSeparator = (props) => /* @__PURE__ */ jsxRuntime.jsx(chunkQDFPJJ5Y_cjs.DropdownMenuSeparator, { ...props });
2691
- var OpenInTrigger = ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(chunkQDFPJJ5Y_cjs.DropdownMenuTrigger, { ...props, asChild: true, children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(chunkC24QG43M_cjs.Button, { type: "button", variant: "outline", children: [
2406
+ var OpenInItem = (props) => /* @__PURE__ */ jsxRuntime.jsx(chunkOU5OZKYH_cjs.DropdownMenuItem, { ...props });
2407
+ var OpenInLabel = (props) => /* @__PURE__ */ jsxRuntime.jsx(chunkOU5OZKYH_cjs.DropdownMenuLabel, { ...props });
2408
+ var OpenInSeparator = (props) => /* @__PURE__ */ jsxRuntime.jsx(chunkOU5OZKYH_cjs.DropdownMenuSeparator, { ...props });
2409
+ var OpenInTrigger = ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(chunkOU5OZKYH_cjs.DropdownMenuTrigger, { ...props, asChild: true, children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(chunkTZ7EM3EG_cjs.Button, { type: "button", variant: "outline", children: [
2692
2410
  "Open in chat",
2693
2411
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDownIcon, { className: "size-4" })
2694
2412
  ] }) });
@@ -2696,7 +2414,7 @@ var makeProviderItem = (key) => {
2696
2414
  return (props) => {
2697
2415
  const { query } = useOpenInContext();
2698
2416
  const p = providers[key];
2699
- return /* @__PURE__ */ jsxRuntime.jsx(chunkQDFPJJ5Y_cjs.DropdownMenuItem, { asChild: true, ...props, children: /* @__PURE__ */ jsxRuntime.jsxs(
2417
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkOU5OZKYH_cjs.DropdownMenuItem, { asChild: true, ...props, children: /* @__PURE__ */ jsxRuntime.jsxs(
2700
2418
  "a",
2701
2419
  {
2702
2420
  className: "flex items-center gap-2",
@@ -2741,7 +2459,7 @@ var Plan = ({
2741
2459
  isStreaming = false,
2742
2460
  children,
2743
2461
  ...props
2744
- }) => /* @__PURE__ */ jsxRuntime.jsx(PlanContext.Provider, { value: { isStreaming }, children: /* @__PURE__ */ jsxRuntime.jsx(chunkC24QG43M_cjs.Collapsible, { asChild: true, "data-slot": "plan", ...props, children: /* @__PURE__ */ jsxRuntime.jsx(chunkAWAJOSFP_cjs.Card, { className: chunk525KS5HM_cjs.cn("shadow-none", className), children }) }) });
2462
+ }) => /* @__PURE__ */ jsxRuntime.jsx(PlanContext.Provider, { value: { isStreaming }, children: /* @__PURE__ */ jsxRuntime.jsx(chunkTZ7EM3EG_cjs.Collapsible, { asChild: true, "data-slot": "plan", ...props, children: /* @__PURE__ */ jsxRuntime.jsx(chunkAWAJOSFP_cjs.Card, { className: chunk525KS5HM_cjs.cn("shadow-none", className), children }) }) });
2745
2463
  var PlanHeader = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
2746
2464
  chunkAWAJOSFP_cjs.CardHeader,
2747
2465
  {
@@ -2771,10 +2489,10 @@ var PlanDescription = ({
2771
2489
  );
2772
2490
  };
2773
2491
  var PlanAction = (props) => /* @__PURE__ */ jsxRuntime.jsx(chunkAWAJOSFP_cjs.CardAction, { "data-slot": "plan-action", ...props });
2774
- var PlanContent = (props) => /* @__PURE__ */ jsxRuntime.jsx(chunkC24QG43M_cjs.CollapsibleContent, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(chunkAWAJOSFP_cjs.CardContent, { "data-slot": "plan-content", ...props }) });
2492
+ var PlanContent = (props) => /* @__PURE__ */ jsxRuntime.jsx(chunkTZ7EM3EG_cjs.CollapsibleContent, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(chunkAWAJOSFP_cjs.CardContent, { "data-slot": "plan-content", ...props }) });
2775
2493
  var PlanFooter = (props) => /* @__PURE__ */ jsxRuntime.jsx(chunkAWAJOSFP_cjs.CardFooter, { "data-slot": "plan-footer", ...props });
2776
- var PlanTrigger = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(chunkC24QG43M_cjs.CollapsibleTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
2777
- chunkC24QG43M_cjs.Button,
2494
+ var PlanTrigger = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(chunkTZ7EM3EG_cjs.CollapsibleTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
2495
+ chunkTZ7EM3EG_cjs.Button,
2778
2496
  {
2779
2497
  className: chunk525KS5HM_cjs.cn("size-8", className),
2780
2498
  "data-slot": "plan-trigger",
@@ -2873,7 +2591,7 @@ function InputGroupButton({
2873
2591
  ...props
2874
2592
  }) {
2875
2593
  return /* @__PURE__ */ jsxRuntime.jsx(
2876
- chunkC24QG43M_cjs.Button,
2594
+ chunkTZ7EM3EG_cjs.Button,
2877
2595
  {
2878
2596
  type,
2879
2597
  "data-size": size,
@@ -2888,7 +2606,7 @@ function InputGroupTextarea({
2888
2606
  ...props
2889
2607
  }) {
2890
2608
  return /* @__PURE__ */ jsxRuntime.jsx(
2891
- chunkQDFPJJ5Y_cjs.Textarea,
2609
+ chunkTZ7EM3EG_cjs.Textarea,
2892
2610
  {
2893
2611
  "data-slot": "input-group-control",
2894
2612
  className: chunk525KS5HM_cjs.cn(
@@ -3065,7 +2783,7 @@ function PromptInputAttachment({
3065
2783
  }
3066
2784
  ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex size-5 items-center justify-center text-muted-foreground", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.PaperclipIcon, { className: "size-3" }) }) }),
3067
2785
  /* @__PURE__ */ jsxRuntime.jsxs(
3068
- chunkC24QG43M_cjs.Button,
2786
+ chunkTZ7EM3EG_cjs.Button,
3069
2787
  {
3070
2788
  "aria-label": "Remove attachment",
3071
2789
  className: "absolute inset-0 size-5 cursor-pointer rounded p-0 opacity-0 transition-opacity group-hover:pointer-events-auto group-hover:opacity-100 [&>svg]:size-2.5",
@@ -3129,7 +2847,7 @@ var PromptInputActionAddAttachments = ({
3129
2847
  }) => {
3130
2848
  const attachments = usePromptInputAttachments();
3131
2849
  return /* @__PURE__ */ jsxRuntime.jsxs(
3132
- chunkQDFPJJ5Y_cjs.DropdownMenuItem,
2850
+ chunkOU5OZKYH_cjs.DropdownMenuItem,
3133
2851
  {
3134
2852
  ...props,
3135
2853
  onSelect: (e) => {
@@ -3550,20 +3268,20 @@ var PromptInputButton = ({
3550
3268
  }
3551
3269
  );
3552
3270
  };
3553
- var PromptInputActionMenu = (props) => /* @__PURE__ */ jsxRuntime.jsx(chunkQDFPJJ5Y_cjs.DropdownMenu, { ...props });
3271
+ var PromptInputActionMenu = (props) => /* @__PURE__ */ jsxRuntime.jsx(chunkOU5OZKYH_cjs.DropdownMenu, { ...props });
3554
3272
  var PromptInputActionMenuTrigger = ({
3555
3273
  className,
3556
3274
  children,
3557
3275
  ...props
3558
- }) => /* @__PURE__ */ jsxRuntime.jsx(chunkQDFPJJ5Y_cjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(PromptInputButton, { className, ...props, children: children ?? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.PlusIcon, { className: "size-4" }) }) });
3276
+ }) => /* @__PURE__ */ jsxRuntime.jsx(chunkOU5OZKYH_cjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(PromptInputButton, { className, ...props, children: children ?? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.PlusIcon, { className: "size-4" }) }) });
3559
3277
  var PromptInputActionMenuContent = ({
3560
3278
  className,
3561
3279
  ...props
3562
- }) => /* @__PURE__ */ jsxRuntime.jsx(chunkQDFPJJ5Y_cjs.DropdownMenuContent, { align: "start", className: chunk525KS5HM_cjs.cn(className), ...props });
3280
+ }) => /* @__PURE__ */ jsxRuntime.jsx(chunkOU5OZKYH_cjs.DropdownMenuContent, { align: "start", className: chunk525KS5HM_cjs.cn(className), ...props });
3563
3281
  var PromptInputActionMenuItem = ({
3564
3282
  className,
3565
3283
  ...props
3566
- }) => /* @__PURE__ */ jsxRuntime.jsx(chunkQDFPJJ5Y_cjs.DropdownMenuItem, { className: chunk525KS5HM_cjs.cn(className), ...props });
3284
+ }) => /* @__PURE__ */ jsxRuntime.jsx(chunkOU5OZKYH_cjs.DropdownMenuItem, { className: chunk525KS5HM_cjs.cn(className), ...props });
3567
3285
  var PromptInputSubmit = ({
3568
3286
  className,
3569
3287
  variant = "default",
@@ -3672,12 +3390,12 @@ var PromptInputSpeechButton = ({
3672
3390
  }
3673
3391
  );
3674
3392
  };
3675
- var PromptInputSelect = (props) => /* @__PURE__ */ jsxRuntime.jsx(chunkQDFPJJ5Y_cjs.Select, { ...props });
3393
+ var PromptInputSelect = (props) => /* @__PURE__ */ jsxRuntime.jsx(chunkOU5OZKYH_cjs.Select, { ...props });
3676
3394
  var PromptInputSelectTrigger = ({
3677
3395
  className,
3678
3396
  ...props
3679
3397
  }) => /* @__PURE__ */ jsxRuntime.jsx(
3680
- chunkQDFPJJ5Y_cjs.SelectTrigger,
3398
+ chunkOU5OZKYH_cjs.SelectTrigger,
3681
3399
  {
3682
3400
  className: chunk525KS5HM_cjs.cn(
3683
3401
  "border-none bg-transparent font-medium text-muted-foreground shadow-none transition-colors",
@@ -3690,15 +3408,15 @@ var PromptInputSelectTrigger = ({
3690
3408
  var PromptInputSelectContent = ({
3691
3409
  className,
3692
3410
  ...props
3693
- }) => /* @__PURE__ */ jsxRuntime.jsx(chunkQDFPJJ5Y_cjs.SelectContent, { className: chunk525KS5HM_cjs.cn(className), ...props });
3411
+ }) => /* @__PURE__ */ jsxRuntime.jsx(chunkOU5OZKYH_cjs.SelectContent, { className: chunk525KS5HM_cjs.cn(className), ...props });
3694
3412
  var PromptInputSelectItem = ({
3695
3413
  className,
3696
3414
  ...props
3697
- }) => /* @__PURE__ */ jsxRuntime.jsx(chunkQDFPJJ5Y_cjs.SelectItem, { className: chunk525KS5HM_cjs.cn(className), ...props });
3415
+ }) => /* @__PURE__ */ jsxRuntime.jsx(chunkOU5OZKYH_cjs.SelectItem, { className: chunk525KS5HM_cjs.cn(className), ...props });
3698
3416
  var PromptInputSelectValue = ({
3699
3417
  className,
3700
3418
  ...props
3701
- }) => /* @__PURE__ */ jsxRuntime.jsx(chunkQDFPJJ5Y_cjs.SelectValue, { className: chunk525KS5HM_cjs.cn(className), ...props });
3419
+ }) => /* @__PURE__ */ jsxRuntime.jsx(chunkOU5OZKYH_cjs.SelectValue, { className: chunk525KS5HM_cjs.cn(className), ...props });
3702
3420
  var PromptInputHoverCard = ({
3703
3421
  openDelay = 0,
3704
3422
  closeDelay = 0,
@@ -3838,7 +3556,7 @@ var QueueItemAction = ({
3838
3556
  className,
3839
3557
  ...props
3840
3558
  }) => /* @__PURE__ */ jsxRuntime.jsx(
3841
- chunkC24QG43M_cjs.Button,
3559
+ chunkTZ7EM3EG_cjs.Button,
3842
3560
  {
3843
3561
  className: chunk525KS5HM_cjs.cn(
3844
3562
  "size-auto rounded p-1 text-muted-foreground opacity-0 transition-opacity hover:bg-muted-foreground/10 hover:text-foreground group-hover:opacity-100",
@@ -3889,17 +3607,17 @@ var QueueList = ({
3889
3607
  children,
3890
3608
  className,
3891
3609
  ...props
3892
- }) => /* @__PURE__ */ jsxRuntime.jsx(chunkQDFPJJ5Y_cjs.ScrollArea, { className: chunk525KS5HM_cjs.cn("-mb-1 mt-2", className), ...props, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-h-40 pr-4", children: /* @__PURE__ */ jsxRuntime.jsx("ul", { children }) }) });
3610
+ }) => /* @__PURE__ */ jsxRuntime.jsx(chunkOU5OZKYH_cjs.ScrollArea, { className: chunk525KS5HM_cjs.cn("-mb-1 mt-2", className), ...props, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-h-40 pr-4", children: /* @__PURE__ */ jsxRuntime.jsx("ul", { children }) }) });
3893
3611
  var QueueSection = ({
3894
3612
  className,
3895
3613
  defaultOpen = true,
3896
3614
  ...props
3897
- }) => /* @__PURE__ */ jsxRuntime.jsx(chunkC24QG43M_cjs.Collapsible, { className: chunk525KS5HM_cjs.cn(className), defaultOpen, ...props });
3615
+ }) => /* @__PURE__ */ jsxRuntime.jsx(chunkTZ7EM3EG_cjs.Collapsible, { className: chunk525KS5HM_cjs.cn(className), defaultOpen, ...props });
3898
3616
  var QueueSectionTrigger = ({
3899
3617
  children,
3900
3618
  className,
3901
3619
  ...props
3902
- }) => /* @__PURE__ */ jsxRuntime.jsx(chunkC24QG43M_cjs.CollapsibleTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
3620
+ }) => /* @__PURE__ */ jsxRuntime.jsx(chunkTZ7EM3EG_cjs.CollapsibleTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
3903
3621
  "button",
3904
3622
  {
3905
3623
  className: chunk525KS5HM_cjs.cn(
@@ -3929,7 +3647,7 @@ var QueueSectionLabel = ({
3929
3647
  var QueueSectionContent = ({
3930
3648
  className,
3931
3649
  ...props
3932
- }) => /* @__PURE__ */ jsxRuntime.jsx(chunkC24QG43M_cjs.CollapsibleContent, { className: chunk525KS5HM_cjs.cn(className), ...props });
3650
+ }) => /* @__PURE__ */ jsxRuntime.jsx(chunkTZ7EM3EG_cjs.CollapsibleContent, { className: chunk525KS5HM_cjs.cn(className), ...props });
3933
3651
  var Queue = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
3934
3652
  "div",
3935
3653
  {
@@ -3960,13 +3678,13 @@ var Task = ({
3960
3678
  defaultOpen = true,
3961
3679
  className,
3962
3680
  ...props
3963
- }) => /* @__PURE__ */ jsxRuntime.jsx(chunkC24QG43M_cjs.Collapsible, { className: chunk525KS5HM_cjs.cn(className), defaultOpen, ...props });
3681
+ }) => /* @__PURE__ */ jsxRuntime.jsx(chunkTZ7EM3EG_cjs.Collapsible, { className: chunk525KS5HM_cjs.cn(className), defaultOpen, ...props });
3964
3682
  var TaskTrigger = ({
3965
3683
  children,
3966
3684
  className,
3967
3685
  title,
3968
3686
  ...props
3969
- }) => /* @__PURE__ */ jsxRuntime.jsx(chunkC24QG43M_cjs.CollapsibleTrigger, { asChild: true, className: chunk525KS5HM_cjs.cn("group", className), ...props, children: children ?? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full cursor-pointer items-center gap-2 text-muted-foreground text-sm transition-colors hover:text-foreground", children: [
3687
+ }) => /* @__PURE__ */ jsxRuntime.jsx(chunkTZ7EM3EG_cjs.CollapsibleTrigger, { asChild: true, className: chunk525KS5HM_cjs.cn("group", className), ...props, children: children ?? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full cursor-pointer items-center gap-2 text-muted-foreground text-sm transition-colors hover:text-foreground", children: [
3970
3688
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.SearchIcon, { className: "size-4" }),
3971
3689
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm", children: title }),
3972
3690
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDownIcon, { className: "size-4 transition-transform group-data-[state=open]:rotate-180" })
@@ -3976,7 +3694,7 @@ var TaskContent = ({
3976
3694
  className,
3977
3695
  ...props
3978
3696
  }) => /* @__PURE__ */ jsxRuntime.jsx(
3979
- chunkC24QG43M_cjs.CollapsibleContent,
3697
+ chunkTZ7EM3EG_cjs.CollapsibleContent,
3980
3698
  {
3981
3699
  className: chunk525KS5HM_cjs.cn(
3982
3700
  "data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-top-2 data-[state=open]:slide-in-from-top-2 text-popover-foreground outline-none data-[state=closed]:animate-out data-[state=open]:animate-in",
@@ -3987,7 +3705,7 @@ var TaskContent = ({
3987
3705
  }
3988
3706
  );
3989
3707
  var Tool = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
3990
- chunkC24QG43M_cjs.Collapsible,
3708
+ chunkTZ7EM3EG_cjs.Collapsible,
3991
3709
  {
3992
3710
  className: chunk525KS5HM_cjs.cn("not-prose mb-4 w-full rounded-md border", className),
3993
3711
  ...props
@@ -4012,7 +3730,7 @@ var getStatusBadge = (status) => {
4012
3730
  "output-error": /* @__PURE__ */ jsxRuntime.jsx(lucideReact.XCircleIcon, { className: "size-4 text-red-600" }),
4013
3731
  "output-denied": /* @__PURE__ */ jsxRuntime.jsx(lucideReact.XCircleIcon, { className: "size-4 text-orange-600" })
4014
3732
  };
4015
- return /* @__PURE__ */ jsxRuntime.jsxs(chunkQDFPJJ5Y_cjs.Badge, { className: "gap-1.5 rounded-full text-xs", variant: "secondary", children: [
3733
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkOU5OZKYH_cjs.Badge, { className: "gap-1.5 rounded-full text-xs", variant: "secondary", children: [
4016
3734
  icons[status],
4017
3735
  labels[status]
4018
3736
  ] });
@@ -4024,7 +3742,7 @@ var ToolHeader = ({
4024
3742
  state,
4025
3743
  ...props
4026
3744
  }) => /* @__PURE__ */ jsxRuntime.jsxs(
4027
- chunkC24QG43M_cjs.CollapsibleTrigger,
3745
+ chunkTZ7EM3EG_cjs.CollapsibleTrigger,
4028
3746
  {
4029
3747
  className: chunk525KS5HM_cjs.cn(
4030
3748
  "flex w-full items-center justify-between gap-4 p-3",
@@ -4042,7 +3760,7 @@ var ToolHeader = ({
4042
3760
  }
4043
3761
  );
4044
3762
  var ToolContent = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
4045
- chunkC24QG43M_cjs.CollapsibleContent,
3763
+ chunkTZ7EM3EG_cjs.CollapsibleContent,
4046
3764
  {
4047
3765
  className: chunk525KS5HM_cjs.cn(
4048
3766
  "data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-top-2 data-[state=open]:slide-in-from-top-2 text-popover-foreground outline-none data-[state=closed]:animate-out data-[state=open]:animate-in",
@@ -4125,7 +3843,7 @@ var Checkpoint = ({
4125
3843
  ...props,
4126
3844
  children: [
4127
3845
  children,
4128
- /* @__PURE__ */ jsxRuntime.jsx(chunkQDFPJJ5Y_cjs.Separator, {})
3846
+ /* @__PURE__ */ jsxRuntime.jsx(chunkOU5OZKYH_cjs.Separator, {})
4129
3847
  ]
4130
3848
  }
4131
3849
  );
@@ -4141,10 +3859,10 @@ var CheckpointTrigger = ({
4141
3859
  size = "sm",
4142
3860
  tooltip,
4143
3861
  ...props
4144
- }) => tooltip ? /* @__PURE__ */ jsxRuntime.jsxs(chunkQDFPJJ5Y_cjs.Tooltip, { children: [
4145
- /* @__PURE__ */ jsxRuntime.jsx(chunkQDFPJJ5Y_cjs.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(chunkC24QG43M_cjs.Button, { size, type: "button", variant, ...props, children }) }),
4146
- /* @__PURE__ */ jsxRuntime.jsx(chunkQDFPJJ5Y_cjs.TooltipContent, { align: "start", side: "bottom", children: tooltip })
4147
- ] }) : /* @__PURE__ */ jsxRuntime.jsx(chunkC24QG43M_cjs.Button, { size, type: "button", variant, ...props, children });
3862
+ }) => tooltip ? /* @__PURE__ */ jsxRuntime.jsxs(chunkOU5OZKYH_cjs.Tooltip, { children: [
3863
+ /* @__PURE__ */ jsxRuntime.jsx(chunkOU5OZKYH_cjs.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(chunkTZ7EM3EG_cjs.Button, { size, type: "button", variant, ...props, children }) }),
3864
+ /* @__PURE__ */ jsxRuntime.jsx(chunkOU5OZKYH_cjs.TooltipContent, { align: "start", side: "bottom", children: tooltip })
3865
+ ] }) : /* @__PURE__ */ jsxRuntime.jsx(chunkTZ7EM3EG_cjs.Button, { size, type: "button", variant, ...props, children });
4148
3866
  var HALF = 0.5;
4149
3867
  var Connection = ({
4150
3868
  fromX,
@@ -4327,43 +4045,47 @@ var Image = ({
4327
4045
 
4328
4046
  Object.defineProperty(exports, "Conversation", {
4329
4047
  enumerable: true,
4330
- get: function () { return chunkRTVEBPAJ_cjs.Conversation; }
4048
+ get: function () { return chunk4WOBNRRB_cjs.Conversation; }
4331
4049
  });
4332
4050
  Object.defineProperty(exports, "ConversationContent", {
4333
4051
  enumerable: true,
4334
- get: function () { return chunkRTVEBPAJ_cjs.ConversationContent; }
4052
+ get: function () { return chunk4WOBNRRB_cjs.ConversationContent; }
4335
4053
  });
4336
4054
  Object.defineProperty(exports, "ConversationEmptyState", {
4337
4055
  enumerable: true,
4338
- get: function () { return chunkRTVEBPAJ_cjs.ConversationEmptyState; }
4056
+ get: function () { return chunk4WOBNRRB_cjs.ConversationEmptyState; }
4339
4057
  });
4340
4058
  Object.defineProperty(exports, "ConversationScrollButton", {
4341
4059
  enumerable: true,
4342
- get: function () { return chunkRTVEBPAJ_cjs.ConversationScrollButton; }
4060
+ get: function () { return chunk4WOBNRRB_cjs.ConversationScrollButton; }
4343
4061
  });
4344
4062
  Object.defineProperty(exports, "Loader", {
4345
4063
  enumerable: true,
4346
- get: function () { return chunkRTVEBPAJ_cjs.Loader; }
4064
+ get: function () { return chunk4WOBNRRB_cjs.Loader; }
4065
+ });
4066
+ Object.defineProperty(exports, "MessageFeedback", {
4067
+ enumerable: true,
4068
+ get: function () { return chunk4WOBNRRB_cjs.MessageFeedback; }
4347
4069
  });
4348
4070
  Object.defineProperty(exports, "Source", {
4349
4071
  enumerable: true,
4350
- get: function () { return chunkRTVEBPAJ_cjs.Source; }
4072
+ get: function () { return chunk4WOBNRRB_cjs.Source; }
4351
4073
  });
4352
4074
  Object.defineProperty(exports, "Sources", {
4353
4075
  enumerable: true,
4354
- get: function () { return chunkRTVEBPAJ_cjs.Sources; }
4076
+ get: function () { return chunk4WOBNRRB_cjs.Sources; }
4355
4077
  });
4356
4078
  Object.defineProperty(exports, "SourcesContent", {
4357
4079
  enumerable: true,
4358
- get: function () { return chunkRTVEBPAJ_cjs.SourcesContent; }
4080
+ get: function () { return chunk4WOBNRRB_cjs.SourcesContent; }
4359
4081
  });
4360
4082
  Object.defineProperty(exports, "SourcesTrigger", {
4361
4083
  enumerable: true,
4362
- get: function () { return chunkRTVEBPAJ_cjs.SourcesTrigger; }
4084
+ get: function () { return chunk4WOBNRRB_cjs.SourcesTrigger; }
4363
4085
  });
4364
4086
  Object.defineProperty(exports, "SpinnerLoader", {
4365
4087
  enumerable: true,
4366
- get: function () { return chunkRTVEBPAJ_cjs.SpinnerLoader; }
4088
+ get: function () { return chunk4WOBNRRB_cjs.SpinnerLoader; }
4367
4089
  });
4368
4090
  exports.AIImage = Image;
4369
4091
  exports.Artifact = Artifact;
@@ -4435,7 +4157,6 @@ exports.MessageBranchPage = MessageBranchPage;
4435
4157
  exports.MessageBranchPrevious = MessageBranchPrevious;
4436
4158
  exports.MessageBranchSelector = MessageBranchSelector;
4437
4159
  exports.MessageContent = MessageContent;
4438
- exports.MessageFeedback = MessageFeedback;
4439
4160
  exports.MessageResponse = MessageResponse;
4440
4161
  exports.MessageToolbar = MessageToolbar;
4441
4162
  exports.ModelSelector = ModelSelector;