@kanonak-protocol/sdk 3.29.1 → 3.29.3

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.
@@ -1,20 +1,20 @@
1
- import{a as N}from"./chunk-NIGFQYVA.js";import{a as P}from"./chunk-4YHWMYAZ.js";import{c as L,d,g as K,h as Q,i as X,j as m,k as C,l as j}from"./chunk-W6T7MOKY.js";function ee(u){let e=u.replace(/\r\n/g,`
1
+ import{a as N}from"./chunk-NIGFQYVA.js";import{a as P}from"./chunk-4YHWMYAZ.js";import{c as L,d,g as K,h as Q,i as X,j as h,k as E,l as b}from"./chunk-W6T7MOKY.js";function ee(u){let e=u.replace(/\r\n/g,`
2
2
  `).split(`
3
3
  `),t=[],n=0;for(;n<e.length;){let r=e[n];if(r.trim()===""){n++;continue}let a=/^(\s*)```(\S*)\s*$/.exec(r);if(a){let i=a[2],c=[];for(n++;n<e.length&&!/^(\s*)```\s*$/.test(e[n]);)c.push(e[n]),n++;n++;let l=ne(c.join(`
4
- `)),p=i?` class="language-${te(i)}"`:"";t.push(`<pre><code${p}>${l}</code></pre>`);continue}let s=/^(#{1,6})\s+(.*)$/.exec(r);if(s){let i=s[1].length,c=T(s[2].trim());t.push(`<h${i}>${c}</h${i}>`),n++;continue}if(r.includes("|")&&n+1<e.length&&Z(e[n+1])){let i=A(r),c=ge(e[n+1]);n+=2;let l=[];for(;n<e.length&&e[n].trim()!==""&&e[n].includes("|");)l.push(A(e[n])),n++;t.push(ke(i,c,l));continue}if(/^\s*[-*]\s+/.test(r)){let i=[];for(;n<e.length&&/^\s*[-*]\s+/.test(e[n]);){let c=[e[n].replace(/^\s*[-*]\s+/,"")];for(n++;n<e.length&&e[n].trim()!==""&&!/^\s*[-*]\s+/.test(e[n])&&!/^\s*\d+\.\s+/.test(e[n]);)c.push(e[n]),n++;n<e.length&&e[n].trim()===""&&n++,i.push(`<li>${T(c.join(" ").trim())}</li>`)}t.push(`<ul>
4
+ `)),p=i?` class="language-${te(i)}"`:"";t.push(`<pre><code${p}>${l}</code></pre>`);continue}let s=/^(#{1,6})\s+(.*)$/.exec(r);if(s){let i=s[1].length,c=C(s[2].trim());t.push(`<h${i}>${c}</h${i}>`),n++;continue}if(r.includes("|")&&n+1<e.length&&Z(e[n+1])){let i=A(r),c=ge(e[n+1]);n+=2;let l=[];for(;n<e.length&&e[n].trim()!==""&&e[n].includes("|");)l.push(A(e[n])),n++;t.push(ke(i,c,l));continue}if(/^\s*[-*]\s+/.test(r)){let i=[];for(;n<e.length&&/^\s*[-*]\s+/.test(e[n]);){let c=[e[n].replace(/^\s*[-*]\s+/,"")];for(n++;n<e.length&&e[n].trim()!==""&&!/^\s*[-*]\s+/.test(e[n])&&!/^\s*\d+\.\s+/.test(e[n]);)c.push(e[n]),n++;n<e.length&&e[n].trim()===""&&n++,i.push(`<li>${C(c.join(" ").trim())}</li>`)}t.push(`<ul>
5
5
  ${i.join(`
6
6
  `)}
7
- </ul>`);continue}if(/^\s*\d+\.\s+/.test(r)){let i=[];for(;n<e.length&&/^\s*\d+\.\s+/.test(e[n]);){let c=[e[n].replace(/^\s*\d+\.\s+/,"")];for(n++;n<e.length&&e[n].trim()!==""&&!/^\s*\d+\.\s+/.test(e[n])&&!/^\s*[-*]\s+/.test(e[n]);)c.push(e[n]),n++;n<e.length&&e[n].trim()===""&&n++,i.push(`<li>${T(c.join(" ").trim())}</li>`)}t.push(`<ol>
7
+ </ul>`);continue}if(/^\s*\d+\.\s+/.test(r)){let i=[];for(;n<e.length&&/^\s*\d+\.\s+/.test(e[n]);){let c=[e[n].replace(/^\s*\d+\.\s+/,"")];for(n++;n<e.length&&e[n].trim()!==""&&!/^\s*\d+\.\s+/.test(e[n])&&!/^\s*[-*]\s+/.test(e[n]);)c.push(e[n]),n++;n<e.length&&e[n].trim()===""&&n++,i.push(`<li>${C(c.join(" ").trim())}</li>`)}t.push(`<ol>
8
8
  ${i.join(`
9
9
  `)}
10
- </ol>`);continue}let o=[r];for(n++;n<e.length&&e[n].trim()!==""&&!/^(#{1,6})\s+/.test(e[n])&&!/^(\s*)```/.test(e[n])&&!/^\s*[-*]\s+/.test(e[n])&&!/^\s*\d+\.\s+/.test(e[n])&&!(e[n].includes("|")&&n+1<e.length&&Z(e[n+1]));)o.push(e[n]),n++;t.push(`<p>${T(o.join(" "))}</p>`)}return t.join(`
11
- `)}function Z(u){return u.includes("-")?/^[\s|:-]+$/.test(u):!1}function A(u){let e=u.trim();return e.startsWith("|")&&(e=e.slice(1)),e.endsWith("|")&&(e=e.slice(0,-1)),e.split("|").map(t=>t.trim())}function ge(u){return A(u).map(e=>{let t=e.startsWith(":"),n=e.endsWith(":");return t&&n?"center":n?"right":t?"left":null})}function ke(u,e,t){let n=s=>{let o=e[s];return o?` style="text-align:${o}"`:""},r=u.map((s,o)=>`<th${n(o)}>${T(s)}</th>`).join(""),a=t.map(s=>`<tr>${s.map((i,c)=>`<td${n(c)}>${T(i)}</td>`).join("")}</tr>`).join(`
10
+ </ol>`);continue}let o=[r];for(n++;n<e.length&&e[n].trim()!==""&&!/^(#{1,6})\s+/.test(e[n])&&!/^(\s*)```/.test(e[n])&&!/^\s*[-*]\s+/.test(e[n])&&!/^\s*\d+\.\s+/.test(e[n])&&!(e[n].includes("|")&&n+1<e.length&&Z(e[n+1]));)o.push(e[n]),n++;t.push(`<p>${C(o.join(" "))}</p>`)}return t.join(`
11
+ `)}function Z(u){return u.includes("-")?/^[\s|:-]+$/.test(u):!1}function A(u){let e=u.trim();return e.startsWith("|")&&(e=e.slice(1)),e.endsWith("|")&&(e=e.slice(0,-1)),e.split("|").map(t=>t.trim())}function ge(u){return A(u).map(e=>{let t=e.startsWith(":"),n=e.endsWith(":");return t&&n?"center":n?"right":t?"left":null})}function ke(u,e,t){let n=s=>{let o=e[s];return o?` style="text-align:${o}"`:""},r=u.map((s,o)=>`<th${n(o)}>${C(s)}</th>`).join(""),a=t.map(s=>`<tr>${s.map((i,c)=>`<td${n(c)}>${C(i)}</td>`).join("")}</tr>`).join(`
12
12
  `);return`<table>
13
13
  <thead><tr>${r}</tr></thead>
14
14
  <tbody>
15
15
  ${a}
16
16
  </tbody>
17
- </table>`}function T(u){let e=ne(u);return e=e.replace(/`([^`\n]+)`/g,(t,n)=>`<code>${n}</code>`),e=e.replace(/\[([^\]]+)\]\(([^)\s]+)\)/g,(t,n,r)=>`<a href="${te(r)}">${n}</a>`),e=e.replace(/\*\*([^*\n]+)\*\*/g,(t,n)=>`<strong>${n}</strong>`),e=e.replace(/(^|[^*])\*([^*\n]+)\*(?!\*)/g,(t,n,r)=>`${n}<em>${r}</em>`),e=e.replace(/(^|[\s(])_([^_\n]+)_(?=[\s).,;:!?]|$)/g,(t,n,r)=>`${n}<em>${r}</em>`),e}function ne(u){return u.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function te(u){return u.replace(/"/g,"&quot;").replace(/&/g,"&amp;")}var G={publisher:"kanonak.org",package_:"derivation",name:"look"},H={publisher:"kanonak.org",package_:"derivation",name:"tokens"},U={publisher:"kanonak.org",package_:"core-rdf",name:"Resource"},_={publisher:"kanonak.org",package_:"core-rdf",name:"label"},re={publisher:"kanonak.org",package_:"core-rdf",name:"comment"},he={publisher:"kanonak.org",package_:"look",name:"Hero"},me={publisher:"kanonak.org",package_:"look",name:"PropertyList"},be={publisher:"kanonak.org",package_:"look",name:"BadgeRow"},je={publisher:"kanonak.org",package_:"look",name:"ChipRow"},_e={publisher:"kanonak.org",package_:"look",name:"ReferenceList"},se={publisher:"kanonak.org",package_:"look",name:"Markdown"},V={publisher:"kanonak.org",package_:"look",name:"NavGroup"},M={publisher:"kanonak.org",package_:"look",name:"NavLink"},oe={publisher:"kanonak.org",package_:"look",name:"target"},Re={publisher:"kanonak.org",package_:"look",name:"ResourceGrid"};var ve={publisher:"kanonak.org",package_:"look",name:"semanticSvg"},$e={publisher:"kanonak.org",package_:"look",name:"tierChip"},Ke={publisher:"kanonak.org",package_:"look",name:"tierIcon"},Se={publisher:"kanonak.org",package_:"look",name:"tierCard"},ye={publisher:"kanonak.org",package_:"look",name:"tierFull"};var D={publisher:"kanonak.org",package_:"look",name:"bands"},Le={publisher:"kanonak.org",package_:"look",name:"title"},Ue={publisher:"kanonak.org",package_:"look",name:"eyebrow"},Ie={publisher:"kanonak.org",package_:"look",name:"subtitle"},ae={publisher:"kanonak.org",package_:"look",name:"badges"},I={publisher:"kanonak.org",package_:"look",name:"source"},Oe={publisher:"kanonak.org",package_:"look",name:"chips"},W={publisher:"kanonak.org",package_:"look",name:"entries"},we={publisher:"kanonak.org",package_:"look",name:"urlForm"},J=class{constructor(e){this.catalog=e}catalog;findCascadedLook(e){let t=Y(e);if(t)return{declaration:t,sourceClass:{publisher:F(e),package_:(e.namespace||"").split("/")[1]?.split("@")[0]??"",name:e.name}};let n=new Set,r=S(e);for(;r.length>0;){let a=r.shift(),s=w(a.subject);if(n.has(s))continue;n.add(s);let o=b(this.catalog,a.subject);if(!o)continue;let i=Y(o);if(i)return{declaration:i,sourceClass:{publisher:a.subject.publisher,package_:a.subject.package_,name:a.subject.name}};for(let c of x(o))r.push(c)}if(!n.has(w(U))){let a=b(this.catalog,U);if(a){let s=Y(a);if(s)return{declaration:s,sourceClass:{...U}}}}}findCascadedTokens(e){let t=new Map;for(let[a,s]of q(e))t.has(a)||t.set(a,s);let n=new Set,r=S(e);for(;r.length>0;){let a=r.shift(),s=w(a.subject);if(n.has(s))continue;n.add(s);let o=B(this.catalog,a.subject);if(o.length!==0)for(let i of o){for(let[c,l]of q(i))t.has(c)||t.set(c,l);for(let c of x(i))r.push(c)}}if(!n.has(w(U))){let a=B(this.catalog,U);for(let s of a)for(let[o,i]of q(s))t.has(o)||t.set(o,i)}return t}renderSvg(e){let t=g(e,_)??e.name,n=(t.trim().charAt(0)||"?").toUpperCase(),r=`${e.namespace??""}/${e.name}`,a={label:t,firstLetter:n,uri:r},s=this.collectCascadedSvgTiers(e),o=h=>this.applyPlaceholders(h,e,a),i=o(s.tierChip??""),c=o(s.tierIcon??""),l=o(s.tierCard??""),p=o(s.tierFull??""),E=[...this.findCascadedTokens(e)].map(([h,y])=>`--kan-${h}: ${y};`).join(" ");return`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 400" width="400" height="400" style="${z(E)}">
17
+ </table>`}function C(u){let e=ne(u);return e=e.replace(/`([^`\n]+)`/g,(t,n)=>`<code>${n}</code>`),e=e.replace(/\[([^\]]+)\]\(([^)\s]+)\)/g,(t,n,r)=>`<a href="${te(r)}">${n}</a>`),e=e.replace(/\*\*([^*\n]+)\*\*/g,(t,n)=>`<strong>${n}</strong>`),e=e.replace(/(^|[^*])\*([^*\n]+)\*(?!\*)/g,(t,n,r)=>`${n}<em>${r}</em>`),e=e.replace(/(^|[\s(])_([^_\n]+)_(?=[\s).,;:!?]|$)/g,(t,n,r)=>`${n}<em>${r}</em>`),e}function ne(u){return u.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function te(u){return u.replace(/"/g,"&quot;").replace(/&/g,"&amp;")}var H={publisher:"kanonak.org",package_:"derivation",name:"look"},G={publisher:"kanonak.org",package_:"derivation",name:"tokens"},U={publisher:"kanonak.org",package_:"core-rdf",name:"Resource"},S={publisher:"kanonak.org",package_:"core-rdf",name:"label"},re={publisher:"kanonak.org",package_:"core-rdf",name:"comment"},he={publisher:"kanonak.org",package_:"look",name:"Hero"},me={publisher:"kanonak.org",package_:"look",name:"PropertyList"},be={publisher:"kanonak.org",package_:"look",name:"BadgeRow"},je={publisher:"kanonak.org",package_:"look",name:"ChipRow"},_e={publisher:"kanonak.org",package_:"look",name:"ReferenceList"},se={publisher:"kanonak.org",package_:"look",name:"Markdown"},V={publisher:"kanonak.org",package_:"look",name:"NavGroup"},M={publisher:"kanonak.org",package_:"look",name:"NavLink"},oe={publisher:"kanonak.org",package_:"look",name:"target"},Re={publisher:"kanonak.org",package_:"look",name:"ResourceGrid"};var $e={publisher:"kanonak.org",package_:"look",name:"semanticSvg"},ve={publisher:"kanonak.org",package_:"look",name:"tierChip"},Ke={publisher:"kanonak.org",package_:"look",name:"tierIcon"},Se={publisher:"kanonak.org",package_:"look",name:"tierCard"},ye={publisher:"kanonak.org",package_:"look",name:"tierFull"};var D={publisher:"kanonak.org",package_:"look",name:"bands"},Le={publisher:"kanonak.org",package_:"look",name:"title"},Ue={publisher:"kanonak.org",package_:"look",name:"eyebrow"},Ie={publisher:"kanonak.org",package_:"look",name:"subtitle"},ae={publisher:"kanonak.org",package_:"look",name:"badges"},I={publisher:"kanonak.org",package_:"look",name:"source"},Oe={publisher:"kanonak.org",package_:"look",name:"chips"},W={publisher:"kanonak.org",package_:"look",name:"entries"},we={publisher:"kanonak.org",package_:"look",name:"urlForm"},J=class{constructor(e){this.catalog=e}catalog;findCascadedLook(e){let t=Y(e);if(t)return{declaration:t,sourceClass:{publisher:F(e),package_:(e.namespace||"").split("/")[1]?.split("@")[0]??"",name:e.name}};let n=new Set,r=y(e);for(;r.length>0;){let a=r.shift(),s=w(a.subject);if(n.has(s))continue;n.add(s);let o=m(this.catalog,a.subject);if(!o)continue;let i=Y(o);if(i)return{declaration:i,sourceClass:{publisher:a.subject.publisher,package_:a.subject.package_,name:a.subject.name}};for(let c of x(o))r.push(c)}if(!n.has(w(U))){let a=m(this.catalog,U);if(a){let s=Y(a);if(s)return{declaration:s,sourceClass:{...U}}}}}findCascadedTokens(e){let t=new Map;for(let[a,s]of q(e))t.has(a)||t.set(a,s);let n=new Set,r=y(e);for(;r.length>0;){let a=r.shift(),s=w(a.subject);if(n.has(s))continue;n.add(s);let o=B(this.catalog,a.subject);if(o.length!==0)for(let i of o){for(let[c,l]of q(i))t.has(c)||t.set(c,l);for(let c of x(i))r.push(c)}}if(!n.has(w(U))){let a=B(this.catalog,U);for(let s of a)for(let[o,i]of q(s))t.has(o)||t.set(o,i)}return t}renderSvg(e){let t=k(e,S)??e.name,n=(t.trim().charAt(0)||"?").toUpperCase(),r=`${e.namespace??""}/${e.name}`,a={label:t,firstLetter:n,uri:r},s=this.collectCascadedSvgTiers(e),o=v=>this.applyPlaceholders(v,e,a),i=o(s.tierChip??""),c=o(s.tierIcon??""),l=o(s.tierCard??""),p=o(s.tierFull??""),T=[...this.findCascadedTokens(e)].map(([v,j])=>`--kan-${v}: ${j};`).join(" ");return`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 400" width="400" height="400" style="${z(T)}">
18
18
  <style>
19
19
  .tier-chip,.tier-icon,.tier-card{display:none}
20
20
  .tier-full{display:block}
@@ -26,12 +26,12 @@ ${a}
26
26
  <g class="tier-icon">${c}</g>
27
27
  <g class="tier-card">${l}</g>
28
28
  <g class="tier-full">${p}</g>
29
- </svg>`}applyPlaceholders(e,t,n){return e.replace(/\{\{([^}]+)\}\}/g,(r,a)=>{let s=a.trim();if(n[s]!==void 0)return z(n[s]);let o=this.resolvePath(t,s);return o===void 0?`{{${s}}}`:z(o)})}resolvePath(e,t){let n=t.split("/").map(o=>o.trim()).filter(o=>o.length>0);if(n.length===0)return;let r=e;for(let o=0;o<n.length-1;o++){if(!r)return;let i=le(n[o]),c=fe(r,i);if(!c)return;if(c instanceof m&&c.object instanceof d){let l=b(this.catalog,c.object.subject);if(!l)return;r=l}else if(c instanceof C)r=c.object;else return}if(!r)return;let a=le(n[n.length-1]),s=fe(r,a);if(s){if(s instanceof K||s instanceof Q||s instanceof X)return String(s.object);if(s instanceof m&&s.object instanceof d){let o=s.object,i=b(this.catalog,o.subject);return i?g(i,_)??o.subject.name:o.subject.name}}}collectCascadedSvgTiers(e){let t={},n=s=>{let o=O(s,ve);if(!(o instanceof C))return;let i=o.object,c=g(i,$e),l=g(i,Ke),p=g(i,Se),k=g(i,ye);t.tierChip===void 0&&c!==void 0&&(t.tierChip=c),t.tierIcon===void 0&&l!==void 0&&(t.tierIcon=l),t.tierCard===void 0&&p!==void 0&&(t.tierCard=p),t.tierFull===void 0&&k!==void 0&&(t.tierFull=k)};n(e);let r=new Set,a=S(e);for(;a.length>0;){let s=a.shift(),o=w(s.subject);if(r.has(o))continue;r.add(o);let i=B(this.catalog,s.subject);for(let c of i){n(c);for(let l of x(c))a.push(l)}}if(!r.has(w(U)))for(let s of B(this.catalog,U))n(s);return t}renderStylesheet(e){let t=this.findCascadedTokens(e),n=[];for(let[s,o]of t)n.push(` --kan-${s}: ${o};`);let r=n.length>0?`:root {
29
+ </svg>`}applyPlaceholders(e,t,n){return e.replace(/\{\{([^}]+)\}\}/g,(r,a)=>{let s=a.trim();if(n[s]!==void 0)return z(n[s]);let o=this.resolvePath(t,s);return o===void 0?`{{${s}}}`:z(o)})}resolvePath(e,t){let n=t.split("/").map(o=>o.trim()).filter(o=>o.length>0);if(n.length===0)return;let r=e;for(let o=0;o<n.length-1;o++){if(!r)return;let i=le(n[o]),c=fe(r,i);if(!c)return;if(c instanceof h&&c.object instanceof d){let l=m(this.catalog,c.object.subject);if(!l)return;r=l}else if(c instanceof E)r=c.object;else return}if(!r)return;let a=le(n[n.length-1]),s=fe(r,a);if(s){if(s instanceof K||s instanceof Q||s instanceof X)return String(s.object);if(s instanceof h&&s.object instanceof d){let o=s.object,i=m(this.catalog,o.subject);return i?k(i,S)??o.subject.name:o.subject.name}}}collectCascadedSvgTiers(e){let t={},n=s=>{let o=O(s,$e);if(!(o instanceof E))return;let i=o.object,c=k(i,ve),l=k(i,Ke),p=k(i,Se),g=k(i,ye);t.tierChip===void 0&&c!==void 0&&(t.tierChip=c),t.tierIcon===void 0&&l!==void 0&&(t.tierIcon=l),t.tierCard===void 0&&p!==void 0&&(t.tierCard=p),t.tierFull===void 0&&g!==void 0&&(t.tierFull=g)};n(e);let r=new Set,a=y(e);for(;a.length>0;){let s=a.shift(),o=w(s.subject);if(r.has(o))continue;r.add(o);let i=B(this.catalog,s.subject);for(let c of i){n(c);for(let l of x(c))a.push(l)}}if(!r.has(w(U)))for(let s of B(this.catalog,U))n(s);return t}renderStylesheet(e){let t=this.findCascadedTokens(e),n=[];for(let[s,o]of t)n.push(` --kan-${s}: ${o};`);let r=n.length>0?`:root {
30
30
  ${n.join(`
31
31
  `)}
32
32
  }`:":root { /* no tokens resolved */ }",a=this.findBaseStylesheet(F(e))??"";return`${r}
33
33
  ${a}`}findBaseStylesheet(e){let t="kanonak.org/site/content",n,r;for(let s of this.catalog){if(!(s instanceof L)||s.name!=="base-stylesheet")continue;let o=s.namespace||"";o.startsWith(`${e}/look-styles@`)?n=s:o.startsWith("kanonak.org/look-styles@")&&(r=s)}let a=n??r;if(a)for(let s of a.statement){let o=s.predicate?.subject;if(!o)continue;if(`${o.publisher}/${o.package_}/${o.name}`===t&&s instanceof K)return s.object}}renderHtml(e){let t=this.findCascadedLook(e);if(!t)return`<!-- LookRenderer: no derivation.look found for ${e.namespace}/${e.name} -->`;let n=ie(t.declaration);if(n.length===0)return"<!-- LookRenderer: look declaration has no bands -->";let r=F(e),a=[];for(let s of n)a.push(this.renderBand(s,e,r));return a.join(`
34
- `)}renderDocument(e){let t=this.renderHtml(e),n=this.readPropertyValueText(e,_)??e.name,r=`${e.name}.css`,a=this.hasSvgDerivation(e)?`<figure class="kan-figure"><img src="${f(e.name)}.svg" alt=""></figure>
34
+ `)}renderDocument(e){let t=this.renderHtml(e),n=this.readPropertyValueText(e,S)??e.name,r=`${e.name}.css`,a=this.hasSvgDerivation(e)?`<figure class="kan-figure"><img src="${f(e.name)}.svg" alt=""></figure>
35
35
  `:"",s=F(e),o=this.renderNavGroup(e,s),i=this.renderBreadcrumb(e,s);return`<!doctype html>
36
36
  <html lang="en">
37
37
  <head>
@@ -48,19 +48,19 @@ ${a}${t}
48
48
  </main>
49
49
  </body>
50
50
  </html>
51
- `}hasSvgDerivation(e){let t=new Set,n=S(e);for(;n.length>0;){let r=n.shift(),a=w(r.subject);if(t.has(a))continue;t.add(a);let s=b(this.catalog,r.subject);if(s){for(let o of s.statement)if(o instanceof j&&$(o,"kanonak.org","derivation","derivations")){for(let i of o.object??[])if(i instanceof P)for(let c of i.statement){if(!(c instanceof m)||!$(c,"kanonak.org","derivation","format")||!(c.object instanceof d))continue;let l=c.object.subject;if(l.publisher==="kanonak.org"&&l.package_==="formats"&&l.name==="svg")return!0}}for(let o of x(s))n.push(o)}}return!1}renderBand(e,t,n){let r=ce(e);return r?v(r,he)?this.renderHero(e,t,n):v(r,me)?this.renderPropertyList(e,t,n):v(r,be)?this.renderBadgeRow(e,t,n):v(r,je)?this.renderChipRow(e,t,n):v(r,_e)?this.renderReferenceList(e,t,n):v(r,se)?this.renderMarkdown(e,t):v(r,V)?this.renderNavGroup(t,n):v(r,Re)?this.renderResourceGrid(e,n,t):`<!-- LookRenderer: unsupported band ${r.publisher}/${r.package_}/${r.name} -->`:"<!-- LookRenderer: band has no rdf:type -->"}renderResourceGrid(e,t,n){let r=R(e,I);if(!r)return"<!-- LookRenderer.ResourceGrid: no look.source -->";let a=b(this.catalog,r),s=a?S(a).some(c=>{let l=c.subject.name;return l==="ObjectProperty"||l==="DatatypeProperty"||l==="Property"}):!1,o=[];if(s&&n){let c=this.readPropertyValueReferences(n,r);for(let l of c){let p=b(this.catalog,{publisher:l.subject.publisher,package_:l.subject.package_,name:l.subject.name,...l.subject.version?{version:l.subject.version}:{}});p&&o.push(p)}}else o=this.findInstancesOfClass(r);if(o.length===0)return`<!-- LookRenderer.ResourceGrid: no resources for ${r.publisher}/${r.package_}/${r.name} -->`;let i=[];for(let c of o){let l=g(c,_)??c.name,p=g(c,re),k=c.namespace||"",E=k.split("/")[1]?.split("@")[0]??"",h=k.split("@")[1]??"",y=h?this.parseVersion(h):void 0,pe=N.formatResourceUrl({publisher:F(c),package_:E,name:c.name,...y?{version:y}:{}},"=",{contextPublisher:t}),de=p?`<p class="kan-resource-card-subtitle">${f(p)}</p>`:"";i.push(`<a class="kan-resource-card" href="${f(pe)}"><h3 class="kan-resource-card-title">${f(l)}</h3>${de}</a>`)}return`<section class="kan-resource-grid">
51
+ `}hasSvgDerivation(e){let t=new Set,n=y(e);for(;n.length>0;){let r=n.shift(),a=w(r.subject);if(t.has(a))continue;t.add(a);let s=m(this.catalog,r.subject);if(s){for(let o of s.statement)if(o instanceof b&&$(o,"kanonak.org","derivation","derivations")){for(let i of o.object??[])if(i instanceof P)for(let c of i.statement){if(!(c instanceof h)||!$(c,"kanonak.org","derivation","format")||!(c.object instanceof d))continue;let l=c.object.subject;if(l.publisher==="kanonak.org"&&l.package_==="formats"&&l.name==="svg")return!0}}for(let o of x(s))n.push(o)}}return!1}renderBand(e,t,n){let r=ce(e);return r?R(r,he)?this.renderHero(e,t,n):R(r,me)?this.renderPropertyList(e,t,n):R(r,be)?this.renderBadgeRow(e,t,n):R(r,je)?this.renderChipRow(e,t,n):R(r,_e)?this.renderReferenceList(e,t,n):R(r,se)?this.renderMarkdown(e,t):R(r,V)?this.renderNavGroup(t,n):R(r,Re)?this.renderResourceGrid(e,n,t):`<!-- LookRenderer: unsupported band ${r.publisher}/${r.package_}/${r.name} -->`:"<!-- LookRenderer: band has no rdf:type -->"}renderResourceGrid(e,t,n){let r=_(e,I);if(!r)return"<!-- LookRenderer.ResourceGrid: no look.source -->";let a=m(this.catalog,r),s=a?y(a).some(c=>{let l=c.subject.name;return l==="ObjectProperty"||l==="DatatypeProperty"||l==="Property"}):!1,o=[];if(s&&n){let c=this.readPropertyValueReferences(n,r);for(let l of c){let p=m(this.catalog,{publisher:l.subject.publisher,package_:l.subject.package_,name:l.subject.name,...l.subject.version?{version:l.subject.version}:{}});p&&o.push(p)}}else o=this.findInstancesOfClass(r);if(o.length===0)return`<!-- LookRenderer.ResourceGrid: no resources for ${r.publisher}/${r.package_}/${r.name} -->`;let i=[];for(let c of o){let l=k(c,S)??c.name,p=k(c,re),g=c.namespace||"",T=g.split("/")[1]?.split("@")[0]??"",v=g.split("@")[1]??"",j=v?this.parseVersion(v):void 0,pe=N.formatResourceUrl({publisher:F(c),package_:T,name:c.name,...j?{version:j}:{}},"=",{contextPublisher:t}),de=p?`<p class="kan-resource-card-subtitle">${f(p)}</p>`:"";i.push(`<a class="kan-resource-card" href="${f(pe)}"><h3 class="kan-resource-card-title">${f(l)}</h3>${de}</a>`)}return`<section class="kan-resource-grid">
52
52
  ${i.join(`
53
53
  `)}
54
- </section>`}parseVersion(e){let t=e.split(".").map(Number);if(!(t.length!==3||t.some(n=>Number.isNaN(n))))return{major:t[0],minor:t[1],patch:t[2]}}findInstancesOfClass(e){let t=[];for(let n of this.catalog){if(!(n instanceof L))continue;S(n).map(s=>s.subject).some(s=>s.publisher===e.publisher&&s.package_===e.package_&&s.name===e.name)&&t.push(n)}return t}renderBreadcrumb(e,t){let r=(e.namespace||"").split("/");if(r.length<2)return"";let a=r[0],s=r[1]??"",o=s.split("@")[0]??"",i=s.split("@")[1]??"";if(!a||!o)return"";let c=g(e,_)??e.name,l=o,p=b(this.catalog,{publisher:a,package_:o,name:o}),k=!!p;if(p){let y=g(p,_);y&&(l=y)}let E=e.name===o,h=[];return h.push(`<li><a href="/">${f(a)}</a></li>`),h.push(k?`<li><a href="/${f(o)}/${f(o)}">${f(l)}</a></li>`:`<li>${f(l)}</li>`),i&&(E?h.push(`<li aria-current="page">${f(i)}</li>`):h.push(k?`<li><a href="/${f(o)}/${f(i)}/${f(o)}">${f(i)}</a></li>`:`<li>${f(i)}</li>`)),E||h.push(`<li aria-current="page">${f(c)}</li>`),`<nav class="kan-breadcrumb"><ol>
55
- ${h.join(`
54
+ </section>`}parseVersion(e){let t=e.split(".").map(Number);if(!(t.length!==3||t.some(n=>Number.isNaN(n))))return{major:t[0],minor:t[1],patch:t[2]}}findInstancesOfClass(e){let t=[];for(let n of this.catalog){if(!(n instanceof L))continue;y(n).map(s=>s.subject).some(s=>s.publisher===e.publisher&&s.package_===e.package_&&s.name===e.name)&&t.push(n)}return t}renderBreadcrumb(e,t){let r=(e.namespace||"").split("/");if(r.length<2)return"";let a=r[0],s=r[1]??"",o=s.split("@")[0]??"",i=s.split("@")[1]??"";if(!a||!o)return"";let c=k(e,S)??e.name,p=!!m(this.catalog,{publisher:a,package_:o,name:o}),g=i?`${o}@${i}`:o,T=i?`/${o}/${i}/${o}`:`/${o}/${o}`,v=e.name===o,j=[];return j.push(`<li><a href="/">${f(a)}</a></li>`),v?j.push(`<li aria-current="page">${f(g)}</li>`):(j.push(p?`<li><a href="${f(T)}">${f(g)}</a></li>`:`<li>${f(g)}</li>`),j.push(`<li aria-current="page">${f(c)}</li>`)),`<nav class="kan-breadcrumb"><ol>
55
+ ${j.join(`
56
56
  `)}
57
- </ol></nav>`}renderNavGroup(e,t){let n=this.findNavGroupForPublisher(t);if(!n)return"";let r=O(n,W);if(!(r instanceof j))return"";let a=r.object??[];if(a.length===0)return"";let s=[];for(let o of a){if(!(o instanceof d))continue;let i=b(this.catalog,{publisher:o.subject.publisher,package_:o.subject.package_,name:o.subject.name}),{href:c,label:l}=this.resolveNavEntry(o,i,t),p=`/${e.namespace?.split("/")[1]?.split("@")[0]}/${(e.namespace||"").split("@")[1]}/${e.name}`,k=c===p?' aria-current="page"':"";s.push(`<li><a class="kan-nav-link" href="${f(c)}"${k}>${f(l)}</a></li>`)}return`<nav class="kan-site-nav"><ul>
57
+ </ol></nav>`}renderNavGroup(e,t){let n=this.findNavGroupForPublisher(t);if(!n)return"";let r=O(n,W);if(!(r instanceof b))return"";let a=r.object??[];if(a.length===0)return"";let s=[];for(let o of a){if(!(o instanceof d))continue;let i=m(this.catalog,{publisher:o.subject.publisher,package_:o.subject.package_,name:o.subject.name}),{href:c,label:l}=this.resolveNavEntry(o,i,t),p=`/${e.namespace?.split("/")[1]?.split("@")[0]}/${(e.namespace||"").split("@")[1]}/${e.name}`,g=c===p?' aria-current="page"':"";s.push(`<li><a class="kan-nav-link" href="${f(c)}"${g}>${f(l)}</a></li>`)}return`<nav class="kan-site-nav"><ul>
58
58
  ${s.join(`
59
59
  `)}
60
- </ul></nav>`}resolveNavEntry(e,t,n){if(t&&S(t).map(i=>i.subject).some(i=>i.publisher===M.publisher&&i.package_===M.package_&&i.name===M.name)){let i=g(t,_),c=O(t,oe);if(c instanceof m&&c.object instanceof d){let l=c.object,p=this.readLabelForUri({publisher:l.subject.publisher,package_:l.subject.package_,name:l.subject.name});return{href:this.urlForReference(l,oe,n),label:i??p??l.subject.name}}}let r=N.formatResourceUrl({publisher:e.subject.publisher,package_:e.subject.package_,...e.subject.version?{version:e.subject.version}:{},name:e.subject.name},"*",{contextPublisher:n}),a=t?g(t,_)??e.subject.name:e.subject.name;return{href:r,label:a}}findNavGroupForPublisher(e){for(let t of this.catalog){if(!(t instanceof L)||!(t.namespace||"").startsWith(`${e}/`))continue;if(S(t).map(s=>s.subject).some(s=>s.publisher===V.publisher&&s.package_===V.package_&&s.name===V.name))return t}}renderMarkdown(e,t){let n=R(e,I);if(!n)return"<!-- LookRenderer.Markdown: no look.source -->";let r=this.readPropertyValueText(t,n);return r?`<section class="kan-markdown">
60
+ </ul></nav>`}resolveNavEntry(e,t,n){if(t&&y(t).map(i=>i.subject).some(i=>i.publisher===M.publisher&&i.package_===M.package_&&i.name===M.name)){let i=k(t,S),c=O(t,oe);if(c instanceof h&&c.object instanceof d){let l=c.object,p=this.readLabelForUri({publisher:l.subject.publisher,package_:l.subject.package_,name:l.subject.name});return{href:this.urlForReference(l,oe,n),label:i??p??l.subject.name}}}let r=N.formatResourceUrl({publisher:e.subject.publisher,package_:e.subject.package_,...e.subject.version?{version:e.subject.version}:{},name:e.subject.name},"*",{contextPublisher:n}),a=t?k(t,S)??e.subject.name:e.subject.name;return{href:r,label:a}}findNavGroupForPublisher(e){for(let t of this.catalog){if(!(t instanceof L)||!(t.namespace||"").startsWith(`${e}/`))continue;if(y(t).map(s=>s.subject).some(s=>s.publisher===V.publisher&&s.package_===V.package_&&s.name===V.name))return t}}renderMarkdown(e,t){let n=_(e,I);if(!n)return"<!-- LookRenderer.Markdown: no look.source -->";let r=this.readPropertyValueText(t,n);return r?`<section class="kan-markdown">
61
61
  ${ee(r)}
62
- </section>`:""}renderRawMarkdown(e){let t=this.findCascadedLook(e);if(!t)return;let n=ie(t.declaration),r=[];for(let a of n){let s=ce(a);if(!s||!v(s,se))continue;let o=R(a,I);if(!o)continue;let i=this.readPropertyValueText(e,o);i&&r.push(i)}return r.length>0?r.join(`
62
+ </section>`:""}renderRawMarkdown(e){let t=this.findCascadedLook(e);if(!t)return;let n=ie(t.declaration),r=[];for(let a of n){let s=ce(a);if(!s||!R(s,se))continue;let o=_(a,I);if(!o)continue;let i=this.readPropertyValueText(e,o);i&&r.push(i)}return r.length>0?r.join(`
63
63
 
64
- `):void 0}renderHero(e,t,n){let r=['<header class="kan-hero">'],a=R(e,Ue);if(a){let l=this.readPropertyValueText(t,a);l&&r.push(`<span class="kan-hero-eyebrow">${f(l)}</span>`)}let s=R(e,Le),o="";s&&(o=this.readPropertyValueText(t,s)??""),o||(o=t.name),r.push(`<h1 class="kan-hero-title">${f(o)}</h1>`);let i=R(e,Ie);if(i){let l=this.readPropertyValueText(t,i);l&&r.push(`<p class="kan-hero-subtitle">${f(l)}</p>`)}let c=R(e,ae);if(c){let l=this.readPropertyValueReferences(t,c);if(l.length>0){let p=l.map(k=>this.renderBadge(k,ae,n)).join("");r.push(`<div class="kan-hero-badges">${p}</div>`)}}return r.push("</header>"),r.join(`
65
- `)}renderPropertyList(e,t,n){let r=R(e,I);if(!r)return"<!-- LookRenderer: PropertyList missing look.source -->";let a=this.readLabelForUri(r)??r.name,s=O(t,r),o=this.gatherValueItems(s),i=o.length>0?o.map(c=>`<li>${this.renderInlineValue(c,I,n)}</li>`).join(""):'<li class="kan-empty">(no values)</li>';return['<section class="kan-property-list">',`<h3 class="kan-property-list-title">${f(a)}</h3>`,`<ul class="kan-property-list-items">${i}</ul>`,"</section>"].join(`
66
- `)}renderBadgeRow(e,t,n){let r=R(e,I);if(!r)return"<!-- LookRenderer: BadgeRow missing look.source -->";let a=this.readPropertyValueReferences(t,r);return a.length===0?"":`<div class="kan-badge-row">${a.map(o=>this.renderBadge(o,I,n)).join("")}</div>`}renderChipRow(e,t,n){let r=ue(e,Oe);if(r.length===0)return"<!-- LookRenderer: ChipRow has no look.chips -->";let a=[];for(let s of r){let o=O(t,s);if(!o)continue;let i=this.readLabelForUri(s)??s.name,c=this.renderStatementInlineValue(o,s,n);c&&a.push(`<span class="kan-chip"><span class="kan-chip-key">${f(i)}</span> <span class="kan-chip-val">${c}</span></span>`)}return a.length===0?"":`<div class="kan-chip-row">${a.join("")}</div>`}renderReferenceList(e,t,n){let r=ue(e,W);if(r.length===0)return"<!-- LookRenderer: ReferenceList has no look.entries -->";let a=[];for(let s of r){let o=this.readPropertyValueReferences(t,s);if(o.length===0)continue;let i=this.readLabelForUri(s)??s.name,c=o.map(l=>this.renderReferenceLink(l,W,n)).join(", ");a.push(`<dt>${f(i)}</dt><dd>${c}</dd>`)}return a.length===0?"":`<dl class="kan-reference-list">${a.join("")}</dl>`}readPropertyValueText(e,t){let n=O(e,t);if(n){if(n instanceof K)return n.object;if(n instanceof m){let r=n.object;return this.readLabelForUri({publisher:r.subject.publisher,package_:r.subject.package_,name:r.subject.name})??r.subject.name}if(n instanceof j)return(n.object??[]).map(a=>a instanceof d?this.readLabelForUri({publisher:a.subject.publisher,package_:a.subject.package_,name:a.subject.name})??a.subject.name:a instanceof P?a.name??"":String(a)).filter(a=>a).join(", ")}}readPropertyValueReferences(e,t){let n=O(e,t);if(!n)return[];if(n instanceof m)return[n.object];if(n instanceof j){let r=[];for(let a of n.object??[])a instanceof d&&r.push(a);return r}return[]}gatherValueItems(e){return e?e instanceof j?e.object??[]:e instanceof m?[e.object]:e instanceof C?[e.object]:e instanceof K?[e.object]:[]:[]}renderInlineValue(e,t,n){return e instanceof d?this.renderReferenceLink(e,t,n):e instanceof P?f(e.name??"(embedded)"):typeof e=="string"?f(e):typeof e=="number"||typeof e=="boolean"?f(String(e)):""}renderStatementInlineValue(e,t,n){return e instanceof K?f(e.object):e instanceof m?this.renderReferenceLink(e.object,t,n):e instanceof j?(e.object??[]).map(a=>this.renderInlineValue(a,t,n)).filter(a=>a).join(", "):""}renderReferenceLink(e,t,n){let r=this.readLabelForUri({publisher:e.subject.publisher,package_:e.subject.package_,name:e.subject.name})??e.subject.name,a=this.urlForReference(e,t,n);return`<a class="kan-link" href="${f(a)}">${f(r)}</a>`}renderBadge(e,t,n){let r=this.readLabelForUri({publisher:e.subject.publisher,package_:e.subject.package_,name:e.subject.name})??e.subject.name,a=this.readCommentForUri({publisher:e.subject.publisher,package_:e.subject.package_,name:e.subject.name}),s=this.urlForReference(e,t,n),o=a?` title="${f(a)}"`:"";return`<a class="kan-badge" href="${f(s)}"${o}>${f(r)}</a>`}urlForReference(e,t,n){let r=t?this.getUrlFormForProperty(t):"=";return N.formatResourceUrl({publisher:e.subject.publisher,package_:e.subject.package_,...e.subject.version?{version:e.subject.version}:{},name:e.subject.name},r,{contextPublisher:n})}getUrlFormForProperty(e){let t=b(this.catalog,e);if(!t)return"=";let n=g(t,we);return n==="*"||n==="^"||n==="~"||n==="="?n:"="}readLabelForUri(e){let t=b(this.catalog,e);if(t)return g(t,_)}readCommentForUri(e){let t=b(this.catalog,e);if(t)return g(t,re)}};function q(u){let e=new Map;for(let t of u.statement){if(!(t instanceof C)||!$(t,H.publisher,H.package_,H.name))continue;let n=t.object;for(let r of n.statement){if(!(r instanceof K))continue;let a=r.predicate?.subject?.name;if(!a)continue;let s=r.object;e.has(a)||e.set(a,s)}}return e}function Y(u){for(let e of u.statement)if(e instanceof C&&$(e,G.publisher,G.package_,G.name))return e.object}function ie(u){for(let e of u.statement){if(!(e instanceof j)||!$(e,D.publisher,D.package_,D.name))continue;let t=[];for(let n of e.object??[])n instanceof P&&t.push(n);return t}return[]}function ce(u){for(let e of u.statement)if(e instanceof m&&e.predicate?.subject?.name==="type"&&e.object instanceof d){let t=e.object.subject;return{publisher:t.publisher,package_:t.package_,name:t.name}}}function R(u,e){for(let t of u.statement)if(t instanceof m&&$(t,e.publisher,e.package_,e.name)&&t.object instanceof d){let n=t.object.subject;return{publisher:n.publisher,package_:n.package_,name:n.name}}}function ue(u,e){for(let t of u.statement){if(!(t instanceof j)||!$(t,e.publisher,e.package_,e.name))continue;let n=[];for(let r of t.object??[])r instanceof d&&n.push({publisher:r.subject.publisher,package_:r.subject.package_,name:r.subject.name});return n}return[]}function O(u,e){for(let t of u.statement)if($(t,e.publisher,e.package_,e.name))return t}function g(u,e){for(let t of u.statement)if(t instanceof K&&$(t,e.publisher,e.package_,e.name))return t.object}function S(u){let e=[];for(let t of u.statement)if(t instanceof m){if(t.predicate?.subject?.name!=="type")continue;t.object instanceof d&&e.push(t.object)}else if(t instanceof j){if(t.predicate?.subject?.name!=="type")continue;for(let n of t.object??[])n instanceof d&&e.push(n)}return e}function x(u){let e=[];for(let t of u.statement)if(t instanceof m){if(t.predicate?.subject?.name!=="subClassOf")continue;t.object instanceof d&&e.push(t.object)}else if(t instanceof j){if(t.predicate?.subject?.name!=="subClassOf")continue;for(let n of t.object??[])n instanceof d&&e.push(n)}return e}function B(u,e){let t=[];for(let n of u){if(!(n instanceof L)||n.name!==e.name)continue;(n.namespace||"").startsWith(`${e.publisher}/${e.package_}@`)&&t.push(n)}return t}function b(u,e){let t="version"in e?e.version:void 0;if(t){let n=`${e.publisher}/${e.package_}@${t.major}.${t.minor}.${t.patch}`;for(let r of u)if(r instanceof L&&r.name===e.name&&r.namespace===n)return r}for(let n of u){if(!(n instanceof L)||n.name!==e.name)continue;if((n.namespace||"").startsWith(`${e.publisher}/${e.package_}@`))return n}}function $(u,e,t,n){let r=u.predicate?.subject;return r?r.publisher===e&&r.package_===t&&r.name===n:!1}function v(u,e){return u.publisher===e.publisher&&u.package_===e.package_&&u.name===e.name}function w(u){return`${u.publisher}/${u.package_}/${u.name}`}function F(u){let e=u.namespace||"",t=e.indexOf("/");return t>=0?e.substring(0,t):e}function f(u){return u.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function le(u){let e=u.lastIndexOf(".");return e>=0?u.substring(e+1):u}function fe(u,e){for(let t of u.statement)if(t.predicate?.subject?.name===e)return t}function z(u){return u.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}export{ee as a,J as b};
64
+ `):void 0}renderHero(e,t,n){let r=['<header class="kan-hero">'],a=_(e,Ue);if(a){let l=this.readPropertyValueText(t,a);l&&r.push(`<span class="kan-hero-eyebrow">${f(l)}</span>`)}let s=_(e,Le),o="";s&&(o=this.readPropertyValueText(t,s)??""),o||(o=t.name),r.push(`<h1 class="kan-hero-title">${f(o)}</h1>`);let i=_(e,Ie);if(i){let l=this.readPropertyValueText(t,i);l&&r.push(`<p class="kan-hero-subtitle">${f(l)}</p>`)}let c=_(e,ae);if(c){let l=this.readPropertyValueReferences(t,c);if(l.length>0){let p=l.map(g=>this.renderBadge(g,ae,n)).join("");r.push(`<div class="kan-hero-badges">${p}</div>`)}}return r.push("</header>"),r.join(`
65
+ `)}renderPropertyList(e,t,n){let r=_(e,I);if(!r)return"<!-- LookRenderer: PropertyList missing look.source -->";let a=this.readLabelForUri(r)??r.name,s=O(t,r),o=this.gatherValueItems(s),i=o.length>0?o.map(c=>`<li>${this.renderInlineValue(c,I,n)}</li>`).join(""):'<li class="kan-empty">(no values)</li>';return['<section class="kan-property-list">',`<h3 class="kan-property-list-title">${f(a)}</h3>`,`<ul class="kan-property-list-items">${i}</ul>`,"</section>"].join(`
66
+ `)}renderBadgeRow(e,t,n){let r=_(e,I);if(!r)return"<!-- LookRenderer: BadgeRow missing look.source -->";let a=this.readPropertyValueReferences(t,r);return a.length===0?"":`<div class="kan-badge-row">${a.map(o=>this.renderBadge(o,I,n)).join("")}</div>`}renderChipRow(e,t,n){let r=ue(e,Oe);if(r.length===0)return"<!-- LookRenderer: ChipRow has no look.chips -->";let a=[];for(let s of r){let o=O(t,s);if(!o)continue;let i=this.readLabelForUri(s)??s.name,c=this.renderStatementInlineValue(o,s,n);c&&a.push(`<span class="kan-chip"><span class="kan-chip-key">${f(i)}</span> <span class="kan-chip-val">${c}</span></span>`)}return a.length===0?"":`<div class="kan-chip-row">${a.join("")}</div>`}renderReferenceList(e,t,n){let r=ue(e,W);if(r.length===0)return"<!-- LookRenderer: ReferenceList has no look.entries -->";let a=[];for(let s of r){let o=this.readPropertyValueReferences(t,s);if(o.length===0)continue;let i=this.readLabelForUri(s)??s.name,c=o.map(l=>this.renderReferenceLink(l,W,n)).join(", ");a.push(`<dt>${f(i)}</dt><dd>${c}</dd>`)}return a.length===0?"":`<dl class="kan-reference-list">${a.join("")}</dl>`}readPropertyValueText(e,t){let n=O(e,t);if(n){if(n instanceof K)return n.object;if(n instanceof h){let r=n.object;return this.readLabelForUri({publisher:r.subject.publisher,package_:r.subject.package_,name:r.subject.name})??r.subject.name}if(n instanceof b)return(n.object??[]).map(a=>a instanceof d?this.readLabelForUri({publisher:a.subject.publisher,package_:a.subject.package_,name:a.subject.name})??a.subject.name:a instanceof P?a.name??"":String(a)).filter(a=>a).join(", ")}}readPropertyValueReferences(e,t){let n=O(e,t);if(!n)return[];if(n instanceof h)return[n.object];if(n instanceof b){let r=[];for(let a of n.object??[])a instanceof d&&r.push(a);return r}return[]}gatherValueItems(e){return e?e instanceof b?e.object??[]:e instanceof h?[e.object]:e instanceof E?[e.object]:e instanceof K?[e.object]:[]:[]}renderInlineValue(e,t,n){return e instanceof d?this.renderReferenceLink(e,t,n):e instanceof P?f(e.name??"(embedded)"):typeof e=="string"?f(e):typeof e=="number"||typeof e=="boolean"?f(String(e)):""}renderStatementInlineValue(e,t,n){return e instanceof K?f(e.object):e instanceof h?this.renderReferenceLink(e.object,t,n):e instanceof b?(e.object??[]).map(a=>this.renderInlineValue(a,t,n)).filter(a=>a).join(", "):""}renderReferenceLink(e,t,n){let r=this.readLabelForUri({publisher:e.subject.publisher,package_:e.subject.package_,name:e.subject.name})??e.subject.name,a=this.urlForReference(e,t,n);return`<a class="kan-link" href="${f(a)}">${f(r)}</a>`}renderBadge(e,t,n){let r=this.readLabelForUri({publisher:e.subject.publisher,package_:e.subject.package_,name:e.subject.name})??e.subject.name,a=this.readCommentForUri({publisher:e.subject.publisher,package_:e.subject.package_,name:e.subject.name}),s=this.urlForReference(e,t,n),o=a?` title="${f(a)}"`:"";return`<a class="kan-badge" href="${f(s)}"${o}>${f(r)}</a>`}urlForReference(e,t,n){let r=t?this.getUrlFormForProperty(t):"=";return N.formatResourceUrl({publisher:e.subject.publisher,package_:e.subject.package_,...e.subject.version?{version:e.subject.version}:{},name:e.subject.name},r,{contextPublisher:n})}getUrlFormForProperty(e){let t=m(this.catalog,e);if(!t)return"=";let n=k(t,we);return n==="*"||n==="^"||n==="~"||n==="="?n:"="}readLabelForUri(e){let t=m(this.catalog,e);if(t)return k(t,S)}readCommentForUri(e){let t=m(this.catalog,e);if(t)return k(t,re)}};function q(u){let e=new Map;for(let t of u.statement){if(!(t instanceof E)||!$(t,G.publisher,G.package_,G.name))continue;let n=t.object;for(let r of n.statement){if(!(r instanceof K))continue;let a=r.predicate?.subject?.name;if(!a)continue;let s=r.object;e.has(a)||e.set(a,s)}}return e}function Y(u){for(let e of u.statement)if(e instanceof E&&$(e,H.publisher,H.package_,H.name))return e.object}function ie(u){for(let e of u.statement){if(!(e instanceof b)||!$(e,D.publisher,D.package_,D.name))continue;let t=[];for(let n of e.object??[])n instanceof P&&t.push(n);return t}return[]}function ce(u){for(let e of u.statement)if(e instanceof h&&e.predicate?.subject?.name==="type"&&e.object instanceof d){let t=e.object.subject;return{publisher:t.publisher,package_:t.package_,name:t.name}}}function _(u,e){for(let t of u.statement)if(t instanceof h&&$(t,e.publisher,e.package_,e.name)&&t.object instanceof d){let n=t.object.subject;return{publisher:n.publisher,package_:n.package_,name:n.name}}}function ue(u,e){for(let t of u.statement){if(!(t instanceof b)||!$(t,e.publisher,e.package_,e.name))continue;let n=[];for(let r of t.object??[])r instanceof d&&n.push({publisher:r.subject.publisher,package_:r.subject.package_,name:r.subject.name});return n}return[]}function O(u,e){for(let t of u.statement)if($(t,e.publisher,e.package_,e.name))return t}function k(u,e){for(let t of u.statement)if(t instanceof K&&$(t,e.publisher,e.package_,e.name))return t.object}function y(u){let e=[];for(let t of u.statement)if(t instanceof h){if(t.predicate?.subject?.name!=="type")continue;t.object instanceof d&&e.push(t.object)}else if(t instanceof b){if(t.predicate?.subject?.name!=="type")continue;for(let n of t.object??[])n instanceof d&&e.push(n)}return e}function x(u){let e=[];for(let t of u.statement)if(t instanceof h){if(t.predicate?.subject?.name!=="subClassOf")continue;t.object instanceof d&&e.push(t.object)}else if(t instanceof b){if(t.predicate?.subject?.name!=="subClassOf")continue;for(let n of t.object??[])n instanceof d&&e.push(n)}return e}function B(u,e){let t=[];for(let n of u){if(!(n instanceof L)||n.name!==e.name)continue;(n.namespace||"").startsWith(`${e.publisher}/${e.package_}@`)&&t.push(n)}return t}function m(u,e){let t="version"in e?e.version:void 0;if(t){let n=`${e.publisher}/${e.package_}@${t.major}.${t.minor}.${t.patch}`;for(let r of u)if(r instanceof L&&r.name===e.name&&r.namespace===n)return r}for(let n of u){if(!(n instanceof L)||n.name!==e.name)continue;if((n.namespace||"").startsWith(`${e.publisher}/${e.package_}@`))return n}}function $(u,e,t,n){let r=u.predicate?.subject;return r?r.publisher===e&&r.package_===t&&r.name===n:!1}function R(u,e){return u.publisher===e.publisher&&u.package_===e.package_&&u.name===e.name}function w(u){return`${u.publisher}/${u.package_}/${u.name}`}function F(u){let e=u.namespace||"",t=e.indexOf("/");return t>=0?e.substring(0,t):e}function f(u){return u.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function le(u){let e=u.lastIndexOf(".");return e>=0?u.substring(e+1):u}function fe(u,e){for(let t of u.statement)if(t.predicate?.subject?.name===e)return t}function z(u){return u.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}export{ee as a,J as b};
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import{a as Ze,b as Qe,c as et,d as tt,e as rt,f as nt,g as ot,h as at,i as it,j as st}from"./chunk-2BQ6SOU6.js";import{b as Yt}from"./chunk-BNSBR6LR.js";import{a as qe,b as Ye,c as Xe,d as b,e as S,f as i}from"./chunk-REH5YNFQ.js";import{a as qt}from"./chunk-2VCFHCFN.js";import{a as Te,b as je,c as Le,d as Fe,e as Ne}from"./chunk-5AH6GIPO.js";import{a as Be,b as De,c as Oe,d as Ae}from"./chunk-VQFL5C7Q.js";import{a as lt,b as dt,c as ut,d as pt}from"./chunk-IIP6J4EP.js";import{a as Je,b as mt,c as ft,d as yt,e as ht}from"./chunk-4TJZIM7A.js";import{a as gt}from"./chunk-NIGFQYVA.js";import{A as Mt,B as zt,C as Gt,D as Wt,E as Jt,a as kt,b as bt,c as St,d as Ct,e as Pt,f as Rt,g as wt,h as xt,i as $t,j as vt,k as Et,l as Kt,m as Bt,n as It,o as Tt,p as jt,q as Lt,r as Ft,s as Nt,t as Dt,u as Ot,v as At,w as Ut,x as Vt,y as Ht,z as _t}from"./chunk-A2JTW3ON.js";import"./chunk-FJ35VIV6.js";import{a as F,b as D,c as Me,e as We}from"./chunk-4YHWMYAZ.js";import{a as Ue,b as j,c as L,d as N,e as He,f as _e,g as O,h as A,i as U,j as V,k as H,l as _}from"./chunk-W6T7MOKY.js";import{a as Ie}from"./chunk-7CUTGGH3.js";import{a as Pe,b as Re,c as we,d as xe,e as $e,f as ve,g as Ee,h as Ke}from"./chunk-FQHALFRR.js";import{b as ze,c as Ge}from"./chunk-5ILSX24H.js";import{a as Ve}from"./chunk-FUUTGGJS.js";import{a as ct}from"./chunk-ODIECDN7.js";import{VersionOperator as oo}from"@kanonak-protocol/types/document/models/enums";import{existsSync as fr,readFileSync as yr}from"fs";import{homedir as gr}from"os";import{join as hr}from"path";import{execFile as Xt}from"child_process";import{promisify as Zt}from"util";var C=Zt(Xt),P="kanonak",R="/usr/bin/security",p=class{async get(e){let r=i(e);try{let{stdout:n}=await C(R,["find-generic-password","-s",P,"-a",r,"-w"],{timeout:1e4});try{return JSON.parse(n.trim())}catch{throw new Error(`Stored credential for '${r}' is corrupted (not valid JSON).
1
+ import{a as Ze,b as Qe,c as et,d as tt,e as rt,f as nt,g as ot,h as at,i as it,j as st}from"./chunk-2BQ6SOU6.js";import{b as Yt}from"./chunk-4FBTTXEF.js";import{a as qe,b as Ye,c as Xe,d as b,e as S,f as i}from"./chunk-REH5YNFQ.js";import{a as qt}from"./chunk-2VCFHCFN.js";import{a as Te,b as je,c as Le,d as Fe,e as Ne}from"./chunk-5AH6GIPO.js";import{a as Be,b as De,c as Oe,d as Ae}from"./chunk-VQFL5C7Q.js";import{a as lt,b as dt,c as ut,d as pt}from"./chunk-IIP6J4EP.js";import{a as Je,b as mt,c as ft,d as yt,e as ht}from"./chunk-4TJZIM7A.js";import{a as gt}from"./chunk-NIGFQYVA.js";import{A as Mt,B as zt,C as Gt,D as Wt,E as Jt,a as kt,b as bt,c as St,d as Ct,e as Pt,f as Rt,g as wt,h as xt,i as $t,j as vt,k as Et,l as Kt,m as Bt,n as It,o as Tt,p as jt,q as Lt,r as Ft,s as Nt,t as Dt,u as Ot,v as At,w as Ut,x as Vt,y as Ht,z as _t}from"./chunk-A2JTW3ON.js";import"./chunk-FJ35VIV6.js";import{a as F,b as D,c as Me,e as We}from"./chunk-4YHWMYAZ.js";import{a as Ue,b as j,c as L,d as N,e as He,f as _e,g as O,h as A,i as U,j as V,k as H,l as _}from"./chunk-W6T7MOKY.js";import{a as Ie}from"./chunk-7CUTGGH3.js";import{a as Pe,b as Re,c as we,d as xe,e as $e,f as ve,g as Ee,h as Ke}from"./chunk-FQHALFRR.js";import{b as ze,c as Ge}from"./chunk-5ILSX24H.js";import{a as Ve}from"./chunk-FUUTGGJS.js";import{a as ct}from"./chunk-ODIECDN7.js";import{VersionOperator as oo}from"@kanonak-protocol/types/document/models/enums";import{existsSync as fr,readFileSync as yr}from"fs";import{homedir as gr}from"os";import{join as hr}from"path";import{execFile as Xt}from"child_process";import{promisify as Zt}from"util";var C=Zt(Xt),P="kanonak",R="/usr/bin/security",p=class{async get(e){let r=i(e);try{let{stdout:n}=await C(R,["find-generic-password","-s",P,"-a",r,"-w"],{timeout:1e4});try{return JSON.parse(n.trim())}catch{throw new Error(`Stored credential for '${r}' is corrupted (not valid JSON).
2
2
  Run 'kanonak logout ${r}' then 'kanonak login ${r}' to fix.`)}}catch(n){if(X(n,44))return null;throw new Error(`macOS Keychain read failed for '${r}': ${w(n)}
3
3
  The Keychain may be locked or inaccessible.
4
4
  Try unlocking it via Keychain Access.app or running 'security unlock-keychain'.`)}}async store(e,r){let n=i(e),o=JSON.stringify(r);try{await C(R,["add-generic-password","-s",P,"-a",n,"-U","-w",o],{timeout:1e4})}catch(a){throw new Error(`macOS Keychain write failed for '${n}': ${w(a)}
@@ -1,4 +1,4 @@
1
- import{b as E,c as F,d as f,f as M}from"../chunk-2JQMUZWN.js";import{a as X,b as ye}from"../chunk-BNSBR6LR.js";import{a as Oe}from"../chunk-2VCFHCFN.js";import"../chunk-IIP6J4EP.js";import"../chunk-NIGFQYVA.js";import{a as Ue}from"../chunk-FJ35VIV6.js";import{a as C,c as Re,e as Ce}from"../chunk-4YHWMYAZ.js";import{b as K,c as w,d as b,g as L,h as U,i as O,j,k as T,l as S}from"../chunk-W6T7MOKY.js";import{a as Le}from"../chunk-7CUTGGH3.js";import"../chunk-5ILSX24H.js";import"../chunk-FUUTGGJS.js";var gt="kanonak.org",yt="document-ast",m=t=>({publisher:gt,package_:yt,name:t}),k={Document:m("Document"),Block:m("Block"),Inline:m("Inline"),StructuredValue:m("StructuredValue"),Heading:m("Heading"),Paragraph:m("Paragraph"),RawBlock:m("RawBlock"),Text:m("Text"),StructuredMap:m("StructuredMap"),StructuredEntry:m("StructuredEntry"),StructuredList:m("StructuredList"),StringScalar:m("StringScalar"),IntegerScalar:m("IntegerScalar"),EscapeHint:m("EscapeHint"),MediaType:m("MediaType"),metadata:m("metadata"),children:m("children"),level:m("level"),inlines:m("inlines"),text:m("text"),entries:m("entries"),key:m("key"),value:m("value"),escapeHint:m("escapeHint"),items:m("items"),stringValue:m("stringValue"),integerValue:m("integerValue"),rawContent:m("rawContent"),mediaType:m("mediaType"),mimeType:m("mimeType"),ESC_RAW:m("esc-raw"),ESC_YAML_SAFE:m("esc-yaml-safe"),ESC_TOML_STRING:m("esc-toml-string"),ESC_TOML_MULTILINE:m("esc-toml-multiline"),ESC_JSON:m("esc-json"),ESC_DYNAMODB_BOOL:m("esc-dynamodb-bool"),ESC_DYNAMODB_NUMBER:m("esc-dynamodb-number"),ESC_DYNAMODB_NULL:m("esc-dynamodb-null"),TEXT_PLAIN:m("text-plain"),TEXT_MARKDOWN:m("text-markdown"),TEXT_HTML:m("text-html"),TEXT_CSS:m("text-css"),APPLICATION_JSON:m("application-json"),TEXT_YAML:m("text-yaml"),IMAGE_SVG_XML:m("image-svg-xml"),ResourceLink:m("ResourceLink"),target:m("target"),linkLabel:m("linkLabel"),PropertyList:m("PropertyList"),propertyEntries:m("propertyEntries"),PropertyEntry:m("PropertyEntry"),propertyKey:m("propertyKey"),propertyValue:m("propertyValue"),Table:m("Table"),tableColumnLabels:m("tableColumnLabels"),tableRows:m("tableRows"),TableRow:m("TableRow"),tableCells:m("tableCells")};function Ne(t,e){return t.publisher===e.publisher&&t.package_===e.package_&&t.name===e.name}var Y=class{backendUri="kanonak.org/transformations/markdown-with-frontmatter";render(e,n){let r=kt(e.metadata,n),a=wt(e.children),u=["---",...r,"---","",a].join(`
1
+ import{b as E,c as F,d as f,f as M}from"../chunk-2JQMUZWN.js";import{a as X,b as ye}from"../chunk-4FBTTXEF.js";import{a as Oe}from"../chunk-2VCFHCFN.js";import"../chunk-IIP6J4EP.js";import"../chunk-NIGFQYVA.js";import{a as Ue}from"../chunk-FJ35VIV6.js";import{a as C,c as Re,e as Ce}from"../chunk-4YHWMYAZ.js";import{b as K,c as w,d as b,g as L,h as U,i as O,j,k as T,l as S}from"../chunk-W6T7MOKY.js";import{a as Le}from"../chunk-7CUTGGH3.js";import"../chunk-5ILSX24H.js";import"../chunk-FUUTGGJS.js";var gt="kanonak.org",yt="document-ast",m=t=>({publisher:gt,package_:yt,name:t}),k={Document:m("Document"),Block:m("Block"),Inline:m("Inline"),StructuredValue:m("StructuredValue"),Heading:m("Heading"),Paragraph:m("Paragraph"),RawBlock:m("RawBlock"),Text:m("Text"),StructuredMap:m("StructuredMap"),StructuredEntry:m("StructuredEntry"),StructuredList:m("StructuredList"),StringScalar:m("StringScalar"),IntegerScalar:m("IntegerScalar"),EscapeHint:m("EscapeHint"),MediaType:m("MediaType"),metadata:m("metadata"),children:m("children"),level:m("level"),inlines:m("inlines"),text:m("text"),entries:m("entries"),key:m("key"),value:m("value"),escapeHint:m("escapeHint"),items:m("items"),stringValue:m("stringValue"),integerValue:m("integerValue"),rawContent:m("rawContent"),mediaType:m("mediaType"),mimeType:m("mimeType"),ESC_RAW:m("esc-raw"),ESC_YAML_SAFE:m("esc-yaml-safe"),ESC_TOML_STRING:m("esc-toml-string"),ESC_TOML_MULTILINE:m("esc-toml-multiline"),ESC_JSON:m("esc-json"),ESC_DYNAMODB_BOOL:m("esc-dynamodb-bool"),ESC_DYNAMODB_NUMBER:m("esc-dynamodb-number"),ESC_DYNAMODB_NULL:m("esc-dynamodb-null"),TEXT_PLAIN:m("text-plain"),TEXT_MARKDOWN:m("text-markdown"),TEXT_HTML:m("text-html"),TEXT_CSS:m("text-css"),APPLICATION_JSON:m("application-json"),TEXT_YAML:m("text-yaml"),IMAGE_SVG_XML:m("image-svg-xml"),ResourceLink:m("ResourceLink"),target:m("target"),linkLabel:m("linkLabel"),PropertyList:m("PropertyList"),propertyEntries:m("propertyEntries"),PropertyEntry:m("PropertyEntry"),propertyKey:m("propertyKey"),propertyValue:m("propertyValue"),Table:m("Table"),tableColumnLabels:m("tableColumnLabels"),tableRows:m("tableRows"),TableRow:m("TableRow"),tableCells:m("tableCells")};function Ne(t,e){return t.publisher===e.publisher&&t.package_===e.package_&&t.name===e.name}var Y=class{backendUri="kanonak.org/transformations/markdown-with-frontmatter";render(e,n){let r=kt(e.metadata,n),a=wt(e.children),u=["---",...r,"---","",a].join(`
2
2
  `);return n?.trailingNewline&&(u.endsWith(`
3
3
  `)||(u+=`
4
4
  `)),u}};function kt(t,e){if(!t)return[];let n=new Map;for(let c of t.entries)n.set(ue(c.key),c);let r=new Map;if(e?.metadataRenames)for(let[c,l]of e.metadataRenames)r.set(ue(c),l);let i=(e?.metadataKeys??t.entries.map(c=>c.key)).map(ue),u=[];for(let c of i){let l=n.get(c);if(!l)continue;let p=r.get(c),y=ue(p??c),h=Ie(l.value,l.escapeHint);h!==void 0&&u.push(`${y}: ${h}`)}return u}function ue(t){let e=t.lastIndexOf(".");return e===-1?t:t.substring(e+1)||t}function Ie(t,e){switch(t.kind){case"StringScalar":return ht(t.stringValue,e);case"IntegerScalar":return String(t.integerValue);case"StructuredList":{let n=[];for(let r of t.items){let a=Ie(r,e);a!==void 0&&n.push(a)}return n.join(", ")}case"StructuredMap":return;default:return}}function ht(t,e){return!e||Ne(e,k.ESC_RAW)?t:Ne(e,k.ESC_YAML_SAFE)?bt(t):t}function bt(t){return t.includes(`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kanonak-protocol/sdk",
3
- "version": "3.29.1",
3
+ "version": "3.29.3",
4
4
  "description": "Kanonak Protocol SDK - Document repository and parsing implementations for TypeScript",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -113,7 +113,7 @@
113
113
  "yaml-parser"
114
114
  ],
115
115
  "dependencies": {
116
- "@kanonak-protocol/types": "^3.29.1",
116
+ "@kanonak-protocol/types": "^3.29.3",
117
117
  "ignore": "^7.0.5",
118
118
  "js-yaml": "^4.1.0",
119
119
  "yaml": "^2.7.0"