@ai-matrx/agents 0.21.19 → 0.21.21

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 CHANGED
@@ -1,5 +1,41 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.21.21
4
+
5
+ ### Added (in `./context`)
6
+
7
+ - `humanizeContextKey(key)` + `CONTEXT_KEY_ACRONYMS` — the one key-to-words rule for a value no
8
+ page or agent labelled: split on `_` / `-` / whitespace, upper-case whole-part acronyms (ID, URL,
9
+ PDF, HTML, JSON, API, AI, UI, CSV, SMS, SEO, LLM, MCP, UUID, ISO), otherwise first letter up and
10
+ the rest down, join with spaces (`note_id` → `Note ID`). Corpus `humanize_cases`; aidream's
11
+ `humanize_context_key` switches to the same rule against the same cases.
12
+
13
+ ### Consumer action
14
+
15
+ - matrx-frontend: replace the local `humanizeContextKey` in
16
+ `context-rules/request-context.ts` with the package export (labels then match the server's
17
+ receipt once aidream switches).
18
+
19
+ ## 0.21.20
20
+
21
+ ### Added (in `./context`)
22
+
23
+ - `ContextReceiptRow.blocked_by` accepts `"self_check"` (RULES.md §5): the server's post-render
24
+ safety check stripped the value before the model call (`delivery: "off"`). New type
25
+ `ContextBlockedBy = "model" | "self_check"`.
26
+ - `compareReceipt`: a value the person included that the check stripped is a `delivery` mismatch
27
+ tagged `reason: "self_check"` — also for server-resolved rows, whose delivery is otherwise
28
+ never compared. `ContextReceiptMismatch.reason?: "self_check"`.
29
+ - Receipt-built rows (`receiptRowToResolved`, `systemRowsToResolved`, `applyReceiptToRows`) carry
30
+ `blockedBy`.
31
+ - `./context/react`: such a row's tooltip and mismatch marker read "Removed by the server's safety
32
+ check".
33
+
34
+ ### Consumer action
35
+
36
+ - matrx-frontend: stop coercing `blocked_by` to null; word a mismatch with
37
+ `reason === "self_check"` as removed by the server's safety check, not as a screen error.
38
+
3
39
  ## 0.21.19
4
40
 
5
41
  Automatic changed-only republish (docs/metadata drift since the last tag — see
@@ -8,9 +44,28 @@ No source changes intended and no consumer action required.
8
44
 
9
45
  ## 0.21.18
10
46
 
11
- Automatic changed-only republish (docs/metadata drift since the last tag — see
12
- `git diff npm/matrx-agents/v0.21.17..npm/matrx-agents/v0.21.18 -- apps/shared/matrx-agents`).
13
- No source changes intended and no consumer action required.
47
+ ### Added (in `./context`)
48
+
49
+ - `withheldKeys(rows): string[]` — keys the client holds a value for but is not sending (excluded
50
+ by the page, the agent or the person's rule), deduplicated. Send it as the request's
51
+ `context_withheld` so the receipt's `origin: "rule"` rows cover only keys withheld on this page.
52
+ - `systemRowsToResolved(systemRows): ResolvedContextRow[]` — `compareReceipt(...).systemRows`
53
+ (server-seeded attachments, scope seeds…) as governable table rows: `attached_document_*` /
54
+ `attached_file_*` / `resource_file_*` group as "attached", the rest as "system";
55
+ `serverResolved`, `fromReceipt`, values from the receipt, `surfaceKey` = the row's own
56
+ `surface_key` (a rule saved for one goes to `_default` unless the server filed it under a page).
57
+ The table, chip and panel render them with the normal Include switch and Inline max.
58
+
59
+ ### Fixed
60
+
61
+ - `buildContextWire` skips rows with no value, so receipt-built rows (`receiptRowToResolved`,
62
+ `systemRowsToResolved`) can never reach the wire as `{ content: undefined }`.
63
+
64
+ ### Consumer action
65
+
66
+ - matrx-frontend: for display pass
67
+ `[...rows, ...systemRowsToResolved(compareReceipt(expected, latestReceipt).systemRows)]`; send
68
+ `context_withheld: withheldKeys(rows)` with each request.
14
69
 
15
70
  ## 0.21.17
16
71