@kanonak-protocol/sdk 5.13.0 → 5.14.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.
Files changed (35) hide show
  1. package/dist/browser.js +1 -1
  2. package/dist/{chunk-IHB7UVEH.js → chunk-4PY3JJH3.js} +4 -4
  3. package/dist/{chunk-S6VSAKXB.js → chunk-5NH5XDGO.js} +1 -1
  4. package/dist/{chunk-EZSHR3CB.js → chunk-LYSCTQC2.js} +1 -1
  5. package/dist/chunk-MK6UVFOJ.js +2 -0
  6. package/dist/chunk-Q6XQ5IXW.js +63 -0
  7. package/dist/chunk-SVUMCLK5.js +1 -0
  8. package/dist/chunk-V6KIDED2.js +1 -0
  9. package/dist/chunk-YW6P24RF.js +1 -0
  10. package/dist/{chunk-TVSHIXLA.js → chunk-ZQAAF3GB.js} +1 -1
  11. package/dist/index.js +1 -1
  12. package/dist/kanonaks/walkDefinedKanonaks.d.ts +22 -0
  13. package/dist/parsing/KanonakObjectParser.d.ts +22 -0
  14. package/dist/parsing/index.js +1 -1
  15. package/dist/reasoning/index.js +1 -1
  16. package/dist/resolution/ResourceTypeClassifier.d.ts +24 -0
  17. package/dist/resolution/TypeDirectedResolver.d.ts +37 -0
  18. package/dist/resolution/index.d.ts +3 -2
  19. package/dist/resolution/index.js +1 -1
  20. package/dist/search/index.js +1 -1
  21. package/dist/server/index.js +1 -1
  22. package/dist/transformations/index.js +1 -1
  23. package/dist/uri-helpers/index.js +1 -1
  24. package/dist/validation/documentModel.d.ts +2 -15
  25. package/dist/validation/index.js +1 -1
  26. package/dist/validation/rules/repository/PropertyRangeRequiredRule.d.ts +4 -0
  27. package/dist/validation/rules/repository/SubPropertyOfReferenceRule.d.ts +4 -2
  28. package/package.json +2 -2
  29. package/dist/chunk-4SQZBFJJ.js +0 -2
  30. package/dist/chunk-6U26UASC.js +0 -1
  31. package/dist/chunk-7BHDZHJY.js +0 -1
  32. package/dist/chunk-7K5TAJ44.js +0 -63
  33. package/dist/chunk-GZPLWII7.js +0 -1
  34. package/dist/chunk-MX3DEXMV.js +0 -1
  35. package/dist/chunk-ZP6P7HNU.js +0 -1
