@ai-matrx/agents 0.21.19 → 0.21.20

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,25 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.21.20
4
+
5
+ ### Added (in `./context`)
6
+
7
+ - `ContextReceiptRow.blocked_by` accepts `"self_check"` (RULES.md §5): the server's post-render
8
+ safety check stripped the value before the model call (`delivery: "off"`). New type
9
+ `ContextBlockedBy = "model" | "self_check"`.
10
+ - `compareReceipt`: a value the person included that the check stripped is a `delivery` mismatch
11
+ tagged `reason: "self_check"` — also for server-resolved rows, whose delivery is otherwise
12
+ never compared. `ContextReceiptMismatch.reason?: "self_check"`.
13
+ - Receipt-built rows (`receiptRowToResolved`, `systemRowsToResolved`, `applyReceiptToRows`) carry
14
+ `blockedBy`.
15
+ - `./context/react`: such a row's tooltip and mismatch marker read "Removed by the server's safety
16
+ check".
17
+
18
+ ### Consumer action
19
+
20
+ - matrx-frontend: stop coercing `blocked_by` to null; word a mismatch with
21
+ `reason === "self_check"` as removed by the server's safety check, not as a screen error.
22
+
3
23
  ## 0.21.19
4
24
 
5
25
  Automatic changed-only republish (docs/metadata drift since the last tag — see
@@ -8,9 +28,28 @@ No source changes intended and no consumer action required.
8
28
 
9
29
  ## 0.21.18
10
30
 
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.
31
+ ### Added (in `./context`)
32
+
33
+ - `withheldKeys(rows): string[]` — keys the client holds a value for but is not sending (excluded
34
+ by the page, the agent or the person's rule), deduplicated. Send it as the request's
35
+ `context_withheld` so the receipt's `origin: "rule"` rows cover only keys withheld on this page.
36
+ - `systemRowsToResolved(systemRows): ResolvedContextRow[]` — `compareReceipt(...).systemRows`
37
+ (server-seeded attachments, scope seeds…) as governable table rows: `attached_document_*` /
38
+ `attached_file_*` / `resource_file_*` group as "attached", the rest as "system";
39
+ `serverResolved`, `fromReceipt`, values from the receipt, `surfaceKey` = the row's own
40
+ `surface_key` (a rule saved for one goes to `_default` unless the server filed it under a page).
41
+ The table, chip and panel render them with the normal Include switch and Inline max.
42
+
43
+ ### Fixed
44
+
45
+ - `buildContextWire` skips rows with no value, so receipt-built rows (`receiptRowToResolved`,
46
+ `systemRowsToResolved`) can never reach the wire as `{ content: undefined }`.
47
+
48
+ ### Consumer action
49
+
50
+ - matrx-frontend: for display pass
51
+ `[...rows, ...systemRowsToResolved(compareReceipt(expected, latestReceipt).systemRows)]`; send
52
+ `context_withheld: withheldKeys(rows)` with each request.
14
53
 
15
54
  ## 0.21.17
16
55