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.cjs CHANGED
@@ -121,9 +121,14 @@ __export(index_exports, {
121
121
  CountrySelectDisplay: () => CountrySelectDisplay,
122
122
  CountrySelectEdit: () => CountrySelectEdit,
123
123
  CreatorActionHeader: () => CreatorActionHeader,
124
+ CreatorCompactView: () => CreatorCompactView,
124
125
  CreatorGridCard: () => CreatorGridCard,
126
+ CreatorImageList: () => CreatorImageList,
125
127
  CreatorProfileSummary: () => CreatorProfileSummary,
128
+ CreatorProgressBar: () => CreatorProgressBar,
126
129
  CreatorSearch: () => CreatorSearch,
130
+ CreatorWidget: () => CreatorWidget,
131
+ CreatorWidgetSkeleton: () => CreatorWidgetSkeleton,
127
132
  DataGrid: () => DataGrid,
128
133
  Dialog: () => Dialog,
129
134
  DialogAtom: () => DialogAtom,
@@ -301,12 +306,13 @@ __export(index_exports, {
301
306
  UIComponentSelector: () => UIComponentSelector,
302
307
  VideoAtom: () => VideoAtom,
303
308
  WorkflowVisualizer: () => WorkflowVisualizer,
304
- cn: () => cn
309
+ cn: () => cn,
310
+ useCreatorWidgetPolling: () => useCreatorWidgetPolling
305
311
  });
306
312
  module.exports = __toCommonJS(index_exports);
307
313
 
308
314
  // src/render/PXEngineRenderer.tsx
309
- var import_react71 = __toESM(require("react"), 1);
315
+ var import_react75 = __toESM(require("react"), 1);
310
316
 
311
317
  // src/atoms/index.ts
312
318
  var atoms_exports = {};
@@ -33589,9 +33595,14 @@ __export(molecules_exports, {
33589
33595
  CountrySelectDisplay: () => CountrySelectDisplay,
33590
33596
  CountrySelectEdit: () => CountrySelectEdit,
33591
33597
  CreatorActionHeader: () => CreatorActionHeader,
33598
+ CreatorCompactView: () => CreatorCompactView,
33592
33599
  CreatorGridCard: () => CreatorGridCard,
33600
+ CreatorImageList: () => CreatorImageList,
33593
33601
  CreatorProfileSummary: () => CreatorProfileSummary,
33602
+ CreatorProgressBar: () => CreatorProgressBar,
33594
33603
  CreatorSearch: () => CreatorSearch,
33604
+ CreatorWidget: () => CreatorWidget,
33605
+ CreatorWidgetSkeleton: () => CreatorWidgetSkeleton,
33595
33606
  DataGrid: () => DataGrid,
33596
33607
  EditableField: () => EditableField,
33597
33608
  EmptyState: () => EmptyState,
@@ -33619,7 +33630,8 @@ __export(molecules_exports, {
33619
33630
  ToolListCard: () => ToolListCard,
33620
33631
  TopPostsGrid: () => TopPostsGrid,
33621
33632
  UIComponentSelector: () => UIComponentSelector,
33622
- WorkflowVisualizer: () => WorkflowVisualizer
33633
+ WorkflowVisualizer: () => WorkflowVisualizer,
33634
+ useCreatorWidgetPolling: () => useCreatorWidgetPolling
33623
33635
  });
33624
33636
 
33625
33637
  // src/molecules/generic/EditableField/EditableField.tsx
@@ -36629,7 +36641,8 @@ var CampaignConceptCard = import_react64.default.memo(
36629
36641
  ...field,
36630
36642
  label: "Budget Allocation",
36631
36643
  renderDisplay: (val) => {
36632
- if (!val) return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("span", { className: "text-muted-foreground text-sm", children: "-" });
36644
+ if (!val)
36645
+ return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("span", { className: "text-muted-foreground text-sm", children: "-" });
36633
36646
  if (Array.isArray(val)) {
36634
36647
  return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("div", { className: "space-y-2", children: val.map((item, idx) => {
36635
36648
  const label = item?.label ?? item?.key ?? `Item ${idx + 1}`;
@@ -36647,7 +36660,8 @@ var CampaignConceptCard = import_react64.default.memo(
36647
36660
  }
36648
36661
  if (typeof val === "object") {
36649
36662
  const entries = Object.entries(val);
36650
- if (entries.length === 0) return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("span", { className: "text-muted-foreground text-sm", children: "-" });
36663
+ if (entries.length === 0)
36664
+ return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("span", { className: "text-muted-foreground text-sm", children: "-" });
36651
36665
  return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("div", { className: "space-y-2", children: entries.map(([k, v], idx) => /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)("div", { className: "flex items-center gap-2", children: [
36652
36666
  /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)("span", { className: "text-muted-foreground font-medium", children: [
36653
36667
  idx + 1,
@@ -36694,7 +36708,8 @@ var CampaignConceptCard = import_react64.default.memo(
36694
36708
  ...field,
36695
36709
  label: "Estimated Creators",
36696
36710
  renderDisplay: (val) => {
36697
- if (!val) return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("span", { className: "text-muted-foreground text-sm", children: "-" });
36711
+ if (!val)
36712
+ return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("span", { className: "text-muted-foreground text-sm", children: "-" });
36698
36713
  const displayValue = typeof val === "object" && !Array.isArray(val) ? `${val.min ?? 0}-${val.max ?? 0}` : String(val);
36699
36714
  return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("span", { className: "text-foreground text-sm", children: displayValue });
36700
36715
  },
@@ -36759,13 +36774,7 @@ var CampaignConceptCard = import_react64.default.memo(
36759
36774
  return {
36760
36775
  ...field,
36761
36776
  renderDisplay: (v) => /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(PlatformSelectDisplay, { value: v }),
36762
- renderEdit: (v, onChange) => /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
36763
- PlatformSelectEdit,
36764
- {
36765
- value: v,
36766
- onChange
36767
- }
36768
- )
36777
+ renderEdit: (v, onChange) => /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(PlatformSelectEdit, { value: v, onChange })
36769
36778
  };
36770
36779
  }
36771
36780
  if (field.key === "description" || field.key === "creator_strategy" || field.key === "creatorStrategy") {
@@ -36779,7 +36788,8 @@ var CampaignConceptCard = import_react64.default.memo(
36779
36788
  ...field,
36780
36789
  renderDisplay: (val) => {
36781
36790
  if (Array.isArray(val)) {
36782
- if (val.length === 0) return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("span", { className: "text-muted-foreground text-sm", children: "-" });
36791
+ if (val.length === 0)
36792
+ return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("span", { className: "text-muted-foreground text-sm", children: "-" });
36783
36793
  return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("div", { className: "flex flex-wrap gap-2 pt-1", children: val.map((item, idx) => {
36784
36794
  const label = typeof item === "object" && item !== null ? item.label || item.value || item.name || JSON.stringify(item) : String(item);
36785
36795
  return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
@@ -36804,7 +36814,7 @@ var CampaignConceptCard = import_react64.default.memo(
36804
36814
  "div",
36805
36815
  {
36806
36816
  className: cn(
36807
- "w-full max-w-[600px] rounded-xl border bg-background dark:bg-gray100 relative transition-all duration-300",
36817
+ "w-full rounded-xl border bg-background dark:bg-gray100 relative transition-all duration-300",
36808
36818
  isSelected || isRecommended ? "border-2 border-green500" : "border-gray400",
36809
36819
  className
36810
36820
  ),
@@ -36819,7 +36829,8 @@ var CampaignConceptCard = import_react64.default.memo(
36819
36829
  /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)("h3", { className: "mb-1 py-1 text-txtColor font-bold text-lg", children: [
36820
36830
  "Concept ",
36821
36831
  index !== void 0 ? index : "",
36822
- " : ",
36832
+ " :",
36833
+ " ",
36823
36834
  typeof cardTitle === "object" ? JSON.stringify(cardTitle) : String(cardTitle)
36824
36835
  ] }),
36825
36836
  /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)("div", { className: "flex flex-wrap gap-2", children: [
@@ -36827,25 +36838,32 @@ var CampaignConceptCard = import_react64.default.memo(
36827
36838
  !effectiveIsLatest && selectionStatus && /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("div", { className: "inline-flex text-[10px] font-bold uppercase tracking-widest text-[#3B82F6]", children: /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("span", { className: "bg-[#3B82F6]/10 px-2 py-0.5 rounded border border-[#3B82F6]/20", children: selectionStatus === "agent" ? "Selected by Agent" : "Selected by You" }) })
36828
36839
  ] })
36829
36840
  ] }),
36830
- /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("div", { className: "flex items-center gap-2 ml-3", onClick: (e) => e.stopPropagation(), children: /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
36831
- "button",
36841
+ /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
36842
+ "div",
36832
36843
  {
36833
- onClick: (e) => {
36834
- e.preventDefault();
36835
- e.stopPropagation();
36836
- handleToggle();
36837
- },
36838
- className: "p-2 bg-background hover:bg-gray200 dark:hover:bg-gray200 text-foreground rounded-lg shadow-lg",
36839
- "aria-label": isOpen ? "Collapse" : "Expand",
36840
- title: isOpen ? "Collapse" : "Expand",
36844
+ className: "flex items-center gap-2 ml-3",
36845
+ onClick: (e) => e.stopPropagation(),
36841
36846
  children: /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
36842
- ChevronDown,
36847
+ "button",
36843
36848
  {
36844
- className: `h-4 w-4 transition-transform ${isOpen ? "rotate-0" : "-rotate-90"}`
36849
+ onClick: (e) => {
36850
+ e.preventDefault();
36851
+ e.stopPropagation();
36852
+ handleToggle();
36853
+ },
36854
+ className: "p-2 bg-background hover:bg-gray200 dark:hover:bg-gray200 text-foreground rounded-lg shadow-lg",
36855
+ "aria-label": isOpen ? "Collapse" : "Expand",
36856
+ title: isOpen ? "Collapse" : "Expand",
36857
+ children: /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
36858
+ ChevronDown,
36859
+ {
36860
+ className: `h-4 w-4 transition-transform ${isOpen ? "rotate-0" : "-rotate-90"}`
36861
+ }
36862
+ )
36845
36863
  }
36846
36864
  )
36847
36865
  }
36848
- ) })
36866
+ )
36849
36867
  ]
36850
36868
  }
36851
36869
  ),
@@ -36857,7 +36875,7 @@ var CampaignConceptCard = import_react64.default.memo(
36857
36875
  exit: { height: 0, opacity: 0 },
36858
36876
  transition: { duration: 0.2, ease: "easeIn" },
36859
36877
  className: "overflow-hidden",
36860
- children: /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)("div", { className: "px-4 py-3 w-full overflow-y-auto max-h-[400px] relative", children: [
36878
+ children: /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)("div", { className: "px-4 py-3 w-full relative", children: [
36861
36879
  /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
36862
36880
  "div",
36863
36881
  {
@@ -36898,8 +36916,506 @@ var CampaignConceptCard = import_react64.default.memo(
36898
36916
  );
36899
36917
  CampaignConceptCard.displayName = "CampaignConceptCard";
36900
36918
 
36901
- // src/molecules/agent-builder/ToolListCard/ToolListCard.tsx
36919
+ // src/molecules/creator-discovery/CreatorWidget/CreatorWidget.tsx
36920
+ var import_react68 = require("react");
36921
+
36922
+ // src/molecules/creator-discovery/CreatorWidget/CreatorImageList.tsx
36923
+ var import_react65 = require("react");
36902
36924
  var import_jsx_runtime122 = require("react/jsx-runtime");
36925
+ function useMediaQuery(query) {
36926
+ const [matches, setMatches] = (0, import_react65.useState)(false);
36927
+ (0, import_react65.useEffect)(() => {
36928
+ const media = window.matchMedia(query);
36929
+ const listener = () => setMatches(media.matches);
36930
+ listener();
36931
+ media.addEventListener("change", listener);
36932
+ return () => media.removeEventListener("change", listener);
36933
+ }, [query]);
36934
+ return matches;
36935
+ }
36936
+ function CreatorImage({
36937
+ img,
36938
+ idx,
36939
+ creatorsPercentage,
36940
+ totalCreators
36941
+ }) {
36942
+ const processedCount = Math.floor(creatorsPercentage / 100 * totalCreators);
36943
+ const isProcessed = idx < processedCount;
36944
+ const isCurrentlyProcessing = idx === processedCount;
36945
+ return /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)("div", { className: "relative w-8 h-8", children: [
36946
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
36947
+ "img",
36948
+ {
36949
+ src: img,
36950
+ alt: `Creator ${idx + 1}`,
36951
+ className: `w-8 h-8 rounded-full border-2 ${isProcessed ? "border-green-600" : "border-foreground"} object-cover transition-all duration-300`
36952
+ }
36953
+ ),
36954
+ !isProcessed && /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("div", { className: "absolute inset-0 bg-black/50 rounded-full pointer-events-none" }),
36955
+ isCurrentlyProcessing && /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_jsx_runtime122.Fragment, { children: [
36956
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
36957
+ "div",
36958
+ {
36959
+ className: "absolute inset-0 bg-black/50 rounded-full pointer-events-none",
36960
+ style: {
36961
+ background: `conic-gradient(
36962
+ from 0deg,
36963
+ #FFFFFF80 0deg,
36964
+ #FFFFFF80 60deg,
36965
+ #000000bf 60deg,
36966
+ #000000bf 360deg
36967
+ )`,
36968
+ opacity: 0.9
36969
+ }
36970
+ }
36971
+ ),
36972
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("div", { className: "absolute inset-0 rounded-full border-2 border-[#9CA3AF]/30 pointer-events-none" })
36973
+ ] })
36974
+ ] });
36975
+ }
36976
+ function CreatorImageList({
36977
+ creatorImages = [],
36978
+ creatorLength = 0,
36979
+ isAgentOutput,
36980
+ initialCreatorsPercentage
36981
+ }) {
36982
+ const isMobile = useMediaQuery("(max-width: 640px)");
36983
+ const isTablet = useMediaQuery("(min-width: 641px) and (max-width: 1024px)");
36984
+ const visibleCount = isMobile ? 7 : isTablet ? 10 : isAgentOutput ? 6 : 15;
36985
+ return /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)("div", { className: "flex flex-nowrap sm:flex-wrap -space-x-2 w-fit", children: [
36986
+ creatorImages.slice(0, visibleCount).map((img, idx) => /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
36987
+ CreatorImage,
36988
+ {
36989
+ img,
36990
+ idx,
36991
+ creatorsPercentage: initialCreatorsPercentage || 0,
36992
+ totalCreators: creatorLength
36993
+ },
36994
+ idx
36995
+ )),
36996
+ creatorLength > visibleCount && /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(
36997
+ "div",
36998
+ {
36999
+ 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"}`,
37000
+ children: [
37001
+ "+",
37002
+ creatorLength - visibleCount
37003
+ ]
37004
+ }
37005
+ )
37006
+ ] });
37007
+ }
37008
+
37009
+ // src/molecules/creator-discovery/CreatorWidget/CreatorProgressBar.tsx
37010
+ var import_react66 = require("react");
37011
+ var import_framer_motion2 = require("framer-motion");
37012
+ var import_jsx_runtime123 = require("react/jsx-runtime");
37013
+ function truncateName(name, maxLength) {
37014
+ if (!name || name.length <= maxLength) return name || "";
37015
+ return name.substring(0, maxLength) + "...";
37016
+ }
37017
+ function ProgressBar({ overallPercentage }) {
37018
+ const [showTooltip, setShowTooltip] = (0, import_react66.useState)(true);
37019
+ (0, import_react66.useEffect)(() => {
37020
+ if (overallPercentage && overallPercentage >= 100) {
37021
+ setShowTooltip(false);
37022
+ }
37023
+ }, [overallPercentage]);
37024
+ return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("div", { className: "relative w-full", children: /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("div", { className: "md:w-full dark:bg-purple500 bg-gray-200 rounded-full h-[6px]", children: /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
37025
+ import_framer_motion2.motion.div,
37026
+ {
37027
+ className: "bg-purple100 h-[6px] rounded-full relative",
37028
+ initial: { width: 0 },
37029
+ animate: { width: `${overallPercentage}%` },
37030
+ transition: { duration: 0.5, ease: "easeOut" },
37031
+ children: /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(import_framer_motion2.AnimatePresence, { children: showTooltip && /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(
37032
+ import_framer_motion2.motion.div,
37033
+ {
37034
+ initial: { opacity: 0, y: 5 },
37035
+ animate: { opacity: 1, y: 0 },
37036
+ exit: { opacity: 0, y: 5 },
37037
+ className: "absolute -top-10 right-[-25px] bg-gray50 text-gray900 text-lg px-1 rounded-[6px] shadow-lg whitespace-nowrap border-2 border-gray300",
37038
+ children: [
37039
+ overallPercentage ? Math.round(overallPercentage) : 0,
37040
+ "%",
37041
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("div", { className: "absolute left-1/2 top-full -translate-x-1/2", children: [
37042
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("div", { className: "w-0 h-0 border-l-[6px] border-r-[6px] border-t-[6px] border-transparent border-t-gray300" }),
37043
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("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" })
37044
+ ] })
37045
+ ]
37046
+ }
37047
+ ) })
37048
+ }
37049
+ ) }) });
37050
+ }
37051
+ function CreatorProgressBar({
37052
+ statusDetails,
37053
+ timeRemaining: _timeRemaining
37054
+ }) {
37055
+ return /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("div", { children: [
37056
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(ProgressBar, { overallPercentage: statusDetails?.overall_percentage }),
37057
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("div", { className: "dark:text-gray400 text-gray-500 text-xs mt-2", children: (statusDetails?.overall_percentage ?? 0) < 100 && /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("span", { children: statusDetails?.thinking_message ? truncateName(statusDetails.thinking_message, 200) : "Processing..." }) })
37058
+ ] });
37059
+ }
37060
+
37061
+ // src/molecules/creator-discovery/CreatorWidget/CreatorWidgetSkeleton.tsx
37062
+ var import_jsx_runtime124 = require("react/jsx-runtime");
37063
+ function CreatorWidgetSkeleton() {
37064
+ return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("div", { className: "bg-background dark:bg-gray50 rounded-[25px] border border-gray300 overflow-hidden shadow-sm w-full relative", children: /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)("div", { className: "p-4 md:p-6 space-y-4", children: [
37065
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("div", { className: "flex flex-col md:flex-row md:items-center md:justify-between gap-4 relative", children: /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)("div", { className: "flex flex-col gap-2 md:gap-4", children: [
37066
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("div", { className: "w-40 h-6 bg-purple200 rounded-md animate-pulse" }),
37067
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("div", { className: "w-64 h-7 bg-gray200 dark:bg-gray300 rounded animate-pulse" })
37068
+ ] }) }),
37069
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)("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: [
37070
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)("div", { className: "flex flex-col gap-4 md:gap-6 min-w-0", children: [
37071
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("div", { className: "flex -space-x-2", children: Array.from({ length: 10 }).map((_, idx) => /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
37072
+ "div",
37073
+ {
37074
+ className: "w-8 h-8 md:w-10 md:h-10 rounded-full border-2 border-gray300 bg-gray200 animate-pulse"
37075
+ },
37076
+ idx
37077
+ )) }),
37078
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("div", { className: "space-y-2", children: /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("div", { className: "w-full max-w-xs bg-gray200 rounded-full h-2 animate-pulse" }) })
37079
+ ] }),
37080
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("div", { className: "px-6 py-2 bg-gray200 rounded-[30px] animate-pulse h-10 w-48" })
37081
+ ] })
37082
+ ] }) });
37083
+ }
37084
+
37085
+ // src/molecules/creator-discovery/CreatorWidget/CreatorCompactView.tsx
37086
+ var import_jsx_runtime125 = require("react/jsx-runtime");
37087
+ function CreatorCompactView({
37088
+ versions,
37089
+ selectedVersion,
37090
+ creatorImages,
37091
+ creatorLength,
37092
+ isAgentOutput,
37093
+ onVersionSelect,
37094
+ onViewCreators,
37095
+ versionStatus,
37096
+ statusDetails,
37097
+ timeDisplay,
37098
+ isLoading
37099
+ }) {
37100
+ const isComplete = versionStatus === "completed" || versionStatus === "complete";
37101
+ const statusTitle = isComplete ? "Creator Search Complete" : versionStatus === "failed" ? "Creator Search Failed" : "Creator Search Processing";
37102
+ if (isLoading) {
37103
+ return /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(CreatorWidgetSkeleton, {});
37104
+ }
37105
+ return /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("div", { className: "bg-background dark:bg-gray100 rounded-[25px] border border-gray300 overflow-hidden shadow-sm w-full relative", children: /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)("div", { className: "p-4 md:p-6 space-y-4", children: [
37106
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)("div", { className: "flex flex-col md:flex-row md:items-center md:justify-between gap-4 relative", children: [
37107
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)("div", { className: "flex flex-col gap-2 md:gap-4", children: [
37108
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("h4", { className: "w-fit rounded-md bg-purple200 px-2 py-[4px] text-xs font-medium text-purpleText", children: "VERIFIED CREATORS LIST" }),
37109
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("h3", { className: "text-gray900 md:text-lg font-bold", children: statusTitle })
37110
+ ] }),
37111
+ versions.length > 1 && /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("div", { className: "relative md:self-start", children: /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(DropdownMenu, { children: [
37112
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(
37113
+ DropdownMenuTrigger,
37114
+ {
37115
+ disabled: !isComplete,
37116
+ 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"}`,
37117
+ children: [
37118
+ "Version ",
37119
+ selectedVersion ?? "-",
37120
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(ChevronDown, { className: "w-3 h-3 md:w-4 md:h-4 transition-transform" })
37121
+ ]
37122
+ }
37123
+ ),
37124
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(DropdownMenuContent, { className: "bg-gray25 border-2 border-gray400 min-w-[120px] max-h-[150px] overflow-y-auto", children: versions.map((v) => /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(
37125
+ DropdownMenuItem,
37126
+ {
37127
+ onClick: () => onVersionSelect(v),
37128
+ className: "cursor-pointer text-sm",
37129
+ children: [
37130
+ "Version ",
37131
+ v
37132
+ ]
37133
+ },
37134
+ v
37135
+ )) })
37136
+ ] }) })
37137
+ ] }),
37138
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("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__ */ (0, import_jsx_runtime125.jsxs)("div", { className: "flex flex-col items-center justify-center w-full py-6 md:py-8 text-center text-red-500", children: [
37139
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("p", { className: "text-base md:text-lg font-semibold mb-2", children: "Creator Search Failed" }),
37140
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("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." })
37141
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_jsx_runtime125.Fragment, { children: [
37142
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)("div", { className: "flex flex-col gap-4 md:gap-6 min-w-0", children: [
37143
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
37144
+ CreatorImageList,
37145
+ {
37146
+ creatorImages,
37147
+ creatorLength,
37148
+ isAgentOutput,
37149
+ initialCreatorsPercentage: statusDetails?.social_fetch_percentage
37150
+ }
37151
+ ),
37152
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
37153
+ CreatorProgressBar,
37154
+ {
37155
+ statusDetails,
37156
+ timeRemaining: timeDisplay
37157
+ }
37158
+ )
37159
+ ] }),
37160
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(
37161
+ "button",
37162
+ {
37163
+ 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"}`,
37164
+ onClick: onViewCreators,
37165
+ disabled: !isComplete,
37166
+ children: [
37167
+ "View ",
37168
+ creatorLength,
37169
+ " Verified Creators",
37170
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(Triangle, { className: "w-3 h-3 md:w-4 md:h-4 rotate-90 font-bold" })
37171
+ ]
37172
+ }
37173
+ )
37174
+ ] }) })
37175
+ ] }) });
37176
+ }
37177
+
37178
+ // src/molecules/creator-discovery/CreatorWidget/useCreatorWidgetPolling.ts
37179
+ var import_react67 = require("react");
37180
+ var DEFAULT_POLLING_CONFIG = {
37181
+ pollInterval: 5e3,
37182
+ maxDuration: 15 * 60 * 1e3,
37183
+ maxErrors: 10,
37184
+ secondsPerCreator: 13
37185
+ };
37186
+ function useCreatorWidgetPolling({
37187
+ sessionId,
37188
+ currentVersion,
37189
+ fetchVersions,
37190
+ fetchStatus,
37191
+ pollingConfig,
37192
+ onStatusChange
37193
+ }) {
37194
+ const config = (0, import_react67.useMemo)(
37195
+ () => ({ ...DEFAULT_POLLING_CONFIG, ...pollingConfig }),
37196
+ [pollingConfig]
37197
+ );
37198
+ const [versionData, setVersionData] = (0, import_react67.useState)(null);
37199
+ const [totalVersions, setTotalVersions] = (0, import_react67.useState)(0);
37200
+ const [selectedVersion, setSelectedVersion] = (0, import_react67.useState)();
37201
+ const [isLoadingVersion, setIsLoadingVersion] = (0, import_react67.useState)(false);
37202
+ const [isValidationComplete, setIsValidationComplete] = (0, import_react67.useState)(false);
37203
+ const [versionStatus, setVersionStatus] = (0, import_react67.useState)("checking");
37204
+ const [statusDetails, setStatusDetails] = (0, import_react67.useState)();
37205
+ const [timeDisplay, setTimeDisplay] = (0, import_react67.useState)("");
37206
+ const [loadingStatus, setLoadingStatus] = (0, import_react67.useState)(true);
37207
+ const remainingTimeRef = (0, import_react67.useRef)(0);
37208
+ const requestedVersion = selectedVersion ?? currentVersion ?? versionData?.currentVersion;
37209
+ const fetchVersionData = (0, import_react67.useCallback)(async () => {
37210
+ if (!sessionId) return;
37211
+ if (!versionData) setIsLoadingVersion(true);
37212
+ try {
37213
+ const data = await fetchVersions({
37214
+ sessionId,
37215
+ version: requestedVersion,
37216
+ validated: isValidationComplete
37217
+ });
37218
+ if (data.success !== false) {
37219
+ setVersionData(data);
37220
+ setTotalVersions(data.totalVersions || 0);
37221
+ }
37222
+ } catch (err) {
37223
+ if (err.name !== "AbortError") {
37224
+ console.error("Error fetching creator version:", err);
37225
+ }
37226
+ } finally {
37227
+ setIsLoadingVersion(false);
37228
+ }
37229
+ }, [sessionId, requestedVersion, isValidationComplete, fetchVersions, versionData]);
37230
+ (0, import_react67.useEffect)(() => {
37231
+ fetchVersionData();
37232
+ }, [sessionId, requestedVersion, isValidationComplete]);
37233
+ (0, import_react67.useEffect)(() => {
37234
+ if (totalVersions > 0 || !sessionId) return;
37235
+ const interval = setInterval(() => {
37236
+ if (totalVersions === 0) fetchVersionData();
37237
+ }, config.pollInterval);
37238
+ return () => clearInterval(interval);
37239
+ }, [totalVersions, sessionId, fetchVersionData, config.pollInterval]);
37240
+ (0, import_react67.useEffect)(() => {
37241
+ if (!selectedVersion && !requestedVersion) return;
37242
+ const activeVersion = selectedVersion ?? requestedVersion;
37243
+ let isMounted = true;
37244
+ let intervalId = null;
37245
+ let timerIntervalId = null;
37246
+ let elapsed = 0;
37247
+ let errorCount = 0;
37248
+ setLoadingStatus(true);
37249
+ setStatusDetails(void 0);
37250
+ setVersionStatus("checking");
37251
+ const creatorLength2 = versionData?.length || 0;
37252
+ remainingTimeRef.current = creatorLength2 > 0 ? creatorLength2 * config.secondsPerCreator : 60;
37253
+ const formatTime = (seconds) => {
37254
+ if (seconds <= 0) return "to complete";
37255
+ const minutes = Math.floor(seconds / 60);
37256
+ return minutes >= 1 ? `${minutes} min remaining...` : `${seconds} sec remaining...`;
37257
+ };
37258
+ setTimeDisplay(formatTime(remainingTimeRef.current));
37259
+ timerIntervalId = setInterval(() => {
37260
+ if (remainingTimeRef.current > 0) remainingTimeRef.current -= 1;
37261
+ setTimeDisplay(formatTime(remainingTimeRef.current));
37262
+ }, 1e3);
37263
+ const updateStatus = (status) => {
37264
+ setVersionStatus(status);
37265
+ onStatusChange?.(status);
37266
+ };
37267
+ const stopPolling = () => {
37268
+ if (intervalId) clearInterval(intervalId);
37269
+ if (timerIntervalId) clearInterval(timerIntervalId);
37270
+ setTimeDisplay("");
37271
+ };
37272
+ const pollStatus = async () => {
37273
+ try {
37274
+ const data = await fetchStatus({
37275
+ sessionId,
37276
+ versionNo: activeVersion
37277
+ });
37278
+ if (!isMounted) return;
37279
+ if (data?.status) setStatusDetails(data.status);
37280
+ const s = data?.status?.status;
37281
+ if (s === "completed" || s === "complete") {
37282
+ updateStatus(s);
37283
+ setIsValidationComplete(true);
37284
+ stopPolling();
37285
+ return;
37286
+ }
37287
+ if (s === "failed") {
37288
+ updateStatus("failed");
37289
+ stopPolling();
37290
+ return;
37291
+ }
37292
+ errorCount = 0;
37293
+ updateStatus(s || "in-progress");
37294
+ } catch (err) {
37295
+ console.error("Error fetching status:", err);
37296
+ errorCount++;
37297
+ if (errorCount >= config.maxErrors) {
37298
+ console.error(`Polling failed after ${config.maxErrors} consecutive errors`);
37299
+ updateStatus("failed");
37300
+ setLoadingStatus(false);
37301
+ stopPolling();
37302
+ return;
37303
+ }
37304
+ } finally {
37305
+ setLoadingStatus(false);
37306
+ }
37307
+ };
37308
+ pollStatus();
37309
+ intervalId = setInterval(() => {
37310
+ elapsed += config.pollInterval;
37311
+ if (elapsed >= config.maxDuration) {
37312
+ console.warn("Stopped polling after max duration");
37313
+ stopPolling();
37314
+ } else {
37315
+ pollStatus();
37316
+ }
37317
+ }, config.pollInterval);
37318
+ return () => {
37319
+ isMounted = false;
37320
+ stopPolling();
37321
+ };
37322
+ }, [selectedVersion, requestedVersion, sessionId]);
37323
+ const versionNumbers = (0, import_react67.useMemo)(() => {
37324
+ if (!totalVersions) return [];
37325
+ return Array.from({ length: totalVersions }, (_, i) => i + 1);
37326
+ }, [totalVersions]);
37327
+ const creatorIds = versionData?.ids || [];
37328
+ const creatorImages = versionData?.images || [];
37329
+ const creatorLength = versionData?.length || 0;
37330
+ const searchSpec = versionData?.searchSpec || {};
37331
+ const displayVersion = versionData?.currentVersion ?? requestedVersion;
37332
+ return {
37333
+ versionData,
37334
+ versionNumbers,
37335
+ selectedVersion: displayVersion,
37336
+ setSelectedVersion,
37337
+ creatorImages,
37338
+ creatorLength,
37339
+ creatorIds,
37340
+ searchSpec,
37341
+ versionStatus,
37342
+ statusDetails,
37343
+ timeDisplay,
37344
+ isLoading: loadingStatus || isLoadingVersion,
37345
+ isValidationComplete
37346
+ };
37347
+ }
37348
+
37349
+ // src/molecules/creator-discovery/CreatorWidget/CreatorWidget.tsx
37350
+ var import_jsx_runtime126 = require("react/jsx-runtime");
37351
+ function CreatorWidgetInner({
37352
+ sessionId,
37353
+ currentVersion,
37354
+ isAgentOutput = false,
37355
+ fetchVersions,
37356
+ fetchStatus,
37357
+ pollingConfig,
37358
+ onStatusChange,
37359
+ onAction,
37360
+ className
37361
+ }) {
37362
+ const {
37363
+ versionNumbers,
37364
+ selectedVersion,
37365
+ setSelectedVersion,
37366
+ creatorImages,
37367
+ creatorLength,
37368
+ creatorIds,
37369
+ searchSpec,
37370
+ versionStatus,
37371
+ statusDetails,
37372
+ timeDisplay,
37373
+ isLoading
37374
+ } = useCreatorWidgetPolling({
37375
+ sessionId,
37376
+ currentVersion,
37377
+ fetchVersions,
37378
+ fetchStatus,
37379
+ pollingConfig,
37380
+ onStatusChange
37381
+ });
37382
+ const handleVersionSelect = (0, import_react68.useCallback)(
37383
+ (version) => setSelectedVersion(version),
37384
+ [setSelectedVersion]
37385
+ );
37386
+ const handleViewCreators = (0, import_react68.useCallback)(() => {
37387
+ onAction?.({
37388
+ type: "view-creators",
37389
+ sessionId,
37390
+ creatorIds,
37391
+ version: selectedVersion,
37392
+ searchSpec
37393
+ });
37394
+ }, [onAction, sessionId, creatorIds, selectedVersion, searchSpec]);
37395
+ if (!fetchVersions || !fetchStatus) {
37396
+ return /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(CreatorWidgetSkeleton, {});
37397
+ }
37398
+ return /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("div", { className, children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
37399
+ CreatorCompactView,
37400
+ {
37401
+ versions: versionNumbers,
37402
+ selectedVersion,
37403
+ creatorImages,
37404
+ creatorLength,
37405
+ isAgentOutput,
37406
+ onVersionSelect: handleVersionSelect,
37407
+ onViewCreators: handleViewCreators,
37408
+ versionStatus,
37409
+ statusDetails,
37410
+ timeDisplay,
37411
+ isLoading
37412
+ }
37413
+ ) });
37414
+ }
37415
+ var CreatorWidget = (0, import_react68.memo)(CreatorWidgetInner);
37416
+
37417
+ // src/molecules/agent-builder/ToolListCard/ToolListCard.tsx
37418
+ var import_jsx_runtime127 = require("react/jsx-runtime");
36903
37419
  var ICON_MAP = {
36904
37420
  Search,
36905
37421
  Database,
@@ -36956,7 +37472,7 @@ var ToolListCard = ({
36956
37472
  grouped[cat].push(tool);
36957
37473
  }
36958
37474
  const categories = Object.keys(grouped);
36959
- return /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(
37475
+ return /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
36960
37476
  "div",
36961
37477
  {
36962
37478
  className: cn(
@@ -36964,33 +37480,33 @@ var ToolListCard = ({
36964
37480
  className
36965
37481
  ),
36966
37482
  children: [
36967
- /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)("div", { className: "px-4 py-3 border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.03] flex items-center gap-2.5", children: [
36968
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("div", { className: "w-6 h-6 rounded-md bg-interactive/10 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(Wrench, { className: "w-3.5 h-3.5 text-interactive" }) }),
36969
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("h4", { className: "text-sm font-semibold text-[var(--foreground)]", children: "Available Tools" }),
36970
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("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 })
37483
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("div", { className: "px-4 py-3 border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.03] flex items-center gap-2.5", children: [
37484
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("div", { className: "w-6 h-6 rounded-md bg-interactive/10 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(Wrench, { className: "w-3.5 h-3.5 text-interactive" }) }),
37485
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("h4", { className: "text-sm font-semibold text-[var(--foreground)]", children: "Available Tools" }),
37486
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("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 })
36971
37487
  ] }),
36972
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("div", { className: "divide-y divide-[var(--border-color)]", children: categories.map((cat) => {
37488
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("div", { className: "divide-y divide-[var(--border-color)]", children: categories.map((cat) => {
36973
37489
  const CatIcon = resolveCategoryIcon(cat);
36974
- return /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)("div", { className: "px-4 py-3", children: [
36975
- /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)("div", { className: "flex items-center gap-2 mb-2.5", children: [
36976
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(CatIcon, { className: "w-3.5 h-3.5 text-interactive/70" }),
36977
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("span", { className: "text-[11px] font-semibold text-[var(--foreground)]/50 uppercase tracking-wider", children: cat }),
36978
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("span", { className: "text-[10px] text-[var(--foreground)]/30", children: grouped[cat].length })
37490
+ return /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("div", { className: "px-4 py-3", children: [
37491
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("div", { className: "flex items-center gap-2 mb-2.5", children: [
37492
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(CatIcon, { className: "w-3.5 h-3.5 text-interactive/70" }),
37493
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("span", { className: "text-[11px] font-semibold text-[var(--foreground)]/50 uppercase tracking-wider", children: cat }),
37494
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("span", { className: "text-[10px] text-[var(--foreground)]/30", children: grouped[cat].length })
36979
37495
  ] }),
36980
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("div", { className: "space-y-1.5", children: grouped[cat].map((tool) => {
37496
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("div", { className: "space-y-1.5", children: grouped[cat].map((tool) => {
36981
37497
  const ToolIcon = resolveIcon(tool);
36982
- return /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(
37498
+ return /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
36983
37499
  "div",
36984
37500
  {
36985
37501
  className: "group flex items-start gap-3 px-3 py-2 rounded-lg hover:bg-[var(--foreground)]/[0.03] transition-colors",
36986
37502
  children: [
36987
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("div", { className: "shrink-0 mt-0.5 w-5 h-5 rounded flex items-center justify-center bg-interactive/[0.08]", children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(ToolIcon, { className: "w-3 h-3 text-interactive/60" }) }),
36988
- /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)("div", { className: "flex-1 min-w-0", children: [
36989
- /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)("div", { className: "flex items-center gap-2 flex-wrap", children: [
36990
- tool.display_name && tool.display_name !== tool.name && /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("span", { className: "text-[13px] font-medium text-[var(--foreground)] truncate max-w-full", children: tool.display_name }),
36991
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("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 })
37503
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("div", { className: "shrink-0 mt-0.5 w-5 h-5 rounded flex items-center justify-center bg-interactive/[0.08]", children: /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(ToolIcon, { className: "w-3 h-3 text-interactive/60" }) }),
37504
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("div", { className: "flex-1 min-w-0", children: [
37505
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("div", { className: "flex items-center gap-2 flex-wrap", children: [
37506
+ tool.display_name && tool.display_name !== tool.name && /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("span", { className: "text-[13px] font-medium text-[var(--foreground)] truncate max-w-full", children: tool.display_name }),
37507
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("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 })
36992
37508
  ] }),
36993
- tool.description && /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("p", { className: "text-xs text-[var(--foreground)]/50 leading-relaxed mt-0.5 break-words whitespace-normal", children: tool.description })
37509
+ tool.description && /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("p", { className: "text-xs text-[var(--foreground)]/50 leading-relaxed mt-0.5 break-words whitespace-normal", children: tool.description })
36994
37510
  ] })
36995
37511
  ]
36996
37512
  },
@@ -37005,8 +37521,8 @@ var ToolListCard = ({
37005
37521
  };
37006
37522
 
37007
37523
  // src/molecules/agent-builder/AgentCard/AgentCard.tsx
37008
- var import_react65 = require("react");
37009
- var import_jsx_runtime123 = require("react/jsx-runtime");
37524
+ var import_react69 = require("react");
37525
+ var import_jsx_runtime128 = require("react/jsx-runtime");
37010
37526
  var AgentCard = ({
37011
37527
  agent,
37012
37528
  editable = true,
@@ -37014,15 +37530,15 @@ var AgentCard = ({
37014
37530
  onSave,
37015
37531
  className
37016
37532
  }) => {
37017
- const [isEditing, setIsEditing] = (0, import_react65.useState)(false);
37018
- const [isSaving, setIsSaving] = (0, import_react65.useState)(false);
37019
- const [editState, setEditState] = (0, import_react65.useState)({
37533
+ const [isEditing, setIsEditing] = (0, import_react69.useState)(false);
37534
+ const [isSaving, setIsSaving] = (0, import_react69.useState)(false);
37535
+ const [editState, setEditState] = (0, import_react69.useState)({
37020
37536
  display_name: agent.display_name,
37021
37537
  description: agent.description,
37022
37538
  image: agent.image || ""
37023
37539
  });
37024
37540
  const avatarUrl = agent.image || `https://api.dicebear.com/7.x/avataaars/svg?seed=${agent.name}`;
37025
- const handleEdit = (0, import_react65.useCallback)(() => {
37541
+ const handleEdit = (0, import_react69.useCallback)(() => {
37026
37542
  setEditState({
37027
37543
  display_name: agent.display_name,
37028
37544
  description: agent.description,
@@ -37030,10 +37546,10 @@ var AgentCard = ({
37030
37546
  });
37031
37547
  setIsEditing(true);
37032
37548
  }, [agent]);
37033
- const handleCancel = (0, import_react65.useCallback)(() => {
37549
+ const handleCancel = (0, import_react69.useCallback)(() => {
37034
37550
  setIsEditing(false);
37035
37551
  }, []);
37036
- const handleSave = (0, import_react65.useCallback)(async () => {
37552
+ const handleSave = (0, import_react69.useCallback)(async () => {
37037
37553
  if (!onSave) return;
37038
37554
  const updates = {};
37039
37555
  if (editState.display_name !== agent.display_name)
@@ -37057,7 +37573,7 @@ var AgentCard = ({
37057
37573
  }
37058
37574
  }, [onSave, agent, editState]);
37059
37575
  if (compact) {
37060
- return /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(
37576
+ return /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(
37061
37577
  "div",
37062
37578
  {
37063
37579
  className: cn(
@@ -37065,14 +37581,14 @@ var AgentCard = ({
37065
37581
  className
37066
37582
  ),
37067
37583
  children: [
37068
- /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(Avatar, { className: "h-8 w-8 shrink-0", children: [
37069
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(AvatarImage, { src: avatarUrl, alt: agent.display_name }),
37070
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(AvatarFallback, { className: "bg-interactive/10 text-interactive text-xs font-bold", children: agent.display_name.charAt(0) })
37584
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(Avatar, { className: "h-8 w-8 shrink-0", children: [
37585
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(AvatarImage, { src: avatarUrl, alt: agent.display_name }),
37586
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(AvatarFallback, { className: "bg-interactive/10 text-interactive text-xs font-bold", children: agent.display_name.charAt(0) })
37071
37587
  ] }),
37072
- /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("div", { className: "flex-1 min-w-0", children: [
37073
- /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("div", { className: "flex items-center gap-2", children: [
37074
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("span", { className: "text-[var(--foreground)] text-sm font-semibold truncate", children: agent.display_name }),
37075
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
37588
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "flex-1 min-w-0", children: [
37589
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "flex items-center gap-2", children: [
37590
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("span", { className: "text-[var(--foreground)] text-sm font-semibold truncate", children: agent.display_name }),
37591
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
37076
37592
  "span",
37077
37593
  {
37078
37594
  className: cn(
@@ -37083,13 +37599,13 @@ var AgentCard = ({
37083
37599
  }
37084
37600
  )
37085
37601
  ] }),
37086
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("p", { className: "text-[var(--foreground)]/50 text-xs truncate", children: agent.description })
37602
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("p", { className: "text-[var(--foreground)]/50 text-xs truncate", children: agent.description })
37087
37603
  ] })
37088
37604
  ]
37089
37605
  }
37090
37606
  );
37091
37607
  }
37092
- return /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(
37608
+ return /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(
37093
37609
  "div",
37094
37610
  {
37095
37611
  className: cn(
@@ -37097,14 +37613,14 @@ var AgentCard = ({
37097
37613
  className
37098
37614
  ),
37099
37615
  children: [
37100
- /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("div", { className: "flex items-start gap-4 px-5 py-4", children: [
37101
- /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(Avatar, { className: "h-12 w-12 shrink-0 border-2 border-interactive/20", children: [
37102
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(AvatarImage, { src: isEditing && editState.image ? editState.image : avatarUrl, alt: agent.display_name }),
37103
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(AvatarFallback, { className: "bg-interactive/10 text-interactive text-lg font-bold", children: agent.display_name.charAt(0) })
37616
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "flex items-start gap-4 px-5 py-4", children: [
37617
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(Avatar, { className: "h-12 w-12 shrink-0 border-2 border-interactive/20", children: [
37618
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(AvatarImage, { src: isEditing && editState.image ? editState.image : avatarUrl, alt: agent.display_name }),
37619
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(AvatarFallback, { className: "bg-interactive/10 text-interactive text-lg font-bold", children: agent.display_name.charAt(0) })
37104
37620
  ] }),
37105
- /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("div", { className: "flex-1 min-w-0", children: [
37106
- /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("div", { className: "flex items-center gap-2", children: [
37107
- isEditing ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
37621
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "flex-1 min-w-0", children: [
37622
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "flex items-center gap-2", children: [
37623
+ isEditing ? /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
37108
37624
  "input",
37109
37625
  {
37110
37626
  type: "text",
@@ -37114,9 +37630,9 @@ var AgentCard = ({
37114
37630
  className: "flex-1 bg-transparent border-b border-interactive/30 text-sm font-semibold text-foreground outline-none focus:border-interactive transition-all",
37115
37631
  placeholder: "Agent name"
37116
37632
  }
37117
- ) : /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("h4", { className: "text-sm font-semibold text-[var(--foreground)] truncate", children: agent.display_name }),
37118
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("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 }),
37119
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
37633
+ ) : /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("h4", { className: "text-sm font-semibold text-[var(--foreground)] truncate", children: agent.display_name }),
37634
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("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 }),
37635
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
37120
37636
  "span",
37121
37637
  {
37122
37638
  className: cn(
@@ -37127,7 +37643,7 @@ var AgentCard = ({
37127
37643
  }
37128
37644
  )
37129
37645
  ] }),
37130
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("div", { className: "mt-1", children: isEditing ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
37646
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("div", { className: "mt-1", children: isEditing ? /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
37131
37647
  "textarea",
37132
37648
  {
37133
37649
  value: editState.description,
@@ -37137,10 +37653,10 @@ var AgentCard = ({
37137
37653
  rows: 2,
37138
37654
  placeholder: "Describe this agent..."
37139
37655
  }
37140
- ) : /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("p", { className: "text-xs text-[var(--foreground)]/60 leading-relaxed", children: agent.description }) }),
37141
- isEditing && /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("div", { className: "mt-2 flex items-center gap-2", children: [
37142
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("span", { className: "text-[10px] text-[var(--foreground)]/30 uppercase font-semibold", children: "Avatar:" }),
37143
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
37656
+ ) : /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("p", { className: "text-xs text-[var(--foreground)]/60 leading-relaxed", children: agent.description }) }),
37657
+ isEditing && /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "mt-2 flex items-center gap-2", children: [
37658
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("span", { className: "text-[10px] text-[var(--foreground)]/30 uppercase font-semibold", children: "Avatar:" }),
37659
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
37144
37660
  "input",
37145
37661
  {
37146
37662
  type: "text",
@@ -37153,8 +37669,8 @@ var AgentCard = ({
37153
37669
  )
37154
37670
  ] })
37155
37671
  ] }),
37156
- editable && onSave && /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("div", { className: "flex items-center gap-1.5 shrink-0", children: isEditing ? /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_jsx_runtime123.Fragment, { children: [
37157
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
37672
+ editable && onSave && /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("div", { className: "flex items-center gap-1.5 shrink-0", children: isEditing ? /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(import_jsx_runtime128.Fragment, { children: [
37673
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
37158
37674
  "button",
37159
37675
  {
37160
37676
  onClick: handleCancel,
@@ -37163,7 +37679,7 @@ var AgentCard = ({
37163
37679
  children: "Cancel"
37164
37680
  }
37165
37681
  ),
37166
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
37682
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
37167
37683
  "button",
37168
37684
  {
37169
37685
  onClick: handleSave,
@@ -37172,7 +37688,7 @@ var AgentCard = ({
37172
37688
  children: isSaving ? "Saving..." : "Save"
37173
37689
  }
37174
37690
  )
37175
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
37691
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
37176
37692
  "button",
37177
37693
  {
37178
37694
  onClick: handleEdit,
@@ -37181,18 +37697,18 @@ var AgentCard = ({
37181
37697
  }
37182
37698
  ) })
37183
37699
  ] }),
37184
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("div", { className: "flex flex-wrap items-center gap-3 px-5 pb-3 text-xs", children: /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("span", { className: "text-[var(--foreground)]/40", children: [
37700
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("div", { className: "flex flex-wrap items-center gap-3 px-5 pb-3 text-xs", children: /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("span", { className: "text-[var(--foreground)]/40", children: [
37185
37701
  "Model:",
37186
37702
  " ",
37187
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("span", { className: "font-mono text-[var(--foreground)]/70", children: agent.model })
37703
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("span", { className: "font-mono text-[var(--foreground)]/70", children: agent.model })
37188
37704
  ] }) }),
37189
- agent.tools && agent.tools.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("div", { className: "border-t border-[var(--border-color)] px-5 py-3", children: [
37190
- /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("p", { className: "text-[11px] font-semibold text-[var(--foreground)]/40 uppercase tracking-wide mb-2", children: [
37705
+ agent.tools && agent.tools.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "border-t border-[var(--border-color)] px-5 py-3", children: [
37706
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("p", { className: "text-[11px] font-semibold text-[var(--foreground)]/40 uppercase tracking-wide mb-2", children: [
37191
37707
  "Tools (",
37192
37708
  agent.tools.length,
37193
37709
  ")"
37194
37710
  ] }),
37195
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("div", { className: "flex flex-wrap gap-1.5", children: agent.tools.map((tool) => /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
37711
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("div", { className: "flex flex-wrap gap-1.5", children: agent.tools.map((tool) => /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
37196
37712
  "span",
37197
37713
  {
37198
37714
  className: "text-[11px] px-2 py-0.5 rounded-md bg-interactive/10 text-interactive font-mono border border-interactive/20",
@@ -37207,7 +37723,7 @@ var AgentCard = ({
37207
37723
  };
37208
37724
 
37209
37725
  // src/molecules/agent-builder/AgentDataTable/AgentDataTable.tsx
37210
- var import_jsx_runtime124 = require("react/jsx-runtime");
37726
+ var import_jsx_runtime129 = require("react/jsx-runtime");
37211
37727
  var AgentDataTable = ({
37212
37728
  headers,
37213
37729
  rows,
@@ -37215,7 +37731,7 @@ var AgentDataTable = ({
37215
37731
  }) => {
37216
37732
  const renderCell = (value) => {
37217
37733
  if (typeof value === "boolean") {
37218
- return /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(
37734
+ return /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(
37219
37735
  "span",
37220
37736
  {
37221
37737
  className: cn(
@@ -37223,7 +37739,7 @@ var AgentDataTable = ({
37223
37739
  value ? "bg-emerald-500/10 text-emerald-600" : "bg-red-500/10 text-red-500"
37224
37740
  ),
37225
37741
  children: [
37226
- /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
37742
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
37227
37743
  "span",
37228
37744
  {
37229
37745
  className: cn(
@@ -37237,17 +37753,17 @@ var AgentDataTable = ({
37237
37753
  }
37238
37754
  );
37239
37755
  }
37240
- return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("span", { className: "text-[var(--foreground)]", children: String(value) });
37756
+ return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("span", { className: "text-[var(--foreground)]", children: String(value) });
37241
37757
  };
37242
- return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
37758
+ return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
37243
37759
  "div",
37244
37760
  {
37245
37761
  className: cn(
37246
37762
  "text-foreground hover:bg-muted/50 hover:text-foreground my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden",
37247
37763
  className
37248
37764
  ),
37249
- children: /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("div", { className: "overflow-x-auto", children: /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)("table", { className: "w-full text-xs", children: [
37250
- /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("thead", { children: /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("tr", { className: "border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.03]", children: headers.map((header) => /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
37765
+ children: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("div", { className: "overflow-x-auto", children: /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)("table", { className: "w-full text-xs", children: [
37766
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("thead", { children: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("tr", { className: "border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.03]", children: headers.map((header) => /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
37251
37767
  "th",
37252
37768
  {
37253
37769
  className: "text-left px-4 py-2.5 text-[11px] font-semibold text-[var(--foreground)]/60 uppercase tracking-wide whitespace-nowrap",
@@ -37255,11 +37771,11 @@ var AgentDataTable = ({
37255
37771
  },
37256
37772
  header
37257
37773
  )) }) }),
37258
- /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("tbody", { children: rows.map((row, rowIdx) => /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
37774
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("tbody", { children: rows.map((row, rowIdx) => /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
37259
37775
  "tr",
37260
37776
  {
37261
37777
  className: "border-b border-[var(--border-color)] last:border-b-0 hover:bg-[var(--foreground)]/[0.02] transition-colors",
37262
- children: row.map((cell, cellIdx) => /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
37778
+ children: row.map((cell, cellIdx) => /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
37263
37779
  "td",
37264
37780
  {
37265
37781
  className: "px-4 py-2.5 text-xs whitespace-nowrap",
@@ -37276,14 +37792,14 @@ var AgentDataTable = ({
37276
37792
  };
37277
37793
 
37278
37794
  // src/molecules/agent-builder/WorkflowVisualizer/WorkflowVisualizer.tsx
37279
- var import_react66 = require("react");
37280
- var import_jsx_runtime125 = require("react/jsx-runtime");
37795
+ var import_react70 = require("react");
37796
+ var import_jsx_runtime130 = require("react/jsx-runtime");
37281
37797
  var WorkflowVisualizer = ({
37282
37798
  steps,
37283
37799
  className
37284
37800
  }) => {
37285
- const [expandedStep, setExpandedStep] = (0, import_react66.useState)(null);
37286
- return /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(
37801
+ const [expandedStep, setExpandedStep] = (0, import_react70.useState)(null);
37802
+ return /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(
37287
37803
  "div",
37288
37804
  {
37289
37805
  className: cn(
@@ -37291,8 +37807,8 @@ var WorkflowVisualizer = ({
37291
37807
  className
37292
37808
  ),
37293
37809
  children: [
37294
- /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)("div", { className: "px-4 py-3 border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.03] flex items-center gap-2.5", children: [
37295
- /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("div", { className: "w-6 h-6 rounded-md bg-interactive/10 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
37810
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)("div", { className: "px-4 py-3 border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.03] flex items-center gap-2.5", children: [
37811
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { className: "w-6 h-6 rounded-md bg-interactive/10 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
37296
37812
  "svg",
37297
37813
  {
37298
37814
  width: "14",
@@ -37304,24 +37820,24 @@ var WorkflowVisualizer = ({
37304
37820
  className: "text-interactive",
37305
37821
  strokeLinecap: "round",
37306
37822
  strokeLinejoin: "round",
37307
- children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("polyline", { points: "22 12 18 12 15 21 9 3 6 12 2 12" })
37823
+ children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("polyline", { points: "22 12 18 12 15 21 9 3 6 12 2 12" })
37308
37824
  }
37309
37825
  ) }),
37310
- /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("h4", { className: "text-sm font-semibold text-[var(--foreground)]", children: "Workflow" }),
37311
- /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)("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: [
37826
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("h4", { className: "text-sm font-semibold text-[var(--foreground)]", children: "Workflow" }),
37827
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)("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: [
37312
37828
  steps.length,
37313
37829
  " steps"
37314
37830
  ] })
37315
37831
  ] }),
37316
- /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("div", { className: "px-4 py-3", children: steps.map((step, idx) => {
37832
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { className: "px-4 py-3", children: steps.map((step, idx) => {
37317
37833
  const isLast = idx === steps.length - 1;
37318
37834
  const isExpanded = expandedStep === step.id;
37319
- return /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)("div", { className: "flex gap-3", children: [
37320
- /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)("div", { className: "flex flex-col items-center shrink-0", children: [
37321
- /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("div", { className: "w-7 h-7 rounded-full bg-interactive/10 border-2 border-interactive/30 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("span", { className: "text-[10px] font-bold text-interactive", children: idx + 1 }) }),
37322
- !isLast && /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("div", { className: "w-0.5 flex-1 min-h-[16px] bg-interactive/15" })
37835
+ return /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)("div", { className: "flex gap-3", children: [
37836
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)("div", { className: "flex flex-col items-center shrink-0", children: [
37837
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { className: "w-7 h-7 rounded-full bg-interactive/10 border-2 border-interactive/30 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("span", { className: "text-[10px] font-bold text-interactive", children: idx + 1 }) }),
37838
+ !isLast && /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { className: "w-0.5 flex-1 min-h-[16px] bg-interactive/15" })
37323
37839
  ] }),
37324
- /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(
37840
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(
37325
37841
  "div",
37326
37842
  {
37327
37843
  className: cn(
@@ -37329,20 +37845,20 @@ var WorkflowVisualizer = ({
37329
37845
  isExpanded ? "bg-[var(--foreground)]/[0.02]" : "hover:bg-[var(--foreground)]/[0.02]"
37330
37846
  ),
37331
37847
  children: [
37332
- /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(
37848
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(
37333
37849
  "button",
37334
37850
  {
37335
37851
  onClick: () => setExpandedStep(isExpanded ? null : step.id),
37336
37852
  className: "w-full text-left px-3 py-2.5 flex items-center gap-2",
37337
37853
  children: [
37338
- /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)("div", { className: "flex-1 min-w-0", children: [
37339
- /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("span", { className: "text-[13px] font-medium text-[var(--foreground)]", children: step.name }),
37340
- step.description && !isExpanded && /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)("span", { className: "text-xs text-[var(--foreground)]/40 ml-2", children: [
37854
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)("div", { className: "flex-1 min-w-0", children: [
37855
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("span", { className: "text-[13px] font-medium text-[var(--foreground)]", children: step.name }),
37856
+ step.description && !isExpanded && /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)("span", { className: "text-xs text-[var(--foreground)]/40 ml-2", children: [
37341
37857
  "\u2014 ",
37342
37858
  step.description
37343
37859
  ] })
37344
37860
  ] }),
37345
- /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
37861
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
37346
37862
  "svg",
37347
37863
  {
37348
37864
  width: "12",
@@ -37355,28 +37871,28 @@ var WorkflowVisualizer = ({
37355
37871
  "shrink-0 text-[var(--foreground)]/30 transition-transform",
37356
37872
  isExpanded && "rotate-180"
37357
37873
  ),
37358
- children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("polyline", { points: "6 9 12 15 18 9" })
37874
+ children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("polyline", { points: "6 9 12 15 18 9" })
37359
37875
  }
37360
37876
  )
37361
37877
  ]
37362
37878
  }
37363
37879
  ),
37364
- isExpanded && /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)("div", { className: "px-3 pb-3 space-y-2.5", children: [
37365
- step.description && /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("p", { className: "text-xs text-[var(--foreground)]/50 leading-relaxed", children: step.description }),
37366
- step.sub_steps && step.sub_steps.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("div", { className: "space-y-1", children: step.sub_steps.map((sub) => /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(
37880
+ isExpanded && /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)("div", { className: "px-3 pb-3 space-y-2.5", children: [
37881
+ step.description && /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("p", { className: "text-xs text-[var(--foreground)]/50 leading-relaxed", children: step.description }),
37882
+ step.sub_steps && step.sub_steps.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { className: "space-y-1", children: step.sub_steps.map((sub) => /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(
37367
37883
  "div",
37368
37884
  {
37369
37885
  className: "flex items-start gap-2 text-xs",
37370
37886
  children: [
37371
- /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("span", { className: "shrink-0 mt-0.5 w-1.5 h-1.5 rounded-full bg-interactive/40" }),
37372
- /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("span", { className: "text-[var(--foreground)]/60", children: sub.action })
37887
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("span", { className: "shrink-0 mt-0.5 w-1.5 h-1.5 rounded-full bg-interactive/40" }),
37888
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("span", { className: "text-[var(--foreground)]/60", children: sub.action })
37373
37889
  ]
37374
37890
  },
37375
37891
  sub.id
37376
37892
  )) }),
37377
- step.tools && step.tools.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)("div", { className: "flex items-center gap-1.5 flex-wrap", children: [
37378
- /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("span", { className: "text-[10px] text-[var(--foreground)]/30 uppercase font-semibold tracking-wider", children: "Tools:" }),
37379
- step.tools.map((tool) => /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
37893
+ step.tools && step.tools.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)("div", { className: "flex items-center gap-1.5 flex-wrap", children: [
37894
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("span", { className: "text-[10px] text-[var(--foreground)]/30 uppercase font-semibold tracking-wider", children: "Tools:" }),
37895
+ step.tools.map((tool) => /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
37380
37896
  "span",
37381
37897
  {
37382
37898
  className: "text-[10px] font-mono px-1.5 py-0.5 rounded bg-interactive/[0.08] text-interactive/70 border border-interactive/10",
@@ -37385,9 +37901,9 @@ var WorkflowVisualizer = ({
37385
37901
  tool
37386
37902
  ))
37387
37903
  ] }),
37388
- step.on_failure && /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)("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: [
37389
- /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("span", { className: "shrink-0 text-[10px] font-semibold text-[#ef4444]/70 uppercase tracking-wider mt-px", children: "On failure:" }),
37390
- /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("span", { className: "text-[var(--foreground)]/50", children: step.on_failure })
37904
+ step.on_failure && /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)("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: [
37905
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("span", { className: "shrink-0 text-[10px] font-semibold text-[#ef4444]/70 uppercase tracking-wider mt-px", children: "On failure:" }),
37906
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("span", { className: "text-[var(--foreground)]/50", children: step.on_failure })
37391
37907
  ] })
37392
37908
  ] })
37393
37909
  ]
@@ -37401,8 +37917,8 @@ var WorkflowVisualizer = ({
37401
37917
  };
37402
37918
 
37403
37919
  // src/molecules/agent-builder/InstructionPreview/InstructionPreview.tsx
37404
- var import_react67 = require("react");
37405
- var import_jsx_runtime126 = require("react/jsx-runtime");
37920
+ var import_react71 = require("react");
37921
+ var import_jsx_runtime131 = require("react/jsx-runtime");
37406
37922
  var InstructionPreview = ({
37407
37923
  agent_name,
37408
37924
  description,
@@ -37411,11 +37927,11 @@ var InstructionPreview = ({
37411
37927
  tools,
37412
37928
  className
37413
37929
  }) => {
37414
- const [isExpanded, setIsExpanded] = (0, import_react67.useState)(false);
37930
+ const [isExpanded, setIsExpanded] = (0, import_react71.useState)(false);
37415
37931
  const previewLength = 300;
37416
37932
  const isLong = instruction.length > previewLength;
37417
37933
  const displayText = isExpanded || !isLong ? instruction : instruction.slice(0, previewLength) + "...";
37418
- return /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)(
37934
+ return /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)(
37419
37935
  "div",
37420
37936
  {
37421
37937
  className: cn(
@@ -37423,8 +37939,8 @@ var InstructionPreview = ({
37423
37939
  className
37424
37940
  ),
37425
37941
  children: [
37426
- /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("div", { className: "px-4 py-3 border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.03]", children: /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)("div", { className: "flex items-center gap-2.5", children: [
37427
- /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("div", { className: "w-6 h-6 rounded-md bg-interactive/10 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)(
37942
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: "px-4 py-3 border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.03]", children: /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("div", { className: "flex items-center gap-2.5", children: [
37943
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: "w-6 h-6 rounded-md bg-interactive/10 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)(
37428
37944
  "svg",
37429
37945
  {
37430
37946
  width: "14",
@@ -37437,24 +37953,24 @@ var InstructionPreview = ({
37437
37953
  strokeLinecap: "round",
37438
37954
  strokeLinejoin: "round",
37439
37955
  children: [
37440
- /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("path", { d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z" }),
37441
- /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("polyline", { points: "14 2 14 8 20 8" }),
37442
- /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("line", { x1: "16", y1: "13", x2: "8", y2: "13" }),
37443
- /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("line", { x1: "16", y1: "17", x2: "8", y2: "17" }),
37444
- /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("polyline", { points: "10 9 9 9 8 9" })
37956
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("path", { d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z" }),
37957
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("polyline", { points: "14 2 14 8 20 8" }),
37958
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("line", { x1: "16", y1: "13", x2: "8", y2: "13" }),
37959
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("line", { x1: "16", y1: "17", x2: "8", y2: "17" }),
37960
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("polyline", { points: "10 9 9 9 8 9" })
37445
37961
  ]
37446
37962
  }
37447
37963
  ) }),
37448
- /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)("div", { className: "flex-1 min-w-0", children: [
37449
- /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("h4", { className: "text-sm font-semibold text-[var(--foreground)]", children: agent_name }),
37450
- description && /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("p", { className: "text-[11px] text-[var(--foreground)]/40 mt-0.5", children: description })
37964
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("div", { className: "flex-1 min-w-0", children: [
37965
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("h4", { className: "text-sm font-semibold text-[var(--foreground)]", children: agent_name }),
37966
+ description && /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("p", { className: "text-[11px] text-[var(--foreground)]/40 mt-0.5", children: description })
37451
37967
  ] })
37452
37968
  ] }) }),
37453
- /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)("div", { className: "px-4 py-3 space-y-3", children: [
37454
- /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)("div", { children: [
37455
- /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("p", { className: "text-[10px] font-semibold text-[var(--foreground)]/30 uppercase tracking-wider mb-1.5", children: "Instruction" }),
37456
- /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("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 }),
37457
- isLong && /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
37969
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("div", { className: "px-4 py-3 space-y-3", children: [
37970
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("div", { children: [
37971
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("p", { className: "text-[10px] font-semibold text-[var(--foreground)]/30 uppercase tracking-wider mb-1.5", children: "Instruction" }),
37972
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("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 }),
37973
+ isLong && /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
37458
37974
  "button",
37459
37975
  {
37460
37976
  onClick: () => setIsExpanded(!isExpanded),
@@ -37463,16 +37979,16 @@ var InstructionPreview = ({
37463
37979
  }
37464
37980
  )
37465
37981
  ] }),
37466
- workflow_summary && workflow_summary.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)("div", { children: [
37467
- /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("p", { className: "text-[10px] font-semibold text-[var(--foreground)]/30 uppercase tracking-wider mb-1.5", children: "Workflow" }),
37468
- /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("div", { className: "space-y-1", children: workflow_summary.map((step, idx) => /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)("div", { className: "flex items-start gap-2 text-xs", children: [
37469
- /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("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 }),
37470
- /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("span", { className: "text-[var(--foreground)]/50 mt-0.5", children: step })
37982
+ workflow_summary && workflow_summary.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("div", { children: [
37983
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("p", { className: "text-[10px] font-semibold text-[var(--foreground)]/30 uppercase tracking-wider mb-1.5", children: "Workflow" }),
37984
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: "space-y-1", children: workflow_summary.map((step, idx) => /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("div", { className: "flex items-start gap-2 text-xs", children: [
37985
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("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 }),
37986
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("span", { className: "text-[var(--foreground)]/50 mt-0.5", children: step })
37471
37987
  ] }, idx)) })
37472
37988
  ] }),
37473
- tools && tools.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)("div", { children: [
37474
- /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("p", { className: "text-[10px] font-semibold text-[var(--foreground)]/30 uppercase tracking-wider mb-1.5", children: "Tools" }),
37475
- /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("div", { className: "flex flex-wrap gap-1.5", children: tools.map((tool) => /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
37989
+ tools && tools.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("div", { children: [
37990
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("p", { className: "text-[10px] font-semibold text-[var(--foreground)]/30 uppercase tracking-wider mb-1.5", children: "Tools" }),
37991
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: "flex flex-wrap gap-1.5", children: tools.map((tool) => /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
37476
37992
  "span",
37477
37993
  {
37478
37994
  className: "text-[10px] font-mono px-2 py-0.5 rounded bg-interactive/[0.08] text-interactive/70 border border-interactive/10",
@@ -37488,16 +38004,16 @@ var InstructionPreview = ({
37488
38004
  };
37489
38005
 
37490
38006
  // src/molecules/agent-builder/UIComponentSelector/UIComponentSelector.tsx
37491
- var import_react68 = require("react");
37492
- var import_jsx_runtime127 = require("react/jsx-runtime");
38007
+ var import_react72 = require("react");
38008
+ var import_jsx_runtime132 = require("react/jsx-runtime");
37493
38009
  function UIComponentSelector({
37494
38010
  components,
37495
38011
  onSelect,
37496
38012
  onPreview,
37497
38013
  className
37498
38014
  }) {
37499
- const [selected, setSelected] = (0, import_react68.useState)(/* @__PURE__ */ new Set());
37500
- const [submitted, setSubmitted] = (0, import_react68.useState)(false);
38015
+ const [selected, setSelected] = (0, import_react72.useState)(/* @__PURE__ */ new Set());
38016
+ const [submitted, setSubmitted] = (0, import_react72.useState)(false);
37501
38017
  const grouped = components.reduce(
37502
38018
  (acc, comp) => {
37503
38019
  const cat = comp.category || "Other";
@@ -37521,7 +38037,7 @@ function UIComponentSelector({
37521
38037
  onSelect?.(Array.from(selected));
37522
38038
  };
37523
38039
  const categoryOrder = Object.keys(grouped).sort();
37524
- return /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
38040
+ return /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)(
37525
38041
  "div",
37526
38042
  {
37527
38043
  className: cn(
@@ -37529,13 +38045,13 @@ function UIComponentSelector({
37529
38045
  className
37530
38046
  ),
37531
38047
  children: [
37532
- /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("div", { className: "px-4 py-3 border-b border-border bg-muted/50", children: [
37533
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("h3", { className: "text-sm font-semibold text-foreground", children: "Select UI Components" }),
37534
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("p", { className: "text-xs text-muted-foreground mt-0.5", children: "Choose which visual components this agent can use in its responses." })
38048
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)("div", { className: "px-4 py-3 border-b border-border bg-muted/50", children: [
38049
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsx)("h3", { className: "text-sm font-semibold text-foreground", children: "Select UI Components" }),
38050
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsx)("p", { className: "text-xs text-muted-foreground mt-0.5", children: "Choose which visual components this agent can use in its responses." })
37535
38051
  ] }),
37536
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("div", { className: "px-4 py-3 space-y-4", children: categoryOrder.map((category) => /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("div", { children: [
37537
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("h4", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wider mb-2", children: category }),
37538
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("div", { className: "space-y-1.5", children: grouped[category].map((comp) => /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
38052
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsx)("div", { className: "px-4 py-3 space-y-4", children: categoryOrder.map((category) => /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)("div", { children: [
38053
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsx)("h4", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wider mb-2", children: category }),
38054
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsx)("div", { className: "space-y-1.5", children: grouped[category].map((comp) => /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)(
37539
38055
  "label",
37540
38056
  {
37541
38057
  className: cn(
@@ -37545,7 +38061,7 @@ function UIComponentSelector({
37545
38061
  selected.has(comp.name) && submitted && "bg-interactive/5"
37546
38062
  ),
37547
38063
  children: [
37548
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
38064
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
37549
38065
  "input",
37550
38066
  {
37551
38067
  type: "checkbox",
@@ -37555,10 +38071,10 @@ function UIComponentSelector({
37555
38071
  className: "mt-0.5 h-4 w-4 rounded border-border text-interactive focus:ring-interactive/50 disabled:opacity-50"
37556
38072
  }
37557
38073
  ),
37558
- /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("div", { className: "flex-1 min-w-0", children: [
37559
- /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("div", { className: "flex items-center gap-1", children: [
37560
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("span", { className: "text-sm font-medium text-foreground", children: comp.display_name }),
37561
- onPreview && /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
38074
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)("div", { className: "flex-1 min-w-0", children: [
38075
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)("div", { className: "flex items-center gap-1", children: [
38076
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsx)("span", { className: "text-sm font-medium text-foreground", children: comp.display_name }),
38077
+ onPreview && /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
37562
38078
  "button",
37563
38079
  {
37564
38080
  type: "button",
@@ -37569,7 +38085,7 @@ function UIComponentSelector({
37569
38085
  },
37570
38086
  className: "shrink-0 p-0.5 rounded hover:bg-muted transition-colors",
37571
38087
  title: `Preview ${comp.display_name}`,
37572
- children: /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
38088
+ children: /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)(
37573
38089
  "svg",
37574
38090
  {
37575
38091
  width: "14",
@@ -37582,28 +38098,28 @@ function UIComponentSelector({
37582
38098
  strokeLinejoin: "round",
37583
38099
  className: "text-muted-foreground hover:text-primary",
37584
38100
  children: [
37585
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("circle", { cx: "12", cy: "12", r: "10" }),
37586
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("line", { x1: "12", y1: "16", x2: "12", y2: "12" }),
37587
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("line", { x1: "12", y1: "8", x2: "12.01", y2: "8" })
38101
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsx)("circle", { cx: "12", cy: "12", r: "10" }),
38102
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsx)("line", { x1: "12", y1: "16", x2: "12", y2: "12" }),
38103
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsx)("line", { x1: "12", y1: "8", x2: "12.01", y2: "8" })
37588
38104
  ]
37589
38105
  }
37590
38106
  )
37591
38107
  }
37592
38108
  )
37593
38109
  ] }),
37594
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("span", { className: "ml-0 text-xs text-muted-foreground", children: comp.description })
38110
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsx)("span", { className: "ml-0 text-xs text-muted-foreground", children: comp.description })
37595
38111
  ] })
37596
38112
  ]
37597
38113
  },
37598
38114
  comp.name
37599
38115
  )) })
37600
38116
  ] }, category)) }),
37601
- !submitted && /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("div", { className: "px-4 py-3 border-t border-border flex items-center justify-between", children: [
37602
- /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("span", { className: "text-xs text-muted-foreground", children: [
38117
+ !submitted && /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)("div", { className: "px-4 py-3 border-t border-border flex items-center justify-between", children: [
38118
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)("span", { className: "text-xs text-muted-foreground", children: [
37603
38119
  selected.size,
37604
38120
  " selected"
37605
38121
  ] }),
37606
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
38122
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
37607
38123
  "button",
37608
38124
  {
37609
38125
  onClick: handleContinue,
@@ -37618,7 +38134,7 @@ function UIComponentSelector({
37618
38134
  }
37619
38135
 
37620
38136
  // src/molecules/agent-builder/MultiAgentCard/MultiAgentCard.tsx
37621
- var import_jsx_runtime128 = require("react/jsx-runtime");
38137
+ var import_jsx_runtime133 = require("react/jsx-runtime");
37622
38138
  var MultiAgentCard = ({
37623
38139
  name,
37624
38140
  display_name,
@@ -37628,7 +38144,7 @@ var MultiAgentCard = ({
37628
38144
  className
37629
38145
  }) => {
37630
38146
  const avatarUrl = `https://api.dicebear.com/7.x/avataaars/svg?seed=${name}`;
37631
- return /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(
38147
+ return /* @__PURE__ */ (0, import_jsx_runtime133.jsxs)(
37632
38148
  "div",
37633
38149
  {
37634
38150
  className: cn(
@@ -37636,14 +38152,14 @@ var MultiAgentCard = ({
37636
38152
  className
37637
38153
  ),
37638
38154
  children: [
37639
- /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "flex items-start gap-4 px-5 py-4", children: [
37640
- /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("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__ */ (0, import_jsx_runtime128.jsx)("img", { src: avatarUrl, alt: display_name, className: "h-full w-full" }) }),
37641
- /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "flex-1 min-w-0", children: [
37642
- /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "flex items-center gap-2", children: [
37643
- /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("h4", { className: "text-sm font-semibold text-[var(--foreground)] truncate", children: display_name }),
37644
- /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("span", { className: "text-[11px] font-mono text-[var(--foreground)]/40 bg-[var(--foreground)]/[0.05] px-1.5 py-0.5 rounded", children: name }),
37645
- /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("span", { className: "text-[10px] px-1.5 py-0.5 rounded-full font-medium bg-interactive/10 text-interactive", children: "Multi-Agent" }),
37646
- /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
38155
+ /* @__PURE__ */ (0, import_jsx_runtime133.jsxs)("div", { className: "flex items-start gap-4 px-5 py-4", children: [
38156
+ /* @__PURE__ */ (0, import_jsx_runtime133.jsx)("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__ */ (0, import_jsx_runtime133.jsx)("img", { src: avatarUrl, alt: display_name, className: "h-full w-full" }) }),
38157
+ /* @__PURE__ */ (0, import_jsx_runtime133.jsxs)("div", { className: "flex-1 min-w-0", children: [
38158
+ /* @__PURE__ */ (0, import_jsx_runtime133.jsxs)("div", { className: "flex items-center gap-2", children: [
38159
+ /* @__PURE__ */ (0, import_jsx_runtime133.jsx)("h4", { className: "text-sm font-semibold text-[var(--foreground)] truncate", children: display_name }),
38160
+ /* @__PURE__ */ (0, import_jsx_runtime133.jsx)("span", { className: "text-[11px] font-mono text-[var(--foreground)]/40 bg-[var(--foreground)]/[0.05] px-1.5 py-0.5 rounded", children: name }),
38161
+ /* @__PURE__ */ (0, import_jsx_runtime133.jsx)("span", { className: "text-[10px] px-1.5 py-0.5 rounded-full font-medium bg-interactive/10 text-interactive", children: "Multi-Agent" }),
38162
+ /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
37647
38163
  "span",
37648
38164
  {
37649
38165
  className: cn(
@@ -37654,18 +38170,18 @@ var MultiAgentCard = ({
37654
38170
  }
37655
38171
  )
37656
38172
  ] }),
37657
- /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("p", { className: "text-xs text-[var(--foreground)]/60 leading-relaxed mt-1 whitespace-normal", style: { textWrap: "auto" }, children: description })
38173
+ /* @__PURE__ */ (0, import_jsx_runtime133.jsx)("p", { className: "text-xs text-[var(--foreground)]/60 leading-relaxed mt-1 whitespace-normal", style: { textWrap: "auto" }, children: description })
37658
38174
  ] })
37659
38175
  ] }),
37660
- stages.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "border-t border-[var(--border-color)] px-5 py-4", children: [
37661
- /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("p", { className: "text-[11px] font-semibold text-[var(--foreground)]/40 uppercase tracking-wide mb-3", children: [
38176
+ stages.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime133.jsxs)("div", { className: "border-t border-[var(--border-color)] px-5 py-4", children: [
38177
+ /* @__PURE__ */ (0, import_jsx_runtime133.jsxs)("p", { className: "text-[11px] font-semibold text-[var(--foreground)]/40 uppercase tracking-wide mb-3", children: [
37662
38178
  "Stages (",
37663
38179
  stages.length,
37664
38180
  ")"
37665
38181
  ] }),
37666
- /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("div", { className: "flex flex-col gap-0", children: stages.map((stage, idx) => /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "flex items-stretch", children: [
37667
- /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "flex flex-col items-center mr-3 w-5", children: [
37668
- /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
38182
+ /* @__PURE__ */ (0, import_jsx_runtime133.jsx)("div", { className: "flex flex-col gap-0", children: stages.map((stage, idx) => /* @__PURE__ */ (0, import_jsx_runtime133.jsxs)("div", { className: "flex items-stretch", children: [
38183
+ /* @__PURE__ */ (0, import_jsx_runtime133.jsxs)("div", { className: "flex flex-col items-center mr-3 w-5", children: [
38184
+ /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
37669
38185
  "div",
37670
38186
  {
37671
38187
  className: cn(
@@ -37675,20 +38191,20 @@ var MultiAgentCard = ({
37675
38191
  children: idx + 1
37676
38192
  }
37677
38193
  ),
37678
- idx < stages.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("div", { className: "w-px flex-1 bg-interactive/20 min-h-[16px]" })
38194
+ idx < stages.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime133.jsx)("div", { className: "w-px flex-1 bg-interactive/20 min-h-[16px]" })
37679
38195
  ] }),
37680
- /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "flex-1 mb-2 p-3 rounded-lg border border-[var(--border-color)] bg-[var(--foreground)]/[0.02]", children: [
37681
- /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "flex items-center gap-2", children: [
37682
- /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("span", { className: "text-xs font-semibold text-[var(--foreground)]", children: stage.name }),
37683
- /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("span", { className: "text-[10px] font-mono text-[var(--foreground)]/30", children: stage.agent_name })
38196
+ /* @__PURE__ */ (0, import_jsx_runtime133.jsxs)("div", { className: "flex-1 mb-2 p-3 rounded-lg border border-[var(--border-color)] bg-[var(--foreground)]/[0.02]", children: [
38197
+ /* @__PURE__ */ (0, import_jsx_runtime133.jsxs)("div", { className: "flex items-center gap-2", children: [
38198
+ /* @__PURE__ */ (0, import_jsx_runtime133.jsx)("span", { className: "text-xs font-semibold text-[var(--foreground)]", children: stage.name }),
38199
+ /* @__PURE__ */ (0, import_jsx_runtime133.jsx)("span", { className: "text-[10px] font-mono text-[var(--foreground)]/30", children: stage.agent_name })
37684
38200
  ] }),
37685
- /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "flex items-center gap-3 mt-1.5 text-[10px] text-[var(--foreground)]/50", children: [
37686
- stage.tools && stage.tools.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("span", { children: [
38201
+ /* @__PURE__ */ (0, import_jsx_runtime133.jsxs)("div", { className: "flex items-center gap-3 mt-1.5 text-[10px] text-[var(--foreground)]/50", children: [
38202
+ stage.tools && stage.tools.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime133.jsxs)("span", { children: [
37687
38203
  stage.tools.length,
37688
38204
  " tool",
37689
38205
  stage.tools.length !== 1 ? "s" : ""
37690
38206
  ] }),
37691
- stage.ui_components && stage.ui_components.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("span", { children: [
38207
+ stage.ui_components && stage.ui_components.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime133.jsxs)("span", { children: [
37692
38208
  stage.ui_components.length,
37693
38209
  " component",
37694
38210
  stage.ui_components.length !== 1 ? "s" : ""
@@ -37703,12 +38219,12 @@ var MultiAgentCard = ({
37703
38219
  };
37704
38220
 
37705
38221
  // src/molecules/agent-builder/MultiAgentPlan/MultiAgentPlan.tsx
37706
- var import_jsx_runtime129 = require("react/jsx-runtime");
38222
+ var import_jsx_runtime134 = require("react/jsx-runtime");
37707
38223
  var MultiAgentPlan = ({
37708
38224
  stages = [],
37709
38225
  className
37710
38226
  }) => {
37711
- return /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(
38227
+ return /* @__PURE__ */ (0, import_jsx_runtime134.jsxs)(
37712
38228
  "div",
37713
38229
  {
37714
38230
  className: cn(
@@ -37716,8 +38232,8 @@ var MultiAgentPlan = ({
37716
38232
  className
37717
38233
  ),
37718
38234
  children: [
37719
- /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("div", { className: "px-4 py-3 border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.02]", children: /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)("div", { className: "flex items-center gap-2", children: [
37720
- /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("div", { className: "w-4 h-4 rounded bg-violet-500/20 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
38235
+ /* @__PURE__ */ (0, import_jsx_runtime134.jsx)("div", { className: "px-4 py-3 border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.02]", children: /* @__PURE__ */ (0, import_jsx_runtime134.jsxs)("div", { className: "flex items-center gap-2", children: [
38236
+ /* @__PURE__ */ (0, import_jsx_runtime134.jsx)("div", { className: "w-4 h-4 rounded bg-violet-500/20 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
37721
38237
  "svg",
37722
38238
  {
37723
38239
  width: "10",
@@ -37727,20 +38243,20 @@ var MultiAgentPlan = ({
37727
38243
  stroke: "currentColor",
37728
38244
  strokeWidth: "2",
37729
38245
  className: "text-violet-600",
37730
- children: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("path", { d: "M16 3h5v5M4 20L21 3M21 16v5h-5M15 15l6 6M4 4l5 5" })
38246
+ children: /* @__PURE__ */ (0, import_jsx_runtime134.jsx)("path", { d: "M16 3h5v5M4 20L21 3M21 16v5h-5M15 15l6 6M4 4l5 5" })
37731
38247
  }
37732
38248
  ) }),
37733
- /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("span", { className: "text-xs font-semibold text-[var(--foreground)]", children: "Proposed Multi-Agent Workflow" }),
37734
- /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("span", { className: "text-[10px] px-1.5 py-0.5 rounded-full bg-amber-500/10 text-amber-600 font-medium", children: "Draft" })
38249
+ /* @__PURE__ */ (0, import_jsx_runtime134.jsx)("span", { className: "text-xs font-semibold text-[var(--foreground)]", children: "Proposed Multi-Agent Workflow" }),
38250
+ /* @__PURE__ */ (0, import_jsx_runtime134.jsx)("span", { className: "text-[10px] px-1.5 py-0.5 rounded-full bg-amber-500/10 text-amber-600 font-medium", children: "Draft" })
37735
38251
  ] }) }),
37736
- /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("div", { className: "px-4 py-3", children: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("div", { className: "flex flex-col gap-0", children: stages.map((stage, idx) => /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)("div", { className: "flex items-stretch min-w-0", children: [
37737
- /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)("div", { className: "flex flex-col items-center mr-3 w-6", children: [
37738
- /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("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 }),
37739
- idx < stages.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("div", { className: "w-px flex-1 bg-interactive/20 min-h-[12px]" })
38252
+ /* @__PURE__ */ (0, import_jsx_runtime134.jsx)("div", { className: "px-4 py-3", children: /* @__PURE__ */ (0, import_jsx_runtime134.jsx)("div", { className: "flex flex-col gap-0", children: stages.map((stage, idx) => /* @__PURE__ */ (0, import_jsx_runtime134.jsxs)("div", { className: "flex items-stretch min-w-0", children: [
38253
+ /* @__PURE__ */ (0, import_jsx_runtime134.jsxs)("div", { className: "flex flex-col items-center mr-3 w-6", children: [
38254
+ /* @__PURE__ */ (0, import_jsx_runtime134.jsx)("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 }),
38255
+ idx < stages.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime134.jsx)("div", { className: "w-px flex-1 bg-interactive/20 min-h-[12px]" })
37740
38256
  ] }),
37741
- /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)("div", { className: "flex-1 mb-2 pb-2 min-w-0", children: [
37742
- /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("p", { className: "text-xs font-semibold text-foreground", children: stage.name }),
37743
- stage.description && /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
38257
+ /* @__PURE__ */ (0, import_jsx_runtime134.jsxs)("div", { className: "flex-1 mb-2 pb-2 min-w-0", children: [
38258
+ /* @__PURE__ */ (0, import_jsx_runtime134.jsx)("p", { className: "text-xs font-semibold text-foreground", children: stage.name }),
38259
+ stage.description && /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
37744
38260
  "p",
37745
38261
  {
37746
38262
  className: "text-[11px] text-foreground/50 mt-0.5 whitespace-normal",
@@ -37748,7 +38264,7 @@ var MultiAgentPlan = ({
37748
38264
  children: stage.description
37749
38265
  }
37750
38266
  ),
37751
- stage.proposed_tools && stage.proposed_tools.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("div", { className: "flex flex-wrap gap-1 mt-1.5", children: stage.proposed_tools.map((tool) => /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
38267
+ stage.proposed_tools && stage.proposed_tools.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime134.jsx)("div", { className: "flex flex-wrap gap-1 mt-1.5", children: stage.proposed_tools.map((tool) => /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
37752
38268
  "span",
37753
38269
  {
37754
38270
  className: "text-[10px] px-1.5 py-0.5 rounded bg-interactive/10 text-interactive font-mono",
@@ -37764,8 +38280,8 @@ var MultiAgentPlan = ({
37764
38280
  };
37765
38281
 
37766
38282
  // src/molecules/agent-builder/MultiAgentUISelector/MultiAgentUISelector.tsx
37767
- var import_react69 = require("react");
37768
- var import_jsx_runtime130 = require("react/jsx-runtime");
38283
+ var import_react73 = require("react");
38284
+ var import_jsx_runtime135 = require("react/jsx-runtime");
37769
38285
  var MultiAgentUISelector = ({
37770
38286
  stages = [],
37771
38287
  components = [],
@@ -37773,8 +38289,8 @@ var MultiAgentUISelector = ({
37773
38289
  onPreview,
37774
38290
  className
37775
38291
  }) => {
37776
- const [activeStageId, setActiveStageId] = (0, import_react69.useState)(stages[0]?.id || "");
37777
- const [selections, setSelections] = (0, import_react69.useState)(
38292
+ const [activeStageId, setActiveStageId] = (0, import_react73.useState)(stages[0]?.id || "");
38293
+ const [selections, setSelections] = (0, import_react73.useState)(
37778
38294
  () => {
37779
38295
  const init = {};
37780
38296
  for (const stage of stages) {
@@ -37783,14 +38299,14 @@ var MultiAgentUISelector = ({
37783
38299
  return init;
37784
38300
  }
37785
38301
  );
37786
- const [submitted, setSubmitted] = (0, import_react69.useState)(false);
38302
+ const [submitted, setSubmitted] = (0, import_react73.useState)(false);
37787
38303
  const grouped = components.reduce((acc, comp) => {
37788
38304
  const cat = comp.category || "Other";
37789
38305
  if (!acc[cat]) acc[cat] = [];
37790
38306
  acc[cat].push(comp);
37791
38307
  return acc;
37792
38308
  }, {});
37793
- const toggleComponent = (0, import_react69.useCallback)(
38309
+ const toggleComponent = (0, import_react73.useCallback)(
37794
38310
  (stageId, compName) => {
37795
38311
  if (submitted) return;
37796
38312
  setSelections((prev) => {
@@ -37807,7 +38323,7 @@ var MultiAgentUISelector = ({
37807
38323
  },
37808
38324
  [submitted]
37809
38325
  );
37810
- const handleContinue = (0, import_react69.useCallback)(() => {
38326
+ const handleContinue = (0, import_react73.useCallback)(() => {
37811
38327
  setSubmitted(true);
37812
38328
  if (onSelect) {
37813
38329
  const result = {};
@@ -37818,7 +38334,7 @@ var MultiAgentUISelector = ({
37818
38334
  }
37819
38335
  }, [onSelect, selections]);
37820
38336
  const activeStage = stages.find((s) => s.id === activeStageId);
37821
- return /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(
38337
+ return /* @__PURE__ */ (0, import_jsx_runtime135.jsxs)(
37822
38338
  "div",
37823
38339
  {
37824
38340
  className: cn(
@@ -37826,8 +38342,8 @@ var MultiAgentUISelector = ({
37826
38342
  className
37827
38343
  ),
37828
38344
  children: [
37829
- /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { className: "px-4 py-3 border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.02]", children: /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)("div", { className: "flex items-center gap-2", children: [
37830
- /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { className: "w-4 h-4 rounded bg-interactive/20 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(
38345
+ /* @__PURE__ */ (0, import_jsx_runtime135.jsx)("div", { className: "px-4 py-3 border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.02]", children: /* @__PURE__ */ (0, import_jsx_runtime135.jsxs)("div", { className: "flex items-center gap-2", children: [
38346
+ /* @__PURE__ */ (0, import_jsx_runtime135.jsx)("div", { className: "w-4 h-4 rounded bg-interactive/20 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime135.jsxs)(
37831
38347
  "svg",
37832
38348
  {
37833
38349
  width: "10",
@@ -37838,16 +38354,16 @@ var MultiAgentUISelector = ({
37838
38354
  strokeWidth: "2",
37839
38355
  className: "text-interactive",
37840
38356
  children: [
37841
- /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("rect", { x: "3", y: "3", width: "7", height: "7" }),
37842
- /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("rect", { x: "14", y: "3", width: "7", height: "7" }),
37843
- /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("rect", { x: "3", y: "14", width: "7", height: "7" }),
37844
- /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("rect", { x: "14", y: "14", width: "7", height: "7" })
38357
+ /* @__PURE__ */ (0, import_jsx_runtime135.jsx)("rect", { x: "3", y: "3", width: "7", height: "7" }),
38358
+ /* @__PURE__ */ (0, import_jsx_runtime135.jsx)("rect", { x: "14", y: "3", width: "7", height: "7" }),
38359
+ /* @__PURE__ */ (0, import_jsx_runtime135.jsx)("rect", { x: "3", y: "14", width: "7", height: "7" }),
38360
+ /* @__PURE__ */ (0, import_jsx_runtime135.jsx)("rect", { x: "14", y: "14", width: "7", height: "7" })
37845
38361
  ]
37846
38362
  }
37847
38363
  ) }),
37848
- /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("span", { className: "text-xs font-semibold text-[var(--foreground)]", children: "UI Components per Stage" })
38364
+ /* @__PURE__ */ (0, import_jsx_runtime135.jsx)("span", { className: "text-xs font-semibold text-[var(--foreground)]", children: "UI Components per Stage" })
37849
38365
  ] }) }),
37850
- /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { className: "flex border-b border-[var(--border-color)] px-4", children: stages.map((stage) => /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
38366
+ /* @__PURE__ */ (0, import_jsx_runtime135.jsx)("div", { className: "flex border-b border-[var(--border-color)] px-4", children: stages.map((stage) => /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
37851
38367
  "button",
37852
38368
  {
37853
38369
  onClick: () => setActiveStageId(stage.id),
@@ -37861,38 +38377,45 @@ var MultiAgentUISelector = ({
37861
38377
  },
37862
38378
  stage.id
37863
38379
  )) }),
37864
- /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)("div", { className: "px-4 py-3", children: [
37865
- activeStage && /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)("p", { className: "text-[10px] text-[var(--foreground)]/40 mb-3", children: [
38380
+ /* @__PURE__ */ (0, import_jsx_runtime135.jsxs)("div", { className: "px-4 py-3", children: [
38381
+ activeStage && /* @__PURE__ */ (0, import_jsx_runtime135.jsxs)("p", { className: "text-[10px] text-[var(--foreground)]/40 mb-3", children: [
37866
38382
  "Select components for ",
37867
- /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("strong", { children: activeStage.name }),
38383
+ /* @__PURE__ */ (0, import_jsx_runtime135.jsx)("strong", { children: activeStage.name }),
37868
38384
  " (",
37869
38385
  activeStage.agent_name,
37870
38386
  ")"
37871
38387
  ] }),
37872
- Object.entries(grouped).map(([category, comps]) => /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)("div", { className: "mb-3", children: [
37873
- /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("p", { className: "text-[10px] font-semibold text-[var(--foreground)]/40 uppercase tracking-wide mb-1.5", children: category }),
37874
- /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { className: "grid grid-cols-2 gap-1.5", children: comps.map((comp) => {
38388
+ Object.entries(grouped).map(([category, comps]) => /* @__PURE__ */ (0, import_jsx_runtime135.jsxs)("div", { className: "mb-3", children: [
38389
+ /* @__PURE__ */ (0, import_jsx_runtime135.jsx)("p", { className: "text-[10px] font-semibold text-[var(--foreground)]/40 uppercase tracking-wide mb-1.5", children: category }),
38390
+ /* @__PURE__ */ (0, import_jsx_runtime135.jsx)("div", { className: "grid grid-cols-2 gap-1.5", children: comps.map((comp) => {
37875
38391
  const isSelected = selections[activeStageId]?.has(comp.name) || false;
37876
- return /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(
37877
- "button",
38392
+ return /* @__PURE__ */ (0, import_jsx_runtime135.jsxs)(
38393
+ "div",
37878
38394
  {
38395
+ role: "button",
38396
+ tabIndex: 0,
37879
38397
  onClick: () => toggleComponent(activeStageId, comp.name),
37880
- disabled: submitted,
38398
+ onKeyDown: (e) => {
38399
+ if (e.key === "Enter" || e.key === " ") {
38400
+ e.preventDefault();
38401
+ toggleComponent(activeStageId, comp.name);
38402
+ }
38403
+ },
37881
38404
  className: cn(
37882
- "text-left p-2.5 rounded-lg border text-[11px] transition-all overflow-hidden",
38405
+ "text-left p-2.5 rounded-lg border text-[11px] transition-all overflow-hidden cursor-pointer",
37883
38406
  isSelected ? "border-interactive bg-interactive/5" : "border-[var(--border-color)] hover:border-interactive/50",
37884
- submitted && "opacity-60 cursor-default"
38407
+ submitted && "opacity-60 cursor-default pointer-events-none"
37885
38408
  ),
37886
38409
  children: [
37887
- /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)("div", { className: "flex items-center gap-1.5", children: [
37888
- /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
38410
+ /* @__PURE__ */ (0, import_jsx_runtime135.jsxs)("div", { className: "flex items-center gap-1.5", children: [
38411
+ /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
37889
38412
  "div",
37890
38413
  {
37891
38414
  className: cn(
37892
38415
  "w-3.5 h-3.5 rounded border flex items-center justify-center shrink-0",
37893
38416
  isSelected ? "bg-interactive border-interactive" : "border-[var(--foreground)]/20"
37894
38417
  ),
37895
- children: isSelected && /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
38418
+ children: isSelected && /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
37896
38419
  "svg",
37897
38420
  {
37898
38421
  width: "8",
@@ -37901,13 +38424,13 @@ var MultiAgentUISelector = ({
37901
38424
  fill: "none",
37902
38425
  stroke: "white",
37903
38426
  strokeWidth: "3",
37904
- children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("polyline", { points: "20 6 9 17 4 12" })
38427
+ children: /* @__PURE__ */ (0, import_jsx_runtime135.jsx)("polyline", { points: "20 6 9 17 4 12" })
37905
38428
  }
37906
38429
  )
37907
38430
  }
37908
38431
  ),
37909
- /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("span", { className: "font-medium text-[var(--foreground)]", children: comp.display_name }),
37910
- onPreview && /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
38432
+ /* @__PURE__ */ (0, import_jsx_runtime135.jsx)("span", { className: "font-medium text-[var(--foreground)]", children: comp.display_name }),
38433
+ onPreview && /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
37911
38434
  "button",
37912
38435
  {
37913
38436
  type: "button",
@@ -37917,7 +38440,7 @@ var MultiAgentUISelector = ({
37917
38440
  },
37918
38441
  className: "ml-auto shrink-0 p-0.5 rounded hover:bg-[var(--foreground)]/10 transition-colors",
37919
38442
  title: `Preview ${comp.display_name}`,
37920
- children: /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(
38443
+ children: /* @__PURE__ */ (0, import_jsx_runtime135.jsxs)(
37921
38444
  "svg",
37922
38445
  {
37923
38446
  width: "14",
@@ -37930,16 +38453,16 @@ var MultiAgentUISelector = ({
37930
38453
  strokeLinejoin: "round",
37931
38454
  className: "text-[var(--foreground)]/40 hover:text-[var(--primary-color)]",
37932
38455
  children: [
37933
- /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("circle", { cx: "12", cy: "12", r: "10" }),
37934
- /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("line", { x1: "12", y1: "16", x2: "12", y2: "12" }),
37935
- /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("line", { x1: "12", y1: "8", x2: "12.01", y2: "8" })
38456
+ /* @__PURE__ */ (0, import_jsx_runtime135.jsx)("circle", { cx: "12", cy: "12", r: "10" }),
38457
+ /* @__PURE__ */ (0, import_jsx_runtime135.jsx)("line", { x1: "12", y1: "16", x2: "12", y2: "12" }),
38458
+ /* @__PURE__ */ (0, import_jsx_runtime135.jsx)("line", { x1: "12", y1: "8", x2: "12.01", y2: "8" })
37936
38459
  ]
37937
38460
  }
37938
38461
  )
37939
38462
  }
37940
38463
  )
37941
38464
  ] }),
37942
- /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("p", { className: "text-[10px] text-[var(--foreground)]/40 mt-0.5 ml-5 whitespace-normal", children: comp.description })
38465
+ /* @__PURE__ */ (0, import_jsx_runtime135.jsx)("p", { className: "text-[10px] text-[var(--foreground)]/40 mt-0.5 ml-5 whitespace-normal", children: comp.description })
37943
38466
  ]
37944
38467
  },
37945
38468
  comp.name
@@ -37947,7 +38470,7 @@ var MultiAgentUISelector = ({
37947
38470
  }) })
37948
38471
  ] }, category))
37949
38472
  ] }),
37950
- !submitted && /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { className: "px-4 pb-3", children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
38473
+ !submitted && /* @__PURE__ */ (0, import_jsx_runtime135.jsx)("div", { className: "px-4 pb-3", children: /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
37951
38474
  "button",
37952
38475
  {
37953
38476
  onClick: handleContinue,
@@ -37955,20 +38478,20 @@ var MultiAgentUISelector = ({
37955
38478
  children: "Continue"
37956
38479
  }
37957
38480
  ) }),
37958
- submitted && /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { className: "px-4 pb-3", children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { className: "text-[10px] text-emerald-600 font-medium text-center py-1.5 ", children: "Selections confirmed" }) })
38481
+ submitted && /* @__PURE__ */ (0, import_jsx_runtime135.jsx)("div", { className: "px-4 pb-3", children: /* @__PURE__ */ (0, import_jsx_runtime135.jsx)("div", { className: "text-[10px] text-emerald-600 font-medium text-center py-1.5 ", children: "Selections confirmed" }) })
37959
38482
  ]
37960
38483
  }
37961
38484
  );
37962
38485
  };
37963
38486
 
37964
38487
  // src/molecules/agent-builder/StageIndicator/StageIndicator.tsx
37965
- var import_jsx_runtime131 = require("react/jsx-runtime");
38488
+ var import_jsx_runtime136 = require("react/jsx-runtime");
37966
38489
  var StageIndicator = ({
37967
38490
  stage_name,
37968
38491
  agent_name,
37969
38492
  className
37970
38493
  }) => {
37971
- return /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)(
38494
+ return /* @__PURE__ */ (0, import_jsx_runtime136.jsxs)(
37972
38495
  "div",
37973
38496
  {
37974
38497
  className: cn(
@@ -37976,12 +38499,12 @@ var StageIndicator = ({
37976
38499
  className
37977
38500
  ),
37978
38501
  children: [
37979
- /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: "flex-1 h-px bg-[var(--border-color)]" }),
37980
- /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("div", { className: "flex items-center gap-1.5 px-3 py-1 rounded-full bg-violet-500/10 border border-violet-500/20", children: [
37981
- /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: "w-1.5 h-1.5 rounded-full bg-violet-500 animate-pulse" }),
37982
- /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("span", { className: "text-[10px] font-medium text-violet-600", children: stage_name || agent_name })
38502
+ /* @__PURE__ */ (0, import_jsx_runtime136.jsx)("div", { className: "flex-1 h-px bg-[var(--border-color)]" }),
38503
+ /* @__PURE__ */ (0, import_jsx_runtime136.jsxs)("div", { className: "flex items-center gap-1.5 px-3 py-1 rounded-full bg-violet-500/10 border border-violet-500/20", children: [
38504
+ /* @__PURE__ */ (0, import_jsx_runtime136.jsx)("div", { className: "w-1.5 h-1.5 rounded-full bg-violet-500 animate-pulse" }),
38505
+ /* @__PURE__ */ (0, import_jsx_runtime136.jsx)("span", { className: "text-[10px] font-medium text-violet-600", children: stage_name || agent_name })
37983
38506
  ] }),
37984
- /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: "flex-1 h-px bg-[var(--border-color)]" })
38507
+ /* @__PURE__ */ (0, import_jsx_runtime136.jsx)("div", { className: "flex-1 h-px bg-[var(--border-color)]" })
37985
38508
  ]
37986
38509
  }
37987
38510
  );
@@ -38279,7 +38802,7 @@ __export(ui_exports, {
38279
38802
  // src/components/ui/button-group.tsx
38280
38803
  var import_react_slot4 = require("@radix-ui/react-slot");
38281
38804
  var import_class_variance_authority8 = require("class-variance-authority");
38282
- var import_jsx_runtime132 = require("react/jsx-runtime");
38805
+ var import_jsx_runtime137 = require("react/jsx-runtime");
38283
38806
  var buttonGroupVariants = (0, import_class_variance_authority8.cva)(
38284
38807
  "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",
38285
38808
  {
@@ -38299,7 +38822,7 @@ function ButtonGroup({
38299
38822
  orientation,
38300
38823
  ...props
38301
38824
  }) {
38302
- return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
38825
+ return /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
38303
38826
  "div",
38304
38827
  {
38305
38828
  role: "group",
@@ -38316,7 +38839,7 @@ function ButtonGroupText({
38316
38839
  ...props
38317
38840
  }) {
38318
38841
  const Comp = asChild ? import_react_slot4.Slot : "div";
38319
- return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
38842
+ return /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
38320
38843
  Comp,
38321
38844
  {
38322
38845
  className: cn(
@@ -38332,7 +38855,7 @@ function ButtonGroupSeparator({
38332
38855
  orientation = "vertical",
38333
38856
  ...props
38334
38857
  }) {
38335
- return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
38858
+ return /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
38336
38859
  Separator2,
38337
38860
  {
38338
38861
  "data-slot": "button-group-separator",
@@ -38348,9 +38871,9 @@ function ButtonGroupSeparator({
38348
38871
 
38349
38872
  // src/components/ui/empty.tsx
38350
38873
  var import_class_variance_authority9 = require("class-variance-authority");
38351
- var import_jsx_runtime133 = require("react/jsx-runtime");
38874
+ var import_jsx_runtime138 = require("react/jsx-runtime");
38352
38875
  function Empty({ className, ...props }) {
38353
- return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
38876
+ return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
38354
38877
  "div",
38355
38878
  {
38356
38879
  "data-slot": "empty",
@@ -38363,7 +38886,7 @@ function Empty({ className, ...props }) {
38363
38886
  );
38364
38887
  }
38365
38888
  function EmptyHeader({ className, ...props }) {
38366
- return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
38889
+ return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
38367
38890
  "div",
38368
38891
  {
38369
38892
  "data-slot": "empty-header",
@@ -38394,7 +38917,7 @@ function EmptyMedia({
38394
38917
  variant = "default",
38395
38918
  ...props
38396
38919
  }) {
38397
- return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
38920
+ return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
38398
38921
  "div",
38399
38922
  {
38400
38923
  "data-slot": "empty-icon",
@@ -38405,7 +38928,7 @@ function EmptyMedia({
38405
38928
  );
38406
38929
  }
38407
38930
  function EmptyTitle({ className, ...props }) {
38408
- return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
38931
+ return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
38409
38932
  "div",
38410
38933
  {
38411
38934
  "data-slot": "empty-title",
@@ -38415,7 +38938,7 @@ function EmptyTitle({ className, ...props }) {
38415
38938
  );
38416
38939
  }
38417
38940
  function EmptyDescription({ className, ...props }) {
38418
- return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
38941
+ return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
38419
38942
  "div",
38420
38943
  {
38421
38944
  "data-slot": "empty-description",
@@ -38428,7 +38951,7 @@ function EmptyDescription({ className, ...props }) {
38428
38951
  );
38429
38952
  }
38430
38953
  function EmptyContent({ className, ...props }) {
38431
- return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
38954
+ return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
38432
38955
  "div",
38433
38956
  {
38434
38957
  "data-slot": "empty-content",
@@ -38442,11 +38965,11 @@ function EmptyContent({ className, ...props }) {
38442
38965
  }
38443
38966
 
38444
38967
  // src/components/ui/field.tsx
38445
- var import_react70 = require("react");
38968
+ var import_react74 = require("react");
38446
38969
  var import_class_variance_authority10 = require("class-variance-authority");
38447
- var import_jsx_runtime134 = require("react/jsx-runtime");
38970
+ var import_jsx_runtime139 = require("react/jsx-runtime");
38448
38971
  function FieldSet({ className, ...props }) {
38449
- return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
38972
+ return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
38450
38973
  "fieldset",
38451
38974
  {
38452
38975
  "data-slot": "field-set",
@@ -38464,7 +38987,7 @@ function FieldLegend({
38464
38987
  variant = "legend",
38465
38988
  ...props
38466
38989
  }) {
38467
- return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
38990
+ return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
38468
38991
  "legend",
38469
38992
  {
38470
38993
  "data-slot": "field-legend",
@@ -38480,7 +39003,7 @@ function FieldLegend({
38480
39003
  );
38481
39004
  }
38482
39005
  function FieldGroup({ className, ...props }) {
38483
- return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
39006
+ return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
38484
39007
  "div",
38485
39008
  {
38486
39009
  "data-slot": "field-group",
@@ -38520,7 +39043,7 @@ function Field({
38520
39043
  orientation = "vertical",
38521
39044
  ...props
38522
39045
  }) {
38523
- return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
39046
+ return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
38524
39047
  "div",
38525
39048
  {
38526
39049
  role: "group",
@@ -38532,7 +39055,7 @@ function Field({
38532
39055
  );
38533
39056
  }
38534
39057
  function FieldContent({ className, ...props }) {
38535
- return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
39058
+ return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
38536
39059
  "div",
38537
39060
  {
38538
39061
  "data-slot": "field-content",
@@ -38548,7 +39071,7 @@ function FieldLabel({
38548
39071
  className,
38549
39072
  ...props
38550
39073
  }) {
38551
- return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
39074
+ return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
38552
39075
  Label,
38553
39076
  {
38554
39077
  "data-slot": "field-label",
@@ -38563,7 +39086,7 @@ function FieldLabel({
38563
39086
  );
38564
39087
  }
38565
39088
  function FieldTitle({ className, ...props }) {
38566
- return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
39089
+ return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
38567
39090
  "div",
38568
39091
  {
38569
39092
  "data-slot": "field-label",
@@ -38576,7 +39099,7 @@ function FieldTitle({ className, ...props }) {
38576
39099
  );
38577
39100
  }
38578
39101
  function FieldDescription({ className, ...props }) {
38579
- return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
39102
+ return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
38580
39103
  "p",
38581
39104
  {
38582
39105
  "data-slot": "field-description",
@@ -38595,7 +39118,7 @@ function FieldSeparator({
38595
39118
  className,
38596
39119
  ...props
38597
39120
  }) {
38598
- return /* @__PURE__ */ (0, import_jsx_runtime134.jsxs)(
39121
+ return /* @__PURE__ */ (0, import_jsx_runtime139.jsxs)(
38599
39122
  "div",
38600
39123
  {
38601
39124
  "data-slot": "field-separator",
@@ -38606,8 +39129,8 @@ function FieldSeparator({
38606
39129
  ),
38607
39130
  ...props,
38608
39131
  children: [
38609
- /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(Separator2, { className: "absolute inset-0 top-1/2" }),
38610
- children && /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
39132
+ /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(Separator2, { className: "absolute inset-0 top-1/2" }),
39133
+ children && /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
38611
39134
  "span",
38612
39135
  {
38613
39136
  className: "bg-background text-muted-foreground relative mx-auto block w-fit px-2",
@@ -38625,7 +39148,7 @@ function FieldError({
38625
39148
  errors,
38626
39149
  ...props
38627
39150
  }) {
38628
- const content = (0, import_react70.useMemo)(() => {
39151
+ const content = (0, import_react74.useMemo)(() => {
38629
39152
  if (children) {
38630
39153
  return children;
38631
39154
  }
@@ -38635,14 +39158,14 @@ function FieldError({
38635
39158
  if (errors?.length === 1 && errors[0]?.message) {
38636
39159
  return errors[0].message;
38637
39160
  }
38638
- return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: errors.map(
38639
- (error, index) => error?.message && /* @__PURE__ */ (0, import_jsx_runtime134.jsx)("li", { children: error.message }, index)
39161
+ return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: errors.map(
39162
+ (error, index) => error?.message && /* @__PURE__ */ (0, import_jsx_runtime139.jsx)("li", { children: error.message }, index)
38640
39163
  ) });
38641
39164
  }, [children, errors]);
38642
39165
  if (!content) {
38643
39166
  return null;
38644
39167
  }
38645
- return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
39168
+ return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
38646
39169
  "div",
38647
39170
  {
38648
39171
  role: "alert",
@@ -38656,9 +39179,9 @@ function FieldError({
38656
39179
 
38657
39180
  // src/components/ui/input-group.tsx
38658
39181
  var import_class_variance_authority11 = require("class-variance-authority");
38659
- var import_jsx_runtime135 = require("react/jsx-runtime");
39182
+ var import_jsx_runtime140 = require("react/jsx-runtime");
38660
39183
  function InputGroup({ className, ...props }) {
38661
- return /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
39184
+ return /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(
38662
39185
  "div",
38663
39186
  {
38664
39187
  "data-slot": "input-group",
@@ -38702,7 +39225,7 @@ function InputGroupAddon({
38702
39225
  align = "inline-start",
38703
39226
  ...props
38704
39227
  }) {
38705
- return /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
39228
+ return /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(
38706
39229
  "div",
38707
39230
  {
38708
39231
  role: "group",
@@ -38742,7 +39265,7 @@ function InputGroupButton({
38742
39265
  size = "xs",
38743
39266
  ...props
38744
39267
  }) {
38745
- return /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
39268
+ return /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(
38746
39269
  Button,
38747
39270
  {
38748
39271
  type,
@@ -38754,7 +39277,7 @@ function InputGroupButton({
38754
39277
  );
38755
39278
  }
38756
39279
  function InputGroupText({ className, ...props }) {
38757
- return /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
39280
+ return /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(
38758
39281
  "span",
38759
39282
  {
38760
39283
  className: cn(
@@ -38769,7 +39292,7 @@ function InputGroupInput({
38769
39292
  className,
38770
39293
  ...props
38771
39294
  }) {
38772
- return /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
39295
+ return /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(
38773
39296
  Input,
38774
39297
  {
38775
39298
  "data-slot": "input-group-control",
@@ -38785,7 +39308,7 @@ function InputGroupTextarea({
38785
39308
  className,
38786
39309
  ...props
38787
39310
  }) {
38788
- return /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
39311
+ return /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(
38789
39312
  Textarea,
38790
39313
  {
38791
39314
  "data-slot": "input-group-control",
@@ -38801,9 +39324,9 @@ function InputGroupTextarea({
38801
39324
  // src/components/ui/item.tsx
38802
39325
  var import_react_slot5 = require("@radix-ui/react-slot");
38803
39326
  var import_class_variance_authority12 = require("class-variance-authority");
38804
- var import_jsx_runtime136 = require("react/jsx-runtime");
39327
+ var import_jsx_runtime141 = require("react/jsx-runtime");
38805
39328
  function ItemGroup({ className, ...props }) {
38806
- return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
39329
+ return /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(
38807
39330
  "div",
38808
39331
  {
38809
39332
  role: "list",
@@ -38817,7 +39340,7 @@ function ItemSeparator({
38817
39340
  className,
38818
39341
  ...props
38819
39342
  }) {
38820
- return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
39343
+ return /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(
38821
39344
  Separator2,
38822
39345
  {
38823
39346
  "data-slot": "item-separator",
@@ -38855,7 +39378,7 @@ function Item8({
38855
39378
  ...props
38856
39379
  }) {
38857
39380
  const Comp = asChild ? import_react_slot5.Slot : "div";
38858
- return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
39381
+ return /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(
38859
39382
  Comp,
38860
39383
  {
38861
39384
  "data-slot": "item",
@@ -38886,7 +39409,7 @@ function ItemMedia({
38886
39409
  variant = "default",
38887
39410
  ...props
38888
39411
  }) {
38889
- return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
39412
+ return /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(
38890
39413
  "div",
38891
39414
  {
38892
39415
  "data-slot": "item-media",
@@ -38897,7 +39420,7 @@ function ItemMedia({
38897
39420
  );
38898
39421
  }
38899
39422
  function ItemContent({ className, ...props }) {
38900
- return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
39423
+ return /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(
38901
39424
  "div",
38902
39425
  {
38903
39426
  "data-slot": "item-content",
@@ -38910,7 +39433,7 @@ function ItemContent({ className, ...props }) {
38910
39433
  );
38911
39434
  }
38912
39435
  function ItemTitle({ className, ...props }) {
38913
- return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
39436
+ return /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(
38914
39437
  "div",
38915
39438
  {
38916
39439
  "data-slot": "item-title",
@@ -38923,7 +39446,7 @@ function ItemTitle({ className, ...props }) {
38923
39446
  );
38924
39447
  }
38925
39448
  function ItemDescription({ className, ...props }) {
38926
- return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
39449
+ return /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(
38927
39450
  "p",
38928
39451
  {
38929
39452
  "data-slot": "item-description",
@@ -38937,7 +39460,7 @@ function ItemDescription({ className, ...props }) {
38937
39460
  );
38938
39461
  }
38939
39462
  function ItemActions({ className, ...props }) {
38940
- return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
39463
+ return /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(
38941
39464
  "div",
38942
39465
  {
38943
39466
  "data-slot": "item-actions",
@@ -38947,7 +39470,7 @@ function ItemActions({ className, ...props }) {
38947
39470
  );
38948
39471
  }
38949
39472
  function ItemHeader({ className, ...props }) {
38950
- return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
39473
+ return /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(
38951
39474
  "div",
38952
39475
  {
38953
39476
  "data-slot": "item-header",
@@ -38960,7 +39483,7 @@ function ItemHeader({ className, ...props }) {
38960
39483
  );
38961
39484
  }
38962
39485
  function ItemFooter({ className, ...props }) {
38963
- return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
39486
+ return /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(
38964
39487
  "div",
38965
39488
  {
38966
39489
  "data-slot": "item-footer",
@@ -38974,9 +39497,9 @@ function ItemFooter({ className, ...props }) {
38974
39497
  }
38975
39498
 
38976
39499
  // src/components/ui/kbd.tsx
38977
- var import_jsx_runtime137 = require("react/jsx-runtime");
39500
+ var import_jsx_runtime142 = require("react/jsx-runtime");
38978
39501
  function Kbd({ className, ...props }) {
38979
- return /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
39502
+ return /* @__PURE__ */ (0, import_jsx_runtime142.jsx)(
38980
39503
  "kbd",
38981
39504
  {
38982
39505
  "data-slot": "kbd",
@@ -38991,7 +39514,7 @@ function Kbd({ className, ...props }) {
38991
39514
  );
38992
39515
  }
38993
39516
  function KbdGroup({ className, ...props }) {
38994
- return /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
39517
+ return /* @__PURE__ */ (0, import_jsx_runtime142.jsx)(
38995
39518
  "kbd",
38996
39519
  {
38997
39520
  "data-slot": "kbd-group",
@@ -39024,7 +39547,7 @@ function useIsMobile() {
39024
39547
  }
39025
39548
 
39026
39549
  // src/components/ui/sidebar.tsx
39027
- var import_jsx_runtime138 = require("react/jsx-runtime");
39550
+ var import_jsx_runtime143 = require("react/jsx-runtime");
39028
39551
  var SIDEBAR_COOKIE_NAME = "sidebar_state";
39029
39552
  var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
39030
39553
  var SIDEBAR_WIDTH = "16rem";
@@ -39091,7 +39614,7 @@ var SidebarProvider = React100.forwardRef(
39091
39614
  }),
39092
39615
  [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
39093
39616
  );
39094
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
39617
+ return /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39095
39618
  "div",
39096
39619
  {
39097
39620
  style: {
@@ -39122,7 +39645,7 @@ var Sidebar = React100.forwardRef(
39122
39645
  }, ref) => {
39123
39646
  const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
39124
39647
  if (collapsible === "none") {
39125
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
39648
+ return /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39126
39649
  "div",
39127
39650
  {
39128
39651
  className: cn(
@@ -39136,7 +39659,7 @@ var Sidebar = React100.forwardRef(
39136
39659
  );
39137
39660
  }
39138
39661
  if (isMobile) {
39139
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(Sheet2, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime138.jsxs)(
39662
+ return /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(Sheet2, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime143.jsxs)(
39140
39663
  SheetContent,
39141
39664
  {
39142
39665
  "data-sidebar": "sidebar",
@@ -39147,16 +39670,16 @@ var Sidebar = React100.forwardRef(
39147
39670
  },
39148
39671
  side,
39149
39672
  children: [
39150
- /* @__PURE__ */ (0, import_jsx_runtime138.jsxs)(SheetHeader, { className: "sr-only", children: [
39151
- /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(SheetTitle, { children: "Sidebar" }),
39152
- /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(SheetDescription, { children: "Displays the mobile sidebar." })
39673
+ /* @__PURE__ */ (0, import_jsx_runtime143.jsxs)(SheetHeader, { className: "sr-only", children: [
39674
+ /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(SheetTitle, { children: "Sidebar" }),
39675
+ /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(SheetDescription, { children: "Displays the mobile sidebar." })
39153
39676
  ] }),
39154
- /* @__PURE__ */ (0, import_jsx_runtime138.jsx)("div", { className: "flex h-full w-full flex-col", children })
39677
+ /* @__PURE__ */ (0, import_jsx_runtime143.jsx)("div", { className: "flex h-full w-full flex-col", children })
39155
39678
  ]
39156
39679
  }
39157
39680
  ) });
39158
39681
  }
39159
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsxs)(
39682
+ return /* @__PURE__ */ (0, import_jsx_runtime143.jsxs)(
39160
39683
  "div",
39161
39684
  {
39162
39685
  ref,
@@ -39166,7 +39689,7 @@ var Sidebar = React100.forwardRef(
39166
39689
  "data-variant": variant,
39167
39690
  "data-side": side,
39168
39691
  children: [
39169
- /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
39692
+ /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39170
39693
  "div",
39171
39694
  {
39172
39695
  className: cn(
@@ -39177,7 +39700,7 @@ var Sidebar = React100.forwardRef(
39177
39700
  )
39178
39701
  }
39179
39702
  ),
39180
- /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
39703
+ /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39181
39704
  "div",
39182
39705
  {
39183
39706
  className: cn(
@@ -39188,7 +39711,7 @@ var Sidebar = React100.forwardRef(
39188
39711
  className
39189
39712
  ),
39190
39713
  ...props,
39191
- children: /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
39714
+ children: /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39192
39715
  "div",
39193
39716
  {
39194
39717
  "data-sidebar": "sidebar",
@@ -39206,7 +39729,7 @@ var Sidebar = React100.forwardRef(
39206
39729
  Sidebar.displayName = "Sidebar";
39207
39730
  var SidebarTrigger = React100.forwardRef(({ className, onClick, ...props }, ref) => {
39208
39731
  const { toggleSidebar } = useSidebar();
39209
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsxs)(
39732
+ return /* @__PURE__ */ (0, import_jsx_runtime143.jsxs)(
39210
39733
  Button,
39211
39734
  {
39212
39735
  ref,
@@ -39220,8 +39743,8 @@ var SidebarTrigger = React100.forwardRef(({ className, onClick, ...props }, ref)
39220
39743
  },
39221
39744
  ...props,
39222
39745
  children: [
39223
- /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(PanelLeft, {}),
39224
- /* @__PURE__ */ (0, import_jsx_runtime138.jsx)("span", { className: "sr-only", children: "Toggle Sidebar" })
39746
+ /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(PanelLeft, {}),
39747
+ /* @__PURE__ */ (0, import_jsx_runtime143.jsx)("span", { className: "sr-only", children: "Toggle Sidebar" })
39225
39748
  ]
39226
39749
  }
39227
39750
  );
@@ -39229,7 +39752,7 @@ var SidebarTrigger = React100.forwardRef(({ className, onClick, ...props }, ref)
39229
39752
  SidebarTrigger.displayName = "SidebarTrigger";
39230
39753
  var SidebarRail = React100.forwardRef(({ className, ...props }, ref) => {
39231
39754
  const { toggleSidebar } = useSidebar();
39232
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
39755
+ return /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39233
39756
  "button",
39234
39757
  {
39235
39758
  ref,
@@ -39253,7 +39776,7 @@ var SidebarRail = React100.forwardRef(({ className, ...props }, ref) => {
39253
39776
  });
39254
39777
  SidebarRail.displayName = "SidebarRail";
39255
39778
  var SidebarInset = React100.forwardRef(({ className, ...props }, ref) => {
39256
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
39779
+ return /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39257
39780
  "main",
39258
39781
  {
39259
39782
  ref,
@@ -39268,7 +39791,7 @@ var SidebarInset = React100.forwardRef(({ className, ...props }, ref) => {
39268
39791
  });
39269
39792
  SidebarInset.displayName = "SidebarInset";
39270
39793
  var SidebarInput = React100.forwardRef(({ className, ...props }, ref) => {
39271
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
39794
+ return /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39272
39795
  Input,
39273
39796
  {
39274
39797
  ref,
@@ -39283,7 +39806,7 @@ var SidebarInput = React100.forwardRef(({ className, ...props }, ref) => {
39283
39806
  });
39284
39807
  SidebarInput.displayName = "SidebarInput";
39285
39808
  var SidebarHeader = React100.forwardRef(({ className, ...props }, ref) => {
39286
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
39809
+ return /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39287
39810
  "div",
39288
39811
  {
39289
39812
  ref,
@@ -39295,7 +39818,7 @@ var SidebarHeader = React100.forwardRef(({ className, ...props }, ref) => {
39295
39818
  });
39296
39819
  SidebarHeader.displayName = "SidebarHeader";
39297
39820
  var SidebarFooter = React100.forwardRef(({ className, ...props }, ref) => {
39298
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
39821
+ return /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39299
39822
  "div",
39300
39823
  {
39301
39824
  ref,
@@ -39307,7 +39830,7 @@ var SidebarFooter = React100.forwardRef(({ className, ...props }, ref) => {
39307
39830
  });
39308
39831
  SidebarFooter.displayName = "SidebarFooter";
39309
39832
  var SidebarSeparator = React100.forwardRef(({ className, ...props }, ref) => {
39310
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
39833
+ return /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39311
39834
  Separator2,
39312
39835
  {
39313
39836
  ref,
@@ -39319,7 +39842,7 @@ var SidebarSeparator = React100.forwardRef(({ className, ...props }, ref) => {
39319
39842
  });
39320
39843
  SidebarSeparator.displayName = "SidebarSeparator";
39321
39844
  var SidebarContent = React100.forwardRef(({ className, ...props }, ref) => {
39322
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
39845
+ return /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39323
39846
  "div",
39324
39847
  {
39325
39848
  ref,
@@ -39334,7 +39857,7 @@ var SidebarContent = React100.forwardRef(({ className, ...props }, ref) => {
39334
39857
  });
39335
39858
  SidebarContent.displayName = "SidebarContent";
39336
39859
  var SidebarGroup = React100.forwardRef(({ className, ...props }, ref) => {
39337
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
39860
+ return /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39338
39861
  "div",
39339
39862
  {
39340
39863
  ref,
@@ -39347,7 +39870,7 @@ var SidebarGroup = React100.forwardRef(({ className, ...props }, ref) => {
39347
39870
  SidebarGroup.displayName = "SidebarGroup";
39348
39871
  var SidebarGroupLabel = React100.forwardRef(({ className, asChild = false, ...props }, ref) => {
39349
39872
  const Comp = asChild ? import_react_slot6.Slot : "div";
39350
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
39873
+ return /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39351
39874
  Comp,
39352
39875
  {
39353
39876
  ref,
@@ -39364,7 +39887,7 @@ var SidebarGroupLabel = React100.forwardRef(({ className, asChild = false, ...pr
39364
39887
  SidebarGroupLabel.displayName = "SidebarGroupLabel";
39365
39888
  var SidebarGroupAction = React100.forwardRef(({ className, asChild = false, ...props }, ref) => {
39366
39889
  const Comp = asChild ? import_react_slot6.Slot : "button";
39367
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
39890
+ return /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39368
39891
  Comp,
39369
39892
  {
39370
39893
  ref,
@@ -39381,7 +39904,7 @@ var SidebarGroupAction = React100.forwardRef(({ className, asChild = false, ...p
39381
39904
  );
39382
39905
  });
39383
39906
  SidebarGroupAction.displayName = "SidebarGroupAction";
39384
- var SidebarGroupContent = React100.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
39907
+ var SidebarGroupContent = React100.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39385
39908
  "div",
39386
39909
  {
39387
39910
  ref,
@@ -39391,7 +39914,7 @@ var SidebarGroupContent = React100.forwardRef(({ className, ...props }, ref) =>
39391
39914
  }
39392
39915
  ));
39393
39916
  SidebarGroupContent.displayName = "SidebarGroupContent";
39394
- var SidebarMenu = React100.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
39917
+ var SidebarMenu = React100.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39395
39918
  "ul",
39396
39919
  {
39397
39920
  ref,
@@ -39401,7 +39924,7 @@ var SidebarMenu = React100.forwardRef(({ className, ...props }, ref) => /* @__PU
39401
39924
  }
39402
39925
  ));
39403
39926
  SidebarMenu.displayName = "SidebarMenu";
39404
- var SidebarMenuItem = React100.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
39927
+ var SidebarMenuItem = React100.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39405
39928
  "li",
39406
39929
  {
39407
39930
  ref,
@@ -39443,7 +39966,7 @@ var SidebarMenuButton = React100.forwardRef(
39443
39966
  }, ref) => {
39444
39967
  const Comp = asChild ? import_react_slot6.Slot : "button";
39445
39968
  const { isMobile, state } = useSidebar();
39446
- const button = /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
39969
+ const button = /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39447
39970
  Comp,
39448
39971
  {
39449
39972
  ref,
@@ -39462,9 +39985,9 @@ var SidebarMenuButton = React100.forwardRef(
39462
39985
  children: tooltip
39463
39986
  };
39464
39987
  }
39465
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsxs)(Tooltip, { children: [
39466
- /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(TooltipTrigger, { asChild: true, children: button }),
39467
- /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
39988
+ return /* @__PURE__ */ (0, import_jsx_runtime143.jsxs)(Tooltip, { children: [
39989
+ /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(TooltipTrigger, { asChild: true, children: button }),
39990
+ /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39468
39991
  TooltipContent,
39469
39992
  {
39470
39993
  side: "right",
@@ -39479,7 +40002,7 @@ var SidebarMenuButton = React100.forwardRef(
39479
40002
  SidebarMenuButton.displayName = "SidebarMenuButton";
39480
40003
  var SidebarMenuAction = React100.forwardRef(({ className, asChild = false, showOnHover = false, ...props }, ref) => {
39481
40004
  const Comp = asChild ? import_react_slot6.Slot : "button";
39482
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
40005
+ return /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39483
40006
  Comp,
39484
40007
  {
39485
40008
  ref,
@@ -39500,7 +40023,7 @@ var SidebarMenuAction = React100.forwardRef(({ className, asChild = false, showO
39500
40023
  );
39501
40024
  });
39502
40025
  SidebarMenuAction.displayName = "SidebarMenuAction";
39503
- var SidebarMenuBadge = React100.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
40026
+ var SidebarMenuBadge = React100.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39504
40027
  "div",
39505
40028
  {
39506
40029
  ref,
@@ -39522,7 +40045,7 @@ var SidebarMenuSkeleton = React100.forwardRef(({ className, showIcon = false, ..
39522
40045
  const width = React100.useMemo(() => {
39523
40046
  return `${Math.floor(Math.random() * 40) + 50}%`;
39524
40047
  }, []);
39525
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsxs)(
40048
+ return /* @__PURE__ */ (0, import_jsx_runtime143.jsxs)(
39526
40049
  "div",
39527
40050
  {
39528
40051
  ref,
@@ -39530,14 +40053,14 @@ var SidebarMenuSkeleton = React100.forwardRef(({ className, showIcon = false, ..
39530
40053
  className: cn("flex h-8 items-center gap-2 rounded-md px-2", className),
39531
40054
  ...props,
39532
40055
  children: [
39533
- showIcon && /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
40056
+ showIcon && /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39534
40057
  Skeleton,
39535
40058
  {
39536
40059
  className: "size-4 rounded-md",
39537
40060
  "data-sidebar": "menu-skeleton-icon"
39538
40061
  }
39539
40062
  ),
39540
- /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
40063
+ /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39541
40064
  Skeleton,
39542
40065
  {
39543
40066
  className: "h-4 max-w-[--skeleton-width] flex-1",
@@ -39552,7 +40075,7 @@ var SidebarMenuSkeleton = React100.forwardRef(({ className, showIcon = false, ..
39552
40075
  );
39553
40076
  });
39554
40077
  SidebarMenuSkeleton.displayName = "SidebarMenuSkeleton";
39555
- var SidebarMenuSub = React100.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
40078
+ var SidebarMenuSub = React100.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39556
40079
  "ul",
39557
40080
  {
39558
40081
  ref,
@@ -39566,11 +40089,11 @@ var SidebarMenuSub = React100.forwardRef(({ className, ...props }, ref) => /* @_
39566
40089
  }
39567
40090
  ));
39568
40091
  SidebarMenuSub.displayName = "SidebarMenuSub";
39569
- var SidebarMenuSubItem = React100.forwardRef(({ ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime138.jsx)("li", { ref, ...props }));
40092
+ var SidebarMenuSubItem = React100.forwardRef(({ ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime143.jsx)("li", { ref, ...props }));
39570
40093
  SidebarMenuSubItem.displayName = "SidebarMenuSubItem";
39571
40094
  var SidebarMenuSubButton = React100.forwardRef(({ asChild = false, size = "md", isActive, className, ...props }, ref) => {
39572
40095
  const Comp = asChild ? import_react_slot6.Slot : "a";
39573
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
40096
+ return /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39574
40097
  Comp,
39575
40098
  {
39576
40099
  ref,
@@ -39594,20 +40117,20 @@ SidebarMenuSubButton.displayName = "SidebarMenuSubButton";
39594
40117
  // src/components/ui/sonner.tsx
39595
40118
  var import_next_themes = require("next-themes");
39596
40119
  var import_sonner = require("sonner");
39597
- var import_jsx_runtime139 = require("react/jsx-runtime");
40120
+ var import_jsx_runtime144 = require("react/jsx-runtime");
39598
40121
  var Toaster = ({ ...props }) => {
39599
40122
  const { theme = "system" } = (0, import_next_themes.useTheme)();
39600
- return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
40123
+ return /* @__PURE__ */ (0, import_jsx_runtime144.jsx)(
39601
40124
  import_sonner.Toaster,
39602
40125
  {
39603
40126
  theme,
39604
40127
  className: "toaster group",
39605
40128
  icons: {
39606
- success: /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(CircleCheck, { className: "h-4 w-4" }),
39607
- info: /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(Info, { className: "h-4 w-4" }),
39608
- warning: /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(TriangleAlert, { className: "h-4 w-4" }),
39609
- error: /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(OctagonX, { className: "h-4 w-4" }),
39610
- loading: /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(LoaderCircle, { className: "h-4 w-4 animate-spin" })
40129
+ success: /* @__PURE__ */ (0, import_jsx_runtime144.jsx)(CircleCheck, { className: "h-4 w-4" }),
40130
+ info: /* @__PURE__ */ (0, import_jsx_runtime144.jsx)(Info, { className: "h-4 w-4" }),
40131
+ warning: /* @__PURE__ */ (0, import_jsx_runtime144.jsx)(TriangleAlert, { className: "h-4 w-4" }),
40132
+ error: /* @__PURE__ */ (0, import_jsx_runtime144.jsx)(OctagonX, { className: "h-4 w-4" }),
40133
+ loading: /* @__PURE__ */ (0, import_jsx_runtime144.jsx)(LoaderCircle, { className: "h-4 w-4 animate-spin" })
39611
40134
  },
39612
40135
  toastOptions: {
39613
40136
  classNames: {
@@ -39625,24 +40148,24 @@ var Toaster = ({ ...props }) => {
39625
40148
  // src/components/ui/toggle-group.tsx
39626
40149
  var React101 = __toESM(require("react"), 1);
39627
40150
  var ToggleGroupPrimitive = __toESM(require("@radix-ui/react-toggle-group"), 1);
39628
- var import_jsx_runtime140 = require("react/jsx-runtime");
40151
+ var import_jsx_runtime145 = require("react/jsx-runtime");
39629
40152
  var ToggleGroupContext = React101.createContext({
39630
40153
  size: "default",
39631
40154
  variant: "default"
39632
40155
  });
39633
- var ToggleGroup = React101.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(
40156
+ var ToggleGroup = React101.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime145.jsx)(
39634
40157
  ToggleGroupPrimitive.Root,
39635
40158
  {
39636
40159
  ref,
39637
40160
  className: cn("flex items-center justify-center gap-1", className),
39638
40161
  ...props,
39639
- children: /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(ToggleGroupContext.Provider, { value: { variant, size }, children })
40162
+ children: /* @__PURE__ */ (0, import_jsx_runtime145.jsx)(ToggleGroupContext.Provider, { value: { variant, size }, children })
39640
40163
  }
39641
40164
  ));
39642
40165
  ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
39643
40166
  var ToggleGroupItem = React101.forwardRef(({ className, children, variant, size, ...props }, ref) => {
39644
40167
  const context = React101.useContext(ToggleGroupContext);
39645
- return /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(
40168
+ return /* @__PURE__ */ (0, import_jsx_runtime145.jsx)(
39646
40169
  ToggleGroupPrimitive.Item,
39647
40170
  {
39648
40171
  ref,
@@ -39661,7 +40184,7 @@ var ToggleGroupItem = React101.forwardRef(({ className, children, variant, size,
39661
40184
  ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
39662
40185
 
39663
40186
  // src/render/PXEngineRenderer.tsx
39664
- var import_jsx_runtime141 = require("react/jsx-runtime");
40187
+ var import_jsx_runtime146 = require("react/jsx-runtime");
39665
40188
  var CONTEXT_DEPENDENT_COMPONENTS = /* @__PURE__ */ new Set([
39666
40189
  // Form components - require FormField + FormItem context
39667
40190
  "FormLabel",
@@ -39753,24 +40276,24 @@ var COMPONENT_SUGGESTIONS = {
39753
40276
  };
39754
40277
  var renderContextDependentError = (componentName, normalizedName, key) => {
39755
40278
  const suggestion = COMPONENT_SUGGESTIONS[normalizedName] || `${componentName}Atom (if available)`;
39756
- return /* @__PURE__ */ (0, import_jsx_runtime141.jsxs)(
40279
+ return /* @__PURE__ */ (0, import_jsx_runtime146.jsxs)(
39757
40280
  "div",
39758
40281
  {
39759
40282
  className: "p-4 border-2 border-amber-500/50 rounded-lg bg-amber-50/80 space-y-2 my-2",
39760
40283
  children: [
39761
- /* @__PURE__ */ (0, import_jsx_runtime141.jsxs)("div", { className: "flex items-start gap-2", children: [
39762
- /* @__PURE__ */ (0, import_jsx_runtime141.jsx)("span", { className: "text-amber-600 font-bold text-lg", children: "\u26A0\uFE0F" }),
39763
- /* @__PURE__ */ (0, import_jsx_runtime141.jsxs)("div", { className: "flex-1", children: [
39764
- /* @__PURE__ */ (0, import_jsx_runtime141.jsxs)("p", { className: "text-sm font-semibold text-amber-900", children: [
40284
+ /* @__PURE__ */ (0, import_jsx_runtime146.jsxs)("div", { className: "flex items-start gap-2", children: [
40285
+ /* @__PURE__ */ (0, import_jsx_runtime146.jsx)("span", { className: "text-amber-600 font-bold text-lg", children: "\u26A0\uFE0F" }),
40286
+ /* @__PURE__ */ (0, import_jsx_runtime146.jsxs)("div", { className: "flex-1", children: [
40287
+ /* @__PURE__ */ (0, import_jsx_runtime146.jsxs)("p", { className: "text-sm font-semibold text-amber-900", children: [
39765
40288
  "Invalid Component: ",
39766
40289
  componentName
39767
40290
  ] }),
39768
- /* @__PURE__ */ (0, import_jsx_runtime141.jsx)("p", { className: "text-xs text-amber-700 mt-1", children: "This component requires React Context and cannot be rendered directly in schemas." })
40291
+ /* @__PURE__ */ (0, import_jsx_runtime146.jsx)("p", { className: "text-xs text-amber-700 mt-1", children: "This component requires React Context and cannot be rendered directly in schemas." })
39769
40292
  ] })
39770
40293
  ] }),
39771
- /* @__PURE__ */ (0, import_jsx_runtime141.jsxs)("div", { className: "bg-white/60 p-3 rounded border border-amber-200", children: [
39772
- /* @__PURE__ */ (0, import_jsx_runtime141.jsx)("p", { className: "text-xs font-semibold text-gray-700 mb-1.5", children: "\u2713 Use instead:" }),
39773
- /* @__PURE__ */ (0, import_jsx_runtime141.jsx)("code", { className: "text-xs text-blue-700 bg-blue-50 px-2 py-1 rounded", children: suggestion })
40294
+ /* @__PURE__ */ (0, import_jsx_runtime146.jsxs)("div", { className: "bg-white/60 p-3 rounded border border-amber-200", children: [
40295
+ /* @__PURE__ */ (0, import_jsx_runtime146.jsx)("p", { className: "text-xs font-semibold text-gray-700 mb-1.5", children: "\u2713 Use instead:" }),
40296
+ /* @__PURE__ */ (0, import_jsx_runtime146.jsx)("code", { className: "text-xs text-blue-700 bg-blue-50 px-2 py-1 rounded", children: suggestion })
39774
40297
  ] })
39775
40298
  ]
39776
40299
  },
@@ -39850,7 +40373,7 @@ var PXEngineRenderer = ({
39850
40373
  if (typeof component === "string" || typeof component === "number") {
39851
40374
  return component;
39852
40375
  }
39853
- if (import_react71.default.isValidElement(component)) {
40376
+ if (import_react75.default.isValidElement(component)) {
39854
40377
  return component;
39855
40378
  }
39856
40379
  if (!component || typeof component !== "object") return null;
@@ -39929,7 +40452,7 @@ var PXEngineRenderer = ({
39929
40452
  const isAtomWithRenderProp = ATOMS_WITH_RENDER.has(atomName);
39930
40453
  const finalStyle = { ...dynamicStyle, ...finalProps.style || {} };
39931
40454
  if (isAtomWithRenderProp) {
39932
- return /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(
40455
+ return /* @__PURE__ */ (0, import_jsx_runtime146.jsx)(
39933
40456
  TargetComponent,
39934
40457
  {
39935
40458
  ...finalProps,
@@ -39941,7 +40464,7 @@ var PXEngineRenderer = ({
39941
40464
  uniqueKey
39942
40465
  );
39943
40466
  } else {
39944
- return /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(
40467
+ return /* @__PURE__ */ (0, import_jsx_runtime146.jsx)(
39945
40468
  TargetComponent,
39946
40469
  {
39947
40470
  ...finalProps,
@@ -39953,7 +40476,7 @@ var PXEngineRenderer = ({
39953
40476
  );
39954
40477
  }
39955
40478
  };
39956
- return /* @__PURE__ */ (0, import_jsx_runtime141.jsx)("div", { className: "px-engine-root relative w-full h-full", children: renderRecursive(root) });
40479
+ return /* @__PURE__ */ (0, import_jsx_runtime146.jsx)("div", { className: "px-engine-root relative w-full h-full", children: renderRecursive(root) });
39957
40480
  };
39958
40481
  // Annotate the CommonJS export names for ESM import in node:
39959
40482
  0 && (module.exports = {
@@ -40048,9 +40571,14 @@ var PXEngineRenderer = ({
40048
40571
  CountrySelectDisplay,
40049
40572
  CountrySelectEdit,
40050
40573
  CreatorActionHeader,
40574
+ CreatorCompactView,
40051
40575
  CreatorGridCard,
40576
+ CreatorImageList,
40052
40577
  CreatorProfileSummary,
40578
+ CreatorProgressBar,
40053
40579
  CreatorSearch,
40580
+ CreatorWidget,
40581
+ CreatorWidgetSkeleton,
40054
40582
  DataGrid,
40055
40583
  Dialog,
40056
40584
  DialogAtom,
@@ -40228,7 +40756,8 @@ var PXEngineRenderer = ({
40228
40756
  UIComponentSelector,
40229
40757
  VideoAtom,
40230
40758
  WorkflowVisualizer,
40231
- cn
40759
+ cn,
40760
+ useCreatorWidgetPolling
40232
40761
  });
40233
40762
  /*! Bundled license information:
40234
40763