package/dist/browser.js CHANGED
@@ -1 +1 @@
1
- import{a as F,b as H,c as L,d as Pe,f as ge,g as Ce,h as he,i as Ke,j as be,k as Ie,l as Oe,m as je}from"./chunk-4SQZBFJJ.js";import{a as Se}from"./chunk-EZSHR3CB.js";import"./chunk-QHABFCRC.js";import{a as m,b as u,c,e as d,h as R,j as y,k as f}from"./chunk-UXYCUGSF.js";import{a as p}from"./chunk-4NO7MHS7.js";import{a as B,b as G,c as q}from"./chunk-S6VSAKXB.js";import{a as w,b as _}from"./chunk-PEUTCG3B.js";import"./chunk-PEJALHXK.js";import"./chunk-SC5M74NM.js";import{A as fe,B as xe,K as ke,a as W,b as z,c as J,d as Q,f as X,g as Y,h as Z,i as $,k as ee,l as oe,m as te,n as re,o as ne,p as ae,q as ie,r as se,s as pe,t as le,u as me,v as ue,w as ce,x as de,y as Re,z as ye}from"./chunk-7K5TAJ44.js";import"./chunk-ITKOKDBG.js";import{a as g,c as v,h as T,i as A,l as M}from"./chunk-MX3DEXMV.js";import{a as l}from"./chunk-NJ3AZYQD.js";import{a as U}from"./chunk-ZP6P7HNU.js";import"./chunk-6U26UASC.js";import{a as E,b as N}from"./chunk-GZPLWII7.js";import{a as x,b as k,c as P,d as h,e as K,f as S,g as b,h as I,i as O,j,k as D,l as V}from"./chunk-7BHDZHJY.js";import{a as C}from"./chunk-FUUTGGJS.js";import{c as e,d as o,e as t,f as r,g as n,h as a,i,j as s}from"./chunk-2ACBWC7K.js";export{me as AmbiguousReferenceRule,O as BooleanStatement,Oe as CANONICAL_FORM_VERSION,T as Carrier,fe as ClassDefinitionRule,re as ClassHierarchyCycleRule,k as DefinedKanonak,H as EdgeType,g as EmbeddedKanonak,ee as EmbeddedKanonakTypeRule,D as EmbeddedStatement,L as GraphBuilder,f as HttpKanonakDocumentRepository,oe as ImportExistenceRule,p as InMemoryKanonakDocumentRepository,m as KANONAK_USER_AGENT,x as Kanonak,G as KanonakDocumentPositions,M as KanonakObjectParser,ke as KanonakObjectValidator,l as KanonakParser,C as KanonakUri,w as KanonakUriBuilder,V as ListStatement,xe as MarkdownLinkRule,v as MarkdownStatement,pe as NamespaceImportCycleRule,X as NamespacePrefixRule,F as NodeType,I as NumberStatement,ge as OAuthDiscovery,ce as ObjectPropertyValueValidationRule,J as OntologyValidationError,W as OntologyValidationResult,de as PropertyDomainRule,ne as PropertyHierarchyCycleRule,Re as PropertyKindRangeConsistencyRule,B as PropertyMetadata,ue as PropertyRangeReferenceRule,ae as PropertyRangeRequiredRule,Z as PropertyTypeSpecificityRule,R as PublisherConfigResolver,y as PublisherIndex,h as ReferenceKanonak,j as ReferenceStatement,ye as ReservedNameShadowRule,Y as ResourceNamingRule,E as ResourceResolver,U as ResourceTypeClassifier,S as ScalarStatement,K as Statement,b as StringStatement,ie as SubClassOfReferenceRule,se as SubPropertyOfReferenceRule,P as SubjectKanonak,$ as SubjectKanonakTypeRequiredRule,Ke as TokenCredentialProvider,N as TypeResolver,le as UnresolvedPredicateRule,te as UnresolvedReferenceRule,Q as ValidationContext,z as ValidationSeverity,je as buildOntologyModel,be as canonicalForm,Ie as canonicalHash,A as carrierOf,e as compareVersions,he as createCredentialedFetch,r as createVersion,Se as findDerivation,_ as findInstancesByType,t as formatVersion,c as getKanonakUserAgent,a as isCompatibleVersion,i as isMajorCompatible,d as kanonakFetch,Pe as normalizeHost,Ce as parseAuthChallenge,n as parseVersionString,q as parseWithPositions,s as pickHighestDocument,u as setKanonakUserAgent,o as versionsEqual};
1
+ import{a as F,b as H,c as L,d as Pe,f as ge,g as Ce,h as he,i as Ke,j as be,k as Ie,l as Oe,m as je}from"./chunk-MK6UVFOJ.js";import{a as Se}from"./chunk-LYSCTQC2.js";import"./chunk-QHABFCRC.js";import{a as m,b as u,c,e as d,h as R,j as y,k as f}from"./chunk-UXYCUGSF.js";import{a as p}from"./chunk-4NO7MHS7.js";import{a as B,b as G,c as q}from"./chunk-5NH5XDGO.js";import{a as w,b as _}from"./chunk-PEUTCG3B.js";import"./chunk-PEJALHXK.js";import"./chunk-SC5M74NM.js";import{A as fe,B as xe,K as ke,a as W,b as z,c as J,d as Q,f as X,g as Y,h as Z,i as $,k as ee,l as oe,m as te,n as re,o as ne,p as ae,q as ie,r as se,s as pe,t as le,u as me,v as ue,w as ce,x as de,y as Re,z as ye}from"./chunk-Q6XQ5IXW.js";import"./chunk-ITKOKDBG.js";import{a as g,c as v,i as A,j as M,m as U}from"./chunk-V6KIDED2.js";import{a as l}from"./chunk-NJ3AZYQD.js";import{a as E,b as N,o as T}from"./chunk-SVUMCLK5.js";import{a as x,b as k,c as P,d as h,e as K,f as S,g as b,h as I,i as O,j,k as D,l as V}from"./chunk-YW6P24RF.js";import{a as C}from"./chunk-FUUTGGJS.js";import{c as e,d as o,e as t,f as r,g as n,h as a,i,j as s}from"./chunk-2ACBWC7K.js";export{me as AmbiguousReferenceRule,O as BooleanStatement,Oe as CANONICAL_FORM_VERSION,A as Carrier,fe as ClassDefinitionRule,re as ClassHierarchyCycleRule,k as DefinedKanonak,H as EdgeType,g as EmbeddedKanonak,ee as EmbeddedKanonakTypeRule,D as EmbeddedStatement,L as GraphBuilder,f as HttpKanonakDocumentRepository,oe as ImportExistenceRule,p as InMemoryKanonakDocumentRepository,m as KANONAK_USER_AGENT,x as Kanonak,G as KanonakDocumentPositions,U as KanonakObjectParser,ke as KanonakObjectValidator,l as KanonakParser,C as KanonakUri,w as KanonakUriBuilder,V as ListStatement,xe as MarkdownLinkRule,v as MarkdownStatement,pe as NamespaceImportCycleRule,X as NamespacePrefixRule,F as NodeType,I as NumberStatement,ge as OAuthDiscovery,ce as ObjectPropertyValueValidationRule,J as OntologyValidationError,W as OntologyValidationResult,de as PropertyDomainRule,ne as PropertyHierarchyCycleRule,Re as PropertyKindRangeConsistencyRule,B as PropertyMetadata,ue as PropertyRangeReferenceRule,ae as PropertyRangeRequiredRule,Z as PropertyTypeSpecificityRule,R as PublisherConfigResolver,y as PublisherIndex,h as ReferenceKanonak,j as ReferenceStatement,ye as ReservedNameShadowRule,Y as ResourceNamingRule,E as ResourceResolver,T as ResourceTypeClassifier,S as ScalarStatement,K as Statement,b as StringStatement,ie as SubClassOfReferenceRule,se as SubPropertyOfReferenceRule,P as SubjectKanonak,$ as SubjectKanonakTypeRequiredRule,Ke as TokenCredentialProvider,N as TypeResolver,le as UnresolvedPredicateRule,te as UnresolvedReferenceRule,Q as ValidationContext,z as ValidationSeverity,je as buildOntologyModel,be as canonicalForm,Ie as canonicalHash,M as carrierOf,e as compareVersions,he as createCredentialedFetch,r as createVersion,Se as findDerivation,_ as findInstancesByType,t as formatVersion,c as getKanonakUserAgent,a as isCompatibleVersion,i as isMajorCompatible,d as kanonakFetch,Pe as normalizeHost,Ce as parseAuthChallenge,n as parseVersionString,q as parseWithPositions,s as pickHighestDocument,u as setKanonakUserAgent,o as versionsEqual};
@@ -1,4 +1,4 @@
1
- import{a as Cn}from"./chunk-4NO7MHS7.js";import{a as Mn}from"./chunk-PEJALHXK.js";import{a as M,c as Me,g as u,l as xn}from"./chunk-MX3DEXMV.js";import{a as Fn}from"./chunk-NJ3AZYQD.js";import{a as Nn}from"./chunk-6U26UASC.js";import{b as Oe,c as G,d as E,g as X,h as me,i as re,j as V,k as H,l as T,m as pn,n as ue,o as Vn,p as w,r as Ne,s as ke,v as gn,w as qe,y as An}from"./chunk-7BHDZHJY.js";import{a as Tn}from"./chunk-FUUTGGJS.js";import{c as en,g as ye}from"./chunk-2ACBWC7K.js";var Te="kanonak.org",Hn="look",We="core-rdf",Et={publisher:Te,package_:Hn,name:"displayLabel"},Kt={publisher:Te,package_:Hn,name:"displaySummary"},Rt={publisher:Te,package_:We,name:"type"},Lt={publisher:Te,package_:We,name:"subClassOf"},Ot={publisher:Te,package_:We,name:"label"},Ut={publisher:Te,package_:We,name:"comment"},Pn=new Tn(Te,We,"Resource");function D(r,e){let n=Dn(r,e,Et)??Ot,t=Dn(r,e,Kt)??Ut,a=gn(e,n)??e.name,s=gn(e,t);return{label:a,summary:s}}function Dn(r,e,n){let t=qe(e,n);if(t)return t;let a=new Set,s=Bn(e,Rt);for(;s.length>0;){let o=s.shift(),i=pn(o);if(a.has(i))continue;a.add(i);let c=Ne(r,o);if(!c)continue;let l=qe(c,n);if(l)return l;s.push(...Bn(c,Lt))}if(!a.has(pn(Pn))){let o=Ne(r,Pn);if(o){let i=qe(o,n);if(i)return i}}}function Bn(r,e){let n=qe(r,e);if(n)return[n];let t=[];for(let a of An(r,e))a instanceof E&&t.push(a.subject);return t}function Ye(r,e={}){let n=r.replace(/\r\n/g,`
1
+ import{a as Cn}from"./chunk-4NO7MHS7.js";import{a as Nn}from"./chunk-PEJALHXK.js";import{a as M,c as Me,h as u,m as Mn}from"./chunk-V6KIDED2.js";import{a as Fn}from"./chunk-NJ3AZYQD.js";import{b as Oe,c as G,d as E,g as X,h as me,i as re,j as V,k as H,l as T,m as pn,n as ue,o as Vn,p as w,r as Ne,s as ke,v as gn,w as qe,y as An,z as xn}from"./chunk-YW6P24RF.js";import{a as Tn}from"./chunk-FUUTGGJS.js";import{c as en,g as ye}from"./chunk-2ACBWC7K.js";var Te="kanonak.org",Hn="look",We="core-rdf",Et={publisher:Te,package_:Hn,name:"displayLabel"},Kt={publisher:Te,package_:Hn,name:"displaySummary"},Rt={publisher:Te,package_:We,name:"type"},Lt={publisher:Te,package_:We,name:"subClassOf"},Ot={publisher:Te,package_:We,name:"label"},Ut={publisher:Te,package_:We,name:"comment"},Pn=new Tn(Te,We,"Resource");function D(r,e){let n=Dn(r,e,Et)??Ot,t=Dn(r,e,Kt)??Ut,a=gn(e,n)??e.name,s=gn(e,t);return{label:a,summary:s}}function Dn(r,e,n){let t=qe(e,n);if(t)return t;let a=new Set,s=Bn(e,Rt);for(;s.length>0;){let o=s.shift(),i=pn(o);if(a.has(i))continue;a.add(i);let c=Ne(r,o);if(!c)continue;let l=qe(c,n);if(l)return l;s.push(...Bn(c,Lt))}if(!a.has(pn(Pn))){let o=Ne(r,Pn);if(o){let i=qe(o,n);if(i)return i}}}function Bn(r,e){let n=qe(r,e);if(n)return[n];let t=[];for(let a of An(r,e))a instanceof E&&t.push(a.subject);return t}function Ye(r,e={}){let n=r.replace(/\r\n/g,`
2
2
  `).split(`
3
3
  `),t=[],a=0;for(;a<n.length;){let s=n[a];if(s.trim()===""){a++;continue}let o=/^(\s*)```(\S*)\s*$/.exec(s);if(o){let l=o[2],d=[];for(a++;a<n.length&&!/^(\s*)```\s*$/.test(n[a]);)d.push(n[a]),a++;a++;let f=d.join(`
4
4
  `),g=l&&e.highlight?e.highlight(l,f):De(f),m=l?` class="language-${Gn(l)}"`:"";t.push(`<pre class="kan-code"><code${m}>${g}</code></pre>`);continue}let i=/^(#{1,6})\s+(.*)$/.exec(s);if(i){let l=i[1].length,d=Pe(i[2].trim());t.push(`<h${l}>${d}</h${l}>`),a++;continue}if(s.includes("|")&&a+1<n.length&&zn(n[a+1])){let l=mn(s),d=It(n[a+1]);a+=2;let f=[];for(;a<n.length&&n[a].trim()!==""&&n[a].includes("|");)f.push(mn(n[a])),a++;t.push(Ct(l,d,f));continue}if(/^\s*[-*]\s+/.test(s)){let l=[];for(;a<n.length&&/^\s*[-*]\s+/.test(n[a]);){let d=[n[a].replace(/^\s*[-*]\s+/,"")];for(a++;a<n.length&&n[a].trim()!==""&&!/^\s*[-*]\s+/.test(n[a])&&!/^\s*\d+\.\s+/.test(n[a]);)d.push(n[a]),a++;a<n.length&&n[a].trim()===""&&a++,l.push(`<li>${Pe(d.join(" ").trim())}</li>`)}t.push(`<ul>
@@ -14,7 +14,7 @@ ${l.join(`
14
14
  <tbody>
15
15
  ${s}
16
16
  </tbody>
17
- </table>`}function Pe(r){let e=De(r);return e=e.replace(/`([^`\n]+)`/g,(n,t)=>`<code>${t}</code>`),e=e.replace(/\[([^\]]+)\]\(([^)\s]+)\)/g,(n,t,a)=>`<a href="${Gn(a)}">${t}</a>`),e=e.replace(/\*\*([^*\n]+)\*\*/g,(n,t)=>`<strong>${t}</strong>`),e=e.replace(/(^|[^*])\*([^*\n]+)\*(?!\*)/g,(n,t,a)=>`${t}<em>${a}</em>`),e=e.replace(/(^|[\s(])_([^_\n]+)_(?=[\s).,;:!?]|$)/g,(n,t,a)=>`${t}<em>${a}</em>`),e}function De(r){return r.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function Gn(r){return r.replace(/"/g,"&quot;").replace(/&/g,"&amp;")}var Ft={publisher:"kanonak.org",package_:"core-rdf",name:"label"};function Ae(r){return typeof r=="object"&&r!==null&&r.kind==="raw-string"}var Ee=class extends Error{},Xe=class{constructor(e,n,t=new Map){this.resolver=e;this.catalog=n;this.fragments=t}resolver;catalog;fragments;async evaluate(e,n){switch(e.kind){case"string-literal":return e.value;case"integer-literal":return e.value;case"decimal-literal":return e.value;case"boolean-literal":return e.value;case"uri-literal":return{...e.refTo};case"var-ref":{if(!n.has(e.varName))throw new Ee(`Unbound variable "${e.varName}"`);return n.get(e.varName)}case"concat":{let t=[];for(let a of e.parts){let s=await this.evaluate(a,n);if(s!=null)if(Array.isArray(s))for(let o of s)t.push(o);else t.push(s)}return t}case"fallback":{let t=await this.evaluate(e.primary,n);return qn(t)?t:this.evaluate(e.alternate,n)}case"when":return await this.evaluate(e.condition,n)===!0?this.evaluate(e.thenBuild,n):e.elseBuild?this.evaluate(e.elseBuild,n):void 0;case"is-set":{let t=await this.evaluate(e.check,n);return qn(t)}case"property-read":{let t=await this.evaluate(e.source,n);return nn(t,e.readProp)}case"traverse":{let t=await this.evaluate(e.source,n);if(!(t instanceof Oe))return;let a=Vt(t,e.through),s=[];for(let o of a){let i=ke(this.catalog,o),c=i.length>0?i:[await this.resolver.resolveSubject(o,this.catalog)];for(let l of c){if(!l)continue;let d=new Map(n);d.set("input",l);let f=await this.evaluate(e.step,d);if(f!=null&&Ve(f)!==""){s.push(Ve(f));break}}}return s.join("")}case"uri-name":{let t=await this.evaluate(e.source,n);return Be(t)?t.name:t instanceof E?t.subject.name:t instanceof G?t.name:t instanceof M?t.name??"":void 0}case"uri-publisher":{let t=await this.evaluate(e.source,n);return kn(t)?.publisher}case"uri-package":{let t=await this.evaluate(e.source,n);return kn(t)?.package_}case"uri-version":{let t=await this.evaluate(e.source,n);return kn(t)?.version}case"subject-uri":{let t=await this.evaluate(e.source,n);if(t instanceof G){let a=t.namespace??"",s=t.name??"";return!a||!s?void 0:`${a}/${s}`}if(t instanceof E){let a=t.subject,s=a.version;return s&&typeof s.major=="number"?`${a.publisher}/${a.package_}@${s.major}.${s.minor}.${s.patch}/${a.name}`:`${a.publisher}/${a.package_}/${a.name}`}return}case"display-label":{let t=await this.resolver.resolveSubject({...e.labelTarget},this.catalog);return t?nn(t,e.labelSource):void 0}case"resolve-ref":{let t=await this.evaluate(e.source,n);return t instanceof G?t:t instanceof E?await this.resolver.resolveSubject(t.subject,this.catalog):Be(t)?await this.resolver.resolveSubject(t,this.catalog):void 0}case"normalize":{let t=await this.evaluate(e.source,n),a=t==null?"":Ve(t);return e.normKind==="trim-end"?a.replace(/[\s\r\n]+$/u,""):e.normKind==="to-upper"?a.toUpperCase():e.normKind==="to-lower"?a.toLowerCase():e.normKind==="first-char"?a.length===0?"":a.charAt(0):a}case"unescaped-string":{let t=await this.evaluate(e.source,n);return{kind:"raw-string",value:t==null?"":Ve(t)}}case"render-markdown":{let t=await this.evaluate(e.source,n);if(!(t instanceof Oe))return;let a;for(let o of t.statement){let i=bn(o);if(i&&ue(i,e.readProp)){a=o;break}}if(!(a instanceof Me)){let o=nn(t,e.readProp);return o==null?void 0:Ve(o)}let s=await this.renderMarkdownLinks(a);return e.format==="html"?Ye(s):s}case"build-ast-node":{let t={kind:e.astClass.name};for(let a of e.set){let s=await this.evaluate(a.value,n);if(s==null||Array.isArray(s)&&s.length===0)continue;let o=a.field.name;xt.has(o)&&(Array.isArray(s)&&s.every(i=>Wn(i))?s=s.map(i=>Yn(i)).join(""):Wn(s)&&(s=Yn(s))),t[o]=s}return t}case"call-fragment":{let t=this.fragments.get(e.fragmentKey);if(!t)throw new Ee(`ExpressionFragment ${e.fragmentKey} not found in registry`);return this.evaluate(t,n)}case"join":return(await this.evaluateList(e.source,n)).map(a=>a==null?"":Ve(a)).join(e.separator);case"count":return(await this.evaluateList(e.source,n)).length;case"sum":{let t=await this.evaluateList(e.source,n),a=0;for(let s of t)a+=de(s,"Sum");return a}case"min":{let t=await this.evaluateList(e.source,n);if(t.length===0)throw new Ee("Min on an empty list is undefined; guard with IsSet");let a=de(t[0],"Min");for(let s=1;s<t.length;s++){let o=de(t[s],"Min");o<a&&(a=o)}return a}case"max":{let t=await this.evaluateList(e.source,n);if(t.length===0)throw new Ee("Max on an empty list is undefined; guard with IsSet");let a=de(t[0],"Max");for(let s=1;s<t.length;s++){let o=de(t[s],"Max");o>a&&(a=o)}return a}case"average":{let t=await this.evaluateList(e.source,n);if(t.length===0)throw new Ee("Average on an empty list is undefined; guard with IsSet");let a=0;for(let s of t)a+=de(s,"Average");return a/t.length}case"for-each":{let t=await this.evaluateList(e.source,n),a=[];for(let s of t){let o=new Map(n);o.set(e.loopVar,$e(s));let i=await this.evaluate(e.emit,o);if(i!=null)if(Array.isArray(i))for(let c of i)a.push(c);else a.push(i)}return a}case"list-map":{let t=await this.evaluateList(e.source,n),a=[];for(let s of t){let o=new Map(n);o.set(e.loopVar,$e(s)),a.push(await this.evaluate(e.mapBody,o))}return a}case"filter":{let t=await this.evaluateList(e.source,n),a=[];for(let s of t){let o=new Map(n);o.set(e.loopVar,$e(s)),await this.evaluate(e.predicate,o)===!0&&a.push(s)}return a}case"partition-by":{let t=await this.evaluateList(e.source,n),a=new Map,s=[];for(let o of t){let i=new Map(n);i.set(e.loopVar,$e(o));let c=await this.evaluate(e.partitionKey,i),l=Zn(c),d=a.get(l);d||(d={kind:"Partition",key:c,members:[]},a.set(l,d),s.push(l)),d.members.push(o)}return s.map(o=>a.get(o))}case"distinct-by":{let t=await this.evaluateList(e.source,n),a=new Set,s=[];for(let o of t){let i=new Map(n);i.set(e.loopVar,$e(o));let c=await this.evaluate(e.distinctKey,i),l=Zn(c);a.has(l)||(a.add(l),s.push(o))}return s}case"all-statements":{let t=await this.evaluate(e.source,n);return t instanceof Oe?t.statement:[]}case"statement-predicate":{let t=await this.evaluate(e.source,n);if(hn(t)){let a=t.predicate;if(a instanceof E)return a}return}case"statement-value":{let t=await this.evaluate(e.source,n);return hn(t)?Pt(t):void 0}case"date-format":{let t=await this.evaluate(e.source,n),a=t==null?"":Ve(t);return a?Nt(a,e.format):""}case"add":{let t=de(await this.evaluate(e.left,n),"Add"),a=de(await this.evaluate(e.right,n),"Add");return t+a}case"subtract":{let t=de(await this.evaluate(e.left,n),"Subtract"),a=de(await this.evaluate(e.right,n),"Subtract");return t-a}case"multiply":{let t=de(await this.evaluate(e.left,n),"Multiply"),a=de(await this.evaluate(e.right,n),"Multiply");return t*a}case"divide":{let t=de(await this.evaluate(e.left,n),"Divide"),a=de(await this.evaluate(e.right,n),"Divide");if(a===0)throw new Ee("Divide by zero; guard with When");return t/a}case"reverse":{if(e.source.kind==="reverse")return this.evaluate(e.source.source,n);let t=await this.evaluateReverseIterator(e.source,n);return t!==void 0?t:[...await this.evaluateList(e.source,n)].reverse()}case"windowed-map":{let t=await this.evaluateList(e.source,n);if(t.length<e.windowSize)return[];let a=[];for(let s=0;s+e.windowSize<=t.length;s++){let o=t.slice(s,s+e.windowSize),i=new Map(n);i.set(e.windowVar,o);let c=await this.evaluate(e.windowBody,i);if(c!=null)if(Array.isArray(c))for(let l of c)a.push(l);else a.push(c)}return a}case"pairwise-map":{let t=await this.evaluateList(e.source,n);if(t.length<2)return[];let a=[];for(let s=0;s+1<t.length;s++){let o=new Map(n);o.set(e.firstVar,$e(t[s])),o.set(e.secondVar,$e(t[s+1]));let i=await this.evaluate(e.pairBody,o);if(i!=null)if(Array.isArray(i))for(let c of i)a.push(c);else a.push(i)}return a}case"scan":{let t=await this.evaluateList(e.source,n);if(t.length===0)return[];let a=await this.evaluate(e.initialState,n),s=[];for(let o of t){let i=new Map(n);i.set(e.stateVar,a),i.set(e.elementVar,$e(o));let c=await this.evaluate(e.accumulate,i);s.push(c),a=c}return s}case"list-item-at":{let t=await this.evaluateList(e.source,n),a=await this.evaluate(e.itemIndex,n);return typeof a!="number"||!Number.isInteger(a)||a<0||a>=t.length?void 0:t[a]}case"equals":{let t=await this.evaluate(e.left,n),a=await this.evaluate(e.right,n);return Xn(t,a)}case"greater-than":{let t=await this.evaluate(e.left,n),a=await this.evaluate(e.right,n);return typeof t!="number"||typeof a!="number"?!1:t>a}case"less-than":{let t=await this.evaluate(e.left,n),a=await this.evaluate(e.right,n);return typeof t!="number"||typeof a!="number"?!1:t<a}case"greater-than-or-equal":{let t=await this.evaluate(e.left,n),a=await this.evaluate(e.right,n);return typeof t!="number"||typeof a!="number"?!1:t>=a}case"less-than-or-equal":{let t=await this.evaluate(e.left,n),a=await this.evaluate(e.right,n);return typeof t!="number"||typeof a!="number"?!1:t<=a}case"not":{let t=await this.evaluate(e.operand,n);return t===!0?!1:t===!1?!0:void 0}case"and":{for(let t of e.operands)if(await this.evaluate(t,n)!==!0)return!1;return!0}case"or":{for(let t of e.operands)if(await this.evaluate(t,n)===!0)return!0;return!1}case"contains":{let t=await this.evaluateList(e.haystack,n),a=await this.evaluate(e.needle,n);for(let s of t)if(Xn(s,a))return!0;return!1}case"abs":{let t=de(await this.evaluate(e.value,n),"Abs");return Math.abs(t)}case"negate":return-de(await this.evaluate(e.value,n),"Negate");case"is-reference":{let t=await this.evaluate(e.check,n);return t instanceof E||t instanceof G}case"is-embedded":return await this.evaluate(e.check,n)instanceof M;case"is-list":{let t=await this.evaluate(e.check,n);return Array.isArray(t)}case"is-string":return typeof await this.evaluate(e.check,n)=="string";case"is-number":return typeof await this.evaluate(e.check,n)=="number";case"is-boolean":return typeof await this.evaluate(e.check,n)=="boolean";case"statement-object":{let t=await this.evaluate(e.source,n);if(!hn(t))return;let a=t;return a instanceof X||a instanceof me||a instanceof re||a instanceof V||a instanceof H||a instanceof T?a.object:void 0}case"let":{let t=await this.evaluate(e.bindValue,n),a=new Map(n);return a.set(e.bindName,t),this.evaluate(e.body,a)}case"get-statement-by-name":{let t=await this.evaluate(e.inSubject,n),a=await this.evaluate(e.byName,n);if(!(t instanceof Oe)||typeof a!="string")return;for(let s of t.statement)if(s.predicate?.subject?.name===a)return s;return}default:{let t=e;throw new Ee("Unknown expression kind")}}}async renderMarkdownLinks(e){let n=e.object,t="",a=0;for(let s of e.links){if(t+=n.slice(a,s.startOffset),s.target){let o=s.target.subject,i=s.displayText??await this.resolveLabel(o)??o.name;t+=`[${i}](${Vn(o)})`}else t+=s.displayText??s.reference;a=s.endOffset}return t+=n.slice(a),t}async resolveLabel(e){let n=await this.resolver.resolveSubject(e,this.catalog);if(!n)return;let t=nn(n,Ft);return typeof t=="string"?t:void 0}async evaluateList(e,n){let t=await this.evaluate(e,n);return t==null?[]:Array.isArray(t)?t:[t]}async evaluateReverseIterator(e,n){if(e.kind==="pairwise-map"){let t=await this.evaluateList(e.source,n);if(t.length<2)return[];let a=[];for(let s=t.length-1;s>=1;s--){let o=new Map(n);o.set(e.firstVar,$e(t[s-1])),o.set(e.secondVar,$e(t[s]));let i=await this.evaluate(e.pairBody,o);if(i!=null)if(Array.isArray(i))for(let c of i)a.push(c);else a.push(i)}return a}if(e.kind==="for-each"){let t=await this.evaluateList(e.source,n),a=[];for(let s=t.length-1;s>=0;s--){let o=new Map(n);o.set(e.loopVar,$e(t[s]));let i=await this.evaluate(e.emit,o);if(i!=null)if(Array.isArray(i))for(let c of i)a.push(c);else a.push(i)}return a}if(e.kind==="list-map"){let t=await this.evaluateList(e.source,n),a=[];for(let s=t.length-1;s>=0;s--){let o=new Map(n);o.set(e.loopVar,$e(t[s])),a.push(await this.evaluate(e.mapBody,o))}return a}if(e.kind==="windowed-map"){let t=await this.evaluateList(e.source,n);if(t.length<e.windowSize)return[];let a=[];for(let s=t.length-e.windowSize;s>=0;s--){let o=t.slice(s,s+e.windowSize),i=new Map(n);i.set(e.windowVar,o);let c=await this.evaluate(e.windowBody,i);if(c!=null)if(Array.isArray(c))for(let l of c)a.push(l);else a.push(c)}return a}}};function nn(r,e){if(r instanceof Oe)return Tt(r,e);if(At(r))return ue(e,u.key)?r.key:ue(e,u.members)?r.members:void 0}function Tt(r,e){for(let n of r.statement){let t=bn(n);if(!(!t||!ue(t,e))&&(n instanceof X||n instanceof me||n instanceof re||n instanceof V||n instanceof H||n instanceof T))return n.object}}function Vt(r,e){let n=[];for(let t of r.statement){let a=bn(t);if(!(!a||!ue(a,e))){if(t instanceof V)n.push(t.object.subject);else if(t instanceof T)for(let s of t.object)s instanceof E&&n.push(s.subject)}}return n}function bn(r){return r.predicate?.subject}function Ve(r){if(r==null)return"";if(typeof r=="string")return r;if(typeof r=="number"||typeof r=="boolean")return String(r);if(Ae(r))return r.value;if(r instanceof Oe)return r.name??"";if(r instanceof E)return r.subject.name;if(Be(r))return r.name;let e=r.value;return typeof e=="string"?e:typeof e=="number"||typeof e=="boolean"?String(e):""}function $e(r){return r!==null&&typeof r=="object"&&!Array.isArray(r)&&!(r instanceof Oe)&&!(r instanceof E)&&!(r instanceof M)&&"value"in r?r.value:r}function qn(r){return r==null?!1:typeof r=="string"||Array.isArray(r)?r.length>0:typeof r=="boolean"?r===!0:!0}function Be(r){return typeof r=="object"&&r!==null&&typeof r.publisher=="string"&&typeof r.package_=="string"&&typeof r.name=="string"}function At(r){return typeof r=="object"&&r!==null&&r.kind==="Partition"&&Array.isArray(r.members)}function de(r,e){if(typeof r=="number"&&Number.isFinite(r))return r;throw new Ee(`${e} requires numeric elements; got ${Mt(r)}`)}function kn(r){if(r instanceof G){let e=r.namespace??"",n=e.indexOf("/"),t=e.indexOf("@",n+1);return n<0||t<0?void 0:{publisher:e.substring(0,n),package_:e.substring(n+1,t),version:e.substring(t+1),name:r.name??""}}if(r instanceof E){let e=r.subject,n=e.version;return{publisher:e.publisher,package_:e.package_,version:n&&typeof n.major=="number"?`${n.major}.${n.minor}.${n.patch}`:"",name:e.name}}if(Be(r))return{publisher:r.publisher,package_:r.package_,version:"",name:r.name}}var xt=new Set(["stringValue","text","rawContent","key","propertyKey","linkLabel"]);function Wn(r){return typeof r=="string"||typeof r=="number"||typeof r=="boolean"||Ae(r)}function Yn(r){return Ae(r)?r.value:String(r)}function Mt(r){return r===void 0?"undefined":r===null?"null":Array.isArray(r)?`array(${r.length})`:typeof r}function Nt(r,e){let n=new Date(r);if(isNaN(n.getTime()))return"";let t=n.getUTCFullYear(),a=["January","February","March","April","May","June","July","August","September","October","November","December"][n.getUTCMonth()],s=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][n.getUTCMonth()],o=n.getUTCDate(),i=(c,l=2)=>String(c).padStart(l,"0");switch(e){case"iso-date":return`${t}-${i(n.getUTCMonth()+1)}-${i(o)}`;case"iso-datetime":return`${t}-${i(n.getUTCMonth()+1)}-${i(o)}T${i(n.getUTCHours())}:${i(n.getUTCMinutes())}:${i(n.getUTCSeconds())}Z`;case"short-date":return`${s} ${o}`;case"long-date":return`${a} ${o}, ${t}`;case"year":return String(t);case"month-year":return`${a} ${t}`}}function Xn(r,e){if(r==null||e===void 0||e===null)return!1;if(r===e)return!0;let n=typeof r=="object"&&"value"in r?r.value:void 0,t=typeof e=="object"&&"value"in e?e.value:void 0,a=n??r,s=t??e,o=Jn(r),i=Jn(e);return o&&i?o.publisher===i.publisher&&o.package_===i.package_&&o.name===i.name:typeof a=="string"&&typeof s=="string"||typeof a=="number"&&typeof s=="number"||typeof a=="boolean"&&typeof s=="boolean"?a===s:!1}function Jn(r){if(r instanceof E){let e=r.subject;return{publisher:e.publisher,package_:e.package_,name:e.name}}if(r instanceof G){let e=r.namespace??"",n=e.indexOf("/"),t=e.indexOf("@",n+1);if(n<0)return;let a=e.substring(0,n),s=t>=0?e.substring(n+1,t):e.substring(n+1);return{publisher:a,package_:s,name:r.name??""}}if(Be(r))return{publisher:r.publisher,package_:r.package_,name:r.name}}function hn(r){return r instanceof X||r instanceof me||r instanceof re||r instanceof V||r instanceof H||r instanceof T}function Pt(r){return r instanceof X||r instanceof me||r instanceof re?String(r.object??""):r instanceof V?r.object?.subject?.name??"":r instanceof H?"[embedded]":r instanceof T?(r.object??[]).map(n=>{if(n instanceof E)return n.subject.name;let t=n.name;if(t&&t.length>0)return t;let a=n.value;return typeof a=="string"||typeof a=="number"||typeof a=="boolean"?String(a):"[embedded]"}).join(", "):""}function Zn(r){if(r===void 0)return"\0undef";if(r===null)return"\0null";if(typeof r=="string")return`s:${r}`;if(typeof r=="number")return`n:${r}`;if(typeof r=="boolean")return`b:${r}`;if(r instanceof E){let e=r.subject;return`r:${e.publisher}/${e.package_}/${e.name}`}if(r instanceof Oe){let e=r.name??"";return`k:${r.namespace??""}/${e}`}return Be(r)?`u:${r.publisher}/${r.package_}/${r.name}`:`o:${JSON.stringify(r)}`}var q=class extends Error{constructor(n,t){super(`${n} (at ${t})`);this.path=t}path};function us(r,e){let n=r.name,t=Zt(e),a={catalog:e,depth:0};if(w(r,u.InstanceTransformation))return Dt(r,n,a,t);if(w(r,u.SetTransformation))return Bt(r,n,a,t);throw new q("Subject is not a recognized v3 transformation type \u2014 expected InstanceTransformation or SetTransformation",n)}function Dt(r,e,n,t){return{kind:"instance",name:r.name,inputPattern:rt(r,e),rule:tn(r,u.rule,`${e}.rule`,n),artifactName:tn(r,u.artifactName,`${e}.artifactName`,n),outputs:st(r,`${e}.outputs`),overrides:ot(r,`${e}.formatOverrides`,n),fragments:t}}function Bt(r,e,n,t){let a=Ie(r,u.partitionBy);return{kind:"set",name:r.name,inputPattern:rt(r,e),rule:tn(r,u.rule,`${e}.rule`,n),artifactName:tn(r,u.artifactName,`${e}.artifactName`,n),outputs:st(r,`${e}.outputs`),overrides:ot(r,`${e}.formatOverrides`,n),partitionBy:a,fragments:t}}function rt(r,e){let n=Je(r,u.inputPattern);if(!n)throw new q("inputPattern is required",e);return Ht(n,`${e}.inputPattern`)}function Ht(r,e){let n=Ie(r,u.matchesClass);if(!n)throw new q("matchesClass is required",e);let t=[];for(let o of ve(r,u.requires))if(o instanceof V)t.push($n(o.object.subject));else if(o instanceof T)for(let i of o.object)i instanceof E&&t.push($n(i.subject));let a=[],s=0;for(let o of ve(r,u.sortBy))if(o instanceof T)for(let i of o.object)i instanceof M&&a.push(Qn(i,`${e}.sortBy[${s++}]`));else o instanceof H&&a.push(Qn(o.object,`${e}.sortBy[${s++}]`));return{matchesClass:n,requires:t,sortBy:a}}function Qn(r,e){let n=Ie(r,u.byProperty);if(!n)throw new q("SortKey.byProperty is required",e);let t=Ie(r,u.order);if(!t)throw new q("SortKey.order is required",e);if(ue(t,u.ascending))return{byProperty:n,order:"ascending"};if(ue(t,u.descending))return{byProperty:n,order:"descending"};throw new q(`SortKey.order must reference tx.ascending or tx.descending; got ${t.publisher}/${t.package_}/${t.name}`,e)}function tn(r,e,n,t){let a=Je(r,e);if(!a)throw new q("expression is required",n);return Ue(a,n,t)}function Ue(r,e,n){if(w(r,u.StringLiteral))return{kind:"string-literal",value:he(r,u.stringLiteral,e)};if(w(r,u.IntegerLiteral))return{kind:"integer-literal",value:at(r,u.integerLiteral,e)};if(w(r,u.DecimalLiteral))return{kind:"decimal-literal",value:at(r,u.decimalLiteral,e)};if(w(r,u.BooleanLiteral))return{kind:"boolean-literal",value:na(r,u.booleanLiteral,e)};if(w(r,u.VarRef))return{kind:"var-ref",varName:he(r,u.varName,e)};if(w(r,u.PropertyRead))return{kind:"property-read",source:y(r,u.readSource,`${e}.readSource`,n),readProp:Ce(r,u.readProp,e,"readProp")};if(w(r,u.Traverse))return{kind:"traverse",source:y(r,u.traverseSource,`${e}.traverseSource`,n),through:Ce(r,u.through,e,"through"),step:y(r,u.step,`${e}.step`,n)};if(w(r,u.BuildAstNode))return{kind:"build-ast-node",astClass:Ce(r,u.astClass,e,"astClass"),set:Gt(r,`${e}.set`,n)};if(w(r,u.When))return{kind:"when",condition:y(r,u.condition,`${e}.condition`,n),thenBuild:y(r,u.thenBuild,`${e}.thenBuild`,n),elseBuild:zt(r,u.elseBuild,`${e}.elseBuild`,n)};if(w(r,u.Concat))return{kind:"concat",parts:vn(r,u.parts,`${e}.parts`,n)};if(w(r,u.Fallback))return{kind:"fallback",primary:y(r,u.primary,`${e}.primary`,n),alternate:y(r,u.alternate,`${e}.alternate`,n)};if(w(r,u.UriName))return{kind:"uri-name",source:y(r,u.uriNameOf,`${e}.uriNameOf`,n)};if(w(r,u.UriPublisher))return{kind:"uri-publisher",source:y(r,u.uriPublisherOf,`${e}.uriPublisherOf`,n)};if(w(r,u.UriPackage))return{kind:"uri-package",source:y(r,u.uriPackageOf,`${e}.uriPackageOf`,n)};if(w(r,u.UriVersion))return{kind:"uri-version",source:y(r,u.uriVersionOf,`${e}.uriVersionOf`,n)};if(w(r,u.SubjectUri))return{kind:"subject-uri",source:y(r,u.subjectOf,`${e}.subjectOf`,n)};if(w(r,u.UriLiteral))return{kind:"uri-literal",refTo:Ce(r,u.refTo,e,"refTo")};if(w(r,u.DisplayLabel))return{kind:"display-label",labelTarget:Ce(r,u.labelTarget,e,"labelTarget"),labelSource:Ce(r,u.labelSource,e,"labelSource")};if(w(r,u.ResolveRef))return{kind:"resolve-ref",source:y(r,u.resolveSource,`${e}.resolveSource`,n)};if(w(r,u.Normalize))return{kind:"normalize",source:y(r,u.normSource,`${e}.normSource`,n),normKind:qt(r,e)};if(w(r,u.UnescapedString))return{kind:"unescaped-string",source:y(r,u.unescapedSource,`${e}.unescapedSource`,n)};if(w(r,u.RenderMarkdown))return{kind:"render-markdown",source:y(r,u.renderSource,`${e}.renderSource`,n),readProp:Ce(r,u.renderProp,e,"renderProp"),format:Wt(r,e)};if(w(r,u.IsSet))return{kind:"is-set",check:y(r,u.checkExpr,`${e}.checkExpr`,n)};if(w(r,u.CallFragment))return Xt(r,e,n);if(w(r,u.Join))return{kind:"join",source:y(r,u.source,`${e}.source`,n),separator:he(r,u.separator,e)};if(w(r,u.Count))return{kind:"count",source:y(r,u.source,`${e}.source`,n)};if(w(r,u.Sum))return{kind:"sum",source:y(r,u.source,`${e}.source`,n)};if(w(r,u.Min))return{kind:"min",source:y(r,u.source,`${e}.source`,n)};if(w(r,u.Max))return{kind:"max",source:y(r,u.source,`${e}.source`,n)};if(w(r,u.Average))return{kind:"average",source:y(r,u.source,`${e}.source`,n)};if(w(r,u.ForEach))return{kind:"for-each",source:y(r,u.source,`${e}.source`,n),loopVar:he(r,u.loopVar,e),emit:y(r,u.emit,`${e}.emit`,n)};if(w(r,u.ListMap))return{kind:"list-map",source:y(r,u.source,`${e}.source`,n),loopVar:he(r,u.loopVar,e),mapBody:y(r,u.mapBody,`${e}.mapBody`,n)};if(w(r,u.Filter))return{kind:"filter",source:y(r,u.source,`${e}.source`,n),loopVar:he(r,u.loopVar,e),predicate:y(r,u.predicate,`${e}.predicate`,n)};if(w(r,u.PartitionBy))return{kind:"partition-by",source:y(r,u.source,`${e}.source`,n),loopVar:he(r,u.loopVar,e),partitionKey:y(r,u.partitionKey,`${e}.partitionKey`,n)};if(w(r,u.DistinctBy))return{kind:"distinct-by",source:y(r,u.source,`${e}.source`,n),loopVar:he(r,u.loopVar,e),distinctKey:y(r,u.distinctKey,`${e}.distinctKey`,n)};if(w(r,u.AllStatements))return{kind:"all-statements",source:y(r,u.statementsOf,`${e}.statementsOf`,n)};if(w(r,u.StatementPredicate))return{kind:"statement-predicate",source:y(r,u.predicateOf,`${e}.predicateOf`,n)};if(w(r,u.StatementValue))return{kind:"statement-value",source:y(r,u.valueOf,`${e}.valueOf`,n)};if(w(r,u.DateFormat))return{kind:"date-format",source:y(r,u.dateSource,`${e}.dateSource`,n),format:Yt(r,e)};if(w(r,u.Add))return{kind:"add",left:y(r,u.arithLeft,`${e}.arithLeft`,n),right:y(r,u.arithRight,`${e}.arithRight`,n)};if(w(r,u.Subtract))return{kind:"subtract",left:y(r,u.arithLeft,`${e}.arithLeft`,n),right:y(r,u.arithRight,`${e}.arithRight`,n)};if(w(r,u.Multiply))return{kind:"multiply",left:y(r,u.arithLeft,`${e}.arithLeft`,n),right:y(r,u.arithRight,`${e}.arithRight`,n)};if(w(r,u.Divide))return{kind:"divide",left:y(r,u.arithLeft,`${e}.arithLeft`,n),right:y(r,u.arithRight,`${e}.arithRight`,n)};if(w(r,u.Reverse))return{kind:"reverse",source:y(r,u.source,`${e}.source`,n)};if(w(r,u.WindowedMap)){let t=it(r,u.windowSize);if(t===void 0||!Number.isInteger(t)||t<1)throw new q("windowSize must be a positive integer",`${e}.windowSize`);return{kind:"windowed-map",source:y(r,u.source,`${e}.source`,n),windowSize:t,windowVar:he(r,u.windowVar,e),windowBody:y(r,u.windowBody,`${e}.windowBody`,n)}}if(w(r,u.PairwiseMap))return{kind:"pairwise-map",source:y(r,u.source,`${e}.source`,n),firstVar:he(r,u.firstVar,e),secondVar:he(r,u.secondVar,e),pairBody:y(r,u.pairBody,`${e}.pairBody`,n)};if(w(r,u.Scan))return{kind:"scan",source:y(r,u.source,`${e}.source`,n),initialState:y(r,u.initialState,`${e}.initialState`,n),stateVar:he(r,u.stateVar,e),elementVar:he(r,u.elementVar,e),accumulate:y(r,u.accumulate,`${e}.accumulate`,n)};if(w(r,u.ListItemAt))return{kind:"list-item-at",source:y(r,u.source,`${e}.source`,n),itemIndex:y(r,u.itemIndex,`${e}.itemIndex`,n)};if(w(r,u.Equals))return{kind:"equals",left:y(r,u.compareLeft,`${e}.compareLeft`,n),right:y(r,u.compareRight,`${e}.compareRight`,n)};if(w(r,u.GreaterThan))return{kind:"greater-than",left:y(r,u.compareLeft,`${e}.compareLeft`,n),right:y(r,u.compareRight,`${e}.compareRight`,n)};if(w(r,u.LessThan))return{kind:"less-than",left:y(r,u.compareLeft,`${e}.compareLeft`,n),right:y(r,u.compareRight,`${e}.compareRight`,n)};if(w(r,u.GreaterThanOrEqual))return{kind:"greater-than-or-equal",left:y(r,u.compareLeft,`${e}.compareLeft`,n),right:y(r,u.compareRight,`${e}.compareRight`,n)};if(w(r,u.LessThanOrEqual))return{kind:"less-than-or-equal",left:y(r,u.compareLeft,`${e}.compareLeft`,n),right:y(r,u.compareRight,`${e}.compareRight`,n)};if(w(r,u.Not))return{kind:"not",operand:y(r,u.operand,`${e}.operand`,n)};if(w(r,u.And))return{kind:"and",operands:vn(r,u.operands,`${e}.operands`,n)};if(w(r,u.Or))return{kind:"or",operands:vn(r,u.operands,`${e}.operands`,n)};if(w(r,u.Contains))return{kind:"contains",haystack:y(r,u.haystack,`${e}.haystack`,n),needle:y(r,u.needle,`${e}.needle`,n)};if(w(r,u.Abs))return{kind:"abs",value:y(r,u.value,`${e}.value`,n)};if(w(r,u.Negate))return{kind:"negate",value:y(r,u.value,`${e}.value`,n)};if(w(r,u.IsReference))return{kind:"is-reference",check:y(r,u.kindCheck,`${e}.kindCheck`,n)};if(w(r,u.IsEmbedded))return{kind:"is-embedded",check:y(r,u.kindCheck,`${e}.kindCheck`,n)};if(w(r,u.IsList))return{kind:"is-list",check:y(r,u.kindCheck,`${e}.kindCheck`,n)};if(w(r,u.IsString))return{kind:"is-string",check:y(r,u.kindCheck,`${e}.kindCheck`,n)};if(w(r,u.IsNumber))return{kind:"is-number",check:y(r,u.kindCheck,`${e}.kindCheck`,n)};if(w(r,u.IsBoolean))return{kind:"is-boolean",check:y(r,u.kindCheck,`${e}.kindCheck`,n)};if(w(r,u.StatementObject))return{kind:"statement-object",source:y(r,u.statementSource,`${e}.statementSource`,n)};if(w(r,u.Let))return{kind:"let",bindName:he(r,u.letName,e),bindValue:y(r,u.letValue,`${e}.letValue`,n),body:y(r,u.letBody,`${e}.letBody`,n)};if(w(r,u.GetStatementByName))return{kind:"get-statement-by-name",inSubject:y(r,u.inSubject,`${e}.inSubject`,n),byName:y(r,u.byName,`${e}.byName`,n)};throw new q("Expression is not of a recognized v3 type \u2014 embedded has no matching subclass of tx.Expression",e)}function y(r,e,n,t){let a=Je(r,e);if(!a)throw new q("child expression is required",n);return Ue(a,n,t)}function zt(r,e,n,t){let a=Je(r,e);if(a)return Ue(a,n,t)}function vn(r,e,n,t){let a=[],s=0;for(let o of ve(r,e))if(o instanceof T)for(let i of o.object)i instanceof M&&a.push(Ue(i,`${n}[${s++}]`,t));else o instanceof H&&a.push(Ue(o.object,`${n}[${s++}]`,t));return a}function Gt(r,e,n){let t=[],a=0;for(let s of ve(r,u.set))if(s instanceof T)for(let o of s.object)o instanceof M&&t.push(et(o,`${e}[${a++}]`,n));else s instanceof H&&t.push(et(s.object,`${e}[${a++}]`,n));return t}function et(r,e,n){return{field:Ce(r,u.field,e,"field"),value:y(r,u.bindValue,`${e}.bindValue`,n)}}function qt(r,e){let n=Ie(r,u.normKind);if(!n)throw new q("normKind is required",e);if(ue(n,u.NORM_TRIM_END))return"trim-end";if(ue(n,u.NORM_TO_UPPER))return"to-upper";if(ue(n,u.NORM_TO_LOWER))return"to-lower";if(ue(n,u.NORM_FIRST_CHAR))return"first-char";throw new q(`Unknown NormalizeKind: ${n.publisher}/${n.package_}/${n.name}`,e)}function Wt(r,e){let n=Ie(r,u.renderFormat);if(!n)throw new q("renderFormat is required",e);if(ue(n,u.RENDER_HTML))return"html";if(ue(n,u.RENDER_MARKDOWN))return"markdown";throw new q(`Unknown RenderFormat: ${n.publisher}/${n.package_}/${n.name}`,e)}var nt=new Set(["iso-date","iso-datetime","short-date","long-date","year","month-year"]);function Yt(r,e){let n=He(r,u.dateFormat);if(!n)throw new q("dateFormat is required",e);if(!nt.has(n))throw new q(`Unknown dateFormat "${n}"; supported: ${[...nt].join(", ")}`,e);return n}function Xt(r,e,n){let t=Ie(r,u.fragmentRef);if(!t)throw new q("fragmentRef is required",e);if(!Qt(n.catalog,t))throw new q(`ExpressionFragment not found: ${t.publisher}/${t.package_}/${t.name}`,e);return{kind:"call-fragment",fragmentKey:Jt(t)}}function Jt(r){return`${r.publisher}/${r.package_}/${r.name}`}function Zt(r){let e=new Map,n=[];for(let t of r){if(!(t instanceof G)||!w(t,u.ExpressionFragment))continue;let a=Je(t,u.body);if(!a)continue;let s=(t.namespace||"").split("@")[0]||"",o=s.indexOf("/");if(o<0)continue;let i=s.substring(0,o),c=s.substring(o+1),l=`${i}/${c}/${t.name}`;n.push({key:l,subject:t,bodyEmb:a,pubPkgName:`${s}/${t.name}`})}for(let t of n){let a=Ue(t.bodyEmb,`fragment(${t.pubPkgName})`,{catalog:r,depth:0});e.set(t.key,a)}return e}function Qt(r,e){for(let n of r)if(!(!(n instanceof G)||n.name!==e.name||!(n.namespace||"").startsWith(`${e.publisher}/${e.package_}@`))&&w(n,u.ExpressionFragment))return n}function st(r,e){let n=new Set;for(let t of ve(r,u.outputs))if(t instanceof V)n.add(t.object.subject.name);else if(t instanceof T)for(let a of t.object)a instanceof E&&n.add(a.subject.name);if(n.size===0)throw new q("outputs is required (at least one OutputFormat)",e);return n}function ot(r,e,n){let t=new Map,a=0;for(let s of ve(r,u.formatOverrides))if(s instanceof T){for(let o of s.object)if(o instanceof M){let[i,c]=tt(o,`${e}[${a++}]`);t.set(i,c)}}else if(s instanceof H){let[o,i]=tt(s.object,`${e}[${a++}]`);t.set(o,i)}return t}function tt(r,e){let n=Ie(r,u.formatTarget);if(!n)throw new q("formatTarget is required",e);let t=[];for(let i of ve(r,u.metadataKeys))if(i instanceof X)t.push(i.object);else if(i instanceof T)for(let c of i.object){let l=c.value;typeof l=="string"&&t.push(l)}let a=new Map;for(let i of ve(r,u.metadataRenames))if(i instanceof T){for(let c of i.object)if(c instanceof M){let l=He(c,u.fromKey),d=He(c,u.toKey);l&&d&&a.set(l,d)}}else if(i instanceof H){let c=i.object,l=He(c,u.fromKey),d=He(c,u.toKey);l&&d&&a.set(l,d)}let s=yn(r,u.trailingNewline),o=yn(r,u.omitWrapper);return[n.name,{metadataKeys:t.length>0?t:void 0,metadataRenames:a,trailingNewline:s,omitWrapper:o}]}function ea(r){return r.predicate?.subject}function ve(r,e){let n=[];for(let t of r.statement){let a=ea(t);a&&ue(a,e)&&n.push(t)}return n}function Je(r,e){for(let n of ve(r,e))if(n instanceof H)return n.object}function Ie(r,e){for(let n of ve(r,e))if(n instanceof V)return $n(n.object.subject)}function He(r,e){for(let n of ve(r,e))if(n instanceof X)return n.object}function it(r,e){for(let n of ve(r,e))if(n instanceof me)return n.object}function yn(r,e){for(let n of ve(r,e))if(n instanceof re)return n.object}function he(r,e,n){let t=He(r,e);if(t===void 0)throw new q(`${e.name} (string) is required`,n);return t}function at(r,e,n){let t=it(r,e);if(t===void 0)throw new q(`${e.name} (number) is required`,n);return t}function na(r,e,n){let t=yn(r,e);if(t===void 0)throw new q(`${e.name} (boolean) is required`,n);return t}function Ce(r,e,n,t){let a=Ie(r,e);if(!a)throw new q(`${t} (URI reference) is required`,n);return a}function $n(r){return{publisher:r.publisher,package_:r.package_,name:r.name}}var an=class{constructor(e,n,t){this.repository=e;this.parser=n;this.objectParser=t}repository;parser;objectParser;cache=new Map;async resolveSubject(e,n){let t=Ne(n,e);if(t)return t;let a=e.version,s=a&&typeof a.major=="number"?`@${a.major}.${a.minor}.${a.patch}`:"",o=`${e.publisher}/${e.package_}${s}`,i=this.cache.get(o);if(!i){let l=await this.repository.getDocumentsByNamespaceAsync(e.publisher,e.package_);if(l.length===0)return;let d=a&&typeof a.major=="number"?l.find(g=>{let m=g.metadata?.namespace_?.version;return m&&m.major===a.major&&m.minor===a.minor&&m.patch===a.patch})??l[0]:l[0],f=new Nn(d,this.repository);i=await this.objectParser.parseKanonaks(f),this.cache.set(o,i)}let c=Ne(i,e);if(c)return c;for(let l of i)if(l instanceof G&&l.name===e.name)return l}};var rn=class{byLang=new Map;constructor(e){for(let n of e){if(!n.language)continue;let t=[];for(let a of n.rules){if(!a.tokenClass||!a.pattern)continue;let s;try{s=new RegExp(a.pattern,"y")}catch{continue}t.push({tokenClass:a.tokenClass,re:s})}this.byLang.set(n.language,t)}}has(e){return this.byLang.has(e)}highlight(e,n){let t=this.byLang.get(e);return!t||t.length===0?De(n):n.split(`
17
+ </table>`}function Pe(r){let e=De(r);return e=e.replace(/`([^`\n]+)`/g,(n,t)=>`<code>${t}</code>`),e=e.replace(/\[([^\]]+)\]\(([^)\s]+)\)/g,(n,t,a)=>`<a href="${Gn(a)}">${t}</a>`),e=e.replace(/\*\*([^*\n]+)\*\*/g,(n,t)=>`<strong>${t}</strong>`),e=e.replace(/(^|[^*])\*([^*\n]+)\*(?!\*)/g,(n,t,a)=>`${t}<em>${a}</em>`),e=e.replace(/(^|[\s(])_([^_\n]+)_(?=[\s).,;:!?]|$)/g,(n,t,a)=>`${t}<em>${a}</em>`),e}function De(r){return r.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function Gn(r){return r.replace(/"/g,"&quot;").replace(/&/g,"&amp;")}var Ft={publisher:"kanonak.org",package_:"core-rdf",name:"label"};function Ae(r){return typeof r=="object"&&r!==null&&r.kind==="raw-string"}var Ee=class extends Error{},Xe=class{constructor(e,n,t=new Map){this.resolver=e;this.catalog=n;this.fragments=t}resolver;catalog;fragments;async evaluate(e,n){switch(e.kind){case"string-literal":return e.value;case"integer-literal":return e.value;case"decimal-literal":return e.value;case"boolean-literal":return e.value;case"uri-literal":return{...e.refTo};case"var-ref":{if(!n.has(e.varName))throw new Ee(`Unbound variable "${e.varName}"`);return n.get(e.varName)}case"concat":{let t=[];for(let a of e.parts){let s=await this.evaluate(a,n);if(s!=null)if(Array.isArray(s))for(let o of s)t.push(o);else t.push(s)}return t}case"fallback":{let t=await this.evaluate(e.primary,n);return qn(t)?t:this.evaluate(e.alternate,n)}case"when":return await this.evaluate(e.condition,n)===!0?this.evaluate(e.thenBuild,n):e.elseBuild?this.evaluate(e.elseBuild,n):void 0;case"is-set":{let t=await this.evaluate(e.check,n);return qn(t)}case"property-read":{let t=await this.evaluate(e.source,n);return nn(t,e.readProp)}case"traverse":{let t=await this.evaluate(e.source,n);if(!(t instanceof Oe))return;let a=Vt(t,e.through),s=[];for(let o of a){let i=ke(this.catalog,o),c=i.length>0?i:[await this.resolver.resolveSubject(o,this.catalog)];for(let l of c){if(!l)continue;let d=new Map(n);d.set("input",l);let f=await this.evaluate(e.step,d);if(f!=null&&Ve(f)!==""){s.push(Ve(f));break}}}return s.join("")}case"uri-name":{let t=await this.evaluate(e.source,n);return Be(t)?t.name:t instanceof E?t.subject.name:t instanceof G?t.name:t instanceof M?t.name??"":void 0}case"uri-publisher":{let t=await this.evaluate(e.source,n);return kn(t)?.publisher}case"uri-package":{let t=await this.evaluate(e.source,n);return kn(t)?.package_}case"uri-version":{let t=await this.evaluate(e.source,n);return kn(t)?.version}case"subject-uri":{let t=await this.evaluate(e.source,n);if(t instanceof G){let a=t.namespace??"",s=t.name??"";return!a||!s?void 0:`${a}/${s}`}if(t instanceof E){let a=t.subject,s=a.version;return s&&typeof s.major=="number"?`${a.publisher}/${a.package_}@${s.major}.${s.minor}.${s.patch}/${a.name}`:`${a.publisher}/${a.package_}/${a.name}`}return}case"display-label":{let t=await this.resolver.resolveSubject({...e.labelTarget},this.catalog);return t?nn(t,e.labelSource):void 0}case"resolve-ref":{let t=await this.evaluate(e.source,n);return t instanceof G?t:t instanceof E?await this.resolver.resolveSubject(t.subject,this.catalog):Be(t)?await this.resolver.resolveSubject(t,this.catalog):void 0}case"normalize":{let t=await this.evaluate(e.source,n),a=t==null?"":Ve(t);return e.normKind==="trim-end"?a.replace(/[\s\r\n]+$/u,""):e.normKind==="to-upper"?a.toUpperCase():e.normKind==="to-lower"?a.toLowerCase():e.normKind==="first-char"?a.length===0?"":a.charAt(0):a}case"unescaped-string":{let t=await this.evaluate(e.source,n);return{kind:"raw-string",value:t==null?"":Ve(t)}}case"render-markdown":{let t=await this.evaluate(e.source,n);if(!(t instanceof Oe))return;let a;for(let o of t.statement){let i=bn(o);if(i&&ue(i,e.readProp)){a=o;break}}if(!(a instanceof Me)){let o=nn(t,e.readProp);return o==null?void 0:Ve(o)}let s=await this.renderMarkdownLinks(a);return e.format==="html"?Ye(s):s}case"build-ast-node":{let t={kind:e.astClass.name};for(let a of e.set){let s=await this.evaluate(a.value,n);if(s==null||Array.isArray(s)&&s.length===0)continue;let o=a.field.name;xt.has(o)&&(Array.isArray(s)&&s.every(i=>Wn(i))?s=s.map(i=>Yn(i)).join(""):Wn(s)&&(s=Yn(s))),t[o]=s}return t}case"call-fragment":{let t=this.fragments.get(e.fragmentKey);if(!t)throw new Ee(`ExpressionFragment ${e.fragmentKey} not found in registry`);return this.evaluate(t,n)}case"join":return(await this.evaluateList(e.source,n)).map(a=>a==null?"":Ve(a)).join(e.separator);case"count":return(await this.evaluateList(e.source,n)).length;case"sum":{let t=await this.evaluateList(e.source,n),a=0;for(let s of t)a+=de(s,"Sum");return a}case"min":{let t=await this.evaluateList(e.source,n);if(t.length===0)throw new Ee("Min on an empty list is undefined; guard with IsSet");let a=de(t[0],"Min");for(let s=1;s<t.length;s++){let o=de(t[s],"Min");o<a&&(a=o)}return a}case"max":{let t=await this.evaluateList(e.source,n);if(t.length===0)throw new Ee("Max on an empty list is undefined; guard with IsSet");let a=de(t[0],"Max");for(let s=1;s<t.length;s++){let o=de(t[s],"Max");o>a&&(a=o)}return a}case"average":{let t=await this.evaluateList(e.source,n);if(t.length===0)throw new Ee("Average on an empty list is undefined; guard with IsSet");let a=0;for(let s of t)a+=de(s,"Average");return a/t.length}case"for-each":{let t=await this.evaluateList(e.source,n),a=[];for(let s of t){let o=new Map(n);o.set(e.loopVar,$e(s));let i=await this.evaluate(e.emit,o);if(i!=null)if(Array.isArray(i))for(let c of i)a.push(c);else a.push(i)}return a}case"list-map":{let t=await this.evaluateList(e.source,n),a=[];for(let s of t){let o=new Map(n);o.set(e.loopVar,$e(s)),a.push(await this.evaluate(e.mapBody,o))}return a}case"filter":{let t=await this.evaluateList(e.source,n),a=[];for(let s of t){let o=new Map(n);o.set(e.loopVar,$e(s)),await this.evaluate(e.predicate,o)===!0&&a.push(s)}return a}case"partition-by":{let t=await this.evaluateList(e.source,n),a=new Map,s=[];for(let o of t){let i=new Map(n);i.set(e.loopVar,$e(o));let c=await this.evaluate(e.partitionKey,i),l=Zn(c),d=a.get(l);d||(d={kind:"Partition",key:c,members:[]},a.set(l,d),s.push(l)),d.members.push(o)}return s.map(o=>a.get(o))}case"distinct-by":{let t=await this.evaluateList(e.source,n),a=new Set,s=[];for(let o of t){let i=new Map(n);i.set(e.loopVar,$e(o));let c=await this.evaluate(e.distinctKey,i),l=Zn(c);a.has(l)||(a.add(l),s.push(o))}return s}case"all-statements":{let t=await this.evaluate(e.source,n);return t instanceof Oe?t.statement:[]}case"statement-predicate":{let t=await this.evaluate(e.source,n);if(hn(t)){let a=t.predicate;if(a instanceof E)return a}return}case"statement-value":{let t=await this.evaluate(e.source,n);return hn(t)?Pt(t):void 0}case"date-format":{let t=await this.evaluate(e.source,n),a=t==null?"":Ve(t);return a?Nt(a,e.format):""}case"add":{let t=de(await this.evaluate(e.left,n),"Add"),a=de(await this.evaluate(e.right,n),"Add");return t+a}case"subtract":{let t=de(await this.evaluate(e.left,n),"Subtract"),a=de(await this.evaluate(e.right,n),"Subtract");return t-a}case"multiply":{let t=de(await this.evaluate(e.left,n),"Multiply"),a=de(await this.evaluate(e.right,n),"Multiply");return t*a}case"divide":{let t=de(await this.evaluate(e.left,n),"Divide"),a=de(await this.evaluate(e.right,n),"Divide");if(a===0)throw new Ee("Divide by zero; guard with When");return t/a}case"reverse":{if(e.source.kind==="reverse")return this.evaluate(e.source.source,n);let t=await this.evaluateReverseIterator(e.source,n);return t!==void 0?t:[...await this.evaluateList(e.source,n)].reverse()}case"windowed-map":{let t=await this.evaluateList(e.source,n);if(t.length<e.windowSize)return[];let a=[];for(let s=0;s+e.windowSize<=t.length;s++){let o=t.slice(s,s+e.windowSize),i=new Map(n);i.set(e.windowVar,o);let c=await this.evaluate(e.windowBody,i);if(c!=null)if(Array.isArray(c))for(let l of c)a.push(l);else a.push(c)}return a}case"pairwise-map":{let t=await this.evaluateList(e.source,n);if(t.length<2)return[];let a=[];for(let s=0;s+1<t.length;s++){let o=new Map(n);o.set(e.firstVar,$e(t[s])),o.set(e.secondVar,$e(t[s+1]));let i=await this.evaluate(e.pairBody,o);if(i!=null)if(Array.isArray(i))for(let c of i)a.push(c);else a.push(i)}return a}case"scan":{let t=await this.evaluateList(e.source,n);if(t.length===0)return[];let a=await this.evaluate(e.initialState,n),s=[];for(let o of t){let i=new Map(n);i.set(e.stateVar,a),i.set(e.elementVar,$e(o));let c=await this.evaluate(e.accumulate,i);s.push(c),a=c}return s}case"list-item-at":{let t=await this.evaluateList(e.source,n),a=await this.evaluate(e.itemIndex,n);return typeof a!="number"||!Number.isInteger(a)||a<0||a>=t.length?void 0:t[a]}case"equals":{let t=await this.evaluate(e.left,n),a=await this.evaluate(e.right,n);return Xn(t,a)}case"greater-than":{let t=await this.evaluate(e.left,n),a=await this.evaluate(e.right,n);return typeof t!="number"||typeof a!="number"?!1:t>a}case"less-than":{let t=await this.evaluate(e.left,n),a=await this.evaluate(e.right,n);return typeof t!="number"||typeof a!="number"?!1:t<a}case"greater-than-or-equal":{let t=await this.evaluate(e.left,n),a=await this.evaluate(e.right,n);return typeof t!="number"||typeof a!="number"?!1:t>=a}case"less-than-or-equal":{let t=await this.evaluate(e.left,n),a=await this.evaluate(e.right,n);return typeof t!="number"||typeof a!="number"?!1:t<=a}case"not":{let t=await this.evaluate(e.operand,n);return t===!0?!1:t===!1?!0:void 0}case"and":{for(let t of e.operands)if(await this.evaluate(t,n)!==!0)return!1;return!0}case"or":{for(let t of e.operands)if(await this.evaluate(t,n)===!0)return!0;return!1}case"contains":{let t=await this.evaluateList(e.haystack,n),a=await this.evaluate(e.needle,n);for(let s of t)if(Xn(s,a))return!0;return!1}case"abs":{let t=de(await this.evaluate(e.value,n),"Abs");return Math.abs(t)}case"negate":return-de(await this.evaluate(e.value,n),"Negate");case"is-reference":{let t=await this.evaluate(e.check,n);return t instanceof E||t instanceof G}case"is-embedded":return await this.evaluate(e.check,n)instanceof M;case"is-list":{let t=await this.evaluate(e.check,n);return Array.isArray(t)}case"is-string":return typeof await this.evaluate(e.check,n)=="string";case"is-number":return typeof await this.evaluate(e.check,n)=="number";case"is-boolean":return typeof await this.evaluate(e.check,n)=="boolean";case"statement-object":{let t=await this.evaluate(e.source,n);if(!hn(t))return;let a=t;return a instanceof X||a instanceof me||a instanceof re||a instanceof V||a instanceof H||a instanceof T?a.object:void 0}case"let":{let t=await this.evaluate(e.bindValue,n),a=new Map(n);return a.set(e.bindName,t),this.evaluate(e.body,a)}case"get-statement-by-name":{let t=await this.evaluate(e.inSubject,n),a=await this.evaluate(e.byName,n);if(!(t instanceof Oe)||typeof a!="string")return;for(let s of t.statement)if(s.predicate?.subject?.name===a)return s;return}default:{let t=e;throw new Ee("Unknown expression kind")}}}async renderMarkdownLinks(e){let n=e.object,t="",a=0;for(let s of e.links){if(t+=n.slice(a,s.startOffset),s.target){let o=s.target.subject,i=s.displayText??await this.resolveLabel(o)??o.name;t+=`[${i}](${Vn(o)})`}else t+=s.displayText??s.reference;a=s.endOffset}return t+=n.slice(a),t}async resolveLabel(e){let n=await this.resolver.resolveSubject(e,this.catalog);if(!n)return;let t=nn(n,Ft);return typeof t=="string"?t:void 0}async evaluateList(e,n){let t=await this.evaluate(e,n);return t==null?[]:Array.isArray(t)?t:[t]}async evaluateReverseIterator(e,n){if(e.kind==="pairwise-map"){let t=await this.evaluateList(e.source,n);if(t.length<2)return[];let a=[];for(let s=t.length-1;s>=1;s--){let o=new Map(n);o.set(e.firstVar,$e(t[s-1])),o.set(e.secondVar,$e(t[s]));let i=await this.evaluate(e.pairBody,o);if(i!=null)if(Array.isArray(i))for(let c of i)a.push(c);else a.push(i)}return a}if(e.kind==="for-each"){let t=await this.evaluateList(e.source,n),a=[];for(let s=t.length-1;s>=0;s--){let o=new Map(n);o.set(e.loopVar,$e(t[s]));let i=await this.evaluate(e.emit,o);if(i!=null)if(Array.isArray(i))for(let c of i)a.push(c);else a.push(i)}return a}if(e.kind==="list-map"){let t=await this.evaluateList(e.source,n),a=[];for(let s=t.length-1;s>=0;s--){let o=new Map(n);o.set(e.loopVar,$e(t[s])),a.push(await this.evaluate(e.mapBody,o))}return a}if(e.kind==="windowed-map"){let t=await this.evaluateList(e.source,n);if(t.length<e.windowSize)return[];let a=[];for(let s=t.length-e.windowSize;s>=0;s--){let o=t.slice(s,s+e.windowSize),i=new Map(n);i.set(e.windowVar,o);let c=await this.evaluate(e.windowBody,i);if(c!=null)if(Array.isArray(c))for(let l of c)a.push(l);else a.push(c)}return a}}};function nn(r,e){if(r instanceof Oe)return Tt(r,e);if(At(r))return ue(e,u.key)?r.key:ue(e,u.members)?r.members:void 0}function Tt(r,e){for(let n of r.statement){let t=bn(n);if(!(!t||!ue(t,e))&&(n instanceof X||n instanceof me||n instanceof re||n instanceof V||n instanceof H||n instanceof T))return n.object}}function Vt(r,e){let n=[];for(let t of r.statement){let a=bn(t);if(!(!a||!ue(a,e))){if(t instanceof V)n.push(t.object.subject);else if(t instanceof T)for(let s of t.object)s instanceof E&&n.push(s.subject)}}return n}function bn(r){return r.predicate?.subject}function Ve(r){if(r==null)return"";if(typeof r=="string")return r;if(typeof r=="number"||typeof r=="boolean")return String(r);if(Ae(r))return r.value;if(r instanceof Oe)return r.name??"";if(r instanceof E)return r.subject.name;if(Be(r))return r.name;let e=r.value;return typeof e=="string"?e:typeof e=="number"||typeof e=="boolean"?String(e):""}function $e(r){return r!==null&&typeof r=="object"&&!Array.isArray(r)&&!(r instanceof Oe)&&!(r instanceof E)&&!(r instanceof M)&&"value"in r?r.value:r}function qn(r){return r==null?!1:typeof r=="string"||Array.isArray(r)?r.length>0:typeof r=="boolean"?r===!0:!0}function Be(r){return typeof r=="object"&&r!==null&&typeof r.publisher=="string"&&typeof r.package_=="string"&&typeof r.name=="string"}function At(r){return typeof r=="object"&&r!==null&&r.kind==="Partition"&&Array.isArray(r.members)}function de(r,e){if(typeof r=="number"&&Number.isFinite(r))return r;throw new Ee(`${e} requires numeric elements; got ${Mt(r)}`)}function kn(r){if(r instanceof G){let e=r.namespace??"",n=e.indexOf("/"),t=e.indexOf("@",n+1);return n<0||t<0?void 0:{publisher:e.substring(0,n),package_:e.substring(n+1,t),version:e.substring(t+1),name:r.name??""}}if(r instanceof E){let e=r.subject,n=e.version;return{publisher:e.publisher,package_:e.package_,version:n&&typeof n.major=="number"?`${n.major}.${n.minor}.${n.patch}`:"",name:e.name}}if(Be(r))return{publisher:r.publisher,package_:r.package_,version:"",name:r.name}}var xt=new Set(["stringValue","text","rawContent","key","propertyKey","linkLabel"]);function Wn(r){return typeof r=="string"||typeof r=="number"||typeof r=="boolean"||Ae(r)}function Yn(r){return Ae(r)?r.value:String(r)}function Mt(r){return r===void 0?"undefined":r===null?"null":Array.isArray(r)?`array(${r.length})`:typeof r}function Nt(r,e){let n=new Date(r);if(isNaN(n.getTime()))return"";let t=n.getUTCFullYear(),a=["January","February","March","April","May","June","July","August","September","October","November","December"][n.getUTCMonth()],s=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][n.getUTCMonth()],o=n.getUTCDate(),i=(c,l=2)=>String(c).padStart(l,"0");switch(e){case"iso-date":return`${t}-${i(n.getUTCMonth()+1)}-${i(o)}`;case"iso-datetime":return`${t}-${i(n.getUTCMonth()+1)}-${i(o)}T${i(n.getUTCHours())}:${i(n.getUTCMinutes())}:${i(n.getUTCSeconds())}Z`;case"short-date":return`${s} ${o}`;case"long-date":return`${a} ${o}, ${t}`;case"year":return String(t);case"month-year":return`${a} ${t}`}}function Xn(r,e){if(r==null||e===void 0||e===null)return!1;if(r===e)return!0;let n=typeof r=="object"&&"value"in r?r.value:void 0,t=typeof e=="object"&&"value"in e?e.value:void 0,a=n??r,s=t??e,o=Jn(r),i=Jn(e);return o&&i?o.publisher===i.publisher&&o.package_===i.package_&&o.name===i.name:typeof a=="string"&&typeof s=="string"||typeof a=="number"&&typeof s=="number"||typeof a=="boolean"&&typeof s=="boolean"?a===s:!1}function Jn(r){if(r instanceof E){let e=r.subject;return{publisher:e.publisher,package_:e.package_,name:e.name}}if(r instanceof G){let e=r.namespace??"",n=e.indexOf("/"),t=e.indexOf("@",n+1);if(n<0)return;let a=e.substring(0,n),s=t>=0?e.substring(n+1,t):e.substring(n+1);return{publisher:a,package_:s,name:r.name??""}}if(Be(r))return{publisher:r.publisher,package_:r.package_,name:r.name}}function hn(r){return r instanceof X||r instanceof me||r instanceof re||r instanceof V||r instanceof H||r instanceof T}function Pt(r){return r instanceof X||r instanceof me||r instanceof re?String(r.object??""):r instanceof V?r.object?.subject?.name??"":r instanceof H?"[embedded]":r instanceof T?(r.object??[]).map(n=>{if(n instanceof E)return n.subject.name;let t=n.name;if(t&&t.length>0)return t;let a=n.value;return typeof a=="string"||typeof a=="number"||typeof a=="boolean"?String(a):"[embedded]"}).join(", "):""}function Zn(r){if(r===void 0)return"\0undef";if(r===null)return"\0null";if(typeof r=="string")return`s:${r}`;if(typeof r=="number")return`n:${r}`;if(typeof r=="boolean")return`b:${r}`;if(r instanceof E){let e=r.subject;return`r:${e.publisher}/${e.package_}/${e.name}`}if(r instanceof Oe){let e=r.name??"";return`k:${r.namespace??""}/${e}`}return Be(r)?`u:${r.publisher}/${r.package_}/${r.name}`:`o:${JSON.stringify(r)}`}var q=class extends Error{constructor(n,t){super(`${n} (at ${t})`);this.path=t}path};function us(r,e){let n=r.name,t=Zt(e),a={catalog:e,depth:0};if(w(r,u.InstanceTransformation))return Dt(r,n,a,t);if(w(r,u.SetTransformation))return Bt(r,n,a,t);throw new q("Subject is not a recognized v3 transformation type \u2014 expected InstanceTransformation or SetTransformation",n)}function Dt(r,e,n,t){return{kind:"instance",name:r.name,inputPattern:rt(r,e),rule:tn(r,u.rule,`${e}.rule`,n),artifactName:tn(r,u.artifactName,`${e}.artifactName`,n),outputs:st(r,`${e}.outputs`),overrides:ot(r,`${e}.formatOverrides`,n),fragments:t}}function Bt(r,e,n,t){let a=Ie(r,u.partitionBy);return{kind:"set",name:r.name,inputPattern:rt(r,e),rule:tn(r,u.rule,`${e}.rule`,n),artifactName:tn(r,u.artifactName,`${e}.artifactName`,n),outputs:st(r,`${e}.outputs`),overrides:ot(r,`${e}.formatOverrides`,n),partitionBy:a,fragments:t}}function rt(r,e){let n=Je(r,u.inputPattern);if(!n)throw new q("inputPattern is required",e);return Ht(n,`${e}.inputPattern`)}function Ht(r,e){let n=Ie(r,u.matchesClass);if(!n)throw new q("matchesClass is required",e);let t=[];for(let o of ve(r,u.requires))if(o instanceof V)t.push($n(o.object.subject));else if(o instanceof T)for(let i of o.object)i instanceof E&&t.push($n(i.subject));let a=[],s=0;for(let o of ve(r,u.sortBy))if(o instanceof T)for(let i of o.object)i instanceof M&&a.push(Qn(i,`${e}.sortBy[${s++}]`));else o instanceof H&&a.push(Qn(o.object,`${e}.sortBy[${s++}]`));return{matchesClass:n,requires:t,sortBy:a}}function Qn(r,e){let n=Ie(r,u.byProperty);if(!n)throw new q("SortKey.byProperty is required",e);let t=Ie(r,u.order);if(!t)throw new q("SortKey.order is required",e);if(ue(t,u.ascending))return{byProperty:n,order:"ascending"};if(ue(t,u.descending))return{byProperty:n,order:"descending"};throw new q(`SortKey.order must reference tx.ascending or tx.descending; got ${t.publisher}/${t.package_}/${t.name}`,e)}function tn(r,e,n,t){let a=Je(r,e);if(!a)throw new q("expression is required",n);return Ue(a,n,t)}function Ue(r,e,n){if(w(r,u.StringLiteral))return{kind:"string-literal",value:he(r,u.stringLiteral,e)};if(w(r,u.IntegerLiteral))return{kind:"integer-literal",value:at(r,u.integerLiteral,e)};if(w(r,u.DecimalLiteral))return{kind:"decimal-literal",value:at(r,u.decimalLiteral,e)};if(w(r,u.BooleanLiteral))return{kind:"boolean-literal",value:na(r,u.booleanLiteral,e)};if(w(r,u.VarRef))return{kind:"var-ref",varName:he(r,u.varName,e)};if(w(r,u.PropertyRead))return{kind:"property-read",source:y(r,u.readSource,`${e}.readSource`,n),readProp:Ce(r,u.readProp,e,"readProp")};if(w(r,u.Traverse))return{kind:"traverse",source:y(r,u.traverseSource,`${e}.traverseSource`,n),through:Ce(r,u.through,e,"through"),step:y(r,u.step,`${e}.step`,n)};if(w(r,u.BuildAstNode))return{kind:"build-ast-node",astClass:Ce(r,u.astClass,e,"astClass"),set:Gt(r,`${e}.set`,n)};if(w(r,u.When))return{kind:"when",condition:y(r,u.condition,`${e}.condition`,n),thenBuild:y(r,u.thenBuild,`${e}.thenBuild`,n),elseBuild:zt(r,u.elseBuild,`${e}.elseBuild`,n)};if(w(r,u.Concat))return{kind:"concat",parts:vn(r,u.parts,`${e}.parts`,n)};if(w(r,u.Fallback))return{kind:"fallback",primary:y(r,u.primary,`${e}.primary`,n),alternate:y(r,u.alternate,`${e}.alternate`,n)};if(w(r,u.UriName))return{kind:"uri-name",source:y(r,u.uriNameOf,`${e}.uriNameOf`,n)};if(w(r,u.UriPublisher))return{kind:"uri-publisher",source:y(r,u.uriPublisherOf,`${e}.uriPublisherOf`,n)};if(w(r,u.UriPackage))return{kind:"uri-package",source:y(r,u.uriPackageOf,`${e}.uriPackageOf`,n)};if(w(r,u.UriVersion))return{kind:"uri-version",source:y(r,u.uriVersionOf,`${e}.uriVersionOf`,n)};if(w(r,u.SubjectUri))return{kind:"subject-uri",source:y(r,u.subjectOf,`${e}.subjectOf`,n)};if(w(r,u.UriLiteral))return{kind:"uri-literal",refTo:Ce(r,u.refTo,e,"refTo")};if(w(r,u.DisplayLabel))return{kind:"display-label",labelTarget:Ce(r,u.labelTarget,e,"labelTarget"),labelSource:Ce(r,u.labelSource,e,"labelSource")};if(w(r,u.ResolveRef))return{kind:"resolve-ref",source:y(r,u.resolveSource,`${e}.resolveSource`,n)};if(w(r,u.Normalize))return{kind:"normalize",source:y(r,u.normSource,`${e}.normSource`,n),normKind:qt(r,e)};if(w(r,u.UnescapedString))return{kind:"unescaped-string",source:y(r,u.unescapedSource,`${e}.unescapedSource`,n)};if(w(r,u.RenderMarkdown))return{kind:"render-markdown",source:y(r,u.renderSource,`${e}.renderSource`,n),readProp:Ce(r,u.renderProp,e,"renderProp"),format:Wt(r,e)};if(w(r,u.IsSet))return{kind:"is-set",check:y(r,u.checkExpr,`${e}.checkExpr`,n)};if(w(r,u.CallFragment))return Xt(r,e,n);if(w(r,u.Join))return{kind:"join",source:y(r,u.source,`${e}.source`,n),separator:he(r,u.separator,e)};if(w(r,u.Count))return{kind:"count",source:y(r,u.source,`${e}.source`,n)};if(w(r,u.Sum))return{kind:"sum",source:y(r,u.source,`${e}.source`,n)};if(w(r,u.Min))return{kind:"min",source:y(r,u.source,`${e}.source`,n)};if(w(r,u.Max))return{kind:"max",source:y(r,u.source,`${e}.source`,n)};if(w(r,u.Average))return{kind:"average",source:y(r,u.source,`${e}.source`,n)};if(w(r,u.ForEach))return{kind:"for-each",source:y(r,u.source,`${e}.source`,n),loopVar:he(r,u.loopVar,e),emit:y(r,u.emit,`${e}.emit`,n)};if(w(r,u.ListMap))return{kind:"list-map",source:y(r,u.source,`${e}.source`,n),loopVar:he(r,u.loopVar,e),mapBody:y(r,u.mapBody,`${e}.mapBody`,n)};if(w(r,u.Filter))return{kind:"filter",source:y(r,u.source,`${e}.source`,n),loopVar:he(r,u.loopVar,e),predicate:y(r,u.predicate,`${e}.predicate`,n)};if(w(r,u.PartitionBy))return{kind:"partition-by",source:y(r,u.source,`${e}.source`,n),loopVar:he(r,u.loopVar,e),partitionKey:y(r,u.partitionKey,`${e}.partitionKey`,n)};if(w(r,u.DistinctBy))return{kind:"distinct-by",source:y(r,u.source,`${e}.source`,n),loopVar:he(r,u.loopVar,e),distinctKey:y(r,u.distinctKey,`${e}.distinctKey`,n)};if(w(r,u.AllStatements))return{kind:"all-statements",source:y(r,u.statementsOf,`${e}.statementsOf`,n)};if(w(r,u.StatementPredicate))return{kind:"statement-predicate",source:y(r,u.predicateOf,`${e}.predicateOf`,n)};if(w(r,u.StatementValue))return{kind:"statement-value",source:y(r,u.valueOf,`${e}.valueOf`,n)};if(w(r,u.DateFormat))return{kind:"date-format",source:y(r,u.dateSource,`${e}.dateSource`,n),format:Yt(r,e)};if(w(r,u.Add))return{kind:"add",left:y(r,u.arithLeft,`${e}.arithLeft`,n),right:y(r,u.arithRight,`${e}.arithRight`,n)};if(w(r,u.Subtract))return{kind:"subtract",left:y(r,u.arithLeft,`${e}.arithLeft`,n),right:y(r,u.arithRight,`${e}.arithRight`,n)};if(w(r,u.Multiply))return{kind:"multiply",left:y(r,u.arithLeft,`${e}.arithLeft`,n),right:y(r,u.arithRight,`${e}.arithRight`,n)};if(w(r,u.Divide))return{kind:"divide",left:y(r,u.arithLeft,`${e}.arithLeft`,n),right:y(r,u.arithRight,`${e}.arithRight`,n)};if(w(r,u.Reverse))return{kind:"reverse",source:y(r,u.source,`${e}.source`,n)};if(w(r,u.WindowedMap)){let t=it(r,u.windowSize);if(t===void 0||!Number.isInteger(t)||t<1)throw new q("windowSize must be a positive integer",`${e}.windowSize`);return{kind:"windowed-map",source:y(r,u.source,`${e}.source`,n),windowSize:t,windowVar:he(r,u.windowVar,e),windowBody:y(r,u.windowBody,`${e}.windowBody`,n)}}if(w(r,u.PairwiseMap))return{kind:"pairwise-map",source:y(r,u.source,`${e}.source`,n),firstVar:he(r,u.firstVar,e),secondVar:he(r,u.secondVar,e),pairBody:y(r,u.pairBody,`${e}.pairBody`,n)};if(w(r,u.Scan))return{kind:"scan",source:y(r,u.source,`${e}.source`,n),initialState:y(r,u.initialState,`${e}.initialState`,n),stateVar:he(r,u.stateVar,e),elementVar:he(r,u.elementVar,e),accumulate:y(r,u.accumulate,`${e}.accumulate`,n)};if(w(r,u.ListItemAt))return{kind:"list-item-at",source:y(r,u.source,`${e}.source`,n),itemIndex:y(r,u.itemIndex,`${e}.itemIndex`,n)};if(w(r,u.Equals))return{kind:"equals",left:y(r,u.compareLeft,`${e}.compareLeft`,n),right:y(r,u.compareRight,`${e}.compareRight`,n)};if(w(r,u.GreaterThan))return{kind:"greater-than",left:y(r,u.compareLeft,`${e}.compareLeft`,n),right:y(r,u.compareRight,`${e}.compareRight`,n)};if(w(r,u.LessThan))return{kind:"less-than",left:y(r,u.compareLeft,`${e}.compareLeft`,n),right:y(r,u.compareRight,`${e}.compareRight`,n)};if(w(r,u.GreaterThanOrEqual))return{kind:"greater-than-or-equal",left:y(r,u.compareLeft,`${e}.compareLeft`,n),right:y(r,u.compareRight,`${e}.compareRight`,n)};if(w(r,u.LessThanOrEqual))return{kind:"less-than-or-equal",left:y(r,u.compareLeft,`${e}.compareLeft`,n),right:y(r,u.compareRight,`${e}.compareRight`,n)};if(w(r,u.Not))return{kind:"not",operand:y(r,u.operand,`${e}.operand`,n)};if(w(r,u.And))return{kind:"and",operands:vn(r,u.operands,`${e}.operands`,n)};if(w(r,u.Or))return{kind:"or",operands:vn(r,u.operands,`${e}.operands`,n)};if(w(r,u.Contains))return{kind:"contains",haystack:y(r,u.haystack,`${e}.haystack`,n),needle:y(r,u.needle,`${e}.needle`,n)};if(w(r,u.Abs))return{kind:"abs",value:y(r,u.value,`${e}.value`,n)};if(w(r,u.Negate))return{kind:"negate",value:y(r,u.value,`${e}.value`,n)};if(w(r,u.IsReference))return{kind:"is-reference",check:y(r,u.kindCheck,`${e}.kindCheck`,n)};if(w(r,u.IsEmbedded))return{kind:"is-embedded",check:y(r,u.kindCheck,`${e}.kindCheck`,n)};if(w(r,u.IsList))return{kind:"is-list",check:y(r,u.kindCheck,`${e}.kindCheck`,n)};if(w(r,u.IsString))return{kind:"is-string",check:y(r,u.kindCheck,`${e}.kindCheck`,n)};if(w(r,u.IsNumber))return{kind:"is-number",check:y(r,u.kindCheck,`${e}.kindCheck`,n)};if(w(r,u.IsBoolean))return{kind:"is-boolean",check:y(r,u.kindCheck,`${e}.kindCheck`,n)};if(w(r,u.StatementObject))return{kind:"statement-object",source:y(r,u.statementSource,`${e}.statementSource`,n)};if(w(r,u.Let))return{kind:"let",bindName:he(r,u.letName,e),bindValue:y(r,u.letValue,`${e}.letValue`,n),body:y(r,u.letBody,`${e}.letBody`,n)};if(w(r,u.GetStatementByName))return{kind:"get-statement-by-name",inSubject:y(r,u.inSubject,`${e}.inSubject`,n),byName:y(r,u.byName,`${e}.byName`,n)};throw new q("Expression is not of a recognized v3 type \u2014 embedded has no matching subclass of tx.Expression",e)}function y(r,e,n,t){let a=Je(r,e);if(!a)throw new q("child expression is required",n);return Ue(a,n,t)}function zt(r,e,n,t){let a=Je(r,e);if(a)return Ue(a,n,t)}function vn(r,e,n,t){let a=[],s=0;for(let o of ve(r,e))if(o instanceof T)for(let i of o.object)i instanceof M&&a.push(Ue(i,`${n}[${s++}]`,t));else o instanceof H&&a.push(Ue(o.object,`${n}[${s++}]`,t));return a}function Gt(r,e,n){let t=[],a=0;for(let s of ve(r,u.set))if(s instanceof T)for(let o of s.object)o instanceof M&&t.push(et(o,`${e}[${a++}]`,n));else s instanceof H&&t.push(et(s.object,`${e}[${a++}]`,n));return t}function et(r,e,n){return{field:Ce(r,u.field,e,"field"),value:y(r,u.bindValue,`${e}.bindValue`,n)}}function qt(r,e){let n=Ie(r,u.normKind);if(!n)throw new q("normKind is required",e);if(ue(n,u.NORM_TRIM_END))return"trim-end";if(ue(n,u.NORM_TO_UPPER))return"to-upper";if(ue(n,u.NORM_TO_LOWER))return"to-lower";if(ue(n,u.NORM_FIRST_CHAR))return"first-char";throw new q(`Unknown NormalizeKind: ${n.publisher}/${n.package_}/${n.name}`,e)}function Wt(r,e){let n=Ie(r,u.renderFormat);if(!n)throw new q("renderFormat is required",e);if(ue(n,u.RENDER_HTML))return"html";if(ue(n,u.RENDER_MARKDOWN))return"markdown";throw new q(`Unknown RenderFormat: ${n.publisher}/${n.package_}/${n.name}`,e)}var nt=new Set(["iso-date","iso-datetime","short-date","long-date","year","month-year"]);function Yt(r,e){let n=He(r,u.dateFormat);if(!n)throw new q("dateFormat is required",e);if(!nt.has(n))throw new q(`Unknown dateFormat "${n}"; supported: ${[...nt].join(", ")}`,e);return n}function Xt(r,e,n){let t=Ie(r,u.fragmentRef);if(!t)throw new q("fragmentRef is required",e);if(!Qt(n.catalog,t))throw new q(`ExpressionFragment not found: ${t.publisher}/${t.package_}/${t.name}`,e);return{kind:"call-fragment",fragmentKey:Jt(t)}}function Jt(r){return`${r.publisher}/${r.package_}/${r.name}`}function Zt(r){let e=new Map,n=[];for(let t of r){if(!(t instanceof G)||!w(t,u.ExpressionFragment))continue;let a=Je(t,u.body);if(!a)continue;let s=(t.namespace||"").split("@")[0]||"",o=s.indexOf("/");if(o<0)continue;let i=s.substring(0,o),c=s.substring(o+1),l=`${i}/${c}/${t.name}`;n.push({key:l,subject:t,bodyEmb:a,pubPkgName:`${s}/${t.name}`})}for(let t of n){let a=Ue(t.bodyEmb,`fragment(${t.pubPkgName})`,{catalog:r,depth:0});e.set(t.key,a)}return e}function Qt(r,e){for(let n of r)if(!(!(n instanceof G)||n.name!==e.name||!(n.namespace||"").startsWith(`${e.publisher}/${e.package_}@`))&&w(n,u.ExpressionFragment))return n}function st(r,e){let n=new Set;for(let t of ve(r,u.outputs))if(t instanceof V)n.add(t.object.subject.name);else if(t instanceof T)for(let a of t.object)a instanceof E&&n.add(a.subject.name);if(n.size===0)throw new q("outputs is required (at least one OutputFormat)",e);return n}function ot(r,e,n){let t=new Map,a=0;for(let s of ve(r,u.formatOverrides))if(s instanceof T){for(let o of s.object)if(o instanceof M){let[i,c]=tt(o,`${e}[${a++}]`);t.set(i,c)}}else if(s instanceof H){let[o,i]=tt(s.object,`${e}[${a++}]`);t.set(o,i)}return t}function tt(r,e){let n=Ie(r,u.formatTarget);if(!n)throw new q("formatTarget is required",e);let t=[];for(let i of ve(r,u.metadataKeys))if(i instanceof X)t.push(i.object);else if(i instanceof T)for(let c of i.object){let l=c.value;typeof l=="string"&&t.push(l)}let a=new Map;for(let i of ve(r,u.metadataRenames))if(i instanceof T){for(let c of i.object)if(c instanceof M){let l=He(c,u.fromKey),d=He(c,u.toKey);l&&d&&a.set(l,d)}}else if(i instanceof H){let c=i.object,l=He(c,u.fromKey),d=He(c,u.toKey);l&&d&&a.set(l,d)}let s=yn(r,u.trailingNewline),o=yn(r,u.omitWrapper);return[n.name,{metadataKeys:t.length>0?t:void 0,metadataRenames:a,trailingNewline:s,omitWrapper:o}]}function ea(r){return r.predicate?.subject}function ve(r,e){let n=[];for(let t of r.statement){let a=ea(t);a&&ue(a,e)&&n.push(t)}return n}function Je(r,e){for(let n of ve(r,e))if(n instanceof H)return n.object}function Ie(r,e){for(let n of ve(r,e))if(n instanceof V)return $n(n.object.subject)}function He(r,e){for(let n of ve(r,e))if(n instanceof X)return n.object}function it(r,e){for(let n of ve(r,e))if(n instanceof me)return n.object}function yn(r,e){for(let n of ve(r,e))if(n instanceof re)return n.object}function he(r,e,n){let t=He(r,e);if(t===void 0)throw new q(`${e.name} (string) is required`,n);return t}function at(r,e,n){let t=it(r,e);if(t===void 0)throw new q(`${e.name} (number) is required`,n);return t}function na(r,e,n){let t=yn(r,e);if(t===void 0)throw new q(`${e.name} (boolean) is required`,n);return t}function Ce(r,e,n,t){let a=Ie(r,e);if(!a)throw new q(`${t} (URI reference) is required`,n);return a}function $n(r){return{publisher:r.publisher,package_:r.package_,name:r.name}}var an=class{constructor(e,n,t){this.repository=e;this.parser=n;this.objectParser=t}repository;parser;objectParser;cache=new Map;async resolveSubject(e,n){let t=Ne(n,e);if(t)return t;let a=e.version,s=a&&typeof a.major=="number"?`@${a.major}.${a.minor}.${a.patch}`:"",o=`${e.publisher}/${e.package_}${s}`,i=this.cache.get(o);if(!i){let l=await this.repository.getDocumentsByNamespaceAsync(e.publisher,e.package_);if(l.length===0)return;let d=a&&typeof a.major=="number"?l.find(g=>{let m=g.metadata?.namespace_?.version;return m&&m.major===a.major&&m.minor===a.minor&&m.patch===a.patch})??l[0]:l[0],f=new xn(d,this.repository);i=await this.objectParser.parseKanonaks(f),this.cache.set(o,i)}let c=Ne(i,e);if(c)return c;for(let l of i)if(l instanceof G&&l.name===e.name)return l}};var rn=class{byLang=new Map;constructor(e){for(let n of e){if(!n.language)continue;let t=[];for(let a of n.rules){if(!a.tokenClass||!a.pattern)continue;let s;try{s=new RegExp(a.pattern,"y")}catch{continue}t.push({tokenClass:a.tokenClass,re:s})}this.byLang.set(n.language,t)}}has(e){return this.byLang.has(e)}highlight(e,n){let t=this.byLang.get(e);return!t||t.length===0?De(n):n.split(`
18
18
  `).map(a=>this.highlightLine(a,t)).join(`
19
19
  `)}highlightLine(e,n){let t="",a=0;for(;a<e.length;){let s=!1;for(let o of n){o.re.lastIndex=a;let i=o.re.exec(e);if(i&&i[0].length>0){t+=`<span class="kan-tok-${o.tokenClass}">${De(i[0])}</span>`,a+=i[0].length,s=!0;break}}s||(t+=De(e[a]),a++)}return t}};var un={publisher:"kanonak.org",package_:"derivation",name:"look"},dn={publisher:"kanonak.org",package_:"derivation",name:"tokens"},Se={publisher:"kanonak.org",package_:"core-rdf",name:"Resource"},wn={publisher:"kanonak.org",package_:"core-rdf",name:"label"},ct={publisher:"kanonak.org",package_:"core-rdf",name:"comment"},ta={publisher:"kanonak.org",package_:"core-rdf",name:"range"},aa={publisher:"kanonak.org",package_:"core-rdf",name:"Class"},ra={publisher:"kanonak.org",package_:"core-owl",name:"Class"},sa={publisher:"kanonak.org",package_:"look",name:"Hero"},oa={publisher:"kanonak.org",package_:"look",name:"PropertyList"},ia={publisher:"kanonak.org",package_:"look",name:"PropertyTable"},ca={publisher:"kanonak.org",package_:"look",name:"BadgeRow"},la={publisher:"kanonak.org",package_:"look",name:"ChipRow"},ua={publisher:"kanonak.org",package_:"look",name:"ReferenceList"},da={publisher:"kanonak.org",package_:"look",name:"ReferencedBy"},fa={publisher:"kanonak.org",package_:"look",name:"Instances"},lt={publisher:"kanonak.org",package_:"look",name:"Markdown"},pa={publisher:"kanonak.org",package_:"look",name:"NavGroup"},ga={publisher:"kanonak.org",package_:"look",name:"nav"},jn={publisher:"kanonak.org",package_:"look",name:"NavLink"},ma={publisher:"kanonak.org",package_:"look",name:"footer"},ka={publisher:"kanonak.org",package_:"look",name:"text"},ha={publisher:"kanonak.org",package_:"look",name:"links"},ut={publisher:"kanonak.org",package_:"look",name:"target"},ba={publisher:"kanonak.org",package_:"look",name:"ResourceGrid"},va={publisher:"kanonak.org",package_:"look",name:"Timeline"},ya={publisher:"kanonak.org",package_:"look",name:"VersionDiff"},$a={publisher:"kanonak.org",package_:"look",name:"Figure"},wa={publisher:"kanonak.org",package_:"look",name:"Diagram"},ja={publisher:"kanonak.org",package_:"look",name:"facets"},Sa={publisher:"kanonak.org",package_:"look",name:"relation"},_a={publisher:"kanonak.org",package_:"look",name:"encode"},Ea={publisher:"kanonak.org",package_:"look",name:"cluster"},Ka={publisher:"kanonak.org",package_:"look",name:"connector"},Ra={publisher:"kanonak.org",package_:"look",name:"channels"},La={publisher:"kanonak.org",package_:"look",name:"mapPath"},Oa={publisher:"kanonak.org",package_:"look",name:"to"},Ua={publisher:"kanonak.org",package_:"look",name:"mark"},Ia={publisher:"kanonak.org",package_:"look",name:"expand"},Ca={publisher:"kanonak.org",package_:"look",name:"edges"},Fa={publisher:"kanonak.org",package_:"look",name:"nodeTier"},Ta={publisher:"kanonak.org",package_:"look",name:"diagramTier"},Va={publisher:"kanonak.org",package_:"look",name:"nodeNote"},Aa={publisher:"kanonak.org",package_:"look",name:"edgeLabel"},xa={publisher:"kanonak.org",package_:"look",name:"labelEdges"},Ma={publisher:"kanonak.org",package_:"look",name:"edgeValue"},Na={publisher:"kanonak.org",package_:"look",name:"figureTitle"},Pa={publisher:"kanonak.org",package_:"look",name:"titlePosition"},Da=`(function(){
20
20
  if(window.__kanDiagramZoom)return;window.__kanDiagramZoom=1;
@@ -62,7 +62,7 @@ var b=document.createElement('button');b.type='button';b.className='kan-dgm-btn'
62
62
  b.style.cssText='position:absolute;top:6px;right:6px;z-index:3;border:1px solid var(--kan-border,#333);background:var(--kan-bg-card,#111);color:var(--kan-text,#ccc);border-radius:6px;width:28px;height:28px;cursor:pointer;font-size:15px;line-height:1;padding:0';
63
63
  b.addEventListener('click',function(ev){ev.preventDefault();ev.stopPropagation();open(c);});c.appendChild(b);})(cs[i]);}}
64
64
  if(document.readyState!=='loading')enhance();else document.addEventListener('DOMContentLoaded',enhance);
65
- })();`,Ze={chip:56,icon:120,card:240,full:420},Ba=["chip","icon","card","full"],Ha={56:"chip",120:"icon",240:"card",420:"full"},_e=11,za={publisher:"kanonak.org",package_:"look",name:"placement"},Ga={publisher:"kanonak.org",package_:"look",name:"width"},qa=4,Wa={publisher:"kanonak.org",package_:"look",name:"StatRow"},Ya={publisher:"kanonak.org",package_:"look",name:"Horizon"},Xa={publisher:"kanonak.org",package_:"look",name:"PackageContents"},Sn={publisher:"kanonak.org",package_:"core-kanonak",name:"Package"},Ja={publisher:"kanonak.org",package_:"core-kanonak",name:"Publisher"},Za={publisher:"kanonak.org",package_:"look",name:"FeaturedResource"},Qa={publisher:"kanonak.org",package_:"look",name:"PublisherPackages"},er={publisher:"kanonak.org",package_:"look",name:"packages"},nr={publisher:"kanonak.org",package_:"code-grammars",name:"CodeGrammar"},tr={publisher:"kanonak.org",package_:"code-grammars",name:"language"},ar={publisher:"kanonak.org",package_:"code-grammars",name:"rule"},rr={publisher:"kanonak.org",package_:"code-grammars",name:"tokenClass"},sr={publisher:"kanonak.org",package_:"code-grammars",name:"pattern"},or={publisher:"kanonak.org",package_:"look",name:"Links"},ir={publisher:"kanonak.org",package_:"link",name:"url"},cr={publisher:"kanonak.org",package_:"link",name:"links"};var lr={publisher:"kanonak.org",package_:"look",name:"Distribution"},ur={publisher:"kanonak.org",package_:"look",name:"alphaPath"},dr={publisher:"kanonak.org",package_:"look",name:"betaPath"},_n={publisher:"kanonak.org",package_:"look",name:"SectionHeading"},fr={publisher:"kanonak.org",package_:"look",name:"SectionNav"},dt={publisher:"kanonak.org",package_:"look",name:"heading"},pr={publisher:"kanonak.org",package_:"look",name:"note"},gr={publisher:"kanonak.org",package_:"look",name:"VersionDelta"},mr={publisher:"kanonak.org",package_:"look",name:"TimePlot"},kr={publisher:"kanonak.org",package_:"look",name:"Details"},hr={publisher:"kanonak.org",package_:"look",name:"EmbeddedViews"},br={publisher:"kanonak.org",package_:"look",name:"skip"},vr={publisher:"kanonak.org",package_:"derivation",name:"derivations"},yr={publisher:"kanonak.org",package_:"look",name:"laneBy"},$r={publisher:"kanonak.org",package_:"look",name:"stats"},wr={publisher:"kanonak.org",package_:"look",name:"statPath"},jr={publisher:"kanonak.org",package_:"look",name:"statLabel"},ft={publisher:"kanonak.org",package_:"look",name:"labelPath"},Sr={publisher:"kanonak.org",package_:"look",name:"badgePath"},En={publisher:"kanonak.org",package_:"look",name:"orderBy"},pt={publisher:"kanonak.org",package_:"look",name:"track"},sn={publisher:"kanonak.org",package_:"look",name:"metricPath"},Kn={publisher:"kanonak.org",package_:"look",name:"hueBy"},gt={publisher:"kanonak.org",package_:"look",name:"lowerPath"},mt={publisher:"kanonak.org",package_:"look",name:"upperPath"},_r={publisher:"kanonak.org",package_:"look",name:"axisMin"},Er={publisher:"kanonak.org",package_:"look",name:"axisMax"},Kr={publisher:"kanonak.org",package_:"look",name:"valueLabel"};var kt={publisher:"kanonak.org",package_:"look",name:"semanticSvg"},Rr={publisher:"kanonak.org",package_:"look",name:"tierChip"},Lr={publisher:"kanonak.org",package_:"look",name:"tierIcon"},Or={publisher:"kanonak.org",package_:"look",name:"tierCard"},Ur={publisher:"kanonak.org",package_:"look",name:"tierFull"},Ir={publisher:"kanonak.org",package_:"core-rdf",name:"type"},ht=6,Rn={publisher:"kanonak.org",package_:"look",name:"bands"},Cr={publisher:"kanonak.org",package_:"look",name:"title"},Fr={publisher:"kanonak.org",package_:"look",name:"eyebrow"},Tr={publisher:"kanonak.org",package_:"look",name:"subtitle"},bt={publisher:"kanonak.org",package_:"look",name:"badges"},fe={publisher:"kanonak.org",package_:"look",name:"source"},Vr={publisher:"kanonak.org",package_:"look",name:"via"},Ar={publisher:"kanonak.org",package_:"look",name:"size"},xr={publisher:"kanonak.org",package_:"look",name:"icon"},Mr={publisher:"kanonak.org",package_:"look",name:"avatar"},Nr={publisher:"kanonak.org",package_:"look",name:"contents"},Pr={publisher:"kanonak.org",package_:"look",name:"transitive"},Dr={publisher:"kanonak.org",package_:"look",name:"chips"},vt={publisher:"kanonak.org",package_:"look",name:"entries"},Br={publisher:"kanonak.org",package_:"look",name:"urlForm"},In=class{constructor(e){this.catalog=e}catalog;linkMode="single-publisher";setLinkMode(e){return this.linkMode=e,this}get publisherFirst(){return this.linkMode==="open-world"}linkBase(e){return this.publisherFirst?`/${e}`:""}resourceHref(e,n,t="="){return Mn.formatResourceUrl(e,t,{contextPublisher:n,...this.publisherFirst?{publisherFirst:!0}:{}})}packageHref(e,n,t){return`${this.linkBase(e)}/${n}${t?`/${t}`:""}`}publisherHref(e){return`${this.linkBase(e)}/`}_codeHighlighter;findCascadedLook(e){let n=Gr(e)?void 0:on(e);return n?{declaration:n,sourceClass:{publisher:ne(e),package_:(e.namespace||"").split("/")[1]?.split("@")[0]??"",name:e.name}}:this.lookFromTypeRefs(be(e))}lookFromTypeRefs(e){let n=new Set,t=[...e];for(;t.length>0;){let s=t.shift().subject,o=Z(s);if(n.has(o))continue;n.add(o);let i=ke(this.catalog,s);for(let c of i){let l=on(c);if(l)return{declaration:l,sourceClass:{publisher:s.publisher,package_:s.package_,name:s.name}}}for(let c of i)for(let l of Qe(c))t.push(l)}if(!n.has(Z(Se)))for(let a of ke(this.catalog,Se)){let s=on(a);if(s)return{declaration:s,sourceClass:{...Se}}}}findCascadedTokens(e){let n=this.explainCascadedTokens(e),t=new Map;for(let[a,s]of n)t.set(a,s.value);return t}explainCascadedTokens(e){let n=new Map,t=(o,i)=>{for(let[c,l]of Hr(o))n.has(c)||n.set(c,{value:l,sourceNamespace:o.namespace||"",sourceName:o.name,level:i})};t(e,"instance");let a=new Set,s=be(e);for(;s.length>0;){let o=s.shift(),i=Z(o.subject);if(a.has(i))continue;a.add(i);let c=i===Z(Se)?"resource-floor":"class",l=ke(this.catalog,o.subject);if(l.length!==0)for(let d of l){t(d,c);for(let f of Qe(d))s.push(f)}}if(!a.has(Z(Se))){let o=ke(this.catalog,Se);for(let i of o)t(i,"resource-floor")}return n}async renderSvg(e){let n=D(this.catalog,e).label,t=(n.trim().charAt(0)||"?").toUpperCase(),a=`${e.namespace??""}/${e.name}`,s=this.collectCascadedSvgTiers(e),o=new Map([["input",e],["label",n],["firstLetter",t],["uri",a],["resourceKey",e.name]]),i=await this.evaluateTier(s.tierChip,o),c=await this.evaluateTier(s.tierIcon,o),l=await this.evaluateTier(s.tierCard,o),d=await this.evaluateTier(s.tierFull,o),g=[...this.findCascadedTokens(e)].map(([m,k])=>`--kan-${m}: ${k};`).join(" ");return`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 400" style="${Ke(g)}">
65
+ })();`,Ze={chip:56,icon:120,card:240,full:420},Ba=["chip","icon","card","full"],Ha={56:"chip",120:"icon",240:"card",420:"full"},_e=11,za={publisher:"kanonak.org",package_:"look",name:"placement"},Ga={publisher:"kanonak.org",package_:"look",name:"width"},qa=4,Wa={publisher:"kanonak.org",package_:"look",name:"StatRow"},Ya={publisher:"kanonak.org",package_:"look",name:"Horizon"},Xa={publisher:"kanonak.org",package_:"look",name:"PackageContents"},Sn={publisher:"kanonak.org",package_:"core-kanonak",name:"Package"},Ja={publisher:"kanonak.org",package_:"core-kanonak",name:"Publisher"},Za={publisher:"kanonak.org",package_:"look",name:"FeaturedResource"},Qa={publisher:"kanonak.org",package_:"look",name:"PublisherPackages"},er={publisher:"kanonak.org",package_:"look",name:"packages"},nr={publisher:"kanonak.org",package_:"code-grammars",name:"CodeGrammar"},tr={publisher:"kanonak.org",package_:"code-grammars",name:"language"},ar={publisher:"kanonak.org",package_:"code-grammars",name:"rule"},rr={publisher:"kanonak.org",package_:"code-grammars",name:"tokenClass"},sr={publisher:"kanonak.org",package_:"code-grammars",name:"pattern"},or={publisher:"kanonak.org",package_:"look",name:"Links"},ir={publisher:"kanonak.org",package_:"link",name:"url"},cr={publisher:"kanonak.org",package_:"link",name:"links"};var lr={publisher:"kanonak.org",package_:"look",name:"Distribution"},ur={publisher:"kanonak.org",package_:"look",name:"alphaPath"},dr={publisher:"kanonak.org",package_:"look",name:"betaPath"},_n={publisher:"kanonak.org",package_:"look",name:"SectionHeading"},fr={publisher:"kanonak.org",package_:"look",name:"SectionNav"},dt={publisher:"kanonak.org",package_:"look",name:"heading"},pr={publisher:"kanonak.org",package_:"look",name:"note"},gr={publisher:"kanonak.org",package_:"look",name:"VersionDelta"},mr={publisher:"kanonak.org",package_:"look",name:"TimePlot"},kr={publisher:"kanonak.org",package_:"look",name:"Details"},hr={publisher:"kanonak.org",package_:"look",name:"EmbeddedViews"},br={publisher:"kanonak.org",package_:"look",name:"skip"},vr={publisher:"kanonak.org",package_:"derivation",name:"derivations"},yr={publisher:"kanonak.org",package_:"look",name:"laneBy"},$r={publisher:"kanonak.org",package_:"look",name:"stats"},wr={publisher:"kanonak.org",package_:"look",name:"statPath"},jr={publisher:"kanonak.org",package_:"look",name:"statLabel"},ft={publisher:"kanonak.org",package_:"look",name:"labelPath"},Sr={publisher:"kanonak.org",package_:"look",name:"badgePath"},En={publisher:"kanonak.org",package_:"look",name:"orderBy"},pt={publisher:"kanonak.org",package_:"look",name:"track"},sn={publisher:"kanonak.org",package_:"look",name:"metricPath"},Kn={publisher:"kanonak.org",package_:"look",name:"hueBy"},gt={publisher:"kanonak.org",package_:"look",name:"lowerPath"},mt={publisher:"kanonak.org",package_:"look",name:"upperPath"},_r={publisher:"kanonak.org",package_:"look",name:"axisMin"},Er={publisher:"kanonak.org",package_:"look",name:"axisMax"},Kr={publisher:"kanonak.org",package_:"look",name:"valueLabel"};var kt={publisher:"kanonak.org",package_:"look",name:"semanticSvg"},Rr={publisher:"kanonak.org",package_:"look",name:"tierChip"},Lr={publisher:"kanonak.org",package_:"look",name:"tierIcon"},Or={publisher:"kanonak.org",package_:"look",name:"tierCard"},Ur={publisher:"kanonak.org",package_:"look",name:"tierFull"},Ir={publisher:"kanonak.org",package_:"core-rdf",name:"type"},ht=6,Rn={publisher:"kanonak.org",package_:"look",name:"bands"},Cr={publisher:"kanonak.org",package_:"look",name:"title"},Fr={publisher:"kanonak.org",package_:"look",name:"eyebrow"},Tr={publisher:"kanonak.org",package_:"look",name:"subtitle"},bt={publisher:"kanonak.org",package_:"look",name:"badges"},fe={publisher:"kanonak.org",package_:"look",name:"source"},Vr={publisher:"kanonak.org",package_:"look",name:"via"},Ar={publisher:"kanonak.org",package_:"look",name:"size"},xr={publisher:"kanonak.org",package_:"look",name:"icon"},Mr={publisher:"kanonak.org",package_:"look",name:"avatar"},Nr={publisher:"kanonak.org",package_:"look",name:"contents"},Pr={publisher:"kanonak.org",package_:"look",name:"transitive"},Dr={publisher:"kanonak.org",package_:"look",name:"chips"},vt={publisher:"kanonak.org",package_:"look",name:"entries"},Br={publisher:"kanonak.org",package_:"look",name:"urlForm"},In=class{constructor(e){this.catalog=e}catalog;linkMode="single-publisher";setLinkMode(e){return this.linkMode=e,this}get publisherFirst(){return this.linkMode==="open-world"}linkBase(e){return this.publisherFirst?`/${e}`:""}resourceHref(e,n,t="="){return Nn.formatResourceUrl(e,t,{contextPublisher:n,...this.publisherFirst?{publisherFirst:!0}:{}})}packageHref(e,n,t){return`${this.linkBase(e)}/${n}${t?`/${t}`:""}`}publisherHref(e){return`${this.linkBase(e)}/`}_codeHighlighter;findCascadedLook(e){let n=Gr(e)?void 0:on(e);return n?{declaration:n,sourceClass:{publisher:ne(e),package_:(e.namespace||"").split("/")[1]?.split("@")[0]??"",name:e.name}}:this.lookFromTypeRefs(be(e))}lookFromTypeRefs(e){let n=new Set,t=[...e];for(;t.length>0;){let s=t.shift().subject,o=Z(s);if(n.has(o))continue;n.add(o);let i=ke(this.catalog,s);for(let c of i){let l=on(c);if(l)return{declaration:l,sourceClass:{publisher:s.publisher,package_:s.package_,name:s.name}}}for(let c of i)for(let l of Qe(c))t.push(l)}if(!n.has(Z(Se)))for(let a of ke(this.catalog,Se)){let s=on(a);if(s)return{declaration:s,sourceClass:{...Se}}}}findCascadedTokens(e){let n=this.explainCascadedTokens(e),t=new Map;for(let[a,s]of n)t.set(a,s.value);return t}explainCascadedTokens(e){let n=new Map,t=(o,i)=>{for(let[c,l]of Hr(o))n.has(c)||n.set(c,{value:l,sourceNamespace:o.namespace||"",sourceName:o.name,level:i})};t(e,"instance");let a=new Set,s=be(e);for(;s.length>0;){let o=s.shift(),i=Z(o.subject);if(a.has(i))continue;a.add(i);let c=i===Z(Se)?"resource-floor":"class",l=ke(this.catalog,o.subject);if(l.length!==0)for(let d of l){t(d,c);for(let f of Qe(d))s.push(f)}}if(!a.has(Z(Se))){let o=ke(this.catalog,Se);for(let i of o)t(i,"resource-floor")}return n}async renderSvg(e){let n=D(this.catalog,e).label,t=(n.trim().charAt(0)||"?").toUpperCase(),a=`${e.namespace??""}/${e.name}`,s=this.collectCascadedSvgTiers(e),o=new Map([["input",e],["label",n],["firstLetter",t],["uri",a],["resourceKey",e.name]]),i=await this.evaluateTier(s.tierChip,o),c=await this.evaluateTier(s.tierIcon,o),l=await this.evaluateTier(s.tierCard,o),d=await this.evaluateTier(s.tierFull,o),g=[...this.findCascadedTokens(e)].map(([m,k])=>`--kan-${m}: ${k};`).join(" ");return`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 400" style="${Ke(g)}">
66
66
  <style>
