pxengine 0.1.40 → 0.1.42

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/index.mjs CHANGED
@@ -33309,9 +33309,14 @@ __export(molecules_exports, {
33309
33309
  CountrySelectDisplay: () => CountrySelectDisplay,
33310
33310
  CountrySelectEdit: () => CountrySelectEdit,
33311
33311
  CreatorActionHeader: () => CreatorActionHeader,
33312
+ CreatorCompactView: () => CreatorCompactView,
33312
33313
  CreatorGridCard: () => CreatorGridCard,
33314
+ CreatorImageList: () => CreatorImageList,
33313
33315
  CreatorProfileSummary: () => CreatorProfileSummary,
33316
+ CreatorProgressBar: () => CreatorProgressBar,
33314
33317
  CreatorSearch: () => CreatorSearch,
33318
+ CreatorWidget: () => CreatorWidget,
33319
+ CreatorWidgetSkeleton: () => CreatorWidgetSkeleton,
33315
33320
  DataGrid: () => DataGrid,
33316
33321
  EditableField: () => EditableField,
33317
33322
  EmptyState: () => EmptyState,
@@ -33339,7 +33344,8 @@ __export(molecules_exports, {
33339
33344
  ToolListCard: () => ToolListCard,
33340
33345
  TopPostsGrid: () => TopPostsGrid,
33341
33346
  UIComponentSelector: () => UIComponentSelector,
33342
- WorkflowVisualizer: () => WorkflowVisualizer
33347
+ WorkflowVisualizer: () => WorkflowVisualizer,
33348
+ useCreatorWidgetPolling: () => useCreatorWidgetPolling
33343
33349
  });
33344
33350
 
33345
33351
  // src/molecules/generic/EditableField/EditableField.tsx
@@ -36349,7 +36355,8 @@ var CampaignConceptCard = React94.memo(
36349
36355
  ...field,
36350
36356
  label: "Budget Allocation",
36351
36357
  renderDisplay: (val) => {
36352
- if (!val) return /* @__PURE__ */ jsx121("span", { className: "text-muted-foreground text-sm", children: "-" });
36358
+ if (!val)
36359
+ return /* @__PURE__ */ jsx121("span", { className: "text-muted-foreground text-sm", children: "-" });
36353
36360
  if (Array.isArray(val)) {
36354
36361
  return /* @__PURE__ */ jsx121("div", { className: "space-y-2", children: val.map((item, idx) => {
36355
36362
  const label = item?.label ?? item?.key ?? `Item ${idx + 1}`;
@@ -36367,7 +36374,8 @@ var CampaignConceptCard = React94.memo(
36367
36374
  }
36368
36375
  if (typeof val === "object") {
36369
36376
  const entries = Object.entries(val);
36370
- if (entries.length === 0) return /* @__PURE__ */ jsx121("span", { className: "text-muted-foreground text-sm", children: "-" });
36377
+ if (entries.length === 0)
36378
+ return /* @__PURE__ */ jsx121("span", { className: "text-muted-foreground text-sm", children: "-" });
36371
36379
  return /* @__PURE__ */ jsx121("div", { className: "space-y-2", children: entries.map(([k, v], idx) => /* @__PURE__ */ jsxs80("div", { className: "flex items-center gap-2", children: [
36372
36380
  /* @__PURE__ */ jsxs80("span", { className: "text-muted-foreground font-medium", children: [
36373
36381
  idx + 1,
@@ -36414,7 +36422,8 @@ var CampaignConceptCard = React94.memo(
36414
36422
  ...field,
36415
36423
  label: "Estimated Creators",
36416
36424
  renderDisplay: (val) => {
36417
- if (!val) return /* @__PURE__ */ jsx121("span", { className: "text-muted-foreground text-sm", children: "-" });
36425
+ if (!val)
36426
+ return /* @__PURE__ */ jsx121("span", { className: "text-muted-foreground text-sm", children: "-" });
36418
36427
  const displayValue = typeof val === "object" && !Array.isArray(val) ? `${val.min ?? 0}-${val.max ?? 0}` : String(val);
36419
36428
  return /* @__PURE__ */ jsx121("span", { className: "text-foreground text-sm", children: displayValue });
36420
36429
  },
@@ -36479,13 +36488,7 @@ var CampaignConceptCard = React94.memo(
36479
36488
  return {
36480
36489
  ...field,
36481
36490
  renderDisplay: (v) => /* @__PURE__ */ jsx121(PlatformSelectDisplay, { value: v }),
36482
- renderEdit: (v, onChange) => /* @__PURE__ */ jsx121(
36483
- PlatformSelectEdit,
36484
- {
36485
- value: v,
36486
- onChange
36487
- }
36488
- )
36491
+ renderEdit: (v, onChange) => /* @__PURE__ */ jsx121(PlatformSelectEdit, { value: v, onChange })
36489
36492
  };
36490
36493
  }
36491
36494
  if (field.key === "description" || field.key === "creator_strategy" || field.key === "creatorStrategy") {
@@ -36499,7 +36502,8 @@ var CampaignConceptCard = React94.memo(
36499
36502
  ...field,
36500
36503
  renderDisplay: (val) => {
36501
36504
  if (Array.isArray(val)) {
36502
- if (val.length === 0) return /* @__PURE__ */ jsx121("span", { className: "text-muted-foreground text-sm", children: "-" });
36505
+ if (val.length === 0)
36506
+ return /* @__PURE__ */ jsx121("span", { className: "text-muted-foreground text-sm", children: "-" });
36503
36507
  return /* @__PURE__ */ jsx121("div", { className: "flex flex-wrap gap-2 pt-1", children: val.map((item, idx) => {
36504
36508
  const label = typeof item === "object" && item !== null ? item.label || item.value || item.name || JSON.stringify(item) : String(item);
36505
36509
  return /* @__PURE__ */ jsx121(
@@ -36524,7 +36528,7 @@ var CampaignConceptCard = React94.memo(
36524
36528
  "div",
36525
36529
  {
36526
36530
  className: cn(
36527
- "w-full max-w-[600px] rounded-xl border bg-background dark:bg-gray100 relative transition-all duration-300",
36531
+ "w-full rounded-xl border bg-background dark:bg-gray100 relative transition-all duration-300",
36528
36532
  isSelected || isRecommended ? "border-2 border-green500" : "border-gray400",
36529
36533
  className
36530
36534
  ),
@@ -36539,7 +36543,8 @@ var CampaignConceptCard = React94.memo(
36539
36543
  /* @__PURE__ */ jsxs80("h3", { className: "mb-1 py-1 text-txtColor font-bold text-lg", children: [
36540
36544
  "Concept ",
36541
36545
  index !== void 0 ? index : "",
36542
- " : ",
36546
+ " :",
36547
+ " ",
36543
36548
  typeof cardTitle === "object" ? JSON.stringify(cardTitle) : String(cardTitle)
36544
36549
  ] }),
36545
36550
  /* @__PURE__ */ jsxs80("div", { className: "flex flex-wrap gap-2", children: [
@@ -36547,25 +36552,32 @@ var CampaignConceptCard = React94.memo(
36547
36552
  !effectiveIsLatest && selectionStatus && /* @__PURE__ */ jsx121("div", { className: "inline-flex text-[10px] font-bold uppercase tracking-widest text-[#3B82F6]", children: /* @__PURE__ */ jsx121("span", { className: "bg-[#3B82F6]/10 px-2 py-0.5 rounded border border-[#3B82F6]/20", children: selectionStatus === "agent" ? "Selected by Agent" : "Selected by You" }) })
36548
36553
  ] })
36549
36554
  ] }),
36550
- /* @__PURE__ */ jsx121("div", { className: "flex items-center gap-2 ml-3", onClick: (e) => e.stopPropagation(), children: /* @__PURE__ */ jsx121(
36551
- "button",
36555
+ /* @__PURE__ */ jsx121(
36556
+ "div",
36552
36557
  {
36553
- onClick: (e) => {
36554
- e.preventDefault();
36555
- e.stopPropagation();
36556
- handleToggle();
36557
- },
36558
- className: "p-2 bg-background hover:bg-gray200 dark:hover:bg-gray200 text-foreground rounded-lg shadow-lg",
36559
- "aria-label": isOpen ? "Collapse" : "Expand",
36560
- title: isOpen ? "Collapse" : "Expand",
36558
+ className: "flex items-center gap-2 ml-3",
36559
+ onClick: (e) => e.stopPropagation(),
36561
36560
  children: /* @__PURE__ */ jsx121(
36562
- ChevronDown,
36561
+ "button",
36563
36562
  {
36564
- className: `h-4 w-4 transition-transform ${isOpen ? "rotate-0" : "-rotate-90"}`
36563
+ onClick: (e) => {
36564
+ e.preventDefault();
36565
+ e.stopPropagation();
36566
+ handleToggle();
36567
+ },
36568
+ className: "p-2 bg-background hover:bg-gray200 dark:hover:bg-gray200 text-foreground rounded-lg shadow-lg",
36569
+ "aria-label": isOpen ? "Collapse" : "Expand",
36570
+ title: isOpen ? "Collapse" : "Expand",
36571
+ children: /* @__PURE__ */ jsx121(
36572
+ ChevronDown,
36573
+ {
36574
+ className: `h-4 w-4 transition-transform ${isOpen ? "rotate-0" : "-rotate-90"}`
36575
+ }
36576
+ )
36565
36577
  }
36566
36578
  )
36567
36579
  }
36568
- ) })
36580
+ )
36569
36581
  ]
36570
36582
  }
36571
36583
  ),
@@ -36577,7 +36589,7 @@ var CampaignConceptCard = React94.memo(
36577
36589
  exit: { height: 0, opacity: 0 },
36578
36590
  transition: { duration: 0.2, ease: "easeIn" },
36579
36591
  className: "overflow-hidden",
36580
- children: /* @__PURE__ */ jsxs80("div", { className: "px-4 py-3 w-full overflow-y-auto max-h-[400px] relative", children: [
36592
+ children: /* @__PURE__ */ jsxs80("div", { className: "px-4 py-3 w-full relative", children: [
36581
36593
  /* @__PURE__ */ jsx121(
36582
36594
  "div",
36583
36595
  {
@@ -36618,8 +36630,506 @@ var CampaignConceptCard = React94.memo(
36618
36630
  );
36619
36631
  CampaignConceptCard.displayName = "CampaignConceptCard";
36620
36632
 
36633
+ // src/molecules/creator-discovery/CreatorWidget/CreatorWidget.tsx
36634
+ import { useCallback as useCallback5, memo } from "react";
36635
+
36636
+ // src/molecules/creator-discovery/CreatorWidget/CreatorImageList.tsx
36637
+ import { useEffect as useEffect7, useState as useState10 } from "react";
36638
+ import { Fragment as Fragment4, jsx as jsx122, jsxs as jsxs81 } from "react/jsx-runtime";
36639
+ function useMediaQuery(query) {
36640
+ const [matches, setMatches] = useState10(false);
36641
+ useEffect7(() => {
36642
+ const media = window.matchMedia(query);
36643
+ const listener = () => setMatches(media.matches);
36644
+ listener();
36645
+ media.addEventListener("change", listener);
36646
+ return () => media.removeEventListener("change", listener);
36647
+ }, [query]);
36648
+ return matches;
36649
+ }
36650
+ function CreatorImage({
36651
+ img,
36652
+ idx,
36653
+ creatorsPercentage,
36654
+ totalCreators
36655
+ }) {
36656
+ const processedCount = Math.floor(creatorsPercentage / 100 * totalCreators);
36657
+ const isProcessed = idx < processedCount;
36658
+ const isCurrentlyProcessing = idx === processedCount;
36659
+ return /* @__PURE__ */ jsxs81("div", { className: "relative w-8 h-8", children: [
36660
+ /* @__PURE__ */ jsx122(
36661
+ "img",
36662
+ {
36663
+ src: img,
36664
+ alt: `Creator ${idx + 1}`,
36665
+ className: `w-8 h-8 rounded-full border-2 ${isProcessed ? "border-green-600" : "border-foreground"} object-cover transition-all duration-300`
36666
+ }
36667
+ ),
36668
+ !isProcessed && /* @__PURE__ */ jsx122("div", { className: "absolute inset-0 bg-black/50 rounded-full pointer-events-none" }),
36669
+ isCurrentlyProcessing && /* @__PURE__ */ jsxs81(Fragment4, { children: [
36670
+ /* @__PURE__ */ jsx122(
36671
+ "div",
36672
+ {
36673
+ className: "absolute inset-0 bg-black/50 rounded-full pointer-events-none",
36674
+ style: {
36675
+ background: `conic-gradient(
36676
+ from 0deg,
36677
+ #FFFFFF80 0deg,
36678
+ #FFFFFF80 60deg,
36679
+ #000000bf 60deg,
36680
+ #000000bf 360deg
36681
+ )`,
36682
+ opacity: 0.9
36683
+ }
36684
+ }
36685
+ ),
36686
+ /* @__PURE__ */ jsx122("div", { className: "absolute inset-0 rounded-full border-2 border-[#9CA3AF]/30 pointer-events-none" })
36687
+ ] })
36688
+ ] });
36689
+ }
36690
+ function CreatorImageList({
36691
+ creatorImages = [],
36692
+ creatorLength = 0,
36693
+ isAgentOutput,
36694
+ initialCreatorsPercentage
36695
+ }) {
36696
+ const isMobile = useMediaQuery("(max-width: 640px)");
36697
+ const isTablet = useMediaQuery("(min-width: 641px) and (max-width: 1024px)");
36698
+ const visibleCount = isMobile ? 7 : isTablet ? 10 : isAgentOutput ? 6 : 15;
36699
+ return /* @__PURE__ */ jsxs81("div", { className: "flex flex-nowrap sm:flex-wrap -space-x-2 w-fit", children: [
36700
+ creatorImages.slice(0, visibleCount).map((img, idx) => /* @__PURE__ */ jsx122(
36701
+ CreatorImage,
36702
+ {
36703
+ img,
36704
+ idx,
36705
+ creatorsPercentage: initialCreatorsPercentage || 0,
36706
+ totalCreators: creatorLength
36707
+ },
36708
+ idx
36709
+ )),
36710
+ creatorLength > visibleCount && /* @__PURE__ */ jsxs81(
36711
+ "div",
36712
+ {
36713
+ className: `relative w-8 h-8 rounded-full text-white flex items-center justify-center text-sm font-medium border-2 ${initialCreatorsPercentage === 100 ? "border-green-600 bg-sliderFill" : "border-foreground bg-black/50"}`,
36714
+ children: [
36715
+ "+",
36716
+ creatorLength - visibleCount
36717
+ ]
36718
+ }
36719
+ )
36720
+ ] });
36721
+ }
36722
+
36723
+ // src/molecules/creator-discovery/CreatorWidget/CreatorProgressBar.tsx
36724
+ import { useEffect as useEffect8, useState as useState11 } from "react";
36725
+ import { motion as motion2, AnimatePresence as AnimatePresence2 } from "framer-motion";
36726
+ import { jsx as jsx123, jsxs as jsxs82 } from "react/jsx-runtime";
36727
+ function truncateName(name, maxLength) {
36728
+ if (!name || name.length <= maxLength) return name || "";
36729
+ return name.substring(0, maxLength) + "...";
36730
+ }
36731
+ function ProgressBar({ overallPercentage }) {
36732
+ const [showTooltip, setShowTooltip] = useState11(true);
36733
+ useEffect8(() => {
36734
+ if (overallPercentage && overallPercentage >= 100) {
36735
+ setShowTooltip(false);
36736
+ }
36737
+ }, [overallPercentage]);
36738
+ return /* @__PURE__ */ jsx123("div", { className: "relative w-full", children: /* @__PURE__ */ jsx123("div", { className: "md:w-full dark:bg-purple500 bg-gray-200 rounded-full h-[6px]", children: /* @__PURE__ */ jsx123(
36739
+ motion2.div,
36740
+ {
36741
+ className: "bg-purple100 h-[6px] rounded-full relative",
36742
+ initial: { width: 0 },
36743
+ animate: { width: `${overallPercentage}%` },
36744
+ transition: { duration: 0.5, ease: "easeOut" },
36745
+ children: /* @__PURE__ */ jsx123(AnimatePresence2, { children: showTooltip && /* @__PURE__ */ jsxs82(
36746
+ motion2.div,
36747
+ {
36748
+ initial: { opacity: 0, y: 5 },
36749
+ animate: { opacity: 1, y: 0 },
36750
+ exit: { opacity: 0, y: 5 },
36751
+ className: "absolute -top-10 right-[-25px] bg-gray50 text-gray900 text-lg px-1 rounded-[6px] shadow-lg whitespace-nowrap border-2 border-gray300",
36752
+ children: [
36753
+ overallPercentage ? Math.round(overallPercentage) : 0,
36754
+ "%",
36755
+ /* @__PURE__ */ jsxs82("div", { className: "absolute left-1/2 top-full -translate-x-1/2", children: [
36756
+ /* @__PURE__ */ jsx123("div", { className: "w-0 h-0 border-l-[6px] border-r-[6px] border-t-[6px] border-transparent border-t-gray300" }),
36757
+ /* @__PURE__ */ jsx123("div", { className: "absolute left-1/2 top-[-1px] -translate-x-1/2 w-0 h-0 border-l-[5px] border-r-[5px] border-t-[5px] border-transparent border-t-gray50" })
36758
+ ] })
36759
+ ]
36760
+ }
36761
+ ) })
36762
+ }
36763
+ ) }) });
36764
+ }
36765
+ function CreatorProgressBar({
36766
+ statusDetails,
36767
+ timeRemaining: _timeRemaining
36768
+ }) {
36769
+ return /* @__PURE__ */ jsxs82("div", { children: [
36770
+ /* @__PURE__ */ jsx123(ProgressBar, { overallPercentage: statusDetails?.overall_percentage }),
36771
+ /* @__PURE__ */ jsx123("div", { className: "dark:text-gray400 text-gray-500 text-xs mt-2", children: (statusDetails?.overall_percentage ?? 0) < 100 && /* @__PURE__ */ jsx123("span", { children: statusDetails?.thinking_message ? truncateName(statusDetails.thinking_message, 200) : "Processing..." }) })
36772
+ ] });
36773
+ }
36774
+
36775
+ // src/molecules/creator-discovery/CreatorWidget/CreatorWidgetSkeleton.tsx
36776
+ import { jsx as jsx124, jsxs as jsxs83 } from "react/jsx-runtime";
36777
+ function CreatorWidgetSkeleton() {
36778
+ return /* @__PURE__ */ jsx124("div", { className: "bg-background dark:bg-gray50 rounded-[25px] border border-gray300 overflow-hidden shadow-sm w-full relative", children: /* @__PURE__ */ jsxs83("div", { className: "p-4 md:p-6 space-y-4", children: [
36779
+ /* @__PURE__ */ jsx124("div", { className: "flex flex-col md:flex-row md:items-center md:justify-between gap-4 relative", children: /* @__PURE__ */ jsxs83("div", { className: "flex flex-col gap-2 md:gap-4", children: [
36780
+ /* @__PURE__ */ jsx124("div", { className: "w-40 h-6 bg-purple200 rounded-md animate-pulse" }),
36781
+ /* @__PURE__ */ jsx124("div", { className: "w-64 h-7 bg-gray200 dark:bg-gray300 rounded animate-pulse" })
36782
+ ] }) }),
36783
+ /* @__PURE__ */ jsxs83("div", { className: "bg-paperBackground rounded-lg px-3 md:px-4 py-4 md:py-5 flex flex-col md:flex-row md:items-center md:justify-between gap-4 md:gap-0", children: [
36784
+ /* @__PURE__ */ jsxs83("div", { className: "flex flex-col gap-4 md:gap-6 min-w-0", children: [
36785
+ /* @__PURE__ */ jsx124("div", { className: "flex -space-x-2", children: Array.from({ length: 10 }).map((_, idx) => /* @__PURE__ */ jsx124(
36786
+ "div",
36787
+ {
36788
+ className: "w-8 h-8 md:w-10 md:h-10 rounded-full border-2 border-gray300 bg-gray200 animate-pulse"
36789
+ },
36790
+ idx
36791
+ )) }),
36792
+ /* @__PURE__ */ jsx124("div", { className: "space-y-2", children: /* @__PURE__ */ jsx124("div", { className: "w-full max-w-xs bg-gray200 rounded-full h-2 animate-pulse" }) })
36793
+ ] }),
36794
+ /* @__PURE__ */ jsx124("div", { className: "px-6 py-2 bg-gray200 rounded-[30px] animate-pulse h-10 w-48" })
36795
+ ] })
36796
+ ] }) });
36797
+ }
36798
+
36799
+ // src/molecules/creator-discovery/CreatorWidget/CreatorCompactView.tsx
36800
+ import { Fragment as Fragment5, jsx as jsx125, jsxs as jsxs84 } from "react/jsx-runtime";
36801
+ function CreatorCompactView({
36802
+ versions,
36803
+ selectedVersion,
36804
+ creatorImages,
36805
+ creatorLength,
36806
+ isAgentOutput,
36807
+ onVersionSelect,
36808
+ onViewCreators,
36809
+ versionStatus,
36810
+ statusDetails,
36811
+ timeDisplay,
36812
+ isLoading
36813
+ }) {
36814
+ const isComplete = versionStatus === "completed" || versionStatus === "complete";
36815
+ const statusTitle = isComplete ? "Creator Search Complete" : versionStatus === "failed" ? "Creator Search Failed" : "Creator Search Processing";
36816
+ if (isLoading) {
36817
+ return /* @__PURE__ */ jsx125(CreatorWidgetSkeleton, {});
36818
+ }
36819
+ return /* @__PURE__ */ jsx125("div", { className: "bg-background dark:bg-gray100 rounded-[25px] border border-gray300 overflow-hidden shadow-sm w-full relative", children: /* @__PURE__ */ jsxs84("div", { className: "p-4 md:p-6 space-y-4", children: [
36820
+ /* @__PURE__ */ jsxs84("div", { className: "flex flex-col md:flex-row md:items-center md:justify-between gap-4 relative", children: [
36821
+ /* @__PURE__ */ jsxs84("div", { className: "flex flex-col gap-2 md:gap-4", children: [
36822
+ /* @__PURE__ */ jsx125("h4", { className: "w-fit rounded-md bg-purple200 px-2 py-[4px] text-xs font-medium text-purpleText", children: "VERIFIED CREATORS LIST" }),
36823
+ /* @__PURE__ */ jsx125("h3", { className: "text-gray900 md:text-lg font-bold", children: statusTitle })
36824
+ ] }),
36825
+ versions.length > 1 && /* @__PURE__ */ jsx125("div", { className: "relative md:self-start", children: /* @__PURE__ */ jsxs84(DropdownMenu, { children: [
36826
+ /* @__PURE__ */ jsxs84(
36827
+ DropdownMenuTrigger,
36828
+ {
36829
+ disabled: !isComplete,
36830
+ className: `flex items-center gap-2 border-2 border-gray400 px-3 md:px-4 py-1 rounded-full text-xs md:text-sm outline-none ${!isComplete ? "bg-gray100 text-gray400 cursor-not-allowed opacity-60" : "text-gray600 hover:bg-purple100/20 cursor-pointer"}`,
36831
+ children: [
36832
+ "Version ",
36833
+ selectedVersion ?? "-",
36834
+ /* @__PURE__ */ jsx125(ChevronDown, { className: "w-3 h-3 md:w-4 md:h-4 transition-transform" })
36835
+ ]
36836
+ }
36837
+ ),
36838
+ /* @__PURE__ */ jsx125(DropdownMenuContent, { className: "bg-gray25 border-2 border-gray400 min-w-[120px] max-h-[150px] overflow-y-auto", children: versions.map((v) => /* @__PURE__ */ jsxs84(
36839
+ DropdownMenuItem,
36840
+ {
36841
+ onClick: () => onVersionSelect(v),
36842
+ className: "cursor-pointer text-sm",
36843
+ children: [
36844
+ "Version ",
36845
+ v
36846
+ ]
36847
+ },
36848
+ v
36849
+ )) })
36850
+ ] }) })
36851
+ ] }),
36852
+ /* @__PURE__ */ jsx125("div", { className: "bg-paperBackground rounded-lg px-3 md:px-4 py-4 md:py-5 flex flex-col md:flex-row md:items-center md:justify-between gap-4 md:gap-0", children: versionStatus === "failed" ? /* @__PURE__ */ jsxs84("div", { className: "flex flex-col items-center justify-center w-full py-6 md:py-8 text-center text-red-500", children: [
36853
+ /* @__PURE__ */ jsx125("p", { className: "text-base md:text-lg font-semibold mb-2", children: "Creator Search Failed" }),
36854
+ /* @__PURE__ */ jsx125("p", { className: "text-xs md:text-sm text-gray600 px-2", children: "Something went wrong while fetching creators. Please try again later or regenerate a new version." })
36855
+ ] }) : /* @__PURE__ */ jsxs84(Fragment5, { children: [
36856
+ /* @__PURE__ */ jsxs84("div", { className: "flex flex-col gap-4 md:gap-6 min-w-0", children: [
36857
+ /* @__PURE__ */ jsx125(
36858
+ CreatorImageList,
36859
+ {
36860
+ creatorImages,
36861
+ creatorLength,
36862
+ isAgentOutput,
36863
+ initialCreatorsPercentage: statusDetails?.social_fetch_percentage
36864
+ }
36865
+ ),
36866
+ /* @__PURE__ */ jsx125(
36867
+ CreatorProgressBar,
36868
+ {
36869
+ statusDetails,
36870
+ timeRemaining: timeDisplay
36871
+ }
36872
+ )
36873
+ ] }),
36874
+ /* @__PURE__ */ jsxs84(
36875
+ "button",
36876
+ {
36877
+ className: `px-4 py-2 text-xs md:text-sm rounded-[30px] shadow flex items-center justify-center gap-2 w-full md:w-auto md:flex-shrink-0 whitespace-nowrap ${!isComplete ? "bg-gray300 text-gray500 border-2 border-gray300 cursor-not-allowed" : "bg-purpleLight dark:bg-purple200 text-purpleText2 dark:text-purpleText border-2 border-purple100 cursor-pointer hover:bg-purpleText1 dark:hover:bg-purple100 dark:hover:text-background"}`,
36878
+ onClick: onViewCreators,
36879
+ disabled: !isComplete,
36880
+ children: [
36881
+ "View ",
36882
+ creatorLength,
36883
+ " Verified Creators",
36884
+ /* @__PURE__ */ jsx125(Triangle, { className: "w-3 h-3 md:w-4 md:h-4 rotate-90 font-bold" })
36885
+ ]
36886
+ }
36887
+ )
36888
+ ] }) })
36889
+ ] }) });
36890
+ }
36891
+
36892
+ // src/molecules/creator-discovery/CreatorWidget/useCreatorWidgetPolling.ts
36893
+ import { useState as useState12, useEffect as useEffect9, useCallback as useCallback4, useMemo as useMemo9, useRef as useRef6 } from "react";
36894
+ var DEFAULT_POLLING_CONFIG = {
36895
+ pollInterval: 5e3,
36896
+ maxDuration: 15 * 60 * 1e3,
36897
+ maxErrors: 10,
36898
+ secondsPerCreator: 13
36899
+ };
36900
+ function useCreatorWidgetPolling({
36901
+ sessionId,
36902
+ currentVersion,
36903
+ fetchVersions,
36904
+ fetchStatus,
36905
+ pollingConfig,
36906
+ onStatusChange
36907
+ }) {
36908
+ const config = useMemo9(
36909
+ () => ({ ...DEFAULT_POLLING_CONFIG, ...pollingConfig }),
36910
+ [pollingConfig]
36911
+ );
36912
+ const [versionData, setVersionData] = useState12(null);
36913
+ const [totalVersions, setTotalVersions] = useState12(0);
36914
+ const [selectedVersion, setSelectedVersion] = useState12();
36915
+ const [isLoadingVersion, setIsLoadingVersion] = useState12(false);
36916
+ const [isValidationComplete, setIsValidationComplete] = useState12(false);
36917
+ const [versionStatus, setVersionStatus] = useState12("checking");
36918
+ const [statusDetails, setStatusDetails] = useState12();
36919
+ const [timeDisplay, setTimeDisplay] = useState12("");
36920
+ const [loadingStatus, setLoadingStatus] = useState12(true);
36921
+ const remainingTimeRef = useRef6(0);
36922
+ const requestedVersion = selectedVersion ?? currentVersion ?? versionData?.currentVersion;
36923
+ const fetchVersionData = useCallback4(async () => {
36924
+ if (!sessionId) return;
36925
+ if (!versionData) setIsLoadingVersion(true);
36926
+ try {
36927
+ const data = await fetchVersions({
36928
+ sessionId,
36929
+ version: requestedVersion,
36930
+ validated: isValidationComplete
36931
+ });
36932
+ if (data.success !== false) {
36933
+ setVersionData(data);
36934
+ setTotalVersions(data.totalVersions || 0);
36935
+ }
36936
+ } catch (err) {
36937
+ if (err.name !== "AbortError") {
36938
+ console.error("Error fetching creator version:", err);
36939
+ }
36940
+ } finally {
36941
+ setIsLoadingVersion(false);
36942
+ }
36943
+ }, [sessionId, requestedVersion, isValidationComplete, fetchVersions, versionData]);
36944
+ useEffect9(() => {
36945
+ fetchVersionData();
36946
+ }, [sessionId, requestedVersion, isValidationComplete]);
36947
+ useEffect9(() => {
36948
+ if (totalVersions > 0 || !sessionId) return;
36949
+ const interval = setInterval(() => {
36950
+ if (totalVersions === 0) fetchVersionData();
36951
+ }, config.pollInterval);
36952
+ return () => clearInterval(interval);
36953
+ }, [totalVersions, sessionId, fetchVersionData, config.pollInterval]);
36954
+ useEffect9(() => {
36955
+ if (!selectedVersion && !requestedVersion) return;
36956
+ const activeVersion = selectedVersion ?? requestedVersion;
36957
+ let isMounted = true;
36958
+ let intervalId = null;
36959
+ let timerIntervalId = null;
36960
+ let elapsed = 0;
36961
+ let errorCount = 0;
36962
+ setLoadingStatus(true);
36963
+ setStatusDetails(void 0);
36964
+ setVersionStatus("checking");
36965
+ const creatorLength2 = versionData?.length || 0;
36966
+ remainingTimeRef.current = creatorLength2 > 0 ? creatorLength2 * config.secondsPerCreator : 60;
36967
+ const formatTime = (seconds) => {
36968
+ if (seconds <= 0) return "to complete";
36969
+ const minutes = Math.floor(seconds / 60);
36970
+ return minutes >= 1 ? `${minutes} min remaining...` : `${seconds} sec remaining...`;
36971
+ };
36972
+ setTimeDisplay(formatTime(remainingTimeRef.current));
36973
+ timerIntervalId = setInterval(() => {
36974
+ if (remainingTimeRef.current > 0) remainingTimeRef.current -= 1;
36975
+ setTimeDisplay(formatTime(remainingTimeRef.current));
36976
+ }, 1e3);
36977
+ const updateStatus = (status) => {
36978
+ setVersionStatus(status);
36979
+ onStatusChange?.(status);
36980
+ };
36981
+ const stopPolling = () => {
36982
+ if (intervalId) clearInterval(intervalId);
36983
+ if (timerIntervalId) clearInterval(timerIntervalId);
36984
+ setTimeDisplay("");
36985
+ };
36986
+ const pollStatus = async () => {
36987
+ try {
36988
+ const data = await fetchStatus({
36989
+ sessionId,
36990
+ versionNo: activeVersion
36991
+ });
36992
+ if (!isMounted) return;
36993
+ if (data?.status) setStatusDetails(data.status);
36994
+ const s = data?.status?.status;
36995
+ if (s === "completed" || s === "complete") {
36996
+ updateStatus(s);
36997
+ setIsValidationComplete(true);
36998
+ stopPolling();
36999
+ return;
37000
+ }
37001
+ if (s === "failed") {
37002
+ updateStatus("failed");
37003
+ stopPolling();
37004
+ return;
37005
+ }
37006
+ errorCount = 0;
37007
+ updateStatus(s || "in-progress");
37008
+ } catch (err) {
37009
+ console.error("Error fetching status:", err);
37010
+ errorCount++;
37011
+ if (errorCount >= config.maxErrors) {
37012
+ console.error(`Polling failed after ${config.maxErrors} consecutive errors`);
37013
+ updateStatus("failed");
37014
+ setLoadingStatus(false);
37015
+ stopPolling();
37016
+ return;
37017
+ }
37018
+ } finally {
37019
+ setLoadingStatus(false);
37020
+ }
37021
+ };
37022
+ pollStatus();
37023
+ intervalId = setInterval(() => {
37024
+ elapsed += config.pollInterval;
37025
+ if (elapsed >= config.maxDuration) {
37026
+ console.warn("Stopped polling after max duration");
37027
+ stopPolling();
37028
+ } else {
37029
+ pollStatus();
37030
+ }
37031
+ }, config.pollInterval);
37032
+ return () => {
37033
+ isMounted = false;
37034
+ stopPolling();
37035
+ };
37036
+ }, [selectedVersion, requestedVersion, sessionId]);
37037
+ const versionNumbers = useMemo9(() => {
37038
+ if (!totalVersions) return [];
37039
+ return Array.from({ length: totalVersions }, (_, i) => i + 1);
37040
+ }, [totalVersions]);
37041
+ const creatorIds = versionData?.ids || [];
37042
+ const creatorImages = versionData?.images || [];
37043
+ const creatorLength = versionData?.length || 0;
37044
+ const searchSpec = versionData?.searchSpec || {};
37045
+ const displayVersion = versionData?.currentVersion ?? requestedVersion;
37046
+ return {
37047
+ versionData,
37048
+ versionNumbers,
37049
+ selectedVersion: displayVersion,
37050
+ setSelectedVersion,
37051
+ creatorImages,
37052
+ creatorLength,
37053
+ creatorIds,
37054
+ searchSpec,
37055
+ versionStatus,
37056
+ statusDetails,
37057
+ timeDisplay,
37058
+ isLoading: loadingStatus || isLoadingVersion,
37059
+ isValidationComplete
37060
+ };
37061
+ }
37062
+
37063
+ // src/molecules/creator-discovery/CreatorWidget/CreatorWidget.tsx
37064
+ import { jsx as jsx126 } from "react/jsx-runtime";
37065
+ function CreatorWidgetInner({
37066
+ sessionId,
37067
+ currentVersion,
37068
+ isAgentOutput = false,
37069
+ fetchVersions,
37070
+ fetchStatus,
37071
+ pollingConfig,
37072
+ onStatusChange,
37073
+ onAction,
37074
+ className
37075
+ }) {
37076
+ const {
37077
+ versionNumbers,
37078
+ selectedVersion,
37079
+ setSelectedVersion,
37080
+ creatorImages,
37081
+ creatorLength,
37082
+ creatorIds,
37083
+ searchSpec,
37084
+ versionStatus,
37085
+ statusDetails,
37086
+ timeDisplay,
37087
+ isLoading
37088
+ } = useCreatorWidgetPolling({
37089
+ sessionId,
37090
+ currentVersion,
37091
+ fetchVersions,
37092
+ fetchStatus,
37093
+ pollingConfig,
37094
+ onStatusChange
37095
+ });
37096
+ const handleVersionSelect = useCallback5(
37097
+ (version) => setSelectedVersion(version),
37098
+ [setSelectedVersion]
37099
+ );
37100
+ const handleViewCreators = useCallback5(() => {
37101
+ onAction?.({
37102
+ type: "view-creators",
37103
+ sessionId,
37104
+ creatorIds,
37105
+ version: selectedVersion,
37106
+ searchSpec
37107
+ });
37108
+ }, [onAction, sessionId, creatorIds, selectedVersion, searchSpec]);
37109
+ if (!fetchVersions || !fetchStatus) {
37110
+ return /* @__PURE__ */ jsx126(CreatorWidgetSkeleton, {});
37111
+ }
37112
+ return /* @__PURE__ */ jsx126("div", { className, children: /* @__PURE__ */ jsx126(
37113
+ CreatorCompactView,
37114
+ {
37115
+ versions: versionNumbers,
37116
+ selectedVersion,
37117
+ creatorImages,
37118
+ creatorLength,
37119
+ isAgentOutput,
37120
+ onVersionSelect: handleVersionSelect,
37121
+ onViewCreators: handleViewCreators,
37122
+ versionStatus,
37123
+ statusDetails,
37124
+ timeDisplay,
37125
+ isLoading
37126
+ }
37127
+ ) });
37128
+ }
37129
+ var CreatorWidget = memo(CreatorWidgetInner);
37130
+
36621
37131
  // src/molecules/agent-builder/ToolListCard/ToolListCard.tsx
36622
- import { jsx as jsx122, jsxs as jsxs81 } from "react/jsx-runtime";
37132
+ import { jsx as jsx127, jsxs as jsxs85 } from "react/jsx-runtime";
36623
37133
  var ICON_MAP = {
36624
37134
  Search,
36625
37135
  Database,
@@ -36676,7 +37186,7 @@ var ToolListCard = ({
36676
37186
  grouped[cat].push(tool);
36677
37187
  }
36678
37188
  const categories = Object.keys(grouped);
36679
- return /* @__PURE__ */ jsxs81(
37189
+ return /* @__PURE__ */ jsxs85(
36680
37190
  "div",
36681
37191
  {
36682
37192
  className: cn(
@@ -36684,33 +37194,33 @@ var ToolListCard = ({
36684
37194
  className
36685
37195
  ),
36686
37196
  children: [
36687
- /* @__PURE__ */ jsxs81("div", { className: "px-4 py-3 border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.03] flex items-center gap-2.5", children: [
36688
- /* @__PURE__ */ jsx122("div", { className: "w-6 h-6 rounded-md bg-interactive/10 flex items-center justify-center", children: /* @__PURE__ */ jsx122(Wrench, { className: "w-3.5 h-3.5 text-interactive" }) }),
36689
- /* @__PURE__ */ jsx122("h4", { className: "text-sm font-semibold text-[var(--foreground)]", children: "Available Tools" }),
36690
- /* @__PURE__ */ jsx122("span", { className: "ml-auto text-[11px] font-medium text-[var(--foreground)]/40 bg-[var(--foreground)]/[0.06] px-2 py-0.5 rounded-full", children: tools.length })
37197
+ /* @__PURE__ */ jsxs85("div", { className: "px-4 py-3 border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.03] flex items-center gap-2.5", children: [
37198
+ /* @__PURE__ */ jsx127("div", { className: "w-6 h-6 rounded-md bg-interactive/10 flex items-center justify-center", children: /* @__PURE__ */ jsx127(Wrench, { className: "w-3.5 h-3.5 text-interactive" }) }),
37199
+ /* @__PURE__ */ jsx127("h4", { className: "text-sm font-semibold text-[var(--foreground)]", children: "Available Tools" }),
37200
+ /* @__PURE__ */ jsx127("span", { className: "ml-auto text-[11px] font-medium text-[var(--foreground)]/40 bg-[var(--foreground)]/[0.06] px-2 py-0.5 rounded-full", children: tools.length })
36691
37201
  ] }),
36692
- /* @__PURE__ */ jsx122("div", { className: "divide-y divide-[var(--border-color)]", children: categories.map((cat) => {
37202
+ /* @__PURE__ */ jsx127("div", { className: "divide-y divide-[var(--border-color)]", children: categories.map((cat) => {
36693
37203
  const CatIcon = resolveCategoryIcon(cat);
36694
- return /* @__PURE__ */ jsxs81("div", { className: "px-4 py-3", children: [
36695
- /* @__PURE__ */ jsxs81("div", { className: "flex items-center gap-2 mb-2.5", children: [
36696
- /* @__PURE__ */ jsx122(CatIcon, { className: "w-3.5 h-3.5 text-interactive/70" }),
36697
- /* @__PURE__ */ jsx122("span", { className: "text-[11px] font-semibold text-[var(--foreground)]/50 uppercase tracking-wider", children: cat }),
36698
- /* @__PURE__ */ jsx122("span", { className: "text-[10px] text-[var(--foreground)]/30", children: grouped[cat].length })
37204
+ return /* @__PURE__ */ jsxs85("div", { className: "px-4 py-3", children: [
37205
+ /* @__PURE__ */ jsxs85("div", { className: "flex items-center gap-2 mb-2.5", children: [
37206
+ /* @__PURE__ */ jsx127(CatIcon, { className: "w-3.5 h-3.5 text-interactive/70" }),
37207
+ /* @__PURE__ */ jsx127("span", { className: "text-[11px] font-semibold text-[var(--foreground)]/50 uppercase tracking-wider", children: cat }),
37208
+ /* @__PURE__ */ jsx127("span", { className: "text-[10px] text-[var(--foreground)]/30", children: grouped[cat].length })
36699
37209
  ] }),
36700
- /* @__PURE__ */ jsx122("div", { className: "space-y-1.5", children: grouped[cat].map((tool) => {
37210
+ /* @__PURE__ */ jsx127("div", { className: "space-y-1.5", children: grouped[cat].map((tool) => {
36701
37211
  const ToolIcon = resolveIcon(tool);
36702
- return /* @__PURE__ */ jsxs81(
37212
+ return /* @__PURE__ */ jsxs85(
36703
37213
  "div",
36704
37214
  {
36705
37215
  className: "group flex items-start gap-3 px-3 py-2 rounded-lg hover:bg-[var(--foreground)]/[0.03] transition-colors",
36706
37216
  children: [
36707
- /* @__PURE__ */ jsx122("div", { className: "shrink-0 mt-0.5 w-5 h-5 rounded flex items-center justify-center bg-interactive/[0.08]", children: /* @__PURE__ */ jsx122(ToolIcon, { className: "w-3 h-3 text-interactive/60" }) }),
36708
- /* @__PURE__ */ jsxs81("div", { className: "flex-1 min-w-0", children: [
36709
- /* @__PURE__ */ jsxs81("div", { className: "flex items-center gap-2 flex-wrap", children: [
36710
- tool.display_name && tool.display_name !== tool.name && /* @__PURE__ */ jsx122("span", { className: "text-[13px] font-medium text-[var(--foreground)] truncate max-w-full", children: tool.display_name }),
36711
- /* @__PURE__ */ jsx122("span", { className: "text-[11px] font-mono px-1.5 py-0.5 rounded bg-[var(--foreground)]/[0.06] text-[var(--foreground)]/50 border border-[var(--foreground)]/[0.06] truncate", children: tool.name })
37217
+ /* @__PURE__ */ jsx127("div", { className: "shrink-0 mt-0.5 w-5 h-5 rounded flex items-center justify-center bg-interactive/[0.08]", children: /* @__PURE__ */ jsx127(ToolIcon, { className: "w-3 h-3 text-interactive/60" }) }),
37218
+ /* @__PURE__ */ jsxs85("div", { className: "flex-1 min-w-0", children: [
37219
+ /* @__PURE__ */ jsxs85("div", { className: "flex items-center gap-2 flex-wrap", children: [
37220
+ tool.display_name && tool.display_name !== tool.name && /* @__PURE__ */ jsx127("span", { className: "text-[13px] font-medium text-[var(--foreground)] truncate max-w-full", children: tool.display_name }),
37221
+ /* @__PURE__ */ jsx127("span", { className: "text-[11px] font-mono px-1.5 py-0.5 rounded bg-[var(--foreground)]/[0.06] text-[var(--foreground)]/50 border border-[var(--foreground)]/[0.06] truncate", children: tool.name })
36712
37222
  ] }),
36713
- tool.description && /* @__PURE__ */ jsx122("p", { className: "text-xs text-[var(--foreground)]/50 leading-relaxed mt-0.5 break-words whitespace-normal", children: tool.description })
37223
+ tool.description && /* @__PURE__ */ jsx127("p", { className: "text-xs text-[var(--foreground)]/50 leading-relaxed mt-0.5 break-words whitespace-normal", children: tool.description })
36714
37224
  ] })
36715
37225
  ]
36716
37226
  },
@@ -36725,8 +37235,8 @@ var ToolListCard = ({
36725
37235
  };
36726
37236
 
36727
37237
  // src/molecules/agent-builder/AgentCard/AgentCard.tsx
36728
- import { useState as useState10, useCallback as useCallback4 } from "react";
36729
- import { Fragment as Fragment4, jsx as jsx123, jsxs as jsxs82 } from "react/jsx-runtime";
37238
+ import { useState as useState13, useCallback as useCallback6 } from "react";
37239
+ import { Fragment as Fragment6, jsx as jsx128, jsxs as jsxs86 } from "react/jsx-runtime";
36730
37240
  var AgentCard = ({
36731
37241
  agent,
36732
37242
  editable = true,
@@ -36734,15 +37244,15 @@ var AgentCard = ({
36734
37244
  onSave,
36735
37245
  className
36736
37246
  }) => {
36737
- const [isEditing, setIsEditing] = useState10(false);
36738
- const [isSaving, setIsSaving] = useState10(false);
36739
- const [editState, setEditState] = useState10({
37247
+ const [isEditing, setIsEditing] = useState13(false);
37248
+ const [isSaving, setIsSaving] = useState13(false);
37249
+ const [editState, setEditState] = useState13({
36740
37250
  display_name: agent.display_name,
36741
37251
  description: agent.description,
36742
37252
  image: agent.image || ""
36743
37253
  });
36744
37254
  const avatarUrl = agent.image || `https://api.dicebear.com/7.x/avataaars/svg?seed=${agent.name}`;
36745
- const handleEdit = useCallback4(() => {
37255
+ const handleEdit = useCallback6(() => {
36746
37256
  setEditState({
36747
37257
  display_name: agent.display_name,
36748
37258
  description: agent.description,
@@ -36750,10 +37260,10 @@ var AgentCard = ({
36750
37260
  });
36751
37261
  setIsEditing(true);
36752
37262
  }, [agent]);
36753
- const handleCancel = useCallback4(() => {
37263
+ const handleCancel = useCallback6(() => {
36754
37264
  setIsEditing(false);
36755
37265
  }, []);
36756
- const handleSave = useCallback4(async () => {
37266
+ const handleSave = useCallback6(async () => {
36757
37267
  if (!onSave) return;
36758
37268
  const updates = {};
36759
37269
  if (editState.display_name !== agent.display_name)
@@ -36777,7 +37287,7 @@ var AgentCard = ({
36777
37287
  }
36778
37288
  }, [onSave, agent, editState]);
36779
37289
  if (compact) {
36780
- return /* @__PURE__ */ jsxs82(
37290
+ return /* @__PURE__ */ jsxs86(
36781
37291
  "div",
36782
37292
  {
36783
37293
  className: cn(
@@ -36785,14 +37295,14 @@ var AgentCard = ({
36785
37295
  className
36786
37296
  ),
36787
37297
  children: [
36788
- /* @__PURE__ */ jsxs82(Avatar, { className: "h-8 w-8 shrink-0", children: [
36789
- /* @__PURE__ */ jsx123(AvatarImage, { src: avatarUrl, alt: agent.display_name }),
36790
- /* @__PURE__ */ jsx123(AvatarFallback, { className: "bg-interactive/10 text-interactive text-xs font-bold", children: agent.display_name.charAt(0) })
37298
+ /* @__PURE__ */ jsxs86(Avatar, { className: "h-8 w-8 shrink-0", children: [
37299
+ /* @__PURE__ */ jsx128(AvatarImage, { src: avatarUrl, alt: agent.display_name }),
37300
+ /* @__PURE__ */ jsx128(AvatarFallback, { className: "bg-interactive/10 text-interactive text-xs font-bold", children: agent.display_name.charAt(0) })
36791
37301
  ] }),
36792
- /* @__PURE__ */ jsxs82("div", { className: "flex-1 min-w-0", children: [
36793
- /* @__PURE__ */ jsxs82("div", { className: "flex items-center gap-2", children: [
36794
- /* @__PURE__ */ jsx123("span", { className: "text-[var(--foreground)] text-sm font-semibold truncate", children: agent.display_name }),
36795
- /* @__PURE__ */ jsx123(
37302
+ /* @__PURE__ */ jsxs86("div", { className: "flex-1 min-w-0", children: [
37303
+ /* @__PURE__ */ jsxs86("div", { className: "flex items-center gap-2", children: [
37304
+ /* @__PURE__ */ jsx128("span", { className: "text-[var(--foreground)] text-sm font-semibold truncate", children: agent.display_name }),
37305
+ /* @__PURE__ */ jsx128(
36796
37306
  "span",
36797
37307
  {
36798
37308
  className: cn(
@@ -36803,13 +37313,13 @@ var AgentCard = ({
36803
37313
  }
36804
37314
  )
36805
37315
  ] }),
36806
- /* @__PURE__ */ jsx123("p", { className: "text-[var(--foreground)]/50 text-xs truncate", children: agent.description })
37316
+ /* @__PURE__ */ jsx128("p", { className: "text-[var(--foreground)]/50 text-xs truncate", children: agent.description })
36807
37317
  ] })
36808
37318
  ]
36809
37319
  }
36810
37320
  );
36811
37321
  }
36812
- return /* @__PURE__ */ jsxs82(
37322
+ return /* @__PURE__ */ jsxs86(
36813
37323
  "div",
36814
37324
  {
36815
37325
  className: cn(
@@ -36817,14 +37327,14 @@ var AgentCard = ({
36817
37327
  className
36818
37328
  ),
36819
37329
  children: [
36820
- /* @__PURE__ */ jsxs82("div", { className: "flex items-start gap-4 px-5 py-4", children: [
36821
- /* @__PURE__ */ jsxs82(Avatar, { className: "h-12 w-12 shrink-0 border-2 border-interactive/20", children: [
36822
- /* @__PURE__ */ jsx123(AvatarImage, { src: isEditing && editState.image ? editState.image : avatarUrl, alt: agent.display_name }),
36823
- /* @__PURE__ */ jsx123(AvatarFallback, { className: "bg-interactive/10 text-interactive text-lg font-bold", children: agent.display_name.charAt(0) })
37330
+ /* @__PURE__ */ jsxs86("div", { className: "flex items-start gap-4 px-5 py-4", children: [
37331
+ /* @__PURE__ */ jsxs86(Avatar, { className: "h-12 w-12 shrink-0 border-2 border-interactive/20", children: [
37332
+ /* @__PURE__ */ jsx128(AvatarImage, { src: isEditing && editState.image ? editState.image : avatarUrl, alt: agent.display_name }),
37333
+ /* @__PURE__ */ jsx128(AvatarFallback, { className: "bg-interactive/10 text-interactive text-lg font-bold", children: agent.display_name.charAt(0) })
36824
37334
  ] }),
36825
- /* @__PURE__ */ jsxs82("div", { className: "flex-1 min-w-0", children: [
36826
- /* @__PURE__ */ jsxs82("div", { className: "flex items-center gap-2", children: [
36827
- isEditing ? /* @__PURE__ */ jsx123(
37335
+ /* @__PURE__ */ jsxs86("div", { className: "flex-1 min-w-0", children: [
37336
+ /* @__PURE__ */ jsxs86("div", { className: "flex items-center gap-2", children: [
37337
+ isEditing ? /* @__PURE__ */ jsx128(
36828
37338
  "input",
36829
37339
  {
36830
37340
  type: "text",
@@ -36834,9 +37344,9 @@ var AgentCard = ({
36834
37344
  className: "flex-1 bg-transparent border-b border-interactive/30 text-sm font-semibold text-foreground outline-none focus:border-interactive transition-all",
36835
37345
  placeholder: "Agent name"
36836
37346
  }
36837
- ) : /* @__PURE__ */ jsx123("h4", { className: "text-sm font-semibold text-[var(--foreground)] truncate", children: agent.display_name }),
36838
- /* @__PURE__ */ jsx123("span", { className: "text-[11px] font-mono text-[var(--foreground)]/40 bg-[var(--foreground)]/[0.05] px-1.5 py-0.5 rounded", children: agent.name }),
36839
- /* @__PURE__ */ jsx123(
37347
+ ) : /* @__PURE__ */ jsx128("h4", { className: "text-sm font-semibold text-[var(--foreground)] truncate", children: agent.display_name }),
37348
+ /* @__PURE__ */ jsx128("span", { className: "text-[11px] font-mono text-[var(--foreground)]/40 bg-[var(--foreground)]/[0.05] px-1.5 py-0.5 rounded", children: agent.name }),
37349
+ /* @__PURE__ */ jsx128(
36840
37350
  "span",
36841
37351
  {
36842
37352
  className: cn(
@@ -36847,7 +37357,7 @@ var AgentCard = ({
36847
37357
  }
36848
37358
  )
36849
37359
  ] }),
36850
- /* @__PURE__ */ jsx123("div", { className: "mt-1", children: isEditing ? /* @__PURE__ */ jsx123(
37360
+ /* @__PURE__ */ jsx128("div", { className: "mt-1", children: isEditing ? /* @__PURE__ */ jsx128(
36851
37361
  "textarea",
36852
37362
  {
36853
37363
  value: editState.description,
@@ -36857,10 +37367,10 @@ var AgentCard = ({
36857
37367
  rows: 2,
36858
37368
  placeholder: "Describe this agent..."
36859
37369
  }
36860
- ) : /* @__PURE__ */ jsx123("p", { className: "text-xs text-[var(--foreground)]/60 leading-relaxed", children: agent.description }) }),
36861
- isEditing && /* @__PURE__ */ jsxs82("div", { className: "mt-2 flex items-center gap-2", children: [
36862
- /* @__PURE__ */ jsx123("span", { className: "text-[10px] text-[var(--foreground)]/30 uppercase font-semibold", children: "Avatar:" }),
36863
- /* @__PURE__ */ jsx123(
37370
+ ) : /* @__PURE__ */ jsx128("p", { className: "text-xs text-[var(--foreground)]/60 leading-relaxed", children: agent.description }) }),
37371
+ isEditing && /* @__PURE__ */ jsxs86("div", { className: "mt-2 flex items-center gap-2", children: [
37372
+ /* @__PURE__ */ jsx128("span", { className: "text-[10px] text-[var(--foreground)]/30 uppercase font-semibold", children: "Avatar:" }),
37373
+ /* @__PURE__ */ jsx128(
36864
37374
  "input",
36865
37375
  {
36866
37376
  type: "text",
@@ -36873,8 +37383,8 @@ var AgentCard = ({
36873
37383
  )
36874
37384
  ] })
36875
37385
  ] }),
36876
- editable && onSave && /* @__PURE__ */ jsx123("div", { className: "flex items-center gap-1.5 shrink-0", children: isEditing ? /* @__PURE__ */ jsxs82(Fragment4, { children: [
36877
- /* @__PURE__ */ jsx123(
37386
+ editable && onSave && /* @__PURE__ */ jsx128("div", { className: "flex items-center gap-1.5 shrink-0", children: isEditing ? /* @__PURE__ */ jsxs86(Fragment6, { children: [
37387
+ /* @__PURE__ */ jsx128(
36878
37388
  "button",
36879
37389
  {
36880
37390
  onClick: handleCancel,
@@ -36883,7 +37393,7 @@ var AgentCard = ({
36883
37393
  children: "Cancel"
36884
37394
  }
36885
37395
  ),
36886
- /* @__PURE__ */ jsx123(
37396
+ /* @__PURE__ */ jsx128(
36887
37397
  "button",
36888
37398
  {
36889
37399
  onClick: handleSave,
@@ -36892,7 +37402,7 @@ var AgentCard = ({
36892
37402
  children: isSaving ? "Saving..." : "Save"
36893
37403
  }
36894
37404
  )
36895
- ] }) : /* @__PURE__ */ jsx123(
37405
+ ] }) : /* @__PURE__ */ jsx128(
36896
37406
  "button",
36897
37407
  {
36898
37408
  onClick: handleEdit,
@@ -36901,18 +37411,18 @@ var AgentCard = ({
36901
37411
  }
36902
37412
  ) })
36903
37413
  ] }),
36904
- /* @__PURE__ */ jsx123("div", { className: "flex flex-wrap items-center gap-3 px-5 pb-3 text-xs", children: /* @__PURE__ */ jsxs82("span", { className: "text-[var(--foreground)]/40", children: [
37414
+ /* @__PURE__ */ jsx128("div", { className: "flex flex-wrap items-center gap-3 px-5 pb-3 text-xs", children: /* @__PURE__ */ jsxs86("span", { className: "text-[var(--foreground)]/40", children: [
36905
37415
  "Model:",
36906
37416
  " ",
36907
- /* @__PURE__ */ jsx123("span", { className: "font-mono text-[var(--foreground)]/70", children: agent.model })
37417
+ /* @__PURE__ */ jsx128("span", { className: "font-mono text-[var(--foreground)]/70", children: agent.model })
36908
37418
  ] }) }),
36909
- agent.tools && agent.tools.length > 0 && /* @__PURE__ */ jsxs82("div", { className: "border-t border-[var(--border-color)] px-5 py-3", children: [
36910
- /* @__PURE__ */ jsxs82("p", { className: "text-[11px] font-semibold text-[var(--foreground)]/40 uppercase tracking-wide mb-2", children: [
37419
+ agent.tools && agent.tools.length > 0 && /* @__PURE__ */ jsxs86("div", { className: "border-t border-[var(--border-color)] px-5 py-3", children: [
37420
+ /* @__PURE__ */ jsxs86("p", { className: "text-[11px] font-semibold text-[var(--foreground)]/40 uppercase tracking-wide mb-2", children: [
36911
37421
  "Tools (",
36912
37422
  agent.tools.length,
36913
37423
  ")"
36914
37424
  ] }),
36915
- /* @__PURE__ */ jsx123("div", { className: "flex flex-wrap gap-1.5", children: agent.tools.map((tool) => /* @__PURE__ */ jsx123(
37425
+ /* @__PURE__ */ jsx128("div", { className: "flex flex-wrap gap-1.5", children: agent.tools.map((tool) => /* @__PURE__ */ jsx128(
36916
37426
  "span",
36917
37427
  {
36918
37428
  className: "text-[11px] px-2 py-0.5 rounded-md bg-interactive/10 text-interactive font-mono border border-interactive/20",
@@ -36927,7 +37437,7 @@ var AgentCard = ({
36927
37437
  };
36928
37438
 
36929
37439
  // src/molecules/agent-builder/AgentDataTable/AgentDataTable.tsx
36930
- import { jsx as jsx124, jsxs as jsxs83 } from "react/jsx-runtime";
37440
+ import { jsx as jsx129, jsxs as jsxs87 } from "react/jsx-runtime";
36931
37441
  var AgentDataTable = ({
36932
37442
  headers,
36933
37443
  rows,
@@ -36935,7 +37445,7 @@ var AgentDataTable = ({
36935
37445
  }) => {
36936
37446
  const renderCell = (value) => {
36937
37447
  if (typeof value === "boolean") {
36938
- return /* @__PURE__ */ jsxs83(
37448
+ return /* @__PURE__ */ jsxs87(
36939
37449
  "span",
36940
37450
  {
36941
37451
  className: cn(
@@ -36943,7 +37453,7 @@ var AgentDataTable = ({
36943
37453
  value ? "bg-emerald-500/10 text-emerald-600" : "bg-red-500/10 text-red-500"
36944
37454
  ),
36945
37455
  children: [
36946
- /* @__PURE__ */ jsx124(
37456
+ /* @__PURE__ */ jsx129(
36947
37457
  "span",
36948
37458
  {
36949
37459
  className: cn(
@@ -36957,17 +37467,17 @@ var AgentDataTable = ({
36957
37467
  }
36958
37468
  );
36959
37469
  }
36960
- return /* @__PURE__ */ jsx124("span", { className: "text-[var(--foreground)]", children: String(value) });
37470
+ return /* @__PURE__ */ jsx129("span", { className: "text-[var(--foreground)]", children: String(value) });
36961
37471
  };
36962
- return /* @__PURE__ */ jsx124(
37472
+ return /* @__PURE__ */ jsx129(
36963
37473
  "div",
36964
37474
  {
36965
37475
  className: cn(
36966
37476
  "text-foreground hover:bg-muted/50 hover:text-foreground my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden",
36967
37477
  className
36968
37478
  ),
36969
- children: /* @__PURE__ */ jsx124("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsxs83("table", { className: "w-full text-xs", children: [
36970
- /* @__PURE__ */ jsx124("thead", { children: /* @__PURE__ */ jsx124("tr", { className: "border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.03]", children: headers.map((header) => /* @__PURE__ */ jsx124(
37479
+ children: /* @__PURE__ */ jsx129("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsxs87("table", { className: "w-full text-xs", children: [
37480
+ /* @__PURE__ */ jsx129("thead", { children: /* @__PURE__ */ jsx129("tr", { className: "border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.03]", children: headers.map((header) => /* @__PURE__ */ jsx129(
36971
37481
  "th",
36972
37482
  {
36973
37483
  className: "text-left px-4 py-2.5 text-[11px] font-semibold text-[var(--foreground)]/60 uppercase tracking-wide whitespace-nowrap",
@@ -36975,11 +37485,11 @@ var AgentDataTable = ({
36975
37485
  },
36976
37486
  header
36977
37487
  )) }) }),
36978
- /* @__PURE__ */ jsx124("tbody", { children: rows.map((row, rowIdx) => /* @__PURE__ */ jsx124(
37488
+ /* @__PURE__ */ jsx129("tbody", { children: rows.map((row, rowIdx) => /* @__PURE__ */ jsx129(
36979
37489
  "tr",
36980
37490
  {
36981
37491
  className: "border-b border-[var(--border-color)] last:border-b-0 hover:bg-[var(--foreground)]/[0.02] transition-colors",
36982
- children: row.map((cell, cellIdx) => /* @__PURE__ */ jsx124(
37492
+ children: row.map((cell, cellIdx) => /* @__PURE__ */ jsx129(
36983
37493
  "td",
36984
37494
  {
36985
37495
  className: "px-4 py-2.5 text-xs whitespace-nowrap",
@@ -36996,14 +37506,14 @@ var AgentDataTable = ({
36996
37506
  };
36997
37507
 
36998
37508
  // src/molecules/agent-builder/WorkflowVisualizer/WorkflowVisualizer.tsx
36999
- import { useState as useState11 } from "react";
37000
- import { jsx as jsx125, jsxs as jsxs84 } from "react/jsx-runtime";
37509
+ import { useState as useState14 } from "react";
37510
+ import { jsx as jsx130, jsxs as jsxs88 } from "react/jsx-runtime";
37001
37511
  var WorkflowVisualizer = ({
37002
37512
  steps,
37003
37513
  className
37004
37514
  }) => {
37005
- const [expandedStep, setExpandedStep] = useState11(null);
37006
- return /* @__PURE__ */ jsxs84(
37515
+ const [expandedStep, setExpandedStep] = useState14(null);
37516
+ return /* @__PURE__ */ jsxs88(
37007
37517
  "div",
37008
37518
  {
37009
37519
  className: cn(
@@ -37011,8 +37521,8 @@ var WorkflowVisualizer = ({
37011
37521
  className
37012
37522
  ),
37013
37523
  children: [
37014
- /* @__PURE__ */ jsxs84("div", { className: "px-4 py-3 border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.03] flex items-center gap-2.5", children: [
37015
- /* @__PURE__ */ jsx125("div", { className: "w-6 h-6 rounded-md bg-interactive/10 flex items-center justify-center", children: /* @__PURE__ */ jsx125(
37524
+ /* @__PURE__ */ jsxs88("div", { className: "px-4 py-3 border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.03] flex items-center gap-2.5", children: [
37525
+ /* @__PURE__ */ jsx130("div", { className: "w-6 h-6 rounded-md bg-interactive/10 flex items-center justify-center", children: /* @__PURE__ */ jsx130(
37016
37526
  "svg",
37017
37527
  {
37018
37528
  width: "14",
@@ -37024,24 +37534,24 @@ var WorkflowVisualizer = ({
37024
37534
  className: "text-interactive",
37025
37535
  strokeLinecap: "round",
37026
37536
  strokeLinejoin: "round",
37027
- children: /* @__PURE__ */ jsx125("polyline", { points: "22 12 18 12 15 21 9 3 6 12 2 12" })
37537
+ children: /* @__PURE__ */ jsx130("polyline", { points: "22 12 18 12 15 21 9 3 6 12 2 12" })
37028
37538
  }
37029
37539
  ) }),
37030
- /* @__PURE__ */ jsx125("h4", { className: "text-sm font-semibold text-[var(--foreground)]", children: "Workflow" }),
37031
- /* @__PURE__ */ jsxs84("span", { className: "ml-auto text-[11px] font-medium text-[var(--foreground)]/40 bg-[var(--foreground)]/[0.06] px-2 py-0.5 rounded-full", children: [
37540
+ /* @__PURE__ */ jsx130("h4", { className: "text-sm font-semibold text-[var(--foreground)]", children: "Workflow" }),
37541
+ /* @__PURE__ */ jsxs88("span", { className: "ml-auto text-[11px] font-medium text-[var(--foreground)]/40 bg-[var(--foreground)]/[0.06] px-2 py-0.5 rounded-full", children: [
37032
37542
  steps.length,
37033
37543
  " steps"
37034
37544
  ] })
37035
37545
  ] }),
37036
- /* @__PURE__ */ jsx125("div", { className: "px-4 py-3", children: steps.map((step, idx) => {
37546
+ /* @__PURE__ */ jsx130("div", { className: "px-4 py-3", children: steps.map((step, idx) => {
37037
37547
  const isLast = idx === steps.length - 1;
37038
37548
  const isExpanded = expandedStep === step.id;
37039
- return /* @__PURE__ */ jsxs84("div", { className: "flex gap-3", children: [
37040
- /* @__PURE__ */ jsxs84("div", { className: "flex flex-col items-center shrink-0", children: [
37041
- /* @__PURE__ */ jsx125("div", { className: "w-7 h-7 rounded-full bg-interactive/10 border-2 border-interactive/30 flex items-center justify-center", children: /* @__PURE__ */ jsx125("span", { className: "text-[10px] font-bold text-interactive", children: idx + 1 }) }),
37042
- !isLast && /* @__PURE__ */ jsx125("div", { className: "w-0.5 flex-1 min-h-[16px] bg-interactive/15" })
37549
+ return /* @__PURE__ */ jsxs88("div", { className: "flex gap-3", children: [
37550
+ /* @__PURE__ */ jsxs88("div", { className: "flex flex-col items-center shrink-0", children: [
37551
+ /* @__PURE__ */ jsx130("div", { className: "w-7 h-7 rounded-full bg-interactive/10 border-2 border-interactive/30 flex items-center justify-center", children: /* @__PURE__ */ jsx130("span", { className: "text-[10px] font-bold text-interactive", children: idx + 1 }) }),
37552
+ !isLast && /* @__PURE__ */ jsx130("div", { className: "w-0.5 flex-1 min-h-[16px] bg-interactive/15" })
37043
37553
  ] }),
37044
- /* @__PURE__ */ jsxs84(
37554
+ /* @__PURE__ */ jsxs88(
37045
37555
  "div",
37046
37556
  {
37047
37557
  className: cn(
@@ -37049,20 +37559,20 @@ var WorkflowVisualizer = ({
37049
37559
  isExpanded ? "bg-[var(--foreground)]/[0.02]" : "hover:bg-[var(--foreground)]/[0.02]"
37050
37560
  ),
37051
37561
  children: [
37052
- /* @__PURE__ */ jsxs84(
37562
+ /* @__PURE__ */ jsxs88(
37053
37563
  "button",
37054
37564
  {
37055
37565
  onClick: () => setExpandedStep(isExpanded ? null : step.id),
37056
37566
  className: "w-full text-left px-3 py-2.5 flex items-center gap-2",
37057
37567
  children: [
37058
- /* @__PURE__ */ jsxs84("div", { className: "flex-1 min-w-0", children: [
37059
- /* @__PURE__ */ jsx125("span", { className: "text-[13px] font-medium text-[var(--foreground)]", children: step.name }),
37060
- step.description && !isExpanded && /* @__PURE__ */ jsxs84("span", { className: "text-xs text-[var(--foreground)]/40 ml-2", children: [
37568
+ /* @__PURE__ */ jsxs88("div", { className: "flex-1 min-w-0", children: [
37569
+ /* @__PURE__ */ jsx130("span", { className: "text-[13px] font-medium text-[var(--foreground)]", children: step.name }),
37570
+ step.description && !isExpanded && /* @__PURE__ */ jsxs88("span", { className: "text-xs text-[var(--foreground)]/40 ml-2", children: [
37061
37571
  "\u2014 ",
37062
37572
  step.description
37063
37573
  ] })
37064
37574
  ] }),
37065
- /* @__PURE__ */ jsx125(
37575
+ /* @__PURE__ */ jsx130(
37066
37576
  "svg",
37067
37577
  {
37068
37578
  width: "12",
@@ -37075,28 +37585,28 @@ var WorkflowVisualizer = ({
37075
37585
  "shrink-0 text-[var(--foreground)]/30 transition-transform",
37076
37586
  isExpanded && "rotate-180"
37077
37587
  ),
37078
- children: /* @__PURE__ */ jsx125("polyline", { points: "6 9 12 15 18 9" })
37588
+ children: /* @__PURE__ */ jsx130("polyline", { points: "6 9 12 15 18 9" })
37079
37589
  }
37080
37590
  )
37081
37591
  ]
37082
37592
  }
37083
37593
  ),
37084
- isExpanded && /* @__PURE__ */ jsxs84("div", { className: "px-3 pb-3 space-y-2.5", children: [
37085
- step.description && /* @__PURE__ */ jsx125("p", { className: "text-xs text-[var(--foreground)]/50 leading-relaxed", children: step.description }),
37086
- step.sub_steps && step.sub_steps.length > 0 && /* @__PURE__ */ jsx125("div", { className: "space-y-1", children: step.sub_steps.map((sub) => /* @__PURE__ */ jsxs84(
37594
+ isExpanded && /* @__PURE__ */ jsxs88("div", { className: "px-3 pb-3 space-y-2.5", children: [
37595
+ step.description && /* @__PURE__ */ jsx130("p", { className: "text-xs text-[var(--foreground)]/50 leading-relaxed", children: step.description }),
37596
+ step.sub_steps && step.sub_steps.length > 0 && /* @__PURE__ */ jsx130("div", { className: "space-y-1", children: step.sub_steps.map((sub) => /* @__PURE__ */ jsxs88(
37087
37597
  "div",
37088
37598
  {
37089
37599
  className: "flex items-start gap-2 text-xs",
37090
37600
  children: [
37091
- /* @__PURE__ */ jsx125("span", { className: "shrink-0 mt-0.5 w-1.5 h-1.5 rounded-full bg-interactive/40" }),
37092
- /* @__PURE__ */ jsx125("span", { className: "text-[var(--foreground)]/60", children: sub.action })
37601
+ /* @__PURE__ */ jsx130("span", { className: "shrink-0 mt-0.5 w-1.5 h-1.5 rounded-full bg-interactive/40" }),
37602
+ /* @__PURE__ */ jsx130("span", { className: "text-[var(--foreground)]/60", children: sub.action })
37093
37603
  ]
37094
37604
  },
37095
37605
  sub.id
37096
37606
  )) }),
37097
- step.tools && step.tools.length > 0 && /* @__PURE__ */ jsxs84("div", { className: "flex items-center gap-1.5 flex-wrap", children: [
37098
- /* @__PURE__ */ jsx125("span", { className: "text-[10px] text-[var(--foreground)]/30 uppercase font-semibold tracking-wider", children: "Tools:" }),
37099
- step.tools.map((tool) => /* @__PURE__ */ jsx125(
37607
+ step.tools && step.tools.length > 0 && /* @__PURE__ */ jsxs88("div", { className: "flex items-center gap-1.5 flex-wrap", children: [
37608
+ /* @__PURE__ */ jsx130("span", { className: "text-[10px] text-[var(--foreground)]/30 uppercase font-semibold tracking-wider", children: "Tools:" }),
37609
+ step.tools.map((tool) => /* @__PURE__ */ jsx130(
37100
37610
  "span",
37101
37611
  {
37102
37612
  className: "text-[10px] font-mono px-1.5 py-0.5 rounded bg-interactive/[0.08] text-interactive/70 border border-interactive/10",
@@ -37105,9 +37615,9 @@ var WorkflowVisualizer = ({
37105
37615
  tool
37106
37616
  ))
37107
37617
  ] }),
37108
- step.on_failure && /* @__PURE__ */ jsxs84("div", { className: "flex items-start gap-2 text-xs bg-[#ef4444]/[0.06] border border-[#ef4444]/10 rounded-md px-2.5 py-2", children: [
37109
- /* @__PURE__ */ jsx125("span", { className: "shrink-0 text-[10px] font-semibold text-[#ef4444]/70 uppercase tracking-wider mt-px", children: "On failure:" }),
37110
- /* @__PURE__ */ jsx125("span", { className: "text-[var(--foreground)]/50", children: step.on_failure })
37618
+ step.on_failure && /* @__PURE__ */ jsxs88("div", { className: "flex items-start gap-2 text-xs bg-[#ef4444]/[0.06] border border-[#ef4444]/10 rounded-md px-2.5 py-2", children: [
37619
+ /* @__PURE__ */ jsx130("span", { className: "shrink-0 text-[10px] font-semibold text-[#ef4444]/70 uppercase tracking-wider mt-px", children: "On failure:" }),
37620
+ /* @__PURE__ */ jsx130("span", { className: "text-[var(--foreground)]/50", children: step.on_failure })
37111
37621
  ] })
37112
37622
  ] })
37113
37623
  ]
@@ -37121,8 +37631,8 @@ var WorkflowVisualizer = ({
37121
37631
  };
37122
37632
 
37123
37633
  // src/molecules/agent-builder/InstructionPreview/InstructionPreview.tsx
37124
- import { useState as useState12 } from "react";
37125
- import { jsx as jsx126, jsxs as jsxs85 } from "react/jsx-runtime";
37634
+ import { useState as useState15 } from "react";
37635
+ import { jsx as jsx131, jsxs as jsxs89 } from "react/jsx-runtime";
37126
37636
  var InstructionPreview = ({
37127
37637
  agent_name,
37128
37638
  description,
@@ -37131,11 +37641,11 @@ var InstructionPreview = ({
37131
37641
  tools,
37132
37642
  className
37133
37643
  }) => {
37134
- const [isExpanded, setIsExpanded] = useState12(false);
37644
+ const [isExpanded, setIsExpanded] = useState15(false);
37135
37645
  const previewLength = 300;
37136
37646
  const isLong = instruction.length > previewLength;
37137
37647
  const displayText = isExpanded || !isLong ? instruction : instruction.slice(0, previewLength) + "...";
37138
- return /* @__PURE__ */ jsxs85(
37648
+ return /* @__PURE__ */ jsxs89(
37139
37649
  "div",
37140
37650
  {
37141
37651
  className: cn(
@@ -37143,8 +37653,8 @@ var InstructionPreview = ({
37143
37653
  className
37144
37654
  ),
37145
37655
  children: [
37146
- /* @__PURE__ */ jsx126("div", { className: "px-4 py-3 border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.03]", children: /* @__PURE__ */ jsxs85("div", { className: "flex items-center gap-2.5", children: [
37147
- /* @__PURE__ */ jsx126("div", { className: "w-6 h-6 rounded-md bg-interactive/10 flex items-center justify-center", children: /* @__PURE__ */ jsxs85(
37656
+ /* @__PURE__ */ jsx131("div", { className: "px-4 py-3 border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.03]", children: /* @__PURE__ */ jsxs89("div", { className: "flex items-center gap-2.5", children: [
37657
+ /* @__PURE__ */ jsx131("div", { className: "w-6 h-6 rounded-md bg-interactive/10 flex items-center justify-center", children: /* @__PURE__ */ jsxs89(
37148
37658
  "svg",
37149
37659
  {
37150
37660
  width: "14",
@@ -37157,24 +37667,24 @@ var InstructionPreview = ({
37157
37667
  strokeLinecap: "round",
37158
37668
  strokeLinejoin: "round",
37159
37669
  children: [
37160
- /* @__PURE__ */ jsx126("path", { d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z" }),
37161
- /* @__PURE__ */ jsx126("polyline", { points: "14 2 14 8 20 8" }),
37162
- /* @__PURE__ */ jsx126("line", { x1: "16", y1: "13", x2: "8", y2: "13" }),
37163
- /* @__PURE__ */ jsx126("line", { x1: "16", y1: "17", x2: "8", y2: "17" }),
37164
- /* @__PURE__ */ jsx126("polyline", { points: "10 9 9 9 8 9" })
37670
+ /* @__PURE__ */ jsx131("path", { d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z" }),
37671
+ /* @__PURE__ */ jsx131("polyline", { points: "14 2 14 8 20 8" }),
37672
+ /* @__PURE__ */ jsx131("line", { x1: "16", y1: "13", x2: "8", y2: "13" }),
37673
+ /* @__PURE__ */ jsx131("line", { x1: "16", y1: "17", x2: "8", y2: "17" }),
37674
+ /* @__PURE__ */ jsx131("polyline", { points: "10 9 9 9 8 9" })
37165
37675
  ]
37166
37676
  }
37167
37677
  ) }),
37168
- /* @__PURE__ */ jsxs85("div", { className: "flex-1 min-w-0", children: [
37169
- /* @__PURE__ */ jsx126("h4", { className: "text-sm font-semibold text-[var(--foreground)]", children: agent_name }),
37170
- description && /* @__PURE__ */ jsx126("p", { className: "text-[11px] text-[var(--foreground)]/40 mt-0.5", children: description })
37678
+ /* @__PURE__ */ jsxs89("div", { className: "flex-1 min-w-0", children: [
37679
+ /* @__PURE__ */ jsx131("h4", { className: "text-sm font-semibold text-[var(--foreground)]", children: agent_name }),
37680
+ description && /* @__PURE__ */ jsx131("p", { className: "text-[11px] text-[var(--foreground)]/40 mt-0.5", children: description })
37171
37681
  ] })
37172
37682
  ] }) }),
37173
- /* @__PURE__ */ jsxs85("div", { className: "px-4 py-3 space-y-3", children: [
37174
- /* @__PURE__ */ jsxs85("div", { children: [
37175
- /* @__PURE__ */ jsx126("p", { className: "text-[10px] font-semibold text-[var(--foreground)]/30 uppercase tracking-wider mb-1.5", children: "Instruction" }),
37176
- /* @__PURE__ */ jsx126("div", { className: "text-xs text-[var(--foreground)]/60 leading-relaxed whitespace-pre-wrap font-mono bg-[var(--foreground)]/[0.02] border border-[var(--border-color)] rounded-lg p-3", children: displayText }),
37177
- isLong && /* @__PURE__ */ jsx126(
37683
+ /* @__PURE__ */ jsxs89("div", { className: "px-4 py-3 space-y-3", children: [
37684
+ /* @__PURE__ */ jsxs89("div", { children: [
37685
+ /* @__PURE__ */ jsx131("p", { className: "text-[10px] font-semibold text-[var(--foreground)]/30 uppercase tracking-wider mb-1.5", children: "Instruction" }),
37686
+ /* @__PURE__ */ jsx131("div", { className: "text-xs text-[var(--foreground)]/60 leading-relaxed whitespace-pre-wrap font-mono bg-[var(--foreground)]/[0.02] border border-[var(--border-color)] rounded-lg p-3", children: displayText }),
37687
+ isLong && /* @__PURE__ */ jsx131(
37178
37688
  "button",
37179
37689
  {
37180
37690
  onClick: () => setIsExpanded(!isExpanded),
@@ -37183,16 +37693,16 @@ var InstructionPreview = ({
37183
37693
  }
37184
37694
  )
37185
37695
  ] }),
37186
- workflow_summary && workflow_summary.length > 0 && /* @__PURE__ */ jsxs85("div", { children: [
37187
- /* @__PURE__ */ jsx126("p", { className: "text-[10px] font-semibold text-[var(--foreground)]/30 uppercase tracking-wider mb-1.5", children: "Workflow" }),
37188
- /* @__PURE__ */ jsx126("div", { className: "space-y-1", children: workflow_summary.map((step, idx) => /* @__PURE__ */ jsxs85("div", { className: "flex items-start gap-2 text-xs", children: [
37189
- /* @__PURE__ */ jsx126("span", { className: "shrink-0 w-5 h-5 rounded-full bg-interactive/10 flex items-center justify-center text-[10px] font-bold text-interactive", children: idx + 1 }),
37190
- /* @__PURE__ */ jsx126("span", { className: "text-[var(--foreground)]/50 mt-0.5", children: step })
37696
+ workflow_summary && workflow_summary.length > 0 && /* @__PURE__ */ jsxs89("div", { children: [
37697
+ /* @__PURE__ */ jsx131("p", { className: "text-[10px] font-semibold text-[var(--foreground)]/30 uppercase tracking-wider mb-1.5", children: "Workflow" }),
37698
+ /* @__PURE__ */ jsx131("div", { className: "space-y-1", children: workflow_summary.map((step, idx) => /* @__PURE__ */ jsxs89("div", { className: "flex items-start gap-2 text-xs", children: [
37699
+ /* @__PURE__ */ jsx131("span", { className: "shrink-0 w-5 h-5 rounded-full bg-interactive/10 flex items-center justify-center text-[10px] font-bold text-interactive", children: idx + 1 }),
37700
+ /* @__PURE__ */ jsx131("span", { className: "text-[var(--foreground)]/50 mt-0.5", children: step })
37191
37701
  ] }, idx)) })
37192
37702
  ] }),
37193
- tools && tools.length > 0 && /* @__PURE__ */ jsxs85("div", { children: [
37194
- /* @__PURE__ */ jsx126("p", { className: "text-[10px] font-semibold text-[var(--foreground)]/30 uppercase tracking-wider mb-1.5", children: "Tools" }),
37195
- /* @__PURE__ */ jsx126("div", { className: "flex flex-wrap gap-1.5", children: tools.map((tool) => /* @__PURE__ */ jsx126(
37703
+ tools && tools.length > 0 && /* @__PURE__ */ jsxs89("div", { children: [
37704
+ /* @__PURE__ */ jsx131("p", { className: "text-[10px] font-semibold text-[var(--foreground)]/30 uppercase tracking-wider mb-1.5", children: "Tools" }),
37705
+ /* @__PURE__ */ jsx131("div", { className: "flex flex-wrap gap-1.5", children: tools.map((tool) => /* @__PURE__ */ jsx131(
37196
37706
  "span",
37197
37707
  {
37198
37708
  className: "text-[10px] font-mono px-2 py-0.5 rounded bg-interactive/[0.08] text-interactive/70 border border-interactive/10",
@@ -37208,16 +37718,16 @@ var InstructionPreview = ({
37208
37718
  };
37209
37719
 
37210
37720
  // src/molecules/agent-builder/UIComponentSelector/UIComponentSelector.tsx
37211
- import { useState as useState13 } from "react";
37212
- import { jsx as jsx127, jsxs as jsxs86 } from "react/jsx-runtime";
37721
+ import { useState as useState16 } from "react";
37722
+ import { jsx as jsx132, jsxs as jsxs90 } from "react/jsx-runtime";
37213
37723
  function UIComponentSelector({
37214
37724
  components,
37215
37725
  onSelect,
37216
37726
  onPreview,
37217
37727
  className
37218
37728
  }) {
37219
- const [selected, setSelected] = useState13(/* @__PURE__ */ new Set());
37220
- const [submitted, setSubmitted] = useState13(false);
37729
+ const [selected, setSelected] = useState16(/* @__PURE__ */ new Set());
37730
+ const [submitted, setSubmitted] = useState16(false);
37221
37731
  const grouped = components.reduce(
37222
37732
  (acc, comp) => {
37223
37733
  const cat = comp.category || "Other";
@@ -37241,7 +37751,7 @@ function UIComponentSelector({
37241
37751
  onSelect?.(Array.from(selected));
37242
37752
  };
37243
37753
  const categoryOrder = Object.keys(grouped).sort();
37244
- return /* @__PURE__ */ jsxs86(
37754
+ return /* @__PURE__ */ jsxs90(
37245
37755
  "div",
37246
37756
  {
37247
37757
  className: cn(
@@ -37249,13 +37759,13 @@ function UIComponentSelector({
37249
37759
  className
37250
37760
  ),
37251
37761
  children: [
37252
- /* @__PURE__ */ jsxs86("div", { className: "px-4 py-3 border-b border-border bg-muted/50", children: [
37253
- /* @__PURE__ */ jsx127("h3", { className: "text-sm font-semibold text-foreground", children: "Select UI Components" }),
37254
- /* @__PURE__ */ jsx127("p", { className: "text-xs text-muted-foreground mt-0.5", children: "Choose which visual components this agent can use in its responses." })
37762
+ /* @__PURE__ */ jsxs90("div", { className: "px-4 py-3 border-b border-border bg-muted/50", children: [
37763
+ /* @__PURE__ */ jsx132("h3", { className: "text-sm font-semibold text-foreground", children: "Select UI Components" }),
37764
+ /* @__PURE__ */ jsx132("p", { className: "text-xs text-muted-foreground mt-0.5", children: "Choose which visual components this agent can use in its responses." })
37255
37765
  ] }),
37256
- /* @__PURE__ */ jsx127("div", { className: "px-4 py-3 space-y-4", children: categoryOrder.map((category) => /* @__PURE__ */ jsxs86("div", { children: [
37257
- /* @__PURE__ */ jsx127("h4", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wider mb-2", children: category }),
37258
- /* @__PURE__ */ jsx127("div", { className: "space-y-1.5", children: grouped[category].map((comp) => /* @__PURE__ */ jsxs86(
37766
+ /* @__PURE__ */ jsx132("div", { className: "px-4 py-3 space-y-4", children: categoryOrder.map((category) => /* @__PURE__ */ jsxs90("div", { children: [
37767
+ /* @__PURE__ */ jsx132("h4", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wider mb-2", children: category }),
37768
+ /* @__PURE__ */ jsx132("div", { className: "space-y-1.5", children: grouped[category].map((comp) => /* @__PURE__ */ jsxs90(
37259
37769
  "label",
37260
37770
  {
37261
37771
  className: cn(
@@ -37265,7 +37775,7 @@ function UIComponentSelector({
37265
37775
  selected.has(comp.name) && submitted && "bg-interactive/5"
37266
37776
  ),
37267
37777
  children: [
37268
- /* @__PURE__ */ jsx127(
37778
+ /* @__PURE__ */ jsx132(
37269
37779
  "input",
37270
37780
  {
37271
37781
  type: "checkbox",
@@ -37275,10 +37785,10 @@ function UIComponentSelector({
37275
37785
  className: "mt-0.5 h-4 w-4 rounded border-border text-interactive focus:ring-interactive/50 disabled:opacity-50"
37276
37786
  }
37277
37787
  ),
37278
- /* @__PURE__ */ jsxs86("div", { className: "flex-1 min-w-0", children: [
37279
- /* @__PURE__ */ jsxs86("div", { className: "flex items-center gap-1", children: [
37280
- /* @__PURE__ */ jsx127("span", { className: "text-sm font-medium text-foreground", children: comp.display_name }),
37281
- onPreview && /* @__PURE__ */ jsx127(
37788
+ /* @__PURE__ */ jsxs90("div", { className: "flex-1 min-w-0", children: [
37789
+ /* @__PURE__ */ jsxs90("div", { className: "flex items-center gap-1", children: [
37790
+ /* @__PURE__ */ jsx132("span", { className: "text-sm font-medium text-foreground", children: comp.display_name }),
37791
+ onPreview && /* @__PURE__ */ jsx132(
37282
37792
  "button",
37283
37793
  {
37284
37794
  type: "button",
@@ -37289,7 +37799,7 @@ function UIComponentSelector({
37289
37799
  },
37290
37800
  className: "shrink-0 p-0.5 rounded hover:bg-muted transition-colors",
37291
37801
  title: `Preview ${comp.display_name}`,
37292
- children: /* @__PURE__ */ jsxs86(
37802
+ children: /* @__PURE__ */ jsxs90(
37293
37803
  "svg",
37294
37804
  {
37295
37805
  width: "14",
@@ -37302,28 +37812,28 @@ function UIComponentSelector({
37302
37812
  strokeLinejoin: "round",
37303
37813
  className: "text-muted-foreground hover:text-primary",
37304
37814
  children: [
37305
- /* @__PURE__ */ jsx127("circle", { cx: "12", cy: "12", r: "10" }),
37306
- /* @__PURE__ */ jsx127("line", { x1: "12", y1: "16", x2: "12", y2: "12" }),
37307
- /* @__PURE__ */ jsx127("line", { x1: "12", y1: "8", x2: "12.01", y2: "8" })
37815
+ /* @__PURE__ */ jsx132("circle", { cx: "12", cy: "12", r: "10" }),
37816
+ /* @__PURE__ */ jsx132("line", { x1: "12", y1: "16", x2: "12", y2: "12" }),
37817
+ /* @__PURE__ */ jsx132("line", { x1: "12", y1: "8", x2: "12.01", y2: "8" })
37308
37818
  ]
37309
37819
  }
37310
37820
  )
37311
37821
  }
37312
37822
  )
37313
37823
  ] }),
37314
- /* @__PURE__ */ jsx127("span", { className: "ml-0 text-xs text-muted-foreground", children: comp.description })
37824
+ /* @__PURE__ */ jsx132("span", { className: "ml-0 text-xs text-muted-foreground", children: comp.description })
37315
37825
  ] })
37316
37826
  ]
37317
37827
  },
37318
37828
  comp.name
37319
37829
  )) })
37320
37830
  ] }, category)) }),
37321
- !submitted && /* @__PURE__ */ jsxs86("div", { className: "px-4 py-3 border-t border-border flex items-center justify-between", children: [
37322
- /* @__PURE__ */ jsxs86("span", { className: "text-xs text-muted-foreground", children: [
37831
+ !submitted && /* @__PURE__ */ jsxs90("div", { className: "px-4 py-3 border-t border-border flex items-center justify-between", children: [
37832
+ /* @__PURE__ */ jsxs90("span", { className: "text-xs text-muted-foreground", children: [
37323
37833
  selected.size,
37324
37834
  " selected"
37325
37835
  ] }),
37326
- /* @__PURE__ */ jsx127(
37836
+ /* @__PURE__ */ jsx132(
37327
37837
  "button",
37328
37838
  {
37329
37839
  onClick: handleContinue,
@@ -37338,7 +37848,7 @@ function UIComponentSelector({
37338
37848
  }
37339
37849
 
37340
37850
  // src/molecules/agent-builder/MultiAgentCard/MultiAgentCard.tsx
37341
- import { jsx as jsx128, jsxs as jsxs87 } from "react/jsx-runtime";
37851
+ import { jsx as jsx133, jsxs as jsxs91 } from "react/jsx-runtime";
37342
37852
  var MultiAgentCard = ({
37343
37853
  name,
37344
37854
  display_name,
@@ -37348,7 +37858,7 @@ var MultiAgentCard = ({
37348
37858
  className
37349
37859
  }) => {
37350
37860
  const avatarUrl = `https://api.dicebear.com/7.x/avataaars/svg?seed=${name}`;
37351
- return /* @__PURE__ */ jsxs87(
37861
+ return /* @__PURE__ */ jsxs91(
37352
37862
  "div",
37353
37863
  {
37354
37864
  className: cn(
@@ -37356,14 +37866,14 @@ var MultiAgentCard = ({
37356
37866
  className
37357
37867
  ),
37358
37868
  children: [
37359
- /* @__PURE__ */ jsxs87("div", { className: "flex items-start gap-4 px-5 py-4", children: [
37360
- /* @__PURE__ */ jsx128("div", { className: "h-12 w-12 shrink-0 rounded-full border-2 border-interactive/20 overflow-hidden bg-interactive/10 flex items-center justify-center", children: /* @__PURE__ */ jsx128("img", { src: avatarUrl, alt: display_name, className: "h-full w-full" }) }),
37361
- /* @__PURE__ */ jsxs87("div", { className: "flex-1 min-w-0", children: [
37362
- /* @__PURE__ */ jsxs87("div", { className: "flex items-center gap-2", children: [
37363
- /* @__PURE__ */ jsx128("h4", { className: "text-sm font-semibold text-[var(--foreground)] truncate", children: display_name }),
37364
- /* @__PURE__ */ jsx128("span", { className: "text-[11px] font-mono text-[var(--foreground)]/40 bg-[var(--foreground)]/[0.05] px-1.5 py-0.5 rounded", children: name }),
37365
- /* @__PURE__ */ jsx128("span", { className: "text-[10px] px-1.5 py-0.5 rounded-full font-medium bg-interactive/10 text-interactive", children: "Multi-Agent" }),
37366
- /* @__PURE__ */ jsx128(
37869
+ /* @__PURE__ */ jsxs91("div", { className: "flex items-start gap-4 px-5 py-4", children: [
37870
+ /* @__PURE__ */ jsx133("div", { className: "h-12 w-12 shrink-0 rounded-full border-2 border-interactive/20 overflow-hidden bg-interactive/10 flex items-center justify-center", children: /* @__PURE__ */ jsx133("img", { src: avatarUrl, alt: display_name, className: "h-full w-full" }) }),
37871
+ /* @__PURE__ */ jsxs91("div", { className: "flex-1 min-w-0", children: [
37872
+ /* @__PURE__ */ jsxs91("div", { className: "flex items-center gap-2", children: [
37873
+ /* @__PURE__ */ jsx133("h4", { className: "text-sm font-semibold text-[var(--foreground)] truncate", children: display_name }),
37874
+ /* @__PURE__ */ jsx133("span", { className: "text-[11px] font-mono text-[var(--foreground)]/40 bg-[var(--foreground)]/[0.05] px-1.5 py-0.5 rounded", children: name }),
37875
+ /* @__PURE__ */ jsx133("span", { className: "text-[10px] px-1.5 py-0.5 rounded-full font-medium bg-interactive/10 text-interactive", children: "Multi-Agent" }),
37876
+ /* @__PURE__ */ jsx133(
37367
37877
  "span",
37368
37878
  {
37369
37879
  className: cn(
@@ -37374,18 +37884,18 @@ var MultiAgentCard = ({
37374
37884
  }
37375
37885
  )
37376
37886
  ] }),
37377
- /* @__PURE__ */ jsx128("p", { className: "text-xs text-[var(--foreground)]/60 leading-relaxed mt-1 whitespace-normal", style: { textWrap: "auto" }, children: description })
37887
+ /* @__PURE__ */ jsx133("p", { className: "text-xs text-[var(--foreground)]/60 leading-relaxed mt-1 whitespace-normal", style: { textWrap: "auto" }, children: description })
37378
37888
  ] })
37379
37889
  ] }),
37380
- stages.length > 0 && /* @__PURE__ */ jsxs87("div", { className: "border-t border-[var(--border-color)] px-5 py-4", children: [
37381
- /* @__PURE__ */ jsxs87("p", { className: "text-[11px] font-semibold text-[var(--foreground)]/40 uppercase tracking-wide mb-3", children: [
37890
+ stages.length > 0 && /* @__PURE__ */ jsxs91("div", { className: "border-t border-[var(--border-color)] px-5 py-4", children: [
37891
+ /* @__PURE__ */ jsxs91("p", { className: "text-[11px] font-semibold text-[var(--foreground)]/40 uppercase tracking-wide mb-3", children: [
37382
37892
  "Stages (",
37383
37893
  stages.length,
37384
37894
  ")"
37385
37895
  ] }),
37386
- /* @__PURE__ */ jsx128("div", { className: "flex flex-col gap-0", children: stages.map((stage, idx) => /* @__PURE__ */ jsxs87("div", { className: "flex items-stretch", children: [
37387
- /* @__PURE__ */ jsxs87("div", { className: "flex flex-col items-center mr-3 w-5", children: [
37388
- /* @__PURE__ */ jsx128(
37896
+ /* @__PURE__ */ jsx133("div", { className: "flex flex-col gap-0", children: stages.map((stage, idx) => /* @__PURE__ */ jsxs91("div", { className: "flex items-stretch", children: [
37897
+ /* @__PURE__ */ jsxs91("div", { className: "flex flex-col items-center mr-3 w-5", children: [
37898
+ /* @__PURE__ */ jsx133(
37389
37899
  "div",
37390
37900
  {
37391
37901
  className: cn(
@@ -37395,20 +37905,20 @@ var MultiAgentCard = ({
37395
37905
  children: idx + 1
37396
37906
  }
37397
37907
  ),
37398
- idx < stages.length - 1 && /* @__PURE__ */ jsx128("div", { className: "w-px flex-1 bg-interactive/20 min-h-[16px]" })
37908
+ idx < stages.length - 1 && /* @__PURE__ */ jsx133("div", { className: "w-px flex-1 bg-interactive/20 min-h-[16px]" })
37399
37909
  ] }),
37400
- /* @__PURE__ */ jsxs87("div", { className: "flex-1 mb-2 p-3 rounded-lg border border-[var(--border-color)] bg-[var(--foreground)]/[0.02]", children: [
37401
- /* @__PURE__ */ jsxs87("div", { className: "flex items-center gap-2", children: [
37402
- /* @__PURE__ */ jsx128("span", { className: "text-xs font-semibold text-[var(--foreground)]", children: stage.name }),
37403
- /* @__PURE__ */ jsx128("span", { className: "text-[10px] font-mono text-[var(--foreground)]/30", children: stage.agent_name })
37910
+ /* @__PURE__ */ jsxs91("div", { className: "flex-1 mb-2 p-3 rounded-lg border border-[var(--border-color)] bg-[var(--foreground)]/[0.02]", children: [
37911
+ /* @__PURE__ */ jsxs91("div", { className: "flex items-center gap-2", children: [
37912
+ /* @__PURE__ */ jsx133("span", { className: "text-xs font-semibold text-[var(--foreground)]", children: stage.name }),
37913
+ /* @__PURE__ */ jsx133("span", { className: "text-[10px] font-mono text-[var(--foreground)]/30", children: stage.agent_name })
37404
37914
  ] }),
37405
- /* @__PURE__ */ jsxs87("div", { className: "flex items-center gap-3 mt-1.5 text-[10px] text-[var(--foreground)]/50", children: [
37406
- stage.tools && stage.tools.length > 0 && /* @__PURE__ */ jsxs87("span", { children: [
37915
+ /* @__PURE__ */ jsxs91("div", { className: "flex items-center gap-3 mt-1.5 text-[10px] text-[var(--foreground)]/50", children: [
37916
+ stage.tools && stage.tools.length > 0 && /* @__PURE__ */ jsxs91("span", { children: [
37407
37917
  stage.tools.length,
37408
37918
  " tool",
37409
37919
  stage.tools.length !== 1 ? "s" : ""
37410
37920
  ] }),
37411
- stage.ui_components && stage.ui_components.length > 0 && /* @__PURE__ */ jsxs87("span", { children: [
37921
+ stage.ui_components && stage.ui_components.length > 0 && /* @__PURE__ */ jsxs91("span", { children: [
37412
37922
  stage.ui_components.length,
37413
37923
  " component",
37414
37924
  stage.ui_components.length !== 1 ? "s" : ""
@@ -37423,12 +37933,12 @@ var MultiAgentCard = ({
37423
37933
  };
37424
37934
 
37425
37935
  // src/molecules/agent-builder/MultiAgentPlan/MultiAgentPlan.tsx
37426
- import { jsx as jsx129, jsxs as jsxs88 } from "react/jsx-runtime";
37936
+ import { jsx as jsx134, jsxs as jsxs92 } from "react/jsx-runtime";
37427
37937
  var MultiAgentPlan = ({
37428
37938
  stages = [],
37429
37939
  className
37430
37940
  }) => {
37431
- return /* @__PURE__ */ jsxs88(
37941
+ return /* @__PURE__ */ jsxs92(
37432
37942
  "div",
37433
37943
  {
37434
37944
  className: cn(
@@ -37436,8 +37946,8 @@ var MultiAgentPlan = ({
37436
37946
  className
37437
37947
  ),
37438
37948
  children: [
37439
- /* @__PURE__ */ jsx129("div", { className: "px-4 py-3 border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.02]", children: /* @__PURE__ */ jsxs88("div", { className: "flex items-center gap-2", children: [
37440
- /* @__PURE__ */ jsx129("div", { className: "w-4 h-4 rounded bg-violet-500/20 flex items-center justify-center", children: /* @__PURE__ */ jsx129(
37949
+ /* @__PURE__ */ jsx134("div", { className: "px-4 py-3 border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.02]", children: /* @__PURE__ */ jsxs92("div", { className: "flex items-center gap-2", children: [
37950
+ /* @__PURE__ */ jsx134("div", { className: "w-4 h-4 rounded bg-violet-500/20 flex items-center justify-center", children: /* @__PURE__ */ jsx134(
37441
37951
  "svg",
37442
37952
  {
37443
37953
  width: "10",
@@ -37447,20 +37957,20 @@ var MultiAgentPlan = ({
37447
37957
  stroke: "currentColor",
37448
37958
  strokeWidth: "2",
37449
37959
  className: "text-violet-600",
37450
- children: /* @__PURE__ */ jsx129("path", { d: "M16 3h5v5M4 20L21 3M21 16v5h-5M15 15l6 6M4 4l5 5" })
37960
+ children: /* @__PURE__ */ jsx134("path", { d: "M16 3h5v5M4 20L21 3M21 16v5h-5M15 15l6 6M4 4l5 5" })
37451
37961
  }
37452
37962
  ) }),
37453
- /* @__PURE__ */ jsx129("span", { className: "text-xs font-semibold text-[var(--foreground)]", children: "Proposed Multi-Agent Workflow" }),
37454
- /* @__PURE__ */ jsx129("span", { className: "text-[10px] px-1.5 py-0.5 rounded-full bg-amber-500/10 text-amber-600 font-medium", children: "Draft" })
37963
+ /* @__PURE__ */ jsx134("span", { className: "text-xs font-semibold text-[var(--foreground)]", children: "Proposed Multi-Agent Workflow" }),
37964
+ /* @__PURE__ */ jsx134("span", { className: "text-[10px] px-1.5 py-0.5 rounded-full bg-amber-500/10 text-amber-600 font-medium", children: "Draft" })
37455
37965
  ] }) }),
37456
- /* @__PURE__ */ jsx129("div", { className: "px-4 py-3", children: /* @__PURE__ */ jsx129("div", { className: "flex flex-col gap-0", children: stages.map((stage, idx) => /* @__PURE__ */ jsxs88("div", { className: "flex items-stretch min-w-0", children: [
37457
- /* @__PURE__ */ jsxs88("div", { className: "flex flex-col items-center mr-3 w-6", children: [
37458
- /* @__PURE__ */ jsx129("div", { className: "w-6 h-6 rounded-full flex items-center justify-center text-[10px] font-bold shrink-0 bg-interactive/10 text-interactive border border-interactive/30", children: idx + 1 }),
37459
- idx < stages.length - 1 && /* @__PURE__ */ jsx129("div", { className: "w-px flex-1 bg-interactive/20 min-h-[12px]" })
37966
+ /* @__PURE__ */ jsx134("div", { className: "px-4 py-3", children: /* @__PURE__ */ jsx134("div", { className: "flex flex-col gap-0", children: stages.map((stage, idx) => /* @__PURE__ */ jsxs92("div", { className: "flex items-stretch min-w-0", children: [
37967
+ /* @__PURE__ */ jsxs92("div", { className: "flex flex-col items-center mr-3 w-6", children: [
37968
+ /* @__PURE__ */ jsx134("div", { className: "w-6 h-6 rounded-full flex items-center justify-center text-[10px] font-bold shrink-0 bg-interactive/10 text-interactive border border-interactive/30", children: idx + 1 }),
37969
+ idx < stages.length - 1 && /* @__PURE__ */ jsx134("div", { className: "w-px flex-1 bg-interactive/20 min-h-[12px]" })
37460
37970
  ] }),
37461
- /* @__PURE__ */ jsxs88("div", { className: "flex-1 mb-2 pb-2 min-w-0", children: [
37462
- /* @__PURE__ */ jsx129("p", { className: "text-xs font-semibold text-foreground", children: stage.name }),
37463
- stage.description && /* @__PURE__ */ jsx129(
37971
+ /* @__PURE__ */ jsxs92("div", { className: "flex-1 mb-2 pb-2 min-w-0", children: [
37972
+ /* @__PURE__ */ jsx134("p", { className: "text-xs font-semibold text-foreground", children: stage.name }),
37973
+ stage.description && /* @__PURE__ */ jsx134(
37464
37974
  "p",
37465
37975
  {
37466
37976
  className: "text-[11px] text-foreground/50 mt-0.5 whitespace-normal",
@@ -37468,7 +37978,7 @@ var MultiAgentPlan = ({
37468
37978
  children: stage.description
37469
37979
  }
37470
37980
  ),
37471
- stage.proposed_tools && stage.proposed_tools.length > 0 && /* @__PURE__ */ jsx129("div", { className: "flex flex-wrap gap-1 mt-1.5", children: stage.proposed_tools.map((tool) => /* @__PURE__ */ jsx129(
37981
+ stage.proposed_tools && stage.proposed_tools.length > 0 && /* @__PURE__ */ jsx134("div", { className: "flex flex-wrap gap-1 mt-1.5", children: stage.proposed_tools.map((tool) => /* @__PURE__ */ jsx134(
37472
37982
  "span",
37473
37983
  {
37474
37984
  className: "text-[10px] px-1.5 py-0.5 rounded bg-interactive/10 text-interactive font-mono",
@@ -37484,8 +37994,8 @@ var MultiAgentPlan = ({
37484
37994
  };
37485
37995
 
37486
37996
  // src/molecules/agent-builder/MultiAgentUISelector/MultiAgentUISelector.tsx
37487
- import { useState as useState14, useCallback as useCallback5 } from "react";
37488
- import { jsx as jsx130, jsxs as jsxs89 } from "react/jsx-runtime";
37997
+ import { useState as useState17, useCallback as useCallback7 } from "react";
37998
+ import { jsx as jsx135, jsxs as jsxs93 } from "react/jsx-runtime";
37489
37999
  var MultiAgentUISelector = ({
37490
38000
  stages = [],
37491
38001
  components = [],
@@ -37493,8 +38003,8 @@ var MultiAgentUISelector = ({
37493
38003
  onPreview,
37494
38004
  className
37495
38005
  }) => {
37496
- const [activeStageId, setActiveStageId] = useState14(stages[0]?.id || "");
37497
- const [selections, setSelections] = useState14(
38006
+ const [activeStageId, setActiveStageId] = useState17(stages[0]?.id || "");
38007
+ const [selections, setSelections] = useState17(
37498
38008
  () => {
37499
38009
  const init = {};
37500
38010
  for (const stage of stages) {
@@ -37503,14 +38013,14 @@ var MultiAgentUISelector = ({
37503
38013
  return init;
37504
38014
  }
37505
38015
  );
37506
- const [submitted, setSubmitted] = useState14(false);
38016
+ const [submitted, setSubmitted] = useState17(false);
37507
38017
  const grouped = components.reduce((acc, comp) => {
37508
38018
  const cat = comp.category || "Other";
37509
38019
  if (!acc[cat]) acc[cat] = [];
37510
38020
  acc[cat].push(comp);
37511
38021
  return acc;
37512
38022
  }, {});
37513
- const toggleComponent = useCallback5(
38023
+ const toggleComponent = useCallback7(
37514
38024
  (stageId, compName) => {
37515
38025
  if (submitted) return;
37516
38026
  setSelections((prev) => {
@@ -37527,7 +38037,7 @@ var MultiAgentUISelector = ({
37527
38037
  },
37528
38038
  [submitted]
37529
38039
  );
37530
- const handleContinue = useCallback5(() => {
38040
+ const handleContinue = useCallback7(() => {
37531
38041
  setSubmitted(true);
37532
38042
  if (onSelect) {
37533
38043
  const result = {};
@@ -37538,7 +38048,7 @@ var MultiAgentUISelector = ({
37538
38048
  }
37539
38049
  }, [onSelect, selections]);
37540
38050
  const activeStage = stages.find((s) => s.id === activeStageId);
37541
- return /* @__PURE__ */ jsxs89(
38051
+ return /* @__PURE__ */ jsxs93(
37542
38052
  "div",
37543
38053
  {
37544
38054
  className: cn(
@@ -37546,8 +38056,8 @@ var MultiAgentUISelector = ({
37546
38056
  className
37547
38057
  ),
37548
38058
  children: [
37549
- /* @__PURE__ */ jsx130("div", { className: "px-4 py-3 border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.02]", children: /* @__PURE__ */ jsxs89("div", { className: "flex items-center gap-2", children: [
37550
- /* @__PURE__ */ jsx130("div", { className: "w-4 h-4 rounded bg-interactive/20 flex items-center justify-center", children: /* @__PURE__ */ jsxs89(
38059
+ /* @__PURE__ */ jsx135("div", { className: "px-4 py-3 border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.02]", children: /* @__PURE__ */ jsxs93("div", { className: "flex items-center gap-2", children: [
38060
+ /* @__PURE__ */ jsx135("div", { className: "w-4 h-4 rounded bg-interactive/20 flex items-center justify-center", children: /* @__PURE__ */ jsxs93(
37551
38061
  "svg",
37552
38062
  {
37553
38063
  width: "10",
@@ -37558,16 +38068,16 @@ var MultiAgentUISelector = ({
37558
38068
  strokeWidth: "2",
37559
38069
  className: "text-interactive",
37560
38070
  children: [
37561
- /* @__PURE__ */ jsx130("rect", { x: "3", y: "3", width: "7", height: "7" }),
37562
- /* @__PURE__ */ jsx130("rect", { x: "14", y: "3", width: "7", height: "7" }),
37563
- /* @__PURE__ */ jsx130("rect", { x: "3", y: "14", width: "7", height: "7" }),
37564
- /* @__PURE__ */ jsx130("rect", { x: "14", y: "14", width: "7", height: "7" })
38071
+ /* @__PURE__ */ jsx135("rect", { x: "3", y: "3", width: "7", height: "7" }),
38072
+ /* @__PURE__ */ jsx135("rect", { x: "14", y: "3", width: "7", height: "7" }),
38073
+ /* @__PURE__ */ jsx135("rect", { x: "3", y: "14", width: "7", height: "7" }),
38074
+ /* @__PURE__ */ jsx135("rect", { x: "14", y: "14", width: "7", height: "7" })
37565
38075
  ]
37566
38076
  }
37567
38077
  ) }),
37568
- /* @__PURE__ */ jsx130("span", { className: "text-xs font-semibold text-[var(--foreground)]", children: "UI Components per Stage" })
38078
+ /* @__PURE__ */ jsx135("span", { className: "text-xs font-semibold text-[var(--foreground)]", children: "UI Components per Stage" })
37569
38079
  ] }) }),
37570
- /* @__PURE__ */ jsx130("div", { className: "flex border-b border-[var(--border-color)] px-4", children: stages.map((stage) => /* @__PURE__ */ jsx130(
38080
+ /* @__PURE__ */ jsx135("div", { className: "flex border-b border-[var(--border-color)] px-4", children: stages.map((stage) => /* @__PURE__ */ jsx135(
37571
38081
  "button",
37572
38082
  {
37573
38083
  onClick: () => setActiveStageId(stage.id),
@@ -37581,38 +38091,45 @@ var MultiAgentUISelector = ({
37581
38091
  },
37582
38092
  stage.id
37583
38093
  )) }),
37584
- /* @__PURE__ */ jsxs89("div", { className: "px-4 py-3", children: [
37585
- activeStage && /* @__PURE__ */ jsxs89("p", { className: "text-[10px] text-[var(--foreground)]/40 mb-3", children: [
38094
+ /* @__PURE__ */ jsxs93("div", { className: "px-4 py-3", children: [
38095
+ activeStage && /* @__PURE__ */ jsxs93("p", { className: "text-[10px] text-[var(--foreground)]/40 mb-3", children: [
37586
38096
  "Select components for ",
37587
- /* @__PURE__ */ jsx130("strong", { children: activeStage.name }),
38097
+ /* @__PURE__ */ jsx135("strong", { children: activeStage.name }),
37588
38098
  " (",
37589
38099
  activeStage.agent_name,
37590
38100
  ")"
37591
38101
  ] }),
37592
- Object.entries(grouped).map(([category, comps]) => /* @__PURE__ */ jsxs89("div", { className: "mb-3", children: [
37593
- /* @__PURE__ */ jsx130("p", { className: "text-[10px] font-semibold text-[var(--foreground)]/40 uppercase tracking-wide mb-1.5", children: category }),
37594
- /* @__PURE__ */ jsx130("div", { className: "grid grid-cols-2 gap-1.5", children: comps.map((comp) => {
38102
+ Object.entries(grouped).map(([category, comps]) => /* @__PURE__ */ jsxs93("div", { className: "mb-3", children: [
38103
+ /* @__PURE__ */ jsx135("p", { className: "text-[10px] font-semibold text-[var(--foreground)]/40 uppercase tracking-wide mb-1.5", children: category }),
38104
+ /* @__PURE__ */ jsx135("div", { className: "grid grid-cols-2 gap-1.5", children: comps.map((comp) => {
37595
38105
  const isSelected = selections[activeStageId]?.has(comp.name) || false;
37596
- return /* @__PURE__ */ jsxs89(
37597
- "button",
38106
+ return /* @__PURE__ */ jsxs93(
38107
+ "div",
37598
38108
  {
38109
+ role: "button",
38110
+ tabIndex: 0,
37599
38111
  onClick: () => toggleComponent(activeStageId, comp.name),
37600
- disabled: submitted,
38112
+ onKeyDown: (e) => {
38113
+ if (e.key === "Enter" || e.key === " ") {
38114
+ e.preventDefault();
38115
+ toggleComponent(activeStageId, comp.name);
38116
+ }
38117
+ },
37601
38118
  className: cn(
37602
- "text-left p-2.5 rounded-lg border text-[11px] transition-all overflow-hidden",
38119
+ "text-left p-2.5 rounded-lg border text-[11px] transition-all overflow-hidden cursor-pointer",
37603
38120
  isSelected ? "border-interactive bg-interactive/5" : "border-[var(--border-color)] hover:border-interactive/50",
37604
- submitted && "opacity-60 cursor-default"
38121
+ submitted && "opacity-60 cursor-default pointer-events-none"
37605
38122
  ),
37606
38123
  children: [
37607
- /* @__PURE__ */ jsxs89("div", { className: "flex items-center gap-1.5", children: [
37608
- /* @__PURE__ */ jsx130(
38124
+ /* @__PURE__ */ jsxs93("div", { className: "flex items-center gap-1.5", children: [
38125
+ /* @__PURE__ */ jsx135(
37609
38126
  "div",
37610
38127
  {
37611
38128
  className: cn(
37612
38129
  "w-3.5 h-3.5 rounded border flex items-center justify-center shrink-0",
37613
38130
  isSelected ? "bg-interactive border-interactive" : "border-[var(--foreground)]/20"
37614
38131
  ),
37615
- children: isSelected && /* @__PURE__ */ jsx130(
38132
+ children: isSelected && /* @__PURE__ */ jsx135(
37616
38133
  "svg",
37617
38134
  {
37618
38135
  width: "8",
@@ -37621,13 +38138,13 @@ var MultiAgentUISelector = ({
37621
38138
  fill: "none",
37622
38139
  stroke: "white",
37623
38140
  strokeWidth: "3",
37624
- children: /* @__PURE__ */ jsx130("polyline", { points: "20 6 9 17 4 12" })
38141
+ children: /* @__PURE__ */ jsx135("polyline", { points: "20 6 9 17 4 12" })
37625
38142
  }
37626
38143
  )
37627
38144
  }
37628
38145
  ),
37629
- /* @__PURE__ */ jsx130("span", { className: "font-medium text-[var(--foreground)]", children: comp.display_name }),
37630
- onPreview && /* @__PURE__ */ jsx130(
38146
+ /* @__PURE__ */ jsx135("span", { className: "font-medium text-[var(--foreground)]", children: comp.display_name }),
38147
+ onPreview && /* @__PURE__ */ jsx135(
37631
38148
  "button",
37632
38149
  {
37633
38150
  type: "button",
@@ -37637,7 +38154,7 @@ var MultiAgentUISelector = ({
37637
38154
  },
37638
38155
  className: "ml-auto shrink-0 p-0.5 rounded hover:bg-[var(--foreground)]/10 transition-colors",
37639
38156
  title: `Preview ${comp.display_name}`,
37640
- children: /* @__PURE__ */ jsxs89(
38157
+ children: /* @__PURE__ */ jsxs93(
37641
38158
  "svg",
37642
38159
  {
37643
38160
  width: "14",
@@ -37650,16 +38167,16 @@ var MultiAgentUISelector = ({
37650
38167
  strokeLinejoin: "round",
37651
38168
  className: "text-[var(--foreground)]/40 hover:text-[var(--primary-color)]",
37652
38169
  children: [
37653
- /* @__PURE__ */ jsx130("circle", { cx: "12", cy: "12", r: "10" }),
37654
- /* @__PURE__ */ jsx130("line", { x1: "12", y1: "16", x2: "12", y2: "12" }),
37655
- /* @__PURE__ */ jsx130("line", { x1: "12", y1: "8", x2: "12.01", y2: "8" })
38170
+ /* @__PURE__ */ jsx135("circle", { cx: "12", cy: "12", r: "10" }),
38171
+ /* @__PURE__ */ jsx135("line", { x1: "12", y1: "16", x2: "12", y2: "12" }),
38172
+ /* @__PURE__ */ jsx135("line", { x1: "12", y1: "8", x2: "12.01", y2: "8" })
37656
38173
  ]
37657
38174
  }
37658
38175
  )
37659
38176
  }
37660
38177
  )
37661
38178
  ] }),
37662
- /* @__PURE__ */ jsx130("p", { className: "text-[10px] text-[var(--foreground)]/40 mt-0.5 ml-5 whitespace-normal", children: comp.description })
38179
+ /* @__PURE__ */ jsx135("p", { className: "text-[10px] text-[var(--foreground)]/40 mt-0.5 ml-5 whitespace-normal", children: comp.description })
37663
38180
  ]
37664
38181
  },
37665
38182
  comp.name
@@ -37667,7 +38184,7 @@ var MultiAgentUISelector = ({
37667
38184
  }) })
37668
38185
  ] }, category))
37669
38186
  ] }),
37670
- !submitted && /* @__PURE__ */ jsx130("div", { className: "px-4 pb-3", children: /* @__PURE__ */ jsx130(
38187
+ !submitted && /* @__PURE__ */ jsx135("div", { className: "px-4 pb-3", children: /* @__PURE__ */ jsx135(
37671
38188
  "button",
37672
38189
  {
37673
38190
  onClick: handleContinue,
@@ -37675,20 +38192,20 @@ var MultiAgentUISelector = ({
37675
38192
  children: "Continue"
37676
38193
  }
37677
38194
  ) }),
37678
- submitted && /* @__PURE__ */ jsx130("div", { className: "px-4 pb-3", children: /* @__PURE__ */ jsx130("div", { className: "text-[10px] text-emerald-600 font-medium text-center py-1.5 ", children: "Selections confirmed" }) })
38195
+ submitted && /* @__PURE__ */ jsx135("div", { className: "px-4 pb-3", children: /* @__PURE__ */ jsx135("div", { className: "text-[10px] text-emerald-600 font-medium text-center py-1.5 ", children: "Selections confirmed" }) })
37679
38196
  ]
37680
38197
  }
37681
38198
  );
37682
38199
  };
37683
38200
 
37684
38201
  // src/molecules/agent-builder/StageIndicator/StageIndicator.tsx
37685
- import { jsx as jsx131, jsxs as jsxs90 } from "react/jsx-runtime";
38202
+ import { jsx as jsx136, jsxs as jsxs94 } from "react/jsx-runtime";
37686
38203
  var StageIndicator = ({
37687
38204
  stage_name,
37688
38205
  agent_name,
37689
38206
  className
37690
38207
  }) => {
37691
- return /* @__PURE__ */ jsxs90(
38208
+ return /* @__PURE__ */ jsxs94(
37692
38209
  "div",
37693
38210
  {
37694
38211
  className: cn(
@@ -37696,12 +38213,12 @@ var StageIndicator = ({
37696
38213
  className
37697
38214
  ),
37698
38215
  children: [
37699
- /* @__PURE__ */ jsx131("div", { className: "flex-1 h-px bg-[var(--border-color)]" }),
37700
- /* @__PURE__ */ jsxs90("div", { className: "flex items-center gap-1.5 px-3 py-1 rounded-full bg-violet-500/10 border border-violet-500/20", children: [
37701
- /* @__PURE__ */ jsx131("div", { className: "w-1.5 h-1.5 rounded-full bg-violet-500 animate-pulse" }),
37702
- /* @__PURE__ */ jsx131("span", { className: "text-[10px] font-medium text-violet-600", children: stage_name || agent_name })
38216
+ /* @__PURE__ */ jsx136("div", { className: "flex-1 h-px bg-[var(--border-color)]" }),
38217
+ /* @__PURE__ */ jsxs94("div", { className: "flex items-center gap-1.5 px-3 py-1 rounded-full bg-violet-500/10 border border-violet-500/20", children: [
38218
+ /* @__PURE__ */ jsx136("div", { className: "w-1.5 h-1.5 rounded-full bg-violet-500 animate-pulse" }),
38219
+ /* @__PURE__ */ jsx136("span", { className: "text-[10px] font-medium text-violet-600", children: stage_name || agent_name })
37703
38220
  ] }),
37704
- /* @__PURE__ */ jsx131("div", { className: "flex-1 h-px bg-[var(--border-color)]" })
38221
+ /* @__PURE__ */ jsx136("div", { className: "flex-1 h-px bg-[var(--border-color)]" })
37705
38222
  ]
37706
38223
  }
37707
38224
  );
@@ -37999,7 +38516,7 @@ __export(ui_exports, {
37999
38516
  // src/components/ui/button-group.tsx
38000
38517
  import { Slot as Slot4 } from "@radix-ui/react-slot";
38001
38518
  import { cva as cva8 } from "class-variance-authority";
38002
- import { jsx as jsx132 } from "react/jsx-runtime";
38519
+ import { jsx as jsx137 } from "react/jsx-runtime";
38003
38520
  var buttonGroupVariants = cva8(
38004
38521
  "flex w-fit items-stretch has-[>[data-slot=button-group]]:gap-2 [&>*]:focus-visible:relative [&>*]:focus-visible:z-10 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-md [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1",
38005
38522
  {
@@ -38019,7 +38536,7 @@ function ButtonGroup({
38019
38536
  orientation,
38020
38537
  ...props
38021
38538
  }) {
38022
- return /* @__PURE__ */ jsx132(
38539
+ return /* @__PURE__ */ jsx137(
38023
38540
  "div",
38024
38541
  {
38025
38542
  role: "group",
@@ -38036,7 +38553,7 @@ function ButtonGroupText({
38036
38553
  ...props
38037
38554
  }) {
38038
38555
  const Comp = asChild ? Slot4 : "div";
38039
- return /* @__PURE__ */ jsx132(
38556
+ return /* @__PURE__ */ jsx137(
38040
38557
  Comp,
38041
38558
  {
38042
38559
  className: cn(
@@ -38052,7 +38569,7 @@ function ButtonGroupSeparator({
38052
38569
  orientation = "vertical",
38053
38570
  ...props
38054
38571
  }) {
38055
- return /* @__PURE__ */ jsx132(
38572
+ return /* @__PURE__ */ jsx137(
38056
38573
  Separator2,
38057
38574
  {
38058
38575
  "data-slot": "button-group-separator",
@@ -38068,9 +38585,9 @@ function ButtonGroupSeparator({
38068
38585
 
38069
38586
  // src/components/ui/empty.tsx
38070
38587
  import { cva as cva9 } from "class-variance-authority";
38071
- import { jsx as jsx133 } from "react/jsx-runtime";
38588
+ import { jsx as jsx138 } from "react/jsx-runtime";
38072
38589
  function Empty({ className, ...props }) {
38073
- return /* @__PURE__ */ jsx133(
38590
+ return /* @__PURE__ */ jsx138(
38074
38591
  "div",
38075
38592
  {
38076
38593
  "data-slot": "empty",
@@ -38083,7 +38600,7 @@ function Empty({ className, ...props }) {
38083
38600
  );
38084
38601
  }
38085
38602
  function EmptyHeader({ className, ...props }) {
38086
- return /* @__PURE__ */ jsx133(
38603
+ return /* @__PURE__ */ jsx138(
38087
38604
  "div",
38088
38605
  {
38089
38606
  "data-slot": "empty-header",
@@ -38114,7 +38631,7 @@ function EmptyMedia({
38114
38631
  variant = "default",
38115
38632
  ...props
38116
38633
  }) {
38117
- return /* @__PURE__ */ jsx133(
38634
+ return /* @__PURE__ */ jsx138(
38118
38635
  "div",
38119
38636
  {
38120
38637
  "data-slot": "empty-icon",
@@ -38125,7 +38642,7 @@ function EmptyMedia({
38125
38642
  );
38126
38643
  }
38127
38644
  function EmptyTitle({ className, ...props }) {
38128
- return /* @__PURE__ */ jsx133(
38645
+ return /* @__PURE__ */ jsx138(
38129
38646
  "div",
38130
38647
  {
38131
38648
  "data-slot": "empty-title",
@@ -38135,7 +38652,7 @@ function EmptyTitle({ className, ...props }) {
38135
38652
  );
38136
38653
  }
38137
38654
  function EmptyDescription({ className, ...props }) {
38138
- return /* @__PURE__ */ jsx133(
38655
+ return /* @__PURE__ */ jsx138(
38139
38656
  "div",
38140
38657
  {
38141
38658
  "data-slot": "empty-description",
@@ -38148,7 +38665,7 @@ function EmptyDescription({ className, ...props }) {
38148
38665
  );
38149
38666
  }
38150
38667
  function EmptyContent({ className, ...props }) {
38151
- return /* @__PURE__ */ jsx133(
38668
+ return /* @__PURE__ */ jsx138(
38152
38669
  "div",
38153
38670
  {
38154
38671
  "data-slot": "empty-content",
@@ -38162,11 +38679,11 @@ function EmptyContent({ className, ...props }) {
38162
38679
  }
38163
38680
 
38164
38681
  // src/components/ui/field.tsx
38165
- import { useMemo as useMemo9 } from "react";
38682
+ import { useMemo as useMemo10 } from "react";
38166
38683
  import { cva as cva10 } from "class-variance-authority";
38167
- import { jsx as jsx134, jsxs as jsxs91 } from "react/jsx-runtime";
38684
+ import { jsx as jsx139, jsxs as jsxs95 } from "react/jsx-runtime";
38168
38685
  function FieldSet({ className, ...props }) {
38169
- return /* @__PURE__ */ jsx134(
38686
+ return /* @__PURE__ */ jsx139(
38170
38687
  "fieldset",
38171
38688
  {
38172
38689
  "data-slot": "field-set",
@@ -38184,7 +38701,7 @@ function FieldLegend({
38184
38701
  variant = "legend",
38185
38702
  ...props
38186
38703
  }) {
38187
- return /* @__PURE__ */ jsx134(
38704
+ return /* @__PURE__ */ jsx139(
38188
38705
  "legend",
38189
38706
  {
38190
38707
  "data-slot": "field-legend",
@@ -38200,7 +38717,7 @@ function FieldLegend({
38200
38717
  );
38201
38718
  }
38202
38719
  function FieldGroup({ className, ...props }) {
38203
- return /* @__PURE__ */ jsx134(
38720
+ return /* @__PURE__ */ jsx139(
38204
38721
  "div",
38205
38722
  {
38206
38723
  "data-slot": "field-group",
@@ -38240,7 +38757,7 @@ function Field({
38240
38757
  orientation = "vertical",
38241
38758
  ...props
38242
38759
  }) {
38243
- return /* @__PURE__ */ jsx134(
38760
+ return /* @__PURE__ */ jsx139(
38244
38761
  "div",
38245
38762
  {
38246
38763
  role: "group",
@@ -38252,7 +38769,7 @@ function Field({
38252
38769
  );
38253
38770
  }
38254
38771
  function FieldContent({ className, ...props }) {
38255
- return /* @__PURE__ */ jsx134(
38772
+ return /* @__PURE__ */ jsx139(
38256
38773
  "div",
38257
38774
  {
38258
38775
  "data-slot": "field-content",
@@ -38268,7 +38785,7 @@ function FieldLabel({
38268
38785
  className,
38269
38786
  ...props
38270
38787
  }) {
38271
- return /* @__PURE__ */ jsx134(
38788
+ return /* @__PURE__ */ jsx139(
38272
38789
  Label,
38273
38790
  {
38274
38791
  "data-slot": "field-label",
@@ -38283,7 +38800,7 @@ function FieldLabel({
38283
38800
  );
38284
38801
  }
38285
38802
  function FieldTitle({ className, ...props }) {
38286
- return /* @__PURE__ */ jsx134(
38803
+ return /* @__PURE__ */ jsx139(
38287
38804
  "div",
38288
38805
  {
38289
38806
  "data-slot": "field-label",
@@ -38296,7 +38813,7 @@ function FieldTitle({ className, ...props }) {
38296
38813
  );
38297
38814
  }
38298
38815
  function FieldDescription({ className, ...props }) {
38299
- return /* @__PURE__ */ jsx134(
38816
+ return /* @__PURE__ */ jsx139(
38300
38817
  "p",
38301
38818
  {
38302
38819
  "data-slot": "field-description",
@@ -38315,7 +38832,7 @@ function FieldSeparator({
38315
38832
  className,
38316
38833
  ...props
38317
38834
  }) {
38318
- return /* @__PURE__ */ jsxs91(
38835
+ return /* @__PURE__ */ jsxs95(
38319
38836
  "div",
38320
38837
  {
38321
38838
  "data-slot": "field-separator",
@@ -38326,8 +38843,8 @@ function FieldSeparator({
38326
38843
  ),
38327
38844
  ...props,
38328
38845
  children: [
38329
- /* @__PURE__ */ jsx134(Separator2, { className: "absolute inset-0 top-1/2" }),
38330
- children && /* @__PURE__ */ jsx134(
38846
+ /* @__PURE__ */ jsx139(Separator2, { className: "absolute inset-0 top-1/2" }),
38847
+ children && /* @__PURE__ */ jsx139(
38331
38848
  "span",
38332
38849
  {
38333
38850
  className: "bg-background text-muted-foreground relative mx-auto block w-fit px-2",
@@ -38345,7 +38862,7 @@ function FieldError({
38345
38862
  errors,
38346
38863
  ...props
38347
38864
  }) {
38348
- const content = useMemo9(() => {
38865
+ const content = useMemo10(() => {
38349
38866
  if (children) {
38350
38867
  return children;
38351
38868
  }
@@ -38355,14 +38872,14 @@ function FieldError({
38355
38872
  if (errors?.length === 1 && errors[0]?.message) {
38356
38873
  return errors[0].message;
38357
38874
  }
38358
- return /* @__PURE__ */ jsx134("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: errors.map(
38359
- (error, index) => error?.message && /* @__PURE__ */ jsx134("li", { children: error.message }, index)
38875
+ return /* @__PURE__ */ jsx139("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: errors.map(
38876
+ (error, index) => error?.message && /* @__PURE__ */ jsx139("li", { children: error.message }, index)
38360
38877
  ) });
38361
38878
  }, [children, errors]);
38362
38879
  if (!content) {
38363
38880
  return null;
38364
38881
  }
38365
- return /* @__PURE__ */ jsx134(
38882
+ return /* @__PURE__ */ jsx139(
38366
38883
  "div",
38367
38884
  {
38368
38885
  role: "alert",
@@ -38376,9 +38893,9 @@ function FieldError({
38376
38893
 
38377
38894
  // src/components/ui/input-group.tsx
38378
38895
  import { cva as cva11 } from "class-variance-authority";
38379
- import { jsx as jsx135 } from "react/jsx-runtime";
38896
+ import { jsx as jsx140 } from "react/jsx-runtime";
38380
38897
  function InputGroup({ className, ...props }) {
38381
- return /* @__PURE__ */ jsx135(
38898
+ return /* @__PURE__ */ jsx140(
38382
38899
  "div",
38383
38900
  {
38384
38901
  "data-slot": "input-group",
@@ -38422,7 +38939,7 @@ function InputGroupAddon({
38422
38939
  align = "inline-start",
38423
38940
  ...props
38424
38941
  }) {
38425
- return /* @__PURE__ */ jsx135(
38942
+ return /* @__PURE__ */ jsx140(
38426
38943
  "div",
38427
38944
  {
38428
38945
  role: "group",
@@ -38462,7 +38979,7 @@ function InputGroupButton({
38462
38979
  size = "xs",
38463
38980
  ...props
38464
38981
  }) {
38465
- return /* @__PURE__ */ jsx135(
38982
+ return /* @__PURE__ */ jsx140(
38466
38983
  Button,
38467
38984
  {
38468
38985
  type,
@@ -38474,7 +38991,7 @@ function InputGroupButton({
38474
38991
  );
38475
38992
  }
38476
38993
  function InputGroupText({ className, ...props }) {
38477
- return /* @__PURE__ */ jsx135(
38994
+ return /* @__PURE__ */ jsx140(
38478
38995
  "span",
38479
38996
  {
38480
38997
  className: cn(
@@ -38489,7 +39006,7 @@ function InputGroupInput({
38489
39006
  className,
38490
39007
  ...props
38491
39008
  }) {
38492
- return /* @__PURE__ */ jsx135(
39009
+ return /* @__PURE__ */ jsx140(
38493
39010
  Input,
38494
39011
  {
38495
39012
  "data-slot": "input-group-control",
@@ -38505,7 +39022,7 @@ function InputGroupTextarea({
38505
39022
  className,
38506
39023
  ...props
38507
39024
  }) {
38508
- return /* @__PURE__ */ jsx135(
39025
+ return /* @__PURE__ */ jsx140(
38509
39026
  Textarea,
38510
39027
  {
38511
39028
  "data-slot": "input-group-control",
@@ -38521,9 +39038,9 @@ function InputGroupTextarea({
38521
39038
  // src/components/ui/item.tsx
38522
39039
  import { Slot as Slot5 } from "@radix-ui/react-slot";
38523
39040
  import { cva as cva12 } from "class-variance-authority";
38524
- import { jsx as jsx136 } from "react/jsx-runtime";
39041
+ import { jsx as jsx141 } from "react/jsx-runtime";
38525
39042
  function ItemGroup({ className, ...props }) {
38526
- return /* @__PURE__ */ jsx136(
39043
+ return /* @__PURE__ */ jsx141(
38527
39044
  "div",
38528
39045
  {
38529
39046
  role: "list",
@@ -38537,7 +39054,7 @@ function ItemSeparator({
38537
39054
  className,
38538
39055
  ...props
38539
39056
  }) {
38540
- return /* @__PURE__ */ jsx136(
39057
+ return /* @__PURE__ */ jsx141(
38541
39058
  Separator2,
38542
39059
  {
38543
39060
  "data-slot": "item-separator",
@@ -38575,7 +39092,7 @@ function Item8({
38575
39092
  ...props
38576
39093
  }) {
38577
39094
  const Comp = asChild ? Slot5 : "div";
38578
- return /* @__PURE__ */ jsx136(
39095
+ return /* @__PURE__ */ jsx141(
38579
39096
  Comp,
38580
39097
  {
38581
39098
  "data-slot": "item",
@@ -38606,7 +39123,7 @@ function ItemMedia({
38606
39123
  variant = "default",
38607
39124
  ...props
38608
39125
  }) {
38609
- return /* @__PURE__ */ jsx136(
39126
+ return /* @__PURE__ */ jsx141(
38610
39127
  "div",
38611
39128
  {
38612
39129
  "data-slot": "item-media",
@@ -38617,7 +39134,7 @@ function ItemMedia({
38617
39134
  );
38618
39135
  }
38619
39136
  function ItemContent({ className, ...props }) {
38620
- return /* @__PURE__ */ jsx136(
39137
+ return /* @__PURE__ */ jsx141(
38621
39138
  "div",
38622
39139
  {
38623
39140
  "data-slot": "item-content",
@@ -38630,7 +39147,7 @@ function ItemContent({ className, ...props }) {
38630
39147
  );
38631
39148
  }
38632
39149
  function ItemTitle({ className, ...props }) {
38633
- return /* @__PURE__ */ jsx136(
39150
+ return /* @__PURE__ */ jsx141(
38634
39151
  "div",
38635
39152
  {
38636
39153
  "data-slot": "item-title",
@@ -38643,7 +39160,7 @@ function ItemTitle({ className, ...props }) {
38643
39160
  );
38644
39161
  }
38645
39162
  function ItemDescription({ className, ...props }) {
38646
- return /* @__PURE__ */ jsx136(
39163
+ return /* @__PURE__ */ jsx141(
38647
39164
  "p",
38648
39165
  {
38649
39166
  "data-slot": "item-description",
@@ -38657,7 +39174,7 @@ function ItemDescription({ className, ...props }) {
38657
39174
  );
38658
39175
  }
38659
39176
  function ItemActions({ className, ...props }) {
38660
- return /* @__PURE__ */ jsx136(
39177
+ return /* @__PURE__ */ jsx141(
38661
39178
  "div",
38662
39179
  {
38663
39180
  "data-slot": "item-actions",
@@ -38667,7 +39184,7 @@ function ItemActions({ className, ...props }) {
38667
39184
  );
38668
39185
  }
38669
39186
  function ItemHeader({ className, ...props }) {
38670
- return /* @__PURE__ */ jsx136(
39187
+ return /* @__PURE__ */ jsx141(
38671
39188
  "div",
38672
39189
  {
38673
39190
  "data-slot": "item-header",
@@ -38680,7 +39197,7 @@ function ItemHeader({ className, ...props }) {
38680
39197
  );
38681
39198
  }
38682
39199
  function ItemFooter({ className, ...props }) {
38683
- return /* @__PURE__ */ jsx136(
39200
+ return /* @__PURE__ */ jsx141(
38684
39201
  "div",
38685
39202
  {
38686
39203
  "data-slot": "item-footer",
@@ -38694,9 +39211,9 @@ function ItemFooter({ className, ...props }) {
38694
39211
  }
38695
39212
 
38696
39213
  // src/components/ui/kbd.tsx
38697
- import { jsx as jsx137 } from "react/jsx-runtime";
39214
+ import { jsx as jsx142 } from "react/jsx-runtime";
38698
39215
  function Kbd({ className, ...props }) {
38699
- return /* @__PURE__ */ jsx137(
39216
+ return /* @__PURE__ */ jsx142(
38700
39217
  "kbd",
38701
39218
  {
38702
39219
  "data-slot": "kbd",
@@ -38711,7 +39228,7 @@ function Kbd({ className, ...props }) {
38711
39228
  );
38712
39229
  }
38713
39230
  function KbdGroup({ className, ...props }) {
38714
- return /* @__PURE__ */ jsx137(
39231
+ return /* @__PURE__ */ jsx142(
38715
39232
  "kbd",
38716
39233
  {
38717
39234
  "data-slot": "kbd-group",
@@ -38744,7 +39261,7 @@ function useIsMobile() {
38744
39261
  }
38745
39262
 
38746
39263
  // src/components/ui/sidebar.tsx
38747
- import { jsx as jsx138, jsxs as jsxs92 } from "react/jsx-runtime";
39264
+ import { jsx as jsx143, jsxs as jsxs96 } from "react/jsx-runtime";
38748
39265
  var SIDEBAR_COOKIE_NAME = "sidebar_state";
38749
39266
  var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
38750
39267
  var SIDEBAR_WIDTH = "16rem";
@@ -38811,7 +39328,7 @@ var SidebarProvider = React100.forwardRef(
38811
39328
  }),
38812
39329
  [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
38813
39330
  );
38814
- return /* @__PURE__ */ jsx138(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx138(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsx138(
39331
+ return /* @__PURE__ */ jsx143(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx143(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsx143(
38815
39332
  "div",
38816
39333
  {
38817
39334
  style: {
@@ -38842,7 +39359,7 @@ var Sidebar = React100.forwardRef(
38842
39359
  }, ref) => {
38843
39360
  const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
38844
39361
  if (collapsible === "none") {
38845
- return /* @__PURE__ */ jsx138(
39362
+ return /* @__PURE__ */ jsx143(
38846
39363
  "div",
38847
39364
  {
38848
39365
  className: cn(
@@ -38856,7 +39373,7 @@ var Sidebar = React100.forwardRef(
38856
39373
  );
38857
39374
  }
38858
39375
  if (isMobile) {
38859
- return /* @__PURE__ */ jsx138(Sheet2, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ jsxs92(
39376
+ return /* @__PURE__ */ jsx143(Sheet2, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ jsxs96(
38860
39377
  SheetContent,
38861
39378
  {
38862
39379
  "data-sidebar": "sidebar",
@@ -38867,16 +39384,16 @@ var Sidebar = React100.forwardRef(
38867
39384
  },
38868
39385
  side,
38869
39386
  children: [
38870
- /* @__PURE__ */ jsxs92(SheetHeader, { className: "sr-only", children: [
38871
- /* @__PURE__ */ jsx138(SheetTitle, { children: "Sidebar" }),
38872
- /* @__PURE__ */ jsx138(SheetDescription, { children: "Displays the mobile sidebar." })
39387
+ /* @__PURE__ */ jsxs96(SheetHeader, { className: "sr-only", children: [
39388
+ /* @__PURE__ */ jsx143(SheetTitle, { children: "Sidebar" }),
39389
+ /* @__PURE__ */ jsx143(SheetDescription, { children: "Displays the mobile sidebar." })
38873
39390
  ] }),
38874
- /* @__PURE__ */ jsx138("div", { className: "flex h-full w-full flex-col", children })
39391
+ /* @__PURE__ */ jsx143("div", { className: "flex h-full w-full flex-col", children })
38875
39392
  ]
38876
39393
  }
38877
39394
  ) });
38878
39395
  }
38879
- return /* @__PURE__ */ jsxs92(
39396
+ return /* @__PURE__ */ jsxs96(
38880
39397
  "div",
38881
39398
  {
38882
39399
  ref,
@@ -38886,7 +39403,7 @@ var Sidebar = React100.forwardRef(
38886
39403
  "data-variant": variant,
38887
39404
  "data-side": side,
38888
39405
  children: [
38889
- /* @__PURE__ */ jsx138(
39406
+ /* @__PURE__ */ jsx143(
38890
39407
  "div",
38891
39408
  {
38892
39409
  className: cn(
@@ -38897,7 +39414,7 @@ var Sidebar = React100.forwardRef(
38897
39414
  )
38898
39415
  }
38899
39416
  ),
38900
- /* @__PURE__ */ jsx138(
39417
+ /* @__PURE__ */ jsx143(
38901
39418
  "div",
38902
39419
  {
38903
39420
  className: cn(
@@ -38908,7 +39425,7 @@ var Sidebar = React100.forwardRef(
38908
39425
  className
38909
39426
  ),
38910
39427
  ...props,
38911
- children: /* @__PURE__ */ jsx138(
39428
+ children: /* @__PURE__ */ jsx143(
38912
39429
  "div",
38913
39430
  {
38914
39431
  "data-sidebar": "sidebar",
@@ -38926,7 +39443,7 @@ var Sidebar = React100.forwardRef(
38926
39443
  Sidebar.displayName = "Sidebar";
38927
39444
  var SidebarTrigger = React100.forwardRef(({ className, onClick, ...props }, ref) => {
38928
39445
  const { toggleSidebar } = useSidebar();
38929
- return /* @__PURE__ */ jsxs92(
39446
+ return /* @__PURE__ */ jsxs96(
38930
39447
  Button,
38931
39448
  {
38932
39449
  ref,
@@ -38940,8 +39457,8 @@ var SidebarTrigger = React100.forwardRef(({ className, onClick, ...props }, ref)
38940
39457
  },
38941
39458
  ...props,
38942
39459
  children: [
38943
- /* @__PURE__ */ jsx138(PanelLeft, {}),
38944
- /* @__PURE__ */ jsx138("span", { className: "sr-only", children: "Toggle Sidebar" })
39460
+ /* @__PURE__ */ jsx143(PanelLeft, {}),
39461
+ /* @__PURE__ */ jsx143("span", { className: "sr-only", children: "Toggle Sidebar" })
38945
39462
  ]
38946
39463
  }
38947
39464
  );
@@ -38949,7 +39466,7 @@ var SidebarTrigger = React100.forwardRef(({ className, onClick, ...props }, ref)
38949
39466
  SidebarTrigger.displayName = "SidebarTrigger";
38950
39467
  var SidebarRail = React100.forwardRef(({ className, ...props }, ref) => {
38951
39468
  const { toggleSidebar } = useSidebar();
38952
- return /* @__PURE__ */ jsx138(
39469
+ return /* @__PURE__ */ jsx143(
38953
39470
  "button",
38954
39471
  {
38955
39472
  ref,
@@ -38973,7 +39490,7 @@ var SidebarRail = React100.forwardRef(({ className, ...props }, ref) => {
38973
39490
  });
38974
39491
  SidebarRail.displayName = "SidebarRail";
38975
39492
  var SidebarInset = React100.forwardRef(({ className, ...props }, ref) => {
38976
- return /* @__PURE__ */ jsx138(
39493
+ return /* @__PURE__ */ jsx143(
38977
39494
  "main",
38978
39495
  {
38979
39496
  ref,
@@ -38988,7 +39505,7 @@ var SidebarInset = React100.forwardRef(({ className, ...props }, ref) => {
38988
39505
  });
38989
39506
  SidebarInset.displayName = "SidebarInset";
38990
39507
  var SidebarInput = React100.forwardRef(({ className, ...props }, ref) => {
38991
- return /* @__PURE__ */ jsx138(
39508
+ return /* @__PURE__ */ jsx143(
38992
39509
  Input,
38993
39510
  {
38994
39511
  ref,
@@ -39003,7 +39520,7 @@ var SidebarInput = React100.forwardRef(({ className, ...props }, ref) => {
39003
39520
  });
39004
39521
  SidebarInput.displayName = "SidebarInput";
39005
39522
  var SidebarHeader = React100.forwardRef(({ className, ...props }, ref) => {
39006
- return /* @__PURE__ */ jsx138(
39523
+ return /* @__PURE__ */ jsx143(
39007
39524
  "div",
39008
39525
  {
39009
39526
  ref,
@@ -39015,7 +39532,7 @@ var SidebarHeader = React100.forwardRef(({ className, ...props }, ref) => {
39015
39532
  });
39016
39533
  SidebarHeader.displayName = "SidebarHeader";
39017
39534
  var SidebarFooter = React100.forwardRef(({ className, ...props }, ref) => {
39018
- return /* @__PURE__ */ jsx138(
39535
+ return /* @__PURE__ */ jsx143(
39019
39536
  "div",
39020
39537
  {
39021
39538
  ref,
@@ -39027,7 +39544,7 @@ var SidebarFooter = React100.forwardRef(({ className, ...props }, ref) => {
39027
39544
  });
39028
39545
  SidebarFooter.displayName = "SidebarFooter";
39029
39546
  var SidebarSeparator = React100.forwardRef(({ className, ...props }, ref) => {
39030
- return /* @__PURE__ */ jsx138(
39547
+ return /* @__PURE__ */ jsx143(
39031
39548
  Separator2,
39032
39549
  {
39033
39550
  ref,
@@ -39039,7 +39556,7 @@ var SidebarSeparator = React100.forwardRef(({ className, ...props }, ref) => {
39039
39556
  });
39040
39557
  SidebarSeparator.displayName = "SidebarSeparator";
39041
39558
  var SidebarContent = React100.forwardRef(({ className, ...props }, ref) => {
39042
- return /* @__PURE__ */ jsx138(
39559
+ return /* @__PURE__ */ jsx143(
39043
39560
  "div",
39044
39561
  {
39045
39562
  ref,
@@ -39054,7 +39571,7 @@ var SidebarContent = React100.forwardRef(({ className, ...props }, ref) => {
39054
39571
  });
39055
39572
  SidebarContent.displayName = "SidebarContent";
39056
39573
  var SidebarGroup = React100.forwardRef(({ className, ...props }, ref) => {
39057
- return /* @__PURE__ */ jsx138(
39574
+ return /* @__PURE__ */ jsx143(
39058
39575
  "div",
39059
39576
  {
39060
39577
  ref,
@@ -39067,7 +39584,7 @@ var SidebarGroup = React100.forwardRef(({ className, ...props }, ref) => {
39067
39584
  SidebarGroup.displayName = "SidebarGroup";
39068
39585
  var SidebarGroupLabel = React100.forwardRef(({ className, asChild = false, ...props }, ref) => {
39069
39586
  const Comp = asChild ? Slot6 : "div";
39070
- return /* @__PURE__ */ jsx138(
39587
+ return /* @__PURE__ */ jsx143(
39071
39588
  Comp,
39072
39589
  {
39073
39590
  ref,
@@ -39084,7 +39601,7 @@ var SidebarGroupLabel = React100.forwardRef(({ className, asChild = false, ...pr
39084
39601
  SidebarGroupLabel.displayName = "SidebarGroupLabel";
39085
39602
  var SidebarGroupAction = React100.forwardRef(({ className, asChild = false, ...props }, ref) => {
39086
39603
  const Comp = asChild ? Slot6 : "button";
39087
- return /* @__PURE__ */ jsx138(
39604
+ return /* @__PURE__ */ jsx143(
39088
39605
  Comp,
39089
39606
  {
39090
39607
  ref,
@@ -39101,7 +39618,7 @@ var SidebarGroupAction = React100.forwardRef(({ className, asChild = false, ...p
39101
39618
  );
39102
39619
  });
39103
39620
  SidebarGroupAction.displayName = "SidebarGroupAction";
39104
- var SidebarGroupContent = React100.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx138(
39621
+ var SidebarGroupContent = React100.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx143(
39105
39622
  "div",
39106
39623
  {
39107
39624
  ref,
@@ -39111,7 +39628,7 @@ var SidebarGroupContent = React100.forwardRef(({ className, ...props }, ref) =>
39111
39628
  }
39112
39629
  ));
39113
39630
  SidebarGroupContent.displayName = "SidebarGroupContent";
39114
- var SidebarMenu = React100.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx138(
39631
+ var SidebarMenu = React100.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx143(
39115
39632
  "ul",
39116
39633
  {
39117
39634
  ref,
@@ -39121,7 +39638,7 @@ var SidebarMenu = React100.forwardRef(({ className, ...props }, ref) => /* @__PU
39121
39638
  }
39122
39639
  ));
39123
39640
  SidebarMenu.displayName = "SidebarMenu";
39124
- var SidebarMenuItem = React100.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx138(
39641
+ var SidebarMenuItem = React100.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx143(
39125
39642
  "li",
39126
39643
  {
39127
39644
  ref,
@@ -39163,7 +39680,7 @@ var SidebarMenuButton = React100.forwardRef(
39163
39680
  }, ref) => {
39164
39681
  const Comp = asChild ? Slot6 : "button";
39165
39682
  const { isMobile, state } = useSidebar();
39166
- const button = /* @__PURE__ */ jsx138(
39683
+ const button = /* @__PURE__ */ jsx143(
39167
39684
  Comp,
39168
39685
  {
39169
39686
  ref,
@@ -39182,9 +39699,9 @@ var SidebarMenuButton = React100.forwardRef(
39182
39699
  children: tooltip
39183
39700
  };
39184
39701
  }
39185
- return /* @__PURE__ */ jsxs92(Tooltip, { children: [
39186
- /* @__PURE__ */ jsx138(TooltipTrigger, { asChild: true, children: button }),
39187
- /* @__PURE__ */ jsx138(
39702
+ return /* @__PURE__ */ jsxs96(Tooltip, { children: [
39703
+ /* @__PURE__ */ jsx143(TooltipTrigger, { asChild: true, children: button }),
39704
+ /* @__PURE__ */ jsx143(
39188
39705
  TooltipContent,
39189
39706
  {
39190
39707
  side: "right",
@@ -39199,7 +39716,7 @@ var SidebarMenuButton = React100.forwardRef(
39199
39716
  SidebarMenuButton.displayName = "SidebarMenuButton";
39200
39717
  var SidebarMenuAction = React100.forwardRef(({ className, asChild = false, showOnHover = false, ...props }, ref) => {
39201
39718
  const Comp = asChild ? Slot6 : "button";
39202
- return /* @__PURE__ */ jsx138(
39719
+ return /* @__PURE__ */ jsx143(
39203
39720
  Comp,
39204
39721
  {
39205
39722
  ref,
@@ -39220,7 +39737,7 @@ var SidebarMenuAction = React100.forwardRef(({ className, asChild = false, showO
39220
39737
  );
39221
39738
  });
39222
39739
  SidebarMenuAction.displayName = "SidebarMenuAction";
39223
- var SidebarMenuBadge = React100.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx138(
39740
+ var SidebarMenuBadge = React100.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx143(
39224
39741
  "div",
39225
39742
  {
39226
39743
  ref,
@@ -39242,7 +39759,7 @@ var SidebarMenuSkeleton = React100.forwardRef(({ className, showIcon = false, ..
39242
39759
  const width = React100.useMemo(() => {
39243
39760
  return `${Math.floor(Math.random() * 40) + 50}%`;
39244
39761
  }, []);
39245
- return /* @__PURE__ */ jsxs92(
39762
+ return /* @__PURE__ */ jsxs96(
39246
39763
  "div",
39247
39764
  {
39248
39765
  ref,
@@ -39250,14 +39767,14 @@ var SidebarMenuSkeleton = React100.forwardRef(({ className, showIcon = false, ..
39250
39767
  className: cn("flex h-8 items-center gap-2 rounded-md px-2", className),
39251
39768
  ...props,
39252
39769
  children: [
39253
- showIcon && /* @__PURE__ */ jsx138(
39770
+ showIcon && /* @__PURE__ */ jsx143(
39254
39771
  Skeleton,
39255
39772
  {
39256
39773
  className: "size-4 rounded-md",
39257
39774
  "data-sidebar": "menu-skeleton-icon"
39258
39775
  }
39259
39776
  ),
39260
- /* @__PURE__ */ jsx138(
39777
+ /* @__PURE__ */ jsx143(
39261
39778
  Skeleton,
39262
39779
  {
39263
39780
  className: "h-4 max-w-[--skeleton-width] flex-1",
@@ -39272,7 +39789,7 @@ var SidebarMenuSkeleton = React100.forwardRef(({ className, showIcon = false, ..
39272
39789
  );
39273
39790
  });
39274
39791
  SidebarMenuSkeleton.displayName = "SidebarMenuSkeleton";
39275
- var SidebarMenuSub = React100.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx138(
39792
+ var SidebarMenuSub = React100.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx143(
39276
39793
  "ul",
39277
39794
  {
39278
39795
  ref,
@@ -39286,11 +39803,11 @@ var SidebarMenuSub = React100.forwardRef(({ className, ...props }, ref) => /* @_
39286
39803
  }
39287
39804
  ));
39288
39805
  SidebarMenuSub.displayName = "SidebarMenuSub";
39289
- var SidebarMenuSubItem = React100.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx138("li", { ref, ...props }));
39806
+ var SidebarMenuSubItem = React100.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx143("li", { ref, ...props }));
39290
39807
  SidebarMenuSubItem.displayName = "SidebarMenuSubItem";
39291
39808
  var SidebarMenuSubButton = React100.forwardRef(({ asChild = false, size = "md", isActive, className, ...props }, ref) => {
39292
39809
  const Comp = asChild ? Slot6 : "a";
39293
- return /* @__PURE__ */ jsx138(
39810
+ return /* @__PURE__ */ jsx143(
39294
39811
  Comp,
39295
39812
  {
39296
39813
  ref,
@@ -39314,20 +39831,20 @@ SidebarMenuSubButton.displayName = "SidebarMenuSubButton";
39314
39831
  // src/components/ui/sonner.tsx
39315
39832
  import { useTheme } from "next-themes";
39316
39833
  import { Toaster as Sonner } from "sonner";
39317
- import { jsx as jsx139 } from "react/jsx-runtime";
39834
+ import { jsx as jsx144 } from "react/jsx-runtime";
39318
39835
  var Toaster = ({ ...props }) => {
39319
39836
  const { theme = "system" } = useTheme();
39320
- return /* @__PURE__ */ jsx139(
39837
+ return /* @__PURE__ */ jsx144(
39321
39838
  Sonner,
39322
39839
  {
39323
39840
  theme,
39324
39841
  className: "toaster group",
39325
39842
  icons: {
39326
- success: /* @__PURE__ */ jsx139(CircleCheck, { className: "h-4 w-4" }),
39327
- info: /* @__PURE__ */ jsx139(Info, { className: "h-4 w-4" }),
39328
- warning: /* @__PURE__ */ jsx139(TriangleAlert, { className: "h-4 w-4" }),
39329
- error: /* @__PURE__ */ jsx139(OctagonX, { className: "h-4 w-4" }),
39330
- loading: /* @__PURE__ */ jsx139(LoaderCircle, { className: "h-4 w-4 animate-spin" })
39843
+ success: /* @__PURE__ */ jsx144(CircleCheck, { className: "h-4 w-4" }),
39844
+ info: /* @__PURE__ */ jsx144(Info, { className: "h-4 w-4" }),
39845
+ warning: /* @__PURE__ */ jsx144(TriangleAlert, { className: "h-4 w-4" }),
39846
+ error: /* @__PURE__ */ jsx144(OctagonX, { className: "h-4 w-4" }),
39847
+ loading: /* @__PURE__ */ jsx144(LoaderCircle, { className: "h-4 w-4 animate-spin" })
39331
39848
  },
39332
39849
  toastOptions: {
39333
39850
  classNames: {
@@ -39345,24 +39862,24 @@ var Toaster = ({ ...props }) => {
39345
39862
  // src/components/ui/toggle-group.tsx
39346
39863
  import * as React101 from "react";
39347
39864
  import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
39348
- import { jsx as jsx140 } from "react/jsx-runtime";
39865
+ import { jsx as jsx145 } from "react/jsx-runtime";
39349
39866
  var ToggleGroupContext = React101.createContext({
39350
39867
  size: "default",
39351
39868
  variant: "default"
39352
39869
  });
39353
- var ToggleGroup = React101.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx140(
39870
+ var ToggleGroup = React101.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx145(
39354
39871
  ToggleGroupPrimitive.Root,
39355
39872
  {
39356
39873
  ref,
39357
39874
  className: cn("flex items-center justify-center gap-1", className),
39358
39875
  ...props,
39359
- children: /* @__PURE__ */ jsx140(ToggleGroupContext.Provider, { value: { variant, size }, children })
39876
+ children: /* @__PURE__ */ jsx145(ToggleGroupContext.Provider, { value: { variant, size }, children })
39360
39877
  }
39361
39878
  ));
39362
39879
  ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
39363
39880
  var ToggleGroupItem = React101.forwardRef(({ className, children, variant, size, ...props }, ref) => {
39364
39881
  const context = React101.useContext(ToggleGroupContext);
39365
- return /* @__PURE__ */ jsx140(
39882
+ return /* @__PURE__ */ jsx145(
39366
39883
  ToggleGroupPrimitive.Item,
39367
39884
  {
39368
39885
  ref,
@@ -39381,7 +39898,7 @@ var ToggleGroupItem = React101.forwardRef(({ className, children, variant, size,
39381
39898
  ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
39382
39899
 
39383
39900
  // src/render/PXEngineRenderer.tsx
39384
- import { jsx as jsx141, jsxs as jsxs93 } from "react/jsx-runtime";
39901
+ import { jsx as jsx146, jsxs as jsxs97 } from "react/jsx-runtime";
39385
39902
  var CONTEXT_DEPENDENT_COMPONENTS = /* @__PURE__ */ new Set([
39386
39903
  // Form components - require FormField + FormItem context
39387
39904
  "FormLabel",
@@ -39473,24 +39990,24 @@ var COMPONENT_SUGGESTIONS = {
39473
39990
  };
39474
39991
  var renderContextDependentError = (componentName, normalizedName, key) => {
39475
39992
  const suggestion = COMPONENT_SUGGESTIONS[normalizedName] || `${componentName}Atom (if available)`;
39476
- return /* @__PURE__ */ jsxs93(
39993
+ return /* @__PURE__ */ jsxs97(
39477
39994
  "div",
39478
39995
  {
39479
39996
  className: "p-4 border-2 border-amber-500/50 rounded-lg bg-amber-50/80 space-y-2 my-2",
39480
39997
  children: [
39481
- /* @__PURE__ */ jsxs93("div", { className: "flex items-start gap-2", children: [
39482
- /* @__PURE__ */ jsx141("span", { className: "text-amber-600 font-bold text-lg", children: "\u26A0\uFE0F" }),
39483
- /* @__PURE__ */ jsxs93("div", { className: "flex-1", children: [
39484
- /* @__PURE__ */ jsxs93("p", { className: "text-sm font-semibold text-amber-900", children: [
39998
+ /* @__PURE__ */ jsxs97("div", { className: "flex items-start gap-2", children: [
39999
+ /* @__PURE__ */ jsx146("span", { className: "text-amber-600 font-bold text-lg", children: "\u26A0\uFE0F" }),
40000
+ /* @__PURE__ */ jsxs97("div", { className: "flex-1", children: [
40001
+ /* @__PURE__ */ jsxs97("p", { className: "text-sm font-semibold text-amber-900", children: [
39485
40002
  "Invalid Component: ",
39486
40003
  componentName
39487
40004
  ] }),
39488
- /* @__PURE__ */ jsx141("p", { className: "text-xs text-amber-700 mt-1", children: "This component requires React Context and cannot be rendered directly in schemas." })
40005
+ /* @__PURE__ */ jsx146("p", { className: "text-xs text-amber-700 mt-1", children: "This component requires React Context and cannot be rendered directly in schemas." })
39489
40006
  ] })
39490
40007
  ] }),
39491
- /* @__PURE__ */ jsxs93("div", { className: "bg-white/60 p-3 rounded border border-amber-200", children: [
39492
- /* @__PURE__ */ jsx141("p", { className: "text-xs font-semibold text-gray-700 mb-1.5", children: "\u2713 Use instead:" }),
39493
- /* @__PURE__ */ jsx141("code", { className: "text-xs text-blue-700 bg-blue-50 px-2 py-1 rounded", children: suggestion })
40008
+ /* @__PURE__ */ jsxs97("div", { className: "bg-white/60 p-3 rounded border border-amber-200", children: [
40009
+ /* @__PURE__ */ jsx146("p", { className: "text-xs font-semibold text-gray-700 mb-1.5", children: "\u2713 Use instead:" }),
40010
+ /* @__PURE__ */ jsx146("code", { className: "text-xs text-blue-700 bg-blue-50 px-2 py-1 rounded", children: suggestion })
39494
40011
  ] })
39495
40012
  ]
39496
40013
  },
@@ -39649,7 +40166,7 @@ var PXEngineRenderer = ({
39649
40166
  const isAtomWithRenderProp = ATOMS_WITH_RENDER.has(atomName);
39650
40167
  const finalStyle = { ...dynamicStyle, ...finalProps.style || {} };
39651
40168
  if (isAtomWithRenderProp) {
39652
- return /* @__PURE__ */ jsx141(
40169
+ return /* @__PURE__ */ jsx146(
39653
40170
  TargetComponent,
39654
40171
  {
39655
40172
  ...finalProps,
@@ -39661,7 +40178,7 @@ var PXEngineRenderer = ({
39661
40178
  uniqueKey
39662
40179
  );
39663
40180
  } else {
39664
- return /* @__PURE__ */ jsx141(
40181
+ return /* @__PURE__ */ jsx146(
39665
40182
  TargetComponent,
39666
40183
  {
39667
40184
  ...finalProps,
@@ -39673,7 +40190,7 @@ var PXEngineRenderer = ({
39673
40190
  );
39674
40191
  }
39675
40192
  };
39676
- return /* @__PURE__ */ jsx141("div", { className: "px-engine-root relative w-full h-full", children: renderRecursive(root) });
40193
+ return /* @__PURE__ */ jsx146("div", { className: "px-engine-root relative w-full h-full", children: renderRecursive(root) });
39677
40194
  };
39678
40195
  export {
39679
40196
  Accordion,
@@ -39767,9 +40284,14 @@ export {
39767
40284
  CountrySelectDisplay,
39768
40285
  CountrySelectEdit,
39769
40286
  CreatorActionHeader,
40287
+ CreatorCompactView,
39770
40288
  CreatorGridCard,
40289
+ CreatorImageList,
39771
40290
  CreatorProfileSummary,
40291
+ CreatorProgressBar,
39772
40292
  CreatorSearch,
40293
+ CreatorWidget,
40294
+ CreatorWidgetSkeleton,
39773
40295
  DataGrid,
39774
40296
  Dialog,
39775
40297
  DialogAtom,
@@ -39947,7 +40469,8 @@ export {
39947
40469
  UIComponentSelector,
39948
40470
  VideoAtom,
39949
40471
  WorkflowVisualizer,
39950
- cn
40472
+ cn,
40473
+ useCreatorWidgetPolling
39951
40474
  };
39952
40475
  /*! Bundled license information:
39953
40476