@ai-matrx/agents 0.21.45 → 0.23.0
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 +20 -0
- package/dist/catalog/index.cjs +7 -0
- package/dist/catalog/index.cjs.map +1 -1
- package/dist/catalog/index.d.cts +2 -2
- package/dist/catalog/index.d.ts +2 -2
- package/dist/catalog/index.js +7 -0
- package/dist/catalog/index.js.map +1 -1
- package/dist/catalog/native/index.cjs +1 -1
- package/dist/catalog/native/index.cjs.map +1 -1
- package/dist/catalog/native/index.d.cts +2 -2
- package/dist/catalog/native/index.d.ts +2 -2
- package/dist/catalog/native/index.js +1 -1
- package/dist/catalog/native/index.js.map +1 -1
- package/dist/catalog/react/index.cjs +1 -1
- package/dist/catalog/react/index.cjs.map +1 -1
- package/dist/catalog/react/index.d.cts +2 -0
- package/dist/catalog/react/index.d.ts +2 -0
- package/dist/catalog/react/index.js +1 -1
- package/dist/catalog/react/index.js.map +1 -1
- package/dist/content-transfer/index.cjs +33 -33
- package/dist/content-transfer/index.cjs.map +1 -1
- package/dist/content-transfer/index.d.cts +1 -1
- package/dist/content-transfer/index.d.ts +1 -1
- package/dist/content-transfer/index.js +33 -33
- package/dist/content-transfer/index.js.map +1 -1
- package/dist/content-transfer/react/index.cjs +33 -33
- package/dist/content-transfer/react/index.cjs.map +1 -1
- package/dist/content-transfer/react/index.js +33 -33
- package/dist/content-transfer/react/index.js.map +1 -1
- package/dist/index.cjs +326 -131
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +326 -131
- package/dist/index.js.map +1 -1
- package/dist/mandates/index.cjs +2 -2
- package/dist/mandates/index.cjs.map +1 -1
- 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/index.js.map +1 -1
- package/dist/matrx/index.cjs +326 -131
- package/dist/matrx/index.cjs.map +1 -1
- package/dist/matrx/index.d.cts +185 -4
- package/dist/matrx/index.d.ts +185 -4
- package/dist/matrx/index.js +326 -131
- package/dist/matrx/index.js.map +1 -1
- package/dist/{orchestra-PbGGooqJ.d.cts → orchestra-zpGHwOag.d.cts} +9 -0
- package/dist/{orchestra-PbGGooqJ.d.ts → orchestra-zpGHwOag.d.ts} +9 -0
- package/dist/react/index.cjs +41 -41
- package/dist/react/index.cjs.map +1 -1
- package/dist/react/index.js +41 -41
- package/dist/react/index.js.map +1 -1
- package/mandates/snapshots/keys.0.21.46.json +652 -0
- package/mandates/snapshots/keys.0.22.0.json +652 -0
- package/mandates/snapshots/keys.0.23.0.json +652 -0
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.23.0
|
|
4
|
+
|
|
5
|
+
- **Resume never runs a live run twice — every client rejoins it** (`./matrx`). New `resumeOrRejoin(transport, resumeCall, { organizationId, onEnvelope, … })`: runs the feature's resume door and pipes its NDJSON into `onEnvelope`; on `409 run_in_progress` it follows `POST /runtime/operations/{live_request_id}/rejoin` into the SAME handler under the run's own organization; on `409 live_stream_unavailable` it follows the durable lifecycle (`followRuntimeOperationToEnd`) and says so (`kind: "followed"`); `409 resume_conflict` comes back as `kind: "resume_conflict"` (retry is host policy). Building blocks exported: `readLiveRunRequestId` (reads `live_request_id`, NEVER the envelope's own `request_id`), `readMatrxErrorCode`, `isResumeConflict`, `isLiveStreamUnavailable`, `runtimeOperationRejoinPath`, `openMatrxStream` (any NDJSON door by path), `withRunOrganization`. Guard: `matrx/rejoin.test.ts` (real envelopes with the `request_id` decoy; proven red on a mutant reading `request_id` and on one dropping the run org).
|
|
6
|
+
- **`streamErrorText(event)`** — the text for a stream `error` event: `user_message` first (e.g. "OpenAI refused this request: the platform's OpenAI account is out of credit."), then `message`, else null. A host fallback must never replace a server message. `runAgentToCompletion` now uses it.
|
|
7
|
+
- **`reportProviderSessionFailure(transport, failure)`** — browser-held provider sessions (OpenAI/xAI realtime voice, Cartesia TTS) report their failures to `POST /broker/provider-failures` and get `{ error_type, retryable, user_message }` back; the body is bounded exactly as the server model bounds it; never throws (null + warn when the report itself fails). Guard: `matrx/provider-failures.test.ts`.
|
|
8
|
+
- Consumer action: replace hand-written `409 run_in_progress` → rejoin code with `resumeOrRejoin`; render stream `error` events with `streamErrorText`; call `reportProviderSessionFailure` from every realtime/Cartesia session error handler and show its `user_message`.
|
|
9
|
+
|
|
10
|
+
## 0.22.0
|
|
11
|
+
|
|
12
|
+
- **A signed-out visitor never reads the agent catalogue** (live 2026-10-01: every guest page that mounted a picker — `/education/progress`, `/demos/spatial` — fired `agx_get_list_full`, which `anon` cannot execute, and captured `permission denied for function agx_get_list_full` plus `identity.requireUserId() threw`). `ensureLoaded` now answers the empty catalogue with no read when there is no user, and does not stamp freshness, so the first load after sign-in reads for real. The pickers (web + native) show `labels.emptySignedOut` ("Sign in to see your agents") instead of "No agents found". Guard: `catalog/__tests__/store.test.ts` › "signed out never reads the catalogue".
|
|
13
|
+
- **New optional identity port `getUserId(): string | null`.** When bound, a signed-out visitor is a state, not a failure: `getUserIdOrNull()` answers from it and nothing is reported to the errorSink. Hosts that bind only `requireUserId` keep the old once-per-session `identity_unavailable` report.
|
|
14
|
+
- **New label `emptySignedOut`** on `AgentCatalogLabels` (defaulted; hosts merging partial labels need no change).
|
|
15
|
+
- Consumer action: bind `identity.getUserId` beside `requireUserId` (matrx-frontend: `lib/agents/catalog.ts`, `getUserId` from `@/utils/auth/getUserId`). A host passing a COMPLETE `AgentCatalogLabels` object adds `emptySignedOut`.
|
|
16
|
+
|
|
17
|
+
## 0.21.46
|
|
18
|
+
|
|
19
|
+
Automatic changed-only republish (docs/metadata drift since the last tag — see
|
|
20
|
+
`git diff npm/matrx-agents/v0.21.45..npm/matrx-agents/v0.21.46 -- apps/shared/matrx-agents`).
|
|
21
|
+
No source changes intended and no consumer action required.
|
|
22
|
+
|
|
3
23
|
## 0.21.45
|
|
4
24
|
|
|
5
25
|
Automatic changed-only republish (docs/metadata drift since the last tag — see
|
package/dist/catalog/index.cjs
CHANGED
|
@@ -179,6 +179,7 @@ var DEFAULT_AGENT_CATALOG_LABELS = {
|
|
|
179
179
|
emptyDefault: "No agents found",
|
|
180
180
|
emptyShared: "No shared agents found",
|
|
181
181
|
emptySystem: "No system agents found",
|
|
182
|
+
emptySignedOut: "Sign in to see your agents",
|
|
182
183
|
loading: "Loading...",
|
|
183
184
|
triggerFallback: "Agents",
|
|
184
185
|
triggerResolving: "Naming the agent\u2026",
|
|
@@ -833,6 +834,7 @@ function createAgentCatalog(config) {
|
|
|
833
834
|
}
|
|
834
835
|
let anonymousReported = false;
|
|
835
836
|
function getUserIdOrNull() {
|
|
837
|
+
if (typeof identity.getUserId === "function") return identity.getUserId();
|
|
836
838
|
try {
|
|
837
839
|
return identity.requireUserId();
|
|
838
840
|
} catch (e) {
|
|
@@ -858,6 +860,11 @@ function createAgentCatalog(config) {
|
|
|
858
860
|
return Date.now() - at > LIST_STALE_MS;
|
|
859
861
|
}
|
|
860
862
|
async function load() {
|
|
863
|
+
if (getUserIdOrNull() === null) {
|
|
864
|
+
if (state.rows.length > 0) replaceRows([]);
|
|
865
|
+
publish({ ...state, status: "succeeded", error: null });
|
|
866
|
+
return;
|
|
867
|
+
}
|
|
861
868
|
publish({ ...state, status: "loading", error: null });
|
|
862
869
|
try {
|
|
863
870
|
const rows = await overlayAgentFavorites(
|