67
67
  .tier-chip,.tier-icon,.tier-card{display:none}
68
68
  .tier-full{display:block}
@@ -74,7 +74,7 @@ if(document.readyState!=='loading')enhance();else document.addEventListener('DOM
74
74
  <g class="tier-icon">${c}</g>
75
75
  <g class="tier-card">${l}</g>
76
76
  <g class="tier-full">${d}</g>
77
- </svg>`}resolverInstance;expressionResolver(){if(!this.resolverInstance){let e=new Fn,n=new Cn(e);this.resolverInstance=new an(n,e,new xn(e))}return this.resolverInstance}async evaluateTier(e,n){if(!e)return"";let t;try{t=Ue(e,"semanticSvg-tier",{catalog:this.catalog,depth:0})}catch{return""}let a=new Xe(this.expressionResolver(),this.catalog);if(t.kind==="concat"){let o=[];for(let i of t.parts){let c=await a.evaluate(i,n);o.push($t(i.kind,c))}return o.join("")}let s=await a.evaluate(t,n);return $t(t.kind,s)}async evaluateCarrier(e,n){if(!e)return;let t;try{t=Ue(e,"look-carrier",{catalog:this.catalog,depth:0})}catch{return}let a=new Xe(this.expressionResolver(),this.catalog),s=new Map([["input",n]]),o=await a.evaluate(t,s),i=_t(o);return i===""?void 0:i}async evaluateCarrierNum(e,n){let t=await this.evaluateCarrier(e,n);return t===void 0?NaN:parseFloat(t)}readEmbeddedCarrier(e,n){let t=W(e,n);return t instanceof H&&t.object instanceof M?t.object:void 0}referenceLabel(e){let n=e.subject,t=ke(this.catalog,n);if(t.length===0){let a=ee(this.catalog,n);a&&t.push(a)}for(let a of t){let s=D(this.catalog,a);if(s.label!==a.name)return s.label}return n.name}collectCascadedSvgTiers(e){let n={},t=c=>{let l=W(c,kt);if(!(l instanceof H))return;let d=l.object,f=cn(d,Rr),g=cn(d,Lr),m=cn(d,Or),k=cn(d,Ur);n.tierChip===void 0&&f!==void 0&&(n.tierChip=f),n.tierIcon===void 0&&g!==void 0&&(n.tierIcon=g),n.tierCard===void 0&&m!==void 0&&(n.tierCard=m),n.tierFull===void 0&&k!==void 0&&(n.tierFull=k)};t(e);let a=e.namespace||"",s=a.indexOf("/");if(s>=0){let c=a.indexOf("@"),l={publisher:a.slice(0,s),package_:a.slice(s+1,c>=0?c:a.length),name:e.name};for(let d of ke(this.catalog,l))t(d)}let o=new Set,i=be(e);for(;i.length>0;){let c=i.shift(),l=Z(c.subject);if(o.has(l))continue;o.add(l);let d=ke(this.catalog,c.subject);for(let f of d){t(f);for(let g of Qe(f))i.push(g)}}if(!o.has(Z(Se)))for(let c of ke(this.catalog,Se))t(c);return n}renderStylesheet(e){let n=this.explainStylesheet(e),t=[];for(let[o,i]of n.tokens)t.push(` --kan-${o}: ${i.value};`);let a=t.length>0?`:root {
77
+ </svg>`}resolverInstance;expressionResolver(){if(!this.resolverInstance){let e=new Fn,n=new Cn(e);this.resolverInstance=new an(n,e,new Mn(e))}return this.resolverInstance}async evaluateTier(e,n){if(!e)return"";let t;try{t=Ue(e,"semanticSvg-tier",{catalog:this.catalog,depth:0})}catch{return""}let a=new Xe(this.expressionResolver(),this.catalog);if(t.kind==="concat"){let o=[];for(let i of t.parts){let c=await a.evaluate(i,n);o.push($t(i.kind,c))}return o.join("")}let s=await a.evaluate(t,n);return $t(t.kind,s)}async evaluateCarrier(e,n){if(!e)return;let t;try{t=Ue(e,"look-carrier",{catalog:this.catalog,depth:0})}catch{return}let a=new Xe(this.expressionResolver(),this.catalog),s=new Map([["input",n]]),o=await a.evaluate(t,s),i=_t(o);return i===""?void 0:i}async evaluateCarrierNum(e,n){let t=await this.evaluateCarrier(e,n);return t===void 0?NaN:parseFloat(t)}readEmbeddedCarrier(e,n){let t=W(e,n);return t instanceof H&&t.object instanceof M?t.object:void 0}referenceLabel(e){let n=e.subject,t=ke(this.catalog,n);if(t.length===0){let a=ee(this.catalog,n);a&&t.push(a)}for(let a of t){let s=D(this.catalog,a);if(s.label!==a.name)return s.label}return n.name}collectCascadedSvgTiers(e){let n={},t=c=>{let l=W(c,kt);if(!(l instanceof H))return;let d=l.object,f=cn(d,Rr),g=cn(d,Lr),m=cn(d,Or),k=cn(d,Ur);n.tierChip===void 0&&f!==void 0&&(n.tierChip=f),n.tierIcon===void 0&&g!==void 0&&(n.tierIcon=g),n.tierCard===void 0&&m!==void 0&&(n.tierCard=m),n.tierFull===void 0&&k!==void 0&&(n.tierFull=k)};t(e);let a=e.namespace||"",s=a.indexOf("/");if(s>=0){let c=a.indexOf("@"),l={publisher:a.slice(0,s),package_:a.slice(s+1,c>=0?c:a.length),name:e.name};for(let d of ke(this.catalog,l))t(d)}let o=new Set,i=be(e);for(;i.length>0;){let c=i.shift(),l=Z(c.subject);if(o.has(l))continue;o.add(l);let d=ke(this.catalog,c.subject);for(let f of d){t(f);for(let g of Qe(f))i.push(g)}}if(!o.has(Z(Se)))for(let c of ke(this.catalog,Se))t(c);return n}renderStylesheet(e){let n=this.explainStylesheet(e),t=[];for(let[o,i]of n.tokens)t.push(` --kan-${o}: ${i.value};`);let a=t.length>0?`:root {
78
78
  ${t.join(`
79
79
  `)}
80
80
  }`:":root { /* no tokens resolved */ }",s=n.baseStylesheet.css??"";return`${qr(n)}
@@ -1,2 +1,2 @@
1
- import{k as V}from"./chunk-MX3DEXMV.js";import{a as E}from"./chunk-NJ3AZYQD.js";var L=class{propertyUri;propertyType;range;rangeUri;isImported;definedInNamespace};import{parseDocument as O,LineCounter as R,isMap as h,isPair as f,isScalar as g,isSeq as I}from"yaml";var K=class i{entities=new Map;entityBlocks=new Map;properties=new Map;propertyValues=new Map;valueListItems=new Map;importPackages=new Map;nestedKeys=new Map;nestedValues=new Map;static fromContent(e){let t=new i,n=new R,r=O(e,{lineCounter:n});if(r.errors.length>0||!h(r.contents))return t;N(r.contents,[],n,t);for(let o of r.contents.items){if(!f(o)||!g(o.key))continue;let a=String(o.key.value),u=o.key.range;if(!u)continue;t.entities.set(a,d(u,n));let s=o.value,c=s&&typeof s=="object"&&"range"in s?s.range:void 0;if(c?t.entityBlocks.set(a,d([u[0],u[1],c[2]],n)):t.entityBlocks.set(a,d(u,n)),h(o.value)){let k=new Map,m=new Map,l=new Map;for(let P of o.value.items){if(!f(P)||!g(P.key))continue;let b=String(P.key.value),p=P.key.range;p&&k.set(b,d(p,n));let S=P.value;if(S&&typeof S=="object"&&"range"in S&&Array.isArray(S.range)){let v=S.range;m.set(b,d(v,n))}if(I(S)){let v=[];for(let M of S.items)M&&typeof M=="object"&&"range"in M&&Array.isArray(M.range)&&v.push(d(M.range,n));v.length>0&&l.set(b,v)}}k.size>0&&t.properties.set(a,k),m.size>0&&t.propertyValues.set(a,m),l.size>0&&t.valueListItems.set(a,l);let y=j(o.value,n);y.length>0&&t.importPackages.set(a,y)}}return t}getEntityPosition(e){return this.entities.get(e)}getEntityBlockPosition(e){return this.entityBlocks.get(e)}findEntityAtPosition(e,t){for(let[n,r]of this.entityBlocks)if(w(r,e,t))return n}findPropertyAtPosition(e,t){let n=this.findEntityAtPosition(e,t);if(!n)return;let r=this.properties.get(n),o=this.propertyValues.get(n);if(!r&&!o)return{entityName:n};let a,u;if(o)for(let[s,c]of o)w(c,e,t)&&(!u||C(c,u))&&(a=s,u=c);if(r)for(let[s,c]of r)w(c,e,t)&&(!u||C(c,u))&&(a=s,u=c);return a?{entityName:n,propertyName:a}:{entityName:n}}getPropertyPosition(e,t){return this.properties.get(e)?.get(t)}getPropertyValuePosition(e,t){return this.propertyValues.get(e)?.get(t)}getImportPackages(e){return this.importPackages.get(e)??[]}getAllImportPackages(){let e=[];for(let[t,n]of this.importPackages)for(let r of n)e.push({entityName:t,entry:r});return e}findPropertySourceName(e,t){let n=this.properties.get(e);if(n){if(n.has(t))return t;for(let r of n.keys()){let o=r.lastIndexOf(".");if((o===-1?r:r.substring(o+1))===t)return r}}}getListItemPosition(e,t,n){let r=this.valueListItems.get(e)?.get(t);if(!(!r||n<0||n>=r.length))return r[n]}getNodeKeyPosition(e){return this.nestedKeys.get(JSON.stringify(e))}getNodeValuePosition(e){return this.nestedValues.get(JSON.stringify(e))}setNestedKeyPosition(e,t){this.nestedKeys.set(e,t)}setNestedValuePosition(e,t){this.nestedValues.set(e,t)}getMostSpecificPosition(e,t,n){if(e){if(t!==void 0){if(n!==void 0){let a=this.getListItemPosition(e,t,n);if(a)return a}let r=this.getPropertyValuePosition(e,t);if(r)return r;let o=this.getPropertyPosition(e,t);if(o)return o}return this.getEntityPosition(e)}}};function j(i,e){let t=[];if(!h(i))return t;let n=i.items.find(r=>f(r)&&g(r.key)&&String(r.key.value)==="imports");if(!n||!f(n)||!I(n.value))return t;for(let r of n.value.items){if(!h(r))continue;let o=r.items.find(s=>f(s)&&g(s.key)&&String(s.key.value)==="publisher");if(!o||!f(o)||!g(o.value))continue;let a=String(o.value.value),u=r.items.find(s=>f(s)&&g(s.key)&&String(s.key.value)==="packages");if(!(!u||!f(u)||!I(u.value)))for(let s of u.value.items){if(!h(s))continue;let c=s.items.find(p=>f(p)&&g(p.key)&&String(p.key.value)==="package");if(!c||!f(c)||!g(c.value)||!c.value.range)continue;let k=String(c.value.value),m=s.items.find(p=>f(p)&&g(p.key)&&String(p.key.value)==="version"),l=m&&f(m)&&g(m.value)?String(m.value.value):"",y=s.items.find(p=>f(p)&&g(p.key)&&String(p.key.value)==="alias"),P=y&&f(y)&&g(y.value)?String(y.value.value):void 0,b=P!==void 0?{publisher:a,package_:k,version:l,alias:P,position:d(c.value.range,e)}:{publisher:a,package_:k,version:l,position:d(c.value.range,e)};t.push(b)}}return t}function w(i,e,t){return!(e<i.line||e>i.endLine||e===i.line&&t<i.column||e===i.endLine&&t>i.endColumn)}function C(i,e){let t=i.endLine-i.line,n=e.endLine-e.line;if(t!==n)return t<n;let r=i.endLine===i.line?i.endColumn-i.column:Number.MAX_SAFE_INTEGER,o=e.endLine===e.line?e.endColumn-e.column:Number.MAX_SAFE_INTEGER;return r<o}function N(i,e,t,n){if(h(i)){for(let r of i.items){if(!f(r)||!g(r.key))continue;let o=String(r.key.value),a=[...e,o],u=JSON.stringify(a);r.key.range&&n.setNestedKeyPosition(u,d(r.key.range,t));let s=r.value,c=D(s);c&&n.setNestedValuePosition(u,d(c,t)),N(s,a,t,n)}return}if(I(i)){for(let r=0;r<i.items.length;r++){let o=i.items[r],a=[...e,r],u=JSON.stringify(a),s=D(o);s&&n.setNestedValuePosition(u,d(s,t)),N(o,a,t,n)}return}}function D(i){if(!i||typeof i!="object"||!("range"in i))return;let e=i.range;return Array.isArray(e)&&e.length>=3?e:void 0}function d(i,e){let t=e.linePos(i[0]),n=e.linePos(i[2]);return{line:t.line-1,column:t.col-1,endLine:n.line-1,endColumn:n.col-1}}function x(i,e){let n=(e??new E).parse(i),r=K.fromContent(i);return{document:n,positions:r}}function W(i,e,t,n,r){if(e<n.line||e>n.endLine||e===n.line&&t<n.column||e===n.endLine&&t>=n.endColumn)return;let o=A(r,n.line,n.column),a=A(r,n.endLine,n.endColumn);if(o<0||a<0)return;let u=r.substring(o,a),s=V(u);if(s.length!==i.links.length)return;let c=e-n.line,k=e===n.line?t-n.column:t,m=A(u,c,k);if(!(m<0))for(let l=0;l<s.length;l++){let y=s[l];if(m>=y.startOffset&&m<y.endOffset)return i.links[l]}}function A(i,e,t){let n=0,r=0;for(let o=0;o<i.length;o++){if(n===e)return Math.min(r+t,i.length);i[o]===`
1
+ import{l as V}from"./chunk-V6KIDED2.js";import{a as E}from"./chunk-NJ3AZYQD.js";var L=class{propertyUri;propertyType;range;rangeUri;isImported;definedInNamespace};import{parseDocument as O,LineCounter as R,isMap as h,isPair as f,isScalar as g,isSeq as I}from"yaml";var K=class i{entities=new Map;entityBlocks=new Map;properties=new Map;propertyValues=new Map;valueListItems=new Map;importPackages=new Map;nestedKeys=new Map;nestedValues=new Map;static fromContent(e){let t=new i,n=new R,r=O(e,{lineCounter:n});if(r.errors.length>0||!h(r.contents))return t;N(r.contents,[],n,t);for(let o of r.contents.items){if(!f(o)||!g(o.key))continue;let a=String(o.key.value),u=o.key.range;if(!u)continue;t.entities.set(a,d(u,n));let s=o.value,c=s&&typeof s=="object"&&"range"in s?s.range:void 0;if(c?t.entityBlocks.set(a,d([u[0],u[1],c[2]],n)):t.entityBlocks.set(a,d(u,n)),h(o.value)){let k=new Map,m=new Map,l=new Map;for(let P of o.value.items){if(!f(P)||!g(P.key))continue;let b=String(P.key.value),p=P.key.range;p&&k.set(b,d(p,n));let S=P.value;if(S&&typeof S=="object"&&"range"in S&&Array.isArray(S.range)){let v=S.range;m.set(b,d(v,n))}if(I(S)){let v=[];for(let M of S.items)M&&typeof M=="object"&&"range"in M&&Array.isArray(M.range)&&v.push(d(M.range,n));v.length>0&&l.set(b,v)}}k.size>0&&t.properties.set(a,k),m.size>0&&t.propertyValues.set(a,m),l.size>0&&t.valueListItems.set(a,l);let y=j(o.value,n);y.length>0&&t.importPackages.set(a,y)}}return t}getEntityPosition(e){return this.entities.get(e)}getEntityBlockPosition(e){return this.entityBlocks.get(e)}findEntityAtPosition(e,t){for(let[n,r]of this.entityBlocks)if(w(r,e,t))return n}findPropertyAtPosition(e,t){let n=this.findEntityAtPosition(e,t);if(!n)return;let r=this.properties.get(n),o=this.propertyValues.get(n);if(!r&&!o)return{entityName:n};let a,u;if(o)for(let[s,c]of o)w(c,e,t)&&(!u||C(c,u))&&(a=s,u=c);if(r)for(let[s,c]of r)w(c,e,t)&&(!u||C(c,u))&&(a=s,u=c);return a?{entityName:n,propertyName:a}:{entityName:n}}getPropertyPosition(e,t){return this.properties.get(e)?.get(t)}getPropertyValuePosition(e,t){return this.propertyValues.get(e)?.get(t)}getImportPackages(e){return this.importPackages.get(e)??[]}getAllImportPackages(){let e=[];for(let[t,n]of this.importPackages)for(let r of n)e.push({entityName:t,entry:r});return e}findPropertySourceName(e,t){let n=this.properties.get(e);if(n){if(n.has(t))return t;for(let r of n.keys()){let o=r.lastIndexOf(".");if((o===-1?r:r.substring(o+1))===t)return r}}}getListItemPosition(e,t,n){let r=this.valueListItems.get(e)?.get(t);if(!(!r||n<0||n>=r.length))return r[n]}getNodeKeyPosition(e){return this.nestedKeys.get(JSON.stringify(e))}getNodeValuePosition(e){return this.nestedValues.get(JSON.stringify(e))}setNestedKeyPosition(e,t){this.nestedKeys.set(e,t)}setNestedValuePosition(e,t){this.nestedValues.set(e,t)}getMostSpecificPosition(e,t,n){if(e){if(t!==void 0){if(n!==void 0){let a=this.getListItemPosition(e,t,n);if(a)return a}let r=this.getPropertyValuePosition(e,t);if(r)return r;let o=this.getPropertyPosition(e,t);if(o)return o}return this.getEntityPosition(e)}}};function j(i,e){let t=[];if(!h(i))return t;let n=i.items.find(r=>f(r)&&g(r.key)&&String(r.key.value)==="imports");if(!n||!f(n)||!I(n.value))return t;for(let r of n.value.items){if(!h(r))continue;let o=r.items.find(s=>f(s)&&g(s.key)&&String(s.key.value)==="publisher");if(!o||!f(o)||!g(o.value))continue;let a=String(o.value.value),u=r.items.find(s=>f(s)&&g(s.key)&&String(s.key.value)==="packages");if(!(!u||!f(u)||!I(u.value)))for(let s of u.value.items){if(!h(s))continue;let c=s.items.find(p=>f(p)&&g(p.key)&&String(p.key.value)==="package");if(!c||!f(c)||!g(c.value)||!c.value.range)continue;let k=String(c.value.value),m=s.items.find(p=>f(p)&&g(p.key)&&String(p.key.value)==="version"),l=m&&f(m)&&g(m.value)?String(m.value.value):"",y=s.items.find(p=>f(p)&&g(p.key)&&String(p.key.value)==="alias"),P=y&&f(y)&&g(y.value)?String(y.value.value):void 0,b=P!==void 0?{publisher:a,package_:k,version:l,alias:P,position:d(c.value.range,e)}:{publisher:a,package_:k,version:l,position:d(c.value.range,e)};t.push(b)}}return t}function w(i,e,t){return!(e<i.line||e>i.endLine||e===i.line&&t<i.column||e===i.endLine&&t>i.endColumn)}function C(i,e){let t=i.endLine-i.line,n=e.endLine-e.line;if(t!==n)return t<n;let r=i.endLine===i.line?i.endColumn-i.column:Number.MAX_SAFE_INTEGER,o=e.endLine===e.line?e.endColumn-e.column:Number.MAX_SAFE_INTEGER;return r<o}function N(i,e,t,n){if(h(i)){for(let r of i.items){if(!f(r)||!g(r.key))continue;let o=String(r.key.value),a=[...e,o],u=JSON.stringify(a);r.key.range&&n.setNestedKeyPosition(u,d(r.key.range,t));let s=r.value,c=D(s);c&&n.setNestedValuePosition(u,d(c,t)),N(s,a,t,n)}return}if(I(i)){for(let r=0;r<i.items.length;r++){let o=i.items[r],a=[...e,r],u=JSON.stringify(a),s=D(o);s&&n.setNestedValuePosition(u,d(s,t)),N(o,a,t,n)}return}}function D(i){if(!i||typeof i!="object"||!("range"in i))return;let e=i.range;return Array.isArray(e)&&e.length>=3?e:void 0}function d(i,e){let t=e.linePos(i[0]),n=e.linePos(i[2]);return{line:t.line-1,column:t.col-1,endLine:n.line-1,endColumn:n.col-1}}function x(i,e){let n=(e??new E).parse(i),r=K.fromContent(i);return{document:n,positions:r}}function W(i,e,t,n,r){if(e<n.line||e>n.endLine||e===n.line&&t<n.column||e===n.endLine&&t>=n.endColumn)return;let o=A(r,n.line,n.column),a=A(r,n.endLine,n.endColumn);if(o<0||a<0)return;let u=r.substring(o,a),s=V(u);if(s.length!==i.links.length)return;let c=e-n.line,k=e===n.line?t-n.column:t,m=A(u,c,k);if(!(m<0))for(let l=0;l<s.length;l++){let y=s[l];if(m>=y.startOffset&&m<y.endOffset)return i.links[l]}}function A(i,e,t){let n=0,r=0;for(let o=0;o<i.length;o++){if(n===e)return Math.min(r+t,i.length);i[o]===`
2
2
  `&&(n++,r=o+1)}return n===e?Math.min(r+t,i.length):-1}export{L as a,K as b,x as c,W as d};
@@ -1 +1 @@
1
- import{a as D}from"./chunk-MX3DEXMV.js";import{c as j,d as m,g as R,j as p,k as K,l as k}from"./chunk-7BHDZHJY.js";import{c as b,g as u}from"./chunk-2ACBWC7K.js";function F(a,e,n,t){let i=g(a);if(i.length>0){let s=v(i,e,n);return s?{transformation:s.transformation,source:"instance"}:void 0}let r=new Set,o=O(a);for(;o.length>0;){let s=o.shift(),f=_(s.subject);if(r.has(f))continue;r.add(f);let l=S(t,s.subject);if(l.length===0)continue;let U=l.flatMap(g),h=v(U,e,n);if(h)return{transformation:h.transformation,source:{publisher:s.subject.publisher,package_:s.subject.package_,name:s.subject.name}};for(let T of l)for(let P of $(T))o.push(P)}let c={publisher:"kanonak.org",package_:"core-rdf",name:"Resource"};if(!r.has(_(c))){let s=S(t,c).flatMap(g),f=v(s,e,n);if(f)return{transformation:f.transformation,source:c}}}function g(a){let e=[];for(let n of a.statement)if(n instanceof k&&d(n,"kanonak.org","derivation","derivations"))for(let t of n.object??[]){if(!(t instanceof D))continue;let i=x(t);i&&e.push(i)}return e}function v(a,e,n){let t=a.filter(o=>E(o.format,e)&&E(o.variant,n));if(t.length<=1)return t[0];let i=t[0].transformation,r=t[0];for(let o of t){let c=o.transformation;if(c.publisher!==i.publisher||c.package_!==i.package_||c.name!==i.name)continue;let s=u(r.transformation.version),f=u(c.version);s&&f&&b(f,s)>0&&(r=o)}return r}function x(a){let e,n,t;for(let i of a.statement)i instanceof p?d(i,"kanonak.org","derivation","format")?e=y(i):d(i,"kanonak.org","derivation","variant")&&(n=y(i)):i instanceof K&&d(i,"kanonak.org","derivation","transformation")&&(t=C(i.object));if(!(!e||!t))return n||(n={publisher:"kanonak.org",package_:"derivation",name:"default"}),{format:e,variant:n,transformation:t}}function C(a){let e,n,t,i;for(let r of a.statement){if(!(r instanceof R))continue;let o=r.predicate?.subject?.name;o==="publisher"?e=r.object:o==="package"?n=r.object:o==="version"?t=r.object:o==="name"&&(i=r.object)}if(!(!e||!n||!t||!i))return{publisher:e,package_:n,version:t,name:i}}function O(a){let e=[];for(let n of a.statement)n instanceof p&&n.predicate?.subject?.name==="type"&&n.object instanceof m&&e.push(n.object);return e}function $(a){let e=[];for(let n of a.statement)if(n instanceof p){if(n.predicate?.subject?.name!=="subClassOf")continue;n.object instanceof m&&e.push(n.object)}else if(n instanceof k){if(n.predicate?.subject?.name!=="subClassOf")continue;for(let t of n.object??[])t instanceof m&&e.push(t)}return e}function S(a,e){let n=[];for(let t of a){if(!(t instanceof j)||t.name!==e.name)continue;(t.namespace||"").startsWith(`${e.publisher}/${e.package_}@`)&&n.push(t)}return n.sort((t,i)=>{let r=u((t.namespace||"").split("@")[1]??""),o=u((i.namespace||"").split("@")[1]??"");return!r||!o?0:b(o,r)}),n}function d(a,e,n,t){let i=a.predicate?.subject;return i?i.publisher===e&&i.package_===n&&i.name===t:!1}function y(a){let e=a.object.subject;return{publisher:e.publisher,package_:e.package_,name:e.name}}function E(a,e){return a.publisher===e.publisher&&a.package_===e.package_&&a.name===e.name}function _(a){return`${a.publisher}/${a.package_}/${a.name}`}export{F as a};
1
+ import{a as D}from"./chunk-V6KIDED2.js";import{c as j,d as m,g as R,j as p,k as K,l as k}from"./chunk-YW6P24RF.js";import{c as b,g as u}from"./chunk-2ACBWC7K.js";function F(a,e,n,t){let i=g(a);if(i.length>0){let s=v(i,e,n);return s?{transformation:s.transformation,source:"instance"}:void 0}let r=new Set,o=O(a);for(;o.length>0;){let s=o.shift(),f=_(s.subject);if(r.has(f))continue;r.add(f);let l=S(t,s.subject);if(l.length===0)continue;let U=l.flatMap(g),h=v(U,e,n);if(h)return{transformation:h.transformation,source:{publisher:s.subject.publisher,package_:s.subject.package_,name:s.subject.name}};for(let T of l)for(let P of $(T))o.push(P)}let c={publisher:"kanonak.org",package_:"core-rdf",name:"Resource"};if(!r.has(_(c))){let s=S(t,c).flatMap(g),f=v(s,e,n);if(f)return{transformation:f.transformation,source:c}}}function g(a){let e=[];for(let n of a.statement)if(n instanceof k&&d(n,"kanonak.org","derivation","derivations"))for(let t of n.object??[]){if(!(t instanceof D))continue;let i=x(t);i&&e.push(i)}return e}function v(a,e,n){let t=a.filter(o=>E(o.format,e)&&E(o.variant,n));if(t.length<=1)return t[0];let i=t[0].transformation,r=t[0];for(let o of t){let c=o.transformation;if(c.publisher!==i.publisher||c.package_!==i.package_||c.name!==i.name)continue;let s=u(r.transformation.version),f=u(c.version);s&&f&&b(f,s)>0&&(r=o)}return r}function x(a){let e,n,t;for(let i of a.statement)i instanceof p?d(i,"kanonak.org","derivation","format")?e=y(i):d(i,"kanonak.org","derivation","variant")&&(n=y(i)):i instanceof K&&d(i,"kanonak.org","derivation","transformation")&&(t=C(i.object));if(!(!e||!t))return n||(n={publisher:"kanonak.org",package_:"derivation",name:"default"}),{format:e,variant:n,transformation:t}}function C(a){let e,n,t,i;for(let r of a.statement){if(!(r instanceof R))continue;let o=r.predicate?.subject?.name;o==="publisher"?e=r.object:o==="package"?n=r.object:o==="version"?t=r.object:o==="name"&&(i=r.object)}if(!(!e||!n||!t||!i))return{publisher:e,package_:n,version:t,name:i}}function O(a){let e=[];for(let n of a.statement)n instanceof p&&n.predicate?.subject?.name==="type"&&n.object instanceof m&&e.push(n.object);return e}function $(a){let e=[];for(let n of a.statement)if(n instanceof p){if(n.predicate?.subject?.name!=="subClassOf")continue;n.object instanceof m&&e.push(n.object)}else if(n instanceof k){if(n.predicate?.subject?.name!=="subClassOf")continue;for(let t of n.object??[])t instanceof m&&e.push(t)}return e}function S(a,e){let n=[];for(let t of a){if(!(t instanceof j)||t.name!==e.name)continue;(t.namespace||"").startsWith(`${e.publisher}/${e.package_}@`)&&n.push(t)}return n.sort((t,i)=>{let r=u((t.namespace||"").split("@")[1]??""),o=u((i.namespace||"").split("@")[1]??"");return!r||!o?0:b(o,r)}),n}function d(a,e,n,t){let i=a.predicate?.subject;return i?i.publisher===e&&i.package_===n&&i.name===t:!1}function y(a){let e=a.object.subject;return{publisher:e.publisher,package_:e.package_,name:e.name}}function E(a,e){return a.publisher===e.publisher&&a.package_===e.package_&&a.name===e.name}function _(a){return`${a.publisher}/${a.package_}/${a.name}`}export{F as a};
@@ -0,0 +1,2 @@
1
+ import{e as F}from"./chunk-UXYCUGSF.js";import{H as me,I as he}from"./chunk-Q6XQ5IXW.js";import{a as te,b as N,c as le,i as z,m as D}from"./chunk-V6KIDED2.js";import{k as ue,o as O,p as x,q as ge,r as B,v as ye}from"./chunk-SVUMCLK5.js";import{b as ne,c as T,d as _,f as oe,g as ae,h as se,i as ie,j as ce,k as pe,l as L,m as $,r as G,t as de,v as K,w as fe,y as V}from"./chunk-YW6P24RF.js";import{a as re}from"./chunk-FUUTGGJS.js";import{d as ee}from"./chunk-2ACBWC7K.js";var Ce=(s=>(s.Class="Class",s.DatatypeProperty="DatatypeProperty",s.ObjectProperty="ObjectProperty",s.AnnotationProperty="AnnotationProperty",s.Instance="Instance",s.Datatype="Datatype",s.Unknown="Unknown",s))(Ce||{}),Se=(i=>(i.InstanceOf="instanceOf",i.SubClassOf="subClassOf",i.Domain="domain",i.Range="range",i.ObjectRelationship="objectRelationship",i.SubPropertyOf="subPropertyOf",i.PropertyValue="propertyValue",i.EmbeddedLink="embeddedLink",i))(Se||{}),H=class{static async buildFromRepository(n,t){let o=await new D().parseKanonaks(n),a=await n.getAllDocumentsAsync(),c=[],s=[],i=new Set,d=new Set,f=new Map;for(let g of o){let u=g;if(u.name&&(O.isClassType(u)&&i.add(u.name),g instanceof T)){let l=B(o,g);(l==="ObjectProperty"||l==="Property")&&d.add(u.name)}}for(let g of a)for(let[u,l]of Object.entries(g.body))d.has(u)&&l?.range&&typeof l.range=="string"&&f.set(u,l.range);let p=new Map;for(let g of o){let u=g;u.name&&p.set(u.name,u)}for(let g of a){let u=g.metadata.namespace_,l=u?`${u.publisher}/${u.package_}`:"",m=u?.version?`${u.version.major}.${u.version.minor}.${u.version.patch}`:"",b=ke(g);for(let[h,y]of Object.entries(g.body)){if(!y||typeof y!="object")continue;let C=p.get(h),k="Unknown";if(C){let R=C,j=C instanceof T?B(o,C):void 0;O.isClassType(R)?k="Class":j==="ObjectProperty"?k="ObjectProperty":j==="DatatypeProperty"?k="DatatypeProperty":j==="AnnotationProperty"?k="AnnotationProperty":O.isDatatypeType(R)?k="Datatype":j==="Property"?k="ObjectProperty":O.isInstanceOfKnownClass(R,i)&&(k="Instance")}let S=l&&m?`${l}/${h}@${m}`:h,Z={};for(let[R,j]of Object.entries(y))R!=="type"&&(typeof j!="object"||j===null)&&(Z[R]=j);c.push({id:S,label:y.label??h,type:k,namespace:l,properties:Z}),be(S,y,k,i,d,s,l,m,b,t),q(S,y,d,f,c,s,l,m,b),Fe(S,C,s)}}return{nodes:c,edges:s}}static buildFromDocument(n,t){let r=[],o=[],a=n.metadata.namespace_,c=a?.version?`${a.version.major}.${a.version.minor}.${a.version.patch}`:"",s=a?`${a.publisher}/${a.package_}`:"",i=new Set,d=new Set,f=new Map,p=ke(n);for(let[l,m]of Object.entries(n.body)){let b=m?.type;b&&(De(b,p)&&i.add(l),Me(b,p)&&(d.add(l),m.range&&typeof m.range=="string"&&f.set(l,m.range)))}for(let[l,m]of Object.entries(n.body)){if(!m||typeof m!="object")continue;let b=m.type,h=Ue(b,l,i,p),y=s&&c?`${s}/${l}@${c}`:l,C={};for(let[k,S]of Object.entries(m))k!=="type"&&(typeof S!="object"||S===null)&&(C[k]=S);r.push({id:y,label:m.label??l,type:h,namespace:s,properties:C}),be(y,m,h,i,d,o,s,c,p,t),q(y,m,d,f,r,o,s,c,p)}let g=new Set(r.map(l=>l.id)),u=o.filter(l=>g.has(l.source)&&g.has(l.target));return{nodes:r,edges:u}}};function ke(e,n){let t=new Map;if(e.metadata?.imports)for(let[r,o]of Object.entries(e.metadata.imports))for(let a of o){let c=a.alias??a.packageName,s=a.version,i=`${s.major}.${s.minor}.${s.patch}`;t.set(c,{publisher:r,package_:a.packageName,version:i})}return t}var Oe={"kanonak.org/core-rdf/Class":"Class","kanonak.org/core-owl/Class":"Class","kanonak.org/core-rdfs/Class":"Class","kanonak.org/core-owl/ObjectProperty":"ObjectProperty","kanonak.org/core-owl/DatatypeProperty":"DatatypeProperty","kanonak.org/core-owl/AnnotationProperty":"AnnotationProperty","kanonak.org/core-rdf/Property":"ObjectProperty","kanonak.org/core-rdfs/Datatype":"Datatype"},xe=new Set(["kanonak.org/core-owl/ObjectProperty","kanonak.org/core-owl/DatatypeProperty","kanonak.org/core-owl/AnnotationProperty","kanonak.org/core-rdf/Property"]);function W(e,n){if(e.includes(".")){let t=e.indexOf("."),r=e.substring(0,t),o=e.substring(t+1),a=n.get(r);if(a)return`${a.publisher}/${a.package_}/${o}`}return null}function De(e,n){let t=W(e,n);return t?Oe[t]==="Class":!1}function Me(e,n){let t=W(e,n);return t?xe.has(t):!1}function Ue(e,n,t,r){if(!e||e==="Package")return"Unknown";let o=W(e,r);if(o){let c=Oe[o];if(c)return c;let s=o.split("/").pop()?.split("@")[0]??"";return t.has(s)?"Instance":"Unknown"}let a=e.split(".").pop()??e;return t.has(a)?"Instance":"Unknown"}var ve=new Set(["type","label","comment","version","publisher","imports","license","match","alias","package"]);function be(e,n,t,r,o,a,c,s,i,d){let f=n.type,p=n.subClassOf;if(p){let h=Array.isArray(p)?p:[p];for(let y of h)typeof y=="string"&&a.push({source:e,target:v(y,c,s,i),type:"subClassOf",label:"subClassOf"})}let g=n.subPropertyOf;if(g){let h=Array.isArray(g)?g:[g];for(let y of h)typeof y=="string"&&a.push({source:e,target:v(y,c,s,i),type:"subPropertyOf",label:"subPropertyOf"})}let u=n.domain,l=n.range;if(d?.includePropertyEdges){let h=[[u,"domain","domain"],[l,"range","range"]];for(let[y,C,k]of h)if(y!=null)for(let S of Array.isArray(y)?y:[y])typeof S=="string"&&a.push({source:e,target:v(S,c,s,i),type:C,label:k})}if(t==="Instance"&&f){let h=f.split(".").pop()??f;a.push({source:e,target:v(h,c,s,i),type:"instanceOf",label:"type"})}if(t==="Instance")for(let[h,y]of Object.entries(n)){if(ve.has(h)||!o.has(h))continue;let C=Array.isArray(y)?y:[y];for(let k of C)typeof k=="string"&&Le(k)&&a.push({source:e,target:v(k,c,s,i),type:"propertyValue",label:h,propertyId:v(h,c,s,i)})}if((t==="ObjectProperty"||t==="DatatypeProperty"||u&&l)&&u&&l){let h=typeof u=="string"?u:null,y=typeof l=="string"?l:null;h&&y&&a.push({source:v(h,c,s,i),target:v(y,c,s,i),type:"objectRelationship",label:n.label??e.split("/").pop()??"",propertyId:e})}}function q(e,n,t,r,o,a,c,s,i){for(let[d,f]of Object.entries(n)){if(ve.has(d)||typeof f!="object"||f===null||Array.isArray(f))continue;let p=f,g=`${e}/${d}`,u=r.get(d),l=u?u.split(".").pop()??u:"Unknown",m={};for(let[h,y]of Object.entries(p))(typeof y!="object"||y===null)&&(m[h]=y);o.push({id:g,label:`${l} (embedded)`,type:"Instance",namespace:c,properties:m});let b=c&&s?`${c}/${d}@${s}`:d;a.push({source:e,target:g,type:"propertyValue",label:d,propertyId:t.has(d)?b:void 0}),u&&a.push({source:g,target:v(l,c,s,i),type:"instanceOf",label:"type (inferred)"}),q(g,p,t,r,o,a,c,s,i)}}function Fe(e,n,t){let r=n?.statement;if(Array.isArray(r))for(let o of r){if(!(o instanceof le))continue;let a=o.predicate?.subject?.name??"";for(let c of o.links){let s=c.target?.subject;if(!s)continue;let i=s.version,d=i&&typeof i.major=="number"?`@${i.major}.${i.minor}.${i.patch}`:"";t.push({source:e,target:`${s.publisher}/${s.package_}/${s.name}${d}`,type:"embeddedLink",label:a})}}}function Le(e){return!(!e||e.includes(" ")||e.includes(`
2
+ `)||e.startsWith("http://")||e.startsWith("https://")||/^\d{4}-\d{2}/.test(e)||/^\d+(\.\d+)?$/.test(e))}function v(e,n,t,r){if(e.includes("@")&&e.includes("/"))return e;if(e.includes(".")){let o=e.indexOf("."),a=e.substring(0,o),c=e.substring(o+1);if(r){let s=r.get(a);if(s)return`${s.publisher}/${s.package_}/${c}@${s.version}`}return n&&t?`${n}/${c}@${t}`:c}return n&&t?`${n}/${e}@${t}`:e}function A(e){let n=e.replace(/^https?:\/\//,"").replace(/^git:\/\//,"").replace(/\/+$/,"").trim();if(!n)throw new Error("Publisher host cannot be empty");return n}var Ge="key_thumbprint",I=class{cache=new Map;prCache=new Map;async discoverProtectedResource(n){let t=A(n);if(this.prCache.has(t))return this.prCache.get(t);let r=`https://${t}/.well-known/oauth-protected-resource`,o=await Ve(r),a=o&&Array.isArray(o.authorization_servers)?o.authorization_servers.filter(s=>typeof s=="string"):[],c=a.length>0?a:null;return this.prCache.set(t,c),c}async discover(n){let t=A(n);if(this.cache.has(t))return this.cache.get(t);let r=`https://${t}/.well-known/oauth-authorization-server`,o=await this.tryEndpoint(r);if(!o){let a=`https://${t}/.well-known/openid-configuration`;o=await this.tryEndpoint(a)}return this.cache.set(t,o),o}async supportsOAuth(n){return await this.discover(n)!==null}static supportsPkceS256(n){return n.codeChallengeMethodsSupported?.some(t=>t.toUpperCase()==="S256")??!1}static supportsDynamicRegistration(n){return!!n.registrationEndpoint}static supportsAuthorizationCode(n){return n.responseTypesSupported?.some(t=>t.toLowerCase()==="code")??!1}static supportsEnrollment(n){return!!n.enrollmentEndpoint}static supportsSession(n){return!!n.sessionEndpoint}async tryEndpoint(n){let t;try{t=await fetch(n)}catch(o){let a=o instanceof Error?o.message:String(o);return a.includes("ENOTFOUND")||a.includes("ECONNREFUSED")?(console.error(` OAuth discovery: ${n} \u2014 host unreachable (${a})`),console.error(" If the server is behind a VPN, ensure you are connected.")):a.includes("CERT")||a.includes("SSL")||a.includes("TLS")?(console.error(` OAuth discovery: ${n} \u2014 TLS error (${a})`),console.error(" If using a custom CA certificate, set NODE_EXTRA_CA_CERTS=/path/to/ca.pem")):console.error(` OAuth discovery: ${n} \u2014 network error: ${a}`),null}if(!t.ok)return t.status===404||(t.status===403?(console.error(` OAuth discovery: ${n} \u2014 HTTP 403 Forbidden`),console.error(" Access may be blocked by a firewall, proxy, or WAF.")):t.status>=500&&(console.error(` OAuth discovery: ${n} \u2014 HTTP ${t.status} server error`),console.error(" The authorization server returned an internal error. Contact your IDP administrator."))),null;let r;try{r=await t.json()}catch{return console.error(` OAuth discovery: ${n} \u2014 response is not valid JSON`),console.error(" The endpoint may be returning HTML instead of JSON. Check IDP configuration."),null}return{issuer:w(r.issuer),authorizationEndpoint:w(r.authorization_endpoint),tokenEndpoint:w(r.token_endpoint),registrationEndpoint:w(r.registration_endpoint),revocationEndpoint:w(r.revocation_endpoint),scopesSupported:P(r.scopes_supported),responseTypesSupported:P(r.response_types_supported),grantTypesSupported:P(r.grant_types_supported),codeChallengeMethodsSupported:P(r.code_challenge_methods_supported),tokenEndpointAuthMethodsSupported:P(r.token_endpoint_auth_methods_supported),dpopSigningAlgValuesSupported:P(r.dpop_signing_alg_values_supported),enrollmentEndpoint:w(r.enrollment_endpoint),enrollmentIssuanceProtocols:P(r.enrollment_issuance_protocols),enrollmentKeyTypes:P(r.enrollment_key_types),enrollmentScopesSupported:P(r.enrollment_scopes_supported),enrollmentConsentBindingParam:w(r.enrollment_consent_binding_param),sessionEndpoint:w(r.session_endpoint),sessionEndpointAuthMethod:w(r.session_endpoint_auth_method)}}};async function Ve(e){try{let n=await fetch(e);return n.ok?await n.json():null}catch{return null}}function w(e){return typeof e=="string"?e:null}function P(e){return Array.isArray(e)?e.filter(n=>typeof n=="string"):null}function we(e){let n=e.headers.get("WWW-Authenticate")??void 0,t=e.headers.get("DPoP-Nonce")??void 0;if(!n&&!t)return;let r={wwwAuthenticate:n??""};if(t&&(r.nonce=t),n){let o=n.match(/acr_values\s*=\s*"([^"]*)"/i);o&&(r.acrValues=o[1])}return r}function Be(e){try{return new URL(e).host}catch{return null}}function ze(e,n={}){let t=n.discovery??new I,r=new Map,o=new Map,a=async i=>{let d=r.get(i);if(d!==void 0)return d;let f=null,p=await t.discoverProtectedResource(i).catch(()=>null);return p&&p.length>0&&(f=Be(p[0])),r.set(i,f),f},c=async(i,d)=>{if(!e)return null;if(!(d.forceRefresh||d.challenge)&&o.has(i))return o.get(i);let p=await e.resolve(i,d).catch(()=>null);return o.set(i,p),p},s=async(i,d,f,p)=>{let g=await a(d);if(!g)return{res:await F(i,{method:f,redirect:"manual"}),authed:!1};let u=await c(g,{method:f,url:i,...p}),l=u?.headers??{};return{res:await F(i,{method:f,redirect:"manual",headers:l}),authed:!!u}};return async(i,d,f="GET")=>{let p=await s(i,d,f,{});if((p.res.status===401||p.res.status===403)&&p.authed){let g=we(p.res),u={forceRefresh:g===void 0};return g&&(u.challenge=g),(await s(i,d,f,u)).res}return p.res}}var Pe="KANONAK_TOKEN";function He(){return typeof process<"u"&&process.env?process.env:{}}function qe(e){return`${Pe}_${e.toUpperCase().replace(/[^A-Z0-9]+/g,"_")}`}var X=class{tokens;env;constructor(n={}){this.tokens=n.tokens??{},this.env=n.env??He()}async resolve(n,t){let r=A(n),o=this.tokens[r]??this.env[qe(r)]??this.env[Pe];return o?{headers:{Authorization:`Bearer ${o}`}}:null}};import{canonicalForm as We,canonicalHash as Xe}from"@kanonak-protocol/canonical";function Y(e){return typeof e=="object"&&e!==null&&Array.isArray(e.subjects)}import{CANONICAL_FORM_VERSION as an}from"@kanonak-protocol/canonical";function Ye(e){return We(Y(e)?e:Te(e))}function Je(e){return Xe(Y(e)?e:Te(e))}function Te(e){let n=[];for(let t of e)t instanceof T&&n.push({uri:on(t),statements:J(t.statement)});return{subjects:n}}function J(e){let n=[];for(let t of e){let r=rn(t);if(!r)continue;if(t instanceof L&&Qe(t.predicate.subject)){n.push(...en(t,r));continue}let o=nn(t);o&&n.push({predicate:r,value:o})}return n}function Qe(e){let n=ue("type");return n!==void 0&&e.name==="type"&&e.publisher===n.publisher&&e.package_===n.package_}var je=new TextEncoder;function Ze(e,n){let t=je.encode(e),r=je.encode(n),o=Math.min(t.length,r.length);for(let a=0;a<o;a++)if(t[a]!==r[a])return t[a]-r[a];return t.length-r.length}function en(e,n){let t=[];for(let r of e.object){if(!(r instanceof _))throw new Error(`canonicalForm: a multi-valued type statement must contain only entity references, got ${r.constructor?.name??typeof r}`);t.push(Q(r))}t.sort(Ze);for(let r=1;r<t.length;r++)if(t[r-1]===t[r])throw new Error(`canonicalForm: duplicate type ${t[r]} in a multi-valued type statement`);return t.map(r=>({predicate:n,value:{ref:r}}))}function nn(e){if(e instanceof oe&&e.carrier)return{lit:e.lexical??String(e.object),datatype:Re(e.carrier)};if(e instanceof ae)return{raw:e.object};if(e instanceof se)return{raw:e.lexical??String(e.object)};if(e instanceof ie)return{raw:e.lexical??String(e.object)};if(e instanceof ce)return{ref:Q(e.object)};if(e instanceof pe)return Ee(e.object);if(e instanceof L)return{list:e.object.map(tn)}}function Ee(e){let n=J(e.statement);return e.name&&e.name.length>0?{embed:{name:e.name,statements:n}}:{embed:{statements:n}}}function tn(e){if(e instanceof _)return{ref:Q(e)};if(e instanceof te)return Ee(e);if(e instanceof N){if(e.carrier)return{lit:e.lexical??String(e.value),datatype:Re(e.carrier)};let n=e.value;if(typeof n=="string")return{raw:n};if(typeof n=="number")return{raw:String(n)};if(typeof n=="boolean")return{raw:String(n)}}if(e instanceof ne)return{embed:{statements:J(e.statement)}};throw new Error(`canonicalForm: list item of unrecognized kind (${e.constructor?.name??typeof e}); add canonicalization support before hashing data that contains it`)}function Re(e){return e===z.LangString?"kanonak.org/core-rdf/langString":`kanonak.org/core-xsd/${e}`}function rn(e){let n=e.predicate;if(n)return _e(n.subject)}function on(e){let n=e.namespace??"",t=e.name??"";return`${n}/${t}`}function Q(e){return _e(e.subject)}function _e(e){let n=e.version;return n&&typeof n.major=="number"?`${e.publisher}/${e.package_}@${n.major}.${n.minor}.${n.patch}/${e.name}`:`${e.publisher}/${e.package_}/${e.name}`}var E="kanonak.org",U="core-rdf",Ie="core-xsd",Ae={publisher:E,package_:U,name:"subClassOf"},Ne={publisher:E,package_:U,name:"label"},sn={publisher:E,package_:U,name:"comment"},$e={publisher:E,package_:"core-owl",name:"oneOf"},Ke=e=>e;function cn(e){let n=fe(e,Ae);if(n)return[n];let t=[];for(let r of V(e,Ae))r instanceof _&&t.push(r.subject);return t}function pn(e,n,t){if(n.publisher===E&&n.package_===U&&n.name==="Literal")return{kind:"datatype",uri:n};let o=G(e,n);if(o){let a=Ke(o);if(O.isDatatypeType(a))return{kind:"datatype",uri:n};if(O.isClassType(a))return{kind:"class",uri:x(o)??n,localName:o.name}}return n.publisher===E&&n.package_===Ie?{kind:"datatype",uri:n}:t==="datatype"?{kind:"datatype",uri:n}:{kind:"class",uri:n,localName:n.name}}function ln(e,n,t){if(!n.range)throw new Error(`Property ${n.uri.publisher}/${n.uri.package_}/${n.uri.name} has no rdfs.range; every property must declare a range. Validate the ontology before introspecting it.`);let r=pn(e,n.range,n.kind),o=n.kind==="object"?"object":n.kind==="datatype"?"datatype":r.kind==="class"?"object":"datatype";return{uri:n.uri,localName:n.uri.name,kind:o,range:r,...n.label!==void 0?{label:n.label}:{},...n.comment!==void 0?{comment:n.comment}:{},...t??{}}}var M=e=>new re(E,Ie,e);function un(e){return typeof e=="boolean"?M("boolean"):typeof e=="number"?Number.isInteger(e)?M("integer"):M("decimal"):M("string")}function dn(e,n){let t=[];for(let r of V(n,$e))if(r instanceof _){let o=G(e,r.subject),a=(o?x(o):void 0)??r.subject,c=o?K(o,Ne):void 0;t.push({kind:"individual",uri:a,localName:a.name,...c!==void 0?{label:c}:{}})}else r instanceof N&&t.push({kind:"literal",value:r.value,datatype:un(r.value)});return t}function fn(e,n,t,r){let o=ge(e,n),a=$(n);return ye(e,n).filter(s=>t?!0:s.domains.some(i=>$(i)===a)).map(s=>ln(e,s,he(r,o,s.uri)))}async function gn(e,n,t){let r=e.metadata?.namespace_;if(!r)throw new Error("buildOntologyModel: document has no namespace (publisher/package/version).");let o=t?.includeInherited??!1,a=await new D().parseKanonaks(n),c=me(a),s=[],i=[],d=new Set;for(let f of a){if(!(f instanceof T)||!O.isClassType(Ke(f)))continue;let p=x(f);if(!p||p.publisher!==r.publisher||p.package_!==r.package_||p.version&&r.version&&!ee(p.version,r.version))continue;let g=$(p);if(d.has(g))continue;d.add(g);let u=cn(f).map(b=>({uri:b,localName:b.name})),l=K(f,Ne),m=K(f,sn);s.push({uri:p,localName:p.name,superClasses:u,properties:fn(a,p,o,c),...l!==void 0?{label:l}:{},...m!==void 0?{comment:m}:{}}),de(f,$e)&&i.push({uri:p,localName:p.name,members:dn(a,f),...l!==void 0?{label:l}:{},...m!==void 0?{comment:m}:{}})}return{classes:s,enums:i}}export{Ce as a,Se as b,H as c,A as d,Ge as e,I as f,we as g,ze as h,X as i,Ye as j,Je as k,an as l,gn as m};