@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.
@@ -134,8 +134,50 @@ declare const SORT_OPTIONS: {
134
134
  type AgentTab = "mine" | "shared" | "all" | "system";
135
135
  /** Favorite filter. */
136
136
  type AgentFavFilter = "all" | "yes" | "no";
137
- /** Archive filter. */
137
+ /**
138
+ * The archive filter — THE ARCHIVED-ITEMS LAW's ONE control, in this
139
+ * package's existing vocabulary.
140
+ *
141
+ * > "everything should have an archive filter, and the default should always
142
+ * > hide archived, but seeing archived items should be one or two clicks
143
+ * > away." — Arman, 2026-09-09 (`common-docs/policies/archived-items.md`)
144
+ *
145
+ * Three states and no more, identical for every entity on the platform:
146
+ *
147
+ * | value | the platform's words | what the list shows |
148
+ * |------------|----------------------|--------------------------|
149
+ * | `active` | hide archived | only un-archived rows |
150
+ * | `both` | show all | every row |
151
+ * | `archived` | archived only | only archived rows |
152
+ *
153
+ * `active` is the platform default, and it is a KNOB — see
154
+ * `AgentCatalogConfig.defaults.archiveFilter`.
155
+ */
138
156
  type AgentArchFilter = "active" | "archived" | "both";
157
+ /** Every legal archive-filter value, in the order the control cycles them. */
158
+ declare const ARCHIVE_FILTER_ORDER: readonly AgentArchFilter[];
159
+ interface AgentArchFilterOption {
160
+ value: AgentArchFilter;
161
+ /** The platform's own words for the state — what a menu row would read. */
162
+ label: string;
163
+ /** What the filter-bar chip reads while this state is the active one. */
164
+ chip: string;
165
+ }
166
+ /**
167
+ * 🚨 ONE CONTROL, THREE STATES, SAME WORDS EVERYWHERE. A surface that invents
168
+ * its own archive vocabulary breaks clause 3 of the law ("the same primitive
169
+ * everywhere … not a per-feature invention").
170
+ */
171
+ declare const ARCHIVE_FILTER_OPTIONS: readonly AgentArchFilterOption[];
172
+ /**
173
+ * The next state of the cycling control: hide archived → show all → archived
174
+ * only → hide archived. Pure, so the web chip and the native chip cannot
175
+ * drift apart, and so "the control reveals archived rows in ONE action" is a
176
+ * testable claim rather than a UI opinion.
177
+ */
178
+ declare function nextArchFilter(current: AgentArchFilter): AgentArchFilter;
179
+ /** True when `value` is one of the three legal states. */
180
+ declare function isAgentArchFilter(value: unknown): value is AgentArchFilter;
139
181
  /**
140
182
  * Access level filter.
141
183
  * 'any' = no restriction (default).
@@ -388,6 +430,29 @@ interface AgentCatalogConfig {
388
430
  transport?: AgentCatalogTransport;
389
431
  /** OPTIONAL — label overrides. */
390
432
  labels?: Partial<AgentCatalogLabels>;
433
+ /**
434
+ * OPTIONAL — the host's starting values for per-consumer view state.
435
+ * See `AgentCatalogDefaults`.
436
+ */
437
+ defaults?: AgentCatalogDefaults;
438
+ }
439
+ /**
440
+ * 🚨 OPINIONS BECOME KNOBS (root law 6). The archive filter's initial state is
441
+ * a configurable default, not code taste — clause 6 of THE ARCHIVED-ITEMS LAW
442
+ * (`common-docs/policies/archived-items.md`) says so explicitly.
443
+ *
444
+ * The PLATFORM default is `"active"` (hide archived) and a host that passes
445
+ * nothing gets exactly that. A host wires this to whatever its org/user
446
+ * setting resolves to; an individual picker can still override it per
447
+ * consumer (`useAgentListCore({ initialArchFilter })`), and the person can
448
+ * always change it from the control on the filter bar.
449
+ *
450
+ * An illegal value is NOT coerced to the default — it throws
451
+ * `AgentCatalogConfigError`, because a silently-ignored setting is a knob that
452
+ * lies about being a knob.
453
+ */
454
+ interface AgentCatalogDefaults {
455
+ archiveFilter?: AgentArchFilter;
391
456
  }
392
457
  /**
393
458
  * The transport seam, structurally identical to `MatrxTransport` from
@@ -565,6 +630,14 @@ interface AgentCatalog {
565
630
  readonly notifier: AgentCatalogNotifier | undefined;
566
631
  /** True when this catalog was given a transport and can resolve mandates. */
567
632
  readonly canResolveMandates: boolean;
