@ai-matrx/agents 0.8.0 → 0.9.0
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/CHANGELOG.md +135 -0
- package/dist/catalog/index.cjs +50 -3
- package/dist/catalog/index.cjs.map +1 -1
- package/dist/catalog/index.d.cts +11 -615
- package/dist/catalog/index.d.ts +11 -615
- package/dist/catalog/index.js +50 -3
- package/dist/catalog/index.js.map +1 -1
- package/dist/catalog/native/index.cjs +2806 -0
- package/dist/catalog/native/index.cjs.map +1 -0
- package/dist/catalog/native/index.d.cts +655 -0
- package/dist/catalog/native/index.d.ts +655 -0
- package/dist/catalog/native/index.js +2802 -0
- package/dist/catalog/native/index.js.map +1 -0
- package/dist/catalog/react/index.cjs +470 -394
- package/dist/catalog/react/index.cjs.map +1 -1
- package/dist/catalog/react/index.d.cts +64 -26
- package/dist/catalog/react/index.d.ts +64 -26
- package/dist/catalog/react/index.js +354 -278
- package/dist/catalog/react/index.js.map +1 -1
- package/dist/orchestra-BWJM2MWP.d.cts +643 -0
- package/dist/orchestra-BWJM2MWP.d.ts +643 -0
- package/package.json +22 -2
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
"use client";
|
|
3
3
|
|
|
4
4
|
// catalog/react/context.tsx
|
|
5
|
+
import { useMemo as useMemo2 } from "react";
|
|
6
|
+
|
|
7
|
+
// catalog/shared/context.tsx
|
|
5
8
|
import {
|
|
6
9
|
createContext,
|
|
7
10
|
useCallback,
|
|
@@ -11,17 +14,19 @@ import {
|
|
|
11
14
|
} from "react";
|
|
12
15
|
import { jsx } from "react/jsx-runtime";
|
|
13
16
|
var AgentCatalogContext = createContext(null);
|
|
14
|
-
function
|
|
17
|
+
function AgentCatalogProviderCore({
|
|
15
18
|
catalog,
|
|
19
|
+
platform,
|
|
16
20
|
children,
|
|
17
21
|
...ports
|
|
18
22
|
}) {
|
|
19
23
|
const value = useMemo(
|
|
20
|
-
() => ({ catalog, ...ports }),
|
|
24
|
+
() => ({ catalog, platform, ...ports }),
|
|
21
25
|
// The ports are plain values a host declares once; re-binding on identity
|
|
22
26
|
// change is correct and cheap.
|
|
23
27
|
[
|
|
24
28
|
catalog,
|
|
29
|
+
platform,
|
|
25
30
|
ports.navigate,
|
|
26
31
|
ports.LinkComponent,
|
|
27
32
|
ports.renderModelRef,
|
|
@@ -35,7 +40,7 @@ function useBinding() {
|
|
|
35
40
|
const binding = useContext(AgentCatalogContext);
|
|
36
41
|
if (!binding) {
|
|
37
42
|
throw new Error(
|
|
38
|
-
"@ai-matrx/agents/catalog
|
|
43
|
+
"@ai-matrx/agents/catalog: no <AgentCatalogProvider> is mounted above this component. Create the catalog once with createAgentCatalog({ client, identity }) and mount <AgentCatalogProvider catalog={catalog}> at the top of your tree."
|
|
39
44
|
);
|
|
40
45
|
}
|
|
41
46
|
return binding;
|
|
@@ -45,29 +50,26 @@ function useAgentCatalog() {
|
|
|
45
50
|
}
|
|
46
51
|
function useAgentCatalogUiPorts() {
|
|
47
52
|
const binding = useBinding();
|
|
53
|
+
const hostNavigate = binding.navigate;
|
|
54
|
+
const platformNavigate = binding.platform.navigate;
|
|
48
55
|
const navigate = useCallback(
|
|
49
56
|
(href) => {
|
|
50
|
-
if (
|
|
51
|
-
|
|
57
|
+
if (hostNavigate) {
|
|
58
|
+
hostNavigate(href);
|
|
52
59
|
return;
|
|
53
60
|
}
|
|
54
|
-
|
|
61
|
+
platformNavigate(href);
|
|
55
62
|
},
|
|
56
|
-
[
|
|
63
|
+
[hostNavigate, platformNavigate]
|
|
57
64
|
);
|
|
58
65
|
return {
|
|
59
66
|
navigate,
|
|
60
|
-
LinkComponent: binding.LinkComponent ??
|
|
61
|
-
renderModelRef: binding.renderModelRef ??
|
|
67
|
+
LinkComponent: binding.LinkComponent ?? binding.platform.LinkComponent,
|
|
68
|
+
renderModelRef: binding.renderModelRef ?? binding.platform.renderModelRef,
|
|
62
69
|
openPeek: binding.openPeek,
|
|
63
70
|
popoverContainer: binding.popoverContainer
|
|
64
71
|
};
|
|
65
72
|
}
|
|
66
|
-
var DefaultLink = ({ children, ...props }) => /* @__PURE__ */ jsx("a", { ...props, children });
|
|
67
|
-
var defaultRenderModelRef = ({
|
|
68
|
-
modelId,
|
|
69
|
-
className
|
|
70
|
-
}) => /* @__PURE__ */ jsx("span", { className, children: modelId });
|
|
71
73
|
function useAgentCatalogState(select) {
|
|
72
74
|
const catalog = useAgentCatalog();
|
|
73
75
|
const getSnapshot = useCallback(
|
|
@@ -81,7 +83,39 @@ function useAgentCatalogRows() {
|
|
|
81
83
|
}
|
|
82
84
|
var selectRows = (state) => state.rows;
|
|
83
85
|
|
|
84
|
-
// catalog/react/
|
|
86
|
+
// catalog/react/context.tsx
|
|
87
|
+
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
88
|
+
var DefaultLink = ({ children, ...props }) => /* @__PURE__ */ jsx2("a", { ...props, children });
|
|
89
|
+
var defaultRenderModelRef = ({
|
|
90
|
+
modelId,
|
|
91
|
+
className
|
|
92
|
+
}) => /* @__PURE__ */ jsx2("span", { className, children: modelId });
|
|
93
|
+
var webNavigate = (href) => {
|
|
94
|
+
if (typeof window !== "undefined") window.location.assign(href);
|
|
95
|
+
};
|
|
96
|
+
var WEB_PLATFORM_DEFAULTS = {
|
|
97
|
+
navigate: webNavigate,
|
|
98
|
+
LinkComponent: DefaultLink,
|
|
99
|
+
renderModelRef: defaultRenderModelRef
|
|
100
|
+
};
|
|
101
|
+
function AgentCatalogProvider({
|
|
102
|
+
catalog,
|
|
103
|
+
children,
|
|
104
|
+
...ports
|
|
105
|
+
}) {
|
|
106
|
+
const platform = useMemo2(() => WEB_PLATFORM_DEFAULTS, []);
|
|
107
|
+
return /* @__PURE__ */ jsx2(
|
|
108
|
+
AgentCatalogProviderCore,
|
|
109
|
+
{
|
|
110
|
+
catalog,
|
|
111
|
+
platform,
|
|
112
|
+
...ports,
|
|
113
|
+
children
|
|
114
|
+
}
|
|
115
|
+
);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
// catalog/shared/useAgentConsumer.ts
|
|
85
119
|
import { useCallback as useCallback2, useEffect, useRef, useState } from "react";
|
|
86
120
|
|
|
87
121
|
// catalog/types.ts
|
|
@@ -113,7 +147,7 @@ var DEFAULT_AGENT_CONSUMER_STATE = {
|
|
|
113
147
|
deepSearch: false
|
|
114
148
|
};
|
|
115
149
|
|
|
116
|
-
// catalog/
|
|
150
|
+
// catalog/shared/useAgentConsumer.ts
|
|
117
151
|
var DEBOUNCE_MS = 250;
|
|
118
152
|
var MIN_QUERY_LENGTH = 2;
|
|
119
153
|
function useAgentConsumer(consumerId, options) {
|
|
@@ -287,11 +321,11 @@ function useAgentConsumer(consumerId, options) {
|
|
|
287
321
|
};
|
|
288
322
|
}
|
|
289
323
|
|
|
290
|
-
// catalog/
|
|
324
|
+
// catalog/shared/useAgentListCore.ts
|
|
291
325
|
import {
|
|
292
326
|
useCallback as useCallback3,
|
|
293
327
|
useEffect as useEffect2,
|
|
294
|
-
useMemo as
|
|
328
|
+
useMemo as useMemo3,
|
|
295
329
|
useRef as useRef2,
|
|
296
330
|
useState as useState2
|
|
297
331
|
} from "react";
|
|
@@ -582,7 +616,7 @@ var selectTotalFavoriteAgentsCount = memoize1(
|
|
|
582
616
|
(agents) => selectUserTypeAgents(agents).filter((a) => a.isFavorite).length
|
|
583
617
|
);
|
|
584
618
|
|
|
585
|
-
// catalog/
|
|
619
|
+
// catalog/shared/useAgentListCore.ts
|
|
586
620
|
var HOVER_GRACE_MS = 900;
|
|
587
621
|
function coerceVisibleTab(current, allowed, initialTab) {
|
|
588
622
|
if (allowed.length === 0) return null;
|
|
@@ -611,12 +645,12 @@ function useAgentListCore({
|
|
|
611
645
|
const rows = useAgentCatalogRows();
|
|
612
646
|
const userId = catalog.getUserIdOrNull();
|
|
613
647
|
const ownedCount = selectTotalOwnedAgentsCount(rows);
|
|
614
|
-
const selectFiltered =
|
|
648
|
+
const selectFiltered = useMemo3(
|
|
615
649
|
() => makeSelectFilteredAgents(includeSystemInAll),
|
|
616
650
|
[includeSystemInAll]
|
|
617
651
|
);
|
|
618
652
|
const filteredAgents = selectFiltered(rows, consumer.state);
|
|
619
|
-
const excludedAgentIds =
|
|
653
|
+
const excludedAgentIds = useMemo3(
|
|
620
654
|
() => new Set(excludeAgentIds),
|
|
621
655
|
[excludeAgentIds]
|
|
622
656
|
);
|
|
@@ -791,15 +825,111 @@ import {
|
|
|
791
825
|
TooltipTrigger,
|
|
792
826
|
useIsMobile
|
|
793
827
|
} from "@ai-matrx/design-system";
|
|
794
|
-
import { useCallback as useCallback5, useMemo as
|
|
828
|
+
import { useCallback as useCallback5, useMemo as useMemo4, useRef as useRef4, useState as useState3 } from "react";
|
|
795
829
|
|
|
796
830
|
// catalog/react/primitives.tsx
|
|
797
831
|
import { cn } from "@ai-matrx/design-system";
|
|
798
832
|
|
|
833
|
+
// catalog/shared/icon-paths.ts
|
|
834
|
+
var SHAPES = {
|
|
835
|
+
star: {
|
|
836
|
+
paths: [
|
|
837
|
+
"M11.5 3.2a.6.6 0 0 1 1 0l2.3 4.7 5.2.8a.6.6 0 0 1 .3 1l-3.8 3.7.9 5.2a.6.6 0 0 1-.9.6L12 16.8l-4.6 2.4a.6.6 0 0 1-.9-.6l.9-5.2-3.8-3.7a.6.6 0 0 1 .3-1l5.2-.8Z"
|
|
838
|
+
],
|
|
839
|
+
fillable: true
|
|
840
|
+
},
|
|
841
|
+
chevronRight: { paths: ["m9 18 6-6-6-6"] },
|
|
842
|
+
chevronDown: { paths: ["m6 9 6 6 6-6"] },
|
|
843
|
+
search: {
|
|
844
|
+
paths: ["m21 21-4.3-4.3"],
|
|
845
|
+
circles: [{ cx: 11, cy: 11, r: 8 }]
|
|
846
|
+
},
|
|
847
|
+
x: { paths: ["M18 6 6 18", "m6 6 12 12"] },
|
|
848
|
+
check: { paths: ["M20 6 9 17l-5-5"] },
|
|
849
|
+
arrowUpDown: {
|
|
850
|
+
paths: ["m21 16-4 4-4-4", "M17 20V4", "m3 8 4-4 4 4", "M7 4v16"]
|
|
851
|
+
},
|
|
852
|
+
folder: {
|
|
853
|
+
paths: [
|
|
854
|
+
"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"
|
|
855
|
+
]
|
|
856
|
+
},
|
|
857
|
+
tag: {
|
|
858
|
+
paths: [
|
|
859
|
+
"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z"
|
|
860
|
+
],
|
|
861
|
+
circles: [{ cx: 7.5, cy: 7.5, r: 0.5, filled: true }]
|
|
862
|
+
},
|
|
863
|
+
rotateCcw: {
|
|
864
|
+
paths: [
|
|
865
|
+
"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",
|
|
866
|
+
"M3 3v5h5"
|
|
867
|
+
]
|
|
868
|
+
},
|
|
869
|
+
loader: { paths: ["M21 12a9 9 0 1 1-6.219-8.56"] },
|
|
870
|
+
alertTriangle: {
|
|
871
|
+
paths: [
|
|
872
|
+
"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",
|
|
873
|
+
"M12 9v4",
|
|
874
|
+
"M12 17h.01"
|
|
875
|
+
]
|
|
876
|
+
},
|
|
877
|
+
/**
|
|
878
|
+
* The Orchestra marker (Lucide `music-4`): the glyph the Workflow Studio's
|
|
879
|
+
* picker used for a conductor, kept identical so the same agent wears the
|
|
880
|
+
* same mark in every client.
|
|
881
|
+
*/
|
|
882
|
+
music4: {
|
|
883
|
+
paths: ["M9 18V5l12-2v13", "m9 9 12-2"],
|
|
884
|
+
circles: [
|
|
885
|
+
{ cx: 6, cy: 18, r: 3 },
|
|
886
|
+
{ cx: 18, cy: 16, r: 3 }
|
|
887
|
+
]
|
|
888
|
+
},
|
|
889
|
+
clock: {
|
|
890
|
+
paths: ["M12 6v6l4 2"],
|
|
891
|
+
circles: [{ cx: 12, cy: 12, r: 10 }]
|
|
892
|
+
},
|
|
893
|
+
globe: {
|
|
894
|
+
paths: ["M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20", "M2 12h20"],
|
|
895
|
+
circles: [{ cx: 12, cy: 12, r: 10 }]
|
|
896
|
+
},
|
|
897
|
+
users: {
|
|
898
|
+
paths: [
|
|
899
|
+
"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",
|
|
900
|
+
"M22 21v-2a4 4 0 0 0-3-3.87",
|
|
901
|
+
"M16 3.13a4 4 0 0 1 0 7.75"
|
|
902
|
+
],
|
|
903
|
+
circles: [{ cx: 9, cy: 7, r: 4 }]
|
|
904
|
+
},
|
|
905
|
+
externalLink: {
|
|
906
|
+
paths: [
|
|
907
|
+
"M15 3h6v6",
|
|
908
|
+
"M10 14 21 3",
|
|
909
|
+
"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"
|
|
910
|
+
]
|
|
911
|
+
},
|
|
912
|
+
messageCircle: { paths: ["M7.9 20A9 9 0 1 0 4 16.1L2 22Z"] },
|
|
913
|
+
rocket: {
|
|
914
|
+
paths: [
|
|
915
|
+
"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91 0",
|
|
916
|
+
"m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2",
|
|
917
|
+
"M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0",
|
|
918
|
+
"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5"
|
|
919
|
+
]
|
|
920
|
+
},
|
|
921
|
+
circleCheck: {
|
|
922
|
+
paths: ["m9 12 2 2 4-4"],
|
|
923
|
+
circles: [{ cx: 12, cy: 12, r: 10 }]
|
|
924
|
+
}
|
|
925
|
+
};
|
|
926
|
+
var ICON_PATHS = SHAPES;
|
|
927
|
+
var ICON_NAMES = Object.keys(ICON_PATHS);
|
|
928
|
+
|
|
799
929
|
// catalog/react/icons.tsx
|
|
800
|
-
import { jsx as
|
|
930
|
+
import { Fragment, jsx as jsx3, jsxs } from "react/jsx-runtime";
|
|
801
931
|
function Svg({ children, ...props }) {
|
|
802
|
-
return /* @__PURE__ */
|
|
932
|
+
return /* @__PURE__ */ jsx3(
|
|
803
933
|
"svg",
|
|
804
934
|
{
|
|
805
935
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -815,133 +945,79 @@ function Svg({ children, ...props }) {
|
|
|
815
945
|
}
|
|
816
946
|
);
|
|
817
947
|
}
|
|
948
|
+
function Shape({ name, filled }) {
|
|
949
|
+
const shape = ICON_PATHS[name];
|
|
950
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
951
|
+
shape.paths.map((d, index) => /* @__PURE__ */ jsx3(
|
|
952
|
+
"path",
|
|
953
|
+
{
|
|
954
|
+
d,
|
|
955
|
+
...filled && shape.fillable ? { fill: "currentColor" } : {}
|
|
956
|
+
},
|
|
957
|
+
`p${index}`
|
|
958
|
+
)),
|
|
959
|
+
(shape.circles ?? []).map((circle, index) => /* @__PURE__ */ jsx3(
|
|
960
|
+
"circle",
|
|
961
|
+
{
|
|
962
|
+
cx: circle.cx,
|
|
963
|
+
cy: circle.cy,
|
|
964
|
+
r: circle.r,
|
|
965
|
+
...circle.filled ? { fill: "currentColor" } : {}
|
|
966
|
+
},
|
|
967
|
+
`c${index}`
|
|
968
|
+
))
|
|
969
|
+
] });
|
|
970
|
+
}
|
|
971
|
+
function makeIcon(name) {
|
|
972
|
+
return function Icon(props) {
|
|
973
|
+
return /* @__PURE__ */ jsx3(Svg, { ...props, children: /* @__PURE__ */ jsx3(Shape, { name, filled: false }) });
|
|
974
|
+
};
|
|
975
|
+
}
|
|
818
976
|
function StarIcon({
|
|
819
977
|
filled = false,
|
|
820
978
|
...props
|
|
821
979
|
}) {
|
|
822
|
-
return /* @__PURE__ */
|
|
823
|
-
}
|
|
824
|
-
function ChevronRightIcon(props) {
|
|
825
|
-
return /* @__PURE__ */ jsx2(Svg, { ...props, children: /* @__PURE__ */ jsx2("path", { d: "m9 18 6-6-6-6" }) });
|
|
826
|
-
}
|
|
827
|
-
function ChevronDownIcon(props) {
|
|
828
|
-
return /* @__PURE__ */ jsx2(Svg, { ...props, children: /* @__PURE__ */ jsx2("path", { d: "m6 9 6 6 6-6" }) });
|
|
829
|
-
}
|
|
830
|
-
function SearchIcon(props) {
|
|
831
|
-
return /* @__PURE__ */ jsxs(Svg, { ...props, children: [
|
|
832
|
-
/* @__PURE__ */ jsx2("circle", { cx: "11", cy: "11", r: "8" }),
|
|
833
|
-
/* @__PURE__ */ jsx2("path", { d: "m21 21-4.3-4.3" })
|
|
834
|
-
] });
|
|
835
|
-
}
|
|
836
|
-
function XIcon(props) {
|
|
837
|
-
return /* @__PURE__ */ jsxs(Svg, { ...props, children: [
|
|
838
|
-
/* @__PURE__ */ jsx2("path", { d: "M18 6 6 18" }),
|
|
839
|
-
/* @__PURE__ */ jsx2("path", { d: "m6 6 12 12" })
|
|
840
|
-
] });
|
|
841
|
-
}
|
|
842
|
-
function CheckIcon(props) {
|
|
843
|
-
return /* @__PURE__ */ jsx2(Svg, { ...props, children: /* @__PURE__ */ jsx2("path", { d: "M20 6 9 17l-5-5" }) });
|
|
844
|
-
}
|
|
845
|
-
function ArrowUpDownIcon(props) {
|
|
846
|
-
return /* @__PURE__ */ jsxs(Svg, { ...props, children: [
|
|
847
|
-
/* @__PURE__ */ jsx2("path", { d: "m21 16-4 4-4-4" }),
|
|
848
|
-
/* @__PURE__ */ jsx2("path", { d: "M17 20V4" }),
|
|
849
|
-
/* @__PURE__ */ jsx2("path", { d: "m3 8 4-4 4 4" }),
|
|
850
|
-
/* @__PURE__ */ jsx2("path", { d: "M7 4v16" })
|
|
851
|
-
] });
|
|
852
|
-
}
|
|
853
|
-
function FolderIcon(props) {
|
|
854
|
-
return /* @__PURE__ */ jsx2(Svg, { ...props, children: /* @__PURE__ */ jsx2("path", { d: "M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z" }) });
|
|
855
|
-
}
|
|
856
|
-
function TagIcon(props) {
|
|
857
|
-
return /* @__PURE__ */ jsxs(Svg, { ...props, children: [
|
|
858
|
-
/* @__PURE__ */ jsx2("path", { d: "M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z" }),
|
|
859
|
-
/* @__PURE__ */ jsx2("circle", { cx: "7.5", cy: "7.5", r: ".5", fill: "currentColor" })
|
|
860
|
-
] });
|
|
861
|
-
}
|
|
862
|
-
function RotateCcwIcon(props) {
|
|
863
|
-
return /* @__PURE__ */ jsxs(Svg, { ...props, children: [
|
|
864
|
-
/* @__PURE__ */ jsx2("path", { d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8" }),
|
|
865
|
-
/* @__PURE__ */ jsx2("path", { d: "M3 3v5h5" })
|
|
866
|
-
] });
|
|
867
|
-
}
|
|
868
|
-
function LoaderIcon(props) {
|
|
869
|
-
return /* @__PURE__ */ jsx2(Svg, { ...props, children: /* @__PURE__ */ jsx2("path", { d: "M21 12a9 9 0 1 1-6.219-8.56" }) });
|
|
980
|
+
return /* @__PURE__ */ jsx3(Svg, { ...props, fill: filled ? "currentColor" : "none", children: /* @__PURE__ */ jsx3(Shape, { name: "star", filled }) });
|
|
870
981
|
}
|
|
982
|
+
var ChevronRightIcon = makeIcon("chevronRight");
|
|
983
|
+
var ChevronDownIcon = makeIcon("chevronDown");
|
|
984
|
+
var SearchIcon = makeIcon("search");
|
|
985
|
+
var XIcon = makeIcon("x");
|
|
986
|
+
var CheckIcon = makeIcon("check");
|
|
987
|
+
var ArrowUpDownIcon = makeIcon("arrowUpDown");
|
|
988
|
+
var FolderIcon = makeIcon("folder");
|
|
989
|
+
var TagIcon = makeIcon("tag");
|
|
990
|
+
var RotateCcwIcon = makeIcon("rotateCcw");
|
|
991
|
+
var LoaderIcon = makeIcon("loader");
|
|
992
|
+
var UsersIcon = makeIcon("users");
|
|
993
|
+
var ClockIcon = makeIcon("clock");
|
|
994
|
+
var GlobeIcon = makeIcon("globe");
|
|
995
|
+
var ExternalLinkIcon = makeIcon("externalLink");
|
|
996
|
+
var MessageCircleIcon = makeIcon("messageCircle");
|
|
997
|
+
var RocketIcon = makeIcon("rocket");
|
|
998
|
+
var CircleCheckIcon = makeIcon("circleCheck");
|
|
999
|
+
var AlertTriangleIcon = makeIcon("alertTriangle");
|
|
1000
|
+
var Music4Icon = makeIcon("music4");
|
|
871
1001
|
function MousePointerClickIcon(props) {
|
|
872
1002
|
return /* @__PURE__ */ jsxs(Svg, { ...props, children: [
|
|
873
|
-
/* @__PURE__ */
|
|
874
|
-
/* @__PURE__ */
|
|
875
|
-
/* @__PURE__ */
|
|
876
|
-
/* @__PURE__ */
|
|
877
|
-
/* @__PURE__ */
|
|
878
|
-
] });
|
|
879
|
-
}
|
|
880
|
-
function UsersIcon(props) {
|
|
881
|
-
return /* @__PURE__ */ jsxs(Svg, { ...props, children: [
|
|
882
|
-
/* @__PURE__ */ jsx2("path", { d: "M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2" }),
|
|
883
|
-
/* @__PURE__ */ jsx2("circle", { cx: "9", cy: "7", r: "4" }),
|
|
884
|
-
/* @__PURE__ */ jsx2("path", { d: "M22 21v-2a4 4 0 0 0-3-3.87" }),
|
|
885
|
-
/* @__PURE__ */ jsx2("path", { d: "M16 3.13a4 4 0 0 1 0 7.75" })
|
|
886
|
-
] });
|
|
887
|
-
}
|
|
888
|
-
function ClockIcon(props) {
|
|
889
|
-
return /* @__PURE__ */ jsxs(Svg, { ...props, children: [
|
|
890
|
-
/* @__PURE__ */ jsx2("circle", { cx: "12", cy: "12", r: "10" }),
|
|
891
|
-
/* @__PURE__ */ jsx2("path", { d: "M12 6v6l4 2" })
|
|
892
|
-
] });
|
|
893
|
-
}
|
|
894
|
-
function GlobeIcon(props) {
|
|
895
|
-
return /* @__PURE__ */ jsxs(Svg, { ...props, children: [
|
|
896
|
-
/* @__PURE__ */ jsx2("circle", { cx: "12", cy: "12", r: "10" }),
|
|
897
|
-
/* @__PURE__ */ jsx2("path", { d: "M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20" }),
|
|
898
|
-
/* @__PURE__ */ jsx2("path", { d: "M2 12h20" })
|
|
899
|
-
] });
|
|
900
|
-
}
|
|
901
|
-
function ExternalLinkIcon(props) {
|
|
902
|
-
return /* @__PURE__ */ jsxs(Svg, { ...props, children: [
|
|
903
|
-
/* @__PURE__ */ jsx2("path", { d: "M15 3h6v6" }),
|
|
904
|
-
/* @__PURE__ */ jsx2("path", { d: "M10 14 21 3" }),
|
|
905
|
-
/* @__PURE__ */ jsx2("path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" })
|
|
906
|
-
] });
|
|
907
|
-
}
|
|
908
|
-
function MessageCircleIcon(props) {
|
|
909
|
-
return /* @__PURE__ */ jsx2(Svg, { ...props, children: /* @__PURE__ */ jsx2("path", { d: "M7.9 20A9 9 0 1 0 4 16.1L2 22Z" }) });
|
|
910
|
-
}
|
|
911
|
-
function RocketIcon(props) {
|
|
912
|
-
return /* @__PURE__ */ jsxs(Svg, { ...props, children: [
|
|
913
|
-
/* @__PURE__ */ jsx2("path", { d: "M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91 0" }),
|
|
914
|
-
/* @__PURE__ */ jsx2("path", { d: "m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2" }),
|
|
915
|
-
/* @__PURE__ */ jsx2("path", { d: "M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0" }),
|
|
916
|
-
/* @__PURE__ */ jsx2("path", { d: "M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5" })
|
|
917
|
-
] });
|
|
918
|
-
}
|
|
919
|
-
function AlertTriangleIcon(props) {
|
|
920
|
-
return /* @__PURE__ */ jsxs(Svg, { ...props, children: [
|
|
921
|
-
/* @__PURE__ */ jsx2("path", { d: "m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3" }),
|
|
922
|
-
/* @__PURE__ */ jsx2("path", { d: "M12 9v4" }),
|
|
923
|
-
/* @__PURE__ */ jsx2("path", { d: "M12 17h.01" })
|
|
924
|
-
] });
|
|
925
|
-
}
|
|
926
|
-
function Music4Icon(props) {
|
|
927
|
-
return /* @__PURE__ */ jsxs(Svg, { ...props, children: [
|
|
928
|
-
/* @__PURE__ */ jsx2("path", { d: "M9 18V5l12-2v13" }),
|
|
929
|
-
/* @__PURE__ */ jsx2("path", { d: "m9 9 12-2" }),
|
|
930
|
-
/* @__PURE__ */ jsx2("circle", { cx: "6", cy: "18", r: "3" }),
|
|
931
|
-
/* @__PURE__ */ jsx2("circle", { cx: "18", cy: "16", r: "3" })
|
|
1003
|
+
/* @__PURE__ */ jsx3("path", { d: "M14 4.1 12 6" }),
|
|
1004
|
+
/* @__PURE__ */ jsx3("path", { d: "m5.1 8-2.9-.8" }),
|
|
1005
|
+
/* @__PURE__ */ jsx3("path", { d: "m6 12-1.9 2" }),
|
|
1006
|
+
/* @__PURE__ */ jsx3("path", { d: "M7.2 2.2 8 5.1" }),
|
|
1007
|
+
/* @__PURE__ */ jsx3("path", { d: "M9.037 9.69a.498.498 0 0 1 .653-.653l11 4.5a.5.5 0 0 1-.074.949l-4.349 1.041a1 1 0 0 0-.74.739l-1.04 4.35a.5.5 0 0 1-.95.074z" })
|
|
932
1008
|
] });
|
|
933
1009
|
}
|
|
934
1010
|
|
|
935
1011
|
// catalog/react/primitives.tsx
|
|
936
|
-
import { jsx as
|
|
1012
|
+
import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
937
1013
|
var SearchInput = ({
|
|
938
1014
|
ref,
|
|
939
1015
|
value,
|
|
940
1016
|
onChange,
|
|
941
1017
|
placeholder
|
|
942
1018
|
}) => /* @__PURE__ */ jsxs2("div", { className: "flex items-center gap-1.5 h-7 px-2 rounded-md bg-muted/40 border border-border/50", children: [
|
|
943
|
-
/* @__PURE__ */
|
|
944
|
-
/* @__PURE__ */
|
|
1019
|
+
/* @__PURE__ */ jsx4(SearchIcon, { className: "w-3 h-3 text-muted-foreground shrink-0" }),
|
|
1020
|
+
/* @__PURE__ */ jsx4(
|
|
945
1021
|
"input",
|
|
946
1022
|
{
|
|
947
1023
|
ref,
|
|
@@ -953,14 +1029,14 @@ var SearchInput = ({
|
|
|
953
1029
|
style: { fontSize: "16px" }
|
|
954
1030
|
}
|
|
955
1031
|
),
|
|
956
|
-
value && /* @__PURE__ */
|
|
1032
|
+
value && /* @__PURE__ */ jsx4(
|
|
957
1033
|
"button",
|
|
958
1034
|
{
|
|
959
1035
|
type: "button",
|
|
960
1036
|
onClick: () => onChange(""),
|
|
961
1037
|
className: "text-muted-foreground hover:text-foreground",
|
|
962
1038
|
"aria-label": "Clear search",
|
|
963
|
-
children: /* @__PURE__ */
|
|
1039
|
+
children: /* @__PURE__ */ jsx4(XIcon, { className: "w-3 h-3" })
|
|
964
1040
|
}
|
|
965
1041
|
)
|
|
966
1042
|
] });
|
|
@@ -981,8 +1057,8 @@ function FilterChip({
|
|
|
981
1057
|
focused ? "bg-primary/15 text-primary border border-primary/30 ring-1 ring-primary/20" : active ? "bg-primary/10 text-primary border border-primary/20" : "text-muted-foreground hover:text-foreground hover:bg-muted/50 border border-transparent"
|
|
982
1058
|
),
|
|
983
1059
|
children: [
|
|
984
|
-
/* @__PURE__ */
|
|
985
|
-
/* @__PURE__ */
|
|
1060
|
+
/* @__PURE__ */ jsx4(Icon, { className: "w-3 h-3" }),
|
|
1061
|
+
/* @__PURE__ */ jsx4("span", { children: label })
|
|
986
1062
|
]
|
|
987
1063
|
}
|
|
988
1064
|
);
|
|
@@ -1003,8 +1079,8 @@ function OptionRow({
|
|
|
1003
1079
|
selected && "text-primary font-medium"
|
|
1004
1080
|
),
|
|
1005
1081
|
children: [
|
|
1006
|
-
/* @__PURE__ */
|
|
1007
|
-
selected && /* @__PURE__ */
|
|
1082
|
+
/* @__PURE__ */ jsx4("span", { className: "flex-1 text-left", children: label }),
|
|
1083
|
+
selected && /* @__PURE__ */ jsx4(CheckIcon, { className: "w-3.5 h-3.5 text-primary shrink-0" })
|
|
1008
1084
|
]
|
|
1009
1085
|
}
|
|
1010
1086
|
);
|
|
@@ -1021,17 +1097,17 @@ function CheckRow({
|
|
|
1021
1097
|
onClick,
|
|
1022
1098
|
className: "flex items-center gap-2 w-full px-3 py-1.5 text-xs hover:bg-muted/50 active:bg-muted/70 transition-colors",
|
|
1023
1099
|
children: [
|
|
1024
|
-
/* @__PURE__ */
|
|
1100
|
+
/* @__PURE__ */ jsx4(
|
|
1025
1101
|
"div",
|
|
1026
1102
|
{
|
|
1027
1103
|
className: cn(
|
|
1028
1104
|
"w-3.5 h-3.5 rounded-sm border flex items-center justify-center shrink-0 transition-colors",
|
|
1029
1105
|
checked ? "bg-primary border-primary" : "border-muted-foreground/30"
|
|
1030
1106
|
),
|
|
1031
|
-
children: checked && /* @__PURE__ */
|
|
1107
|
+
children: checked && /* @__PURE__ */ jsx4(CheckIcon, { className: "w-2.5 h-2.5 text-primary-foreground" })
|
|
1032
1108
|
}
|
|
1033
1109
|
),
|
|
1034
|
-
/* @__PURE__ */
|
|
1110
|
+
/* @__PURE__ */ jsx4("span", { className: "flex-1 text-left truncate", children: label })
|
|
1035
1111
|
]
|
|
1036
1112
|
}
|
|
1037
1113
|
);
|
|
@@ -1041,22 +1117,22 @@ function SidePanelHeader({
|
|
|
1041
1117
|
onClose
|
|
1042
1118
|
}) {
|
|
1043
1119
|
return /* @__PURE__ */ jsxs2("div", { className: "flex items-center justify-between px-3 py-2 border-b border-border shrink-0", children: [
|
|
1044
|
-
/* @__PURE__ */
|
|
1045
|
-
/* @__PURE__ */
|
|
1120
|
+
/* @__PURE__ */ jsx4("span", { className: "text-xs font-semibold text-foreground", children: title }),
|
|
1121
|
+
/* @__PURE__ */ jsx4(
|
|
1046
1122
|
"button",
|
|
1047
1123
|
{
|
|
1048
1124
|
type: "button",
|
|
1049
1125
|
onClick: onClose,
|
|
1050
1126
|
className: "w-5 h-5 rounded flex items-center justify-center text-muted-foreground hover:text-foreground hover:bg-muted/50 transition-colors",
|
|
1051
1127
|
"aria-label": "Close",
|
|
1052
|
-
children: /* @__PURE__ */
|
|
1128
|
+
children: /* @__PURE__ */ jsx4(XIcon, { className: "w-3.5 h-3.5" })
|
|
1053
1129
|
}
|
|
1054
1130
|
)
|
|
1055
1131
|
] });
|
|
1056
1132
|
}
|
|
1057
1133
|
|
|
1058
1134
|
// catalog/react/AgentCategoriesPanel.tsx
|
|
1059
|
-
import { jsx as
|
|
1135
|
+
import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
1060
1136
|
function AgentCategoriesPanel({
|
|
1061
1137
|
consumer,
|
|
1062
1138
|
allCategories,
|
|
@@ -1068,8 +1144,8 @@ function AgentCategoriesPanel({
|
|
|
1068
1144
|
(c) => !search || c.toLowerCase().includes(search.toLowerCase())
|
|
1069
1145
|
);
|
|
1070
1146
|
return /* @__PURE__ */ jsxs3("div", { className: "flex flex-col h-full", children: [
|
|
1071
|
-
/* @__PURE__ */
|
|
1072
|
-
/* @__PURE__ */
|
|
1147
|
+
/* @__PURE__ */ jsx5(SidePanelHeader, { title: "Categories", onClose }),
|
|
1148
|
+
/* @__PURE__ */ jsx5("div", { className: "px-2 pt-2 pb-1 shrink-0", children: /* @__PURE__ */ jsx5(
|
|
1073
1149
|
SearchInput,
|
|
1074
1150
|
{
|
|
1075
1151
|
value: search,
|
|
@@ -1090,7 +1166,7 @@ function AgentCategoriesPanel({
|
|
|
1090
1166
|
]
|
|
1091
1167
|
}
|
|
1092
1168
|
),
|
|
1093
|
-
/* @__PURE__ */
|
|
1169
|
+
/* @__PURE__ */ jsx5("div", { className: "overflow-y-auto flex-1", children: filtered.length === 0 ? /* @__PURE__ */ jsx5("p", { className: "text-xs text-muted-foreground text-center py-6", children: "No categories" }) : filtered.map((cat) => /* @__PURE__ */ jsx5(
|
|
1094
1170
|
CheckRow,
|
|
1095
1171
|
{
|
|
1096
1172
|
label: cat,
|
|
@@ -1108,7 +1184,7 @@ import { cn as cn3 } from "@ai-matrx/design-system";
|
|
|
1108
1184
|
// catalog/react/FavoriteAgentButton.tsx
|
|
1109
1185
|
import { cn as cn2 } from "@ai-matrx/design-system";
|
|
1110
1186
|
import { useCallback as useCallback4 } from "react";
|
|
1111
|
-
import { jsx as
|
|
1187
|
+
import { jsx as jsx6 } from "react/jsx-runtime";
|
|
1112
1188
|
function FavoriteAgentButton({
|
|
1113
1189
|
id,
|
|
1114
1190
|
variant = "card",
|
|
@@ -1130,7 +1206,7 @@ function FavoriteAgentButton({
|
|
|
1130
1206
|
};
|
|
1131
1207
|
const title = isOwner ? isFavorite ? "Remove from favorites" : "Add to favorites" : "Shared \u2014 cannot favorite";
|
|
1132
1208
|
if (variant === "list") {
|
|
1133
|
-
return /* @__PURE__ */
|
|
1209
|
+
return /* @__PURE__ */ jsx6(
|
|
1134
1210
|
"button",
|
|
1135
1211
|
{
|
|
1136
1212
|
type: "button",
|
|
@@ -1143,7 +1219,7 @@ function FavoriteAgentButton({
|
|
|
1143
1219
|
disabled: disabled || !isOwner,
|
|
1144
1220
|
title,
|
|
1145
1221
|
"aria-label": isFavorite ? "Remove from favorites" : "Add to favorites",
|
|
1146
|
-
children: /* @__PURE__ */
|
|
1222
|
+
children: /* @__PURE__ */ jsx6(
|
|
1147
1223
|
StarIcon,
|
|
1148
1224
|
{
|
|
1149
1225
|
filled: isFavorite,
|
|
@@ -1156,7 +1232,7 @@ function FavoriteAgentButton({
|
|
|
1156
1232
|
}
|
|
1157
1233
|
);
|
|
1158
1234
|
}
|
|
1159
|
-
return /* @__PURE__ */
|
|
1235
|
+
return /* @__PURE__ */ jsx6(
|
|
1160
1236
|
"button",
|
|
1161
1237
|
{
|
|
1162
1238
|
type: "button",
|
|
@@ -1170,7 +1246,7 @@ function FavoriteAgentButton({
|
|
|
1170
1246
|
disabled: disabled || !isOwner,
|
|
1171
1247
|
title,
|
|
1172
1248
|
"aria-label": isFavorite ? "Remove from favorites" : "Add to favorites",
|
|
1173
|
-
children: /* @__PURE__ */
|
|
1249
|
+
children: /* @__PURE__ */ jsx6(StarIcon, { filled: isFavorite, className: "w-4 h-4 transition-all duration-150" })
|
|
1174
1250
|
}
|
|
1175
1251
|
);
|
|
1176
1252
|
}
|
|
@@ -1203,7 +1279,7 @@ function orchestraDelegatesLine(badge, limit = 3) {
|
|
|
1203
1279
|
}
|
|
1204
1280
|
|
|
1205
1281
|
// catalog/react/AgentDetailCard.tsx
|
|
1206
|
-
import { Fragment, jsx as
|
|
1282
|
+
import { Fragment as Fragment2, jsx as jsx7, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
1207
1283
|
function AgentDetailCard({ agent, onSelect }) {
|
|
1208
1284
|
const { LinkComponent, renderModelRef, openPeek } = useAgentCatalogUiPorts();
|
|
1209
1285
|
const updatedDate = agent.updatedAt ? new Date(agent.updatedAt) : null;
|
|
@@ -1218,23 +1294,23 @@ function AgentDetailCard({ agent, onSelect }) {
|
|
|
1218
1294
|
});
|
|
1219
1295
|
};
|
|
1220
1296
|
return /* @__PURE__ */ jsxs4("div", { className: "flex flex-col h-full", children: [
|
|
1221
|
-
/* @__PURE__ */
|
|
1222
|
-
/* @__PURE__ */
|
|
1297
|
+
/* @__PURE__ */ jsx7("div", { className: "px-4 pt-4 pb-3", children: /* @__PURE__ */ jsxs4("div", { className: "flex items-start gap-3", children: [
|
|
1298
|
+
/* @__PURE__ */ jsx7("div", { className: "w-9 h-9 rounded-lg bg-primary/10 flex items-center justify-center shrink-0" }),
|
|
1223
1299
|
/* @__PURE__ */ jsxs4("div", { className: "flex-1 min-w-0", children: [
|
|
1224
|
-
/* @__PURE__ */
|
|
1225
|
-
agent.isFavorite && /* @__PURE__ */
|
|
1300
|
+
/* @__PURE__ */ jsx7("h3", { className: "text-sm font-semibold text-foreground leading-tight truncate", children: agent.name || "Untitled" }),
|
|
1301
|
+
agent.isFavorite && /* @__PURE__ */ jsx7("div", { className: "flex items-center gap-1 mt-0.5", children: /* @__PURE__ */ jsx7("span", { className: "text-[11px] matrx-agent-star-on", children: "Pinned to favorites" }) })
|
|
1226
1302
|
] }),
|
|
1227
|
-
!isDefaultRow && /* @__PURE__ */
|
|
1303
|
+
!isDefaultRow && /* @__PURE__ */ jsx7(FavoriteAgentButton, { id: agent.id, variant: "list" })
|
|
1228
1304
|
] }) }),
|
|
1229
|
-
/* @__PURE__ */
|
|
1305
|
+
/* @__PURE__ */ jsx7("div", { className: "h-px bg-border mx-3" }),
|
|
1230
1306
|
/* @__PURE__ */ jsxs4("div", { className: "flex-1 overflow-y-auto px-4 py-3 space-y-3", children: [
|
|
1231
1307
|
agent.orchestra && /* @__PURE__ */ jsxs4("div", { className: "rounded-md border border-primary/20 bg-primary/5 px-2.5 py-2", children: [
|
|
1232
1308
|
/* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-1.5", children: [
|
|
1233
|
-
/* @__PURE__ */
|
|
1234
|
-
/* @__PURE__ */
|
|
1309
|
+
/* @__PURE__ */ jsx7(Music4Icon, { className: "w-3.5 h-3.5 text-primary shrink-0" }),
|
|
1310
|
+
/* @__PURE__ */ jsx7("span", { className: "text-[11px] font-medium text-primary", children: orchestraLabel(agent.orchestra) })
|
|
1235
1311
|
] }),
|
|
1236
|
-
agent.orchestra.tagline && /* @__PURE__ */
|
|
1237
|
-
orchestraDelegatesLine(agent.orchestra) && /* @__PURE__ */
|
|
1312
|
+
agent.orchestra.tagline && /* @__PURE__ */ jsx7("p", { className: "mt-1 text-xs text-foreground/80 leading-relaxed", children: agent.orchestra.tagline }),
|
|
1313
|
+
orchestraDelegatesLine(agent.orchestra) && /* @__PURE__ */ jsx7(
|
|
1238
1314
|
"p",
|
|
1239
1315
|
{
|
|
1240
1316
|
className: "mt-1 text-[11px] text-muted-foreground",
|
|
@@ -1242,22 +1318,22 @@ function AgentDetailCard({ agent, onSelect }) {
|
|
|
1242
1318
|
children: orchestraDelegatesLine(agent.orchestra)
|
|
1243
1319
|
}
|
|
1244
1320
|
),
|
|
1245
|
-
orchestraDepthLine(agent.orchestra) && /* @__PURE__ */
|
|
1321
|
+
orchestraDepthLine(agent.orchestra) && /* @__PURE__ */ jsx7("p", { className: "mt-0.5 text-[11px] text-muted-foreground", children: orchestraDepthLine(agent.orchestra) })
|
|
1246
1322
|
] }),
|
|
1247
1323
|
agent.description && /* @__PURE__ */ jsxs4("div", { children: [
|
|
1248
|
-
/* @__PURE__ */
|
|
1249
|
-
/* @__PURE__ */
|
|
1324
|
+
/* @__PURE__ */ jsx7("p", { className: "text-[11px] font-medium text-muted-foreground uppercase tracking-wider mb-1", children: "Description" }),
|
|
1325
|
+
/* @__PURE__ */ jsx7("p", { className: "text-xs text-foreground/80 leading-relaxed", children: agent.description })
|
|
1250
1326
|
] }),
|
|
1251
1327
|
agent.category && /* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-2", children: [
|
|
1252
|
-
/* @__PURE__ */
|
|
1253
|
-
/* @__PURE__ */
|
|
1328
|
+
/* @__PURE__ */ jsx7(FolderIcon, { className: "w-3.5 h-3.5 text-muted-foreground shrink-0" }),
|
|
1329
|
+
/* @__PURE__ */ jsx7("span", { className: "text-xs text-foreground/80", children: agent.category })
|
|
1254
1330
|
] }),
|
|
1255
1331
|
agent.tags && agent.tags.length > 0 && /* @__PURE__ */ jsxs4("div", { children: [
|
|
1256
1332
|
/* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-1.5 mb-1.5", children: [
|
|
1257
|
-
/* @__PURE__ */
|
|
1258
|
-
/* @__PURE__ */
|
|
1333
|
+
/* @__PURE__ */ jsx7(TagIcon, { className: "w-3.5 h-3.5 text-muted-foreground shrink-0" }),
|
|
1334
|
+
/* @__PURE__ */ jsx7("span", { className: "text-[11px] font-medium text-muted-foreground", children: "Tags" })
|
|
1259
1335
|
] }),
|
|
1260
|
-
/* @__PURE__ */
|
|
1336
|
+
/* @__PURE__ */ jsx7("div", { className: "flex flex-wrap gap-1", children: agent.tags.map((tag) => /* @__PURE__ */ jsx7(
|
|
1261
1337
|
"span",
|
|
1262
1338
|
{
|
|
1263
1339
|
className: "inline-flex items-center h-5 px-1.5 rounded text-[10px] font-medium bg-muted text-muted-foreground",
|
|
@@ -1267,29 +1343,29 @@ function AgentDetailCard({ agent, onSelect }) {
|
|
|
1267
1343
|
)) })
|
|
1268
1344
|
] }),
|
|
1269
1345
|
agent.accessLevel && /* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-2", children: [
|
|
1270
|
-
agent.isOwner === false ? /* @__PURE__ */
|
|
1346
|
+
agent.isOwner === false ? /* @__PURE__ */ jsx7(UsersIcon, { className: "w-3.5 h-3.5 text-muted-foreground shrink-0" }) : /* @__PURE__ */ jsx7(GlobeIcon, { className: "w-3.5 h-3.5 text-muted-foreground shrink-0" }),
|
|
1271
1347
|
/* @__PURE__ */ jsxs4("div", { className: "flex flex-col", children: [
|
|
1272
|
-
/* @__PURE__ */
|
|
1348
|
+
/* @__PURE__ */ jsx7("span", { className: "text-xs text-foreground/80 capitalize", children: agent.accessLevel === "owner" ? "You own this" : `Shared \u2014 ${agent.accessLevel}` }),
|
|
1273
1349
|
agent.sharedByEmail && /* @__PURE__ */ jsxs4("span", { className: "text-[10px] text-muted-foreground", children: [
|
|
1274
1350
|
"by ",
|
|
1275
1351
|
agent.sharedByEmail
|
|
1276
1352
|
] })
|
|
1277
1353
|
] })
|
|
1278
1354
|
] }),
|
|
1279
|
-
agent.modelId && /* @__PURE__ */
|
|
1355
|
+
agent.modelId && /* @__PURE__ */ jsx7("div", { className: "flex items-center gap-2", children: renderModelRef({
|
|
1280
1356
|
modelId: agent.modelId,
|
|
1281
1357
|
className: "max-w-full text-xs text-foreground/80"
|
|
1282
1358
|
}) }),
|
|
1283
1359
|
(updatedDate || createdDate) && /* @__PURE__ */ jsxs4("div", { className: "pt-1 space-y-1", children: [
|
|
1284
1360
|
updatedDate && /* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-2", children: [
|
|
1285
|
-
/* @__PURE__ */
|
|
1361
|
+
/* @__PURE__ */ jsx7(ClockIcon, { className: "w-3.5 h-3.5 text-muted-foreground shrink-0" }),
|
|
1286
1362
|
/* @__PURE__ */ jsxs4("span", { className: "text-[11px] text-muted-foreground", children: [
|
|
1287
1363
|
"Updated ",
|
|
1288
1364
|
formatDate(updatedDate)
|
|
1289
1365
|
] })
|
|
1290
1366
|
] }),
|
|
1291
1367
|
createdDate && /* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-2", children: [
|
|
1292
|
-
/* @__PURE__ */
|
|
1368
|
+
/* @__PURE__ */ jsx7(ClockIcon, { className: "w-3.5 h-3.5 text-muted-foreground/50 shrink-0" }),
|
|
1293
1369
|
/* @__PURE__ */ jsxs4("span", { className: "text-[11px] text-muted-foreground/70", children: [
|
|
1294
1370
|
"Created ",
|
|
1295
1371
|
formatDate(createdDate)
|
|
@@ -1297,9 +1373,9 @@ function AgentDetailCard({ agent, onSelect }) {
|
|
|
1297
1373
|
] })
|
|
1298
1374
|
] })
|
|
1299
1375
|
] }),
|
|
1300
|
-
/* @__PURE__ */
|
|
1376
|
+
/* @__PURE__ */ jsx7("div", { className: "h-px bg-border mx-3 mt-auto" }),
|
|
1301
1377
|
/* @__PURE__ */ jsxs4("div", { className: "px-3 py-2 shrink-0 flex items-center gap-1.5", children: [
|
|
1302
|
-
/* @__PURE__ */
|
|
1378
|
+
/* @__PURE__ */ jsx7(
|
|
1303
1379
|
"button",
|
|
1304
1380
|
{
|
|
1305
1381
|
type: "button",
|
|
@@ -1308,7 +1384,7 @@ function AgentDetailCard({ agent, onSelect }) {
|
|
|
1308
1384
|
children: "Select"
|
|
1309
1385
|
}
|
|
1310
1386
|
),
|
|
1311
|
-
openPeek && /* @__PURE__ */
|
|
1387
|
+
openPeek && /* @__PURE__ */ jsx7(
|
|
1312
1388
|
"button",
|
|
1313
1389
|
{
|
|
1314
1390
|
type: "button",
|
|
@@ -1319,11 +1395,11 @@ function AgentDetailCard({ agent, onSelect }) {
|
|
|
1319
1395
|
title: "Sneak Peek",
|
|
1320
1396
|
"aria-label": "Sneak Peek",
|
|
1321
1397
|
className: iconButtonClass,
|
|
1322
|
-
children: /* @__PURE__ */
|
|
1398
|
+
children: /* @__PURE__ */ jsx7(RocketIcon, { className: "w-3.5 h-3.5" })
|
|
1323
1399
|
}
|
|
1324
1400
|
),
|
|
1325
|
-
!isDefaultRow && /* @__PURE__ */ jsxs4(
|
|
1326
|
-
/* @__PURE__ */
|
|
1401
|
+
!isDefaultRow && /* @__PURE__ */ jsxs4(Fragment2, { children: [
|
|
1402
|
+
/* @__PURE__ */ jsx7(
|
|
1327
1403
|
LinkComponent,
|
|
1328
1404
|
{
|
|
1329
1405
|
href: `/chat/a/${agent.id}`,
|
|
@@ -1331,10 +1407,10 @@ function AgentDetailCard({ agent, onSelect }) {
|
|
|
1331
1407
|
title: "Open in chat",
|
|
1332
1408
|
"aria-label": "Open in chat",
|
|
1333
1409
|
className: iconButtonClass,
|
|
1334
|
-
children: /* @__PURE__ */
|
|
1410
|
+
children: /* @__PURE__ */ jsx7(MessageCircleIcon, { className: "w-3.5 h-3.5" })
|
|
1335
1411
|
}
|
|
1336
1412
|
),
|
|
1337
|
-
/* @__PURE__ */
|
|
1413
|
+
/* @__PURE__ */ jsx7(
|
|
1338
1414
|
LinkComponent,
|
|
1339
1415
|
{
|
|
1340
1416
|
href: `/agents/go/${agent.id}`,
|
|
@@ -1347,7 +1423,7 @@ function AgentDetailCard({ agent, onSelect }) {
|
|
|
1347
1423
|
iconButtonClass,
|
|
1348
1424
|
"hover:text-foreground"
|
|
1349
1425
|
),
|
|
1350
|
-
children: /* @__PURE__ */
|
|
1426
|
+
children: /* @__PURE__ */ jsx7(ExternalLinkIcon, { className: "w-3.5 h-3.5" })
|
|
1351
1427
|
}
|
|
1352
1428
|
)
|
|
1353
1429
|
] })
|
|
@@ -1364,7 +1440,7 @@ var PANEL_HEIGHT = "528px";
|
|
|
1364
1440
|
var LIST_MAX_HEIGHT = "min(528px, var(--radix-popper-available-height, 528px))";
|
|
1365
1441
|
|
|
1366
1442
|
// catalog/react/AgentFilterBar.tsx
|
|
1367
|
-
import { jsx as
|
|
1443
|
+
import { jsx as jsx8, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
1368
1444
|
function AgentFilterBar({
|
|
1369
1445
|
consumer,
|
|
1370
1446
|
allCategories,
|
|
@@ -1376,7 +1452,7 @@ function AgentFilterBar({
|
|
|
1376
1452
|
onReset
|
|
1377
1453
|
}) {
|
|
1378
1454
|
return /* @__PURE__ */ jsxs5("div", { className: "flex items-center gap-1 px-2 pb-1.5 overflow-x-auto matrx-agent-scrollbar-none shrink-0", children: [
|
|
1379
|
-
/* @__PURE__ */
|
|
1455
|
+
/* @__PURE__ */ jsx8(
|
|
1380
1456
|
FilterChip,
|
|
1381
1457
|
{
|
|
1382
1458
|
icon: ArrowUpDownIcon,
|
|
@@ -1386,7 +1462,7 @@ function AgentFilterBar({
|
|
|
1386
1462
|
onClick: () => onFilterChipClick("sort")
|
|
1387
1463
|
}
|
|
1388
1464
|
),
|
|
1389
|
-
/* @__PURE__ */
|
|
1465
|
+
/* @__PURE__ */ jsx8(
|
|
1390
1466
|
FilterChip,
|
|
1391
1467
|
{
|
|
1392
1468
|
icon: StarIcon,
|
|
@@ -1398,7 +1474,7 @@ function AgentFilterBar({
|
|
|
1398
1474
|
}
|
|
1399
1475
|
}
|
|
1400
1476
|
),
|
|
1401
|
-
allCategories.length > 0 && /* @__PURE__ */
|
|
1477
|
+
allCategories.length > 0 && /* @__PURE__ */ jsx8(
|
|
1402
1478
|
FilterChip,
|
|
1403
1479
|
{
|
|
1404
1480
|
icon: FolderIcon,
|
|
@@ -1408,7 +1484,7 @@ function AgentFilterBar({
|
|
|
1408
1484
|
onClick: () => onFilterChipClick("categories")
|
|
1409
1485
|
}
|
|
1410
1486
|
),
|
|
1411
|
-
allTags.length > 0 && /* @__PURE__ */
|
|
1487
|
+
allTags.length > 0 && /* @__PURE__ */ jsx8(
|
|
1412
1488
|
FilterChip,
|
|
1413
1489
|
{
|
|
1414
1490
|
icon: TagIcon,
|
|
@@ -1418,14 +1494,14 @@ function AgentFilterBar({
|
|
|
1418
1494
|
onClick: () => onFilterChipClick("tags")
|
|
1419
1495
|
}
|
|
1420
1496
|
),
|
|
1421
|
-
activeFilterCount > 0 && /* @__PURE__ */
|
|
1497
|
+
activeFilterCount > 0 && /* @__PURE__ */ jsx8(
|
|
1422
1498
|
"button",
|
|
1423
1499
|
{
|
|
1424
1500
|
type: "button",
|
|
1425
1501
|
onClick: onReset,
|
|
1426
1502
|
"aria-label": "Reset filters",
|
|
1427
1503
|
className: "flex items-center gap-0.5 h-6 px-1.5 rounded text-[11px] text-muted-foreground hover:text-foreground hover:bg-muted/50 transition-colors shrink-0",
|
|
1428
|
-
children: /* @__PURE__ */
|
|
1504
|
+
children: /* @__PURE__ */ jsx8(RotateCcwIcon, { className: "w-3 h-3" })
|
|
1429
1505
|
}
|
|
1430
1506
|
)
|
|
1431
1507
|
] });
|
|
@@ -1433,7 +1509,7 @@ function AgentFilterBar({
|
|
|
1433
1509
|
|
|
1434
1510
|
// catalog/react/AgentListTabs.tsx
|
|
1435
1511
|
import { cn as cn4 } from "@ai-matrx/design-system";
|
|
1436
|
-
import { jsx as
|
|
1512
|
+
import { jsx as jsx9, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
1437
1513
|
function AgentListTabs({
|
|
1438
1514
|
consumer,
|
|
1439
1515
|
tabCounts,
|
|
@@ -1447,7 +1523,7 @@ function AgentListTabs({
|
|
|
1447
1523
|
{ value: "all", label: "All", countKey: "all" },
|
|
1448
1524
|
{ value: "system", label: labels.publicTab, countKey: "system" }
|
|
1449
1525
|
];
|
|
1450
|
-
return /* @__PURE__ */
|
|
1526
|
+
return /* @__PURE__ */ jsx9(
|
|
1451
1527
|
"div",
|
|
1452
1528
|
{
|
|
1453
1529
|
className: "flex items-center gap-0.5 px-2 pb-1 overflow-x-auto matrx-agent-scrollbar-none shrink-0",
|
|
@@ -1469,8 +1545,8 @@ function AgentListTabs({
|
|
|
1469
1545
|
active ? "bg-primary text-primary-foreground" : "text-muted-foreground hover:text-foreground hover:bg-muted/50"
|
|
1470
1546
|
),
|
|
1471
1547
|
children: [
|
|
1472
|
-
/* @__PURE__ */
|
|
1473
|
-
/* @__PURE__ */
|
|
1548
|
+
/* @__PURE__ */ jsx9("span", { children: label }),
|
|
1549
|
+
/* @__PURE__ */ jsx9(
|
|
1474
1550
|
"span",
|
|
1475
1551
|
{
|
|
1476
1552
|
className: cn4("tabular-nums opacity-70", active && "opacity-90"),
|
|
@@ -1488,7 +1564,7 @@ function AgentListTabs({
|
|
|
1488
1564
|
|
|
1489
1565
|
// catalog/react/AgentRow.tsx
|
|
1490
1566
|
import { cn as cn5 } from "@ai-matrx/design-system";
|
|
1491
|
-
import { jsx as
|
|
1567
|
+
import { jsx as jsx10, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
1492
1568
|
function AgentRow({
|
|
1493
1569
|
agent,
|
|
1494
1570
|
isActive,
|
|
@@ -1526,8 +1602,8 @@ function AgentRow({
|
|
|
1526
1602
|
},
|
|
1527
1603
|
className: "flex items-center gap-2 flex-1 min-w-0 px-3 py-2",
|
|
1528
1604
|
children: [
|
|
1529
|
-
agent.isFavorite && /* @__PURE__ */
|
|
1530
|
-
/* @__PURE__ */
|
|
1605
|
+
agent.isFavorite && /* @__PURE__ */ jsx10(StarIcon, { filled: true, className: "w-3 h-3 matrx-agent-star-on shrink-0" }),
|
|
1606
|
+
/* @__PURE__ */ jsx10(
|
|
1531
1607
|
"span",
|
|
1532
1608
|
{
|
|
1533
1609
|
className: cn5(
|
|
@@ -1543,16 +1619,16 @@ function AgentRow({
|
|
|
1543
1619
|
className: "flex shrink-0 items-center gap-0.5 rounded-sm bg-primary/10 px-1 py-px text-[9px] font-medium text-primary",
|
|
1544
1620
|
title: orchestraDelegatesLine(agent.orchestra) ?? orchestraLabel(agent.orchestra),
|
|
1545
1621
|
children: [
|
|
1546
|
-
/* @__PURE__ */
|
|
1622
|
+
/* @__PURE__ */ jsx10(Music4Icon, { className: "w-2.5 h-2.5" }),
|
|
1547
1623
|
agent.orchestra.memberCount
|
|
1548
1624
|
]
|
|
1549
1625
|
}
|
|
1550
1626
|
),
|
|
1551
|
-
agent.agentType === "builtin" ? /* @__PURE__ */
|
|
1627
|
+
agent.agentType === "builtin" ? /* @__PURE__ */ jsx10("span", { className: "text-[9px] font-medium text-primary bg-primary/10 px-1 py-px rounded shrink-0 ml-auto", children: labels.systemBadge }) : agent.isOwner === false ? /* @__PURE__ */ jsx10("span", { className: "text-[9px] text-muted-foreground bg-muted px-1 py-px rounded shrink-0 ml-auto", children: "shared" }) : null
|
|
1552
1628
|
]
|
|
1553
1629
|
}
|
|
1554
1630
|
),
|
|
1555
|
-
isMobile && /* @__PURE__ */
|
|
1631
|
+
isMobile && /* @__PURE__ */ jsx10(
|
|
1556
1632
|
"button",
|
|
1557
1633
|
{
|
|
1558
1634
|
type: "button",
|
|
@@ -1562,7 +1638,7 @@ function AgentRow({
|
|
|
1562
1638
|
onDetailPress();
|
|
1563
1639
|
},
|
|
1564
1640
|
className: "flex items-center justify-center w-10 h-full shrink-0 text-muted-foreground/40 active:text-muted-foreground",
|
|
1565
|
-
children: /* @__PURE__ */
|
|
1641
|
+
children: /* @__PURE__ */ jsx10(ChevronRightIcon, { className: "w-4 h-4" })
|
|
1566
1642
|
}
|
|
1567
1643
|
)
|
|
1568
1644
|
]
|
|
@@ -1571,7 +1647,7 @@ function AgentRow({
|
|
|
1571
1647
|
}
|
|
1572
1648
|
|
|
1573
1649
|
// catalog/react/AgentListContent.tsx
|
|
1574
|
-
import { Fragment as
|
|
1650
|
+
import { Fragment as Fragment3, jsx as jsx11, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
1575
1651
|
function AgentListContent({
|
|
1576
1652
|
agents,
|
|
1577
1653
|
isLoading,
|
|
@@ -1609,7 +1685,7 @@ function AgentListContent({
|
|
|
1609
1685
|
const emptyLabel = agentListEmptyLabel(consumer.tab, labels);
|
|
1610
1686
|
const defaultAgent = defaultRow?.row ?? null;
|
|
1611
1687
|
return /* @__PURE__ */ jsxs8("div", { className: "flex flex-col h-full", children: [
|
|
1612
|
-
/* @__PURE__ */
|
|
1688
|
+
/* @__PURE__ */ jsx11("div", { className: "px-2 pt-2 pb-1 shrink-0", children: /* @__PURE__ */ jsx11(
|
|
1613
1689
|
SearchInput,
|
|
1614
1690
|
{
|
|
1615
1691
|
ref: inputRef,
|
|
@@ -1618,7 +1694,7 @@ function AgentListContent({
|
|
|
1618
1694
|
placeholder: labels.searchPlaceholder
|
|
1619
1695
|
}
|
|
1620
1696
|
) }),
|
|
1621
|
-
/* @__PURE__ */
|
|
1697
|
+
/* @__PURE__ */ jsx11(
|
|
1622
1698
|
AgentListTabs,
|
|
1623
1699
|
{
|
|
1624
1700
|
consumer,
|
|
@@ -1627,7 +1703,7 @@ function AgentListContent({
|
|
|
1627
1703
|
visibleTabs
|
|
1628
1704
|
}
|
|
1629
1705
|
),
|
|
1630
|
-
/* @__PURE__ */
|
|
1706
|
+
/* @__PURE__ */ jsx11(
|
|
1631
1707
|
AgentFilterBar,
|
|
1632
1708
|
{
|
|
1633
1709
|
consumer,
|
|
@@ -1646,16 +1722,16 @@ function AgentListContent({
|
|
|
1646
1722
|
role: "status",
|
|
1647
1723
|
className: "matrx-agent-drift-banner mx-2 mb-1.5 flex items-start gap-2 rounded-md px-2 py-1.5 shrink-0",
|
|
1648
1724
|
children: [
|
|
1649
|
-
/* @__PURE__ */
|
|
1650
|
-
/* @__PURE__ */
|
|
1651
|
-
/* @__PURE__ */
|
|
1725
|
+
/* @__PURE__ */ jsx11(AlertTriangleIcon, { className: "w-3.5 h-3.5 shrink-0 mt-px" }),
|
|
1726
|
+
/* @__PURE__ */ jsx11("span", { className: "text-[11px] leading-snug flex-1", children: defaultRow.drift }),
|
|
1727
|
+
/* @__PURE__ */ jsx11(
|
|
1652
1728
|
"button",
|
|
1653
1729
|
{
|
|
1654
1730
|
type: "button",
|
|
1655
1731
|
"aria-label": "Dismiss",
|
|
1656
1732
|
onClick: () => catalog.dismissDefaultRowDrift(defaultRow.mandateKey),
|
|
1657
1733
|
className: "shrink-0 opacity-70 hover:opacity-100",
|
|
1658
|
-
children: /* @__PURE__ */
|
|
1734
|
+
children: /* @__PURE__ */ jsx11(XIcon, { className: "w-3 h-3" })
|
|
1659
1735
|
}
|
|
1660
1736
|
)
|
|
1661
1737
|
]
|
|
@@ -1667,19 +1743,19 @@ function AgentListContent({
|
|
|
1667
1743
|
role: "alert",
|
|
1668
1744
|
className: "matrx-agent-drift-banner mx-2 mb-1.5 flex items-start gap-2 rounded-md px-2 py-1.5 shrink-0",
|
|
1669
1745
|
children: [
|
|
1670
|
-
/* @__PURE__ */
|
|
1671
|
-
/* @__PURE__ */
|
|
1746
|
+
/* @__PURE__ */ jsx11(AlertTriangleIcon, { className: "w-3.5 h-3.5 shrink-0 mt-px" }),
|
|
1747
|
+
/* @__PURE__ */ jsx11("span", { className: "text-[11px] leading-snug flex-1", children: defaultRow.error })
|
|
1672
1748
|
]
|
|
1673
1749
|
}
|
|
1674
1750
|
),
|
|
1675
|
-
/* @__PURE__ */
|
|
1676
|
-
/* @__PURE__ */
|
|
1677
|
-
/* @__PURE__ */
|
|
1678
|
-
/* @__PURE__ */
|
|
1679
|
-
] }) : agents.length === 0 && !pinnedAgent && !defaultAgent ? /* @__PURE__ */
|
|
1680
|
-
defaultAgent && /* @__PURE__ */ jsxs8(
|
|
1681
|
-
/* @__PURE__ */
|
|
1682
|
-
/* @__PURE__ */
|
|
1751
|
+
/* @__PURE__ */ jsx11("div", { className: "h-px bg-border shrink-0" }),
|
|
1752
|
+
/* @__PURE__ */ jsx11("div", { ref: listScrollRef, className: "overflow-y-auto flex-1 min-h-0", children: isLoading ? /* @__PURE__ */ jsxs8("div", { className: "flex items-center justify-center py-8 gap-2 text-muted-foreground", children: [
|
|
1753
|
+
/* @__PURE__ */ jsx11(LoaderIcon, { className: "w-4 h-4 matrx-agent-spin" }),
|
|
1754
|
+
/* @__PURE__ */ jsx11("span", { className: "text-xs", children: labels.loading })
|
|
1755
|
+
] }) : agents.length === 0 && !pinnedAgent && !defaultAgent ? /* @__PURE__ */ jsx11("div", { className: "flex flex-col items-center py-8 text-muted-foreground", children: /* @__PURE__ */ jsx11("span", { className: "text-xs", children: emptyLabel }) }) : /* @__PURE__ */ jsxs8("div", { className: "py-0.5", children: [
|
|
1756
|
+
defaultAgent && /* @__PURE__ */ jsxs8(Fragment3, { children: [
|
|
1757
|
+
/* @__PURE__ */ jsx11("div", { className: "px-3 pt-1.5 pb-0.5", children: /* @__PURE__ */ jsx11("span", { className: "text-[10px] font-medium uppercase tracking-wide text-muted-foreground", children: "Default" }) }),
|
|
1758
|
+
/* @__PURE__ */ jsx11(
|
|
1683
1759
|
AgentRow,
|
|
1684
1760
|
{
|
|
1685
1761
|
agent: defaultAgent,
|
|
@@ -1694,11 +1770,11 @@ function AgentListContent({
|
|
|
1694
1770
|
},
|
|
1695
1771
|
`default-${defaultAgent.id}`
|
|
1696
1772
|
),
|
|
1697
|
-
/* @__PURE__ */
|
|
1773
|
+
/* @__PURE__ */ jsx11("div", { className: "mx-2 my-0.5 h-px bg-border" })
|
|
1698
1774
|
] }),
|
|
1699
|
-
pinnedAgent && /* @__PURE__ */ jsxs8(
|
|
1700
|
-
/* @__PURE__ */
|
|
1701
|
-
/* @__PURE__ */
|
|
1775
|
+
pinnedAgent && /* @__PURE__ */ jsxs8(Fragment3, { children: [
|
|
1776
|
+
/* @__PURE__ */ jsx11("div", { className: "px-3 pt-1.5 pb-0.5", children: /* @__PURE__ */ jsx11("span", { className: "text-[10px] font-medium uppercase tracking-wide text-muted-foreground", children: labels.currentAgentHeading }) }),
|
|
1777
|
+
/* @__PURE__ */ jsx11(
|
|
1702
1778
|
AgentRow,
|
|
1703
1779
|
{
|
|
1704
1780
|
agent: pinnedAgent,
|
|
@@ -1713,9 +1789,9 @@ function AgentListContent({
|
|
|
1713
1789
|
},
|
|
1714
1790
|
`pinned-${pinnedAgent.id}`
|
|
1715
1791
|
),
|
|
1716
|
-
/* @__PURE__ */
|
|
1792
|
+
/* @__PURE__ */ jsx11("div", { className: "mx-2 my-0.5 h-px bg-border" })
|
|
1717
1793
|
] }),
|
|
1718
|
-
agents.map((agent) => /* @__PURE__ */
|
|
1794
|
+
agents.map((agent) => /* @__PURE__ */ jsx11(
|
|
1719
1795
|
AgentRow,
|
|
1720
1796
|
{
|
|
1721
1797
|
agent,
|
|
@@ -1730,16 +1806,16 @@ function AgentListContent({
|
|
|
1730
1806
|
},
|
|
1731
1807
|
agent.id
|
|
1732
1808
|
)),
|
|
1733
|
-
agents.length === 0 && (pinnedAgent || defaultAgent) && /* @__PURE__ */
|
|
1809
|
+
agents.length === 0 && (pinnedAgent || defaultAgent) && /* @__PURE__ */ jsx11("div", { className: "flex flex-col items-center py-4 text-muted-foreground", children: /* @__PURE__ */ jsx11("span", { className: "text-xs", children: emptyLabel }) })
|
|
1734
1810
|
] }) }),
|
|
1735
|
-
/* @__PURE__ */
|
|
1811
|
+
/* @__PURE__ */ jsx11("div", { className: "h-px bg-border shrink-0" }),
|
|
1736
1812
|
/* @__PURE__ */ jsxs8("div", { className: "flex items-center justify-between px-2.5 py-1.5 shrink-0", children: [
|
|
1737
1813
|
/* @__PURE__ */ jsxs8("span", { className: "text-[10px] text-muted-foreground tabular-nums", children: [
|
|
1738
1814
|
agents.length,
|
|
1739
1815
|
" agent",
|
|
1740
1816
|
agents.length !== 1 ? "s" : ""
|
|
1741
1817
|
] }),
|
|
1742
|
-
consumer.searchTerm && /* @__PURE__ */
|
|
1818
|
+
consumer.searchTerm && /* @__PURE__ */ jsx11(
|
|
1743
1819
|
"button",
|
|
1744
1820
|
{
|
|
1745
1821
|
type: "button",
|
|
@@ -1753,7 +1829,7 @@ function AgentListContent({
|
|
|
1753
1829
|
}
|
|
1754
1830
|
|
|
1755
1831
|
// catalog/react/AgentMobileSubView.tsx
|
|
1756
|
-
import { Fragment as
|
|
1832
|
+
import { Fragment as Fragment4, jsx as jsx12, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
1757
1833
|
function AgentMobileSubView({
|
|
1758
1834
|
view,
|
|
1759
1835
|
consumer,
|
|
@@ -1774,12 +1850,12 @@ function AgentMobileSubView({
|
|
|
1774
1850
|
onClick: onBack,
|
|
1775
1851
|
className: "flex items-center gap-1.5 px-3 py-2.5 text-sm font-medium text-primary hover:bg-muted/30 transition-colors border-b border-border shrink-0",
|
|
1776
1852
|
children: [
|
|
1777
|
-
/* @__PURE__ */
|
|
1853
|
+
/* @__PURE__ */ jsx12(ChevronRightIcon, { className: "w-4 h-4 rotate-180" }),
|
|
1778
1854
|
title
|
|
1779
1855
|
]
|
|
1780
1856
|
}
|
|
1781
1857
|
),
|
|
1782
|
-
view === "sort" && SORT_OPTIONS.map((opt) => /* @__PURE__ */
|
|
1858
|
+
view === "sort" && SORT_OPTIONS.map((opt) => /* @__PURE__ */ jsx12(
|
|
1783
1859
|
OptionRow,
|
|
1784
1860
|
{
|
|
1785
1861
|
label: opt.label,
|
|
@@ -1791,8 +1867,8 @@ function AgentMobileSubView({
|
|
|
1791
1867
|
},
|
|
1792
1868
|
opt.value
|
|
1793
1869
|
)),
|
|
1794
|
-
view === "categories" && /* @__PURE__ */ jsxs9(
|
|
1795
|
-
/* @__PURE__ */
|
|
1870
|
+
view === "categories" && /* @__PURE__ */ jsxs9(Fragment4, { children: [
|
|
1871
|
+
/* @__PURE__ */ jsx12("div", { className: "px-2 pt-2 pb-1", children: /* @__PURE__ */ jsx12(
|
|
1796
1872
|
SearchInput,
|
|
1797
1873
|
{
|
|
1798
1874
|
value: catSearch,
|
|
@@ -1813,9 +1889,9 @@ function AgentMobileSubView({
|
|
|
1813
1889
|
]
|
|
1814
1890
|
}
|
|
1815
1891
|
),
|
|
1816
|
-
/* @__PURE__ */
|
|
1892
|
+
/* @__PURE__ */ jsx12("div", { className: "overflow-y-auto max-h-[300px]", children: allCategories.filter(
|
|
1817
1893
|
(c) => !catSearch || c.toLowerCase().includes(catSearch.toLowerCase())
|
|
1818
|
-
).map((cat) => /* @__PURE__ */
|
|
1894
|
+
).map((cat) => /* @__PURE__ */ jsx12(
|
|
1819
1895
|
CheckRow,
|
|
1820
1896
|
{
|
|
1821
1897
|
label: cat,
|
|
@@ -1825,8 +1901,8 @@ function AgentMobileSubView({
|
|
|
1825
1901
|
cat
|
|
1826
1902
|
)) })
|
|
1827
1903
|
] }),
|
|
1828
|
-
view === "tags" && /* @__PURE__ */ jsxs9(
|
|
1829
|
-
/* @__PURE__ */
|
|
1904
|
+
view === "tags" && /* @__PURE__ */ jsxs9(Fragment4, { children: [
|
|
1905
|
+
/* @__PURE__ */ jsx12("div", { className: "px-2 pt-2 pb-1", children: /* @__PURE__ */ jsx12(
|
|
1830
1906
|
SearchInput,
|
|
1831
1907
|
{
|
|
1832
1908
|
value: tagSearch,
|
|
@@ -1847,9 +1923,9 @@ function AgentMobileSubView({
|
|
|
1847
1923
|
]
|
|
1848
1924
|
}
|
|
1849
1925
|
),
|
|
1850
|
-
/* @__PURE__ */
|
|
1926
|
+
/* @__PURE__ */ jsx12("div", { className: "overflow-y-auto max-h-[300px]", children: allTags.filter(
|
|
1851
1927
|
(t) => !tagSearch || t.toLowerCase().includes(tagSearch.toLowerCase())
|
|
1852
|
-
).map((tag) => /* @__PURE__ */
|
|
1928
|
+
).map((tag) => /* @__PURE__ */ jsx12(
|
|
1853
1929
|
CheckRow,
|
|
1854
1930
|
{
|
|
1855
1931
|
label: tag,
|
|
@@ -1863,11 +1939,11 @@ function AgentMobileSubView({
|
|
|
1863
1939
|
}
|
|
1864
1940
|
|
|
1865
1941
|
// catalog/react/AgentSortPanel.tsx
|
|
1866
|
-
import { jsx as
|
|
1942
|
+
import { jsx as jsx13, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
1867
1943
|
function AgentSortPanel({ consumer, onClose }) {
|
|
1868
1944
|
return /* @__PURE__ */ jsxs10("div", { className: "flex flex-col h-full", children: [
|
|
1869
|
-
/* @__PURE__ */
|
|
1870
|
-
/* @__PURE__ */
|
|
1945
|
+
/* @__PURE__ */ jsx13(SidePanelHeader, { title: "Sort By", onClose }),
|
|
1946
|
+
/* @__PURE__ */ jsx13("div", { className: "overflow-y-auto flex-1", children: SORT_OPTIONS.map((opt) => /* @__PURE__ */ jsx13(
|
|
1871
1947
|
OptionRow,
|
|
1872
1948
|
{
|
|
1873
1949
|
label: opt.label,
|
|
@@ -1880,7 +1956,7 @@ function AgentSortPanel({ consumer, onClose }) {
|
|
|
1880
1956
|
}
|
|
1881
1957
|
|
|
1882
1958
|
// catalog/react/AgentTagsPanel.tsx
|
|
1883
|
-
import { jsx as
|
|
1959
|
+
import { jsx as jsx14, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
1884
1960
|
function AgentTagsPanel({
|
|
1885
1961
|
consumer,
|
|
1886
1962
|
allTags,
|
|
@@ -1892,8 +1968,8 @@ function AgentTagsPanel({
|
|
|
1892
1968
|
(t) => !search || t.toLowerCase().includes(search.toLowerCase())
|
|
1893
1969
|
);
|
|
1894
1970
|
return /* @__PURE__ */ jsxs11("div", { className: "flex flex-col h-full", children: [
|
|
1895
|
-
/* @__PURE__ */
|
|
1896
|
-
/* @__PURE__ */
|
|
1971
|
+
/* @__PURE__ */ jsx14(SidePanelHeader, { title: "Tags", onClose }),
|
|
1972
|
+
/* @__PURE__ */ jsx14("div", { className: "px-2 pt-2 pb-1 shrink-0", children: /* @__PURE__ */ jsx14(
|
|
1897
1973
|
SearchInput,
|
|
1898
1974
|
{
|
|
1899
1975
|
value: search,
|
|
@@ -1914,7 +1990,7 @@ function AgentTagsPanel({
|
|
|
1914
1990
|
]
|
|
1915
1991
|
}
|
|
1916
1992
|
),
|
|
1917
|
-
/* @__PURE__ */
|
|
1993
|
+
/* @__PURE__ */ jsx14("div", { className: "overflow-y-auto flex-1", children: filtered.length === 0 ? /* @__PURE__ */ jsx14("p", { className: "text-xs text-muted-foreground text-center py-6", children: "No tags" }) : filtered.map((tag) => /* @__PURE__ */ jsx14(
|
|
1918
1994
|
CheckRow,
|
|
1919
1995
|
{
|
|
1920
1996
|
label: tag,
|
|
@@ -1927,7 +2003,7 @@ function AgentTagsPanel({
|
|
|
1927
2003
|
}
|
|
1928
2004
|
|
|
1929
2005
|
// catalog/react/AgentListDropdown.tsx
|
|
1930
|
-
import { jsx as
|
|
2006
|
+
import { jsx as jsx15, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
1931
2007
|
var CONSUMER_ID = "agent-list-dropdown";
|
|
1932
2008
|
function AgentListDropdown({
|
|
1933
2009
|
onSelect,
|
|
@@ -2041,7 +2117,7 @@ function AgentListDropdown({
|
|
|
2041
2117
|
const handleDetailPanelMouseLeave = useCallback5(() => {
|
|
2042
2118
|
coreDetailMouseLeave(() => setRightPanel(null));
|
|
2043
2119
|
}, [coreDetailMouseLeave]);
|
|
2044
|
-
const resolveAgentHref =
|
|
2120
|
+
const resolveAgentHref = useMemo4(() => {
|
|
2045
2121
|
if (resolveAgentHrefProp) return resolveAgentHrefProp;
|
|
2046
2122
|
if (!navigateTo) return void 0;
|
|
2047
2123
|
return (agent) => navigateTo.replace("{id}", agent.id);
|
|
@@ -2059,22 +2135,22 @@ function AgentListDropdown({
|
|
|
2059
2135
|
className
|
|
2060
2136
|
),
|
|
2061
2137
|
children: [
|
|
2062
|
-
/* @__PURE__ */
|
|
2063
|
-
activeFilterCount > 0 && /* @__PURE__ */
|
|
2064
|
-
/* @__PURE__ */
|
|
2138
|
+
/* @__PURE__ */ jsx15("span", { className: "min-w-0 max-w-[200px] flex-1 truncate text-left", children: displayLabel }),
|
|
2139
|
+
activeFilterCount > 0 && /* @__PURE__ */ jsx15("span", { className: "flex items-center justify-center w-4 h-4 rounded-md bg-primary text-primary-foreground text-[10px]", children: activeFilterCount }),
|
|
2140
|
+
/* @__PURE__ */ jsx15(ChevronDownIcon, { className: "w-3 h-3 text-muted-foreground/60" })
|
|
2065
2141
|
]
|
|
2066
2142
|
}
|
|
2067
2143
|
);
|
|
2068
2144
|
const wrapTrigger = (Trigger) => {
|
|
2069
2145
|
if (!showAssignedTooltip) {
|
|
2070
|
-
return /* @__PURE__ */
|
|
2146
|
+
return /* @__PURE__ */ jsx15(Trigger, { asChild: true, children: triggerButton });
|
|
2071
2147
|
}
|
|
2072
2148
|
return /* @__PURE__ */ jsxs12(Tooltip, { ...open ? { open: false } : {}, children: [
|
|
2073
|
-
/* @__PURE__ */
|
|
2074
|
-
/* @__PURE__ */
|
|
2149
|
+
/* @__PURE__ */ jsx15(Trigger, { asChild: true, children: /* @__PURE__ */ jsx15(TooltipTrigger, { asChild: true, children: triggerButton }) }),
|
|
2150
|
+
/* @__PURE__ */ jsx15(TooltipContent, { side: "bottom", className: "max-w-xs", children: displayLabel })
|
|
2075
2151
|
] });
|
|
2076
2152
|
};
|
|
2077
|
-
const listPanel = /* @__PURE__ */
|
|
2153
|
+
const listPanel = /* @__PURE__ */ jsx15(
|
|
2078
2154
|
AgentListContent,
|
|
2079
2155
|
{
|
|
2080
2156
|
agents,
|
|
@@ -2109,8 +2185,8 @@ function AgentListDropdown({
|
|
|
2109
2185
|
return /* @__PURE__ */ jsxs12(Drawer, { open, onOpenChange: handleOpen, children: [
|
|
2110
2186
|
wrapTrigger(DrawerTrigger),
|
|
2111
2187
|
/* @__PURE__ */ jsxs12(DrawerContent, { className: "h-[85dvh]", children: [
|
|
2112
|
-
/* @__PURE__ */
|
|
2113
|
-
/* @__PURE__ */
|
|
2188
|
+
/* @__PURE__ */ jsx15(DrawerTitle, { className: "sr-only", children: "Select Agent" }),
|
|
2189
|
+
/* @__PURE__ */ jsx15("div", { className: "flex flex-col overflow-hidden flex-1 min-h-0", children: mobileDetailAgent ? /* @__PURE__ */ jsxs12("div", { className: "flex flex-col overflow-hidden", children: [
|
|
2114
2190
|
/* @__PURE__ */ jsxs12(
|
|
2115
2191
|
"button",
|
|
2116
2192
|
{
|
|
@@ -2118,19 +2194,19 @@ function AgentListDropdown({
|
|
|
2118
2194
|
onClick: () => setMobileDetailAgent(null),
|
|
2119
2195
|
className: "flex items-center gap-1.5 px-3 py-2.5 text-sm font-medium text-primary hover:bg-muted/30 transition-colors border-b border-border shrink-0",
|
|
2120
2196
|
children: [
|
|
2121
|
-
/* @__PURE__ */
|
|
2197
|
+
/* @__PURE__ */ jsx15(ChevronRightIcon, { className: "w-4 h-4 rotate-180" }),
|
|
2122
2198
|
"Back"
|
|
2123
2199
|
]
|
|
2124
2200
|
}
|
|
2125
2201
|
),
|
|
2126
|
-
/* @__PURE__ */
|
|
2202
|
+
/* @__PURE__ */ jsx15("div", { className: "overflow-y-auto", children: /* @__PURE__ */ jsx15(
|
|
2127
2203
|
AgentDetailCard,
|
|
2128
2204
|
{
|
|
2129
2205
|
agent: mobileDetailAgent,
|
|
2130
2206
|
onSelect: () => handleSelectAgent(mobileDetailAgent)
|
|
2131
2207
|
}
|
|
2132
2208
|
) })
|
|
2133
|
-
] }) : mobileSubView ? /* @__PURE__ */
|
|
2209
|
+
] }) : mobileSubView ? /* @__PURE__ */ jsx15(
|
|
2134
2210
|
AgentMobileSubView,
|
|
2135
2211
|
{
|
|
2136
2212
|
view: mobileSubView,
|
|
@@ -2153,7 +2229,7 @@ function AgentListDropdown({
|
|
|
2153
2229
|
}
|
|
2154
2230
|
return /* @__PURE__ */ jsxs12(Popover, { open, onOpenChange: handleOpen, modal: false, children: [
|
|
2155
2231
|
wrapTrigger(PopoverTrigger),
|
|
2156
|
-
/* @__PURE__ */
|
|
2232
|
+
/* @__PURE__ */ jsx15(
|
|
2157
2233
|
PopoverContent,
|
|
2158
2234
|
{
|
|
2159
2235
|
...contentSide ? { side: contentSide } : {},
|
|
@@ -2165,7 +2241,7 @@ function AgentListDropdown({
|
|
|
2165
2241
|
className: "p-0 overflow-hidden w-[680px]",
|
|
2166
2242
|
style: { height: PANEL_HEIGHT, maxHeight: LIST_MAX_HEIGHT },
|
|
2167
2243
|
children: /* @__PURE__ */ jsxs12("div", { className: "flex h-full", children: [
|
|
2168
|
-
/* @__PURE__ */
|
|
2244
|
+
/* @__PURE__ */ jsx15("div", { className: "flex flex-col min-w-0 w-[340px] shrink-0 border-r border-border", children: listPanel }),
|
|
2169
2245
|
/* @__PURE__ */ jsxs12(
|
|
2170
2246
|
"div",
|
|
2171
2247
|
{
|
|
@@ -2173,21 +2249,21 @@ function AgentListDropdown({
|
|
|
2173
2249
|
onMouseEnter: rightPanel === "detail" ? handleDetailPanelMouseEnter : void 0,
|
|
2174
2250
|
onMouseLeave: rightPanel === "detail" ? handleDetailPanelMouseLeave : void 0,
|
|
2175
2251
|
children: [
|
|
2176
|
-
rightPanel === "detail" && hoveredAgent && /* @__PURE__ */
|
|
2252
|
+
rightPanel === "detail" && hoveredAgent && /* @__PURE__ */ jsx15("div", { className: "h-full matrx-agent-fade-in", children: /* @__PURE__ */ jsx15(
|
|
2177
2253
|
AgentDetailCard,
|
|
2178
2254
|
{
|
|
2179
2255
|
agent: hoveredAgent,
|
|
2180
2256
|
onSelect: () => handleSelectAgent(hoveredAgent)
|
|
2181
2257
|
}
|
|
2182
2258
|
) }, hoveredAgent.id),
|
|
2183
|
-
rightPanel === "sort" && /* @__PURE__ */
|
|
2259
|
+
rightPanel === "sort" && /* @__PURE__ */ jsx15(
|
|
2184
2260
|
AgentSortPanel,
|
|
2185
2261
|
{
|
|
2186
2262
|
consumer,
|
|
2187
2263
|
onClose: () => setRightPanel(null)
|
|
2188
2264
|
}
|
|
2189
2265
|
),
|
|
2190
|
-
rightPanel === "categories" && /* @__PURE__ */
|
|
2266
|
+
rightPanel === "categories" && /* @__PURE__ */ jsx15(
|
|
2191
2267
|
AgentCategoriesPanel,
|
|
2192
2268
|
{
|
|
2193
2269
|
consumer,
|
|
@@ -2200,7 +2276,7 @@ function AgentListDropdown({
|
|
|
2200
2276
|
}
|
|
2201
2277
|
}
|
|
2202
2278
|
),
|
|
2203
|
-
rightPanel === "tags" && /* @__PURE__ */
|
|
2279
|
+
rightPanel === "tags" && /* @__PURE__ */ jsx15(
|
|
2204
2280
|
AgentTagsPanel,
|
|
2205
2281
|
{
|
|
2206
2282
|
consumer,
|
|
@@ -2214,8 +2290,8 @@ function AgentListDropdown({
|
|
|
2214
2290
|
}
|
|
2215
2291
|
),
|
|
2216
2292
|
!hasRightPanel && /* @__PURE__ */ jsxs12("div", { className: "flex flex-1 flex-col items-center justify-center gap-2 px-6 text-center", children: [
|
|
2217
|
-
/* @__PURE__ */
|
|
2218
|
-
/* @__PURE__ */
|
|
2293
|
+
/* @__PURE__ */ jsx15(MousePointerClickIcon, { className: "h-6 w-6 text-muted-foreground/40" }),
|
|
2294
|
+
/* @__PURE__ */ jsx15("p", { className: "text-xs text-muted-foreground/70 leading-relaxed", children: labels.hoverHint })
|
|
2219
2295
|
] })
|
|
2220
2296
|
]
|
|
2221
2297
|
}
|
|
@@ -2229,7 +2305,7 @@ function AgentListDropdown({
|
|
|
2229
2305
|
// catalog/react/AgentListInlinePicker.tsx
|
|
2230
2306
|
import { cn as cn7 } from "@ai-matrx/design-system";
|
|
2231
2307
|
import { useEffect as useEffect4, useRef as useRef5, useState as useState4 } from "react";
|
|
2232
|
-
import { jsx as
|
|
2308
|
+
import { jsx as jsx16, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
2233
2309
|
function AgentListInlinePicker({
|
|
2234
2310
|
consumerId,
|
|
2235
2311
|
onSelect,
|
|
@@ -2301,12 +2377,12 @@ function AgentListInlinePicker({
|
|
|
2301
2377
|
onClick: () => setMobileDetailAgent(null),
|
|
2302
2378
|
className: "flex shrink-0 items-center gap-1.5 border-b border-border px-3 py-2 text-sm font-medium text-primary transition-colors hover:bg-muted/30",
|
|
2303
2379
|
children: [
|
|
2304
|
-
/* @__PURE__ */
|
|
2380
|
+
/* @__PURE__ */ jsx16(ChevronRightIcon, { className: "h-4 w-4 rotate-180" }),
|
|
2305
2381
|
"Back"
|
|
2306
2382
|
]
|
|
2307
2383
|
}
|
|
2308
2384
|
),
|
|
2309
|
-
/* @__PURE__ */
|
|
2385
|
+
/* @__PURE__ */ jsx16("div", { className: "min-h-0 flex-1 overflow-y-auto", children: /* @__PURE__ */ jsx16(
|
|
2310
2386
|
AgentDetailCard,
|
|
2311
2387
|
{
|
|
2312
2388
|
agent: mobileDetailAgent,
|
|
@@ -2316,7 +2392,7 @@ function AgentListInlinePicker({
|
|
|
2316
2392
|
] });
|
|
2317
2393
|
}
|
|
2318
2394
|
if (mobileSubView) {
|
|
2319
|
-
return /* @__PURE__ */
|
|
2395
|
+
return /* @__PURE__ */ jsx16("div", { className: cn7("flex h-full min-h-0 flex-col", className), children: /* @__PURE__ */ jsx16(
|
|
2320
2396
|
AgentMobileSubView,
|
|
2321
2397
|
{
|
|
2322
2398
|
view: mobileSubView,
|
|
@@ -2335,7 +2411,7 @@ function AgentListInlinePicker({
|
|
|
2335
2411
|
}
|
|
2336
2412
|
) });
|
|
2337
2413
|
}
|
|
2338
|
-
return /* @__PURE__ */
|
|
2414
|
+
return /* @__PURE__ */ jsx16("div", { className: cn7("flex h-full min-h-0 flex-col", className), children: /* @__PURE__ */ jsx16(
|
|
2339
2415
|
AgentListContent,
|
|
2340
2416
|
{
|
|
2341
2417
|
agents,
|