@ai-matrx/associations 0.13.135 → 0.13.137
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 +25 -0
- package/dist/core/index.cjs +30 -3
- 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 +30 -3
- package/dist/core/index.js.map +1 -1
- package/dist/index.cjs +4 -2
- 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 +4 -2
- package/dist/index.js.map +1 -1
- package/dist/{ports-NWvRv4ug.d.cts → ports-C6ZirUKI.d.cts} +2 -2
- package/dist/{ports-NWvRv4ug.d.ts → ports-C6ZirUKI.d.ts} +2 -2
- package/dist/react/index.cjs +7 -11
- package/dist/react/index.cjs.map +1 -1
- package/dist/react/index.js +7 -11
- package/dist/react/index.js.map +1 -1
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
# Changelog — @ai-matrx/associations
|
|
2
2
|
|
|
3
|
+
## Unreleased
|
|
4
|
+
|
|
5
|
+
**Resource groups are a dot and a name.** `AssociationCardGrid` no longer renders the one-line group descriptions ("Incoming sources of truth (Knowledge In).", "Filed under"'s line). Everything else of the restored tiles look stays. Arman 2026-09-30: descriptions are banned on in-app pages (`common-docs/policies/interface-text-is-layout.md`). `CONTENT_ROLES[].tagline` stays in the data for now. No consumer action required.
|
|
6
|
+
|
|
7
|
+
## 0.13.137
|
|
8
|
+
|
|
9
|
+
**A scope can be part of a scope.** Regenerated pairs from `platform.association_types`:
|
|
10
|
+
`scope>scope` (role `part_of` — a class's units, lessons and sections; Data Doctrine R7, the tree
|
|
11
|
+
that replaces `context.scopes.parent_scope_id`) and its record-store twin `scope>record`.
|
|
12
|
+
`isRegisteredPair("scope", "scope")` is now true. No consumer action required.
|
|
13
|
+
|
|
14
|
+
## 0.13.136
|
|
15
|
+
|
|
16
|
+
**A retired entity token never crashes the host.** `getEntityInfo(token)` for a token the live
|
|
17
|
+
vocabulary no longer carries now returns a stand-in labelled `<token> (retired)` and reports
|
|
18
|
+
`retired_entity_token` through the errorSink once per token, instead of throwing
|
|
19
|
+
`Cannot read properties of undefined (reading 'titleColumn')`. 0.13.135's regenerated vocabulary
|
|
20
|
+
dropped `dataset`, `structured_list`, `udt_dataset_*` and `udt_structured_list_items` (deactivated
|
|
21
|
+
in `platform.entity_types` by the custom-data cutover) — its changelog line "no source changes"
|
|
22
|
+
was wrong — and a module-scope `getEntityInfo("structured_list")` in the frontend then crashed
|
|
23
|
+
every route of the dev app (found by real test PB-05, 2026-10-02 19:46Z).
|
|
24
|
+
|
|
25
|
+
**Consumer action:** search your code for the retired tokens above and move each reference to
|
|
26
|
+
the live token; each one now lands in your error sink as `retired_entity_token` until you do.
|
|
27
|
+
|
|
3
28
|
## 0.13.135
|
|
4
29
|
|
|
5
30
|
Automatic changed-only republish (docs/metadata drift since the last tag — see
|
package/dist/core/index.cjs
CHANGED
|
@@ -776,7 +776,7 @@ var ENTITY_TYPE_METADATA = {
|
|
|
776
776
|
"platform_share_link": { token: "platform_share_link", schema: "platform", table: "share_links", label: "Share link", baseTier: 1, isComponent: false, isModule: false, isListed: false, scopeable: true, category: null, referencePickable: false, titleColumn: null, contentRole: null, referenceCategory: null },
|
|
777
777
|
"platform_strict_class_probe": { token: "platform_strict_class_probe", schema: "platform", table: "strict_class_probe", label: "Strict class probe", baseTier: 1, isComponent: false, isModule: false, isListed: false, scopeable: true, category: null, referencePickable: false, titleColumn: null, contentRole: null, referenceCategory: null },
|
|
778
778
|
"podcast_race": { token: "podcast_race", schema: "podcast", table: "pc_race", label: "Podcast Race Episode", baseTier: 1, isComponent: false, isModule: false, isListed: false, scopeable: true, category: null, referencePickable: false, titleColumn: null, contentRole: null, referenceCategory: null },
|
|
779
|
-
"processed_document": { token: "processed_document", schema: "docproc", table: "processed_documents", label: "
|
|
779
|
+
"processed_document": { token: "processed_document", schema: "docproc", table: "processed_documents", label: "Source", baseTier: 1, isComponent: false, isModule: false, isListed: false, scopeable: true, category: null, referencePickable: true, titleColumn: "name", contentRole: "source", referenceCategory: null },
|
|
780
780
|
"processed_document_page": { token: "processed_document_page", schema: "docproc", table: "processed_document_pages", label: "Processed document page", baseTier: 1, isComponent: true, isModule: false, isListed: false, scopeable: true, category: null, referencePickable: false, titleColumn: null, contentRole: null, referenceCategory: null },
|
|
781
781
|
"product_capture_file": { token: "product_capture_file", schema: "workbench", table: "product_capture_file", label: "Product Capture File", baseTier: 1, isComponent: true, isModule: false, isListed: false, scopeable: true, category: null, referencePickable: false, titleColumn: null, contentRole: null, referenceCategory: null },
|
|
782
782
|
"product_capture_item": { token: "product_capture_item", schema: "workbench", table: "product_capture_item", label: "Product Capture Item", baseTier: 1, isComponent: false, isModule: false, isListed: false, scopeable: true, category: null, referencePickable: false, titleColumn: null, contentRole: null, referenceCategory: null },
|
|
@@ -1076,7 +1076,7 @@ var ENTITY_TYPE_METADATA = {
|
|
|
1076
1076
|
"web_location_listing": { token: "web_location_listing", schema: "web", table: "location_listing", label: "Location Listing", baseTier: 1, isComponent: true, isModule: false, isListed: false, scopeable: true, category: null, referencePickable: false, titleColumn: null, contentRole: null, referenceCategory: null },
|
|
1077
1077
|
"web_news_item": { token: "web_news_item", schema: "web", table: "news_item", label: "News Item", baseTier: 1, isComponent: false, isModule: false, isListed: false, scopeable: true, category: null, referencePickable: false, titleColumn: null, contentRole: null, referenceCategory: null },
|
|
1078
1078
|
"web_offering_template": { token: "web_offering_template", schema: "web", table: "offering_template", label: "Offering Template", baseTier: 1, isComponent: false, isModule: false, isListed: false, scopeable: true, category: null, referencePickable: false, titleColumn: null, contentRole: null, referenceCategory: null },
|
|
1079
|
-
"web_page": { token: "web_page", schema: "web", table: "page", label: "
|
|
1079
|
+
"web_page": { token: "web_page", schema: "web", table: "page", label: "Site page", baseTier: 1, isComponent: true, isModule: false, isListed: false, scopeable: true, category: null, referencePickable: false, titleColumn: "url", contentRole: "source", referenceCategory: null },
|
|
1080
1080
|
"web_page_content": { token: "web_page_content", schema: "web", table: "page_content", label: "Page Draft Content", baseTier: 1, isComponent: true, isModule: false, isListed: false, scopeable: true, category: null, referencePickable: false, titleColumn: null, contentRole: null, referenceCategory: null },
|
|
1081
1081
|
"web_page_evidence": { token: "web_page_evidence", schema: "web", table: "page_evidence", label: "Web Page Evidence", baseTier: 1, isComponent: true, isModule: false, isListed: false, scopeable: true, category: null, referencePickable: false, titleColumn: null, contentRole: null, referenceCategory: null },
|
|
1082
1082
|
"web_page_sitemap": { token: "web_page_sitemap", schema: "web", table: "page_sitemap", label: "Page Sitemap Membership", baseTier: 1, isComponent: true, isModule: false, isListed: false, scopeable: true, category: null, referencePickable: false, titleColumn: null, contentRole: null, referenceCategory: null },
|
|
@@ -2403,8 +2403,35 @@ function createEntityRegistry(errorSink, initialOverlay) {
|
|
|
2403
2403
|
const overlayByToken = {
|
|
2404
2404
|
...initialOverlay ?? {}
|
|
2405
2405
|
};
|
|
2406
|
+
const retiredReported = /* @__PURE__ */ new Set();
|
|
2407
|
+
function retiredTokenMeta(token) {
|
|
2408
|
+
if (!retiredReported.has(token)) {
|
|
2409
|
+
retiredReported.add(token);
|
|
2410
|
+
errorSink({
|
|
2411
|
+
code: "retired_entity_token",
|
|
2412
|
+
message: `[entityRegistry] "${token}" is not in the live entity vocabulary (retired or renamed in platform.entity_types). The host still references it; rename the reference to the live token, or drop it. Serving a stand-in so the page can render.`,
|
|
2413
|
+
context: { token }
|
|
2414
|
+
});
|
|
2415
|
+
}
|
|
2416
|
+
return {
|
|
2417
|
+
token,
|
|
2418
|
+
schema: "",
|
|
2419
|
+
table: "",
|
|
2420
|
+
label: `${token} (retired)`,
|
|
2421
|
+
baseTier: 1,
|
|
2422
|
+
isComponent: false,
|
|
2423
|
+
isModule: false,
|
|
2424
|
+
isListed: false,
|
|
2425
|
+
scopeable: false,
|
|
2426
|
+
category: null,
|
|
2427
|
+
referencePickable: false,
|
|
2428
|
+
titleColumn: null,
|
|
2429
|
+
contentRole: null,
|
|
2430
|
+
referenceCategory: null
|
|
2431
|
+
};
|
|
2432
|
+
}
|
|
2406
2433
|
function getEntityInfo(token) {
|
|
2407
|
-
const meta = ENTITY_TYPE_METADATA[token];
|
|
2434
|
+
const meta = ENTITY_TYPE_METADATA[token] ?? retiredTokenMeta(token);
|
|
2408
2435
|
const overlay = overlayByToken[token];
|
|
2409
2436
|
const labelPlural = overlay?.labelPlural ?? `${meta.label}s`;
|
|
2410
2437
|
const titleColumn = meta.titleColumn;
|