633
+ /**
634
+ * The consumer state a brand-new consumer starts from, AFTER the host's
635
+ * `defaults` knob is applied. Read it instead of
636
+ * `DEFAULT_AGENT_CONSUMER_STATE` whenever the question is "is this filter at
637
+ * its default?" — a host that legitimately defaults the archive filter to
638
+ * "show all" must not have every control render as though it were modified.
639
+ */
640
+ readonly consumerDefaults: AgentConsumerState;
568
641
  getState(): AgentCatalogState;
569
642
  subscribe(listener: () => void): () => void;
570
643
  getAgent(agentId: string): AgentSummary | undefined;
@@ -640,4 +713,4 @@ declare function orchestraDepthLine(badge: OrchestraBadge): string | null;
640
713
  */
641
714
  declare function orchestraDelegatesLine(badge: OrchestraBadge, limit?: number): string | null;
642
715
 
643
- export { type AgentSummary as A, type AgentCatalogStatus as B, type AgentCatalogTableQuery as C, type AgentConsumerPatch as D, type AgentFavFilter as E, type AgentId as F, type AssertAgentCatalogSchemaOptions as G, DEFAULT_AGENT_CATALOG_LABELS as H, DEFAULT_AGENT_CONSUMER_STATE as I, type DefaultRowState as J, type PgResultLike as K, asAgentId as L, type MandateResolutionVerdict as M, assertAgentCatalogSchema as N, type OrchestraBadge as O, type PgErrorLike as P, createAgentCatalog as Q, type ResolvedDefaultRow as R, SORT_OPTIONS as S, getRegisteredAgentCatalog as T, isMandateAgentId as U, mandateAgentId as V, orchestraDelegatesLine as W, orchestraDepthLine as X, orchestraLabel as Y, orchestraModeLabel as Z, type AgentCatalogClient as a, type AgentCatalogTransport as b, type AgentCatalogStorageLike as c, type AgentCatalogErrorSink as d, type AgentCatalogStorage as e, type AgentTab as f, type AgentCatalogLabels as g, type AgentConsumerState as h, type AgentSortOption as i, AGENT_NONE_SENTINEL as j, type AgentAccessFilter as k, type AgentAccessLevel as l, type AgentArchFilter as m, type AgentCatalog as n, type AgentCatalogAgentType as o, type AgentCatalogAsyncStorage as p, type AgentCatalogConfig as q, AgentCatalogConfigError as r, type AgentCatalogIdentity as s, type AgentCatalogNavigate as t, type AgentCatalogNotifier as u, type AgentCatalogOpenPeek as v, type AgentCatalogResolveHref as w, type AgentCatalogRpcCall as x, type AgentCatalogSchemaReport as y, type AgentCatalogState as z };
716
+ export { nextArchFilter as $, type AgentSummary as A, type AgentCatalogResolveHref as B, type AgentCatalogRpcCall as C, type AgentCatalogSchemaReport as D, type AgentCatalogState as E, type AgentCatalogStatus as F, type AgentCatalogTableQuery as G, type AgentConsumerPatch as H, type AgentFavFilter as I, type AgentId as J, type AssertAgentCatalogSchemaOptions as K, DEFAULT_AGENT_CATALOG_LABELS as L, type MandateResolutionVerdict as M, DEFAULT_AGENT_CONSUMER_STATE as N, type DefaultRowState as O, type OrchestraBadge as P, type PgErrorLike as Q, type ResolvedDefaultRow as R, type PgResultLike as S, SORT_OPTIONS as T, asAgentId as U, assertAgentCatalogSchema as V, createAgentCatalog as W, getRegisteredAgentCatalog as X, isAgentArchFilter as Y, isMandateAgentId as Z, mandateAgentId as _, type AgentCatalogClient as a, orchestraDelegatesLine as a0, orchestraDepthLine as a1, orchestraLabel as a2, orchestraModeLabel as a3, type AgentCatalogTransport as b, type AgentCatalogStorageLike as c, type AgentCatalogErrorSink as d, type AgentCatalogStorage as e, type AgentArchFilter as f, type AgentTab as g, type AgentCatalogLabels as h, type AgentConsumerState as i, type AgentSortOption as j, AGENT_NONE_SENTINEL as k, ARCHIVE_FILTER_OPTIONS as l, ARCHIVE_FILTER_ORDER as m, type AgentAccessFilter as n, type AgentAccessLevel as o, type AgentArchFilterOption as p, type AgentCatalog as q, type AgentCatalogAgentType as r, type AgentCatalogAsyncStorage as s, type AgentCatalogConfig as t, AgentCatalogConfigError as u, type AgentCatalogDefaults as v, type AgentCatalogIdentity as w, type AgentCatalogNavigate as x, type AgentCatalogNotifier as y, type AgentCatalogOpenPeek as z };
@@ -134,8 +134,50 @@ declare const SORT_OPTIONS: {
134
134
  type AgentTab = "mine" | "shared" | "all" | "system";
135
135
  /** Favorite filter. */
136
136
  type AgentFavFilter = "all" | "yes" | "no";
137
- /** Archive filter. */
137
+ /**
138
+ * The archive filter — THE ARCHIVED-ITEMS LAW's ONE control, in this
139
+ * package's existing vocabulary.
140
+ *
141
+ * > "everything should have an archive filter, and the default should always
142
+ * > hide archived, but seeing archived items should be one or two clicks
143
+ * > away." — Arman, 2026-09-09 (`common-docs/policies/archived-items.md`)
144
+ *
145
+ * Three states and no more, identical for every entity on the platform:
146
+ *
147
+ * | value | the platform's words | what the list shows |
148
+ * |------------|----------------------|--------------------------|
149
+ * | `active` | hide archived | only un-archived rows |
150
+ * | `both` | show all | every row |
151
+ * | `archived` | archived only | only archived rows |
152
+ *
153
+ * `active` is the platform default, and it is a KNOB — see
154
+ * `AgentCatalogConfig.defaults.archiveFilter`.
155
+ */
138
156
  type AgentArchFilter = "active" | "archived" | "both";
157
+ /** Every legal archive-filter value, in the order the control cycles them. */
158
+ declare const ARCHIVE_FILTER_ORDER: readonly AgentArchFilter[];
159
+ interface AgentArchFilterOption {
160
+ value: AgentArchFilter;
161
+ /** The platform's own words for the state — what a menu row would read. */
162
+ label: string;
163
+ /** What the filter-bar chip reads while this state is the active one. */
164
+ chip: string;
165
+ }
166
+ /**
167
+ * 🚨 ONE CONTROL, THREE STATES, SAME WORDS EVERYWHERE. A surface that invents
168
+ * its own archive vocabulary breaks clause 3 of the law ("the same primitive
169
+ * everywhere … not a per-feature invention").
170
+ */
171
+ declare const ARCHIVE_FILTER_OPTIONS: readonly AgentArchFilterOption[];
172
+ /**
173
+ * The next state of the cycling control: hide archived → show all → archived
174
+ * only → hide archived. Pure, so the web chip and the native chip cannot
175
+ * drift apart, and so "the control reveals archived rows in ONE action" is a
176
+ * testable claim rather than a UI opinion.
177
+ */
178
+ declare function nextArchFilter(current: AgentArchFilter): AgentArchFilter;
179
+ /** True when `value` is one of the three legal states. */
180
+ declare function isAgentArchFilter(value: unknown): value is AgentArchFilter;
139
181
  /**
140
182
  * Access level filter.
141
183
  * 'any' = no restriction (default).
@@ -388,6 +430,29 @@ interface AgentCatalogConfig {
388
430
  transport?: AgentCatalogTransport;
389
431
  /** OPTIONAL — label overrides. */
390
432
  labels?: Partial<AgentCatalogLabels>;
433
+ /**
434
+ * OPTIONAL — the host's starting values for per-consumer view state.
435
+ * See `AgentCatalogDefaults`.
436
+ */
437
+ defaults?: AgentCatalogDefaults;
438
+ }
439
+ /**
440
+ * 🚨 OPINIONS BECOME KNOBS (root law 6). The archive filter's initial state is
441
+ * a configurable default, not code taste — clause 6 of THE ARCHIVED-ITEMS LAW
442
+ * (`common-docs/policies/archived-items.md`) says so explicitly.
443
+ *
444
+ * The PLATFORM default is `"active"` (hide archived) and a host that passes
445
+ * nothing gets exactly that. A host wires this to whatever its org/user
446
+ * setting resolves to; an individual picker can still override it per
447
+ * consumer (`useAgentListCore({ initialArchFilter })`), and the person can
448
+ * always change it from the control on the filter bar.
449
+ *
450
+ * An illegal value is NOT coerced to the default — it throws
451
+ * `AgentCatalogConfigError`, because a silently-ignored setting is a knob that
452
+ * lies about being a knob.
453
+ */
454
+ interface AgentCatalogDefaults {
455
+ archiveFilter?: AgentArchFilter;
391
456
  }
