@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.
@@ -1,7 +1,7 @@
1
1
  import * as react from 'react';
2
2
  import { ComponentType, ReactNode } from 'react';
3
- import { t as AgentCatalogNavigate, v as AgentCatalogOpenPeek, n as AgentCatalog, A as AgentSummary, z as AgentCatalogState, f as AgentTab, i as AgentSortOption, E as AgentFavFilter, m as AgentArchFilter, k as AgentAccessFilter, h as AgentConsumerState, J as DefaultRowState } from '../../orchestra-BWJM2MWP.cjs';
4
- export { O as OrchestraBadge, W as orchestraDelegatesLine, X as orchestraDepthLine, Y as orchestraLabel, Z as orchestraModeLabel } from '../../orchestra-BWJM2MWP.cjs';
3
+ import { x as AgentCatalogNavigate, z as AgentCatalogOpenPeek, q as AgentCatalog, A as AgentSummary, E as AgentCatalogState, g as AgentTab, j as AgentSortOption, I as AgentFavFilter, f as AgentArchFilter, n as AgentAccessFilter, i as AgentConsumerState, O as DefaultRowState } from '../../orchestra-DljbEiks.cjs';
4
+ export { P as OrchestraBadge, a0 as orchestraDelegatesLine, a1 as orchestraDepthLine, a2 as orchestraLabel, a3 as orchestraModeLabel } from '../../orchestra-DljbEiks.cjs';
5
5
 
6
6
  /**
7
7
  * The anchor a row renders for cmd/ctrl-click. DEFAULT (web): a plain `<a>` —
@@ -249,6 +249,13 @@ interface UseAgentConsumerReturn {
249
249
  includedTags: string[];
250
250
  favFilter: AgentFavFilter;
251
251
  archFilter: AgentArchFilter;
252
+ /**
253
+ * The archive-filter state this catalog starts consumers in — the platform
254
+ * default `"active"` unless the host set the knob. What "not the default
255
+ * state" means on this surface, so the control and the footer can both say
256
+ * it honestly.
257
+ */
258
+ archFilterDefault: AgentArchFilter;
252
259
  accessFilter: AgentAccessFilter;
253
260
  favoritesFirst: boolean;
254
261
  listPage: number;
@@ -295,12 +302,23 @@ declare function useAgentConsumer(consumerId: string, options?: {
295
302
  unregisterOnUnmount?: boolean;
296
303
  /** Applied only when the consumer is first registered (idempotent). */
297
304
  initialTab?: AgentTab;
305
+ /**
306
+ * THE ARCHIVED-ITEMS LAW's per-consumer override of the catalog-wide
307
+ * `defaults.archiveFilter` knob. Applied only at first registration — the
308
+ * state belongs to the person after that.
309
+ */
310
+ initialArchFilter?: AgentArchFilter;
298
311
  }): UseAgentConsumerReturn;
299
312
 
300
313
  /**
301
314
  * The four ownership counts a tab strip prints. Declared HERE, beside the code
302
315
  * that computes them, so both the web tab strip and the native one name the
303
316
  * same shape (0.9.0 — it used to live in the web-only `AgentListTabs`).
317
+ *
318
+ * 🚨 These are the numbers on the BADGES, and since 0.9.1 they count exactly
319
+ * the rows the tab renders under the consumer's own archive filter. A badge
320
+ * that counted rows the list hid was the screen telling the user something
321
+ * untrue about her own agents.
304
322
  */
