@ai-matrx/content-ir 0.21.2 → 0.22.1

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,32 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.22.1
4
+
5
+ First published release of the 0.22 line (the `npm/content-ir-core/v0.22.0` tag never published: the
6
+ `one-code-range-rule` census was red against the relocated chat tree; it now records the real tree).
7
+
8
+ ## 0.22.0 (unpublished)
9
+
10
+ ### New subpath `@ai-matrx/content-ir/surfaces` — kind-aware text surfaces (rich-content extraction)
11
+
12
+ - Moved verbatim from `@ai-matrx/chat` `utils/content-ir/**` (parked there by chat-package-move P14): the JSON-kind
13
+ signal, embedded kind JSON, kind value → markdown, one-line and label projections, quoted-kind lift, escaped-kind
14
+ recovery, image-alt unwrap, the instance-title rule, the legacy quiz envelope, the envelope parity predicate and the
15
+ decision-answers ids. Pure TS, shared by both block splitters and the server-side shape doctors.
16
+ - `registerKindValueMarkdown` keeps its registration on `globalThis` (`Symbol.for("ai-matrx.content-ir.kind-value-markdown")`)
17
+ and announces an unregistered host once on the console.
18
+ - Strict-mode fixes only (`noUncheckedIndexedAccess` assertions where the bound is already checked); no behavior change.
19
+
20
+ ### `/source` `readXmlTag`: requires a `<` at `start`
21
+
22
+ - The chat copy carried the RC-B3r guard and this one did not: `description: >-` was read as a tag named `escription:`
23
+ when a caller started one character early. Now one reader with the guard; the chat copy is deleted in rich-content
24
+ phase 3.
25
+
26
+ ### Consumer action
27
+
28
+ - None required. New code should import these helpers from `@ai-matrx/content-ir/surfaces`, not from `@ai-matrx/chat`.
29
+
3
30
  ## 0.21.2
4
31
 
5
32
  ### `/source`: a ```json fence's string state never crosses a line end (never-raw R11 H2)
package/dist/index.cjs CHANGED
@@ -6059,6 +6059,7 @@ var XML_NAME_START = /[A-Za-z_]/;
6059
6059
  var XML_NAME_CHARACTER = /[\w.:-]/;
6060
6060
  var WHITESPACE = /\s/;
6061
6061
  function readXmlTag(content, start, find = (needle, from) => content.indexOf(needle, from)) {
6062
+ if (content[start] !== "<") return null;
6062
6063
  let cursor = start + 1;
6063
6064
  const isClosing = content[cursor] === "/";
6064
6065
  if (isClosing) cursor++;