392
457
  /**
393
458
  * The transport seam, structurally identical to `MatrxTransport` from
@@ -565,6 +630,14 @@ interface AgentCatalog {
565
630
  readonly notifier: AgentCatalogNotifier | undefined;
566
631
  /** True when this catalog was given a transport and can resolve mandates. */
567
632
  readonly canResolveMandates: boolean;
633
+ /**
634
+ * The consumer state a brand-new consumer starts from, AFTER the host's
635
+ * `defaults` knob is applied. Read it instead of
636
+ * `DEFAULT_AGENT_CONSUMER_STATE` whenever the question is "is this filter at
637
+ * its default?" — a host that legitimately defaults the archive filter to
638
+ * "show all" must not have every control render as though it were modified.
639
+ */
640
+ readonly consumerDefaults: AgentConsumerState;
568
641
  getState(): AgentCatalogState;
569
642
  subscribe(listener: () => void): () => void;
570
643
  getAgent(agentId: string): AgentSummary | undefined;
@@ -640,4 +713,4 @@ declare function orchestraDepthLine(badge: OrchestraBadge): string | null;
640
713
  */
641
714
  declare function orchestraDelegatesLine(badge: OrchestraBadge, limit?: number): string | null;
642
715
 
643
- export { type AgentSummary as A, type AgentCatalogStatus as B, type AgentCatalogTableQuery as C, type AgentConsumerPatch as D, type AgentFavFilter as E, type AgentId as F, type AssertAgentCatalogSchemaOptions as G, DEFAULT_AGENT_CATALOG_LABELS as H, DEFAULT_AGENT_CONSUMER_STATE as I, type DefaultRowState as J, type PgResultLike as K, asAgentId as L, type MandateResolutionVerdict as M, assertAgentCatalogSchema as N, type OrchestraBadge as O, type PgErrorLike as P, createAgentCatalog as Q, type ResolvedDefaultRow as R, SORT_OPTIONS as S, getRegisteredAgentCatalog as T, isMandateAgentId as U, mandateAgentId as V, orchestraDelegatesLine as W, orchestraDepthLine as X, orchestraLabel as Y, orchestraModeLabel as Z, type AgentCatalogClient as a, type AgentCatalogTransport as b, type AgentCatalogStorageLike as c, type AgentCatalogErrorSink as d, type AgentCatalogStorage as e, type AgentTab as f, type AgentCatalogLabels as g, type AgentConsumerState as h, type AgentSortOption as i, AGENT_NONE_SENTINEL as j, type AgentAccessFilter as k, type AgentAccessLevel as l, type AgentArchFilter as m, type AgentCatalog as n, type AgentCatalogAgentType as o, type AgentCatalogAsyncStorage as p, type AgentCatalogConfig as q, AgentCatalogConfigError as r, type AgentCatalogIdentity as s, type AgentCatalogNavigate as t, type AgentCatalogNotifier as u, type AgentCatalogOpenPeek as v, type AgentCatalogResolveHref as w, type AgentCatalogRpcCall as x, type AgentCatalogSchemaReport as y, type AgentCatalogState as z };
716
+ export { nextArchFilter as $, type AgentSummary as A, type AgentCatalogResolveHref as B, type AgentCatalogRpcCall as C, type AgentCatalogSchemaReport as D, type AgentCatalogState as E, type AgentCatalogStatus as F, type AgentCatalogTableQuery as G, type AgentConsumerPatch as H, type AgentFavFilter as I, type AgentId as J, type AssertAgentCatalogSchemaOptions as K, DEFAULT_AGENT_CATALOG_LABELS as L, type MandateResolutionVerdict as M, DEFAULT_AGENT_CONSUMER_STATE as N, type DefaultRowState as O, type OrchestraBadge as P, type PgErrorLike as Q, type ResolvedDefaultRow as R, type PgResultLike as S, SORT_OPTIONS as T, asAgentId as U, assertAgentCatalogSchema as V, createAgentCatalog as W, getRegisteredAgentCatalog as X, isAgentArchFilter as Y, isMandateAgentId as Z, mandateAgentId as _, type AgentCatalogClient as a, orchestraDelegatesLine as a0, orchestraDepthLine as a1, orchestraLabel as a2, orchestraModeLabel as a3, type AgentCatalogTransport as b, type AgentCatalogStorageLike as c, type AgentCatalogErrorSink as d, type AgentCatalogStorage as e, type AgentArchFilter as f, type AgentTab as g, type AgentCatalogLabels as h, type AgentConsumerState as i, type AgentSortOption as j, AGENT_NONE_SENTINEL as k, ARCHIVE_FILTER_OPTIONS as l, ARCHIVE_FILTER_ORDER as m, type AgentAccessFilter as n, type AgentAccessLevel as o, type AgentArchFilterOption as p, type AgentCatalog as q, type AgentCatalogAgentType as r, type AgentCatalogAsyncStorage as s, type AgentCatalogConfig as t, AgentCatalogConfigError as u, type AgentCatalogDefaults as v, type AgentCatalogIdentity as w, type AgentCatalogNavigate as x, type AgentCatalogNotifier as y, type AgentCatalogOpenPeek as z };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-matrx/agents",
3
- "version": "0.9.0",
3
+ "version": "0.9.2",
4
4
  "description": "Portable AI Matrx agent stream protocol, event projection, and safe result-presentation primitives.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",