@ai-matrx/records 0.75.4 → 0.76.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 CHANGED
@@ -1,5 +1,20 @@
1
1
  # Changelog — @ai-matrx/records
2
2
 
3
+ ## 0.76.0
4
+
5
+ **Template seed rows carry a row icon (CHAIR-TEMPLATE-UPGRADE).**
6
+
7
+ - `UseCaseRow.icon?: string` — a `@ai-matrx/icons` name (e.g. "Package"). `rowsFor` writes it as the
8
+ record's own `icon`, so an installed template's rows draw their icon wherever a link to them shows
9
+ (`custom.relation_words_with_icons_many` reads `data->>'icon'`).
10
+ - Store side (live 2026-10-06, migration `chair_template_upgrade_b_seed_rows_carry_an_icon`):
11
+ `custom.record_platform_keys()` now lists `icon` beside `parent_id`, so a `fields` Table accepts it
12
+ without a column; `custom.template_upgrade` sets the new version's row icon on rows the install
13
+ already has, only where the row has none (counted as `counts.icons`). An icon a person set is never
14
+ overwritten.
15
+
16
+ **Consumer action:** none. A template that wants row icons sets `icon` on its rows and bumps its version.
17
+
3
18
  ## 0.75.4
4
19
 
5
20
  Automatic changed-only republish (docs/metadata drift since the last tag — see
@@ -406,6 +406,7 @@ function rowsFor(table, ids, deferred) {
406
406
  }
407
407
  values[key] = Array.isArray(value) ? value.map((v) => idOf(rel.relationTarget, v)) : idOf(rel.relationTarget, value);
408
408
  }
409
+ if (typeof r.icon === "string" && r.icon.trim()) values["icon"] = r.icon.trim();
409
410
  values["_actor"] = ACTOR;
410
411
  return values;
411
412
  });