@krak-stack/registry 0.1.3 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/ui/app-brand.js +20 -20
- package/dist/components/ui/code-block.js +38 -38
- package/dist/components/ui/copy-button.js +16 -16
- package/dist/components/ui/data-table.js +687 -687
- package/dist/components/ui/editing-locale-switcher.js +54 -54
- package/dist/components/ui/effect-form.js +492 -492
- package/dist/components/ui/file-picker.js +96 -96
- package/dist/components/ui/form.js +418 -418
- package/dist/components/ui/google-map.js +27 -27
- package/dist/components/ui/icon-input.js +93 -93
- package/dist/components/ui/loading.js +5 -5
- package/dist/components/ui/locale-switcher.js +48 -48
- package/dist/components/ui/pagination.js +92 -92
- package/dist/components/ui/search-menu.js +93 -93
- package/dist/components/ui/sidebar-layout.js +156 -156
- package/dist/components/ui/stats-card.js +28 -28
- package/dist/components/ui/theme-switcher.js +64 -64
- package/dist/components/ui/virtualized-combobox.js +66 -66
- package/dist/lib/docs-ai.js +14 -14
- package/dist/lib/docs-core.js +396 -396
- package/dist/services/agent/client/index.js +364 -364
- package/package.json +2 -2
|
@@ -158,7 +158,7 @@ function cn(...inputs) {
|
|
|
158
158
|
}
|
|
159
159
|
|
|
160
160
|
// ../../src/components/ui/alert.tsx
|
|
161
|
-
import {
|
|
161
|
+
import { jsx } from "react/jsx-runtime";
|
|
162
162
|
var alertVariants = cva("group/alert relative grid w-full gap-0.5 rounded-lg border px-4 py-3 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2.5 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4", {
|
|
163
163
|
variants: {
|
|
164
164
|
variant: {
|
|
@@ -175,29 +175,29 @@ function Alert({
|
|
|
175
175
|
variant,
|
|
176
176
|
...props
|
|
177
177
|
}) {
|
|
178
|
-
return /* @__PURE__ */
|
|
178
|
+
return /* @__PURE__ */ jsx("div", {
|
|
179
179
|
"data-slot": "alert",
|
|
180
180
|
role: "alert",
|
|
181
181
|
className: cn(alertVariants({ variant }), className),
|
|
182
182
|
...props
|
|
183
|
-
}
|
|
183
|
+
});
|
|
184
184
|
}
|
|
185
185
|
function AlertTitle({ className, ...props }) {
|
|
186
|
-
return /* @__PURE__ */
|
|
186
|
+
return /* @__PURE__ */ jsx("div", {
|
|
187
187
|
"data-slot": "alert-title",
|
|
188
188
|
className: cn("font-medium group-has-[>svg]/alert:col-start-2 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground", className),
|
|
189
189
|
...props
|
|
190
|
-
}
|
|
190
|
+
});
|
|
191
191
|
}
|
|
192
192
|
function AlertDescription({
|
|
193
193
|
className,
|
|
194
194
|
...props
|
|
195
195
|
}) {
|
|
196
|
-
return /* @__PURE__ */
|
|
196
|
+
return /* @__PURE__ */ jsx("div", {
|
|
197
197
|
"data-slot": "alert-description",
|
|
198
198
|
className: cn("text-sm text-balance text-muted-foreground md:text-pretty [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4", className),
|
|
199
199
|
...props
|
|
200
|
-
}
|
|
200
|
+
});
|
|
201
201
|
}
|
|
202
202
|
|
|
203
203
|
// ../../src/components/ui/badge.tsx
|
|
@@ -242,7 +242,7 @@ function Badge({
|
|
|
242
242
|
import { mergeProps as mergeProps2 } from "@base-ui/react/merge-props";
|
|
243
243
|
import { useRender as useRender2 } from "@base-ui/react/use-render";
|
|
244
244
|
import { cva as cva3 } from "class-variance-authority";
|
|
245
|
-
import {
|
|
245
|
+
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
246
246
|
var bubbleVariants = cva3("group/bubble relative flex w-fit max-w-[80%] min-w-0 flex-col gap-1 group-data-[align=end]/message:self-end data-[align=end]:self-end data-[variant=ghost]:max-w-full", {
|
|
247
247
|
variants: {
|
|
248
248
|
variant: {
|
|
@@ -265,13 +265,13 @@ function Bubble({
|
|
|
265
265
|
className,
|
|
266
266
|
...props
|
|
267
267
|
}) {
|
|
268
|
-
return /* @__PURE__ */
|
|
268
|
+
return /* @__PURE__ */ jsx2("div", {
|
|
269
269
|
"data-slot": "bubble",
|
|
270
270
|
"data-variant": variant,
|
|
271
271
|
"data-align": align,
|
|
272
272
|
className: cn(bubbleVariants({ variant }), className),
|
|
273
273
|
...props
|
|
274
|
-
}
|
|
274
|
+
});
|
|
275
275
|
}
|
|
276
276
|
function BubbleContent({
|
|
277
277
|
className,
|
|
@@ -309,7 +309,7 @@ var bubbleReactionsVariants = cva3("absolute z-10 flex w-fit shrink-0 items-cent
|
|
|
309
309
|
// ../../src/components/ui/button.tsx
|
|
310
310
|
import { Button as ButtonPrimitive } from "@base-ui/react/button";
|
|
311
311
|
import { cva as cva4 } from "class-variance-authority";
|
|
312
|
-
import {
|
|
312
|
+
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
313
313
|
var buttonVariants = cva4("group/button inline-flex shrink-0 items-center justify-center rounded-md border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", {
|
|
314
314
|
variants: {
|
|
315
315
|
variant: {
|
|
@@ -342,83 +342,83 @@ function Button({
|
|
|
342
342
|
size = "default",
|
|
343
343
|
...props
|
|
344
344
|
}) {
|
|
345
|
-
return /* @__PURE__ */
|
|
345
|
+
return /* @__PURE__ */ jsx3(ButtonPrimitive, {
|
|
346
346
|
"data-slot": "button",
|
|
347
347
|
className: cn(buttonVariants({ variant, size, className })),
|
|
348
348
|
...props
|
|
349
|
-
}
|
|
349
|
+
});
|
|
350
350
|
}
|
|
351
351
|
|
|
352
352
|
// ../../src/components/ui/card.tsx
|
|
353
|
-
import {
|
|
353
|
+
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
354
354
|
function Card({
|
|
355
355
|
className,
|
|
356
356
|
size = "default",
|
|
357
357
|
...props
|
|
358
358
|
}) {
|
|
359
|
-
return /* @__PURE__ */
|
|
359
|
+
return /* @__PURE__ */ jsx4("div", {
|
|
360
360
|
"data-slot": "card",
|
|
361
361
|
"data-size": size,
|
|
362
362
|
className: cn("group/card flex flex-col gap-(--card-spacing) overflow-hidden rounded-xl bg-card py-(--card-spacing) text-sm text-card-foreground shadow-xs ring-1 ring-foreground/10 [--card-spacing:--spacing(6)] has-[>img:first-child]:pt-0 data-[size=sm]:[--card-spacing:--spacing(4)] *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl", className),
|
|
363
363
|
...props
|
|
364
|
-
}
|
|
364
|
+
});
|
|
365
365
|
}
|
|
366
366
|
function CardHeader({ className, ...props }) {
|
|
367
|
-
return /* @__PURE__ */
|
|
367
|
+
return /* @__PURE__ */ jsx4("div", {
|
|
368
368
|
"data-slot": "card-header",
|
|
369
369
|
className: cn("group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-(--card-spacing) has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-(--card-spacing)", className),
|
|
370
370
|
...props
|
|
371
|
-
}
|
|
371
|
+
});
|
|
372
372
|
}
|
|
373
373
|
function CardTitle({ className, ...props }) {
|
|
374
|
-
return /* @__PURE__ */
|
|
374
|
+
return /* @__PURE__ */ jsx4("div", {
|
|
375
375
|
"data-slot": "card-title",
|
|
376
376
|
className: cn("text-base leading-normal font-medium group-data-[size=sm]/card:text-sm", className),
|
|
377
377
|
...props
|
|
378
|
-
}
|
|
378
|
+
});
|
|
379
379
|
}
|
|
380
380
|
function CardDescription({ className, ...props }) {
|
|
381
|
-
return /* @__PURE__ */
|
|
381
|
+
return /* @__PURE__ */ jsx4("div", {
|
|
382
382
|
"data-slot": "card-description",
|
|
383
383
|
className: cn("text-sm text-muted-foreground", className),
|
|
384
384
|
...props
|
|
385
|
-
}
|
|
385
|
+
});
|
|
386
386
|
}
|
|
387
387
|
function CardContent({ className, ...props }) {
|
|
388
|
-
return /* @__PURE__ */
|
|
388
|
+
return /* @__PURE__ */ jsx4("div", {
|
|
389
389
|
"data-slot": "card-content",
|
|
390
390
|
className: cn("px-(--card-spacing)", className),
|
|
391
391
|
...props
|
|
392
|
-
}
|
|
392
|
+
});
|
|
393
393
|
}
|
|
394
394
|
function CardFooter({ className, ...props }) {
|
|
395
|
-
return /* @__PURE__ */
|
|
395
|
+
return /* @__PURE__ */ jsx4("div", {
|
|
396
396
|
"data-slot": "card-footer",
|
|
397
397
|
className: cn("flex items-center rounded-b-xl px-(--card-spacing) [.border-t]:pt-(--card-spacing)", className),
|
|
398
398
|
...props
|
|
399
|
-
}
|
|
399
|
+
});
|
|
400
400
|
}
|
|
401
401
|
|
|
402
402
|
// ../../src/components/ui/collapsible.tsx
|
|
403
403
|
import { Collapsible as CollapsiblePrimitive } from "@base-ui/react/collapsible";
|
|
404
|
-
import {
|
|
404
|
+
import { jsx as jsx5 } from "react/jsx-runtime";
|
|
405
405
|
function Collapsible({ ...props }) {
|
|
406
|
-
return /* @__PURE__ */
|
|
406
|
+
return /* @__PURE__ */ jsx5(CollapsiblePrimitive.Root, {
|
|
407
407
|
"data-slot": "collapsible",
|
|
408
408
|
...props
|
|
409
|
-
}
|
|
409
|
+
});
|
|
410
410
|
}
|
|
411
411
|
function CollapsibleTrigger({ ...props }) {
|
|
412
|
-
return /* @__PURE__ */
|
|
412
|
+
return /* @__PURE__ */ jsx5(CollapsiblePrimitive.Trigger, {
|
|
413
413
|
"data-slot": "collapsible-trigger",
|
|
414
414
|
...props
|
|
415
|
-
}
|
|
415
|
+
});
|
|
416
416
|
}
|
|
417
417
|
function CollapsibleContent({ ...props }) {
|
|
418
|
-
return /* @__PURE__ */
|
|
418
|
+
return /* @__PURE__ */ jsx5(CollapsiblePrimitive.Panel, {
|
|
419
419
|
"data-slot": "collapsible-content",
|
|
420
420
|
...props
|
|
421
|
-
}
|
|
421
|
+
});
|
|
422
422
|
}
|
|
423
423
|
|
|
424
424
|
// ../../src/components/ui/command.tsx
|
|
@@ -428,118 +428,118 @@ import { SearchIcon } from "lucide-react";
|
|
|
428
428
|
// ../../src/components/ui/dialog.tsx
|
|
429
429
|
import { Dialog as DialogPrimitive } from "@base-ui/react/dialog";
|
|
430
430
|
import { XIcon } from "lucide-react";
|
|
431
|
-
import {
|
|
431
|
+
import { jsx as jsx6, jsxs } from "react/jsx-runtime";
|
|
432
432
|
function Dialog({ ...props }) {
|
|
433
|
-
return /* @__PURE__ */
|
|
433
|
+
return /* @__PURE__ */ jsx6(DialogPrimitive.Root, {
|
|
434
434
|
"data-slot": "dialog",
|
|
435
435
|
...props
|
|
436
|
-
}
|
|
436
|
+
});
|
|
437
437
|
}
|
|
438
438
|
function DialogTrigger({ ...props }) {
|
|
439
|
-
return /* @__PURE__ */
|
|
439
|
+
return /* @__PURE__ */ jsx6(DialogPrimitive.Trigger, {
|
|
440
440
|
"data-slot": "dialog-trigger",
|
|
441
441
|
...props
|
|
442
|
-
}
|
|
442
|
+
});
|
|
443
443
|
}
|
|
444
444
|
function DialogPortal({ ...props }) {
|
|
445
|
-
return /* @__PURE__ */
|
|
445
|
+
return /* @__PURE__ */ jsx6(DialogPrimitive.Portal, {
|
|
446
446
|
"data-slot": "dialog-portal",
|
|
447
447
|
...props
|
|
448
|
-
}
|
|
448
|
+
});
|
|
449
449
|
}
|
|
450
450
|
function DialogClose({ ...props }) {
|
|
451
|
-
return /* @__PURE__ */
|
|
451
|
+
return /* @__PURE__ */ jsx6(DialogPrimitive.Close, {
|
|
452
452
|
"data-slot": "dialog-close",
|
|
453
453
|
...props
|
|
454
|
-
}
|
|
454
|
+
});
|
|
455
455
|
}
|
|
456
456
|
function DialogHeader({ className, ...props }) {
|
|
457
|
-
return /* @__PURE__ */
|
|
457
|
+
return /* @__PURE__ */ jsx6("div", {
|
|
458
458
|
"data-slot": "dialog-header",
|
|
459
459
|
className: cn("grid gap-1.5", className),
|
|
460
460
|
...props
|
|
461
|
-
}
|
|
461
|
+
});
|
|
462
462
|
}
|
|
463
463
|
function DialogTitle({
|
|
464
464
|
className,
|
|
465
465
|
...props
|
|
466
466
|
}) {
|
|
467
|
-
return /* @__PURE__ */
|
|
467
|
+
return /* @__PURE__ */ jsx6(DialogPrimitive.Title, {
|
|
468
468
|
"data-slot": "dialog-title",
|
|
469
469
|
className: cn("text-lg font-medium", className),
|
|
470
470
|
...props
|
|
471
|
-
}
|
|
471
|
+
});
|
|
472
472
|
}
|
|
473
473
|
|
|
474
474
|
// ../../src/components/ui/command.tsx
|
|
475
|
-
import {
|
|
475
|
+
import { jsx as jsx7, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
476
476
|
function Command({
|
|
477
477
|
className,
|
|
478
478
|
...props
|
|
479
479
|
}) {
|
|
480
|
-
return /* @__PURE__ */
|
|
480
|
+
return /* @__PURE__ */ jsx7(CommandPrimitive, {
|
|
481
481
|
"data-slot": "command",
|
|
482
482
|
className: cn("flex size-full flex-col overflow-hidden rounded-xl bg-popover p-1 text-popover-foreground", className),
|
|
483
483
|
...props
|
|
484
|
-
}
|
|
484
|
+
});
|
|
485
485
|
}
|
|
486
486
|
function CommandList({
|
|
487
487
|
className,
|
|
488
488
|
...props
|
|
489
489
|
}) {
|
|
490
|
-
return /* @__PURE__ */
|
|
490
|
+
return /* @__PURE__ */ jsx7(CommandPrimitive.List, {
|
|
491
491
|
"data-slot": "command-list",
|
|
492
492
|
className: cn("max-h-72 scroll-py-1 overflow-x-hidden overflow-y-auto outline-none", className),
|
|
493
493
|
...props
|
|
494
|
-
}
|
|
494
|
+
});
|
|
495
495
|
}
|
|
496
496
|
function CommandEmpty({
|
|
497
497
|
className,
|
|
498
498
|
...props
|
|
499
499
|
}) {
|
|
500
|
-
return /* @__PURE__ */
|
|
500
|
+
return /* @__PURE__ */ jsx7(CommandPrimitive.Empty, {
|
|
501
501
|
"data-slot": "command-empty",
|
|
502
502
|
className: cn("py-6 text-center text-sm", className),
|
|
503
503
|
...props
|
|
504
|
-
}
|
|
504
|
+
});
|
|
505
505
|
}
|
|
506
506
|
function CommandGroup({
|
|
507
507
|
className,
|
|
508
508
|
...props
|
|
509
509
|
}) {
|
|
510
|
-
return /* @__PURE__ */
|
|
510
|
+
return /* @__PURE__ */ jsx7(CommandPrimitive.Group, {
|
|
511
511
|
"data-slot": "command-group",
|
|
512
512
|
className: cn("overflow-hidden p-1 text-foreground **:[[cmdk-group-heading]]:px-2 **:[[cmdk-group-heading]]:py-1.5 **:[[cmdk-group-heading]]:text-xs **:[[cmdk-group-heading]]:font-medium **:[[cmdk-group-heading]]:text-muted-foreground", className),
|
|
513
513
|
...props
|
|
514
|
-
}
|
|
514
|
+
});
|
|
515
515
|
}
|
|
516
516
|
function CommandItem({
|
|
517
517
|
className,
|
|
518
518
|
...props
|
|
519
519
|
}) {
|
|
520
|
-
return /* @__PURE__ */
|
|
520
|
+
return /* @__PURE__ */ jsx7(CommandPrimitive.Item, {
|
|
521
521
|
"data-slot": "command-item",
|
|
522
522
|
className: cn("group/command-item relative flex cursor-default items-center gap-2 rounded-lg px-2 py-1.5 text-sm outline-none select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-selected:bg-muted data-selected:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
|
|
523
523
|
...props
|
|
524
|
-
}
|
|
524
|
+
});
|
|
525
525
|
}
|
|
526
526
|
|
|
527
527
|
// ../../src/components/ui/empty.tsx
|
|
528
528
|
import { cva as cva5 } from "class-variance-authority";
|
|
529
|
-
import {
|
|
529
|
+
import { jsx as jsx8 } from "react/jsx-runtime";
|
|
530
530
|
function Empty({ className, ...props }) {
|
|
531
|
-
return /* @__PURE__ */
|
|
531
|
+
return /* @__PURE__ */ jsx8("div", {
|
|
532
532
|
"data-slot": "empty",
|
|
533
533
|
className: cn("flex w-full min-w-0 flex-1 flex-col items-center justify-center gap-4 rounded-lg border-dashed p-12 text-center text-balance", className),
|
|
534
534
|
...props
|
|
535
|
-
}
|
|
535
|
+
});
|
|
536
536
|
}
|
|
537
537
|
function EmptyHeader({ className, ...props }) {
|
|
538
|
-
return /* @__PURE__ */
|
|
538
|
+
return /* @__PURE__ */ jsx8("div", {
|
|
539
539
|
"data-slot": "empty-header",
|
|
540
540
|
className: cn("flex max-w-sm flex-col items-center gap-2", className),
|
|
541
541
|
...props
|
|
542
|
-
}
|
|
542
|
+
});
|
|
543
543
|
}
|
|
544
544
|
var emptyMediaVariants = cva5("mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0", {
|
|
545
545
|
variants: {
|
|
@@ -557,26 +557,26 @@ function EmptyMedia({
|
|
|
557
557
|
variant = "default",
|
|
558
558
|
...props
|
|
559
559
|
}) {
|
|
560
|
-
return /* @__PURE__ */
|
|
560
|
+
return /* @__PURE__ */ jsx8("div", {
|
|
561
561
|
"data-slot": "empty-icon",
|
|
562
562
|
"data-variant": variant,
|
|
563
563
|
className: cn(emptyMediaVariants({ variant, className })),
|
|
564
564
|
...props
|
|
565
|
-
}
|
|
565
|
+
});
|
|
566
566
|
}
|
|
567
567
|
function EmptyTitle({ className, ...props }) {
|
|
568
|
-
return /* @__PURE__ */
|
|
568
|
+
return /* @__PURE__ */ jsx8("div", {
|
|
569
569
|
"data-slot": "empty-title",
|
|
570
570
|
className: cn("text-lg font-medium tracking-tight", className),
|
|
571
571
|
...props
|
|
572
|
-
}
|
|
572
|
+
});
|
|
573
573
|
}
|
|
574
574
|
function EmptyDescription({ className, ...props }) {
|
|
575
|
-
return /* @__PURE__ */
|
|
575
|
+
return /* @__PURE__ */ jsx8("div", {
|
|
576
576
|
"data-slot": "empty-description",
|
|
577
577
|
className: cn("text-sm/relaxed text-muted-foreground [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary", className),
|
|
578
578
|
...props
|
|
579
|
-
}
|
|
579
|
+
});
|
|
580
580
|
}
|
|
581
581
|
|
|
582
582
|
// ../../src/components/ui/input-group.tsx
|
|
@@ -584,27 +584,27 @@ import { cva as cva6 } from "class-variance-authority";
|
|
|
584
584
|
|
|
585
585
|
// ../../src/components/ui/input.tsx
|
|
586
586
|
import { Input as InputPrimitive } from "@base-ui/react/input";
|
|
587
|
-
import {
|
|
587
|
+
import { jsx as jsx9 } from "react/jsx-runtime";
|
|
588
588
|
|
|
589
589
|
// ../../src/components/ui/textarea.tsx
|
|
590
|
-
import {
|
|
590
|
+
import { jsx as jsx10 } from "react/jsx-runtime";
|
|
591
591
|
function Textarea({ className, ...props }) {
|
|
592
|
-
return /* @__PURE__ */
|
|
592
|
+
return /* @__PURE__ */ jsx10("textarea", {
|
|
593
593
|
"data-slot": "textarea",
|
|
594
594
|
className: cn("flex field-sizing-content min-h-16 w-full rounded-md border border-input bg-transparent px-2.5 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40", className),
|
|
595
595
|
...props
|
|
596
|
-
}
|
|
596
|
+
});
|
|
597
597
|
}
|
|
598
598
|
|
|
599
599
|
// ../../src/components/ui/input-group.tsx
|
|
600
|
-
import {
|
|
600
|
+
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
601
601
|
function InputGroup({ className, ...props }) {
|
|
602
|
-
return /* @__PURE__ */
|
|
602
|
+
return /* @__PURE__ */ jsx11("div", {
|
|
603
603
|
"data-slot": "input-group",
|
|
604
604
|
role: "group",
|
|
605
605
|
className: cn("group/input-group relative flex h-9 w-full min-w-0 items-center rounded-md border border-input shadow-xs transition-[color,box-shadow] outline-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-3 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto dark:bg-input/30 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5", className),
|
|
606
606
|
...props
|
|
607
|
-
}
|
|
607
|
+
});
|
|
608
608
|
}
|
|
609
609
|
var inputGroupAddonVariants = cva6("flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium text-muted-foreground select-none group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4", {
|
|
610
610
|
variants: {
|
|
@@ -622,7 +622,7 @@ function InputGroupAddon({
|
|
|
622
622
|
align = "inline-start",
|
|
623
623
|
...props
|
|
624
624
|
}) {
|
|
625
|
-
return /* @__PURE__ */
|
|
625
|
+
return /* @__PURE__ */ jsx11("div", {
|
|
626
626
|
role: "group",
|
|
627
627
|
"data-slot": "input-group-addon",
|
|
628
628
|
"data-align": align,
|
|
@@ -633,7 +633,7 @@ function InputGroupAddon({
|
|
|
633
633
|
event.currentTarget.parentElement?.querySelector("input")?.focus();
|
|
634
634
|
},
|
|
635
635
|
...props
|
|
636
|
-
}
|
|
636
|
+
});
|
|
637
637
|
}
|
|
638
638
|
var inputGroupButtonVariants = cva6("flex items-center gap-2 text-sm shadow-none", {
|
|
639
639
|
variants: {
|
|
@@ -653,30 +653,30 @@ function InputGroupButton({
|
|
|
653
653
|
size = "xs",
|
|
654
654
|
...props
|
|
655
655
|
}) {
|
|
656
|
-
return /* @__PURE__ */
|
|
656
|
+
return /* @__PURE__ */ jsx11(Button, {
|
|
657
657
|
type,
|
|
658
658
|
"data-size": size,
|
|
659
659
|
variant,
|
|
660
660
|
className: cn(inputGroupButtonVariants({ size }), className),
|
|
661
661
|
...props
|
|
662
|
-
}
|
|
662
|
+
});
|
|
663
663
|
}
|
|
664
664
|
function InputGroupTextarea({
|
|
665
665
|
className,
|
|
666
666
|
...props
|
|
667
667
|
}) {
|
|
668
|
-
return /* @__PURE__ */
|
|
668
|
+
return /* @__PURE__ */ jsx11(Textarea, {
|
|
669
669
|
"data-slot": "input-group-control",
|
|
670
670
|
className: cn("flex-1 resize-none rounded-none border-0 bg-transparent py-2 shadow-none ring-0 focus-visible:ring-0 aria-invalid:ring-0 dark:bg-transparent", className),
|
|
671
671
|
...props
|
|
672
|
-
}
|
|
672
|
+
});
|
|
673
673
|
}
|
|
674
674
|
|
|
675
675
|
// ../../src/components/ui/marker.tsx
|
|
676
676
|
import { mergeProps as mergeProps3 } from "@base-ui/react/merge-props";
|
|
677
677
|
import { useRender as useRender3 } from "@base-ui/react/use-render";
|
|
678
678
|
import { cva as cva7 } from "class-variance-authority";
|
|
679
|
-
import {
|
|
679
|
+
import { jsx as jsx12 } from "react/jsx-runtime";
|
|
680
680
|
var markerVariants = cva7("group/marker relative flex min-h-4 w-full items-center gap-2 text-left text-sm text-muted-foreground [&_svg:not([class*='size-'])]:size-4 [a]:underline [a]:underline-offset-3 [a]:hover:text-foreground", {
|
|
681
681
|
variants: {
|
|
682
682
|
variant: {
|
|
@@ -705,33 +705,33 @@ function Marker({
|
|
|
705
705
|
});
|
|
706
706
|
}
|
|
707
707
|
function MarkerContent({ className, ...props }) {
|
|
708
|
-
return /* @__PURE__ */
|
|
708
|
+
return /* @__PURE__ */ jsx12("span", {
|
|
709
709
|
"data-slot": "marker-content",
|
|
710
710
|
className: cn("min-w-0 wrap-break-word group-data-[variant=separator]/marker:flex-none group-data-[variant=separator]/marker:text-center *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground", className),
|
|
711
711
|
...props
|
|
712
|
-
}
|
|
712
|
+
});
|
|
713
713
|
}
|
|
714
714
|
|
|
715
715
|
// ../../src/components/ui/message.tsx
|
|
716
|
-
import {
|
|
716
|
+
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
717
717
|
function Message({
|
|
718
718
|
className,
|
|
719
719
|
align = "start",
|
|
720
720
|
...props
|
|
721
721
|
}) {
|
|
722
|
-
return /* @__PURE__ */
|
|
722
|
+
return /* @__PURE__ */ jsx13("div", {
|
|
723
723
|
"data-slot": "message",
|
|
724
724
|
"data-align": align,
|
|
725
725
|
className: cn("group/message relative flex w-full min-w-0 gap-2 text-sm data-[align=end]:flex-row-reverse", className),
|
|
726
726
|
...props
|
|
727
|
-
}
|
|
727
|
+
});
|
|
728
728
|
}
|
|
729
729
|
function MessageContent({ className, ...props }) {
|
|
730
|
-
return /* @__PURE__ */
|
|
730
|
+
return /* @__PURE__ */ jsx13("div", {
|
|
731
731
|
"data-slot": "message-content",
|
|
732
732
|
className: cn("flex w-full min-w-0 flex-col gap-2.5 wrap-break-word group-data-[align=end]/message:*:data-slot:self-end", className),
|
|
733
733
|
...props
|
|
734
|
-
}
|
|
734
|
+
});
|
|
735
735
|
}
|
|
736
736
|
|
|
737
737
|
// ../../src/components/ui/message-scroller.tsx
|
|
@@ -742,53 +742,53 @@ import {
|
|
|
742
742
|
useMessageScrollerVisibility
|
|
743
743
|
} from "@shadcn/react/message-scroller";
|
|
744
744
|
import { ArrowDownIcon } from "lucide-react";
|
|
745
|
-
import {
|
|
745
|
+
import { jsx as jsx14, jsxs as jsxs3, Fragment } from "react/jsx-runtime";
|
|
746
746
|
function MessageScrollerProvider(props) {
|
|
747
|
-
return /* @__PURE__ */
|
|
747
|
+
return /* @__PURE__ */ jsx14(MessageScrollerPrimitive.Provider, {
|
|
748
748
|
...props
|
|
749
|
-
}
|
|
749
|
+
});
|
|
750
750
|
}
|
|
751
751
|
function MessageScroller({
|
|
752
752
|
className,
|
|
753
753
|
...props
|
|
754
754
|
}) {
|
|
755
|
-
return /* @__PURE__ */
|
|
755
|
+
return /* @__PURE__ */ jsx14(MessageScrollerPrimitive.Root, {
|
|
756
756
|
"data-slot": "message-scroller",
|
|
757
757
|
className: cn("group/message-scroller relative flex size-full min-h-0 flex-col overflow-hidden", className),
|
|
758
758
|
...props
|
|
759
|
-
}
|
|
759
|
+
});
|
|
760
760
|
}
|
|
761
761
|
function MessageScrollerViewport({
|
|
762
762
|
className,
|
|
763
763
|
...props
|
|
764
764
|
}) {
|
|
765
|
-
return /* @__PURE__ */
|
|
765
|
+
return /* @__PURE__ */ jsx14(MessageScrollerPrimitive.Viewport, {
|
|
766
766
|
"data-slot": "message-scroller-viewport",
|
|
767
767
|
className: cn("size-full min-h-0 min-w-0 scroll-fade-b scrollbar-thin scrollbar-gutter-stable overflow-y-auto overscroll-contain contain-content data-autoscrolling:scrollbar-thumb-transparent data-autoscrolling:scrollbar-track-transparent", className),
|
|
768
768
|
...props
|
|
769
|
-
}
|
|
769
|
+
});
|
|
770
770
|
}
|
|
771
771
|
function MessageScrollerContent({
|
|
772
772
|
className,
|
|
773
773
|
...props
|
|
774
774
|
}) {
|
|
775
|
-
return /* @__PURE__ */
|
|
775
|
+
return /* @__PURE__ */ jsx14(MessageScrollerPrimitive.Content, {
|
|
776
776
|
"data-slot": "message-scroller-content",
|
|
777
777
|
className: cn("flex h-max min-h-full flex-col gap-8", className),
|
|
778
778
|
...props
|
|
779
|
-
}
|
|
779
|
+
});
|
|
780
780
|
}
|
|
781
781
|
function MessageScrollerItem({
|
|
782
782
|
className,
|
|
783
783
|
scrollAnchor = false,
|
|
784
784
|
...props
|
|
785
785
|
}) {
|
|
786
|
-
return /* @__PURE__ */
|
|
786
|
+
return /* @__PURE__ */ jsx14(MessageScrollerPrimitive.Item, {
|
|
787
787
|
"data-slot": "message-scroller-item",
|
|
788
788
|
scrollAnchor,
|
|
789
789
|
className: cn("min-w-0 shrink-0 [contain-intrinsic-size:auto_10rem] [content-visibility:auto]", className),
|
|
790
790
|
...props
|
|
791
|
-
}
|
|
791
|
+
});
|
|
792
792
|
}
|
|
793
793
|
function MessageScrollerButton({
|
|
794
794
|
direction = "end",
|
|
@@ -799,44 +799,44 @@ function MessageScrollerButton({
|
|
|
799
799
|
size = "icon-sm",
|
|
800
800
|
...props
|
|
801
801
|
}) {
|
|
802
|
-
return /* @__PURE__ */
|
|
802
|
+
return /* @__PURE__ */ jsx14(MessageScrollerPrimitive.Button, {
|
|
803
803
|
"data-slot": "message-scroller-button",
|
|
804
804
|
"data-direction": direction,
|
|
805
805
|
"data-variant": variant,
|
|
806
806
|
"data-size": size,
|
|
807
807
|
direction,
|
|
808
808
|
className: cn("absolute inset-s-1/2 -translate-x-1/2 border-border bg-background text-foreground transition-[translate,scale,opacity] duration-200 hover:bg-muted hover:text-foreground data-[active=false]:pointer-events-none data-[active=false]:scale-95 data-[active=false]:opacity-0 data-[active=false]:duration-400 data-[active=false]:ease-[cubic-bezier(0.7,0,0.84,0)] data-[active=true]:translate-y-0 data-[active=true]:scale-100 data-[active=true]:opacity-100 data-[active=true]:ease-[cubic-bezier(0.23,1,0.32,1)] data-[direction=end]:bottom-4 data-[direction=end]:data-[active=false]:translate-y-full data-[direction=start]:top-4 data-[direction=start]:data-[active=false]:-translate-y-full rtl:translate-x-1/2 data-[direction=start]:[&_svg]:rotate-180", className),
|
|
809
|
-
render: render ?? /* @__PURE__ */
|
|
809
|
+
render: render ?? /* @__PURE__ */ jsx14(Button, {
|
|
810
810
|
variant,
|
|
811
811
|
size
|
|
812
|
-
}
|
|
812
|
+
}),
|
|
813
813
|
...props,
|
|
814
|
-
children: children ?? /* @__PURE__ */
|
|
814
|
+
children: children ?? /* @__PURE__ */ jsxs3(Fragment, {
|
|
815
815
|
children: [
|
|
816
|
-
/* @__PURE__ */
|
|
817
|
-
/* @__PURE__ */
|
|
816
|
+
/* @__PURE__ */ jsx14(ArrowDownIcon, {}),
|
|
817
|
+
/* @__PURE__ */ jsx14("span", {
|
|
818
818
|
className: "sr-only",
|
|
819
819
|
children: direction === "end" ? "Scroll to end" : "Scroll to start"
|
|
820
|
-
}
|
|
820
|
+
})
|
|
821
821
|
]
|
|
822
|
-
}
|
|
823
|
-
}
|
|
822
|
+
})
|
|
823
|
+
});
|
|
824
824
|
}
|
|
825
825
|
|
|
826
826
|
// ../../src/components/ui/popover.tsx
|
|
827
827
|
import { Popover as PopoverPrimitive } from "@base-ui/react/popover";
|
|
828
|
-
import {
|
|
828
|
+
import { jsx as jsx15 } from "react/jsx-runtime";
|
|
829
829
|
function Popover({ ...props }) {
|
|
830
|
-
return /* @__PURE__ */
|
|
830
|
+
return /* @__PURE__ */ jsx15(PopoverPrimitive.Root, {
|
|
831
831
|
"data-slot": "popover",
|
|
832
832
|
...props
|
|
833
|
-
}
|
|
833
|
+
});
|
|
834
834
|
}
|
|
835
835
|
function PopoverTrigger({ ...props }) {
|
|
836
|
-
return /* @__PURE__ */
|
|
836
|
+
return /* @__PURE__ */ jsx15(PopoverPrimitive.Trigger, {
|
|
837
837
|
"data-slot": "popover-trigger",
|
|
838
838
|
...props
|
|
839
|
-
}
|
|
839
|
+
});
|
|
840
840
|
}
|
|
841
841
|
function PopoverContent({
|
|
842
842
|
className,
|
|
@@ -846,37 +846,37 @@ function PopoverContent({
|
|
|
846
846
|
sideOffset = 4,
|
|
847
847
|
...props
|
|
848
848
|
}) {
|
|
849
|
-
return /* @__PURE__ */
|
|
850
|
-
children: /* @__PURE__ */
|
|
849
|
+
return /* @__PURE__ */ jsx15(PopoverPrimitive.Portal, {
|
|
850
|
+
children: /* @__PURE__ */ jsx15(PopoverPrimitive.Positioner, {
|
|
851
851
|
align,
|
|
852
852
|
alignOffset,
|
|
853
853
|
side,
|
|
854
854
|
sideOffset,
|
|
855
855
|
className: "isolate z-50",
|
|
856
|
-
children: /* @__PURE__ */
|
|
856
|
+
children: /* @__PURE__ */ jsx15(PopoverPrimitive.Popup, {
|
|
857
857
|
"data-slot": "popover-content",
|
|
858
858
|
className: cn("z-50 flex w-72 origin-(--transform-origin) flex-col gap-4 rounded-md bg-popover p-4 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className),
|
|
859
859
|
...props
|
|
860
|
-
}
|
|
861
|
-
}
|
|
862
|
-
}
|
|
860
|
+
})
|
|
861
|
+
})
|
|
862
|
+
});
|
|
863
863
|
}
|
|
864
864
|
|
|
865
865
|
// ../../src/components/ui/tooltip.tsx
|
|
866
866
|
import { Tooltip as TooltipPrimitive } from "@base-ui/react/tooltip";
|
|
867
|
-
import {
|
|
867
|
+
import { jsx as jsx16, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
868
868
|
"use client";
|
|
869
869
|
function Tooltip({ ...props }) {
|
|
870
|
-
return /* @__PURE__ */
|
|
870
|
+
return /* @__PURE__ */ jsx16(TooltipPrimitive.Root, {
|
|
871
871
|
"data-slot": "tooltip",
|
|
872
872
|
...props
|
|
873
|
-
}
|
|
873
|
+
});
|
|
874
874
|
}
|
|
875
875
|
function TooltipTrigger({ ...props }) {
|
|
876
|
-
return /* @__PURE__ */
|
|
876
|
+
return /* @__PURE__ */ jsx16(TooltipPrimitive.Trigger, {
|
|
877
877
|
"data-slot": "tooltip-trigger",
|
|
878
878
|
...props
|
|
879
|
-
}
|
|
879
|
+
});
|
|
880
880
|
}
|
|
881
881
|
function TooltipContent({
|
|
882
882
|
className,
|
|
@@ -887,26 +887,26 @@ function TooltipContent({
|
|
|
887
887
|
children,
|
|
888
888
|
...props
|
|
889
889
|
}) {
|
|
890
|
-
return /* @__PURE__ */
|
|
891
|
-
children: /* @__PURE__ */
|
|
890
|
+
return /* @__PURE__ */ jsx16(TooltipPrimitive.Portal, {
|
|
891
|
+
children: /* @__PURE__ */ jsx16(TooltipPrimitive.Positioner, {
|
|
892
892
|
align,
|
|
893
893
|
alignOffset,
|
|
894
894
|
side,
|
|
895
895
|
sideOffset,
|
|
896
896
|
className: "isolate z-50",
|
|
897
|
-
children: /* @__PURE__ */
|
|
897
|
+
children: /* @__PURE__ */ jsxs4(TooltipPrimitive.Popup, {
|
|
898
898
|
"data-slot": "tooltip-content",
|
|
899
899
|
className: cn("z-50 inline-flex w-fit max-w-xs origin-(--transform-origin) items-center gap-1.5 rounded-md bg-foreground px-3 py-1.5 text-xs text-background has-data-[slot=kbd]:pr-1.5 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-sm data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className),
|
|
900
900
|
...props,
|
|
901
901
|
children: [
|
|
902
902
|
children,
|
|
903
|
-
/* @__PURE__ */
|
|
903
|
+
/* @__PURE__ */ jsx16(TooltipPrimitive.Arrow, {
|
|
904
904
|
className: "bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-[2px] data-[side=bottom]:top-1 data-[side=inline-end]:top-1/2! data-[side=inline-end]:-left-1 data-[side=inline-end]:-translate-y-1/2 data-[side=inline-start]:top-1/2! data-[side=inline-start]:-right-1 data-[side=inline-start]:-translate-y-1/2 data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:-translate-y-1/2 data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:-translate-y-1/2 data-[side=top]:-bottom-2.5"
|
|
905
|
-
}
|
|
905
|
+
})
|
|
906
906
|
]
|
|
907
|
-
}
|
|
908
|
-
}
|
|
909
|
-
}
|
|
907
|
+
})
|
|
908
|
+
})
|
|
909
|
+
});
|
|
910
910
|
}
|
|
911
911
|
|
|
912
912
|
// ../../src/paraglide/runtime.js
|
|
@@ -1415,7 +1415,7 @@ var AgentStreamError = Schema.Struct({
|
|
|
1415
1415
|
});
|
|
1416
1416
|
|
|
1417
1417
|
// ../../src/services/agent/client/widget.tsx
|
|
1418
|
-
import {
|
|
1418
|
+
import { jsx as jsx17, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
1419
1419
|
var messages = {
|
|
1420
1420
|
en: {
|
|
1421
1421
|
approve: "Approve",
|
|
@@ -1519,10 +1519,10 @@ var highlightedInput = (input, references) => {
|
|
|
1519
1519
|
return input;
|
|
1520
1520
|
const mentionPattern = new RegExp(`(${mentions.map(escapeRegExp).join("|")})(?![\\p{L}\\p{N}_-])`, "gu");
|
|
1521
1521
|
const mentionSet = new Set(mentions);
|
|
1522
|
-
return input.split(mentionPattern).map((part, index) => mentionSet.has(part) ? /* @__PURE__ */
|
|
1522
|
+
return input.split(mentionPattern).map((part, index) => mentionSet.has(part) ? /* @__PURE__ */ jsx17("span", {
|
|
1523
1523
|
className: "text-primary",
|
|
1524
1524
|
children: part
|
|
1525
|
-
}, `${part}:${index}
|
|
1525
|
+
}, `${part}:${index}`) : part);
|
|
1526
1526
|
};
|
|
1527
1527
|
var referenceSearchQuery = (input) => input.match(/(?:^|\s)@([^@\n]*)$/)?.[1].trimEnd();
|
|
1528
1528
|
var ToolLabel = ({
|
|
@@ -1531,21 +1531,21 @@ var ToolLabel = ({
|
|
|
1531
1531
|
}) => {
|
|
1532
1532
|
if (!description)
|
|
1533
1533
|
return label;
|
|
1534
|
-
return /* @__PURE__ */
|
|
1534
|
+
return /* @__PURE__ */ jsxs5(Tooltip, {
|
|
1535
1535
|
children: [
|
|
1536
|
-
/* @__PURE__ */
|
|
1537
|
-
render: /* @__PURE__ */
|
|
1536
|
+
/* @__PURE__ */ jsx17(TooltipTrigger, {
|
|
1537
|
+
render: /* @__PURE__ */ jsx17("span", {
|
|
1538
1538
|
className: "cursor-help",
|
|
1539
1539
|
tabIndex: 0
|
|
1540
|
-
}
|
|
1540
|
+
}),
|
|
1541
1541
|
children: label
|
|
1542
|
-
}
|
|
1543
|
-
/* @__PURE__ */
|
|
1542
|
+
}),
|
|
1543
|
+
/* @__PURE__ */ jsx17(TooltipContent, {
|
|
1544
1544
|
className: "max-w-sm",
|
|
1545
1545
|
children: description
|
|
1546
|
-
}
|
|
1546
|
+
})
|
|
1547
1547
|
]
|
|
1548
|
-
}
|
|
1548
|
+
});
|
|
1549
1549
|
};
|
|
1550
1550
|
function ToolActivityCard({
|
|
1551
1551
|
disabled,
|
|
@@ -1557,56 +1557,56 @@ function ToolActivityCard({
|
|
|
1557
1557
|
const requiresApproval = tool.status === "approval-required";
|
|
1558
1558
|
const label = tool.metadata.title ?? tool.name;
|
|
1559
1559
|
if (!requiresApproval) {
|
|
1560
|
-
return /* @__PURE__ */
|
|
1560
|
+
return /* @__PURE__ */ jsxs5(Marker, {
|
|
1561
1561
|
children: [
|
|
1562
|
-
/* @__PURE__ */
|
|
1563
|
-
children: /* @__PURE__ */
|
|
1562
|
+
/* @__PURE__ */ jsx17(MarkerContent, {
|
|
1563
|
+
children: /* @__PURE__ */ jsx17("span", {
|
|
1564
1564
|
className: cn("block w-fit max-w-full", tool.status === "running" && "shimmer"),
|
|
1565
|
-
children: /* @__PURE__ */
|
|
1565
|
+
children: /* @__PURE__ */ jsx17(ToolLabel, {
|
|
1566
1566
|
description: tool.metadata.description,
|
|
1567
1567
|
label
|
|
1568
|
-
}
|
|
1569
|
-
}
|
|
1570
|
-
}
|
|
1571
|
-
tool.status === "failed" || tool.status === "denied" ? /* @__PURE__ */
|
|
1568
|
+
})
|
|
1569
|
+
})
|
|
1570
|
+
}),
|
|
1571
|
+
tool.status === "failed" || tool.status === "denied" ? /* @__PURE__ */ jsx17(Badge, {
|
|
1572
1572
|
variant: "destructive",
|
|
1573
1573
|
children: tool.status === "failed" ? labels.toolFailed : labels.toolDenied
|
|
1574
|
-
}
|
|
1574
|
+
}) : null
|
|
1575
1575
|
]
|
|
1576
|
-
}
|
|
1576
|
+
});
|
|
1577
1577
|
}
|
|
1578
|
-
return /* @__PURE__ */
|
|
1578
|
+
return /* @__PURE__ */ jsx17(Collapsible, {
|
|
1579
1579
|
className: "mx-1",
|
|
1580
1580
|
open: detailsOpen,
|
|
1581
1581
|
onOpenChange: setDetailsOpen,
|
|
1582
|
-
children: /* @__PURE__ */
|
|
1582
|
+
children: /* @__PURE__ */ jsxs5(Card, {
|
|
1583
1583
|
size: "sm",
|
|
1584
1584
|
className: "w-full border shadow-none ring-0",
|
|
1585
1585
|
children: [
|
|
1586
|
-
/* @__PURE__ */
|
|
1586
|
+
/* @__PURE__ */ jsxs5(CardHeader, {
|
|
1587
1587
|
children: [
|
|
1588
|
-
/* @__PURE__ */
|
|
1588
|
+
/* @__PURE__ */ jsxs5(CardTitle, {
|
|
1589
1589
|
className: "flex items-center gap-2",
|
|
1590
1590
|
children: [
|
|
1591
|
-
/* @__PURE__ */
|
|
1591
|
+
/* @__PURE__ */ jsx17(ToolLabel, {
|
|
1592
1592
|
description: tool.metadata.description,
|
|
1593
1593
|
label
|
|
1594
|
-
}
|
|
1595
|
-
tool.metadata.destructive ? /* @__PURE__ */
|
|
1594
|
+
}),
|
|
1595
|
+
tool.metadata.destructive ? /* @__PURE__ */ jsx17(Badge, {
|
|
1596
1596
|
variant: "destructive",
|
|
1597
1597
|
children: labels.approvalDestructiveLabel
|
|
1598
|
-
}
|
|
1598
|
+
}) : null
|
|
1599
1599
|
]
|
|
1600
|
-
}
|
|
1601
|
-
/* @__PURE__ */
|
|
1600
|
+
}),
|
|
1601
|
+
/* @__PURE__ */ jsx17(CardDescription, {
|
|
1602
1602
|
children: tool.metadata.destructive ? labels.approvalDestructive : labels.approvalRequired
|
|
1603
|
-
}
|
|
1603
|
+
})
|
|
1604
1604
|
]
|
|
1605
|
-
}
|
|
1606
|
-
/* @__PURE__ */
|
|
1607
|
-
children: /* @__PURE__ */
|
|
1605
|
+
}),
|
|
1606
|
+
/* @__PURE__ */ jsx17(CollapsibleContent, {
|
|
1607
|
+
children: /* @__PURE__ */ jsx17(CardContent, {
|
|
1608
1608
|
className: "min-w-0 overflow-hidden border-y py-3",
|
|
1609
|
-
children: /* @__PURE__ */
|
|
1609
|
+
children: /* @__PURE__ */ jsx17(Streamdown, {
|
|
1610
1610
|
className: "min-w-0 text-xs",
|
|
1611
1611
|
controls: {
|
|
1612
1612
|
code: { copy: true, download: false },
|
|
@@ -1620,45 +1620,45 @@ function ToolActivityCard({
|
|
|
1620
1620
|
copyCode: labels.copy
|
|
1621
1621
|
},
|
|
1622
1622
|
children: inputCodeBlock(tool.input)
|
|
1623
|
-
}
|
|
1624
|
-
}
|
|
1625
|
-
}
|
|
1626
|
-
/* @__PURE__ */
|
|
1623
|
+
})
|
|
1624
|
+
})
|
|
1625
|
+
}),
|
|
1626
|
+
/* @__PURE__ */ jsxs5(CardFooter, {
|
|
1627
1627
|
className: "flex flex-wrap gap-2",
|
|
1628
1628
|
children: [
|
|
1629
|
-
/* @__PURE__ */
|
|
1629
|
+
/* @__PURE__ */ jsx17(Button, {
|
|
1630
1630
|
size: "sm",
|
|
1631
1631
|
variant: tool.metadata.destructive ? "destructive" : "default",
|
|
1632
1632
|
disabled,
|
|
1633
1633
|
onClick: () => onApproval(tool, true),
|
|
1634
1634
|
children: labels.approve
|
|
1635
|
-
}
|
|
1636
|
-
/* @__PURE__ */
|
|
1635
|
+
}),
|
|
1636
|
+
/* @__PURE__ */ jsx17(Button, {
|
|
1637
1637
|
size: "sm",
|
|
1638
1638
|
variant: "outline",
|
|
1639
1639
|
disabled,
|
|
1640
1640
|
onClick: () => onApproval(tool, false),
|
|
1641
1641
|
children: labels.cancel
|
|
1642
|
-
}
|
|
1643
|
-
/* @__PURE__ */
|
|
1644
|
-
render: /* @__PURE__ */
|
|
1642
|
+
}),
|
|
1643
|
+
/* @__PURE__ */ jsx17(CollapsibleTrigger, {
|
|
1644
|
+
render: /* @__PURE__ */ jsxs5(Button, {
|
|
1645
1645
|
variant: "ghost",
|
|
1646
1646
|
size: "sm",
|
|
1647
1647
|
className: "ml-auto",
|
|
1648
1648
|
children: [
|
|
1649
1649
|
detailsOpen ? labels.viewLess : labels.viewMore,
|
|
1650
|
-
/* @__PURE__ */
|
|
1650
|
+
/* @__PURE__ */ jsx17(ChevronDownIcon, {
|
|
1651
1651
|
"data-icon": "inline-end",
|
|
1652
1652
|
className: cn("transition-transform", detailsOpen && "rotate-180")
|
|
1653
|
-
}
|
|
1653
|
+
})
|
|
1654
1654
|
]
|
|
1655
|
-
}
|
|
1656
|
-
}
|
|
1655
|
+
})
|
|
1656
|
+
})
|
|
1657
1657
|
]
|
|
1658
|
-
}
|
|
1658
|
+
})
|
|
1659
1659
|
]
|
|
1660
|
-
}
|
|
1661
|
-
}
|
|
1660
|
+
})
|
|
1661
|
+
});
|
|
1662
1662
|
}
|
|
1663
1663
|
function ToolActivityLog({
|
|
1664
1664
|
disabled,
|
|
@@ -1671,111 +1671,111 @@ function ToolActivityLog({
|
|
|
1671
1671
|
const [logOpen, setLogOpen] = useState(false);
|
|
1672
1672
|
const currentTool = tools.at(-1);
|
|
1673
1673
|
if (!currentTool) {
|
|
1674
|
-
return /* @__PURE__ */
|
|
1675
|
-
children: /* @__PURE__ */
|
|
1676
|
-
children: /* @__PURE__ */
|
|
1674
|
+
return /* @__PURE__ */ jsx17(Marker, {
|
|
1675
|
+
children: /* @__PURE__ */ jsx17(MarkerContent, {
|
|
1676
|
+
children: /* @__PURE__ */ jsx17("span", {
|
|
1677
1677
|
className: "shimmer block w-fit max-w-full",
|
|
1678
1678
|
children: labels.toolRunning
|
|
1679
|
-
}
|
|
1680
|
-
}
|
|
1681
|
-
}
|
|
1679
|
+
})
|
|
1680
|
+
})
|
|
1681
|
+
});
|
|
1682
1682
|
}
|
|
1683
1683
|
const label = currentTool.metadata.title ?? currentTool.name;
|
|
1684
1684
|
const showWorkedSummary = workedSeconds !== undefined && currentTool.status !== "approval-required";
|
|
1685
1685
|
const isWorking = pending && workedSeconds === undefined && currentTool.status !== "approval-required";
|
|
1686
1686
|
const loggedTools = showWorkedSummary ? tools : tools.slice(0, -1);
|
|
1687
1687
|
if (currentTool.status === "approval-required") {
|
|
1688
|
-
return /* @__PURE__ */
|
|
1688
|
+
return /* @__PURE__ */ jsxs5("div", {
|
|
1689
1689
|
className: "flex flex-col gap-2",
|
|
1690
1690
|
children: [
|
|
1691
|
-
loggedTools.length > 0 ? /* @__PURE__ */
|
|
1691
|
+
loggedTools.length > 0 ? /* @__PURE__ */ jsxs5(Collapsible, {
|
|
1692
1692
|
open: logOpen,
|
|
1693
1693
|
onOpenChange: setLogOpen,
|
|
1694
1694
|
children: [
|
|
1695
|
-
/* @__PURE__ */
|
|
1696
|
-
render: /* @__PURE__ */
|
|
1695
|
+
/* @__PURE__ */ jsxs5(CollapsibleTrigger, {
|
|
1696
|
+
render: /* @__PURE__ */ jsx17(Button, {
|
|
1697
1697
|
variant: "ghost",
|
|
1698
1698
|
size: "sm",
|
|
1699
1699
|
className: "ml-auto"
|
|
1700
|
-
}
|
|
1700
|
+
}),
|
|
1701
1701
|
children: [
|
|
1702
1702
|
logOpen ? labels.viewLess : labels.viewMore,
|
|
1703
|
-
/* @__PURE__ */
|
|
1703
|
+
/* @__PURE__ */ jsx17(ChevronDownIcon, {
|
|
1704
1704
|
"data-icon": "inline-end",
|
|
1705
1705
|
className: cn("transition-transform", logOpen && "rotate-180")
|
|
1706
|
-
}
|
|
1706
|
+
})
|
|
1707
1707
|
]
|
|
1708
|
-
}
|
|
1709
|
-
/* @__PURE__ */
|
|
1708
|
+
}),
|
|
1709
|
+
/* @__PURE__ */ jsx17(CollapsibleContent, {
|
|
1710
1710
|
className: "mt-2 ml-2 flex flex-col gap-2 border-l pl-3",
|
|
1711
|
-
children: loggedTools.map((tool) => /* @__PURE__ */
|
|
1711
|
+
children: loggedTools.map((tool) => /* @__PURE__ */ jsx17(ToolActivityCard, {
|
|
1712
1712
|
disabled,
|
|
1713
1713
|
labels,
|
|
1714
1714
|
onApproval,
|
|
1715
1715
|
tool
|
|
1716
|
-
}, tool.toolCallId
|
|
1717
|
-
}
|
|
1716
|
+
}, tool.toolCallId))
|
|
1717
|
+
})
|
|
1718
1718
|
]
|
|
1719
|
-
}
|
|
1720
|
-
/* @__PURE__ */
|
|
1719
|
+
}) : null,
|
|
1720
|
+
/* @__PURE__ */ jsx17(ToolActivityCard, {
|
|
1721
1721
|
disabled,
|
|
1722
1722
|
labels,
|
|
1723
1723
|
onApproval,
|
|
1724
1724
|
tool: currentTool
|
|
1725
|
-
}
|
|
1725
|
+
})
|
|
1726
1726
|
]
|
|
1727
|
-
}
|
|
1727
|
+
});
|
|
1728
1728
|
}
|
|
1729
|
-
return /* @__PURE__ */
|
|
1729
|
+
return /* @__PURE__ */ jsxs5(Collapsible, {
|
|
1730
1730
|
open: logOpen,
|
|
1731
1731
|
onOpenChange: setLogOpen,
|
|
1732
1732
|
children: [
|
|
1733
|
-
/* @__PURE__ */
|
|
1734
|
-
render: /* @__PURE__ */
|
|
1733
|
+
/* @__PURE__ */ jsxs5(CollapsibleTrigger, {
|
|
1734
|
+
render: /* @__PURE__ */ jsx17(Marker, {
|
|
1735
1735
|
className: "focus-visible:ring-ring/50 cursor-pointer rounded-sm outline-none focus-visible:ring-3",
|
|
1736
|
-
render: /* @__PURE__ */
|
|
1736
|
+
render: /* @__PURE__ */ jsx17("button", {
|
|
1737
1737
|
type: "button"
|
|
1738
|
-
}
|
|
1739
|
-
}
|
|
1738
|
+
})
|
|
1739
|
+
}),
|
|
1740
1740
|
children: [
|
|
1741
|
-
/* @__PURE__ */
|
|
1741
|
+
/* @__PURE__ */ jsx17(MarkerContent, {
|
|
1742
1742
|
className: "flex-1",
|
|
1743
|
-
children: /* @__PURE__ */
|
|
1743
|
+
children: /* @__PURE__ */ jsx17("span", {
|
|
1744
1744
|
className: cn("block w-fit max-w-full", isWorking && "shimmer"),
|
|
1745
1745
|
children: showWorkedSummary ? labels.toolWorked(workedSeconds) : label
|
|
1746
|
-
}
|
|
1747
|
-
}
|
|
1748
|
-
currentTool.status === "failed" || currentTool.status === "denied" ? /* @__PURE__ */
|
|
1746
|
+
})
|
|
1747
|
+
}),
|
|
1748
|
+
currentTool.status === "failed" || currentTool.status === "denied" ? /* @__PURE__ */ jsx17(Badge, {
|
|
1749
1749
|
variant: "destructive",
|
|
1750
1750
|
children: currentTool.status === "failed" ? labels.toolFailed : labels.toolDenied
|
|
1751
|
-
}
|
|
1752
|
-
/* @__PURE__ */
|
|
1751
|
+
}) : null,
|
|
1752
|
+
/* @__PURE__ */ jsx17(ChevronDownIcon, {
|
|
1753
1753
|
className: cn("transition-transform", logOpen && "rotate-180")
|
|
1754
|
-
}
|
|
1755
|
-
/* @__PURE__ */
|
|
1754
|
+
}),
|
|
1755
|
+
/* @__PURE__ */ jsx17("span", {
|
|
1756
1756
|
className: "sr-only",
|
|
1757
1757
|
children: logOpen ? labels.viewLess : labels.viewMore
|
|
1758
|
-
}
|
|
1758
|
+
})
|
|
1759
1759
|
]
|
|
1760
|
-
}
|
|
1761
|
-
/* @__PURE__ */
|
|
1760
|
+
}),
|
|
1761
|
+
/* @__PURE__ */ jsxs5(CollapsibleContent, {
|
|
1762
1762
|
className: "mt-2 ml-2 flex flex-col gap-2 border-l pl-3",
|
|
1763
1763
|
children: [
|
|
1764
|
-
/* @__PURE__ */
|
|
1765
|
-
children: /* @__PURE__ */
|
|
1764
|
+
/* @__PURE__ */ jsx17(Marker, {
|
|
1765
|
+
children: /* @__PURE__ */ jsx17(MarkerContent, {
|
|
1766
1766
|
children: labels.toolRunning
|
|
1767
|
-
}
|
|
1768
|
-
}
|
|
1769
|
-
loggedTools.map((tool) => /* @__PURE__ */
|
|
1767
|
+
})
|
|
1768
|
+
}),
|
|
1769
|
+
loggedTools.map((tool) => /* @__PURE__ */ jsx17(ToolActivityCard, {
|
|
1770
1770
|
disabled,
|
|
1771
1771
|
labels,
|
|
1772
1772
|
onApproval,
|
|
1773
1773
|
tool
|
|
1774
|
-
}, tool.toolCallId
|
|
1774
|
+
}, tool.toolCallId))
|
|
1775
1775
|
]
|
|
1776
|
-
}
|
|
1776
|
+
})
|
|
1777
1777
|
]
|
|
1778
|
-
}
|
|
1778
|
+
});
|
|
1779
1779
|
}
|
|
1780
1780
|
function AgentMessageRow({
|
|
1781
1781
|
disabled,
|
|
@@ -1814,25 +1814,25 @@ function AgentMessageRow({
|
|
|
1814
1814
|
pending,
|
|
1815
1815
|
workedSeconds
|
|
1816
1816
|
]);
|
|
1817
|
-
return /* @__PURE__ */
|
|
1817
|
+
return /* @__PURE__ */ jsx17(Message, {
|
|
1818
1818
|
align: isUser ? "end" : "start",
|
|
1819
|
-
children: /* @__PURE__ */
|
|
1819
|
+
children: /* @__PURE__ */ jsxs5(MessageContent, {
|
|
1820
1820
|
children: [
|
|
1821
|
-
!isUser && (message.tools.length > 0 || pending && !message.text) ? /* @__PURE__ */
|
|
1821
|
+
!isUser && (message.tools.length > 0 || pending && !message.text) ? /* @__PURE__ */ jsx17(ToolActivityLog, {
|
|
1822
1822
|
disabled,
|
|
1823
1823
|
labels,
|
|
1824
1824
|
onApproval,
|
|
1825
1825
|
pending,
|
|
1826
1826
|
tools: message.tools,
|
|
1827
1827
|
workedSeconds
|
|
1828
|
-
}
|
|
1829
|
-
message.text ? isUser ? /* @__PURE__ */
|
|
1828
|
+
}) : null,
|
|
1829
|
+
message.text ? isUser ? /* @__PURE__ */ jsx17(Bubble, {
|
|
1830
1830
|
align: "end",
|
|
1831
|
-
children: /* @__PURE__ */
|
|
1831
|
+
children: /* @__PURE__ */ jsx17(BubbleContent, {
|
|
1832
1832
|
className: "whitespace-pre-wrap",
|
|
1833
1833
|
children: message.text
|
|
1834
|
-
}
|
|
1835
|
-
}
|
|
1834
|
+
})
|
|
1835
|
+
}) : /* @__PURE__ */ jsx17(Streamdown, {
|
|
1836
1836
|
animated: true,
|
|
1837
1837
|
className: "w-full",
|
|
1838
1838
|
controls: {
|
|
@@ -1848,10 +1848,10 @@ function AgentMessageRow({
|
|
|
1848
1848
|
copyCode: labels.copy
|
|
1849
1849
|
},
|
|
1850
1850
|
children: message.text
|
|
1851
|
-
}
|
|
1851
|
+
}) : null
|
|
1852
1852
|
]
|
|
1853
|
-
}
|
|
1854
|
-
}
|
|
1853
|
+
})
|
|
1854
|
+
});
|
|
1855
1855
|
}
|
|
1856
1856
|
function AgentWidget({
|
|
1857
1857
|
availableReferences = [],
|
|
@@ -1931,188 +1931,188 @@ function AgentWidget({
|
|
|
1931
1931
|
}
|
|
1932
1932
|
setOpen(nextOpen);
|
|
1933
1933
|
};
|
|
1934
|
-
return /* @__PURE__ */
|
|
1934
|
+
return /* @__PURE__ */ jsxs5(Dialog, {
|
|
1935
1935
|
open,
|
|
1936
1936
|
onOpenChange: handleOpenChange,
|
|
1937
1937
|
modal: false,
|
|
1938
1938
|
disablePointerDismissal: true,
|
|
1939
1939
|
children: [
|
|
1940
|
-
/* @__PURE__ */
|
|
1941
|
-
render: /* @__PURE__ */
|
|
1940
|
+
/* @__PURE__ */ jsxs5(DialogTrigger, {
|
|
1941
|
+
render: /* @__PURE__ */ jsx17(Button, {
|
|
1942
1942
|
size: "icon-lg",
|
|
1943
1943
|
className: "fixed right-4 bottom-4 z-9999 rounded-full shadow-lg md:right-6 md:bottom-6"
|
|
1944
|
-
}
|
|
1944
|
+
}),
|
|
1945
1945
|
children: [
|
|
1946
|
-
/* @__PURE__ */
|
|
1947
|
-
/* @__PURE__ */
|
|
1946
|
+
/* @__PURE__ */ jsx17(BotIcon, {}),
|
|
1947
|
+
/* @__PURE__ */ jsx17("span", {
|
|
1948
1948
|
className: "sr-only",
|
|
1949
1949
|
children: labels.open
|
|
1950
|
-
}
|
|
1950
|
+
})
|
|
1951
1951
|
]
|
|
1952
|
-
}
|
|
1953
|
-
/* @__PURE__ */
|
|
1954
|
-
children: /* @__PURE__ */
|
|
1952
|
+
}),
|
|
1953
|
+
/* @__PURE__ */ jsx17(DialogPortal, {
|
|
1954
|
+
children: /* @__PURE__ */ jsxs5(DialogPrimitive2.Popup, {
|
|
1955
1955
|
"data-slot": "dialog-content",
|
|
1956
1956
|
className: cn("bg-popover text-popover-foreground ring-foreground/10 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 fixed z-50 flex flex-col gap-0 overflow-hidden rounded-xl text-sm shadow-lg ring-1 duration-100 outline-none", maximized ? "inset-4 max-h-none max-w-none md:inset-6" : "right-4 bottom-20 h-[min(42rem,calc(100svh-6rem))] w-[calc(100%-2rem)] max-w-md md:right-6"),
|
|
1957
1957
|
children: [
|
|
1958
|
-
/* @__PURE__ */
|
|
1958
|
+
/* @__PURE__ */ jsx17(DialogHeader, {
|
|
1959
1959
|
className: "shrink-0 border-b p-4",
|
|
1960
|
-
children: /* @__PURE__ */
|
|
1960
|
+
children: /* @__PURE__ */ jsxs5("div", {
|
|
1961
1961
|
className: "flex items-center gap-1",
|
|
1962
1962
|
children: [
|
|
1963
|
-
/* @__PURE__ */
|
|
1963
|
+
/* @__PURE__ */ jsx17(DialogTitle, {
|
|
1964
1964
|
className: "min-w-0 flex-1 truncate",
|
|
1965
1965
|
children: labels.title
|
|
1966
|
-
}
|
|
1967
|
-
/* @__PURE__ */
|
|
1966
|
+
}),
|
|
1967
|
+
/* @__PURE__ */ jsxs5(Button, {
|
|
1968
1968
|
variant: "ghost",
|
|
1969
1969
|
size: "icon-sm",
|
|
1970
1970
|
onClick: () => setOpen(false),
|
|
1971
1971
|
children: [
|
|
1972
|
-
/* @__PURE__ */
|
|
1973
|
-
/* @__PURE__ */
|
|
1972
|
+
/* @__PURE__ */ jsx17(MinusIcon, {}),
|
|
1973
|
+
/* @__PURE__ */ jsx17("span", {
|
|
1974
1974
|
className: "sr-only",
|
|
1975
1975
|
children: labels.minimize
|
|
1976
|
-
}
|
|
1976
|
+
})
|
|
1977
1977
|
]
|
|
1978
|
-
}
|
|
1979
|
-
/* @__PURE__ */
|
|
1978
|
+
}),
|
|
1979
|
+
/* @__PURE__ */ jsxs5(Button, {
|
|
1980
1980
|
variant: "ghost",
|
|
1981
1981
|
size: "icon-sm",
|
|
1982
1982
|
onClick: () => setMaximized((current) => !current),
|
|
1983
1983
|
children: [
|
|
1984
|
-
maximized ? /* @__PURE__ */
|
|
1985
|
-
/* @__PURE__ */
|
|
1984
|
+
maximized ? /* @__PURE__ */ jsx17(Minimize2Icon, {}) : /* @__PURE__ */ jsx17(Maximize2Icon, {}),
|
|
1985
|
+
/* @__PURE__ */ jsx17("span", {
|
|
1986
1986
|
className: "sr-only",
|
|
1987
1987
|
children: maximized ? labels.restore : labels.maximize
|
|
1988
|
-
}
|
|
1988
|
+
})
|
|
1989
1989
|
]
|
|
1990
|
-
}
|
|
1991
|
-
/* @__PURE__ */
|
|
1992
|
-
render: /* @__PURE__ */
|
|
1990
|
+
}),
|
|
1991
|
+
/* @__PURE__ */ jsxs5(DialogClose, {
|
|
1992
|
+
render: /* @__PURE__ */ jsx17(Button, {
|
|
1993
1993
|
variant: "ghost",
|
|
1994
1994
|
size: "icon-sm"
|
|
1995
|
-
}
|
|
1995
|
+
}),
|
|
1996
1996
|
children: [
|
|
1997
|
-
/* @__PURE__ */
|
|
1998
|
-
/* @__PURE__ */
|
|
1997
|
+
/* @__PURE__ */ jsx17(XIcon2, {}),
|
|
1998
|
+
/* @__PURE__ */ jsx17("span", {
|
|
1999
1999
|
className: "sr-only",
|
|
2000
2000
|
children: labels.close
|
|
2001
|
-
}
|
|
2001
|
+
})
|
|
2002
2002
|
]
|
|
2003
|
-
}
|
|
2003
|
+
})
|
|
2004
2004
|
]
|
|
2005
|
-
}
|
|
2006
|
-
}
|
|
2007
|
-
/* @__PURE__ */
|
|
2005
|
+
})
|
|
2006
|
+
}),
|
|
2007
|
+
/* @__PURE__ */ jsx17("div", {
|
|
2008
2008
|
className: "min-h-0 flex-1",
|
|
2009
|
-
children: state.messages.length === 0 && !state.error ? /* @__PURE__ */
|
|
2009
|
+
children: state.messages.length === 0 && !state.error ? /* @__PURE__ */ jsx17(Empty, {
|
|
2010
2010
|
className: "h-full",
|
|
2011
|
-
children: /* @__PURE__ */
|
|
2011
|
+
children: /* @__PURE__ */ jsxs5(EmptyHeader, {
|
|
2012
2012
|
children: [
|
|
2013
|
-
/* @__PURE__ */
|
|
2013
|
+
/* @__PURE__ */ jsx17(EmptyMedia, {
|
|
2014
2014
|
variant: "icon",
|
|
2015
|
-
children: /* @__PURE__ */
|
|
2016
|
-
}
|
|
2017
|
-
/* @__PURE__ */
|
|
2015
|
+
children: /* @__PURE__ */ jsx17(MessageCircleDashedIcon, {})
|
|
2016
|
+
}),
|
|
2017
|
+
/* @__PURE__ */ jsx17(EmptyTitle, {
|
|
2018
2018
|
children: labels.welcome
|
|
2019
|
-
}
|
|
2020
|
-
/* @__PURE__ */
|
|
2019
|
+
}),
|
|
2020
|
+
/* @__PURE__ */ jsx17(EmptyDescription, {
|
|
2021
2021
|
children: labels.description
|
|
2022
|
-
}
|
|
2022
|
+
})
|
|
2023
2023
|
]
|
|
2024
|
-
}
|
|
2025
|
-
}
|
|
2024
|
+
})
|
|
2025
|
+
}) : /* @__PURE__ */ jsx17(MessageScrollerProvider, {
|
|
2026
2026
|
autoScroll: true,
|
|
2027
|
-
children: /* @__PURE__ */
|
|
2027
|
+
children: /* @__PURE__ */ jsxs5(MessageScroller, {
|
|
2028
2028
|
children: [
|
|
2029
|
-
/* @__PURE__ */
|
|
2029
|
+
/* @__PURE__ */ jsx17(MessageScrollerViewport, {
|
|
2030
2030
|
"aria-label": labels.title,
|
|
2031
|
-
children: /* @__PURE__ */
|
|
2031
|
+
children: /* @__PURE__ */ jsxs5(MessageScrollerContent, {
|
|
2032
2032
|
"aria-busy": state.pending,
|
|
2033
2033
|
className: "p-4",
|
|
2034
2034
|
children: [
|
|
2035
|
-
state.messages.map((message, index) => /* @__PURE__ */
|
|
2035
|
+
state.messages.map((message, index) => /* @__PURE__ */ jsx17(MessageScrollerItem, {
|
|
2036
2036
|
messageId: message.id,
|
|
2037
2037
|
scrollAnchor: message.role === "user",
|
|
2038
|
-
children: /* @__PURE__ */
|
|
2038
|
+
children: /* @__PURE__ */ jsx17(AgentMessageRow, {
|
|
2039
2039
|
disabled: state.pending,
|
|
2040
2040
|
labels,
|
|
2041
2041
|
message,
|
|
2042
2042
|
onApproval: respondToApproval,
|
|
2043
2043
|
pending: state.pending && index === state.messages.length - 1
|
|
2044
|
-
}
|
|
2045
|
-
}, message.id
|
|
2046
|
-
state.error ? /* @__PURE__ */
|
|
2044
|
+
})
|
|
2045
|
+
}, message.id)),
|
|
2046
|
+
state.error ? /* @__PURE__ */ jsx17(MessageScrollerItem, {
|
|
2047
2047
|
messageId: "error",
|
|
2048
|
-
children: /* @__PURE__ */
|
|
2048
|
+
children: /* @__PURE__ */ jsxs5(Alert, {
|
|
2049
2049
|
variant: "destructive",
|
|
2050
2050
|
children: [
|
|
2051
|
-
/* @__PURE__ */
|
|
2051
|
+
/* @__PURE__ */ jsx17(AlertTitle, {
|
|
2052
2052
|
children: labels.title
|
|
2053
|
-
}
|
|
2054
|
-
/* @__PURE__ */
|
|
2053
|
+
}),
|
|
2054
|
+
/* @__PURE__ */ jsx17(AlertDescription, {
|
|
2055
2055
|
children: errorMessage(state.error, labels)
|
|
2056
|
-
}
|
|
2056
|
+
})
|
|
2057
2057
|
]
|
|
2058
|
-
}
|
|
2059
|
-
}
|
|
2058
|
+
})
|
|
2059
|
+
}) : null
|
|
2060
2060
|
]
|
|
2061
|
-
}
|
|
2062
|
-
}
|
|
2063
|
-
/* @__PURE__ */
|
|
2061
|
+
})
|
|
2062
|
+
}),
|
|
2063
|
+
/* @__PURE__ */ jsxs5(MessageScrollerButton, {
|
|
2064
2064
|
children: [
|
|
2065
|
-
/* @__PURE__ */
|
|
2066
|
-
/* @__PURE__ */
|
|
2065
|
+
/* @__PURE__ */ jsx17(ArrowDownIcon2, {}),
|
|
2066
|
+
/* @__PURE__ */ jsx17("span", {
|
|
2067
2067
|
className: "sr-only",
|
|
2068
2068
|
children: labels.scrollLatest
|
|
2069
|
-
}
|
|
2069
|
+
})
|
|
2070
2070
|
]
|
|
2071
|
-
}
|
|
2071
|
+
})
|
|
2072
2072
|
]
|
|
2073
|
-
}
|
|
2074
|
-
}
|
|
2075
|
-
}
|
|
2076
|
-
/* @__PURE__ */
|
|
2073
|
+
})
|
|
2074
|
+
})
|
|
2075
|
+
}),
|
|
2076
|
+
/* @__PURE__ */ jsx17("form", {
|
|
2077
2077
|
className: "shrink-0 border-t p-3",
|
|
2078
2078
|
onSubmit: (event) => {
|
|
2079
2079
|
event.preventDefault();
|
|
2080
2080
|
sendMessage();
|
|
2081
2081
|
},
|
|
2082
|
-
children: /* @__PURE__ */
|
|
2082
|
+
children: /* @__PURE__ */ jsxs5(InputGroup, {
|
|
2083
2083
|
children: [
|
|
2084
|
-
activeContext ? /* @__PURE__ */
|
|
2084
|
+
activeContext ? /* @__PURE__ */ jsxs5(InputGroupAddon, {
|
|
2085
2085
|
align: "block-start",
|
|
2086
2086
|
className: "bg-background rounded-t-[calc(var(--radius-md)-1px)] border-b",
|
|
2087
2087
|
children: [
|
|
2088
2088
|
activeContext.icon,
|
|
2089
|
-
/* @__PURE__ */
|
|
2089
|
+
/* @__PURE__ */ jsx17("span", {
|
|
2090
2090
|
className: "min-w-0 flex-1 truncate text-left",
|
|
2091
2091
|
children: activeContext.label
|
|
2092
|
-
}
|
|
2093
|
-
onRemoveContext ? /* @__PURE__ */
|
|
2092
|
+
}),
|
|
2093
|
+
onRemoveContext ? /* @__PURE__ */ jsx17(InputGroupButton, {
|
|
2094
2094
|
size: "icon-xs",
|
|
2095
2095
|
"aria-label": `${labels.removeContext}: ${activeContext.label}`,
|
|
2096
2096
|
onClick: onRemoveContext,
|
|
2097
|
-
children: /* @__PURE__ */
|
|
2098
|
-
}
|
|
2097
|
+
children: /* @__PURE__ */ jsx17(XIcon2, {})
|
|
2098
|
+
}) : null
|
|
2099
2099
|
]
|
|
2100
|
-
}
|
|
2101
|
-
/* @__PURE__ */
|
|
2100
|
+
}) : null,
|
|
2101
|
+
/* @__PURE__ */ jsxs5("div", {
|
|
2102
2102
|
className: "relative w-full min-w-0 self-stretch text-left",
|
|
2103
2103
|
children: [
|
|
2104
|
-
/* @__PURE__ */
|
|
2104
|
+
/* @__PURE__ */ jsx17("div", {
|
|
2105
2105
|
"aria-hidden": "true",
|
|
2106
2106
|
className: "text-foreground pointer-events-none absolute inset-0 overflow-hidden px-2.5 py-2 text-left font-[inherit] text-base break-words whitespace-pre-wrap md:text-sm",
|
|
2107
2107
|
children: highlightedInput(input, references)
|
|
2108
|
-
}
|
|
2109
|
-
/* @__PURE__ */
|
|
2108
|
+
}),
|
|
2109
|
+
/* @__PURE__ */ jsxs5(Popover, {
|
|
2110
2110
|
open: referencePickerOpen,
|
|
2111
2111
|
triggerId: referenceInputId,
|
|
2112
2112
|
children: [
|
|
2113
|
-
/* @__PURE__ */
|
|
2113
|
+
/* @__PURE__ */ jsx17(PopoverTrigger, {
|
|
2114
2114
|
id: referenceInputId,
|
|
2115
|
-
render: /* @__PURE__ */
|
|
2115
|
+
render: /* @__PURE__ */ jsx17(InputGroupTextarea, {
|
|
2116
2116
|
className: "caret-foreground selection:bg-primary selection:text-primary-foreground relative w-full text-left text-transparent",
|
|
2117
2117
|
value: input,
|
|
2118
2118
|
placeholder: labels.placeholder,
|
|
@@ -2155,80 +2155,80 @@ function AgentWidget({
|
|
|
2155
2155
|
event.currentTarget.form?.requestSubmit();
|
|
2156
2156
|
}
|
|
2157
2157
|
}
|
|
2158
|
-
}
|
|
2159
|
-
}
|
|
2160
|
-
/* @__PURE__ */
|
|
2158
|
+
})
|
|
2159
|
+
}),
|
|
2160
|
+
/* @__PURE__ */ jsx17(PopoverContent, {
|
|
2161
2161
|
align: "start",
|
|
2162
2162
|
initialFocus: false,
|
|
2163
2163
|
side: "top",
|
|
2164
2164
|
className: "w-[min(24rem,calc(100vw-2rem))] p-0",
|
|
2165
|
-
children: /* @__PURE__ */
|
|
2165
|
+
children: /* @__PURE__ */ jsx17(Command, {
|
|
2166
2166
|
shouldFilter: false,
|
|
2167
2167
|
value: activeReference?.key ?? "",
|
|
2168
2168
|
onValueChange: setActiveReferenceKey,
|
|
2169
|
-
children: /* @__PURE__ */
|
|
2169
|
+
children: /* @__PURE__ */ jsxs5(CommandList, {
|
|
2170
2170
|
id: referenceListId,
|
|
2171
2171
|
children: [
|
|
2172
|
-
/* @__PURE__ */
|
|
2172
|
+
/* @__PURE__ */ jsx17(CommandEmpty, {
|
|
2173
2173
|
children: labels.noReferences
|
|
2174
|
-
}
|
|
2175
|
-
/* @__PURE__ */
|
|
2174
|
+
}),
|
|
2175
|
+
/* @__PURE__ */ jsx17(CommandGroup, {
|
|
2176
2176
|
heading: labels.references,
|
|
2177
|
-
children: matchingReferences.map((reference, index) => /* @__PURE__ */
|
|
2177
|
+
children: matchingReferences.map((reference, index) => /* @__PURE__ */ jsxs5(CommandItem, {
|
|
2178
2178
|
id: `${referenceInputId}-reference-${index}`,
|
|
2179
2179
|
value: reference.key,
|
|
2180
2180
|
onSelect: () => selectReference(reference),
|
|
2181
2181
|
children: [
|
|
2182
2182
|
reference.icon,
|
|
2183
|
-
/* @__PURE__ */
|
|
2183
|
+
/* @__PURE__ */ jsx17("span", {
|
|
2184
2184
|
className: "truncate",
|
|
2185
2185
|
children: reference.label
|
|
2186
|
-
}
|
|
2186
|
+
})
|
|
2187
2187
|
]
|
|
2188
|
-
}, reference.key
|
|
2189
|
-
}
|
|
2188
|
+
}, reference.key))
|
|
2189
|
+
})
|
|
2190
2190
|
]
|
|
2191
|
-
}
|
|
2192
|
-
}
|
|
2193
|
-
}
|
|
2191
|
+
})
|
|
2192
|
+
})
|
|
2193
|
+
})
|
|
2194
2194
|
]
|
|
2195
|
-
}
|
|
2195
|
+
})
|
|
2196
2196
|
]
|
|
2197
|
-
}
|
|
2198
|
-
/* @__PURE__ */
|
|
2197
|
+
}),
|
|
2198
|
+
/* @__PURE__ */ jsx17(InputGroupAddon, {
|
|
2199
2199
|
align: "block-end",
|
|
2200
2200
|
className: "justify-end",
|
|
2201
|
-
children: state.pending ? /* @__PURE__ */
|
|
2201
|
+
children: state.pending ? /* @__PURE__ */ jsxs5(InputGroupButton, {
|
|
2202
2202
|
size: "icon-xs",
|
|
2203
2203
|
onClick: onInterrupt,
|
|
2204
2204
|
children: [
|
|
2205
|
-
/* @__PURE__ */
|
|
2206
|
-
/* @__PURE__ */
|
|
2205
|
+
/* @__PURE__ */ jsx17(SquareIcon, {}),
|
|
2206
|
+
/* @__PURE__ */ jsx17("span", {
|
|
2207
2207
|
className: "sr-only",
|
|
2208
2208
|
children: labels.stop
|
|
2209
|
-
}
|
|
2209
|
+
})
|
|
2210
2210
|
]
|
|
2211
|
-
}
|
|
2211
|
+
}) : /* @__PURE__ */ jsxs5(InputGroupButton, {
|
|
2212
2212
|
type: "submit",
|
|
2213
2213
|
size: "icon-xs",
|
|
2214
2214
|
disabled: !input.trim() || hasPendingApproval,
|
|
2215
2215
|
children: [
|
|
2216
|
-
/* @__PURE__ */
|
|
2217
|
-
/* @__PURE__ */
|
|
2216
|
+
/* @__PURE__ */ jsx17(SendIcon, {}),
|
|
2217
|
+
/* @__PURE__ */ jsx17("span", {
|
|
2218
2218
|
className: "sr-only",
|
|
2219
2219
|
children: labels.send
|
|
2220
|
-
}
|
|
2220
|
+
})
|
|
2221
2221
|
]
|
|
2222
|
-
}
|
|
2223
|
-
}
|
|
2222
|
+
})
|
|
2223
|
+
})
|
|
2224
2224
|
]
|
|
2225
|
-
}
|
|
2226
|
-
}
|
|
2225
|
+
})
|
|
2226
|
+
})
|
|
2227
2227
|
]
|
|
2228
|
-
}
|
|
2229
|
-
}
|
|
2228
|
+
})
|
|
2229
|
+
})
|
|
2230
2230
|
]
|
|
2231
|
-
}
|
|
2231
|
+
});
|
|
2232
2232
|
}
|
|
2233
2233
|
export {
|
|
2234
2234
|
reduceAgentEvent,
|