@ai-matrx/records 0.58.6 → 0.58.8
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 +35 -0
- package/dist/core/index.cjs +12 -1
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.d.cts +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.js +12 -1
- package/dist/core/index.js.map +1 -1
- package/dist/index.cjs +12 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +22 -2
- package/dist/index.d.ts +22 -2
- package/dist/index.js +12 -1
- package/dist/index.js.map +1 -1
- package/dist/react/index.cjs +12 -1
- package/dist/react/index.cjs.map +1 -1
- package/dist/react/index.d.cts +22 -2
- package/dist/react/index.d.ts +22 -2
- package/dist/react/index.js +12 -1
- package/dist/react/index.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,40 @@
|
|
|
1
1
|
# Changelog — @ai-matrx/records
|
|
2
2
|
|
|
3
|
+
## 0.58.8 (2026-09-25 — published by PUBLISH-SWEEP-5)
|
|
4
|
+
|
|
5
|
+
Carries UI-FIX-19's `TableHomeDestination.slug` (`461302fbf7`), which records-ui 0.85.10 reads to tell
|
|
6
|
+
two same-named organizations apart in the move list, so it publishes first.
|
|
7
|
+
|
|
8
|
+
### Also in this release
|
|
9
|
+
|
|
10
|
+
### Lane UI-FIX-19 (2026-09-24)
|
|
11
|
+
|
|
12
|
+
* **A move destination carries its web address.** `TableHomeDestination.slug` (`string | null`),
|
|
13
|
+
read by `parseTableHome` from `custom.table_home`'s destinations (store file
|
|
14
|
+
`uifix19_a_destination_carries_its_address.sql`, applied). A screen draws it beside a name
|
|
15
|
+
another destination also carries, so two organizations with one name can be told apart
|
|
16
|
+
(VERIFIER-19 #9). **Consumer action:** a host that builds `TableHomeDestination` by hand adds
|
|
17
|
+
`slug`.
|
|
18
|
+
|
|
19
|
+
## 0.58.7
|
|
20
|
+
|
|
21
|
+
Automatic changed-only republish (docs/metadata drift since the last tag — see
|
|
22
|
+
`git diff npm/records/v0.58.6..npm/records/v0.58.7 -- apps/shared/records`).
|
|
23
|
+
No source changes intended and no consumer action required.
|
|
24
|
+
|
|
25
|
+
## Unreleased — lane SOURCE-KEY (2026-09-25)
|
|
26
|
+
|
|
27
|
+
* **A record-store table's event-source key is `record:<table id>`** (was `custom_record:<table id>`,
|
|
28
|
+
the retired tier-2 table's word). `recordChangeTrigger(tableId)` now writes it; new
|
|
29
|
+
`recordSourceKey(tableId)` is the one builder, and `recordSourceTable(key)` reads the table back
|
|
30
|
+
from either key (rows saved before the move). The store moved first (lane SOURCE-KEY, applied to
|
|
31
|
+
production 2026-09-25 03:29 UTC): `custom.record_change_actions`, `custom.table_webhook_declare`
|
|
32
|
+
and the row-change producer write `record:<table id>`, read both, and turn an older client's
|
|
33
|
+
`custom_record:` key into the new one on the way in, so a schedule saved by an older release
|
|
34
|
+
still fires until the store refuses the old key (the next step, once this release is installed).
|
|
35
|
+
**Consumer action:** anything that compares a trigger's or webhook's key to the literal
|
|
36
|
+
`custom_record:` must use `recordSourceTable(key)`.
|
|
37
|
+
|
|
3
38
|
## 0.58.6 (2026-09-24 — published by PUBLISH-SWEEP-5)
|
|
4
39
|
|
|
5
40
|
0.58.5 (the release run's automatic tag, run 36082256533) never reached npm: the live census found
|
package/dist/core/index.cjs
CHANGED
|
@@ -2332,6 +2332,8 @@ __export(core_exports, {
|
|
|
2332
2332
|
predictWriteRefusals: () => predictWriteRefusals,
|
|
2333
2333
|
publicFormPath: () => publicFormPath,
|
|
2334
2334
|
recordChangeTrigger: () => recordChangeTrigger,
|
|
2335
|
+
recordSourceKey: () => recordSourceKey,
|
|
2336
|
+
recordSourceTable: () => recordSourceTable,
|
|
2335
2337
|
rememberedOpCount: () => rememberedOpCount,
|
|
2336
2338
|
sameDocument: () => sameDocument,
|
|
2337
2339
|
scopeChip: () => scopeChip,
|
|
@@ -2902,10 +2904,18 @@ async function exportPageXlsx(page, labels = {}, sheetLabel = "Records") {
|
|
|
2902
2904
|
}
|
|
2903
2905
|
return XLSX.write(workbook, { type: "array", bookType: "xlsx", compression: true });
|
|
2904
2906
|
}
|
|
2907
|
+
function recordSourceKey(tableId) {
|
|
2908
|
+
return `record:${tableId}`;
|
|
2909
|
+
}
|
|
2910
|
+
var SOURCE_KEY = /^(record|custom_record):([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/;
|
|
2911
|
+
function recordSourceTable(key) {
|
|
2912
|
+
const m = key ? SOURCE_KEY.exec(key) : null;
|
|
2913
|
+
return m ? m[2] : null;
|
|
2914
|
+
}
|
|
2905
2915
|
function recordChangeTrigger(tableId, options = {}) {
|
|
2906
2916
|
return {
|
|
2907
2917
|
type: "event",
|
|
2908
|
-
entity_type:
|
|
2918
|
+
entity_type: recordSourceKey(tableId),
|
|
2909
2919
|
table_id: tableId,
|
|
2910
2920
|
...options.actions && options.actions.length > 0 ? { actions: options.actions } : {},
|
|
2911
2921
|
...options.changedFields && options.changedFields.length > 0 ? { changed_fields: options.changedFields } : {}
|
|
@@ -3029,6 +3039,7 @@ function parseTableHome(raw) {
|
|
|
3029
3039
|
destinations: destinations.filter((d) => !!d && typeof d === "object" && !!wordsOf(d.id)).map((d) => ({
|
|
3030
3040
|
id: String(d.id),
|
|
3031
3041
|
name: wordsOf(d.name) ?? "An organization",
|
|
3042
|
+
slug: wordsOf(d.slug),
|
|
3032
3043
|
role: wordsOf(d.role) ?? "member",
|
|
3033
3044
|
ok: d.ok === true,
|
|
3034
3045
|
why: wordsOf(d.why)
|