pxengine 0.1.41 → 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,19 +38377,19 @@ 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)(
38392
+ return /* @__PURE__ */ (0, import_jsx_runtime135.jsxs)(
37877
38393
  "div",
37878
38394
  {
37879
38395
  role: "button",
@@ -37891,15 +38407,15 @@ var MultiAgentUISelector = ({
37891
38407
  submitted && "opacity-60 cursor-default pointer-events-none"
37892
38408
  ),
37893
38409
  children: [
37894
- /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)("div", { className: "flex items-center gap-1.5", children: [
37895
- /* @__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)(
37896
38412
  "div",
37897
38413
  {
37898
38414
  className: cn(
37899
38415
  "w-3.5 h-3.5 rounded border flex items-center justify-center shrink-0",
37900
38416
  isSelected ? "bg-interactive border-interactive" : "border-[var(--foreground)]/20"
37901
38417
  ),
37902
- children: isSelected && /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
38418
+ children: isSelected && /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
37903
38419
  "svg",
37904
38420
  {
37905
38421
  width: "8",
@@ -37908,13 +38424,13 @@ var MultiAgentUISelector = ({
37908
38424
  fill: "none",
37909
38425
  stroke: "white",
37910
38426
  strokeWidth: "3",
37911
- 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" })
37912
38428
  }
37913
38429
  )
37914
38430
  }
37915
38431
  ),
37916
- /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("span", { className: "font-medium text-[var(--foreground)]", children: comp.display_name }),
37917
- 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)(
37918
38434
  "button",
37919
38435
  {
37920
38436
  type: "button",
@@ -37924,7 +38440,7 @@ var MultiAgentUISelector = ({
37924
38440
  },
37925
38441
  className: "ml-auto shrink-0 p-0.5 rounded hover:bg-[var(--foreground)]/10 transition-colors",
37926
38442
  title: `Preview ${comp.display_name}`,
37927
- children: /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(
38443
+ children: /* @__PURE__ */ (0, import_jsx_runtime135.jsxs)(
37928
38444
  "svg",
37929
38445
  {
37930
38446
  width: "14",
@@ -37937,16 +38453,16 @@ var MultiAgentUISelector = ({
37937
38453
  strokeLinejoin: "round",
37938
38454
  className: "text-[var(--foreground)]/40 hover:text-[var(--primary-color)]",
37939
38455
  children: [
37940
- /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("circle", { cx: "12", cy: "12", r: "10" }),
37941
- /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("line", { x1: "12", y1: "16", x2: "12", y2: "12" }),
37942
- /* @__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" })
37943
38459
  ]
37944
38460
  }
37945
38461
  )
37946
38462
  }
37947
38463
  )
37948
38464
  ] }),
37949
- /* @__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 })
37950
38466
  ]
37951
38467
  },
37952
38468
  comp.name
@@ -37954,7 +38470,7 @@ var MultiAgentUISelector = ({
37954
38470
  }) })
37955
38471
  ] }, category))
37956
38472
  ] }),
37957
- !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)(
37958
38474
  "button",
37959
38475
  {
37960
38476
  onClick: handleContinue,
@@ -37962,20 +38478,20 @@ var MultiAgentUISelector = ({
37962
38478
  children: "Continue"
37963
38479
  }
37964
38480
  ) }),
37965
- 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" }) })
37966
38482
  ]
37967
38483
  }
37968
38484
  );
37969
38485
  };
37970
38486
 
37971
38487
  // src/molecules/agent-builder/StageIndicator/StageIndicator.tsx
37972
- var import_jsx_runtime131 = require("react/jsx-runtime");
38488
+ var import_jsx_runtime136 = require("react/jsx-runtime");
37973
38489
  var StageIndicator = ({
37974
38490
  stage_name,
37975
38491
  agent_name,
37976
38492
  className
37977
38493
  }) => {
37978
- return /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)(
38494
+ return /* @__PURE__ */ (0, import_jsx_runtime136.jsxs)(
37979
38495
  "div",
37980
38496
  {
37981
38497
  className: cn(
@@ -37983,12 +38499,12 @@ var StageIndicator = ({
37983
38499
  className
37984
38500
  ),
37985
38501
  children: [
37986
- /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: "flex-1 h-px bg-[var(--border-color)]" }),
37987
- /* @__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: [
37988
- /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: "w-1.5 h-1.5 rounded-full bg-violet-500 animate-pulse" }),
37989
- /* @__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 })
37990
38506
  ] }),
37991
- /* @__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)]" })
37992
38508
  ]
37993
38509
  }
37994
38510
  );
@@ -38286,7 +38802,7 @@ __export(ui_exports, {
38286
38802
  // src/components/ui/button-group.tsx
38287
38803
  var import_react_slot4 = require("@radix-ui/react-slot");
38288
38804
  var import_class_variance_authority8 = require("class-variance-authority");
38289
- var import_jsx_runtime132 = require("react/jsx-runtime");
38805
+ var import_jsx_runtime137 = require("react/jsx-runtime");
38290
38806
  var buttonGroupVariants = (0, import_class_variance_authority8.cva)(
38291
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",
38292
38808
  {
@@ -38306,7 +38822,7 @@ function ButtonGroup({
38306
38822
  orientation,
38307
38823
  ...props
38308
38824
  }) {
38309
- return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
38825
+ return /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
38310
38826
  "div",
38311
38827
  {
38312
38828
  role: "group",
@@ -38323,7 +38839,7 @@ function ButtonGroupText({
38323
38839
  ...props
38324
38840
  }) {
38325
38841
  const Comp = asChild ? import_react_slot4.Slot : "div";
38326
- return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
38842
+ return /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
38327
38843
  Comp,
38328
38844
  {
38329
38845
  className: cn(
@@ -38339,7 +38855,7 @@ function ButtonGroupSeparator({
38339
38855
  orientation = "vertical",
38340
38856
  ...props
38341
38857
  }) {
38342
- return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
38858
+ return /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
38343
38859
  Separator2,
38344
38860
  {
38345
38861
  "data-slot": "button-group-separator",
@@ -38355,9 +38871,9 @@ function ButtonGroupSeparator({
38355
38871
 
38356
38872
  // src/components/ui/empty.tsx
38357
38873
  var import_class_variance_authority9 = require("class-variance-authority");
38358
- var import_jsx_runtime133 = require("react/jsx-runtime");
38874
+ var import_jsx_runtime138 = require("react/jsx-runtime");
38359
38875
  function Empty({ className, ...props }) {
38360
- return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
38876
+ return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
38361
38877
  "div",
38362
38878
  {
38363
38879
  "data-slot": "empty",
@@ -38370,7 +38886,7 @@ function Empty({ className, ...props }) {
38370
38886
  );
38371
38887
  }
38372
38888
  function EmptyHeader({ className, ...props }) {
38373
- return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
38889
+ return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
38374
38890
  "div",
38375
38891
  {
38376
38892
  "data-slot": "empty-header",
@@ -38401,7 +38917,7 @@ function EmptyMedia({
38401
38917
  variant = "default",
38402
38918
  ...props
38403
38919
  }) {
38404
- return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
38920
+ return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
38405
38921
  "div",
38406
38922
  {
38407
38923
  "data-slot": "empty-icon",
@@ -38412,7 +38928,7 @@ function EmptyMedia({
38412
38928
  );
38413
38929
  }
38414
38930
  function EmptyTitle({ className, ...props }) {
38415
- return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
38931
+ return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
38416
38932
  "div",
38417
38933
  {
38418
38934
  "data-slot": "empty-title",
@@ -38422,7 +38938,7 @@ function EmptyTitle({ className, ...props }) {
38422
38938
  );
38423
38939
  }
38424
38940
  function EmptyDescription({ className, ...props }) {
38425
- return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
38941
+ return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
38426
38942
  "div",
38427
38943
  {
38428
38944
  "data-slot": "empty-description",
@@ -38435,7 +38951,7 @@ function EmptyDescription({ className, ...props }) {
38435
38951
  );
38436
38952
  }
38437
38953
  function EmptyContent({ className, ...props }) {
38438
- return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
38954
+ return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
38439
38955
  "div",
38440
38956
  {
38441
38957
  "data-slot": "empty-content",
@@ -38449,11 +38965,11 @@ function EmptyContent({ className, ...props }) {
38449
38965
  }
38450
38966
 
38451
38967
  // src/components/ui/field.tsx
38452
- var import_react70 = require("react");
38968
+ var import_react74 = require("react");
38453
38969
  var import_class_variance_authority10 = require("class-variance-authority");
38454
- var import_jsx_runtime134 = require("react/jsx-runtime");
38970
+ var import_jsx_runtime139 = require("react/jsx-runtime");
38455
38971
  function FieldSet({ className, ...props }) {
38456
- return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
38972
+ return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
38457
38973
  "fieldset",
38458
38974
  {
38459
38975
  "data-slot": "field-set",
@@ -38471,7 +38987,7 @@ function FieldLegend({
38471
38987
  variant = "legend",
38472
38988
  ...props
38473
38989
  }) {
38474
- return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
38990
+ return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
38475
38991
  "legend",
38476
38992
  {
38477
38993
  "data-slot": "field-legend",
@@ -38487,7 +39003,7 @@ function FieldLegend({
38487
39003
  );
38488
39004
  }
38489
39005
  function FieldGroup({ className, ...props }) {
38490
- return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
39006
+ return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
38491
39007
  "div",
38492
39008
  {
38493
39009
  "data-slot": "field-group",
@@ -38527,7 +39043,7 @@ function Field({
38527
39043
  orientation = "vertical",
38528
39044
  ...props
38529
39045
  }) {
38530
- return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
39046
+ return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
38531
39047
  "div",
38532
39048
  {
38533
39049
  role: "group",
@@ -38539,7 +39055,7 @@ function Field({
38539
39055
  );
38540
39056
  }
38541
39057
  function FieldContent({ className, ...props }) {
38542
- return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
39058
+ return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
38543
39059
  "div",
38544
39060
  {
38545
39061
  "data-slot": "field-content",
@@ -38555,7 +39071,7 @@ function FieldLabel({
38555
39071
  className,
38556
39072
  ...props
38557
39073
  }) {
38558
- return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
39074
+ return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
38559
39075
  Label,
38560
39076
  {
38561
39077
  "data-slot": "field-label",
@@ -38570,7 +39086,7 @@ function FieldLabel({
38570
39086
  );
38571
39087
  }
38572
39088
  function FieldTitle({ className, ...props }) {
38573
- return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
39089
+ return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
38574
39090
  "div",
38575
39091
  {
38576
39092
  "data-slot": "field-label",
@@ -38583,7 +39099,7 @@ function FieldTitle({ className, ...props }) {
38583
39099
  );
38584
39100
  }
38585
39101
  function FieldDescription({ className, ...props }) {
38586
- return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
39102
+ return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
38587
39103
  "p",
38588
39104
  {
38589
39105
  "data-slot": "field-description",
@@ -38602,7 +39118,7 @@ function FieldSeparator({
38602
39118
  className,
38603
39119
  ...props
38604
39120
  }) {
38605
- return /* @__PURE__ */ (0, import_jsx_runtime134.jsxs)(
39121
+ return /* @__PURE__ */ (0, import_jsx_runtime139.jsxs)(
38606
39122
  "div",
38607
39123
  {
38608
39124
  "data-slot": "field-separator",
@@ -38613,8 +39129,8 @@ function FieldSeparator({
38613
39129
  ),
38614
39130
  ...props,
38615
39131
  children: [
38616
- /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(Separator2, { className: "absolute inset-0 top-1/2" }),
38617
- 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)(
38618
39134
  "span",
38619
39135
  {
38620
39136
  className: "bg-background text-muted-foreground relative mx-auto block w-fit px-2",
@@ -38632,7 +39148,7 @@ function FieldError({
38632
39148
  errors,
38633
39149
  ...props
38634
39150
  }) {
38635
- const content = (0, import_react70.useMemo)(() => {
39151
+ const content = (0, import_react74.useMemo)(() => {
38636
39152
  if (children) {
38637
39153
  return children;
38638
39154
  }
@@ -38642,14 +39158,14 @@ function FieldError({
38642
39158
  if (errors?.length === 1 && errors[0]?.message) {
38643
39159
  return errors[0].message;
38644
39160
  }
38645
- return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: errors.map(
38646
- (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)
38647
39163
  ) });
38648
39164
  }, [children, errors]);
38649
39165
  if (!content) {
38650
39166
  return null;
38651
39167
  }
38652
- return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
39168
+ return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
38653
39169
  "div",
38654
39170
  {
38655
39171
  role: "alert",
@@ -38663,9 +39179,9 @@ function FieldError({
38663
39179
 
38664
39180
  // src/components/ui/input-group.tsx
38665
39181
  var import_class_variance_authority11 = require("class-variance-authority");
38666
- var import_jsx_runtime135 = require("react/jsx-runtime");
39182
+ var import_jsx_runtime140 = require("react/jsx-runtime");
38667
39183
  function InputGroup({ className, ...props }) {
38668
- return /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
39184
+ return /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(
38669
39185
  "div",
38670
39186
  {
38671
39187
  "data-slot": "input-group",
@@ -38709,7 +39225,7 @@ function InputGroupAddon({
38709
39225
  align = "inline-start",
38710
39226
  ...props
38711
39227
  }) {
38712
- return /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
39228
+ return /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(
38713
39229
  "div",
38714
39230
  {
38715
39231
  role: "group",
@@ -38749,7 +39265,7 @@ function InputGroupButton({
38749
39265
  size = "xs",
38750
39266
  ...props
38751
39267
  }) {
38752
- return /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
39268
+ return /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(
38753
39269
  Button,
38754
39270
  {
38755
39271
  type,
@@ -38761,7 +39277,7 @@ function InputGroupButton({
38761
39277
  );
38762
39278
  }
38763
39279
  function InputGroupText({ className, ...props }) {
38764
- return /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
39280
+ return /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(
38765
39281
  "span",
38766
39282
  {
38767
39283
  className: cn(
@@ -38776,7 +39292,7 @@ function InputGroupInput({
38776
39292
  className,
38777
39293
  ...props
38778
39294
  }) {
38779
- return /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
39295
+ return /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(
38780
39296
  Input,
38781
39297
  {
38782
39298
  "data-slot": "input-group-control",
@@ -38792,7 +39308,7 @@ function InputGroupTextarea({
38792
39308
  className,
38793
39309
  ...props
38794
39310
  }) {
38795
- return /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
39311
+ return /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(
38796
39312
  Textarea,
38797
39313
  {
38798
39314
  "data-slot": "input-group-control",
@@ -38808,9 +39324,9 @@ function InputGroupTextarea({
38808
39324
  // src/components/ui/item.tsx
38809
39325
  var import_react_slot5 = require("@radix-ui/react-slot");
38810
39326
  var import_class_variance_authority12 = require("class-variance-authority");
38811
- var import_jsx_runtime136 = require("react/jsx-runtime");
39327
+ var import_jsx_runtime141 = require("react/jsx-runtime");
38812
39328
  function ItemGroup({ className, ...props }) {
38813
- return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
39329
+ return /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(
38814
39330
  "div",
38815
39331
  {
38816
39332
  role: "list",
@@ -38824,7 +39340,7 @@ function ItemSeparator({
38824
39340
  className,
38825
39341
  ...props
38826
39342
  }) {
38827
- return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
39343
+ return /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(
38828
39344
  Separator2,
38829
39345
  {
38830
39346
  "data-slot": "item-separator",
@@ -38862,7 +39378,7 @@ function Item8({
38862
39378
  ...props
38863
39379
  }) {
38864
39380
  const Comp = asChild ? import_react_slot5.Slot : "div";
38865
- return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
39381
+ return /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(
38866
39382
  Comp,
38867
39383
  {
38868
39384
  "data-slot": "item",
@@ -38893,7 +39409,7 @@ function ItemMedia({
38893
39409
  variant = "default",
38894
39410
  ...props
38895
39411
  }) {
38896
- return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
39412
+ return /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(
38897
39413
  "div",
38898
39414
  {
38899
39415
  "data-slot": "item-media",
@@ -38904,7 +39420,7 @@ function ItemMedia({
38904
39420
  );
38905
39421
  }
38906
39422
  function ItemContent({ className, ...props }) {
38907
- return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
39423
+ return /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(
38908
39424
  "div",
38909
39425
  {
38910
39426
  "data-slot": "item-content",
@@ -38917,7 +39433,7 @@ function ItemContent({ className, ...props }) {
38917
39433
  );
38918
39434
  }
38919
39435
  function ItemTitle({ className, ...props }) {
38920
- return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
39436
+ return /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(
38921
39437
  "div",
38922
39438
  {
38923
39439
  "data-slot": "item-title",
@@ -38930,7 +39446,7 @@ function ItemTitle({ className, ...props }) {
38930
39446
  );
38931
39447
  }
38932
39448
  function ItemDescription({ className, ...props }) {
38933
- return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
39449
+ return /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(
38934
39450
  "p",
38935
39451
  {
38936
39452
  "data-slot": "item-description",
@@ -38944,7 +39460,7 @@ function ItemDescription({ className, ...props }) {
38944
39460
  );
38945
39461
  }
38946
39462
  function ItemActions({ className, ...props }) {
38947
- return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
39463
+ return /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(
38948
39464
  "div",
38949
39465
  {
38950
39466
  "data-slot": "item-actions",
@@ -38954,7 +39470,7 @@ function ItemActions({ className, ...props }) {
38954
39470
  );
38955
39471
  }
38956
39472
  function ItemHeader({ className, ...props }) {
38957
- return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
39473
+ return /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(
38958
39474
  "div",
38959
39475
  {
38960
39476
  "data-slot": "item-header",
@@ -38967,7 +39483,7 @@ function ItemHeader({ className, ...props }) {
38967
39483
  );
38968
39484
  }
38969
39485
  function ItemFooter({ className, ...props }) {
38970
- return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
39486
+ return /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(
38971
39487
  "div",
38972
39488
  {
38973
39489
  "data-slot": "item-footer",
@@ -38981,9 +39497,9 @@ function ItemFooter({ className, ...props }) {
38981
39497
  }
38982
39498
 
38983
39499
  // src/components/ui/kbd.tsx
38984
- var import_jsx_runtime137 = require("react/jsx-runtime");
39500
+ var import_jsx_runtime142 = require("react/jsx-runtime");
38985
39501
  function Kbd({ className, ...props }) {
38986
- return /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
39502
+ return /* @__PURE__ */ (0, import_jsx_runtime142.jsx)(
38987
39503
  "kbd",
38988
39504
  {
38989
39505
  "data-slot": "kbd",
@@ -38998,7 +39514,7 @@ function Kbd({ className, ...props }) {
38998
39514
  );
38999
39515
  }
39000
39516
  function KbdGroup({ className, ...props }) {
39001
- return /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
39517
+ return /* @__PURE__ */ (0, import_jsx_runtime142.jsx)(
39002
39518
  "kbd",
39003
39519
  {
39004
39520
  "data-slot": "kbd-group",
@@ -39031,7 +39547,7 @@ function useIsMobile() {
39031
39547
  }
39032
39548
 
39033
39549
  // src/components/ui/sidebar.tsx
39034
- var import_jsx_runtime138 = require("react/jsx-runtime");
39550
+ var import_jsx_runtime143 = require("react/jsx-runtime");
39035
39551
  var SIDEBAR_COOKIE_NAME = "sidebar_state";
39036
39552
  var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
39037
39553
  var SIDEBAR_WIDTH = "16rem";
@@ -39098,7 +39614,7 @@ var SidebarProvider = React100.forwardRef(
39098
39614
  }),
39099
39615
  [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
39100
39616
  );
39101
- 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)(
39102
39618
  "div",
39103
39619
  {
39104
39620
  style: {
@@ -39129,7 +39645,7 @@ var Sidebar = React100.forwardRef(
39129
39645
  }, ref) => {
39130
39646
  const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
39131
39647
  if (collapsible === "none") {
39132
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
39648
+ return /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39133
39649
  "div",
39134
39650
  {
39135
39651
  className: cn(
@@ -39143,7 +39659,7 @@ var Sidebar = React100.forwardRef(
39143
39659
  );
39144
39660
  }
39145
39661
  if (isMobile) {
39146
- 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)(
39147
39663
  SheetContent,
39148
39664
  {
39149
39665
  "data-sidebar": "sidebar",
@@ -39154,16 +39670,16 @@ var Sidebar = React100.forwardRef(
39154
39670
  },
39155
39671
  side,
39156
39672
  children: [
39157
- /* @__PURE__ */ (0, import_jsx_runtime138.jsxs)(SheetHeader, { className: "sr-only", children: [
39158
- /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(SheetTitle, { children: "Sidebar" }),
39159
- /* @__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." })
39160
39676
  ] }),
39161
- /* @__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 })
39162
39678
  ]
39163
39679
  }
39164
39680
  ) });
39165
39681
  }
39166
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsxs)(
39682
+ return /* @__PURE__ */ (0, import_jsx_runtime143.jsxs)(
39167
39683
  "div",
39168
39684
  {
39169
39685
  ref,
@@ -39173,7 +39689,7 @@ var Sidebar = React100.forwardRef(
39173
39689
  "data-variant": variant,
39174
39690
  "data-side": side,
39175
39691
  children: [
39176
- /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
39692
+ /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39177
39693
  "div",
39178
39694
  {
39179
39695
  className: cn(
@@ -39184,7 +39700,7 @@ var Sidebar = React100.forwardRef(
39184
39700
  )
39185
39701
  }
39186
39702
  ),
39187
- /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
39703
+ /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39188
39704
  "div",
39189
39705
  {
39190
39706
  className: cn(
@@ -39195,7 +39711,7 @@ var Sidebar = React100.forwardRef(
39195
39711
  className
39196
39712
  ),
39197
39713
  ...props,
39198
- children: /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
39714
+ children: /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39199
39715
  "div",
39200
39716
  {
39201
39717
  "data-sidebar": "sidebar",
@@ -39213,7 +39729,7 @@ var Sidebar = React100.forwardRef(
39213
39729
  Sidebar.displayName = "Sidebar";
39214
39730
  var SidebarTrigger = React100.forwardRef(({ className, onClick, ...props }, ref) => {
39215
39731
  const { toggleSidebar } = useSidebar();
39216
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsxs)(
39732
+ return /* @__PURE__ */ (0, import_jsx_runtime143.jsxs)(
39217
39733
  Button,
39218
39734
  {
39219
39735
  ref,
@@ -39227,8 +39743,8 @@ var SidebarTrigger = React100.forwardRef(({ className, onClick, ...props }, ref)
39227
39743
  },
39228
39744
  ...props,
39229
39745
  children: [
39230
- /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(PanelLeft, {}),
39231
- /* @__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" })
39232
39748
  ]
39233
39749
  }
39234
39750
  );
@@ -39236,7 +39752,7 @@ var SidebarTrigger = React100.forwardRef(({ className, onClick, ...props }, ref)
39236
39752
  SidebarTrigger.displayName = "SidebarTrigger";
39237
39753
  var SidebarRail = React100.forwardRef(({ className, ...props }, ref) => {
39238
39754
  const { toggleSidebar } = useSidebar();
39239
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
39755
+ return /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39240
39756
  "button",
39241
39757
  {
39242
39758
  ref,
@@ -39260,7 +39776,7 @@ var SidebarRail = React100.forwardRef(({ className, ...props }, ref) => {
39260
39776
  });
39261
39777
  SidebarRail.displayName = "SidebarRail";
39262
39778
  var SidebarInset = React100.forwardRef(({ className, ...props }, ref) => {
39263
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
39779
+ return /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39264
39780
  "main",
39265
39781
  {
39266
39782
  ref,
@@ -39275,7 +39791,7 @@ var SidebarInset = React100.forwardRef(({ className, ...props }, ref) => {
39275
39791
  });
39276
39792
  SidebarInset.displayName = "SidebarInset";
39277
39793
  var SidebarInput = React100.forwardRef(({ className, ...props }, ref) => {
39278
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
39794
+ return /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39279
39795
  Input,
39280
39796
  {
39281
39797
  ref,
@@ -39290,7 +39806,7 @@ var SidebarInput = React100.forwardRef(({ className, ...props }, ref) => {
39290
39806
  });
39291
39807
  SidebarInput.displayName = "SidebarInput";
39292
39808
  var SidebarHeader = React100.forwardRef(({ className, ...props }, ref) => {
39293
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
39809
+ return /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39294
39810
  "div",
39295
39811
  {
39296
39812
  ref,
@@ -39302,7 +39818,7 @@ var SidebarHeader = React100.forwardRef(({ className, ...props }, ref) => {
39302
39818
  });
39303
39819
  SidebarHeader.displayName = "SidebarHeader";
39304
39820
  var SidebarFooter = React100.forwardRef(({ className, ...props }, ref) => {
39305
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
39821
+ return /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39306
39822
  "div",
39307
39823
  {
39308
39824
  ref,
@@ -39314,7 +39830,7 @@ var SidebarFooter = React100.forwardRef(({ className, ...props }, ref) => {
39314
39830
  });
39315
39831
  SidebarFooter.displayName = "SidebarFooter";
39316
39832
  var SidebarSeparator = React100.forwardRef(({ className, ...props }, ref) => {
39317
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
39833
+ return /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39318
39834
  Separator2,
39319
39835
  {
39320
39836
  ref,
@@ -39326,7 +39842,7 @@ var SidebarSeparator = React100.forwardRef(({ className, ...props }, ref) => {
39326
39842
  });
39327
39843
  SidebarSeparator.displayName = "SidebarSeparator";
39328
39844
  var SidebarContent = React100.forwardRef(({ className, ...props }, ref) => {
39329
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
39845
+ return /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39330
39846
  "div",
39331
39847
  {
39332
39848
  ref,
@@ -39341,7 +39857,7 @@ var SidebarContent = React100.forwardRef(({ className, ...props }, ref) => {
39341
39857
  });
39342
39858
  SidebarContent.displayName = "SidebarContent";
39343
39859
  var SidebarGroup = React100.forwardRef(({ className, ...props }, ref) => {
39344
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
39860
+ return /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39345
39861
  "div",
39346
39862
  {
39347
39863
  ref,
@@ -39354,7 +39870,7 @@ var SidebarGroup = React100.forwardRef(({ className, ...props }, ref) => {
39354
39870
  SidebarGroup.displayName = "SidebarGroup";
39355
39871
  var SidebarGroupLabel = React100.forwardRef(({ className, asChild = false, ...props }, ref) => {
39356
39872
  const Comp = asChild ? import_react_slot6.Slot : "div";
39357
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
39873
+ return /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39358
39874
  Comp,
39359
39875
  {
39360
39876
  ref,
@@ -39371,7 +39887,7 @@ var SidebarGroupLabel = React100.forwardRef(({ className, asChild = false, ...pr
39371
39887
  SidebarGroupLabel.displayName = "SidebarGroupLabel";
39372
39888
  var SidebarGroupAction = React100.forwardRef(({ className, asChild = false, ...props }, ref) => {
39373
39889
  const Comp = asChild ? import_react_slot6.Slot : "button";
39374
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
39890
+ return /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39375
39891
  Comp,
39376
39892
  {
39377
39893
  ref,
@@ -39388,7 +39904,7 @@ var SidebarGroupAction = React100.forwardRef(({ className, asChild = false, ...p
39388
39904
  );
39389
39905
  });
39390
39906
  SidebarGroupAction.displayName = "SidebarGroupAction";
39391
- 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)(
39392
39908
  "div",
39393
39909
  {
39394
39910
  ref,
@@ -39398,7 +39914,7 @@ var SidebarGroupContent = React100.forwardRef(({ className, ...props }, ref) =>
39398
39914
  }
39399
39915
  ));
39400
39916
  SidebarGroupContent.displayName = "SidebarGroupContent";
39401
- 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)(
39402
39918
  "ul",
39403
39919
  {
39404
39920
  ref,
@@ -39408,7 +39924,7 @@ var SidebarMenu = React100.forwardRef(({ className, ...props }, ref) => /* @__PU
39408
39924
  }
39409
39925
  ));
39410
39926
  SidebarMenu.displayName = "SidebarMenu";
39411
- 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)(
39412
39928
  "li",
39413
39929
  {
39414
39930
  ref,
@@ -39450,7 +39966,7 @@ var SidebarMenuButton = React100.forwardRef(
39450
39966
  }, ref) => {
39451
39967
  const Comp = asChild ? import_react_slot6.Slot : "button";
39452
39968
  const { isMobile, state } = useSidebar();
39453
- const button = /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
39969
+ const button = /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39454
39970
  Comp,
39455
39971
  {
39456
39972
  ref,
@@ -39469,9 +39985,9 @@ var SidebarMenuButton = React100.forwardRef(
39469
39985
  children: tooltip
39470
39986
  };
39471
39987
  }
39472
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsxs)(Tooltip, { children: [
39473
- /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(TooltipTrigger, { asChild: true, children: button }),
39474
- /* @__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)(
39475
39991
  TooltipContent,
39476
39992
  {
39477
39993
  side: "right",
@@ -39486,7 +40002,7 @@ var SidebarMenuButton = React100.forwardRef(
39486
40002
  SidebarMenuButton.displayName = "SidebarMenuButton";
39487
40003
  var SidebarMenuAction = React100.forwardRef(({ className, asChild = false, showOnHover = false, ...props }, ref) => {
39488
40004
  const Comp = asChild ? import_react_slot6.Slot : "button";
39489
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
40005
+ return /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39490
40006
  Comp,
39491
40007
  {
39492
40008
  ref,
@@ -39507,7 +40023,7 @@ var SidebarMenuAction = React100.forwardRef(({ className, asChild = false, showO
39507
40023
  );
39508
40024
  });
39509
40025
  SidebarMenuAction.displayName = "SidebarMenuAction";
39510
- 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)(
39511
40027
  "div",
39512
40028
  {
39513
40029
  ref,
@@ -39529,7 +40045,7 @@ var SidebarMenuSkeleton = React100.forwardRef(({ className, showIcon = false, ..
39529
40045
  const width = React100.useMemo(() => {
39530
40046
  return `${Math.floor(Math.random() * 40) + 50}%`;
39531
40047
  }, []);
39532
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsxs)(
40048
+ return /* @__PURE__ */ (0, import_jsx_runtime143.jsxs)(
39533
40049
  "div",
39534
40050
  {
39535
40051
  ref,
@@ -39537,14 +40053,14 @@ var SidebarMenuSkeleton = React100.forwardRef(({ className, showIcon = false, ..
39537
40053
  className: cn("flex h-8 items-center gap-2 rounded-md px-2", className),
39538
40054
  ...props,
39539
40055
  children: [
39540
- showIcon && /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
40056
+ showIcon && /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39541
40057
  Skeleton,
39542
40058
  {
39543
40059
  className: "size-4 rounded-md",
39544
40060
  "data-sidebar": "menu-skeleton-icon"
39545
40061
  }
39546
40062
  ),
39547
- /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
40063
+ /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39548
40064
  Skeleton,
39549
40065
  {
39550
40066
  className: "h-4 max-w-[--skeleton-width] flex-1",
@@ -39559,7 +40075,7 @@ var SidebarMenuSkeleton = React100.forwardRef(({ className, showIcon = false, ..
39559
40075
  );
39560
40076
  });
39561
40077
  SidebarMenuSkeleton.displayName = "SidebarMenuSkeleton";
39562
- 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)(
39563
40079
  "ul",
39564
40080
  {
39565
40081
  ref,
@@ -39573,11 +40089,11 @@ var SidebarMenuSub = React100.forwardRef(({ className, ...props }, ref) => /* @_
39573
40089
  }
39574
40090
  ));
39575
40091
  SidebarMenuSub.displayName = "SidebarMenuSub";
39576
- 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 }));
39577
40093
  SidebarMenuSubItem.displayName = "SidebarMenuSubItem";
39578
40094
  var SidebarMenuSubButton = React100.forwardRef(({ asChild = false, size = "md", isActive, className, ...props }, ref) => {
39579
40095
  const Comp = asChild ? import_react_slot6.Slot : "a";
39580
- return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
40096
+ return /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
39581
40097
  Comp,
39582
40098
  {
39583
40099
  ref,
@@ -39601,20 +40117,20 @@ SidebarMenuSubButton.displayName = "SidebarMenuSubButton";
39601
40117
  // src/components/ui/sonner.tsx
39602
40118
  var import_next_themes = require("next-themes");
39603
40119
  var import_sonner = require("sonner");
39604
- var import_jsx_runtime139 = require("react/jsx-runtime");
40120
+ var import_jsx_runtime144 = require("react/jsx-runtime");
39605
40121
  var Toaster = ({ ...props }) => {
39606
40122
  const { theme = "system" } = (0, import_next_themes.useTheme)();
39607
- return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
40123
+ return /* @__PURE__ */ (0, import_jsx_runtime144.jsx)(
39608
40124
  import_sonner.Toaster,
39609
40125
  {
39610
40126
  theme,
39611
40127
  className: "toaster group",
39612
40128
  icons: {
39613
- success: /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(CircleCheck, { className: "h-4 w-4" }),
39614
- info: /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(Info, { className: "h-4 w-4" }),
39615
- warning: /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(TriangleAlert, { className: "h-4 w-4" }),
39616
- error: /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(OctagonX, { className: "h-4 w-4" }),
39617
- 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" })
39618
40134
  },
39619
40135
  toastOptions: {
39620
40136
  classNames: {
@@ -39632,24 +40148,24 @@ var Toaster = ({ ...props }) => {
39632
40148
  // src/components/ui/toggle-group.tsx
39633
40149
  var React101 = __toESM(require("react"), 1);
39634
40150
  var ToggleGroupPrimitive = __toESM(require("@radix-ui/react-toggle-group"), 1);
39635
- var import_jsx_runtime140 = require("react/jsx-runtime");
40151
+ var import_jsx_runtime145 = require("react/jsx-runtime");
39636
40152
  var ToggleGroupContext = React101.createContext({
39637
40153
  size: "default",
39638
40154
  variant: "default"
39639
40155
  });
39640
- 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)(
39641
40157
  ToggleGroupPrimitive.Root,
39642
40158
  {
39643
40159
  ref,
39644
40160
  className: cn("flex items-center justify-center gap-1", className),
39645
40161
  ...props,
39646
- 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 })
39647
40163
  }
39648
40164
  ));
39649
40165
  ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
39650
40166
  var ToggleGroupItem = React101.forwardRef(({ className, children, variant, size, ...props }, ref) => {
39651
40167
  const context = React101.useContext(ToggleGroupContext);
39652
- return /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(
40168
+ return /* @__PURE__ */ (0, import_jsx_runtime145.jsx)(
39653
40169
  ToggleGroupPrimitive.Item,
39654
40170
  {
39655
40171
  ref,
@@ -39668,7 +40184,7 @@ var ToggleGroupItem = React101.forwardRef(({ className, children, variant, size,
39668
40184
  ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
39669
40185
 
39670
40186
  // src/render/PXEngineRenderer.tsx
39671
- var import_jsx_runtime141 = require("react/jsx-runtime");
40187
+ var import_jsx_runtime146 = require("react/jsx-runtime");
39672
40188
  var CONTEXT_DEPENDENT_COMPONENTS = /* @__PURE__ */ new Set([
39673
40189
  // Form components - require FormField + FormItem context
39674
40190
  "FormLabel",
@@ -39760,24 +40276,24 @@ var COMPONENT_SUGGESTIONS = {
39760
40276
  };
39761
40277
  var renderContextDependentError = (componentName, normalizedName, key) => {
39762
40278
  const suggestion = COMPONENT_SUGGESTIONS[normalizedName] || `${componentName}Atom (if available)`;
39763
- return /* @__PURE__ */ (0, import_jsx_runtime141.jsxs)(
40279
+ return /* @__PURE__ */ (0, import_jsx_runtime146.jsxs)(
39764
40280
  "div",
39765
40281
  {
39766
40282
  className: "p-4 border-2 border-amber-500/50 rounded-lg bg-amber-50/80 space-y-2 my-2",
39767
40283
  children: [
39768
- /* @__PURE__ */ (0, import_jsx_runtime141.jsxs)("div", { className: "flex items-start gap-2", children: [
39769
- /* @__PURE__ */ (0, import_jsx_runtime141.jsx)("span", { className: "text-amber-600 font-bold text-lg", children: "\u26A0\uFE0F" }),
39770
- /* @__PURE__ */ (0, import_jsx_runtime141.jsxs)("div", { className: "flex-1", children: [
39771
- /* @__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: [
39772
40288
  "Invalid Component: ",
39773
40289
  componentName
39774
40290
  ] }),
39775
- /* @__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." })
39776
40292
  ] })
39777
40293
  ] }),
39778
- /* @__PURE__ */ (0, import_jsx_runtime141.jsxs)("div", { className: "bg-white/60 p-3 rounded border border-amber-200", children: [
39779
- /* @__PURE__ */ (0, import_jsx_runtime141.jsx)("p", { className: "text-xs font-semibold text-gray-700 mb-1.5", children: "\u2713 Use instead:" }),
39780
- /* @__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 })
39781
40297
  ] })
39782
40298
  ]
39783
40299
  },
@@ -39857,7 +40373,7 @@ var PXEngineRenderer = ({
39857
40373
  if (typeof component === "string" || typeof component === "number") {
39858
40374
  return component;
39859
40375
  }
39860
- if (import_react71.default.isValidElement(component)) {
40376
+ if (import_react75.default.isValidElement(component)) {
39861
40377
  return component;
39862
40378
  }
39863
40379
  if (!component || typeof component !== "object") return null;
@@ -39936,7 +40452,7 @@ var PXEngineRenderer = ({
39936
40452
  const isAtomWithRenderProp = ATOMS_WITH_RENDER.has(atomName);
39937
40453
  const finalStyle = { ...dynamicStyle, ...finalProps.style || {} };
39938
40454
  if (isAtomWithRenderProp) {
39939
- return /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(
40455
+ return /* @__PURE__ */ (0, import_jsx_runtime146.jsx)(
39940
40456
  TargetComponent,
39941
40457
  {
39942
40458
  ...finalProps,
@@ -39948,7 +40464,7 @@ var PXEngineRenderer = ({
39948
40464
  uniqueKey
39949
40465
  );
39950
40466
  } else {
39951
- return /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(
40467
+ return /* @__PURE__ */ (0, import_jsx_runtime146.jsx)(
39952
40468
  TargetComponent,
39953
40469
  {
39954
40470
  ...finalProps,
@@ -39960,7 +40476,7 @@ var PXEngineRenderer = ({
39960
40476
  );
39961
40477
  }
39962
40478
  };
39963
- 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) });
39964
40480
  };
39965
40481
  // Annotate the CommonJS export names for ESM import in node:
39966
40482
  0 && (module.exports = {
@@ -40055,9 +40571,14 @@ var PXEngineRenderer = ({
40055
40571
  CountrySelectDisplay,
40056
40572
  CountrySelectEdit,
40057
40573
  CreatorActionHeader,
40574
+ CreatorCompactView,
40058
40575
  CreatorGridCard,
40576
+ CreatorImageList,
40059
40577
  CreatorProfileSummary,
40578
+ CreatorProgressBar,
40060
40579
  CreatorSearch,
40580
+ CreatorWidget,
40581
+ CreatorWidgetSkeleton,
40061
40582
  DataGrid,
40062
40583
  Dialog,
40063
40584
  DialogAtom,
@@ -40235,7 +40756,8 @@ var PXEngineRenderer = ({
40235
40756
  UIComponentSelector,
40236
40757
  VideoAtom,
40237
40758
  WorkflowVisualizer,
40238
- cn
40759
+ cn,
40760
+ useCreatorWidgetPolling
40239
40761
  });
40240
40762
  /*! Bundled license information:
40241
40763