@ai-matrx/agents 0.59.229 → 0.59.231
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 +32 -1
- package/dist/catalog/native/index.cjs +74 -79
- package/dist/catalog/native/index.js +74 -79
- package/dist/catalog/react/index.cjs +290 -147
- package/dist/catalog/react/index.d.cts +6 -2
- package/dist/catalog/react/index.d.ts +6 -2
- package/dist/catalog/react/index.js +321 -178
- package/dist/content-transfer/index.cjs +5 -654
- package/dist/content-transfer/index.js +15 -652
- package/dist/content-transfer/react/index.cjs +5 -654
- package/dist/content-transfer/react/index.js +15 -652
- package/dist/generated/provision-offers.cjs +2 -0
- package/dist/generated/provision-offers.d.cts +76 -1
- package/dist/generated/provision-offers.d.ts +76 -1
- package/dist/generated/provision-offers.js +2 -0
- package/dist/mandates/index.cjs +12 -797
- package/dist/mandates/index.d.cts +5 -740
- package/dist/mandates/index.d.ts +5 -740
- package/dist/mandates/index.js +17 -788
- package/dist/models/index.cjs +19 -9
- package/dist/models/index.d.cts +4 -1
- package/dist/models/index.d.ts +4 -1
- package/dist/models/index.js +19 -9
- package/dist/models/react/index.cjs +0 -3
- package/dist/models/react/index.js +1 -4
- package/dist/quick/index.cjs +205 -82
- package/dist/quick/index.d.cts +110 -45
- package/dist/quick/index.d.ts +110 -45
- package/dist/quick/index.js +205 -82
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,10 +1,37 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 0.59.
|
|
3
|
+
## 0.59.231
|
|
4
4
|
|
|
5
5
|
UNVERIFIED: this release has no Unreleased entry and the source comparison could not be made (the caller supplied no source comparison). Whether source changed is unknown; consumer action is unknown.
|
|
6
6
|
Check the package's gitHead on npm against this version's gitHead: `git diff <previous gitHead> <this gitHead> -- apps/shared/matrx-agents/src`.
|
|
7
7
|
|
|
8
|
+
## 0.59.230
|
|
9
|
+
|
|
10
|
+
The agent picker windows its list. `AgentListContent` (the body of
|
|
11
|
+
`AgentListInlinePicker`, `AgentListDropdown` and `AgentListPanel`) mounted every
|
|
12
|
+
agent as a row — measured live on a 605-agent tab: ~5,000 extra DOM nodes and a
|
|
13
|
+
0.8–2.8 s main-thread block on every open. Past 50 rows it now renders only the
|
|
14
|
+
rows the viewport shows plus overscan (`computeWindow` from
|
|
15
|
+
`@ai-matrx/design-system/data-table/virtual-window`), with spacers keeping the
|
|
16
|
+
scroll height exact; rows are a fixed `AGENT_ROW_HEIGHT` (36 px, exported).
|
|
17
|
+
The list is a `listbox` of `option`s (`aria-setsize`/`aria-posinset`), and the
|
|
18
|
+
search field is its `combobox`: ArrowUp/ArrowDown/PageUp/PageDown move the
|
|
19
|
+
highlight (`aria-activedescendant`), scrolling unmounted rows into view, and
|
|
20
|
+
Enter picks. Opening with a selected agent that is not pinned scrolls it into
|
|
21
|
+
view. `SearchInput` takes optional `onKeyDown` and `inputProps`. Proof:
|
|
22
|
+
`catalog/react/picker-virtualized.test.tsx` (600 agents; red on the old list).
|
|
23
|
+
No consumer action required.
|
|
24
|
+
|
|
25
|
+
## 0.59.229
|
|
26
|
+
|
|
27
|
+
Automatic changed-only republish (docs/metadata drift since the last published version; verified: `git diff b18bc55fba 3a8fce70c3 -- apps/shared/matrx-agents/src`
|
|
28
|
+
has no shipped-source changes outside tests, fixtures and docs). No consumer action required.
|
|
29
|
+
|
|
30
|
+
## 0.59.228
|
|
31
|
+
|
|
32
|
+
Automatic changed-only republish (docs/metadata drift since the last published version; verified: `git diff 351d20c835 b18bc55fba -- apps/shared/matrx-agents/src`
|
|
33
|
+
has no shipped-source changes outside tests, fixtures and docs). No consumer action required.
|
|
34
|
+
|
|
8
35
|
## 0.59.227
|
|
9
36
|
|
|
10
37
|
Automatic changed-only republish (docs/metadata drift since the last published version; verified: `git diff 9ef2018cc7 351d20c835 -- apps/shared/matrx-agents/src`
|
|
@@ -2354,6 +2381,10 @@ No source changes intended and no consumer action required.
|
|
|
2354
2381
|
|
|
2355
2382
|
## Unreleased
|
|
2356
2383
|
|
|
2384
|
+
- **`@ai-matrx/agents/mandates` re-exports the mandate keys from `@ai-matrx/api/intelligence`** (their one home; the identical `mandates/keys.generated.ts` copy is gone and the generator writes only the api file). The snapshots stay here. Consumer action: none.
|
|
2385
|
+
|
|
2386
|
+
|
|
2387
|
+
- **`ArrowUpDownIcon`, `MessageCircleIcon` and `RocketIcon` (catalog/react/icons) are re-exports of `@ai-matrx/design-system/icons`**, like `FolderIcon`/`TagIcon`/`RotateCcwIcon` before them, so the web picker draws the lucide 1.48 glyphs. The shared `icon-paths` table is untouched, the native entry still draws from it. Consumer action: none.
|
|
2357
2388
|
- **The mandate key module has one home (packages-copies lane, 2026-10-21).** `mandates/keys.generated.ts` is deleted; the generator writes only `@ai-matrx/api`'s `intelligence/keys.generated.ts` and `@ai-matrx/agents/mandates` re-exports from it. Consumer action: none.
|
|
2358
2389
|
|
|
2359
2390
|
- Context receipt: `ContextReceiptRow.consumed_as` / `consumed_into` (RULES.md §5) — a key
|
|
@@ -453,85 +453,6 @@ function useAgentConsumer(consumerId, options) {
|
|
|
453
453
|
};
|
|
454
454
|
}
|
|
455
455
|
|
|
456
|
-
// quick/shape.ts
|
|
457
|
-
var QUICK_AGENT_TAG = "kind:quick";
|
|
458
|
-
var QUICK_AGENT_DEFAULT_SETTINGS = Object.freeze({
|
|
459
|
-
temperature: 0.7,
|
|
460
|
-
topP: 1,
|
|
461
|
-
maxOutputTokens: 4096
|
|
462
|
-
});
|
|
463
|
-
function isQuickAgentSummary(row) {
|
|
464
|
-
return row.tags.includes(QUICK_AGENT_TAG);
|
|
465
|
-
}
|
|
466
|
-
function withoutQuickAgents(rows) {
|
|
467
|
-
return rows.filter((row) => !isQuickAgentSummary(row));
|
|
468
|
-
}
|
|
469
|
-
|
|
470
|
-
// catalog/types.ts
|
|
471
|
-
function isMandateAgentId(id) {
|
|
472
|
-
return id.startsWith("mandate:");
|
|
473
|
-
}
|
|
474
|
-
var SORT_OPTIONS = [
|
|
475
|
-
{ value: "updated-desc", label: "Recent" },
|
|
476
|
-
{ value: "created-desc", label: "Created" },
|
|
477
|
-
{ value: "name-asc", label: "A \u2192 Z" },
|
|
478
|
-
{ value: "name-desc", label: "Z \u2192 A" },
|
|
479
|
-
{ value: "category-asc", label: "Category" }
|
|
480
|
-
];
|
|
481
|
-
var ARCHIVE_FILTER_ORDER = [
|
|
482
|
-
"active",
|
|
483
|
-
"both",
|
|
484
|
-
"archived"
|
|
485
|
-
];
|
|
486
|
-
var ARCHIVE_FILTER_OPTIONS = [
|
|
487
|
-
{ value: "active", label: "Hide archived", chip: "Archive" },
|
|
488
|
-
{ value: "both", label: "Show all", chip: "All + archived" },
|
|
489
|
-
{ value: "archived", label: "Archived only", chip: "Archived only" }
|
|
490
|
-
];
|
|
491
|
-
function nextArchFilter(current) {
|
|
492
|
-
const index = ARCHIVE_FILTER_ORDER.indexOf(current);
|
|
493
|
-
if (index < 0) return ARCHIVE_FILTER_ORDER[0];
|
|
494
|
-
return ARCHIVE_FILTER_ORDER[(index + 1) % ARCHIVE_FILTER_ORDER.length];
|
|
495
|
-
}
|
|
496
|
-
var AGENT_NONE_SENTINEL = "__none__";
|
|
497
|
-
|
|
498
|
-
// catalog/labels.ts
|
|
499
|
-
function agentListEmptyLabel(tab, labels) {
|
|
500
|
-
switch (tab) {
|
|
501
|
-
case "system":
|
|
502
|
-
return labels.emptySystem;
|
|
503
|
-
case "shared":
|
|
504
|
-
return labels.emptyShared;
|
|
505
|
-
default:
|
|
506
|
-
return labels.emptyDefault;
|
|
507
|
-
}
|
|
508
|
-
}
|
|
509
|
-
function shouldDefaultAgentListToPublicTab(args) {
|
|
510
|
-
if (!args.userId) return true;
|
|
511
|
-
if (!args.agentsLoaded) return false;
|
|
512
|
-
return args.ownedCount === 0;
|
|
513
|
-
}
|
|
514
|
-
function agentArchiveFilterChipLabel(archFilter) {
|
|
515
|
-
return ARCHIVE_FILTER_OPTIONS.find((o) => o.value === archFilter)?.chip ?? "Archive";
|
|
516
|
-
}
|
|
517
|
-
function agentArchiveFilterStateLabel(archFilter) {
|
|
518
|
-
return ARCHIVE_FILTER_OPTIONS.find((o) => o.value === archFilter)?.label ?? "Hide archived";
|
|
519
|
-
}
|
|
520
|
-
function agentArchiveFilterControlLabel(archFilter) {
|
|
521
|
-
return `Archive filter: ${agentArchiveFilterStateLabel(
|
|
522
|
-
archFilter
|
|
523
|
-
).toLowerCase()}. Click for ${agentArchiveFilterStateLabel(
|
|
524
|
-
nextArchFilter(archFilter)
|
|
525
|
-
).toLowerCase()}`;
|
|
526
|
-
}
|
|
527
|
-
function agentListFooterLabel(args) {
|
|
528
|
-
const { count, archFilter, archivedHiddenCount } = args;
|
|
529
|
-
if (archFilter === "archived") return `${count} archived shown`;
|
|
530
|
-
const base = `${count} agent${count !== 1 ? "s" : ""}`;
|
|
531
|
-
if (archFilter === "both") return `${base} \xB7 archived shown`;
|
|
532
|
-
return archivedHiddenCount > 0 ? `${base} \xB7 ${archivedHiddenCount} archived hidden` : base;
|
|
533
|
-
}
|
|
534
|
-
|
|
535
456
|
// catalog/score.ts
|
|
536
457
|
function computeAgentSearchScore(agent, query) {
|
|
537
458
|
const q = query.trim().toLowerCase();
|
|
@@ -578,6 +499,34 @@ function agentMatchesSearch(agent, query) {
|
|
|
578
499
|
return computeAgentSearchScore(agent, query) > 0;
|
|
579
500
|
}
|
|
580
501
|
|
|
502
|
+
// catalog/types.ts
|
|
503
|
+
function isMandateAgentId(id) {
|
|
504
|
+
return id.startsWith("mandate:");
|
|
505
|
+
}
|
|
506
|
+
var SORT_OPTIONS = [
|
|
507
|
+
{ value: "updated-desc", label: "Recent" },
|
|
508
|
+
{ value: "created-desc", label: "Created" },
|
|
509
|
+
{ value: "name-asc", label: "A \u2192 Z" },
|
|
510
|
+
{ value: "name-desc", label: "Z \u2192 A" },
|
|
511
|
+
{ value: "category-asc", label: "Category" }
|
|
512
|
+
];
|
|
513
|
+
var ARCHIVE_FILTER_ORDER = [
|
|
514
|
+
"active",
|
|
515
|
+
"both",
|
|
516
|
+
"archived"
|
|
517
|
+
];
|
|
518
|
+
var ARCHIVE_FILTER_OPTIONS = [
|
|
519
|
+
{ value: "active", label: "Hide archived", chip: "Archive" },
|
|
520
|
+
{ value: "both", label: "Show all", chip: "All + archived" },
|
|
521
|
+
{ value: "archived", label: "Archived only", chip: "Archived only" }
|
|
522
|
+
];
|
|
523
|
+
function nextArchFilter(current) {
|
|
524
|
+
const index = ARCHIVE_FILTER_ORDER.indexOf(current);
|
|
525
|
+
if (index < 0) return ARCHIVE_FILTER_ORDER[0];
|
|
526
|
+
return ARCHIVE_FILTER_ORDER[(index + 1) % ARCHIVE_FILTER_ORDER.length];
|
|
527
|
+
}
|
|
528
|
+
var AGENT_NONE_SENTINEL = "__none__";
|
|
529
|
+
|
|
581
530
|
// catalog/selectors.ts
|
|
582
531
|
function memoize1(fn) {
|
|
583
532
|
let lastA;
|
|
@@ -846,6 +795,52 @@ var selectTotalFavoriteAgentsCount = memoize1(
|
|
|
846
795
|
(agents) => countUserRows(agents, "active", isFavorite)
|
|
847
796
|
);
|
|
848
797
|
|
|
798
|
+
// quick/shape.ts
|
|
799
|
+
var QUICK_AGENT_TAG = "kind:quick";
|
|
800
|
+
function isQuickAgentSummary(row) {
|
|
801
|
+
return row.tags.includes(QUICK_AGENT_TAG);
|
|
802
|
+
}
|
|
803
|
+
function withoutQuickAgents(rows) {
|
|
804
|
+
return rows.filter((row) => !isQuickAgentSummary(row));
|
|
805
|
+
}
|
|
806
|
+
|
|
807
|
+
// catalog/labels.ts
|
|
808
|
+
function agentListEmptyLabel(tab, labels) {
|
|
809
|
+
switch (tab) {
|
|
810
|
+
case "system":
|
|
811
|
+
return labels.emptySystem;
|
|
812
|
+
case "shared":
|
|
813
|
+
return labels.emptyShared;
|
|
814
|
+
default:
|
|
815
|
+
return labels.emptyDefault;
|
|
816
|
+
}
|
|
817
|
+
}
|
|
818
|
+
function shouldDefaultAgentListToPublicTab(args) {
|
|
819
|
+
if (!args.userId) return true;
|
|
820
|
+
if (!args.agentsLoaded) return false;
|
|
821
|
+
return args.ownedCount === 0;
|
|
822
|
+
}
|
|
823
|
+
function agentArchiveFilterChipLabel(archFilter) {
|
|
824
|
+
return ARCHIVE_FILTER_OPTIONS.find((o) => o.value === archFilter)?.chip ?? "Archive";
|
|
825
|
+
}
|
|
826
|
+
function agentArchiveFilterStateLabel(archFilter) {
|
|
827
|
+
return ARCHIVE_FILTER_OPTIONS.find((o) => o.value === archFilter)?.label ?? "Hide archived";
|
|
828
|
+
}
|
|
829
|
+
function agentArchiveFilterControlLabel(archFilter) {
|
|
830
|
+
return `Archive filter: ${agentArchiveFilterStateLabel(
|
|
831
|
+
archFilter
|
|
832
|
+
).toLowerCase()}. Click for ${agentArchiveFilterStateLabel(
|
|
833
|
+
nextArchFilter(archFilter)
|
|
834
|
+
).toLowerCase()}`;
|
|
835
|
+
}
|
|
836
|
+
function agentListFooterLabel(args) {
|
|
837
|
+
const { count, archFilter, archivedHiddenCount } = args;
|
|
838
|
+
if (archFilter === "archived") return `${count} archived shown`;
|
|
839
|
+
const base = `${count} agent${count !== 1 ? "s" : ""}`;
|
|
840
|
+
if (archFilter === "both") return `${base} \xB7 archived shown`;
|
|
841
|
+
return archivedHiddenCount > 0 ? `${base} \xB7 ${archivedHiddenCount} archived hidden` : base;
|
|
842
|
+
}
|
|
843
|
+
|
|
849
844
|
// catalog/shared/useAgentListCore.ts
|
|
850
845
|
var HOVER_GRACE_MS = 900;
|
|
851
846
|
function coerceVisibleTab(current, allowed, initialTab) {
|
|
@@ -411,85 +411,6 @@ function useAgentConsumer(consumerId, options) {
|
|
|
411
411
|
};
|
|
412
412
|
}
|
|
413
413
|
|
|
414
|
-
// quick/shape.ts
|
|
415
|
-
var QUICK_AGENT_TAG = "kind:quick";
|
|
416
|
-
var QUICK_AGENT_DEFAULT_SETTINGS = Object.freeze({
|
|
417
|
-
temperature: 0.7,
|
|
418
|
-
topP: 1,
|
|
419
|
-
maxOutputTokens: 4096
|
|
420
|
-
});
|
|
421
|
-
function isQuickAgentSummary(row) {
|
|
422
|
-
return row.tags.includes(QUICK_AGENT_TAG);
|
|
423
|
-
}
|
|
424
|
-
function withoutQuickAgents(rows) {
|
|
425
|
-
return rows.filter((row) => !isQuickAgentSummary(row));
|
|
426
|
-
}
|
|
427
|
-
|
|
428
|
-
// catalog/types.ts
|
|
429
|
-
function isMandateAgentId(id) {
|
|
430
|
-
return id.startsWith("mandate:");
|
|
431
|
-
}
|
|
432
|
-
var SORT_OPTIONS = [
|
|
433
|
-
{ value: "updated-desc", label: "Recent" },
|
|
434
|
-
{ value: "created-desc", label: "Created" },
|
|
435
|
-
{ value: "name-asc", label: "A \u2192 Z" },
|
|
436
|
-
{ value: "name-desc", label: "Z \u2192 A" },
|
|
437
|
-
{ value: "category-asc", label: "Category" }
|
|
438
|
-
];
|
|
439
|
-
var ARCHIVE_FILTER_ORDER = [
|
|
440
|
-
"active",
|
|
441
|
-
"both",
|
|
442
|
-
"archived"
|
|
443
|
-
];
|
|
444
|
-
var ARCHIVE_FILTER_OPTIONS = [
|
|
445
|
-
{ value: "active", label: "Hide archived", chip: "Archive" },
|
|
446
|
-
{ value: "both", label: "Show all", chip: "All + archived" },
|
|
447
|
-
{ value: "archived", label: "Archived only", chip: "Archived only" }
|
|
448
|
-
];
|
|
449
|
-
function nextArchFilter(current) {
|
|
450
|
-
const index = ARCHIVE_FILTER_ORDER.indexOf(current);
|
|
451
|
-
if (index < 0) return ARCHIVE_FILTER_ORDER[0];
|
|
452
|
-
return ARCHIVE_FILTER_ORDER[(index + 1) % ARCHIVE_FILTER_ORDER.length];
|
|
453
|
-
}
|
|
454
|
-
var AGENT_NONE_SENTINEL = "__none__";
|
|
455
|
-
|
|
456
|
-
// catalog/labels.ts
|
|
457
|
-
function agentListEmptyLabel(tab, labels) {
|
|
458
|
-
switch (tab) {
|
|
459
|
-
case "system":
|
|
460
|
-
return labels.emptySystem;
|
|
461
|
-
case "shared":
|
|
462
|
-
return labels.emptyShared;
|
|
463
|
-
default:
|
|
464
|
-
return labels.emptyDefault;
|
|
465
|
-
}
|
|
466
|
-
}
|
|
467
|
-
function shouldDefaultAgentListToPublicTab(args) {
|
|
468
|
-
if (!args.userId) return true;
|
|
469
|
-
if (!args.agentsLoaded) return false;
|
|
470
|
-
return args.ownedCount === 0;
|
|
471
|
-
}
|
|
472
|
-
function agentArchiveFilterChipLabel(archFilter) {
|
|
473
|
-
return ARCHIVE_FILTER_OPTIONS.find((o) => o.value === archFilter)?.chip ?? "Archive";
|
|
474
|
-
}
|
|
475
|
-
function agentArchiveFilterStateLabel(archFilter) {
|
|
476
|
-
return ARCHIVE_FILTER_OPTIONS.find((o) => o.value === archFilter)?.label ?? "Hide archived";
|
|
477
|
-
}
|
|
478
|
-
function agentArchiveFilterControlLabel(archFilter) {
|
|
479
|
-
return `Archive filter: ${agentArchiveFilterStateLabel(
|
|
480
|
-
archFilter
|
|
481
|
-
).toLowerCase()}. Click for ${agentArchiveFilterStateLabel(
|
|
482
|
-
nextArchFilter(archFilter)
|
|
483
|
-
).toLowerCase()}`;
|
|
484
|
-
}
|
|
485
|
-
function agentListFooterLabel(args) {
|
|
486
|
-
const { count, archFilter, archivedHiddenCount } = args;
|
|
487
|
-
if (archFilter === "archived") return `${count} archived shown`;
|
|
488
|
-
const base = `${count} agent${count !== 1 ? "s" : ""}`;
|
|
489
|
-
if (archFilter === "both") return `${base} \xB7 archived shown`;
|
|
490
|
-
return archivedHiddenCount > 0 ? `${base} \xB7 ${archivedHiddenCount} archived hidden` : base;
|
|
491
|
-
}
|
|
492
|
-
|
|
493
414
|
// catalog/score.ts
|
|
494
415
|
function computeAgentSearchScore(agent, query) {
|
|
495
416
|
const q = query.trim().toLowerCase();
|
|
@@ -536,6 +457,34 @@ function agentMatchesSearch(agent, query) {
|
|
|
536
457
|
return computeAgentSearchScore(agent, query) > 0;
|
|
537
458
|
}
|
|
538
459
|
|
|
460
|
+
// catalog/types.ts
|
|
461
|
+
function isMandateAgentId(id) {
|
|
462
|
+
return id.startsWith("mandate:");
|
|
463
|
+
}
|
|
464
|
+
var SORT_OPTIONS = [
|
|
465
|
+
{ value: "updated-desc", label: "Recent" },
|
|
466
|
+
{ value: "created-desc", label: "Created" },
|
|
467
|
+
{ value: "name-asc", label: "A \u2192 Z" },
|
|
468
|
+
{ value: "name-desc", label: "Z \u2192 A" },
|
|
469
|
+
{ value: "category-asc", label: "Category" }
|
|
470
|
+
];
|
|
471
|
+
var ARCHIVE_FILTER_ORDER = [
|
|
472
|
+
"active",
|
|
473
|
+
"both",
|
|
474
|
+
"archived"
|
|
475
|
+
];
|
|
476
|
+
var ARCHIVE_FILTER_OPTIONS = [
|
|
477
|
+
{ value: "active", label: "Hide archived", chip: "Archive" },
|
|
478
|
+
{ value: "both", label: "Show all", chip: "All + archived" },
|
|
479
|
+
{ value: "archived", label: "Archived only", chip: "Archived only" }
|
|
480
|
+
];
|
|
481
|
+
function nextArchFilter(current) {
|
|
482
|
+
const index = ARCHIVE_FILTER_ORDER.indexOf(current);
|
|
483
|
+
if (index < 0) return ARCHIVE_FILTER_ORDER[0];
|
|
484
|
+
return ARCHIVE_FILTER_ORDER[(index + 1) % ARCHIVE_FILTER_ORDER.length];
|
|
485
|
+
}
|
|
486
|
+
var AGENT_NONE_SENTINEL = "__none__";
|
|
487
|
+
|
|
539
488
|
// catalog/selectors.ts
|
|
540
489
|
function memoize1(fn) {
|
|
541
490
|
let lastA;
|
|
@@ -804,6 +753,52 @@ var selectTotalFavoriteAgentsCount = memoize1(
|
|
|
804
753
|
(agents) => countUserRows(agents, "active", isFavorite)
|
|
805
754
|
);
|
|
806
755
|
|
|
756
|
+
// quick/shape.ts
|
|
757
|
+
var QUICK_AGENT_TAG = "kind:quick";
|
|
758
|
+
function isQuickAgentSummary(row) {
|
|
759
|
+
return row.tags.includes(QUICK_AGENT_TAG);
|
|
760
|
+
}
|
|
761
|
+
function withoutQuickAgents(rows) {
|
|
762
|
+
return rows.filter((row) => !isQuickAgentSummary(row));
|
|
763
|
+
}
|
|
764
|
+
|
|
765
|
+
// catalog/labels.ts
|
|
766
|
+
function agentListEmptyLabel(tab, labels) {
|
|
767
|
+
switch (tab) {
|
|
768
|
+
case "system":
|
|
769
|
+
return labels.emptySystem;
|
|
770
|
+
case "shared":
|
|
771
|
+
return labels.emptyShared;
|
|
772
|
+
default:
|
|
773
|
+
return labels.emptyDefault;
|
|
774
|
+
}
|
|
775
|
+
}
|
|
776
|
+
function shouldDefaultAgentListToPublicTab(args) {
|
|
777
|
+
if (!args.userId) return true;
|
|
778
|
+
if (!args.agentsLoaded) return false;
|
|
779
|
+
return args.ownedCount === 0;
|
|
780
|
+
}
|
|
781
|
+
function agentArchiveFilterChipLabel(archFilter) {
|
|
782
|
+
return ARCHIVE_FILTER_OPTIONS.find((o) => o.value === archFilter)?.chip ?? "Archive";
|
|
783
|
+
}
|
|
784
|
+
function agentArchiveFilterStateLabel(archFilter) {
|
|
785
|
+
return ARCHIVE_FILTER_OPTIONS.find((o) => o.value === archFilter)?.label ?? "Hide archived";
|
|
786
|
+
}
|
|
787
|
+
function agentArchiveFilterControlLabel(archFilter) {
|
|
788
|
+
return `Archive filter: ${agentArchiveFilterStateLabel(
|
|
789
|
+
archFilter
|
|
790
|
+
).toLowerCase()}. Click for ${agentArchiveFilterStateLabel(
|
|
791
|
+
nextArchFilter(archFilter)
|
|
792
|
+
).toLowerCase()}`;
|
|
793
|
+
}
|
|
794
|
+
function agentListFooterLabel(args) {
|
|
795
|
+
const { count, archFilter, archivedHiddenCount } = args;
|
|
796
|
+
if (archFilter === "archived") return `${count} archived shown`;
|
|
797
|
+
const base = `${count} agent${count !== 1 ? "s" : ""}`;
|
|
798
|
+
if (archFilter === "both") return `${base} \xB7 archived shown`;
|
|
799
|
+
return archivedHiddenCount > 0 ? `${base} \xB7 ${archivedHiddenCount} archived hidden` : base;
|
|
800
|
+
}
|
|
801
|
+
|
|
807
802
|
// catalog/shared/useAgentListCore.ts
|
|
808
803
|
var HOVER_GRACE_MS = 900;
|
|
809
804
|
function coerceVisibleTab(current, allowed, initialTab) {
|