@ai-matrx/agents 0.9.0 → 0.9.2

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.
@@ -229,53 +229,27 @@ import {
229
229
 
230
230
  // catalog/shared/useAgentConsumer.ts
231
231
  import { useCallback as useCallback2, useEffect, useRef, useState } from "react";
232
-
233
- // catalog/types.ts
234
- function isMandateAgentId(id) {
235
- return id.startsWith("mandate:");
236
- }
237
- var SORT_OPTIONS = [
238
- { value: "updated-desc", label: "Recent" },
239
- { value: "created-desc", label: "Created" },
240
- { value: "name-asc", label: "A \u2192 Z" },
241
- { value: "name-desc", label: "Z \u2192 A" },
242
- { value: "category-asc", label: "Category" }
243
- ];
244
- var AGENT_NONE_SENTINEL = "__none__";
245
- var DEFAULT_AGENT_CONSUMER_STATE = {
246
- tab: "mine",
247
- sortBy: "updated-desc",
248
- searchTerm: "",
249
- includedCats: [],
250
- includedTags: [],
251
- favFilter: "all",
252
- archFilter: "active",
253
- accessFilter: "any",
254
- favoritesFirst: true,
255
- listPage: 1,
256
- sharedPage: 1,
257
- serverMatchedIds: [],
258
- isServerSearching: false,
259
- deepSearch: false
260
- };
261
-
262
- // catalog/shared/useAgentConsumer.ts
263
232
  var DEBOUNCE_MS = 250;
264
233
  var MIN_QUERY_LENGTH = 2;
265
234
  function useAgentConsumer(consumerId, options) {
266
235
  const catalog = useAgentCatalog();
236
+ const defaults = catalog.consumerDefaults;
267
237
  const selectConsumer = useCallback2(
268
- (state) => state.consumers[consumerId] ?? DEFAULT_AGENT_CONSUMER_STATE,
269
- [consumerId]
238
+ (state) => state.consumers[consumerId] ?? defaults,
239
+ [consumerId, defaults]
270
240
  );
271
241
  const consumer = useAgentCatalogState(selectConsumer);
272
242
  const optionsRef = useRef(options);
273
243
  optionsRef.current = options;
274
244
  useEffect(() => {
275
245
  const opts = optionsRef.current;
246
+ const initial = {
247
+ ...opts?.initialTab ? { tab: opts.initialTab } : {},
248
+ ...opts?.initialArchFilter ? { archFilter: opts.initialArchFilter } : {}
249
+ };
276
250
  catalog.registerConsumer(
277
251
  consumerId,
278
- opts?.initialTab ? { tab: opts.initialTab } : void 0
252
+ Object.keys(initial).length > 0 ? initial : void 0
279
253
  );
280
254
  return () => {
281
255
  if (optionsRef.current?.unregisterOnUnmount) {
@@ -398,7 +372,10 @@ function useAgentConsumer(consumerId, options) {
398
372
  isSearching
399
373
  });
400
374
  }, [consumerId, catalog, matchedIds, isSearching]);
401
- const hasActiveFilters = consumer.searchTerm !== "" || consumer.includedCats.length > 0 || consumer.includedTags.length > 0 || consumer.favFilter !== "all" || consumer.archFilter !== "active" || consumer.accessFilter !== "any" || !consumer.favoritesFirst;
375
+ const hasActiveFilters = consumer.searchTerm !== "" || consumer.includedCats.length > 0 || consumer.includedTags.length > 0 || consumer.favFilter !== "all" || // The archive filter is compared to THIS CATALOG'S default, not to the
376
+ // hardcoded platform one: a host that legitimately defaults to "show all"
377
+ // must not have the reset control permanently lit.
378
+ consumer.archFilter !== defaults.archFilter || consumer.accessFilter !== "any" || !consumer.favoritesFirst;
402
379
  return {
403
380
  tab: consumer.tab,
404
381
  sortBy: consumer.sortBy,
@@ -407,6 +384,7 @@ function useAgentConsumer(consumerId, options) {
407
384
  includedTags: consumer.includedTags,
408
385
  favFilter: consumer.favFilter,
409
386
  archFilter: consumer.archFilter,
387
+ archFilterDefault: defaults.archFilter,
410
388
  accessFilter: consumer.accessFilter,
411
389
  favoritesFirst: consumer.favoritesFirst,
412
390
  listPage: consumer.listPage,
@@ -433,6 +411,34 @@ function useAgentConsumer(consumerId, options) {
433
411
  };
434
412
  }
435
413
 
414
+ // catalog/types.ts
415
+ function isMandateAgentId(id) {
416
+ return id.startsWith("mandate:");
417
+ }
418
+ var SORT_OPTIONS = [
419
+ { value: "updated-desc", label: "Recent" },
420
+ { value: "created-desc", label: "Created" },
421
+ { value: "name-asc", label: "A \u2192 Z" },
422
+ { value: "name-desc", label: "Z \u2192 A" },
423
+ { value: "category-asc", label: "Category" }
424
+ ];
425
+ var ARCHIVE_FILTER_ORDER = [
426
+ "active",
427
+ "both",
428
+ "archived"
429
+ ];
430
+ var ARCHIVE_FILTER_OPTIONS = [
431
+ { value: "active", label: "Hide archived", chip: "Archive" },
432
+ { value: "both", label: "Show all", chip: "All + archived" },
433
+ { value: "archived", label: "Archived only", chip: "Archived only" }
434
+ ];
435
+ function nextArchFilter(current) {
436
+ const index = ARCHIVE_FILTER_ORDER.indexOf(current);
437
+ if (index < 0) return ARCHIVE_FILTER_ORDER[0];
438
+ return ARCHIVE_FILTER_ORDER[(index + 1) % ARCHIVE_FILTER_ORDER.length];
439
+ }
440
+ var AGENT_NONE_SENTINEL = "__none__";
441
+
436
442
  // catalog/labels.ts
437
443
  function agentListEmptyLabel(tab, labels) {
438
444
  switch (tab) {
@@ -449,6 +455,26 @@ function shouldDefaultAgentListToPublicTab(args) {
449
455
  if (!args.agentsLoaded) return false;
450
456
  return args.ownedCount === 0;
451
457
  }
458
+ function agentArchiveFilterChipLabel(archFilter) {
459
+ return ARCHIVE_FILTER_OPTIONS.find((o) => o.value === archFilter)?.chip ?? "Archive";
460
+ }
461
+ function agentArchiveFilterStateLabel(archFilter) {
462
+ return ARCHIVE_FILTER_OPTIONS.find((o) => o.value === archFilter)?.label ?? "Hide archived";
463
+ }
464
+ function agentArchiveFilterControlLabel(archFilter) {
465
+ return `Archive filter: ${agentArchiveFilterStateLabel(
466
+ archFilter
467
+ ).toLowerCase()}. Click for ${agentArchiveFilterStateLabel(
468
+ nextArchFilter(archFilter)
469
+ ).toLowerCase()}`;
470
+ }
471
+ function agentListFooterLabel(args) {
472
+ const { count, archFilter, archivedHiddenCount } = args;
473
+ if (archFilter === "archived") return `${count} archived shown`;
474
+ const base = `${count} agent${count !== 1 ? "s" : ""}`;
475
+ if (archFilter === "both") return `${base} \xB7 archived shown`;
476
+ return archivedHiddenCount > 0 ? `${base} \xB7 ${archivedHiddenCount} archived hidden` : base;
477
+ }
452
478
 
453
479
  // catalog/score.ts
454
480
  function computeAgentSearchScore(agent, query) {
@@ -525,7 +551,19 @@ function memoize2(fn) {
525
551
  return last;
526
552
  };
527
553
  }
554
+ function compareAgentIds(a, b) {
555
+ const idA = a.id ?? "";
556
+ const idB = b.id ?? "";
557
+ if (idA < idB) return -1;
558
+ if (idA > idB) return 1;
559
+ return 0;
560
+ }
528
561
  function applyAgentSortComparator(a, b, sortBy) {
562
+ const primary = compareAgentSortKey(a, b, sortBy);
563
+ if (!Number.isFinite(primary) || primary === 0) return compareAgentIds(a, b);
564
+ return primary;
565
+ }
566
+ function compareAgentSortKey(a, b, sortBy) {
529
567
  switch (sortBy) {
530
568
  case "name-asc":
531
569
  return (a.name ?? "").localeCompare(b.name ?? "");
@@ -627,8 +665,7 @@ function filterUserTypeAgents(agents, consumer) {
627
665
  if (tab === "mine" && agent.isOwner !== true) return false;
628
666
  if (tab === "shared" && !(agent.isOwner === false && agent.accessLevel != null))
629
667
  return false;
630
- if (archFilter === "active" && agent.isArchived) return false;
631
- if (archFilter === "archived" && !agent.isArchived) return false;
668
+ if (!agentMatchesArchiveFilter(agent, archFilter)) return false;
632
669
  if (favFilter === "yes" && !agent.isFavorite) return false;
633
670
  if (favFilter === "no" && agent.isFavorite) return false;
634
671
  if (accessFilter === "owned" && agent.isOwner !== true) return false;
@@ -658,9 +695,10 @@ function filterUserTypeAgents(agents, consumer) {
658
695
  return sortFilteredAgents(filtered, consumer);
659
696
  }
660
697
  function filterBuiltinTypeAgents(agents, consumer) {
661
- const { searchTerm, favFilter, includedCats, includedTags } = consumer;
698
+ const { searchTerm, favFilter, archFilter, includedCats, includedTags } = consumer;
662
699
  const serverMatched = new Set(consumer.serverMatchedIds);
663
700
  const filtered = agents.filter((agent) => {
701
+ if (!agentMatchesArchiveFilter(agent, archFilter)) return false;
664
702
  if (favFilter === "yes" && !agent.isFavorite) return false;
665
703
  if (favFilter === "no" && agent.isFavorite) return false;
666
704
  if (includedCats.length > 0) {
@@ -701,22 +739,55 @@ var makeSelectFilteredAgents = (includeSystemInAll = false) => memoize2(
701
739
  return filterUserTypeAgents(userAgents, consumer);
702
740
  }
703
741
  );
742
+ function agentMatchesArchiveFilter(agent, archFilter) {
743
+ if (archFilter === "active") return !agent.isArchived;
744
+ if (archFilter === "archived") return Boolean(agent.isArchived);
745
+ return true;
746
+ }
747
+ function countBuiltinRows(agents, archFilter) {
748
+ let n = 0;
749
+ for (const a of agents) {
750
+ if (a.agentType !== "builtin") continue;
751
+ if (!agentMatchesArchiveFilter(a, archFilter)) continue;
752
+ n += 1;
753
+ }
754
+ return n;
755
+ }
756
+ function countUserRows(agents, archFilter, predicate) {
757
+ let n = 0;
758
+ for (const a of agents) {
759
+ if (a.agentType !== "user") continue;
760
+ if (!agentMatchesArchiveFilter(a, archFilter)) continue;
761
+ if (predicate(a)) n += 1;
762
+ }
763
+ return n;
764
+ }
765
+ var isOwned = (a) => a.isOwner === true;
766
+ var isShared = (a) => a.isOwner === false && a.accessLevel != null;
767
+ var isAny = () => true;
768
+ var isFavorite = (a) => Boolean(a.isFavorite);
769
+ var selectAgentTabCounts = memoize2(
770
+ (agents, archFilter) => ({
771
+ mine: countUserRows(agents, archFilter, isOwned),
772
+ shared: countUserRows(agents, archFilter, isShared),
773
+ all: countUserRows(agents, archFilter, isAny),
774
+ system: countBuiltinRows(agents, archFilter)
775
+ })
776
+ );
704
777
  var selectTotalUserAgentsCount = memoize1(
705
- (agents) => selectUserTypeAgents(agents).length
778
+ (agents) => countUserRows(agents, "active", isAny)
706
779
  );
707
780
  var selectTotalOwnedAgentsCount = memoize1(
708
- (agents) => selectUserTypeAgents(agents).filter((a) => a.isOwner === true).length
781
+ (agents) => countUserRows(agents, "active", isOwned)
709
782
  );
710
783
  var selectTotalSharedAgentsCount = memoize1(
711
- (agents) => selectUserTypeAgents(agents).filter(
712
- (a) => a.isOwner === false && a.accessLevel != null
713
- ).length
784
+ (agents) => countUserRows(agents, "active", isShared)
714
785
  );
715
786
  var selectTotalBuiltinAgentsCount = memoize1(
716
- (agents) => selectBuiltinTypeAgents(agents).length
787
+ (agents) => countBuiltinRows(agents, "active")
717
788
  );
718
789
  var selectTotalFavoriteAgentsCount = memoize1(
719
- (agents) => selectUserTypeAgents(agents).filter((a) => a.isFavorite).length
790
+ (agents) => countUserRows(agents, "active", isFavorite)
720
791
  );
721
792
 
722
793
  // catalog/shared/useAgentListCore.ts
@@ -735,6 +806,7 @@ function useAgentListCore({
735
806
  initialTab,
736
807
  includeSystemInAll = false,
737
808
  visibleTabs,
809
+ initialArchFilter,
738
810
  excludeAgentIds = EMPTY_EXCLUDES,
739
811
  defaultMandateKey
740
812
  }) {
@@ -744,10 +816,14 @@ function useAgentListCore({
744
816
  const [hoveredAgent, setHoveredAgent] = useState2(null);
745
817
  const hoverLeaveTimerRef = useRef2(null);
746
818
  const defaultTabAppliedRef = useRef2(false);
747
- const consumer = useAgentConsumer(consumerId, { unregisterOnUnmount: true });
819
+ const consumer = useAgentConsumer(consumerId, {
820
+ unregisterOnUnmount: true,
821
+ ...initialArchFilter ? { initialArchFilter } : {}
822
+ });
748
823
  const rows = useAgentCatalogRows();
749
824
  const userId = catalog.getUserIdOrNull();
750
- const ownedCount = selectTotalOwnedAgentsCount(rows);
825
+ const tabCountsForFilter = selectAgentTabCounts(rows, consumer.state.archFilter);
826
+ const ownedCount = tabCountsForFilter.mine;
751
827
  const selectFiltered = useMemo3(
752
828
  () => makeSelectFilteredAgents(includeSystemInAll),
753
829
  [includeSystemInAll]
@@ -757,19 +833,27 @@ function useAgentListCore({
757
833
  () => new Set(excludeAgentIds),
758
834
  [excludeAgentIds]
759
835
  );
760
- const agents = excludedAgentIds.size === 0 ? filteredAgents : filteredAgents.filter((agent) => !excludedAgentIds.has(agent.id));
836
+ const applyExcludes = useCallback3(
837
+ (list) => excludedAgentIds.size === 0 ? list : list.filter((agent) => !excludedAgentIds.has(agent.id)),
838
+ [excludedAgentIds]
839
+ );
840
+ const agents = applyExcludes(filteredAgents);
841
+ const selectArchivedProbe = useMemo3(
842
+ () => makeSelectFilteredAgents(includeSystemInAll),
843
+ [includeSystemInAll]
844
+ );
845
+ const archiveProbeState = useMemo3(
846
+ () => ({ ...consumer.state, archFilter: "archived" }),
847
+ [consumer.state]
848
+ );
849
+ const archivedHiddenCount = consumer.archFilter === "active" ? applyExcludes(selectArchivedProbe(rows, archiveProbeState)).length : 0;
761
850
  const status = useAgentCatalogState(selectStatus);
762
851
  const activeAgentId = activeAgentIdOverride ?? null;
763
852
  const pinnedAgent = activeAgentId ? catalog.getAgent(activeAgentId) : void 0;
764
853
  const onSystemTab = consumer.tab === "system";
765
854
  const allCategories = onSystemTab ? selectAllSystemAgentCategories(rows) : selectAllAgentCategories(rows);
766
855
  const allTags = onSystemTab ? selectAllSystemAgentTags(rows) : selectAllAgentTags(rows);
767
- const tabCounts = {
768
- mine: ownedCount,
769
- shared: selectTotalSharedAgentsCount(rows),
770
- all: selectTotalUserAgentsCount(rows),
771
- system: selectTotalBuiltinAgentsCount(rows)
772
- };
856
+ const tabCounts = tabCountsForFilter;
773
857
  const isLoading = status === "loading";
774
858
  const agentsLoaded = status === "succeeded" || status === "failed";
775
859
  const ensureLoaded = useCallback3(() => {
@@ -849,7 +933,9 @@ function useAgentListCore({
849
933
  },
850
934
  [onSelect, navigateTo, navigate, catalog, consumerId]
851
935
  );
852
- const activeFilterCount = (consumer.sortBy !== "updated-desc" ? 1 : 0) + (consumer.includedCats.length > 0 ? 1 : 0) + (consumer.includedTags.length > 0 ? 1 : 0) + (consumer.favFilter !== "all" ? 1 : 0);
936
+ const activeFilterCount = (consumer.sortBy !== "updated-desc" ? 1 : 0) + (consumer.includedCats.length > 0 ? 1 : 0) + (consumer.includedTags.length > 0 ? 1 : 0) + (consumer.favFilter !== "all" ? 1 : 0) + // The archive filter counts like every other filter, so a list showing
937
+ // archived rows offers the reset control that puts them away again.
938
+ (consumer.archFilter !== consumer.archFilterDefault ? 1 : 0);
853
939
  const handleAgentHover = useCallback3(
854
940
  (agent, panelOpen) => {
855
941
  if (panelOpen) return;
@@ -890,8 +976,15 @@ function useAgentListCore({
890
976
  },
891
977
  []
892
978
  );
979
+ const footerLabel = agentListFooterLabel({
980
+ count: agents.length,
981
+ archFilter: consumer.archFilter,
982
+ archivedHiddenCount
983
+ });
893
984
  return {
894
985
  agents,
986
+ archivedHiddenCount,
987
+ footerLabel,
895
988
  isLoading,
896
989
  activeAgentId,
897
990
  pinnedAgent: pinnedAgent ?? null,
@@ -1034,6 +1127,18 @@ var SHAPES = {
1034
1127
  "M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5"
1035
1128
  ]
1036
1129
  },
1130
+ /**
1131
+ * THE ARCHIVE GLYPH (Lucide `archive`) — the ONE mark of the platform
1132
+ * archive filter, drawn identically in every Matrx client so the control a
1133
+ * person learns on one surface is recognisable on all of them.
1134
+ */
1135
+ archive: {
1136
+ paths: [
1137
+ "M3 3h18a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1z",
1138
+ "M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",
1139
+ "M10 12h4"
1140
+ ]
1141
+ },
1037
1142
  circleCheck: {
1038
1143
  paths: ["m9 12 2 2 4-4"],
1039
1144
  circles: [{ cx: 12, cy: 12, r: 10 }]
@@ -1103,6 +1208,7 @@ var TEXT_GLYPHS = {
1103
1208
  folder: "\u25A4",
1104
1209
  tag: "\u2317",
1105
1210
  rotateCcw: "\u21BA",
1211
+ archive: "\u25A3",
1106
1212
  loader: "\u25CC",
1107
1213
  alertTriangle: "\u26A0",
1108
1214
  music4: "\u266A",
@@ -1185,31 +1291,31 @@ function FavoriteAgentButton({
1185
1291
  const theme = useAgentCatalogNativeTheme();
1186
1292
  const select = useCallback4((state) => state.byId[id], [id]);
1187
1293
  const record = useAgentCatalogState(select);
1188
- const isFavorite = record?.isFavorite ?? false;
1294
+ const isFavorite2 = record?.isFavorite ?? false;
1189
1295
  const isOwner = record?.isOwner ?? true;
1190
1296
  const inert = Boolean(disabled) || !isOwner;
1191
- const title = isOwner ? isFavorite ? "Remove from favorites" : "Add to favorites" : "Shared \u2014 cannot favorite";
1297
+ const title = isOwner ? isFavorite2 ? "Remove from favorites" : "Add to favorites" : "Shared \u2014 cannot favorite";
1192
1298
  return /* @__PURE__ */ jsx4(
1193
1299
  Pressable2,
1194
1300
  {
1195
1301
  onPress: () => {
1196
1302
  if (inert) return;
1197
- void catalog.setFavorite(id, !isFavorite).catch(() => {
1303
+ void catalog.setFavorite(id, !isFavorite2).catch(() => {
1198
1304
  });
1199
1305
  },
1200
1306
  disabled: inert,
1201
1307
  hitSlop: 8,
1202
1308
  accessibilityRole: "button",
1203
1309
  accessibilityLabel: title,
1204
- accessibilityState: { disabled: inert, selected: isFavorite },
1310
+ accessibilityState: { disabled: inert, selected: isFavorite2 },
1205
1311
  style: { opacity: inert ? 0.4 : 1 },
1206
1312
  children: /* @__PURE__ */ jsx4(
1207
1313
  AgentIcon,
1208
1314
  {
1209
1315
  name: "star",
1210
1316
  size,
1211
- filled: isFavorite,
1212
- color: isFavorite ? theme.colors.favorite : theme.colors.textFaint,
1317
+ filled: isFavorite2,
1318
+ color: isFavorite2 ? theme.colors.favorite : theme.colors.textFaint,
1213
1319
  report: catalog.errorSink
1214
1320
  }
1215
1321
  )
@@ -1616,7 +1722,9 @@ function FilterChip({
1616
1722
  icon,
1617
1723
  label,
1618
1724
  active,
1619
- onPress
1725
+ onPress,
1726
+ accessibilityLabel,
1727
+ testID
1620
1728
  }) {
1621
1729
  const theme = useAgentCatalogNativeTheme();
1622
1730
  const { errorSink } = useAgentCatalog();
@@ -1627,7 +1735,8 @@ function FilterChip({
1627
1735
  onPress,
1628
1736
  accessibilityRole: "button",
1629
1737
  accessibilityState: { selected: active },
1630
- accessibilityLabel: label,
1738
+ accessibilityLabel: accessibilityLabel ?? label,
1739
+ ...testID ? { testID } : {},
1631
1740
  style: ({ pressed }) => [
1632
1741
  styles2.chip,
1633
1742
  {
@@ -1886,6 +1995,17 @@ function AgentFilterBar({
1886
1995
  }
1887
1996
  }
1888
1997
  ),
1998
+ /* @__PURE__ */ jsx7(
1999
+ FilterChip,
2000
+ {
2001
+ icon: "archive",
2002
+ label: agentArchiveFilterChipLabel(consumer.archFilter),
2003
+ active: consumer.archFilter !== consumer.archFilterDefault,
2004
+ accessibilityLabel: agentArchiveFilterControlLabel(consumer.archFilter),
2005
+ testID: "agent-archive-filter",
2006
+ onPress: () => consumer.setArchFilter(nextArchFilter(consumer.archFilter))
2007
+ }
2008
+ ),
1889
2009
  allCategories.length > 0 && /* @__PURE__ */ jsx7(
1890
2010
  FilterChip,
1891
2011
  {
@@ -2232,7 +2352,8 @@ function AgentListContent({
2232
2352
  systemTabLabel,
2233
2353
  pinnedAgent = null,
2234
2354
  defaultRow = null,
2235
- autoFocusSearch = false
2355
+ autoFocusSearch = false,
2356
+ archivedHiddenCount = 0
2236
2357
  }) {
2237
2358
  const catalog = useAgentCatalog();
2238
2359
  const theme = useAgentCatalogNativeTheme();
@@ -2460,19 +2581,20 @@ function AgentListContent({
2460
2581
  ),
2461
2582
  /* @__PURE__ */ jsx10(View4, { style: hairline }),
2462
2583
  /* @__PURE__ */ jsxs7(View4, { style: [styles6.footer, { paddingHorizontal: theme.spacing.md }], children: [
2463
- /* @__PURE__ */ jsxs7(
2584
+ /* @__PURE__ */ jsx10(
2464
2585
  Text7,
2465
2586
  {
2587
+ testID: "agent-list-footer",
2466
2588
  style: {
2467
2589
  color: theme.colors.textMuted,
2468
2590
  fontSize: theme.fontSize.xs,
2469
2591
  fontVariant: ["tabular-nums"]
2470
2592
  },
2471
- children: [
2472
- agents.length,
2473
- " agent",
2474
- agents.length !== 1 ? "s" : ""
2475
- ]
2593
+ children: agentListFooterLabel({
2594
+ count: agents.length,
2595
+ archFilter: consumer.archFilter,
2596
+ archivedHiddenCount
2597
+ })
2476
2598
  }
2477
2599
  ),
2478
2600
  consumer.searchTerm.length > 0 && /* @__PURE__ */ jsx10(
@@ -2639,6 +2761,7 @@ function AgentPickerBody({
2639
2761
  const [panelSearch, setPanelSearch] = useState3("");
2640
2762
  const {
2641
2763
  agents,
2764
+ archivedHiddenCount,
2642
2765
  isLoading,
2643
2766
  allCategories,
2644
2767
  allTags,
@@ -2710,6 +2833,7 @@ function AgentPickerBody({
2710
2833
  onReset: consumer.resetFilters,
2711
2834
  activeFilterCount,
2712
2835
  tabCounts,
2836
+ archivedHiddenCount,
2713
2837
  ...visibleTabs ? { visibleTabs } : {},
2714
2838
  ...systemTabLabel ?? (includeSystemInAll ? "System" : void 0) ? {
2715
2839
  systemTabLabel: systemTabLabel ?? (includeSystemInAll ? "System" : void 0)