@aigentyc/chat-sdk 0.2.5 → 0.3.1
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/bin/aigentyc.mjs +10 -4
- package/bin/lib/skill.mjs +84 -0
- package/claude-skill/README.md +32 -0
- package/claude-skill/aigentyc-chat-sdk/SKILL.md +339 -0
- package/context7.json +1 -1
- package/dist/ChatInterface-B0zbA3Lm.d.cts +64 -0
- package/dist/ChatInterface-f8ftS56n.d.ts +64 -0
- package/dist/{JsonRenderResult-Ftw4AKwb.d.cts → JsonRenderResult-D6ogds0_.d.cts} +8 -1
- package/dist/{JsonRenderResult-Ftw4AKwb.d.ts → JsonRenderResult-D6ogds0_.d.ts} +8 -1
- package/dist/JsonRenderResult-GCNFMZYP.js +6 -0
- package/dist/{JsonRenderResult-ZFJ6VWMS.js.map → JsonRenderResult-GCNFMZYP.js.map} +1 -1
- package/dist/JsonRenderResult-II3IBENS.cjs +15 -0
- package/dist/{JsonRenderResult-GQOYPLVH.cjs.map → JsonRenderResult-II3IBENS.cjs.map} +1 -1
- package/dist/{SlotsContext-CBtt36al.d.ts → SlotsContext-BjiX1mRx.d.ts} +17 -2
- package/dist/{SlotsContext-CHvISDJT.d.cts → SlotsContext-CEOBjzfh.d.cts} +17 -2
- package/dist/ai-elements.cjs +114 -393
- package/dist/ai-elements.cjs.map +1 -1
- package/dist/ai-elements.d.cts +2 -31
- package/dist/ai-elements.d.ts +2 -31
- package/dist/ai-elements.js +9 -291
- package/dist/ai-elements.js.map +1 -1
- package/dist/{chunk-5QSXB6UL.cjs → chunk-3HGOLNGG.cjs} +13 -4
- package/dist/chunk-3HGOLNGG.cjs.map +1 -0
- package/dist/{chunk-KVEJAPWA.js → chunk-3KSMOHNY.js} +48 -62
- package/dist/chunk-3KSMOHNY.js.map +1 -0
- package/dist/chunk-4WOBNRRB.cjs +540 -0
- package/dist/chunk-4WOBNRRB.cjs.map +1 -0
- package/dist/{chunk-MC6QDYB6.cjs → chunk-5XF7KH6B.cjs} +166 -67
- package/dist/chunk-5XF7KH6B.cjs.map +1 -0
- package/dist/chunk-7AZMWPKX.cjs +35 -0
- package/dist/chunk-7AZMWPKX.cjs.map +1 -0
- package/dist/{chunk-DMGYQ6NN.cjs → chunk-7IFBPXT3.cjs} +95 -8
- package/dist/chunk-7IFBPXT3.cjs.map +1 -0
- package/dist/{chunk-U3FXVLUK.js → chunk-AD6XWKWB.js} +93 -6
- package/dist/chunk-AD6XWKWB.js.map +1 -0
- package/dist/chunk-B27JIQ4Z.js +528 -0
- package/dist/chunk-B27JIQ4Z.js.map +1 -0
- package/dist/{chunk-J2K7EJYP.cjs → chunk-BPV66QNM.cjs} +6 -4
- package/dist/chunk-BPV66QNM.cjs.map +1 -0
- package/dist/{chunk-FYPJSHCL.js → chunk-FPQ3UCCJ.js} +6 -4
- package/dist/chunk-FPQ3UCCJ.js.map +1 -0
- package/dist/{chunk-J2H6MLQF.cjs → chunk-H7C3AGA2.cjs} +17 -6
- package/dist/chunk-H7C3AGA2.cjs.map +1 -0
- package/dist/{chunk-7L4FS6G7.js → chunk-JHWSG5IB.js} +17 -3
- package/dist/chunk-JHWSG5IB.js.map +1 -0
- package/dist/{chunk-4FBVV64J.js → chunk-M4YRNNGB.js} +13 -4
- package/dist/chunk-M4YRNNGB.js.map +1 -0
- package/dist/{chunk-QDFPJJ5Y.cjs → chunk-OU5OZKYH.cjs} +50 -65
- package/dist/chunk-OU5OZKYH.cjs.map +1 -0
- package/dist/{chunk-C24QG43M.cjs → chunk-TZ7EM3EG.cjs} +17 -2
- package/dist/chunk-TZ7EM3EG.cjs.map +1 -0
- package/dist/chunk-XEAAB5ZM.js +32 -0
- package/dist/chunk-XEAAB5ZM.js.map +1 -0
- package/dist/{chunk-FOZXDUSZ.js → chunk-YG2COKFR.js} +151 -54
- package/dist/chunk-YG2COKFR.js.map +1 -0
- package/dist/{chunk-RPDJXB3U.js → chunk-ZXP7IYRC.js} +17 -6
- package/dist/chunk-ZXP7IYRC.js.map +1 -0
- package/dist/components.cjs +31 -52
- package/dist/components.cjs.map +1 -1
- package/dist/components.d.cts +4 -34
- package/dist/components.d.ts +4 -34
- package/dist/components.js +18 -42
- package/dist/components.js.map +1 -1
- package/dist/core.d.cts +2 -2
- package/dist/core.d.ts +2 -2
- package/dist/hooks.cjs +6 -6
- package/dist/hooks.d.cts +2 -2
- package/dist/hooks.d.ts +2 -2
- package/dist/hooks.js +2 -2
- package/dist/i18n.d.cts +1 -1
- package/dist/i18n.d.ts +1 -1
- package/dist/index.cjs +45 -23
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +51 -6
- package/dist/index.d.ts +51 -6
- package/dist/index.js +17 -10
- package/dist/index.js.map +1 -1
- package/dist/json-render.cjs +4 -4
- package/dist/json-render.d.cts +1 -1
- package/dist/json-render.d.ts +1 -1
- package/dist/json-render.js +1 -1
- package/dist/llms-full.txt +195 -15
- package/dist/message-feedback-BFh3-qym.d.cts +92 -0
- package/dist/message-feedback-cWR0NVok.d.ts +92 -0
- package/dist/normalize-KzCLLqpU.d.cts +42 -0
- package/dist/normalize-KzCLLqpU.d.ts +42 -0
- package/dist/styles.css +1 -1
- package/dist/theme.d.cts +1 -1
- package/dist/theme.d.ts +1 -1
- package/dist/tools.cjs +16 -7
- package/dist/tools.d.cts +4 -3
- package/dist/tools.d.ts +4 -3
- package/dist/tools.js +4 -3
- package/dist/{types-DKJ_-nbG.d.ts → types-DlNwk-bG.d.cts} +33 -3
- package/dist/{types-DKJ_-nbG.d.cts → types-DlNwk-bG.d.ts} +33 -3
- package/dist/ui.cjs +45 -45
- package/dist/ui.js +2 -2
- package/llms.txt +175 -5
- package/package.json +2 -1
- package/dist/JsonRenderResult-GQOYPLVH.cjs +0 -15
- package/dist/JsonRenderResult-ZFJ6VWMS.js +0 -6
- package/dist/chunk-4FBVV64J.js.map +0 -1
- package/dist/chunk-5QSXB6UL.cjs.map +0 -1
- package/dist/chunk-7L4FS6G7.js.map +0 -1
- package/dist/chunk-A7PCSWIK.js +0 -219
- package/dist/chunk-A7PCSWIK.js.map +0 -1
- package/dist/chunk-C24QG43M.cjs.map +0 -1
- package/dist/chunk-DMGYQ6NN.cjs.map +0 -1
- package/dist/chunk-FOZXDUSZ.js.map +0 -1
- package/dist/chunk-FYPJSHCL.js.map +0 -1
- package/dist/chunk-J2H6MLQF.cjs.map +0 -1
- package/dist/chunk-J2K7EJYP.cjs.map +0 -1
- package/dist/chunk-KVEJAPWA.js.map +0 -1
- package/dist/chunk-MC6QDYB6.cjs.map +0 -1
- package/dist/chunk-QDFPJJ5Y.cjs.map +0 -1
- package/dist/chunk-RPDJXB3U.js.map +0 -1
- package/dist/chunk-RTVEBPAJ.cjs +0 -230
- package/dist/chunk-RTVEBPAJ.cjs.map +0 -1
- package/dist/chunk-U3FXVLUK.js.map +0 -1
package/dist/ai-elements.cjs
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var chunk4WOBNRRB_cjs = require('./chunk-4WOBNRRB.cjs');
|
|
5
5
|
require('./chunk-X7R334SB.cjs');
|
|
6
|
-
|
|
6
|
+
require('./chunk-3MP2EGEJ.cjs');
|
|
7
7
|
var chunkJOO6C3XT_cjs = require('./chunk-JOO6C3XT.cjs');
|
|
8
|
-
var
|
|
9
|
-
var
|
|
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(
|
|
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(
|
|
146
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
147
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
438
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
439
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
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
|
-
|
|
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-
|
|
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-
|
|
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-
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
1105
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1106
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
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
|
-
|
|
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(
|
|
1299
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1300
|
-
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
1384
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
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(
|
|
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
|
-
|
|
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(
|
|
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(
|
|
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(
|
|
2273
|
-
|
|
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
|
-
|
|
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(
|
|
2361
|
-
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
2563
|
-
var ModelSelectorTrigger = (props) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
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(
|
|
2570
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
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(
|
|
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
|
-
|
|
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(
|
|
2689
|
-
var OpenInLabel = (props) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2690
|
-
var OpenInSeparator = (props) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2691
|
-
var OpenInTrigger = ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
2777
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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
|
-
|
|
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(
|
|
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(
|
|
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(
|
|
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
|
-
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
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(
|
|
4145
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4146
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4147
|
-
] }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
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
|
|
4048
|
+
get: function () { return chunk4WOBNRRB_cjs.Conversation; }
|
|
4331
4049
|
});
|
|
4332
4050
|
Object.defineProperty(exports, "ConversationContent", {
|
|
4333
4051
|
enumerable: true,
|
|
4334
|
-
get: function () { return
|
|
4052
|
+
get: function () { return chunk4WOBNRRB_cjs.ConversationContent; }
|
|
4335
4053
|
});
|
|
4336
4054
|
Object.defineProperty(exports, "ConversationEmptyState", {
|
|
4337
4055
|
enumerable: true,
|
|
4338
|
-
get: function () { return
|
|
4056
|
+
get: function () { return chunk4WOBNRRB_cjs.ConversationEmptyState; }
|
|
4339
4057
|
});
|
|
4340
4058
|
Object.defineProperty(exports, "ConversationScrollButton", {
|
|
4341
4059
|
enumerable: true,
|
|
4342
|
-
get: function () { return
|
|
4060
|
+
get: function () { return chunk4WOBNRRB_cjs.ConversationScrollButton; }
|
|
4343
4061
|
});
|
|
4344
4062
|
Object.defineProperty(exports, "Loader", {
|
|
4345
4063
|
enumerable: true,
|
|
4346
|
-
get: function () { return
|
|
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
|
|
4072
|
+
get: function () { return chunk4WOBNRRB_cjs.Source; }
|
|
4351
4073
|
});
|
|
4352
4074
|
Object.defineProperty(exports, "Sources", {
|
|
4353
4075
|
enumerable: true,
|
|
4354
|
-
get: function () { return
|
|
4076
|
+
get: function () { return chunk4WOBNRRB_cjs.Sources; }
|
|
4355
4077
|
});
|
|
4356
4078
|
Object.defineProperty(exports, "SourcesContent", {
|
|
4357
4079
|
enumerable: true,
|
|
4358
|
-
get: function () { return
|
|
4080
|
+
get: function () { return chunk4WOBNRRB_cjs.SourcesContent; }
|
|
4359
4081
|
});
|
|
4360
4082
|
Object.defineProperty(exports, "SourcesTrigger", {
|
|
4361
4083
|
enumerable: true,
|
|
4362
|
-
get: function () { return
|
|
4084
|
+
get: function () { return chunk4WOBNRRB_cjs.SourcesTrigger; }
|
|
4363
4085
|
});
|
|
4364
4086
|
Object.defineProperty(exports, "SpinnerLoader", {
|
|
4365
4087
|
enumerable: true,
|
|
4366
|
-
get: function () { return
|
|
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;
|