305
323
  interface AgentListTabCounts {
306
324
  mine: number;
@@ -344,6 +362,13 @@ interface AgentListCoreOptions {
344
362
  * not just at mount — so a restriction that arrives later is enforced later.
345
363
  */
346
364
  visibleTabs?: readonly AgentTab[];
365
+ /**
366
+ * THE ARCHIVED-ITEMS LAW's per-consumer override of the catalog-wide
367
+ * `defaults.archiveFilter` knob, applied once at first registration. Almost
368
+ * nothing should pass it: the platform answer is "hide archived", and the
369
+ * person reveals the archive from the control on the filter bar.
370
+ */
371
+ initialArchFilter?: AgentArchFilter;
347
372
  /** Hide records that are invalid for this call site. */
348
373
  excludeAgentIds?: readonly string[];
349
374
  /**
@@ -369,8 +394,10 @@ declare const HOVER_GRACE_MS = 900;
369
394
  * else the first allowed tab.
370
395
  */
371
396
  declare function coerceVisibleTab(current: AgentTab, allowed: readonly AgentTab[], initialTab?: AgentTab): AgentTab | null;
372
- declare function useAgentListCore({ consumerId, onSelect, navigateTo, activeAgentIdOverride, initialTab, includeSystemInAll, visibleTabs, excludeAgentIds, defaultMandateKey, }: AgentListCoreOptions): {
397
+ declare function useAgentListCore({ consumerId, onSelect, navigateTo, activeAgentIdOverride, initialTab, includeSystemInAll, visibleTabs, initialArchFilter, excludeAgentIds, defaultMandateKey, }: AgentListCoreOptions): {
373
398
  agents: AgentSummary[];
399
+ archivedHiddenCount: number;
400
+ footerLabel: string;
374
401
  isLoading: boolean;
375
402
  activeAgentId: string | null;
376
403
  pinnedAgent: AgentSummary | null;
@@ -408,8 +435,13 @@ interface AgentListContentProps {
408
435
  pinnedAgent?: AgentSummary | null | undefined;
409
436
  defaultRow?: DefaultRowState | null | undefined;
410
437
  autoFocusSearch?: boolean;
438
+ /**
439
+ * Rows the ARCHIVE FILTER is keeping off this screen — from
440
+ * `useAgentListCore`. The footer names them, exactly as on the web.
441
+ */
442
+ archivedHiddenCount?: number | undefined;
411
443
  }
412
- declare function AgentListContent({ agents, isLoading, consumer, activeAgentId, allCategories, allTags, onSelectAgent, onDetailPress, onFilterChipPress, onReset, activeFilterCount, tabCounts, visibleTabs, systemTabLabel, pinnedAgent, defaultRow, autoFocusSearch, }: AgentListContentProps): react.JSX.Element;
444
+ declare function AgentListContent({ agents, isLoading, consumer, activeAgentId, allCategories, allTags, onSelectAgent, onDetailPress, onFilterChipPress, onReset, activeFilterCount, tabCounts, visibleTabs, systemTabLabel, pinnedAgent, defaultRow, autoFocusSearch, archivedHiddenCount, }: AgentListContentProps): react.JSX.Element;
413
445
 
414
446
  interface AgentListTabsProps {
415
447
  consumer: UseAgentConsumerReturn;
@@ -565,6 +597,14 @@ declare const SHAPES: {
565
597
  rocket: {
566
598
  paths: string[];
567
599
  };
600
+ /**
601
+ * THE ARCHIVE GLYPH (Lucide `archive`) — the ONE mark of the platform
602
+ * archive filter, drawn identically in every Matrx client so the control a
603
+ * person learns on one surface is recognisable on all of them.
604
+ */
605
+ archive: {
606
+ paths: string[];
607
+ };
568
608
  circleCheck: {
569
609
  paths: string[];
570
610
  circles: {
@@ -631,11 +671,15 @@ declare function SearchInput({ value, onChange, placeholder, autoFocus, }: {
631
671
  placeholder: string;
632
672
  autoFocus?: boolean;
633
673
  }): react.JSX.Element;
634
- declare function FilterChip({ icon, label, active, onPress, }: {
674
+ declare function FilterChip({ icon, label, active, onPress, accessibilityLabel, testID, }: {
635
675
  icon: AgentCatalogIconName;
636
676
  label: string;
637
677
  active: boolean;
638
678
  onPress: () => void;
679
+ /** Accessible name when the visible label alone would not say the state. */
680
+ accessibilityLabel?: string;
681
+ /** Stable hook so a shell test can measure the control, not a style. */
682
+ testID?: string;
639
683
  }): react.JSX.Element;
640
684
  declare function OptionRow({ label, selected, onPress, }: {
641
685
  label: string;
@@ -1,7 +1,7 @@
1
1
  import * as react from 'react';
2
2
  import { ComponentType, ReactNode } from 'react';
3
- import { t as AgentCatalogNavigate, v as AgentCatalogOpenPeek, n as AgentCatalog, A as AgentSummary, z as AgentCatalogState, f as AgentTab, i as AgentSortOption, E as AgentFavFilter, m as AgentArchFilter, k as AgentAccessFilter, h as AgentConsumerState, J as DefaultRowState } from '../../orchestra-BWJM2MWP.js';
4
- export { O as OrchestraBadge, W as orchestraDelegatesLine, X as orchestraDepthLine, Y as orchestraLabel, Z as orchestraModeLabel } from '../../orchestra-BWJM2MWP.js';
3
+ import { x as AgentCatalogNavigate, z as AgentCatalogOpenPeek, q as AgentCatalog, A as AgentSummary, E as AgentCatalogState, g as AgentTab, j as AgentSortOption, I as AgentFavFilter, f as AgentArchFilter, n as AgentAccessFilter, i as AgentConsumerState, O as DefaultRowState } from '../../orchestra-DljbEiks.js';
4
+ export { P as OrchestraBadge, a0 as orchestraDelegatesLine, a1 as orchestraDepthLine, a2 as orchestraLabel, a3 as orchestraModeLabel } from '../../orchestra-DljbEiks.js';
5
5
 
6
6
  /**
7
7
  * The anchor a row renders for cmd/ctrl-click. DEFAULT (web): a plain `<a>` —
@@ -249,6 +249,13 @@ interface UseAgentConsumerReturn {
249
249
  includedTags: string[];
250
250
  favFilter: AgentFavFilter;
251
251
  archFilter: AgentArchFilter;
252
+ /**
253
+ * The archive-filter state this catalog starts consumers in — the platform
254
+ * default `"active"` unless the host set the knob. What "not the default
255
+ * state" means on this surface, so the control and the footer can both say
256
+ * it honestly.
257
+ */
258
+ archFilterDefault: AgentArchFilter;
252
259
  accessFilter: AgentAccessFilter;
253
260
  favoritesFirst: boolean;
254
261
  listPage: number;
@@ -295,12 +302,23 @@ declare function useAgentConsumer(consumerId: string, options?: {
295
302
  unregisterOnUnmount?: boolean;
296
303
  /** Applied only when the consumer is first registered (idempotent). */
297
304
  initialTab?: AgentTab;
305
+ /**
306
+ * THE ARCHIVED-ITEMS LAW's per-consumer override of the catalog-wide
307
+ * `defaults.archiveFilter` knob. Applied only at first registration — the
308
+ * state belongs to the person after that.
309
+ */
310
+ initialArchFilter?: AgentArchFilter;
298
311
  }): UseAgentConsumerReturn;
299
312
 
300
313
  /**
301
314
  * The four ownership counts a tab strip prints. Declared HERE, beside the code
302
315
  * that computes them, so both the web tab strip and the native one name the
303
316
  * same shape (0.9.0 — it used to live in the web-only `AgentListTabs`).
317
+ *
318
+ * 🚨 These are the numbers on the BADGES, and since 0.9.1 they count exactly
319
+ * the rows the tab renders under the consumer's own archive filter. A badge
320
+ * that counted rows the list hid was the screen telling the user something
321
+ * untrue about her own agents.
304
322
  */
305
323
  interface AgentListTabCounts {
306
324
  mine: number;
@@ -344,6 +362,13 @@ interface AgentListCoreOptions {
344
362
  * not just at mount — so a restriction that arrives later is enforced later.
345
363
  */
346
364
  visibleTabs?: readonly AgentTab[];
365
+ /**
366
+ * THE ARCHIVED-ITEMS LAW's per-consumer override of the catalog-wide
367
+ * `defaults.archiveFilter` knob, applied once at first registration. Almost
368
+ * nothing should pass it: the platform answer is "hide archived", and the
369
+ * person reveals the archive from the control on the filter bar.
370
+ */
371
+ initialArchFilter?: AgentArchFilter;
347
372
  /** Hide records that are invalid for this call site. */
348
373
  excludeAgentIds?: readonly string[];
349
374
  /**
@@ -369,8 +394,10 @@ declare const HOVER_GRACE_MS = 900;
369
394
  * else the first allowed tab.
370
395
  */
371
396
  declare function coerceVisibleTab(current: AgentTab, allowed: readonly AgentTab[], initialTab?: AgentTab): AgentTab | null;
372
- declare function useAgentListCore({ consumerId, onSelect, navigateTo, activeAgentIdOverride, initialTab, includeSystemInAll, visibleTabs, excludeAgentIds, defaultMandateKey, }: AgentListCoreOptions): {
397
+ declare function useAgentListCore({ consumerId, onSelect, navigateTo, activeAgentIdOverride, initialTab, includeSystemInAll, visibleTabs, initialArchFilter, excludeAgentIds, defaultMandateKey, }: AgentListCoreOptions): {
373
398
  agents: AgentSummary[];
399
+ archivedHiddenCount: number;
400
+ footerLabel: string;
374
401
  isLoading: boolean;
375
402
  activeAgentId: string | null;
376
403
  pinnedAgent: AgentSummary | null;
@@ -408,8 +435,13 @@ interface AgentListContentProps {
408
435
  pinnedAgent?: AgentSummary | null | undefined;
409
436
  defaultRow?: DefaultRowState | null | undefined;
410
437
  autoFocusSearch?: boolean;
438
+ /**
439
+ * Rows the ARCHIVE FILTER is keeping off this screen — from
440
+ * `useAgentListCore`. The footer names them, exactly as on the web.
441
+ */
442
+ archivedHiddenCount?: number | undefined;
411
443
  }
412
- declare function AgentListContent({ agents, isLoading, consumer, activeAgentId, allCategories, allTags, onSelectAgent, onDetailPress, onFilterChipPress, onReset, activeFilterCount, tabCounts, visibleTabs, systemTabLabel, pinnedAgent, defaultRow, autoFocusSearch, }: AgentListContentProps): react.JSX.Element;
444
+ declare function AgentListContent({ agents, isLoading, consumer, activeAgentId, allCategories, allTags, onSelectAgent, onDetailPress, onFilterChipPress, onReset, activeFilterCount, tabCounts, visibleTabs, systemTabLabel, pinnedAgent, defaultRow, autoFocusSearch, archivedHiddenCount, }: AgentListContentProps): react.JSX.Element;
413
445
 
414
446
  interface AgentListTabsProps {
415
447
  consumer: UseAgentConsumerReturn;
@@ -565,6 +597,14 @@ declare const SHAPES: {
565
597
  rocket: {
566
598
  paths: string[];
567
599
  };
600
+ /**
601
+ * THE ARCHIVE GLYPH (Lucide `archive`) — the ONE mark of the platform
602
+ * archive filter, drawn identically in every Matrx client so the control a
603
+ * person learns on one surface is recognisable on all of them.
604
+ */
605
+ archive: {
606
+ paths: string[];
607
+ };
568
608
  circleCheck: {
569
609
  paths: string[];
570
610
  circles: {
@@ -631,11 +671,15 @@ declare function SearchInput({ value, onChange, placeholder, autoFocus, }: {
631
671
  placeholder: string;
632
672
  autoFocus?: boolean;
633
673
  }): react.JSX.Element;
634
- declare function FilterChip({ icon, label, active, onPress, }: {
674
+ declare function FilterChip({ icon, label, active, onPress, accessibilityLabel, testID, }: {
635
675
  icon: AgentCatalogIconName;
636
676
  label: string;
637
677
  active: boolean;
638
678
  onPress: () => void;
679
+ /** Accessible name when the visible label alone would not say the state. */
680
+ accessibilityLabel?: string;
681
+ /** Stable hook so a shell test can measure the control, not a style. */
682
+ testID?: string;
639
683
  }): react.JSX.Element;
640
684
  declare function OptionRow({ label, selected, onPress, }: {
641
685
  label: string;