@claritylabs/cl-sdk 3.0.20 → 3.0.21
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/dist/index.js +26 -14
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +26 -14
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -9671,6 +9671,7 @@ function pageTitleFromText(text, fallback) {
|
|
|
9671
9671
|
const endorsement = normalized.match(/\bENDORSEMENT\s+(?:NO\.?|NUMBER|#)\s*[A-Z0-9][A-Z0-9.-]*\b/i)?.[0];
|
|
9672
9672
|
if (endorsement) return cleanText(endorsement, fallback);
|
|
9673
9673
|
const firstSentence = normalized.split(/(?<=\.)\s+/)[0];
|
|
9674
|
+
if (/^page\s+\d+\b/i.test(firstSentence)) return fallback;
|
|
9674
9675
|
if (firstSentence && firstSentence.length <= 120) return firstSentence.replace(/[.]$/, "");
|
|
9675
9676
|
return fallback;
|
|
9676
9677
|
}
|
|
@@ -9935,33 +9936,44 @@ function reparentNodes(sourceTree, childIds, parentId, organizerRepair) {
|
|
|
9935
9936
|
function applySemanticPageGrouping(sourceTree) {
|
|
9936
9937
|
const relabeled = sourceTree.map((node) => {
|
|
9937
9938
|
if (node.kind === "document" || node.kind === "page_group") return node;
|
|
9938
|
-
|
|
9939
|
-
if (
|
|
9939
|
+
let nextNode = node;
|
|
9940
|
+
if (node.kind === "page" && /^page\s+\d+$/i.test(node.title)) {
|
|
9941
|
+
const title = pageTitleFromText(sourceNodeText(node), node.title);
|
|
9942
|
+
if (title !== node.title) {
|
|
9943
|
+
nextNode = {
|
|
9944
|
+
...node,
|
|
9945
|
+
title: simplifyOrganizerTitle(title, title, node.kind),
|
|
9946
|
+
metadata: { ...node.metadata, organizerRepair: "semantic_page_title" }
|
|
9947
|
+
};
|
|
9948
|
+
}
|
|
9949
|
+
}
|
|
9950
|
+
const endorsement = endorsementStartTitle(nextNode);
|
|
9951
|
+
if (endorsement && nextNode.kind === "page") {
|
|
9940
9952
|
return {
|
|
9941
|
-
...
|
|
9953
|
+
...nextNode,
|
|
9942
9954
|
kind: "endorsement",
|
|
9943
9955
|
title: endorsement,
|
|
9944
|
-
description: endorsementDescription(endorsement,
|
|
9945
|
-
metadata: { ...
|
|
9956
|
+
description: endorsementDescription(endorsement, nextNode),
|
|
9957
|
+
metadata: { ...nextNode.metadata, organizerRepair: "semantic_page_grouping" }
|
|
9946
9958
|
};
|
|
9947
9959
|
}
|
|
9948
|
-
if (
|
|
9960
|
+
if (nextNode.kind === "page" && looksLikeDeclarationsStart(nextNode)) {
|
|
9949
9961
|
return {
|
|
9950
|
-
...
|
|
9962
|
+
...nextNode,
|
|
9951
9963
|
title: "Declarations",
|
|
9952
|
-
description: cleanText([
|
|
9953
|
-
metadata: { ...
|
|
9964
|
+
description: cleanText([nextNode.description, "Declarations"].join(" "), "Declarations"),
|
|
9965
|
+
metadata: { ...nextNode.metadata, organizerRepair: "semantic_page_grouping" }
|
|
9954
9966
|
};
|
|
9955
9967
|
}
|
|
9956
|
-
if (
|
|
9968
|
+
if (nextNode.kind === "page" && looksLikePolicyFormStart(nextNode)) {
|
|
9957
9969
|
return {
|
|
9958
|
-
...
|
|
9970
|
+
...nextNode,
|
|
9959
9971
|
title: "Policy Form",
|
|
9960
|
-
description: cleanText([
|
|
9961
|
-
metadata: { ...
|
|
9972
|
+
description: cleanText([nextNode.description, "Policy Form"].join(" "), "Policy Form"),
|
|
9973
|
+
metadata: { ...nextNode.metadata, organizerRepair: "semantic_page_grouping" }
|
|
9962
9974
|
};
|
|
9963
9975
|
}
|
|
9964
|
-
return
|
|
9976
|
+
return nextNode;
|
|
9965
9977
|
});
|
|
9966
9978
|
const rootId = sourceTreeRootId(relabeled);
|
|
9967
9979
|
const children = (nodesByParent(relabeled).get(rootId) ?? []).filter((node) => node.kind !== "document").sort((left, right) => left.order - right.order);
|