@ai-matrx/agents 0.59.151 → 0.59.152
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 +11 -1
- package/README.md +3 -3
- package/dist/catalog/index.cjs +7 -7
- package/dist/catalog/index.d.cts +28 -28
- package/dist/catalog/index.d.ts +28 -28
- package/dist/catalog/index.js +7 -7
- package/dist/catalog/native/index.cjs +1 -1
- package/dist/catalog/native/index.d.cts +16 -16
- package/dist/catalog/native/index.d.ts +16 -16
- package/dist/catalog/native/index.js +1 -1
- package/dist/catalog/react/index.cjs +1 -1
- package/dist/catalog/react/index.d.cts +9 -9
- package/dist/catalog/react/index.d.ts +9 -9
- package/dist/catalog/react/index.js +1 -1
- package/dist/catalog/styles.css +5 -5
- package/dist/content-transfer/index.cjs +2 -2
- package/dist/content-transfer/index.js +2 -2
- package/dist/content-transfer/react/index.cjs +2 -2
- package/dist/content-transfer/react/index.js +2 -2
- package/dist/context/react/index.d.cts +3 -3
- package/dist/context/react/index.d.ts +3 -3
- package/dist/index.cjs +3 -3
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +3 -3
- package/dist/mandates/index.cjs +2 -2
- package/dist/mandates/index.d.cts +4 -4
- package/dist/mandates/index.d.ts +4 -4
- package/dist/mandates/index.js +2 -2
- package/dist/mandates/runs.d.cts +1 -1
- package/dist/mandates/runs.d.ts +1 -1
- package/dist/models/index.d.cts +2 -2
- package/dist/models/index.d.ts +2 -2
- package/dist/models/react/index.cjs +1 -1
- package/dist/models/react/index.js +1 -1
- package/dist/quick/index.d.cts +5 -5
- package/dist/quick/index.d.ts +5 -5
- package/dist/settings/index.d.cts +8 -8
- package/dist/settings/index.d.ts +8 -8
- package/dist/skills/index.d.cts +1 -1
- package/dist/skills/index.d.ts +1 -1
- package/dist/skills/react/index.d.cts +1 -1
- package/dist/skills/react/index.d.ts +1 -1
- package/dist/sources/index.d.cts +1 -1
- package/dist/sources/index.d.ts +1 -1
- package/dist/sources/runtime/index.d.cts +2 -2
- package/dist/sources/runtime/index.d.ts +2 -2
- package/dist/tools/index.d.cts +6 -6
- package/dist/tools/index.d.ts +6 -6
- package/package.json +4 -4
|
@@ -15,7 +15,7 @@ interface ResolvedDefaultRow {
|
|
|
15
15
|
mandateKey: string;
|
|
16
16
|
/** The `agent.definition` id the mandate resolved to. */
|
|
17
17
|
holderId: string;
|
|
18
|
-
/** The holder's REAL name, read from the
|
|
18
|
+
/** The holder's REAL name, read from the catalog — never hardcoded. */
|
|
19
19
|
holderName: string;
|
|
20
20
|
holderDescription: string | null;
|
|
21
21
|
provenance: string;
|
|
@@ -96,7 +96,7 @@ interface AgentCatalogLabels {
|
|
|
96
96
|
emptyDefault: string;
|
|
97
97
|
emptyShared: string;
|
|
98
98
|
emptySystem: string;
|
|
99
|
-
/** Empty state for a signed-out visitor — there is no
|
|
99
|
+
/** Empty state for a signed-out visitor — there is no catalog to read. */
|
|
100
100
|
emptySignedOut: string;
|
|
101
101
|
loading: string;
|
|
102
102
|
triggerFallback: string;
|
|
@@ -196,7 +196,7 @@ interface AgentCatalogState {
|
|
|
196
196
|
/**
|
|
197
197
|
* The caller's starred rows (`ensureFavoriteRows`): `succeeded` once every
|
|
198
198
|
* starred agent the caller can see is in `byId` — by the narrow pinned read
|
|
199
|
-
* or by a complete
|
|
199
|
+
* or by a complete catalog load, whichever came first.
|
|
200
200
|
*/
|
|
201
201
|
favoriteRowsStatus: AgentCatalogStatus;
|
|
202
202
|
}
|
|
@@ -221,17 +221,17 @@ interface AgentCatalog {
|
|
|
221
221
|
/**
|
|
222
222
|
* The signed-in user id, or `null` when there is no session. The ONE place
|
|
223
223
|
* `identity.requireUserId()`'s throw is caught — a signed-out visitor
|
|
224
|
-
* legitimately lands on the public
|
|
224
|
+
* legitimately lands on the public catalog — and it is reported to the
|
|
225
225
|
* errorSink the first time so it is never silent.
|
|
226
226
|
*/
|
|
227
227
|
getUserIdOrNull(): string | null;
|
|
228
|
-
/** Load the
|
|
228
|
+
/** Load the catalog if it is not fresh. Safe to call on every mount. */
|
|
229
229
|
ensureLoaded(options?: {
|
|
230
230
|
force?: boolean;
|
|
231
231
|
}): Promise<void>;
|
|
232
232
|
/**
|
|
233
233
|
* Load ONLY the caller's starred agents into the registry (the pinned read —
|
|
234
|
-
* `ues_list` then `agx_get_list_full?id=in.(…)`), never the whole
|
|
234
|
+
* `ues_list` then `agx_get_list_full?id=in.(…)`), never the whole catalog.
|
|
235
235
|
* Answered at once when a complete load is fresh. Deduped; safe on every
|
|
236
236
|
* mount. For surfaces that show stars without being a picker (a sidebar's
|
|
237
237
|
* Pinned section): nothing loads the full list until a picker opens.
|
|
@@ -351,13 +351,13 @@ declare function useAgentCatalogUiPorts(): Required<Pick<AgentCatalogUiPorts, "n
|
|
|
351
351
|
* selector in `../selectors` does.
|
|
352
352
|
*/
|
|
353
353
|
declare function useAgentCatalogState<T>(select: (state: AgentCatalogState) => T): T;
|
|
354
|
-
/** Every row currently in the
|
|
354
|
+
/** Every row currently in the catalog, as one stable array. */
|
|
355
355
|
declare function useAgentCatalogRows(): AgentSummary[];
|
|
356
356
|
|
|
357
357
|
/**
|
|
358
358
|
* catalog/native/theme.ts — @ai-matrx/agents/catalog/native
|
|
359
359
|
*
|
|
360
|
-
* 🚨 C26 ON A PLATFORM WITH NO CSS. The web picker consumes
|
|
360
|
+
* 🚨 C26 ON A PLATFORM WITH NO CSS. The web picker consumes color ONLY
|
|
361
361
|
* through named semantic tokens (`--matrx-agent-*` plus the design system's
|
|
362
362
|
* `--primary`, `--muted-foreground`, …), and `catalog/styles.css` ships their
|
|
363
363
|
* DEFAULT VALUES so the picker renders correctly unthemed in a fresh app.
|
|
@@ -366,10 +366,10 @@ declare function useAgentCatalogRows(): AgentSummary[];
|
|
|
366
366
|
* value, and a host re-brands by passing `theme` to `AgentCatalogProvider`.
|
|
367
367
|
*
|
|
368
368
|
* Every name below is the native twin of a token the web sheet defines, so a
|
|
369
|
-
*
|
|
370
|
-
* components hardcodes a
|
|
369
|
+
* color changed in one place is findable in the other. NOTHING in the native
|
|
370
|
+
* components hardcodes a color — they read this object and nothing else.
|
|
371
371
|
*/
|
|
372
|
-
/** The
|
|
372
|
+
/** The color half of the contract. Every value is host-overridable. */
|
|
373
373
|
interface AgentCatalogNativeColors {
|
|
374
374
|
/** Sheet / list background. Web twin: `--background`. */
|
|
375
375
|
background: string;
|
|
@@ -391,7 +391,7 @@ interface AgentCatalogNativeColors {
|
|
|
391
391
|
primaryForeground: string;
|
|
392
392
|
/** A tinted accent surface (active tab, badges). Web twin: `bg-primary/10`. */
|
|
393
393
|
primarySoft: string;
|
|
394
|
-
/** The
|
|
394
|
+
/** The favorite star. Web twin: `--matrx-agent-favorite`. */
|
|
395
395
|
favorite: string;
|
|
396
396
|
/** The drift banner. Web twins: `--matrx-agent-drift-{bg,fg,border}`. */
|
|
397
397
|
driftBackground: string;
|
|
@@ -611,7 +611,7 @@ interface AgentListCoreOptions {
|
|
|
611
611
|
* Tab this surface opens on, applied once on first mount. Admin surfaces
|
|
612
612
|
* that manage system agents pass `"system"`. When omitted the normal
|
|
613
613
|
* user heuristic applies (a user with no agents of their own lands on the
|
|
614
|
-
* public/system
|
|
614
|
+
* public/system catalog).
|
|
615
615
|
*/
|
|
616
616
|
initialTab?: AgentTab;
|
|
617
617
|
/**
|
|
@@ -627,7 +627,7 @@ interface AgentListCoreOptions {
|
|
|
627
627
|
* button never emptied the list behind it: the active tab lives in the
|
|
628
628
|
* consumer's REMEMBERED state, and `initialTab` is applied exactly once per
|
|
629
629
|
* mount (`defaultTabAppliedRef`). So a person who had been on "Mine" and
|
|
630
|
-
* then moved a control that narrows the picker got the personal
|
|
630
|
+
* then moved a control that narrows the picker got the personal catalog
|
|
631
631
|
* with the tab bar removed — the forbidden list, and no way to see that it
|
|
632
632
|
* was forbidden. That is the defect Arman named on the mandate binding
|
|
633
633
|
* screen's global rung (VISION-RECONCILIATION D2, 2026-08-31: the picker
|
|
@@ -908,7 +908,7 @@ declare const SHAPES: {
|
|
|
908
908
|
/**
|
|
909
909
|
* THE ARCHIVE GLYPH (Lucide `archive`) — the ONE mark of the platform
|
|
910
910
|
* archive filter, drawn identically in every Matrx client so the control a
|
|
911
|
-
* person learns on one surface is
|
|
911
|
+
* person learns on one surface is recognizable on all of them.
|
|
912
912
|
*/
|
|
913
913
|
archive: {
|
|
914
914
|
paths: string[];
|
|
@@ -955,7 +955,7 @@ interface AgentIconProps {
|
|
|
955
955
|
/** Points. Default 14 — the web picker's `w-3.5`. */
|
|
956
956
|
size?: number;
|
|
957
957
|
color: string;
|
|
958
|
-
/** Paint the shape (the
|
|
958
|
+
/** Paint the shape (the favorite star's "on" state). */
|
|
959
959
|
filled?: boolean;
|
|
960
960
|
/**
|
|
961
961
|
* Where the degradation is reported. REQUIRED so nothing here can fail
|
|
@@ -15,7 +15,7 @@ interface ResolvedDefaultRow {
|
|
|
15
15
|
mandateKey: string;
|
|
16
16
|
/** The `agent.definition` id the mandate resolved to. */
|
|
17
17
|
holderId: string;
|
|
18
|
-
/** The holder's REAL name, read from the
|
|
18
|
+
/** The holder's REAL name, read from the catalog — never hardcoded. */
|
|
19
19
|
holderName: string;
|
|
20
20
|
holderDescription: string | null;
|
|
21
21
|
provenance: string;
|
|
@@ -96,7 +96,7 @@ interface AgentCatalogLabels {
|
|
|
96
96
|
emptyDefault: string;
|
|
97
97
|
emptyShared: string;
|
|
98
98
|
emptySystem: string;
|
|
99
|
-
/** Empty state for a signed-out visitor — there is no
|
|
99
|
+
/** Empty state for a signed-out visitor — there is no catalog to read. */
|
|
100
100
|
emptySignedOut: string;
|
|
101
101
|
loading: string;
|
|
102
102
|
triggerFallback: string;
|
|
@@ -196,7 +196,7 @@ interface AgentCatalogState {
|
|
|
196
196
|
/**
|
|
197
197
|
* The caller's starred rows (`ensureFavoriteRows`): `succeeded` once every
|
|
198
198
|
* starred agent the caller can see is in `byId` — by the narrow pinned read
|
|
199
|
-
* or by a complete
|
|
199
|
+
* or by a complete catalog load, whichever came first.
|
|
200
200
|
*/
|
|
201
201
|
favoriteRowsStatus: AgentCatalogStatus;
|
|
202
202
|
}
|
|
@@ -221,17 +221,17 @@ interface AgentCatalog {
|
|
|
221
221
|
/**
|
|
222
222
|
* The signed-in user id, or `null` when there is no session. The ONE place
|
|
223
223
|
* `identity.requireUserId()`'s throw is caught — a signed-out visitor
|
|
224
|
-
* legitimately lands on the public
|
|
224
|
+
* legitimately lands on the public catalog — and it is reported to the
|
|
225
225
|
* errorSink the first time so it is never silent.
|
|
226
226
|
*/
|
|
227
227
|
getUserIdOrNull(): string | null;
|
|
228
|
-
/** Load the
|
|
228
|
+
/** Load the catalog if it is not fresh. Safe to call on every mount. */
|
|
229
229
|
ensureLoaded(options?: {
|
|
230
230
|
force?: boolean;
|
|
231
231
|
}): Promise<void>;
|
|
232
232
|
/**
|
|
233
233
|
* Load ONLY the caller's starred agents into the registry (the pinned read —
|
|
234
|
-
* `ues_list` then `agx_get_list_full?id=in.(…)`), never the whole
|
|
234
|
+
* `ues_list` then `agx_get_list_full?id=in.(…)`), never the whole catalog.
|
|
235
235
|
* Answered at once when a complete load is fresh. Deduped; safe on every
|
|
236
236
|
* mount. For surfaces that show stars without being a picker (a sidebar's
|
|
237
237
|
* Pinned section): nothing loads the full list until a picker opens.
|
|
@@ -351,13 +351,13 @@ declare function useAgentCatalogUiPorts(): Required<Pick<AgentCatalogUiPorts, "n
|
|
|
351
351
|
* selector in `../selectors` does.
|
|
352
352
|
*/
|
|
353
353
|
declare function useAgentCatalogState<T>(select: (state: AgentCatalogState) => T): T;
|
|
354
|
-
/** Every row currently in the
|
|
354
|
+
/** Every row currently in the catalog, as one stable array. */
|
|
355
355
|
declare function useAgentCatalogRows(): AgentSummary[];
|
|
356
356
|
|
|
357
357
|
/**
|
|
358
358
|
* catalog/native/theme.ts — @ai-matrx/agents/catalog/native
|
|
359
359
|
*
|
|
360
|
-
* 🚨 C26 ON A PLATFORM WITH NO CSS. The web picker consumes
|
|
360
|
+
* 🚨 C26 ON A PLATFORM WITH NO CSS. The web picker consumes color ONLY
|
|
361
361
|
* through named semantic tokens (`--matrx-agent-*` plus the design system's
|
|
362
362
|
* `--primary`, `--muted-foreground`, …), and `catalog/styles.css` ships their
|
|
363
363
|
* DEFAULT VALUES so the picker renders correctly unthemed in a fresh app.
|
|
@@ -366,10 +366,10 @@ declare function useAgentCatalogRows(): AgentSummary[];
|
|
|
366
366
|
* value, and a host re-brands by passing `theme` to `AgentCatalogProvider`.
|
|
367
367
|
*
|
|
368
368
|
* Every name below is the native twin of a token the web sheet defines, so a
|
|
369
|
-
*
|
|
370
|
-
* components hardcodes a
|
|
369
|
+
* color changed in one place is findable in the other. NOTHING in the native
|
|
370
|
+
* components hardcodes a color — they read this object and nothing else.
|
|
371
371
|
*/
|
|
372
|
-
/** The
|
|
372
|
+
/** The color half of the contract. Every value is host-overridable. */
|
|
373
373
|
interface AgentCatalogNativeColors {
|
|
374
374
|
/** Sheet / list background. Web twin: `--background`. */
|
|
375
375
|
background: string;
|
|
@@ -391,7 +391,7 @@ interface AgentCatalogNativeColors {
|
|
|
391
391
|
primaryForeground: string;
|
|
392
392
|
/** A tinted accent surface (active tab, badges). Web twin: `bg-primary/10`. */
|
|
393
393
|
primarySoft: string;
|
|
394
|
-
/** The
|
|
394
|
+
/** The favorite star. Web twin: `--matrx-agent-favorite`. */
|
|
395
395
|
favorite: string;
|
|
396
396
|
/** The drift banner. Web twins: `--matrx-agent-drift-{bg,fg,border}`. */
|
|
397
397
|
driftBackground: string;
|
|
@@ -611,7 +611,7 @@ interface AgentListCoreOptions {
|
|
|
611
611
|
* Tab this surface opens on, applied once on first mount. Admin surfaces
|
|
612
612
|
* that manage system agents pass `"system"`. When omitted the normal
|
|
613
613
|
* user heuristic applies (a user with no agents of their own lands on the
|
|
614
|
-
* public/system
|
|
614
|
+
* public/system catalog).
|
|
615
615
|
*/
|
|
616
616
|
initialTab?: AgentTab;
|
|
617
617
|
/**
|
|
@@ -627,7 +627,7 @@ interface AgentListCoreOptions {
|
|
|
627
627
|
* button never emptied the list behind it: the active tab lives in the
|
|
628
628
|
* consumer's REMEMBERED state, and `initialTab` is applied exactly once per
|
|
629
629
|
* mount (`defaultTabAppliedRef`). So a person who had been on "Mine" and
|
|
630
|
-
* then moved a control that narrows the picker got the personal
|
|
630
|
+
* then moved a control that narrows the picker got the personal catalog
|
|
631
631
|
* with the tab bar removed — the forbidden list, and no way to see that it
|
|
632
632
|
* was forbidden. That is the defect Arman named on the mandate binding
|
|
633
633
|
* screen's global rung (VISION-RECONCILIATION D2, 2026-08-31: the picker
|
|
@@ -908,7 +908,7 @@ declare const SHAPES: {
|
|
|
908
908
|
/**
|
|
909
909
|
* THE ARCHIVE GLYPH (Lucide `archive`) — the ONE mark of the platform
|
|
910
910
|
* archive filter, drawn identically in every Matrx client so the control a
|
|
911
|
-
* person learns on one surface is
|
|
911
|
+
* person learns on one surface is recognizable on all of them.
|
|
912
912
|
*/
|
|
913
913
|
archive: {
|
|
914
914
|
paths: string[];
|
|
@@ -955,7 +955,7 @@ interface AgentIconProps {
|
|
|
955
955
|
/** Points. Default 14 — the web picker's `w-3.5`. */
|
|
956
956
|
size?: number;
|
|
957
957
|
color: string;
|
|
958
|
-
/** Paint the shape (the
|
|
958
|
+
/** Paint the shape (the favorite star's "on" state). */
|
|
959
959
|
filled?: boolean;
|
|
960
960
|
/**
|
|
961
961
|
* Where the degradation is reported. REQUIRED so nothing here can fail
|
|
@@ -1163,7 +1163,7 @@ var SHAPES = {
|
|
|
1163
1163
|
/**
|
|
1164
1164
|
* THE ARCHIVE GLYPH (Lucide `archive`) — the ONE mark of the platform
|
|
1165
1165
|
* archive filter, drawn identically in every Matrx client so the control a
|
|
1166
|
-
* person learns on one surface is
|
|
1166
|
+
* person learns on one surface is recognizable on all of them.
|
|
1167
1167
|
*/
|
|
1168
1168
|
archive: {
|
|
1169
1169
|
paths: [
|
|
@@ -1291,7 +1291,7 @@ var SHAPES = {
|
|
|
1291
1291
|
/**
|
|
1292
1292
|
* THE ARCHIVE GLYPH (Lucide `archive`) — the ONE mark of the platform
|
|
1293
1293
|
* archive filter, drawn identically in every Matrx client so the control a
|
|
1294
|
-
* person learns on one surface is
|
|
1294
|
+
* person learns on one surface is recognizable on all of them.
|
|
1295
1295
|
*/
|
|
1296
1296
|
archive: {
|
|
1297
1297
|
paths: [
|
|
@@ -225,7 +225,7 @@ interface ResolvedDefaultRow {
|
|
|
225
225
|
mandateKey: string;
|
|
226
226
|
/** The `agent.definition` id the mandate resolved to. */
|
|
227
227
|
holderId: string;
|
|
228
|
-
/** The holder's REAL name, read from the
|
|
228
|
+
/** The holder's REAL name, read from the catalog — never hardcoded. */
|
|
229
229
|
holderName: string;
|
|
230
230
|
holderDescription: string | null;
|
|
231
231
|
provenance: string;
|
|
@@ -306,7 +306,7 @@ interface AgentCatalogLabels {
|
|
|
306
306
|
emptyDefault: string;
|
|
307
307
|
emptyShared: string;
|
|
308
308
|
emptySystem: string;
|
|
309
|
-
/** Empty state for a signed-out visitor — there is no
|
|
309
|
+
/** Empty state for a signed-out visitor — there is no catalog to read. */
|
|
310
310
|
emptySignedOut: string;
|
|
311
311
|
loading: string;
|
|
312
312
|
triggerFallback: string;
|
|
@@ -406,7 +406,7 @@ interface AgentCatalogState {
|
|
|
406
406
|
/**
|
|
407
407
|
* The caller's starred rows (`ensureFavoriteRows`): `succeeded` once every
|
|
408
408
|
* starred agent the caller can see is in `byId` — by the narrow pinned read
|
|
409
|
-
* or by a complete
|
|
409
|
+
* or by a complete catalog load, whichever came first.
|
|
410
410
|
*/
|
|
411
411
|
favoriteRowsStatus: AgentCatalogStatus;
|
|
412
412
|
}
|
|
@@ -431,17 +431,17 @@ interface AgentCatalog {
|
|
|
431
431
|
/**
|
|
432
432
|
* The signed-in user id, or `null` when there is no session. The ONE place
|
|
433
433
|
* `identity.requireUserId()`'s throw is caught — a signed-out visitor
|
|
434
|
-
* legitimately lands on the public
|
|
434
|
+
* legitimately lands on the public catalog — and it is reported to the
|
|
435
435
|
* errorSink the first time so it is never silent.
|
|
436
436
|
*/
|
|
437
437
|
getUserIdOrNull(): string | null;
|
|
438
|
-
/** Load the
|
|
438
|
+
/** Load the catalog if it is not fresh. Safe to call on every mount. */
|
|
439
439
|
ensureLoaded(options?: {
|
|
440
440
|
force?: boolean;
|
|
441
441
|
}): Promise<void>;
|
|
442
442
|
/**
|
|
443
443
|
* Load ONLY the caller's starred agents into the registry (the pinned read —
|
|
444
|
-
* `ues_list` then `agx_get_list_full?id=in.(…)`), never the whole
|
|
444
|
+
* `ues_list` then `agx_get_list_full?id=in.(…)`), never the whole catalog.
|
|
445
445
|
* Answered at once when a complete load is fresh. Deduped; safe on every
|
|
446
446
|
* mount. For surfaces that show stars without being a picker (a sidebar's
|
|
447
447
|
* Pinned section): nothing loads the full list until a picker opens.
|
|
@@ -551,7 +551,7 @@ declare function useAgentCatalogUiPorts(): Required<Pick<AgentCatalogUiPorts, "n
|
|
|
551
551
|
* selector in `../selectors` does.
|
|
552
552
|
*/
|
|
553
553
|
declare function useAgentCatalogState<T>(select: (state: AgentCatalogState) => T): T;
|
|
554
|
-
/** Every row currently in the
|
|
554
|
+
/** Every row currently in the catalog, as one stable array. */
|
|
555
555
|
declare function useAgentCatalogRows(): AgentSummary[];
|
|
556
556
|
|
|
557
557
|
interface AgentCatalogProviderProps extends AgentCatalogUiPorts {
|
|
@@ -683,7 +683,7 @@ interface AgentListCoreOptions {
|
|
|
683
683
|
* Tab this surface opens on, applied once on first mount. Admin surfaces
|
|
684
684
|
* that manage system agents pass `"system"`. When omitted the normal
|
|
685
685
|
* user heuristic applies (a user with no agents of their own lands on the
|
|
686
|
-
* public/system
|
|
686
|
+
* public/system catalog).
|
|
687
687
|
*/
|
|
688
688
|
initialTab?: AgentTab;
|
|
689
689
|
/**
|
|
@@ -699,7 +699,7 @@ interface AgentListCoreOptions {
|
|
|
699
699
|
* button never emptied the list behind it: the active tab lives in the
|
|
700
700
|
* consumer's REMEMBERED state, and `initialTab` is applied exactly once per
|
|
701
701
|
* mount (`defaultTabAppliedRef`). So a person who had been on "Mine" and
|
|
702
|
-
* then moved a control that narrows the picker got the personal
|
|
702
|
+
* then moved a control that narrows the picker got the personal catalog
|
|
703
703
|
* with the tab bar removed — the forbidden list, and no way to see that it
|
|
704
704
|
* was forbidden. That is the defect Arman named on the mandate binding
|
|
705
705
|
* screen's global rung (VISION-RECONCILIATION D2, 2026-08-31: the picker
|
|
@@ -225,7 +225,7 @@ interface ResolvedDefaultRow {
|
|
|
225
225
|
mandateKey: string;
|
|
226
226
|
/** The `agent.definition` id the mandate resolved to. */
|
|
227
227
|
holderId: string;
|
|
228
|
-
/** The holder's REAL name, read from the
|
|
228
|
+
/** The holder's REAL name, read from the catalog — never hardcoded. */
|
|
229
229
|
holderName: string;
|
|
230
230
|
holderDescription: string | null;
|
|
231
231
|
provenance: string;
|
|
@@ -306,7 +306,7 @@ interface AgentCatalogLabels {
|
|
|
306
306
|
emptyDefault: string;
|
|
307
307
|
emptyShared: string;
|
|
308
308
|
emptySystem: string;
|
|
309
|
-
/** Empty state for a signed-out visitor — there is no
|
|
309
|
+
/** Empty state for a signed-out visitor — there is no catalog to read. */
|
|
310
310
|
emptySignedOut: string;
|
|
311
311
|
loading: string;
|
|
312
312
|
triggerFallback: string;
|
|
@@ -406,7 +406,7 @@ interface AgentCatalogState {
|
|
|
406
406
|
/**
|
|
407
407
|
* The caller's starred rows (`ensureFavoriteRows`): `succeeded` once every
|
|
408
408
|
* starred agent the caller can see is in `byId` — by the narrow pinned read
|
|
409
|
-
* or by a complete
|
|
409
|
+
* or by a complete catalog load, whichever came first.
|
|
410
410
|
*/
|
|
411
411
|
favoriteRowsStatus: AgentCatalogStatus;
|
|
412
412
|
}
|
|
@@ -431,17 +431,17 @@ interface AgentCatalog {
|
|
|
431
431
|
/**
|
|
432
432
|
* The signed-in user id, or `null` when there is no session. The ONE place
|
|
433
433
|
* `identity.requireUserId()`'s throw is caught — a signed-out visitor
|
|
434
|
-
* legitimately lands on the public
|
|
434
|
+
* legitimately lands on the public catalog — and it is reported to the
|
|
435
435
|
* errorSink the first time so it is never silent.
|
|
436
436
|
*/
|
|
437
437
|
getUserIdOrNull(): string | null;
|
|
438
|
-
/** Load the
|
|
438
|
+
/** Load the catalog if it is not fresh. Safe to call on every mount. */
|
|
439
439
|
ensureLoaded(options?: {
|
|
440
440
|
force?: boolean;
|
|
441
441
|
}): Promise<void>;
|
|
442
442
|
/**
|
|
443
443
|
* Load ONLY the caller's starred agents into the registry (the pinned read —
|
|
444
|
-
* `ues_list` then `agx_get_list_full?id=in.(…)`), never the whole
|
|
444
|
+
* `ues_list` then `agx_get_list_full?id=in.(…)`), never the whole catalog.
|
|
445
445
|
* Answered at once when a complete load is fresh. Deduped; safe on every
|
|
446
446
|
* mount. For surfaces that show stars without being a picker (a sidebar's
|
|
447
447
|
* Pinned section): nothing loads the full list until a picker opens.
|
|
@@ -551,7 +551,7 @@ declare function useAgentCatalogUiPorts(): Required<Pick<AgentCatalogUiPorts, "n
|
|
|
551
551
|
* selector in `../selectors` does.
|
|
552
552
|
*/
|
|
553
553
|
declare function useAgentCatalogState<T>(select: (state: AgentCatalogState) => T): T;
|
|
554
|
-
/** Every row currently in the
|
|
554
|
+
/** Every row currently in the catalog, as one stable array. */
|
|
555
555
|
declare function useAgentCatalogRows(): AgentSummary[];
|
|
556
556
|
|
|
557
557
|
interface AgentCatalogProviderProps extends AgentCatalogUiPorts {
|
|
@@ -683,7 +683,7 @@ interface AgentListCoreOptions {
|
|
|
683
683
|
* Tab this surface opens on, applied once on first mount. Admin surfaces
|
|
684
684
|
* that manage system agents pass `"system"`. When omitted the normal
|
|
685
685
|
* user heuristic applies (a user with no agents of their own lands on the
|
|
686
|
-
* public/system
|
|
686
|
+
* public/system catalog).
|
|
687
687
|
*/
|
|
688
688
|
initialTab?: AgentTab;
|
|
689
689
|
/**
|
|
@@ -699,7 +699,7 @@ interface AgentListCoreOptions {
|
|
|
699
699
|
* button never emptied the list behind it: the active tab lives in the
|
|
700
700
|
* consumer's REMEMBERED state, and `initialTab` is applied exactly once per
|
|
701
701
|
* mount (`defaultTabAppliedRef`). So a person who had been on "Mine" and
|
|
702
|
-
* then moved a control that narrows the picker got the personal
|
|
702
|
+
* then moved a control that narrows the picker got the personal catalog
|
|
703
703
|
* with the tab bar removed — the forbidden list, and no way to see that it
|
|
704
704
|
* was forbidden. That is the defect Arman named on the mandate binding
|
|
705
705
|
* screen's global rung (VISION-RECONCILIATION D2, 2026-08-31: the picker
|
|
@@ -1252,7 +1252,7 @@ var SHAPES = {
|
|
|
1252
1252
|
/**
|
|
1253
1253
|
* THE ARCHIVE GLYPH (Lucide `archive`) — the ONE mark of the platform
|
|
1254
1254
|
* archive filter, drawn identically in every Matrx client so the control a
|
|
1255
|
-
* person learns on one surface is
|
|
1255
|
+
* person learns on one surface is recognizable on all of them.
|
|
1256
1256
|
*/
|
|
1257
1257
|
archive: {
|
|
1258
1258
|
paths: [
|
package/dist/catalog/styles.css
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
WHAT LIVES HERE (C26): every rule the picker's components REQUIRE that a
|
|
6
6
|
host's Tailwind build cannot be trusted to generate, plus the DEFAULT VALUES
|
|
7
|
-
of this package's own semantic tokens.
|
|
8
|
-
nothing below hardcodes a brand
|
|
7
|
+
of this package's own semantic tokens. Color enters ONLY through tokens —
|
|
8
|
+
nothing below hardcodes a brand color in a component rule.
|
|
9
9
|
|
|
10
10
|
🚨 THE GENERATION HAZARD (typescript-package-standard, 2026-09-08). A package
|
|
11
11
|
never invents a Tailwind class name and expects the consumer to generate it:
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
Declared on :root so a host's own unlayered token block wins simply by
|
|
33
33
|
being declared later, exactly as it does for @ai-matrx/design-system. */
|
|
34
34
|
:root {
|
|
35
|
-
/* The
|
|
35
|
+
/* The favorite star. Amber by default because that is the color the
|
|
36
36
|
picker shipped with; a host re-brands it by redefining this one value. */
|
|
37
37
|
--matrx-agent-favorite: #f59e0b;
|
|
38
38
|
/* The drift banner (design D3). Warning surface + text + border. */
|
|
@@ -59,8 +59,8 @@
|
|
|
59
59
|
|
|
60
60
|
/* ── Structural rules ─────────────────────────────────────────────────── */
|
|
61
61
|
|
|
62
|
-
/* The
|
|
63
|
-
path, so ONE token
|
|
62
|
+
/* The favorite star, on. `currentColor` drives both stroke and the filled
|
|
63
|
+
path, so ONE token colors the whole glyph. */
|
|
64
64
|
.matrx-agent-star-on {
|
|
65
65
|
color: var(--matrx-agent-favorite);
|
|
66
66
|
}
|
|
@@ -1075,7 +1075,7 @@ function createMatrxContentTransferAdapter(options) {
|
|
|
1075
1075
|
status: "cancelled",
|
|
1076
1076
|
identity: resolvedIdentity,
|
|
1077
1077
|
draft: null,
|
|
1078
|
-
message: "The AI preparation was
|
|
1078
|
+
message: "The AI preparation was canceled. Any partial output was not applied."
|
|
1079
1079
|
};
|
|
1080
1080
|
if (operation.status !== "completed")
|
|
1081
1081
|
return {
|
|
@@ -1176,7 +1176,7 @@ function createMatrxContentTransferAdapter(options) {
|
|
|
1176
1176
|
if (!identity) throw error;
|
|
1177
1177
|
return detached(
|
|
1178
1178
|
identity,
|
|
1179
|
-
error instanceof SupersededRunError ? error.message : `The local stream detached after the server accepted the request: ${errorMessage(error)} Server work was not
|
|
1179
|
+
error instanceof SupersededRunError ? error.message : `The local stream detached after the server accepted the request: ${errorMessage(error)} Server work was not canceled; retry recovery with this request.`
|
|
1180
1180
|
);
|
|
1181
1181
|
}
|
|
1182
1182
|
});
|
|
@@ -1060,7 +1060,7 @@ function createMatrxContentTransferAdapter(options) {
|
|
|
1060
1060
|
status: "cancelled",
|
|
1061
1061
|
identity: resolvedIdentity,
|
|
1062
1062
|
draft: null,
|
|
1063
|
-
message: "The AI preparation was
|
|
1063
|
+
message: "The AI preparation was canceled. Any partial output was not applied."
|
|
1064
1064
|
};
|
|
1065
1065
|
if (operation.status !== "completed")
|
|
1066
1066
|
return {
|
|
@@ -1161,7 +1161,7 @@ function createMatrxContentTransferAdapter(options) {
|
|
|
1161
1161
|
if (!identity) throw error;
|
|
1162
1162
|
return detached(
|
|
1163
1163
|
identity,
|
|
1164
|
-
error instanceof SupersededRunError ? error.message : `The local stream detached after the server accepted the request: ${errorMessage(error)} Server work was not
|
|
1164
|
+
error instanceof SupersededRunError ? error.message : `The local stream detached after the server accepted the request: ${errorMessage(error)} Server work was not canceled; retry recovery with this request.`
|
|
1165
1165
|
);
|
|
1166
1166
|
}
|
|
1167
1167
|
});
|
|
@@ -923,7 +923,7 @@ function createMatrxContentTransferAdapter(options) {
|
|
|
923
923
|
status: "cancelled",
|
|
924
924
|
identity: resolvedIdentity,
|
|
925
925
|
draft: null,
|
|
926
|
-
message: "The AI preparation was
|
|
926
|
+
message: "The AI preparation was canceled. Any partial output was not applied."
|
|
927
927
|
};
|
|
928
928
|
if (operation.status !== "completed")
|
|
929
929
|
return {
|
|
@@ -1024,7 +1024,7 @@ function createMatrxContentTransferAdapter(options) {
|
|
|
1024
1024
|
if (!identity) throw error;
|
|
1025
1025
|
return detached(
|
|
1026
1026
|
identity,
|
|
1027
|
-
error instanceof SupersededRunError ? error.message : `The local stream detached after the server accepted the request: ${errorMessage(error)} Server work was not
|
|
1027
|
+
error instanceof SupersededRunError ? error.message : `The local stream detached after the server accepted the request: ${errorMessage(error)} Server work was not canceled; retry recovery with this request.`
|
|
1028
1028
|
);
|
|
1029
1029
|
}
|
|
1030
1030
|
});
|
|
@@ -903,7 +903,7 @@ function createMatrxContentTransferAdapter(options) {
|
|
|
903
903
|
status: "cancelled",
|
|
904
904
|
identity: resolvedIdentity,
|
|
905
905
|
draft: null,
|
|
906
|
-
message: "The AI preparation was
|
|
906
|
+
message: "The AI preparation was canceled. Any partial output was not applied."
|
|
907
907
|
};
|
|
908
908
|
if (operation.status !== "completed")
|
|
909
909
|
return {
|
|
@@ -1004,7 +1004,7 @@ function createMatrxContentTransferAdapter(options) {
|
|
|
1004
1004
|
if (!identity) throw error;
|
|
1005
1005
|
return detached(
|
|
1006
1006
|
identity,
|
|
1007
|
-
error instanceof SupersededRunError ? error.message : `The local stream detached after the server accepted the request: ${errorMessage(error)} Server work was not
|
|
1007
|
+
error instanceof SupersededRunError ? error.message : `The local stream detached after the server accepted the request: ${errorMessage(error)} Server work was not canceled; retry recovery with this request.`
|
|
1008
1008
|
);
|
|
1009
1009
|
}
|
|
1010
1010
|
});
|
|
@@ -185,7 +185,7 @@ interface ContextReceiptMismatch {
|
|
|
185
185
|
* origin. A level or group switch is NOT a new kind of rule: it is the
|
|
186
186
|
* person's per-value include rules for every value in it, written at once
|
|
187
187
|
* (`includeChanges`), so the server's gate and receipt see exactly the rules
|
|
188
|
-
* they already
|
|
188
|
+
* they already honor.
|
|
189
189
|
*/
|
|
190
190
|
|
|
191
191
|
/** A level of the table: the platform, a page, the chat's attachments. */
|
|
@@ -267,7 +267,7 @@ declare function includeChanges(rows: readonly ResolvedContextRow[], include: bo
|
|
|
267
267
|
* the organization, the scopes) — is not page or ambient context (RULES.md
|
|
268
268
|
* §5a): the page switch never closes it, so neither does the "everything"
|
|
269
269
|
* switch. Only the person's own per-value rule (its row, or the AI Matrx
|
|
270
|
-
* level's switch) turns it off, and the server
|
|
270
|
+
* level's switch) turns it off, and the server honors exactly that rule.
|
|
271
271
|
*/
|
|
272
272
|
declare function masterGoverns(row: Pick<ResolvedContextRow, "key">): boolean;
|
|
273
273
|
/**
|
|
@@ -459,7 +459,7 @@ declare function InlineMaxInput({ value, inherited, cap, onCommit, disabled, lab
|
|
|
459
459
|
* returns now (`fetchable`, sized once loaded). Verbatim;
|
|
460
460
|
* never the client's copy. With no receipt yet: a server-authoritative value
|
|
461
461
|
* says the server fills it; anything else renders nothing (the host may show
|
|
462
|
-
* the value the page will send,
|
|
462
|
+
* the value the page will send, labeled so).
|
|
463
463
|
*/
|
|
464
464
|
declare function ContextDeliveredValue({ row, load, className, }: {
|
|
465
465
|
row: Pick<ResolvedContextRow, "key" | "delivered" | "onRequest" | "deliveredBlocks"> & Partial<Pick<ResolvedContextRow, "delivery">>;
|
|
@@ -185,7 +185,7 @@ interface ContextReceiptMismatch {
|
|
|
185
185
|
* origin. A level or group switch is NOT a new kind of rule: it is the
|
|
186
186
|
* person's per-value include rules for every value in it, written at once
|
|
187
187
|
* (`includeChanges`), so the server's gate and receipt see exactly the rules
|
|
188
|
-
* they already
|
|
188
|
+
* they already honor.
|
|
189
189
|
*/
|
|
190
190
|
|
|
191
191
|
/** A level of the table: the platform, a page, the chat's attachments. */
|
|
@@ -267,7 +267,7 @@ declare function includeChanges(rows: readonly ResolvedContextRow[], include: bo
|
|
|
267
267
|
* the organization, the scopes) — is not page or ambient context (RULES.md
|
|
268
268
|
* §5a): the page switch never closes it, so neither does the "everything"
|
|
269
269
|
* switch. Only the person's own per-value rule (its row, or the AI Matrx
|
|
270
|
-
* level's switch) turns it off, and the server
|
|
270
|
+
* level's switch) turns it off, and the server honors exactly that rule.
|
|
271
271
|
*/
|
|
272
272
|
declare function masterGoverns(row: Pick<ResolvedContextRow, "key">): boolean;
|
|
273
273
|
/**
|
|
@@ -459,7 +459,7 @@ declare function InlineMaxInput({ value, inherited, cap, onCommit, disabled, lab
|
|
|
459
459
|
* returns now (`fetchable`, sized once loaded). Verbatim;
|
|
460
460
|
* never the client's copy. With no receipt yet: a server-authoritative value
|
|
461
461
|
* says the server fills it; anything else renders nothing (the host may show
|
|
462
|
-
* the value the page will send,
|
|
462
|
+
* the value the page will send, labeled so).
|
|
463
463
|
*/
|
|
464
464
|
declare function ContextDeliveredValue({ row, load, className, }: {
|
|
465
465
|
row: Pick<ResolvedContextRow, "key" | "delivered" | "onRequest" | "deliveredBlocks"> & Partial<Pick<ResolvedContextRow, "delivery">>;
|
package/dist/index.cjs
CHANGED
|
@@ -584,7 +584,7 @@ var IMAGE_ROLE_META = {
|
|
|
584
584
|
subject: {
|
|
585
585
|
label: "Subject",
|
|
586
586
|
ask: "Subject reference",
|
|
587
|
-
explanation: "Keeps this exact product or object
|
|
587
|
+
explanation: "Keeps this exact product or object recognizable: shape, materials, labels."
|
|
588
588
|
},
|
|
589
589
|
character: {
|
|
590
590
|
label: "Character",
|
|
@@ -594,7 +594,7 @@ var IMAGE_ROLE_META = {
|
|
|
594
594
|
style: {
|
|
595
595
|
label: "Style",
|
|
596
596
|
ask: "Style reference",
|
|
597
|
-
explanation: "Borrows only the look (
|
|
597
|
+
explanation: "Borrows only the look (colors, lighting, medium), never the content."
|
|
598
598
|
},
|
|
599
599
|
mask: {
|
|
600
600
|
label: "Mask",
|
|
@@ -624,7 +624,7 @@ var IMAGE_ROLE_META = {
|
|
|
624
624
|
asset: {
|
|
625
625
|
label: "Asset",
|
|
626
626
|
ask: "Asset reference",
|
|
627
|
-
explanation: "Keeps this product, object or character
|
|
627
|
+
explanation: "Keeps this product, object or character recognizable throughout the clip."
|
|
628
628
|
},
|
|
629
629
|
extend: {
|
|
630
630
|
label: "Extend",
|
package/dist/index.d.cts
CHANGED
|
@@ -16,7 +16,7 @@ export { DEFAULT_WORKFLOW_PROJECTION_LIMITS, WorkflowNodeProjection, WorkflowNod
|
|
|
16
16
|
* = a plain image the model sees. The server owns the wire mapping and the
|
|
17
17
|
* refusal gate (aidream `matrx_ai/media/image_reference_roles.py`); this module
|
|
18
18
|
* mirrors its vocabulary and limits so the builder can tell the truth BEFORE a
|
|
19
|
-
* run: a role the selected model cannot take is shown
|
|
19
|
+
* run: a role the selected model cannot take is shown grayed with the reason.
|
|
20
20
|
*
|
|
21
21
|
* Limits come from the catalog: the routing offering's
|
|
22
22
|
* `capabilities_override.image_reference_roles` (`{role: max, total: n}`).
|
|
@@ -162,7 +162,7 @@ declare function orderVariablesForForm<T extends RunInputVariable>(defs: T[]): T
|
|
|
162
162
|
declare function variableRunLabel(variable: RunInputVariable, formatName?: (name: string) => string): string;
|
|
163
163
|
/** The hint under / beside a variable: its own help text, else the role's line. */
|
|
164
164
|
declare function variableRunHint(variable: RunInputVariable): string | undefined;
|
|
165
|
-
/** Derive the ordered, grouped,
|
|
165
|
+
/** Derive the ordered, grouped, labeled run inputs for an agent's variables. */
|
|
166
166
|
declare function deriveRunInputs<V extends RunInputVariable>(defs: readonly V[] | null | undefined, formatName?: (name: string) => string): RunInput<V>[];
|
|
167
167
|
|
|
168
168
|
export { AUDIO_REFERENCE_ROLES, type AudioReferenceRole, IMAGE_REFERENCE_ROLES, IMAGE_ROLE_META, type ImageReferenceRole, type ImageRoleLimits, type ImageRoleMeta, type ImageRoleVerdict, type ReferenceRole, type RunInput, type RunInputGroup, type RunInputMediaKind, type RunInputVariable, VIDEO_IMAGE_ROLES, VIDEO_REFERENCE_ROLES, type VideoReferenceRole, deriveRunInputs, imageRoleVerdict, isControlVariable, isImageReferenceRole, isReferenceRole, namedReferenceVerdict, normalizeReferenceName, orderVariablesForForm, partitionControlVariables, readImageRoleLimits, referenceRoleCaption, roleTakesName, rolesFor, variableNameOfImageUrl, variableNameOfMediaUrl, variableRunHint, variableRunLabel };
|