@ai-matrx/agents 0.7.1 → 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 +225 -0
- package/dist/catalog/index.cjs +119 -6
- package/dist/catalog/index.cjs.map +1 -1
- package/dist/catalog/index.d.cts +17 -521
- package/dist/catalog/index.d.ts +17 -521
- package/dist/catalog/index.js +119 -6
- 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 +527 -384
- package/dist/catalog/react/index.cjs.map +1 -1
- package/dist/catalog/react/index.d.cts +171 -32
- package/dist/catalog/react/index.d.ts +171 -32
- package/dist/catalog/react/index.js +414 -271
- 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,13 +83,52 @@ 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
|
|
88
122
|
function isMandateAgentId(id) {
|
|
89
123
|
return id.startsWith("mandate:");
|
|
90
124
|
}
|
|
125
|
+
var SORT_OPTIONS = [
|
|
126
|
+
{ value: "updated-desc", label: "Recent" },
|
|
127
|
+
{ value: "created-desc", label: "Created" },
|
|
128
|
+
{ value: "name-asc", label: "A \u2192 Z" },
|
|
129
|
+
{ value: "name-desc", label: "Z \u2192 A" },
|
|
130
|
+
{ value: "category-asc", label: "Category" }
|
|
131
|
+
];
|
|
91
132
|
var AGENT_NONE_SENTINEL = "__none__";
|
|
92
133
|
var DEFAULT_AGENT_CONSUMER_STATE = {
|
|
93
134
|
tab: "mine",
|
|
@@ -106,7 +147,7 @@ var DEFAULT_AGENT_CONSUMER_STATE = {
|
|
|
106
147
|
deepSearch: false
|
|
107
148
|
};
|
|
108
149
|
|
|
109
|
-
// catalog/
|
|
150
|
+
// catalog/shared/useAgentConsumer.ts
|
|
110
151
|
var DEBOUNCE_MS = 250;
|
|
111
152
|
var MIN_QUERY_LENGTH = 2;
|
|
112
153
|
function useAgentConsumer(consumerId, options) {
|
|
@@ -280,11 +321,11 @@ function useAgentConsumer(consumerId, options) {
|
|
|
280
321
|
};
|
|
281
322
|
}
|
|
282
323
|
|
|
283
|
-
// catalog/
|
|
324
|
+
// catalog/shared/useAgentListCore.ts
|
|
284
325
|
import {
|
|
285
326
|
useCallback as useCallback3,
|
|
286
327
|
useEffect as useEffect2,
|
|
287
|
-
useMemo as
|
|
328
|
+
useMemo as useMemo3,
|
|
288
329
|
useRef as useRef2,
|
|
289
330
|
useState as useState2
|
|
290
331
|
} from "react";
|
|
@@ -575,7 +616,7 @@ var selectTotalFavoriteAgentsCount = memoize1(
|
|
|
575
616
|
(agents) => selectUserTypeAgents(agents).filter((a) => a.isFavorite).length
|
|
576
617
|
);
|
|
577
618
|
|
|
578
|
-
// catalog/
|
|
619
|
+
// catalog/shared/useAgentListCore.ts
|
|
579
620
|
var HOVER_GRACE_MS = 900;
|
|
580
621
|
function coerceVisibleTab(current, allowed, initialTab) {
|
|
581
622
|
if (allowed.length === 0) return null;
|
|
@@ -604,12 +645,12 @@ function useAgentListCore({
|
|
|
604
645
|
const rows = useAgentCatalogRows();
|
|
605
646
|
const userId = catalog.getUserIdOrNull();
|
|
606
647
|
const ownedCount = selectTotalOwnedAgentsCount(rows);
|
|
607
|
-
const selectFiltered =
|
|
648
|
+
const selectFiltered = useMemo3(
|
|
608
649
|
() => makeSelectFilteredAgents(includeSystemInAll),
|
|
609
650
|
[includeSystemInAll]
|
|
610
651
|
);
|
|
611
652
|
const filteredAgents = selectFiltered(rows, consumer.state);
|
|
612
|
-
const excludedAgentIds =
|
|
653
|
+
const excludedAgentIds = useMemo3(
|
|
613
654
|
() => new Set(excludeAgentIds),
|
|
614
655
|
[excludeAgentIds]
|
|
615
656
|
);
|
|
@@ -784,15 +825,111 @@ import {
|
|
|
784
825
|
TooltipTrigger,
|
|
785
826
|
useIsMobile
|
|
786
827
|
} from "@ai-matrx/design-system";
|
|
787
|
-
import { useCallback as useCallback5, useMemo as
|
|
828
|
+
import { useCallback as useCallback5, useMemo as useMemo4, useRef as useRef4, useState as useState3 } from "react";
|
|
788
829
|
|
|
789
830
|
// catalog/react/primitives.tsx
|
|
790
831
|
import { cn } from "@ai-matrx/design-system";
|
|
791
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
|
+
|
|
792
929
|
// catalog/react/icons.tsx
|
|
793
|
-
import { jsx as
|
|
930
|
+
import { Fragment, jsx as jsx3, jsxs } from "react/jsx-runtime";
|
|
794
931
|
function Svg({ children, ...props }) {
|
|
795
|
-
return /* @__PURE__ */
|
|
932
|
+
return /* @__PURE__ */ jsx3(
|
|
796
933
|
"svg",
|
|
797
934
|
{
|
|
798
935
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -808,125 +945,79 @@ function Svg({ children, ...props }) {
|
|
|
808
945
|
}
|
|
809
946
|
);
|
|
810
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
|
+
}
|
|
811
976
|
function StarIcon({
|
|
812
977
|
filled = false,
|
|
813
978
|
...props
|
|
814
979
|
}) {
|
|
815
|
-
return /* @__PURE__ */
|
|
816
|
-
}
|
|
817
|
-
function ChevronRightIcon(props) {
|
|
818
|
-
return /* @__PURE__ */ jsx2(Svg, { ...props, children: /* @__PURE__ */ jsx2("path", { d: "m9 18 6-6-6-6" }) });
|
|
819
|
-
}
|
|
820
|
-
function ChevronDownIcon(props) {
|
|
821
|
-
return /* @__PURE__ */ jsx2(Svg, { ...props, children: /* @__PURE__ */ jsx2("path", { d: "m6 9 6 6 6-6" }) });
|
|
822
|
-
}
|
|
823
|
-
function SearchIcon(props) {
|
|
824
|
-
return /* @__PURE__ */ jsxs(Svg, { ...props, children: [
|
|
825
|
-
/* @__PURE__ */ jsx2("circle", { cx: "11", cy: "11", r: "8" }),
|
|
826
|
-
/* @__PURE__ */ jsx2("path", { d: "m21 21-4.3-4.3" })
|
|
827
|
-
] });
|
|
828
|
-
}
|
|
829
|
-
function XIcon(props) {
|
|
830
|
-
return /* @__PURE__ */ jsxs(Svg, { ...props, children: [
|
|
831
|
-
/* @__PURE__ */ jsx2("path", { d: "M18 6 6 18" }),
|
|
832
|
-
/* @__PURE__ */ jsx2("path", { d: "m6 6 12 12" })
|
|
833
|
-
] });
|
|
834
|
-
}
|
|
835
|
-
function CheckIcon(props) {
|
|
836
|
-
return /* @__PURE__ */ jsx2(Svg, { ...props, children: /* @__PURE__ */ jsx2("path", { d: "M20 6 9 17l-5-5" }) });
|
|
837
|
-
}
|
|
838
|
-
function ArrowUpDownIcon(props) {
|
|
839
|
-
return /* @__PURE__ */ jsxs(Svg, { ...props, children: [
|
|
840
|
-
/* @__PURE__ */ jsx2("path", { d: "m21 16-4 4-4-4" }),
|
|
841
|
-
/* @__PURE__ */ jsx2("path", { d: "M17 20V4" }),
|
|
842
|
-
/* @__PURE__ */ jsx2("path", { d: "m3 8 4-4 4 4" }),
|
|
843
|
-
/* @__PURE__ */ jsx2("path", { d: "M7 4v16" })
|
|
844
|
-
] });
|
|
845
|
-
}
|
|
846
|
-
function FolderIcon(props) {
|
|
847
|
-
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" }) });
|
|
848
|
-
}
|
|
849
|
-
function TagIcon(props) {
|
|
850
|
-
return /* @__PURE__ */ jsxs(Svg, { ...props, children: [
|
|
851
|
-
/* @__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" }),
|
|
852
|
-
/* @__PURE__ */ jsx2("circle", { cx: "7.5", cy: "7.5", r: ".5", fill: "currentColor" })
|
|
853
|
-
] });
|
|
854
|
-
}
|
|
855
|
-
function RotateCcwIcon(props) {
|
|
856
|
-
return /* @__PURE__ */ jsxs(Svg, { ...props, children: [
|
|
857
|
-
/* @__PURE__ */ jsx2("path", { d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8" }),
|
|
858
|
-
/* @__PURE__ */ jsx2("path", { d: "M3 3v5h5" })
|
|
859
|
-
] });
|
|
860
|
-
}
|
|
861
|
-
function LoaderIcon(props) {
|
|
862
|
-
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 }) });
|
|
863
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");
|
|
864
1001
|
function MousePointerClickIcon(props) {
|
|
865
1002
|
return /* @__PURE__ */ jsxs(Svg, { ...props, children: [
|
|
866
|
-
/* @__PURE__ */
|
|
867
|
-
/* @__PURE__ */
|
|
868
|
-
/* @__PURE__ */
|
|
869
|
-
/* @__PURE__ */
|
|
870
|
-
/* @__PURE__ */
|
|
871
|
-
] });
|
|
872
|
-
}
|
|
873
|
-
function UsersIcon(props) {
|
|
874
|
-
return /* @__PURE__ */ jsxs(Svg, { ...props, children: [
|
|
875
|
-
/* @__PURE__ */ jsx2("path", { d: "M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2" }),
|
|
876
|
-
/* @__PURE__ */ jsx2("circle", { cx: "9", cy: "7", r: "4" }),
|
|
877
|
-
/* @__PURE__ */ jsx2("path", { d: "M22 21v-2a4 4 0 0 0-3-3.87" }),
|
|
878
|
-
/* @__PURE__ */ jsx2("path", { d: "M16 3.13a4 4 0 0 1 0 7.75" })
|
|
879
|
-
] });
|
|
880
|
-
}
|
|
881
|
-
function ClockIcon(props) {
|
|
882
|
-
return /* @__PURE__ */ jsxs(Svg, { ...props, children: [
|
|
883
|
-
/* @__PURE__ */ jsx2("circle", { cx: "12", cy: "12", r: "10" }),
|
|
884
|
-
/* @__PURE__ */ jsx2("path", { d: "M12 6v6l4 2" })
|
|
885
|
-
] });
|
|
886
|
-
}
|
|
887
|
-
function GlobeIcon(props) {
|
|
888
|
-
return /* @__PURE__ */ jsxs(Svg, { ...props, children: [
|
|
889
|
-
/* @__PURE__ */ jsx2("circle", { cx: "12", cy: "12", r: "10" }),
|
|
890
|
-
/* @__PURE__ */ jsx2("path", { d: "M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20" }),
|
|
891
|
-
/* @__PURE__ */ jsx2("path", { d: "M2 12h20" })
|
|
892
|
-
] });
|
|
893
|
-
}
|
|
894
|
-
function ExternalLinkIcon(props) {
|
|
895
|
-
return /* @__PURE__ */ jsxs(Svg, { ...props, children: [
|
|
896
|
-
/* @__PURE__ */ jsx2("path", { d: "M15 3h6v6" }),
|
|
897
|
-
/* @__PURE__ */ jsx2("path", { d: "M10 14 21 3" }),
|
|
898
|
-
/* @__PURE__ */ jsx2("path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" })
|
|
899
|
-
] });
|
|
900
|
-
}
|
|
901
|
-
function MessageCircleIcon(props) {
|
|
902
|
-
return /* @__PURE__ */ jsx2(Svg, { ...props, children: /* @__PURE__ */ jsx2("path", { d: "M7.9 20A9 9 0 1 0 4 16.1L2 22Z" }) });
|
|
903
|
-
}
|
|
904
|
-
function RocketIcon(props) {
|
|
905
|
-
return /* @__PURE__ */ jsxs(Svg, { ...props, children: [
|
|
906
|
-
/* @__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" }),
|
|
907
|
-
/* @__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" }),
|
|
908
|
-
/* @__PURE__ */ jsx2("path", { d: "M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0" }),
|
|
909
|
-
/* @__PURE__ */ jsx2("path", { d: "M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5" })
|
|
910
|
-
] });
|
|
911
|
-
}
|
|
912
|
-
function AlertTriangleIcon(props) {
|
|
913
|
-
return /* @__PURE__ */ jsxs(Svg, { ...props, children: [
|
|
914
|
-
/* @__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" }),
|
|
915
|
-
/* @__PURE__ */ jsx2("path", { d: "M12 9v4" }),
|
|
916
|
-
/* @__PURE__ */ jsx2("path", { d: "M12 17h.01" })
|
|
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" })
|
|
917
1008
|
] });
|
|
918
1009
|
}
|
|
919
1010
|
|
|
920
1011
|
// catalog/react/primitives.tsx
|
|
921
|
-
import { jsx as
|
|
1012
|
+
import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
922
1013
|
var SearchInput = ({
|
|
923
1014
|
ref,
|
|
924
1015
|
value,
|
|
925
1016
|
onChange,
|
|
926
1017
|
placeholder
|
|
927
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: [
|
|
928
|
-
/* @__PURE__ */
|
|
929
|
-
/* @__PURE__ */
|
|
1019
|
+
/* @__PURE__ */ jsx4(SearchIcon, { className: "w-3 h-3 text-muted-foreground shrink-0" }),
|
|
1020
|
+
/* @__PURE__ */ jsx4(
|
|
930
1021
|
"input",
|
|
931
1022
|
{
|
|
932
1023
|
ref,
|
|
@@ -938,14 +1029,14 @@ var SearchInput = ({
|
|
|
938
1029
|
style: { fontSize: "16px" }
|
|
939
1030
|
}
|
|
940
1031
|
),
|
|
941
|
-
value && /* @__PURE__ */
|
|
1032
|
+
value && /* @__PURE__ */ jsx4(
|
|
942
1033
|
"button",
|
|
943
1034
|
{
|
|
944
1035
|
type: "button",
|
|
945
1036
|
onClick: () => onChange(""),
|
|
946
1037
|
className: "text-muted-foreground hover:text-foreground",
|
|
947
1038
|
"aria-label": "Clear search",
|
|
948
|
-
children: /* @__PURE__ */
|
|
1039
|
+
children: /* @__PURE__ */ jsx4(XIcon, { className: "w-3 h-3" })
|
|
949
1040
|
}
|
|
950
1041
|
)
|
|
951
1042
|
] });
|
|
@@ -966,8 +1057,8 @@ function FilterChip({
|
|
|
966
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"
|
|
967
1058
|
),
|
|
968
1059
|
children: [
|
|
969
|
-
/* @__PURE__ */
|
|
970
|
-
/* @__PURE__ */
|
|
1060
|
+
/* @__PURE__ */ jsx4(Icon, { className: "w-3 h-3" }),
|
|
1061
|
+
/* @__PURE__ */ jsx4("span", { children: label })
|
|
971
1062
|
]
|
|
972
1063
|
}
|
|
973
1064
|
);
|
|
@@ -988,8 +1079,8 @@ function OptionRow({
|
|
|
988
1079
|
selected && "text-primary font-medium"
|
|
989
1080
|
),
|
|
990
1081
|
children: [
|
|
991
|
-
/* @__PURE__ */
|
|
992
|
-
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" })
|
|
993
1084
|
]
|
|
994
1085
|
}
|
|
995
1086
|
);
|
|
@@ -1006,17 +1097,17 @@ function CheckRow({
|
|
|
1006
1097
|
onClick,
|
|
1007
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",
|
|
1008
1099
|
children: [
|
|
1009
|
-
/* @__PURE__ */
|
|
1100
|
+
/* @__PURE__ */ jsx4(
|
|
1010
1101
|
"div",
|
|
1011
1102
|
{
|
|
1012
1103
|
className: cn(
|
|
1013
1104
|
"w-3.5 h-3.5 rounded-sm border flex items-center justify-center shrink-0 transition-colors",
|
|
1014
1105
|
checked ? "bg-primary border-primary" : "border-muted-foreground/30"
|
|
1015
1106
|
),
|
|
1016
|
-
children: checked && /* @__PURE__ */
|
|
1107
|
+
children: checked && /* @__PURE__ */ jsx4(CheckIcon, { className: "w-2.5 h-2.5 text-primary-foreground" })
|
|
1017
1108
|
}
|
|
1018
1109
|
),
|
|
1019
|
-
/* @__PURE__ */
|
|
1110
|
+
/* @__PURE__ */ jsx4("span", { className: "flex-1 text-left truncate", children: label })
|
|
1020
1111
|
]
|
|
1021
1112
|
}
|
|
1022
1113
|
);
|
|
@@ -1026,22 +1117,22 @@ function SidePanelHeader({
|
|
|
1026
1117
|
onClose
|
|
1027
1118
|
}) {
|
|
1028
1119
|
return /* @__PURE__ */ jsxs2("div", { className: "flex items-center justify-between px-3 py-2 border-b border-border shrink-0", children: [
|
|
1029
|
-
/* @__PURE__ */
|
|
1030
|
-
/* @__PURE__ */
|
|
1120
|
+
/* @__PURE__ */ jsx4("span", { className: "text-xs font-semibold text-foreground", children: title }),
|
|
1121
|
+
/* @__PURE__ */ jsx4(
|
|
1031
1122
|
"button",
|
|
1032
1123
|
{
|
|
1033
1124
|
type: "button",
|
|
1034
1125
|
onClick: onClose,
|
|
1035
1126
|
className: "w-5 h-5 rounded flex items-center justify-center text-muted-foreground hover:text-foreground hover:bg-muted/50 transition-colors",
|
|
1036
1127
|
"aria-label": "Close",
|
|
1037
|
-
children: /* @__PURE__ */
|
|
1128
|
+
children: /* @__PURE__ */ jsx4(XIcon, { className: "w-3.5 h-3.5" })
|
|
1038
1129
|
}
|
|
1039
1130
|
)
|
|
1040
1131
|
] });
|
|
1041
1132
|
}
|
|
1042
1133
|
|
|
1043
1134
|
// catalog/react/AgentCategoriesPanel.tsx
|
|
1044
|
-
import { jsx as
|
|
1135
|
+
import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
1045
1136
|
function AgentCategoriesPanel({
|
|
1046
1137
|
consumer,
|
|
1047
1138
|
allCategories,
|
|
@@ -1053,8 +1144,8 @@ function AgentCategoriesPanel({
|
|
|
1053
1144
|
(c) => !search || c.toLowerCase().includes(search.toLowerCase())
|
|
1054
1145
|
);
|
|
1055
1146
|
return /* @__PURE__ */ jsxs3("div", { className: "flex flex-col h-full", children: [
|
|
1056
|
-
/* @__PURE__ */
|
|
1057
|
-
/* @__PURE__ */
|
|
1147
|
+
/* @__PURE__ */ jsx5(SidePanelHeader, { title: "Categories", onClose }),
|
|
1148
|
+
/* @__PURE__ */ jsx5("div", { className: "px-2 pt-2 pb-1 shrink-0", children: /* @__PURE__ */ jsx5(
|
|
1058
1149
|
SearchInput,
|
|
1059
1150
|
{
|
|
1060
1151
|
value: search,
|
|
@@ -1075,7 +1166,7 @@ function AgentCategoriesPanel({
|
|
|
1075
1166
|
]
|
|
1076
1167
|
}
|
|
1077
1168
|
),
|
|
1078
|
-
/* @__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(
|
|
1079
1170
|
CheckRow,
|
|
1080
1171
|
{
|
|
1081
1172
|
label: cat,
|
|
@@ -1093,7 +1184,7 @@ import { cn as cn3 } from "@ai-matrx/design-system";
|
|
|
1093
1184
|
// catalog/react/FavoriteAgentButton.tsx
|
|
1094
1185
|
import { cn as cn2 } from "@ai-matrx/design-system";
|
|
1095
1186
|
import { useCallback as useCallback4 } from "react";
|
|
1096
|
-
import { jsx as
|
|
1187
|
+
import { jsx as jsx6 } from "react/jsx-runtime";
|
|
1097
1188
|
function FavoriteAgentButton({
|
|
1098
1189
|
id,
|
|
1099
1190
|
variant = "card",
|
|
@@ -1115,7 +1206,7 @@ function FavoriteAgentButton({
|
|
|
1115
1206
|
};
|
|
1116
1207
|
const title = isOwner ? isFavorite ? "Remove from favorites" : "Add to favorites" : "Shared \u2014 cannot favorite";
|
|
1117
1208
|
if (variant === "list") {
|
|
1118
|
-
return /* @__PURE__ */
|
|
1209
|
+
return /* @__PURE__ */ jsx6(
|
|
1119
1210
|
"button",
|
|
1120
1211
|
{
|
|
1121
1212
|
type: "button",
|
|
@@ -1128,7 +1219,7 @@ function FavoriteAgentButton({
|
|
|
1128
1219
|
disabled: disabled || !isOwner,
|
|
1129
1220
|
title,
|
|
1130
1221
|
"aria-label": isFavorite ? "Remove from favorites" : "Add to favorites",
|
|
1131
|
-
children: /* @__PURE__ */
|
|
1222
|
+
children: /* @__PURE__ */ jsx6(
|
|
1132
1223
|
StarIcon,
|
|
1133
1224
|
{
|
|
1134
1225
|
filled: isFavorite,
|
|
@@ -1141,7 +1232,7 @@ function FavoriteAgentButton({
|
|
|
1141
1232
|
}
|
|
1142
1233
|
);
|
|
1143
1234
|
}
|
|
1144
|
-
return /* @__PURE__ */
|
|
1235
|
+
return /* @__PURE__ */ jsx6(
|
|
1145
1236
|
"button",
|
|
1146
1237
|
{
|
|
1147
1238
|
type: "button",
|
|
@@ -1155,13 +1246,40 @@ function FavoriteAgentButton({
|
|
|
1155
1246
|
disabled: disabled || !isOwner,
|
|
1156
1247
|
title,
|
|
1157
1248
|
"aria-label": isFavorite ? "Remove from favorites" : "Add to favorites",
|
|
1158
|
-
children: /* @__PURE__ */
|
|
1249
|
+
children: /* @__PURE__ */ jsx6(StarIcon, { filled: isFavorite, className: "w-4 h-4 transition-all duration-150" })
|
|
1159
1250
|
}
|
|
1160
1251
|
);
|
|
1161
1252
|
}
|
|
1162
1253
|
|
|
1254
|
+
// catalog/orchestra.ts
|
|
1255
|
+
var ORCHESTRA_MODE_LABEL = {
|
|
1256
|
+
supervisor: "supervisor",
|
|
1257
|
+
sequential: "in order",
|
|
1258
|
+
parallel: "together",
|
|
1259
|
+
dag: "custom flow"
|
|
1260
|
+
};
|
|
1261
|
+
function orchestraModeLabel(mode) {
|
|
1262
|
+
return ORCHESTRA_MODE_LABEL[mode] ?? mode;
|
|
1263
|
+
}
|
|
1264
|
+
function orchestraLabel(badge) {
|
|
1265
|
+
const n = badge.memberCount;
|
|
1266
|
+
return `Orchestra \xB7 ${orchestraModeLabel(badge.mode)} \xB7 ${n} ${n === 1 ? "member" : "members"}`;
|
|
1267
|
+
}
|
|
1268
|
+
function orchestraDepthLine(badge) {
|
|
1269
|
+
const n = badge.depthBudget;
|
|
1270
|
+
if (typeof n !== "number" || n <= 0) return null;
|
|
1271
|
+
return `Team members can call helpers up to ${n} ${n === 1 ? "level" : "levels"} deep`;
|
|
1272
|
+
}
|
|
1273
|
+
function orchestraDelegatesLine(badge, limit = 3) {
|
|
1274
|
+
const titles = badge.memberTitles;
|
|
1275
|
+
if (titles.length === 0) return null;
|
|
1276
|
+
const shown = titles.slice(0, limit);
|
|
1277
|
+
const extra = titles.length - shown.length;
|
|
1278
|
+
return `Delegates to: ${shown.join(", ")}${extra > 0 ? ` +${extra} more` : ""}`;
|
|
1279
|
+
}
|
|
1280
|
+
|
|
1163
1281
|
// catalog/react/AgentDetailCard.tsx
|
|
1164
|
-
import { Fragment, jsx as
|
|
1282
|
+
import { Fragment as Fragment2, jsx as jsx7, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
1165
1283
|
function AgentDetailCard({ agent, onSelect }) {
|
|
1166
1284
|
const { LinkComponent, renderModelRef, openPeek } = useAgentCatalogUiPorts();
|
|
1167
1285
|
const updatedDate = agent.updatedAt ? new Date(agent.updatedAt) : null;
|
|
@@ -1176,30 +1294,46 @@ function AgentDetailCard({ agent, onSelect }) {
|
|
|
1176
1294
|
});
|
|
1177
1295
|
};
|
|
1178
1296
|
return /* @__PURE__ */ jsxs4("div", { className: "flex flex-col h-full", children: [
|
|
1179
|
-
/* @__PURE__ */
|
|
1180
|
-
/* @__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" }),
|
|
1181
1299
|
/* @__PURE__ */ jsxs4("div", { className: "flex-1 min-w-0", children: [
|
|
1182
|
-
/* @__PURE__ */
|
|
1183
|
-
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" }) })
|
|
1184
1302
|
] }),
|
|
1185
|
-
!isDefaultRow && /* @__PURE__ */
|
|
1303
|
+
!isDefaultRow && /* @__PURE__ */ jsx7(FavoriteAgentButton, { id: agent.id, variant: "list" })
|
|
1186
1304
|
] }) }),
|
|
1187
|
-
/* @__PURE__ */
|
|
1305
|
+
/* @__PURE__ */ jsx7("div", { className: "h-px bg-border mx-3" }),
|
|
1188
1306
|
/* @__PURE__ */ jsxs4("div", { className: "flex-1 overflow-y-auto px-4 py-3 space-y-3", children: [
|
|
1307
|
+
agent.orchestra && /* @__PURE__ */ jsxs4("div", { className: "rounded-md border border-primary/20 bg-primary/5 px-2.5 py-2", children: [
|
|
1308
|
+
/* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-1.5", children: [
|
|
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) })
|
|
1311
|
+
] }),
|
|
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(
|
|
1314
|
+
"p",
|
|
1315
|
+
{
|
|
1316
|
+
className: "mt-1 text-[11px] text-muted-foreground",
|
|
1317
|
+
title: `Delegates to: ${agent.orchestra.memberTitles.join(", ")}`,
|
|
1318
|
+
children: orchestraDelegatesLine(agent.orchestra)
|
|
1319
|
+
}
|
|
1320
|
+
),
|
|
1321
|
+
orchestraDepthLine(agent.orchestra) && /* @__PURE__ */ jsx7("p", { className: "mt-0.5 text-[11px] text-muted-foreground", children: orchestraDepthLine(agent.orchestra) })
|
|
1322
|
+
] }),
|
|
1189
1323
|
agent.description && /* @__PURE__ */ jsxs4("div", { children: [
|
|
1190
|
-
/* @__PURE__ */
|
|
1191
|
-
/* @__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 })
|
|
1192
1326
|
] }),
|
|
1193
1327
|
agent.category && /* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-2", children: [
|
|
1194
|
-
/* @__PURE__ */
|
|
1195
|
-
/* @__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 })
|
|
1196
1330
|
] }),
|
|
1197
1331
|
agent.tags && agent.tags.length > 0 && /* @__PURE__ */ jsxs4("div", { children: [
|
|
1198
1332
|
/* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-1.5 mb-1.5", children: [
|
|
1199
|
-
/* @__PURE__ */
|
|
1200
|
-
/* @__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" })
|
|
1201
1335
|
] }),
|
|
1202
|
-
/* @__PURE__ */
|
|
1336
|
+
/* @__PURE__ */ jsx7("div", { className: "flex flex-wrap gap-1", children: agent.tags.map((tag) => /* @__PURE__ */ jsx7(
|
|
1203
1337
|
"span",
|
|
1204
1338
|
{
|
|
1205
1339
|
className: "inline-flex items-center h-5 px-1.5 rounded text-[10px] font-medium bg-muted text-muted-foreground",
|
|
@@ -1209,29 +1343,29 @@ function AgentDetailCard({ agent, onSelect }) {
|
|
|
1209
1343
|
)) })
|
|
1210
1344
|
] }),
|
|
1211
1345
|
agent.accessLevel && /* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-2", children: [
|
|
1212
|
-
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" }),
|
|
1213
1347
|
/* @__PURE__ */ jsxs4("div", { className: "flex flex-col", children: [
|
|
1214
|
-
/* @__PURE__ */
|
|
1348
|
+
/* @__PURE__ */ jsx7("span", { className: "text-xs text-foreground/80 capitalize", children: agent.accessLevel === "owner" ? "You own this" : `Shared \u2014 ${agent.accessLevel}` }),
|
|
1215
1349
|
agent.sharedByEmail && /* @__PURE__ */ jsxs4("span", { className: "text-[10px] text-muted-foreground", children: [
|
|
1216
1350
|
"by ",
|
|
1217
1351
|
agent.sharedByEmail
|
|
1218
1352
|
] })
|
|
1219
1353
|
] })
|
|
1220
1354
|
] }),
|
|
1221
|
-
agent.modelId && /* @__PURE__ */
|
|
1355
|
+
agent.modelId && /* @__PURE__ */ jsx7("div", { className: "flex items-center gap-2", children: renderModelRef({
|
|
1222
1356
|
modelId: agent.modelId,
|
|
1223
1357
|
className: "max-w-full text-xs text-foreground/80"
|
|
1224
1358
|
}) }),
|
|
1225
1359
|
(updatedDate || createdDate) && /* @__PURE__ */ jsxs4("div", { className: "pt-1 space-y-1", children: [
|
|
1226
1360
|
updatedDate && /* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-2", children: [
|
|
1227
|
-
/* @__PURE__ */
|
|
1361
|
+
/* @__PURE__ */ jsx7(ClockIcon, { className: "w-3.5 h-3.5 text-muted-foreground shrink-0" }),
|
|
1228
1362
|
/* @__PURE__ */ jsxs4("span", { className: "text-[11px] text-muted-foreground", children: [
|
|
1229
1363
|
"Updated ",
|
|
1230
1364
|
formatDate(updatedDate)
|
|
1231
1365
|
] })
|
|
1232
1366
|
] }),
|
|
1233
1367
|
createdDate && /* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-2", children: [
|
|
1234
|
-
/* @__PURE__ */
|
|
1368
|
+
/* @__PURE__ */ jsx7(ClockIcon, { className: "w-3.5 h-3.5 text-muted-foreground/50 shrink-0" }),
|
|
1235
1369
|
/* @__PURE__ */ jsxs4("span", { className: "text-[11px] text-muted-foreground/70", children: [
|
|
1236
1370
|
"Created ",
|
|
1237
1371
|
formatDate(createdDate)
|
|
@@ -1239,9 +1373,9 @@ function AgentDetailCard({ agent, onSelect }) {
|
|
|
1239
1373
|
] })
|
|
1240
1374
|
] })
|
|
1241
1375
|
] }),
|
|
1242
|
-
/* @__PURE__ */
|
|
1376
|
+
/* @__PURE__ */ jsx7("div", { className: "h-px bg-border mx-3 mt-auto" }),
|
|
1243
1377
|
/* @__PURE__ */ jsxs4("div", { className: "px-3 py-2 shrink-0 flex items-center gap-1.5", children: [
|
|
1244
|
-
/* @__PURE__ */
|
|
1378
|
+
/* @__PURE__ */ jsx7(
|
|
1245
1379
|
"button",
|
|
1246
1380
|
{
|
|
1247
1381
|
type: "button",
|
|
@@ -1250,7 +1384,7 @@ function AgentDetailCard({ agent, onSelect }) {
|
|
|
1250
1384
|
children: "Select"
|
|
1251
1385
|
}
|
|
1252
1386
|
),
|
|
1253
|
-
openPeek && /* @__PURE__ */
|
|
1387
|
+
openPeek && /* @__PURE__ */ jsx7(
|
|
1254
1388
|
"button",
|
|
1255
1389
|
{
|
|
1256
1390
|
type: "button",
|
|
@@ -1261,11 +1395,11 @@ function AgentDetailCard({ agent, onSelect }) {
|
|
|
1261
1395
|
title: "Sneak Peek",
|
|
1262
1396
|
"aria-label": "Sneak Peek",
|
|
1263
1397
|
className: iconButtonClass,
|
|
1264
|
-
children: /* @__PURE__ */
|
|
1398
|
+
children: /* @__PURE__ */ jsx7(RocketIcon, { className: "w-3.5 h-3.5" })
|
|
1265
1399
|
}
|
|
1266
1400
|
),
|
|
1267
|
-
!isDefaultRow && /* @__PURE__ */ jsxs4(
|
|
1268
|
-
/* @__PURE__ */
|
|
1401
|
+
!isDefaultRow && /* @__PURE__ */ jsxs4(Fragment2, { children: [
|
|
1402
|
+
/* @__PURE__ */ jsx7(
|
|
1269
1403
|
LinkComponent,
|
|
1270
1404
|
{
|
|
1271
1405
|
href: `/chat/a/${agent.id}`,
|
|
@@ -1273,10 +1407,10 @@ function AgentDetailCard({ agent, onSelect }) {
|
|
|
1273
1407
|
title: "Open in chat",
|
|
1274
1408
|
"aria-label": "Open in chat",
|
|
1275
1409
|
className: iconButtonClass,
|
|
1276
|
-
children: /* @__PURE__ */
|
|
1410
|
+
children: /* @__PURE__ */ jsx7(MessageCircleIcon, { className: "w-3.5 h-3.5" })
|
|
1277
1411
|
}
|
|
1278
1412
|
),
|
|
1279
|
-
/* @__PURE__ */
|
|
1413
|
+
/* @__PURE__ */ jsx7(
|
|
1280
1414
|
LinkComponent,
|
|
1281
1415
|
{
|
|
1282
1416
|
href: `/agents/go/${agent.id}`,
|
|
@@ -1289,7 +1423,7 @@ function AgentDetailCard({ agent, onSelect }) {
|
|
|
1289
1423
|
iconButtonClass,
|
|
1290
1424
|
"hover:text-foreground"
|
|
1291
1425
|
),
|
|
1292
|
-
children: /* @__PURE__ */
|
|
1426
|
+
children: /* @__PURE__ */ jsx7(ExternalLinkIcon, { className: "w-3.5 h-3.5" })
|
|
1293
1427
|
}
|
|
1294
1428
|
)
|
|
1295
1429
|
] })
|
|
@@ -1302,18 +1436,11 @@ var iconButtonClass = "flex items-center justify-center h-7 w-7 rounded-md borde
|
|
|
1302
1436
|
import { useEffect as useEffect3, useRef as useRef3 } from "react";
|
|
1303
1437
|
|
|
1304
1438
|
// catalog/react/types.ts
|
|
1305
|
-
var SORT_OPTIONS = [
|
|
1306
|
-
{ value: "updated-desc", label: "Recent" },
|
|
1307
|
-
{ value: "created-desc", label: "Created" },
|
|
1308
|
-
{ value: "name-asc", label: "A \u2192 Z" },
|
|
1309
|
-
{ value: "name-desc", label: "Z \u2192 A" },
|
|
1310
|
-
{ value: "category-asc", label: "Category" }
|
|
1311
|
-
];
|
|
1312
1439
|
var PANEL_HEIGHT = "528px";
|
|
1313
1440
|
var LIST_MAX_HEIGHT = "min(528px, var(--radix-popper-available-height, 528px))";
|
|
1314
1441
|
|
|
1315
1442
|
// catalog/react/AgentFilterBar.tsx
|
|
1316
|
-
import { jsx as
|
|
1443
|
+
import { jsx as jsx8, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
1317
1444
|
function AgentFilterBar({
|
|
1318
1445
|
consumer,
|
|
1319
1446
|
allCategories,
|
|
@@ -1325,7 +1452,7 @@ function AgentFilterBar({
|
|
|
1325
1452
|
onReset
|
|
1326
1453
|
}) {
|
|
1327
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: [
|
|
1328
|
-
/* @__PURE__ */
|
|
1455
|
+
/* @__PURE__ */ jsx8(
|
|
1329
1456
|
FilterChip,
|
|
1330
1457
|
{
|
|
1331
1458
|
icon: ArrowUpDownIcon,
|
|
@@ -1335,7 +1462,7 @@ function AgentFilterBar({
|
|
|
1335
1462
|
onClick: () => onFilterChipClick("sort")
|
|
1336
1463
|
}
|
|
1337
1464
|
),
|
|
1338
|
-
/* @__PURE__ */
|
|
1465
|
+
/* @__PURE__ */ jsx8(
|
|
1339
1466
|
FilterChip,
|
|
1340
1467
|
{
|
|
1341
1468
|
icon: StarIcon,
|
|
@@ -1347,7 +1474,7 @@ function AgentFilterBar({
|
|
|
1347
1474
|
}
|
|
1348
1475
|
}
|
|
1349
1476
|
),
|
|
1350
|
-
allCategories.length > 0 && /* @__PURE__ */
|
|
1477
|
+
allCategories.length > 0 && /* @__PURE__ */ jsx8(
|
|
1351
1478
|
FilterChip,
|
|
1352
1479
|
{
|
|
1353
1480
|
icon: FolderIcon,
|
|
@@ -1357,7 +1484,7 @@ function AgentFilterBar({
|
|
|
1357
1484
|
onClick: () => onFilterChipClick("categories")
|
|
1358
1485
|
}
|
|
1359
1486
|
),
|
|
1360
|
-
allTags.length > 0 && /* @__PURE__ */
|
|
1487
|
+
allTags.length > 0 && /* @__PURE__ */ jsx8(
|
|
1361
1488
|
FilterChip,
|
|
1362
1489
|
{
|
|
1363
1490
|
icon: TagIcon,
|
|
@@ -1367,14 +1494,14 @@ function AgentFilterBar({
|
|
|
1367
1494
|
onClick: () => onFilterChipClick("tags")
|
|
1368
1495
|
}
|
|
1369
1496
|
),
|
|
1370
|
-
activeFilterCount > 0 && /* @__PURE__ */
|
|
1497
|
+
activeFilterCount > 0 && /* @__PURE__ */ jsx8(
|
|
1371
1498
|
"button",
|
|
1372
1499
|
{
|
|
1373
1500
|
type: "button",
|
|
1374
1501
|
onClick: onReset,
|
|
1375
1502
|
"aria-label": "Reset filters",
|
|
1376
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",
|
|
1377
|
-
children: /* @__PURE__ */
|
|
1504
|
+
children: /* @__PURE__ */ jsx8(RotateCcwIcon, { className: "w-3 h-3" })
|
|
1378
1505
|
}
|
|
1379
1506
|
)
|
|
1380
1507
|
] });
|
|
@@ -1382,7 +1509,7 @@ function AgentFilterBar({
|
|
|
1382
1509
|
|
|
1383
1510
|
// catalog/react/AgentListTabs.tsx
|
|
1384
1511
|
import { cn as cn4 } from "@ai-matrx/design-system";
|
|
1385
|
-
import { jsx as
|
|
1512
|
+
import { jsx as jsx9, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
1386
1513
|
function AgentListTabs({
|
|
1387
1514
|
consumer,
|
|
1388
1515
|
tabCounts,
|
|
@@ -1396,7 +1523,7 @@ function AgentListTabs({
|
|
|
1396
1523
|
{ value: "all", label: "All", countKey: "all" },
|
|
1397
1524
|
{ value: "system", label: labels.publicTab, countKey: "system" }
|
|
1398
1525
|
];
|
|
1399
|
-
return /* @__PURE__ */
|
|
1526
|
+
return /* @__PURE__ */ jsx9(
|
|
1400
1527
|
"div",
|
|
1401
1528
|
{
|
|
1402
1529
|
className: "flex items-center gap-0.5 px-2 pb-1 overflow-x-auto matrx-agent-scrollbar-none shrink-0",
|
|
@@ -1418,8 +1545,8 @@ function AgentListTabs({
|
|
|
1418
1545
|
active ? "bg-primary text-primary-foreground" : "text-muted-foreground hover:text-foreground hover:bg-muted/50"
|
|
1419
1546
|
),
|
|
1420
1547
|
children: [
|
|
1421
|
-
/* @__PURE__ */
|
|
1422
|
-
/* @__PURE__ */
|
|
1548
|
+
/* @__PURE__ */ jsx9("span", { children: label }),
|
|
1549
|
+
/* @__PURE__ */ jsx9(
|
|
1423
1550
|
"span",
|
|
1424
1551
|
{
|
|
1425
1552
|
className: cn4("tabular-nums opacity-70", active && "opacity-90"),
|
|
@@ -1437,7 +1564,7 @@ function AgentListTabs({
|
|
|
1437
1564
|
|
|
1438
1565
|
// catalog/react/AgentRow.tsx
|
|
1439
1566
|
import { cn as cn5 } from "@ai-matrx/design-system";
|
|
1440
|
-
import { jsx as
|
|
1567
|
+
import { jsx as jsx10, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
1441
1568
|
function AgentRow({
|
|
1442
1569
|
agent,
|
|
1443
1570
|
isActive,
|
|
@@ -1475,8 +1602,8 @@ function AgentRow({
|
|
|
1475
1602
|
},
|
|
1476
1603
|
className: "flex items-center gap-2 flex-1 min-w-0 px-3 py-2",
|
|
1477
1604
|
children: [
|
|
1478
|
-
agent.isFavorite && /* @__PURE__ */
|
|
1479
|
-
/* @__PURE__ */
|
|
1605
|
+
agent.isFavorite && /* @__PURE__ */ jsx10(StarIcon, { filled: true, className: "w-3 h-3 matrx-agent-star-on shrink-0" }),
|
|
1606
|
+
/* @__PURE__ */ jsx10(
|
|
1480
1607
|
"span",
|
|
1481
1608
|
{
|
|
1482
1609
|
className: cn5(
|
|
@@ -1486,11 +1613,22 @@ function AgentRow({
|
|
|
1486
1613
|
children: agent.name || "Untitled"
|
|
1487
1614
|
}
|
|
1488
1615
|
),
|
|
1489
|
-
agent.
|
|
1616
|
+
agent.orchestra && /* @__PURE__ */ jsxs7(
|
|
1617
|
+
"span",
|
|
1618
|
+
{
|
|
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",
|
|
1620
|
+
title: orchestraDelegatesLine(agent.orchestra) ?? orchestraLabel(agent.orchestra),
|
|
1621
|
+
children: [
|
|
1622
|
+
/* @__PURE__ */ jsx10(Music4Icon, { className: "w-2.5 h-2.5" }),
|
|
1623
|
+
agent.orchestra.memberCount
|
|
1624
|
+
]
|
|
1625
|
+
}
|
|
1626
|
+
),
|
|
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
|
|
1490
1628
|
]
|
|
1491
1629
|
}
|
|
1492
1630
|
),
|
|
1493
|
-
isMobile && /* @__PURE__ */
|
|
1631
|
+
isMobile && /* @__PURE__ */ jsx10(
|
|
1494
1632
|
"button",
|
|
1495
1633
|
{
|
|
1496
1634
|
type: "button",
|
|
@@ -1500,7 +1638,7 @@ function AgentRow({
|
|
|
1500
1638
|
onDetailPress();
|
|
1501
1639
|
},
|
|
1502
1640
|
className: "flex items-center justify-center w-10 h-full shrink-0 text-muted-foreground/40 active:text-muted-foreground",
|
|
1503
|
-
children: /* @__PURE__ */
|
|
1641
|
+
children: /* @__PURE__ */ jsx10(ChevronRightIcon, { className: "w-4 h-4" })
|
|
1504
1642
|
}
|
|
1505
1643
|
)
|
|
1506
1644
|
]
|
|
@@ -1509,7 +1647,7 @@ function AgentRow({
|
|
|
1509
1647
|
}
|
|
1510
1648
|
|
|
1511
1649
|
// catalog/react/AgentListContent.tsx
|
|
1512
|
-
import { Fragment as
|
|
1650
|
+
import { Fragment as Fragment3, jsx as jsx11, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
1513
1651
|
function AgentListContent({
|
|
1514
1652
|
agents,
|
|
1515
1653
|
isLoading,
|
|
@@ -1547,7 +1685,7 @@ function AgentListContent({
|
|
|
1547
1685
|
const emptyLabel = agentListEmptyLabel(consumer.tab, labels);
|
|
1548
1686
|
const defaultAgent = defaultRow?.row ?? null;
|
|
1549
1687
|
return /* @__PURE__ */ jsxs8("div", { className: "flex flex-col h-full", children: [
|
|
1550
|
-
/* @__PURE__ */
|
|
1688
|
+
/* @__PURE__ */ jsx11("div", { className: "px-2 pt-2 pb-1 shrink-0", children: /* @__PURE__ */ jsx11(
|
|
1551
1689
|
SearchInput,
|
|
1552
1690
|
{
|
|
1553
1691
|
ref: inputRef,
|
|
@@ -1556,7 +1694,7 @@ function AgentListContent({
|
|
|
1556
1694
|
placeholder: labels.searchPlaceholder
|
|
1557
1695
|
}
|
|
1558
1696
|
) }),
|
|
1559
|
-
/* @__PURE__ */
|
|
1697
|
+
/* @__PURE__ */ jsx11(
|
|
1560
1698
|
AgentListTabs,
|
|
1561
1699
|
{
|
|
1562
1700
|
consumer,
|
|
@@ -1565,7 +1703,7 @@ function AgentListContent({
|
|
|
1565
1703
|
visibleTabs
|
|
1566
1704
|
}
|
|
1567
1705
|
),
|
|
1568
|
-
/* @__PURE__ */
|
|
1706
|
+
/* @__PURE__ */ jsx11(
|
|
1569
1707
|
AgentFilterBar,
|
|
1570
1708
|
{
|
|
1571
1709
|
consumer,
|
|
@@ -1584,16 +1722,16 @@ function AgentListContent({
|
|
|
1584
1722
|
role: "status",
|
|
1585
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",
|
|
1586
1724
|
children: [
|
|
1587
|
-
/* @__PURE__ */
|
|
1588
|
-
/* @__PURE__ */
|
|
1589
|
-
/* @__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(
|
|
1590
1728
|
"button",
|
|
1591
1729
|
{
|
|
1592
1730
|
type: "button",
|
|
1593
1731
|
"aria-label": "Dismiss",
|
|
1594
1732
|
onClick: () => catalog.dismissDefaultRowDrift(defaultRow.mandateKey),
|
|
1595
1733
|
className: "shrink-0 opacity-70 hover:opacity-100",
|
|
1596
|
-
children: /* @__PURE__ */
|
|
1734
|
+
children: /* @__PURE__ */ jsx11(XIcon, { className: "w-3 h-3" })
|
|
1597
1735
|
}
|
|
1598
1736
|
)
|
|
1599
1737
|
]
|
|
@@ -1605,19 +1743,19 @@ function AgentListContent({
|
|
|
1605
1743
|
role: "alert",
|
|
1606
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",
|
|
1607
1745
|
children: [
|
|
1608
|
-
/* @__PURE__ */
|
|
1609
|
-
/* @__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 })
|
|
1610
1748
|
]
|
|
1611
1749
|
}
|
|
1612
1750
|
),
|
|
1613
|
-
/* @__PURE__ */
|
|
1614
|
-
/* @__PURE__ */
|
|
1615
|
-
/* @__PURE__ */
|
|
1616
|
-
/* @__PURE__ */
|
|
1617
|
-
] }) : agents.length === 0 && !pinnedAgent && !defaultAgent ? /* @__PURE__ */
|
|
1618
|
-
defaultAgent && /* @__PURE__ */ jsxs8(
|
|
1619
|
-
/* @__PURE__ */
|
|
1620
|
-
/* @__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(
|
|
1621
1759
|
AgentRow,
|
|
1622
1760
|
{
|
|
1623
1761
|
agent: defaultAgent,
|
|
@@ -1632,11 +1770,11 @@ function AgentListContent({
|
|
|
1632
1770
|
},
|
|
1633
1771
|
`default-${defaultAgent.id}`
|
|
1634
1772
|
),
|
|
1635
|
-
/* @__PURE__ */
|
|
1773
|
+
/* @__PURE__ */ jsx11("div", { className: "mx-2 my-0.5 h-px bg-border" })
|
|
1636
1774
|
] }),
|
|
1637
|
-
pinnedAgent && /* @__PURE__ */ jsxs8(
|
|
1638
|
-
/* @__PURE__ */
|
|
1639
|
-
/* @__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(
|
|
1640
1778
|
AgentRow,
|
|
1641
1779
|
{
|
|
1642
1780
|
agent: pinnedAgent,
|
|
@@ -1651,9 +1789,9 @@ function AgentListContent({
|
|
|
1651
1789
|
},
|
|
1652
1790
|
`pinned-${pinnedAgent.id}`
|
|
1653
1791
|
),
|
|
1654
|
-
/* @__PURE__ */
|
|
1792
|
+
/* @__PURE__ */ jsx11("div", { className: "mx-2 my-0.5 h-px bg-border" })
|
|
1655
1793
|
] }),
|
|
1656
|
-
agents.map((agent) => /* @__PURE__ */
|
|
1794
|
+
agents.map((agent) => /* @__PURE__ */ jsx11(
|
|
1657
1795
|
AgentRow,
|
|
1658
1796
|
{
|
|
1659
1797
|
agent,
|
|
@@ -1668,16 +1806,16 @@ function AgentListContent({
|
|
|
1668
1806
|
},
|
|
1669
1807
|
agent.id
|
|
1670
1808
|
)),
|
|
1671
|
-
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 }) })
|
|
1672
1810
|
] }) }),
|
|
1673
|
-
/* @__PURE__ */
|
|
1811
|
+
/* @__PURE__ */ jsx11("div", { className: "h-px bg-border shrink-0" }),
|
|
1674
1812
|
/* @__PURE__ */ jsxs8("div", { className: "flex items-center justify-between px-2.5 py-1.5 shrink-0", children: [
|
|
1675
1813
|
/* @__PURE__ */ jsxs8("span", { className: "text-[10px] text-muted-foreground tabular-nums", children: [
|
|
1676
1814
|
agents.length,
|
|
1677
1815
|
" agent",
|
|
1678
1816
|
agents.length !== 1 ? "s" : ""
|
|
1679
1817
|
] }),
|
|
1680
|
-
consumer.searchTerm && /* @__PURE__ */
|
|
1818
|
+
consumer.searchTerm && /* @__PURE__ */ jsx11(
|
|
1681
1819
|
"button",
|
|
1682
1820
|
{
|
|
1683
1821
|
type: "button",
|
|
@@ -1691,7 +1829,7 @@ function AgentListContent({
|
|
|
1691
1829
|
}
|
|
1692
1830
|
|
|
1693
1831
|
// catalog/react/AgentMobileSubView.tsx
|
|
1694
|
-
import { Fragment as
|
|
1832
|
+
import { Fragment as Fragment4, jsx as jsx12, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
1695
1833
|
function AgentMobileSubView({
|
|
1696
1834
|
view,
|
|
1697
1835
|
consumer,
|
|
@@ -1712,12 +1850,12 @@ function AgentMobileSubView({
|
|
|
1712
1850
|
onClick: onBack,
|
|
1713
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",
|
|
1714
1852
|
children: [
|
|
1715
|
-
/* @__PURE__ */
|
|
1853
|
+
/* @__PURE__ */ jsx12(ChevronRightIcon, { className: "w-4 h-4 rotate-180" }),
|
|
1716
1854
|
title
|
|
1717
1855
|
]
|
|
1718
1856
|
}
|
|
1719
1857
|
),
|
|
1720
|
-
view === "sort" && SORT_OPTIONS.map((opt) => /* @__PURE__ */
|
|
1858
|
+
view === "sort" && SORT_OPTIONS.map((opt) => /* @__PURE__ */ jsx12(
|
|
1721
1859
|
OptionRow,
|
|
1722
1860
|
{
|
|
1723
1861
|
label: opt.label,
|
|
@@ -1729,8 +1867,8 @@ function AgentMobileSubView({
|
|
|
1729
1867
|
},
|
|
1730
1868
|
opt.value
|
|
1731
1869
|
)),
|
|
1732
|
-
view === "categories" && /* @__PURE__ */ jsxs9(
|
|
1733
|
-
/* @__PURE__ */
|
|
1870
|
+
view === "categories" && /* @__PURE__ */ jsxs9(Fragment4, { children: [
|
|
1871
|
+
/* @__PURE__ */ jsx12("div", { className: "px-2 pt-2 pb-1", children: /* @__PURE__ */ jsx12(
|
|
1734
1872
|
SearchInput,
|
|
1735
1873
|
{
|
|
1736
1874
|
value: catSearch,
|
|
@@ -1751,9 +1889,9 @@ function AgentMobileSubView({
|
|
|
1751
1889
|
]
|
|
1752
1890
|
}
|
|
1753
1891
|
),
|
|
1754
|
-
/* @__PURE__ */
|
|
1892
|
+
/* @__PURE__ */ jsx12("div", { className: "overflow-y-auto max-h-[300px]", children: allCategories.filter(
|
|
1755
1893
|
(c) => !catSearch || c.toLowerCase().includes(catSearch.toLowerCase())
|
|
1756
|
-
).map((cat) => /* @__PURE__ */
|
|
1894
|
+
).map((cat) => /* @__PURE__ */ jsx12(
|
|
1757
1895
|
CheckRow,
|
|
1758
1896
|
{
|
|
1759
1897
|
label: cat,
|
|
@@ -1763,8 +1901,8 @@ function AgentMobileSubView({
|
|
|
1763
1901
|
cat
|
|
1764
1902
|
)) })
|
|
1765
1903
|
] }),
|
|
1766
|
-
view === "tags" && /* @__PURE__ */ jsxs9(
|
|
1767
|
-
/* @__PURE__ */
|
|
1904
|
+
view === "tags" && /* @__PURE__ */ jsxs9(Fragment4, { children: [
|
|
1905
|
+
/* @__PURE__ */ jsx12("div", { className: "px-2 pt-2 pb-1", children: /* @__PURE__ */ jsx12(
|
|
1768
1906
|
SearchInput,
|
|
1769
1907
|
{
|
|
1770
1908
|
value: tagSearch,
|
|
@@ -1785,9 +1923,9 @@ function AgentMobileSubView({
|
|
|
1785
1923
|
]
|
|
1786
1924
|
}
|
|
1787
1925
|
),
|
|
1788
|
-
/* @__PURE__ */
|
|
1926
|
+
/* @__PURE__ */ jsx12("div", { className: "overflow-y-auto max-h-[300px]", children: allTags.filter(
|
|
1789
1927
|
(t) => !tagSearch || t.toLowerCase().includes(tagSearch.toLowerCase())
|
|
1790
|
-
).map((tag) => /* @__PURE__ */
|
|
1928
|
+
).map((tag) => /* @__PURE__ */ jsx12(
|
|
1791
1929
|
CheckRow,
|
|
1792
1930
|
{
|
|
1793
1931
|
label: tag,
|
|
@@ -1801,11 +1939,11 @@ function AgentMobileSubView({
|
|
|
1801
1939
|
}
|
|
1802
1940
|
|
|
1803
1941
|
// catalog/react/AgentSortPanel.tsx
|
|
1804
|
-
import { jsx as
|
|
1942
|
+
import { jsx as jsx13, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
1805
1943
|
function AgentSortPanel({ consumer, onClose }) {
|
|
1806
1944
|
return /* @__PURE__ */ jsxs10("div", { className: "flex flex-col h-full", children: [
|
|
1807
|
-
/* @__PURE__ */
|
|
1808
|
-
/* @__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(
|
|
1809
1947
|
OptionRow,
|
|
1810
1948
|
{
|
|
1811
1949
|
label: opt.label,
|
|
@@ -1818,7 +1956,7 @@ function AgentSortPanel({ consumer, onClose }) {
|
|
|
1818
1956
|
}
|
|
1819
1957
|
|
|
1820
1958
|
// catalog/react/AgentTagsPanel.tsx
|
|
1821
|
-
import { jsx as
|
|
1959
|
+
import { jsx as jsx14, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
1822
1960
|
function AgentTagsPanel({
|
|
1823
1961
|
consumer,
|
|
1824
1962
|
allTags,
|
|
@@ -1830,8 +1968,8 @@ function AgentTagsPanel({
|
|
|
1830
1968
|
(t) => !search || t.toLowerCase().includes(search.toLowerCase())
|
|
1831
1969
|
);
|
|
1832
1970
|
return /* @__PURE__ */ jsxs11("div", { className: "flex flex-col h-full", children: [
|
|
1833
|
-
/* @__PURE__ */
|
|
1834
|
-
/* @__PURE__ */
|
|
1971
|
+
/* @__PURE__ */ jsx14(SidePanelHeader, { title: "Tags", onClose }),
|
|
1972
|
+
/* @__PURE__ */ jsx14("div", { className: "px-2 pt-2 pb-1 shrink-0", children: /* @__PURE__ */ jsx14(
|
|
1835
1973
|
SearchInput,
|
|
1836
1974
|
{
|
|
1837
1975
|
value: search,
|
|
@@ -1852,7 +1990,7 @@ function AgentTagsPanel({
|
|
|
1852
1990
|
]
|
|
1853
1991
|
}
|
|
1854
1992
|
),
|
|
1855
|
-
/* @__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(
|
|
1856
1994
|
CheckRow,
|
|
1857
1995
|
{
|
|
1858
1996
|
label: tag,
|
|
@@ -1865,7 +2003,7 @@ function AgentTagsPanel({
|
|
|
1865
2003
|
}
|
|
1866
2004
|
|
|
1867
2005
|
// catalog/react/AgentListDropdown.tsx
|
|
1868
|
-
import { jsx as
|
|
2006
|
+
import { jsx as jsx15, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
1869
2007
|
var CONSUMER_ID = "agent-list-dropdown";
|
|
1870
2008
|
function AgentListDropdown({
|
|
1871
2009
|
onSelect,
|
|
@@ -1979,7 +2117,7 @@ function AgentListDropdown({
|
|
|
1979
2117
|
const handleDetailPanelMouseLeave = useCallback5(() => {
|
|
1980
2118
|
coreDetailMouseLeave(() => setRightPanel(null));
|
|
1981
2119
|
}, [coreDetailMouseLeave]);
|
|
1982
|
-
const resolveAgentHref =
|
|
2120
|
+
const resolveAgentHref = useMemo4(() => {
|
|
1983
2121
|
if (resolveAgentHrefProp) return resolveAgentHrefProp;
|
|
1984
2122
|
if (!navigateTo) return void 0;
|
|
1985
2123
|
return (agent) => navigateTo.replace("{id}", agent.id);
|
|
@@ -1997,22 +2135,22 @@ function AgentListDropdown({
|
|
|
1997
2135
|
className
|
|
1998
2136
|
),
|
|
1999
2137
|
children: [
|
|
2000
|
-
/* @__PURE__ */
|
|
2001
|
-
activeFilterCount > 0 && /* @__PURE__ */
|
|
2002
|
-
/* @__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" })
|
|
2003
2141
|
]
|
|
2004
2142
|
}
|
|
2005
2143
|
);
|
|
2006
2144
|
const wrapTrigger = (Trigger) => {
|
|
2007
2145
|
if (!showAssignedTooltip) {
|
|
2008
|
-
return /* @__PURE__ */
|
|
2146
|
+
return /* @__PURE__ */ jsx15(Trigger, { asChild: true, children: triggerButton });
|
|
2009
2147
|
}
|
|
2010
2148
|
return /* @__PURE__ */ jsxs12(Tooltip, { ...open ? { open: false } : {}, children: [
|
|
2011
|
-
/* @__PURE__ */
|
|
2012
|
-
/* @__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 })
|
|
2013
2151
|
] });
|
|
2014
2152
|
};
|
|
2015
|
-
const listPanel = /* @__PURE__ */
|
|
2153
|
+
const listPanel = /* @__PURE__ */ jsx15(
|
|
2016
2154
|
AgentListContent,
|
|
2017
2155
|
{
|
|
2018
2156
|
agents,
|
|
@@ -2047,8 +2185,8 @@ function AgentListDropdown({
|
|
|
2047
2185
|
return /* @__PURE__ */ jsxs12(Drawer, { open, onOpenChange: handleOpen, children: [
|
|
2048
2186
|
wrapTrigger(DrawerTrigger),
|
|
2049
2187
|
/* @__PURE__ */ jsxs12(DrawerContent, { className: "h-[85dvh]", children: [
|
|
2050
|
-
/* @__PURE__ */
|
|
2051
|
-
/* @__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: [
|
|
2052
2190
|
/* @__PURE__ */ jsxs12(
|
|
2053
2191
|
"button",
|
|
2054
2192
|
{
|
|
@@ -2056,19 +2194,19 @@ function AgentListDropdown({
|
|
|
2056
2194
|
onClick: () => setMobileDetailAgent(null),
|
|
2057
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",
|
|
2058
2196
|
children: [
|
|
2059
|
-
/* @__PURE__ */
|
|
2197
|
+
/* @__PURE__ */ jsx15(ChevronRightIcon, { className: "w-4 h-4 rotate-180" }),
|
|
2060
2198
|
"Back"
|
|
2061
2199
|
]
|
|
2062
2200
|
}
|
|
2063
2201
|
),
|
|
2064
|
-
/* @__PURE__ */
|
|
2202
|
+
/* @__PURE__ */ jsx15("div", { className: "overflow-y-auto", children: /* @__PURE__ */ jsx15(
|
|
2065
2203
|
AgentDetailCard,
|
|
2066
2204
|
{
|
|
2067
2205
|
agent: mobileDetailAgent,
|
|
2068
2206
|
onSelect: () => handleSelectAgent(mobileDetailAgent)
|
|
2069
2207
|
}
|
|
2070
2208
|
) })
|
|
2071
|
-
] }) : mobileSubView ? /* @__PURE__ */
|
|
2209
|
+
] }) : mobileSubView ? /* @__PURE__ */ jsx15(
|
|
2072
2210
|
AgentMobileSubView,
|
|
2073
2211
|
{
|
|
2074
2212
|
view: mobileSubView,
|
|
@@ -2091,7 +2229,7 @@ function AgentListDropdown({
|
|
|
2091
2229
|
}
|
|
2092
2230
|
return /* @__PURE__ */ jsxs12(Popover, { open, onOpenChange: handleOpen, modal: false, children: [
|
|
2093
2231
|
wrapTrigger(PopoverTrigger),
|
|
2094
|
-
/* @__PURE__ */
|
|
2232
|
+
/* @__PURE__ */ jsx15(
|
|
2095
2233
|
PopoverContent,
|
|
2096
2234
|
{
|
|
2097
2235
|
...contentSide ? { side: contentSide } : {},
|
|
@@ -2103,7 +2241,7 @@ function AgentListDropdown({
|
|
|
2103
2241
|
className: "p-0 overflow-hidden w-[680px]",
|
|
2104
2242
|
style: { height: PANEL_HEIGHT, maxHeight: LIST_MAX_HEIGHT },
|
|
2105
2243
|
children: /* @__PURE__ */ jsxs12("div", { className: "flex h-full", children: [
|
|
2106
|
-
/* @__PURE__ */
|
|
2244
|
+
/* @__PURE__ */ jsx15("div", { className: "flex flex-col min-w-0 w-[340px] shrink-0 border-r border-border", children: listPanel }),
|
|
2107
2245
|
/* @__PURE__ */ jsxs12(
|
|
2108
2246
|
"div",
|
|
2109
2247
|
{
|
|
@@ -2111,21 +2249,21 @@ function AgentListDropdown({
|
|
|
2111
2249
|
onMouseEnter: rightPanel === "detail" ? handleDetailPanelMouseEnter : void 0,
|
|
2112
2250
|
onMouseLeave: rightPanel === "detail" ? handleDetailPanelMouseLeave : void 0,
|
|
2113
2251
|
children: [
|
|
2114
|
-
rightPanel === "detail" && hoveredAgent && /* @__PURE__ */
|
|
2252
|
+
rightPanel === "detail" && hoveredAgent && /* @__PURE__ */ jsx15("div", { className: "h-full matrx-agent-fade-in", children: /* @__PURE__ */ jsx15(
|
|
2115
2253
|
AgentDetailCard,
|
|
2116
2254
|
{
|
|
2117
2255
|
agent: hoveredAgent,
|
|
2118
2256
|
onSelect: () => handleSelectAgent(hoveredAgent)
|
|
2119
2257
|
}
|
|
2120
2258
|
) }, hoveredAgent.id),
|
|
2121
|
-
rightPanel === "sort" && /* @__PURE__ */
|
|
2259
|
+
rightPanel === "sort" && /* @__PURE__ */ jsx15(
|
|
2122
2260
|
AgentSortPanel,
|
|
2123
2261
|
{
|
|
2124
2262
|
consumer,
|
|
2125
2263
|
onClose: () => setRightPanel(null)
|
|
2126
2264
|
}
|
|
2127
2265
|
),
|
|
2128
|
-
rightPanel === "categories" && /* @__PURE__ */
|
|
2266
|
+
rightPanel === "categories" && /* @__PURE__ */ jsx15(
|
|
2129
2267
|
AgentCategoriesPanel,
|
|
2130
2268
|
{
|
|
2131
2269
|
consumer,
|
|
@@ -2138,7 +2276,7 @@ function AgentListDropdown({
|
|
|
2138
2276
|
}
|
|
2139
2277
|
}
|
|
2140
2278
|
),
|
|
2141
|
-
rightPanel === "tags" && /* @__PURE__ */
|
|
2279
|
+
rightPanel === "tags" && /* @__PURE__ */ jsx15(
|
|
2142
2280
|
AgentTagsPanel,
|
|
2143
2281
|
{
|
|
2144
2282
|
consumer,
|
|
@@ -2152,8 +2290,8 @@ function AgentListDropdown({
|
|
|
2152
2290
|
}
|
|
2153
2291
|
),
|
|
2154
2292
|
!hasRightPanel && /* @__PURE__ */ jsxs12("div", { className: "flex flex-1 flex-col items-center justify-center gap-2 px-6 text-center", children: [
|
|
2155
|
-
/* @__PURE__ */
|
|
2156
|
-
/* @__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 })
|
|
2157
2295
|
] })
|
|
2158
2296
|
]
|
|
2159
2297
|
}
|
|
@@ -2167,7 +2305,7 @@ function AgentListDropdown({
|
|
|
2167
2305
|
// catalog/react/AgentListInlinePicker.tsx
|
|
2168
2306
|
import { cn as cn7 } from "@ai-matrx/design-system";
|
|
2169
2307
|
import { useEffect as useEffect4, useRef as useRef5, useState as useState4 } from "react";
|
|
2170
|
-
import { jsx as
|
|
2308
|
+
import { jsx as jsx16, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
2171
2309
|
function AgentListInlinePicker({
|
|
2172
2310
|
consumerId,
|
|
2173
2311
|
onSelect,
|
|
@@ -2239,12 +2377,12 @@ function AgentListInlinePicker({
|
|
|
2239
2377
|
onClick: () => setMobileDetailAgent(null),
|
|
2240
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",
|
|
2241
2379
|
children: [
|
|
2242
|
-
/* @__PURE__ */
|
|
2380
|
+
/* @__PURE__ */ jsx16(ChevronRightIcon, { className: "h-4 w-4 rotate-180" }),
|
|
2243
2381
|
"Back"
|
|
2244
2382
|
]
|
|
2245
2383
|
}
|
|
2246
2384
|
),
|
|
2247
|
-
/* @__PURE__ */
|
|
2385
|
+
/* @__PURE__ */ jsx16("div", { className: "min-h-0 flex-1 overflow-y-auto", children: /* @__PURE__ */ jsx16(
|
|
2248
2386
|
AgentDetailCard,
|
|
2249
2387
|
{
|
|
2250
2388
|
agent: mobileDetailAgent,
|
|
@@ -2254,7 +2392,7 @@ function AgentListInlinePicker({
|
|
|
2254
2392
|
] });
|
|
2255
2393
|
}
|
|
2256
2394
|
if (mobileSubView) {
|
|
2257
|
-
return /* @__PURE__ */
|
|
2395
|
+
return /* @__PURE__ */ jsx16("div", { className: cn7("flex h-full min-h-0 flex-col", className), children: /* @__PURE__ */ jsx16(
|
|
2258
2396
|
AgentMobileSubView,
|
|
2259
2397
|
{
|
|
2260
2398
|
view: mobileSubView,
|
|
@@ -2273,7 +2411,7 @@ function AgentListInlinePicker({
|
|
|
2273
2411
|
}
|
|
2274
2412
|
) });
|
|
2275
2413
|
}
|
|
2276
|
-
return /* @__PURE__ */
|
|
2414
|
+
return /* @__PURE__ */ jsx16("div", { className: cn7("flex h-full min-h-0 flex-col", className), children: /* @__PURE__ */ jsx16(
|
|
2277
2415
|
AgentListContent,
|
|
2278
2416
|
{
|
|
2279
2417
|
agents,
|
|
@@ -2324,12 +2462,17 @@ export {
|
|
|
2324
2462
|
FilterChip,
|
|
2325
2463
|
HOVER_GRACE_MS,
|
|
2326
2464
|
LIST_MAX_HEIGHT,
|
|
2465
|
+
Music4Icon,
|
|
2327
2466
|
OptionRow,
|
|
2328
2467
|
PANEL_HEIGHT,
|
|
2329
2468
|
SORT_OPTIONS,
|
|
2330
2469
|
SearchInput,
|
|
2331
2470
|
SidePanelHeader,
|
|
2332
2471
|
coerceVisibleTab,
|
|
2472
|
+
orchestraDelegatesLine,
|
|
2473
|
+
orchestraDepthLine,
|
|
2474
|
+
orchestraLabel,
|
|
2475
|
+
orchestraModeLabel,
|
|
2333
2476
|
useAgentCatalog,
|
|
2334
2477
|
useAgentCatalogRows,
|
|
2335
2478
|
useAgentCatalogState,
|