@kanonak-protocol/sdk 5.35.0 → 5.37.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 (71) hide show
  1. package/dist/browser.d.ts +3 -1
  2. package/dist/browser.js +1 -1
  3. package/dist/{chunk-O35Y6QUW.js → chunk-2WUZKSLB.js} +1 -1
  4. package/dist/chunk-3353RWDC.js +1 -0
  5. package/dist/{chunk-2Y6R3K5A.js → chunk-4CXAZH3C.js} +1 -1
  6. package/dist/chunk-7JBKOJB4.js +1 -0
  7. package/dist/chunk-D2X6J77P.js +1 -0
  8. package/dist/chunk-D4QGPMRW.js +1 -0
  9. package/dist/chunk-DONOB6RA.js +1 -0
  10. package/dist/{chunk-ZYDJUGIA.js → chunk-ED35OFGD.js} +1 -1
  11. package/dist/chunk-EG47OOJC.js +155 -0
  12. package/dist/chunk-HKX27KBZ.js +1 -0
  13. package/dist/{chunk-26SO3A4B.js → chunk-LE26SEJU.js} +1 -1
  14. package/dist/chunk-NUTHBBDZ.js +1 -0
  15. package/dist/{chunk-BZ3YTI3C.js → chunk-OOYGILH4.js} +2 -2
  16. package/dist/chunk-R4QCVB5M.js +68 -0
  17. package/dist/chunk-VORVR5BZ.js +1 -0
  18. package/dist/chunk-W5AOJ5SJ.js +3 -0
  19. package/dist/index.d.ts +10 -8
  20. package/dist/index.js +1 -1
  21. package/dist/kanonaks/DefinedKanonak.d.ts +11 -0
  22. package/dist/kanonaks/LiteralKanonak.d.ts +12 -0
  23. package/dist/kanonaks/ReferenceKanonak.d.ts +2 -0
  24. package/dist/kanonaks/walkDefinedKanonaks.d.ts +23 -18
  25. package/dist/lock/LockFile.d.ts +6 -0
  26. package/dist/lock/index.d.ts +1 -1
  27. package/dist/look/displayValue.d.ts +3 -0
  28. package/dist/look/index.d.ts +1 -1
  29. package/dist/parsing/KanonakObjectParser.d.ts +8 -0
  30. package/dist/parsing/findMarkdownLinkAt.d.ts +8 -0
  31. package/dist/parsing/index.d.ts +2 -0
  32. package/dist/parsing/index.js +1 -1
  33. package/dist/parsing/sourceSymbols.d.ts +54 -0
  34. package/dist/producer/index.js +1 -1
  35. package/dist/reasoning/KanonakVocabulary.d.ts +21 -0
  36. package/dist/reasoning/index.d.ts +1 -1
  37. package/dist/reasoning/index.js +1 -1
  38. package/dist/repositories/LockAwareRepository.d.ts +1 -1
  39. package/dist/repositories/browser.js +1 -1
  40. package/dist/repositories/index.js +1 -1
  41. package/dist/resolution/ResourceTypeClassifier.d.ts +8 -1
  42. package/dist/resolution/index.d.ts +1 -0
  43. package/dist/resolution/index.js +1 -1
  44. package/dist/resolution/referenceSpelling.d.ts +14 -0
  45. package/dist/search/index.js +1 -1
  46. package/dist/server/closure.d.ts +8 -0
  47. package/dist/server/index.d.ts +1 -1
  48. package/dist/server/index.js +16 -16
  49. package/dist/server/requestRouter.d.ts +16 -0
  50. package/dist/statements/Statement.d.ts +9 -0
  51. package/dist/transformations/index.js +2 -2
  52. package/dist/transformations/v3/TransformationLoaderV3.d.ts +8 -2
  53. package/dist/uri-helpers/PropertyValues.d.ts +34 -3
  54. package/dist/uri-helpers/UriHelpers.d.ts +3 -0
  55. package/dist/uri-helpers/index.d.ts +1 -1
  56. package/dist/uri-helpers/index.js +1 -1
  57. package/dist/validation/KanonakObjectValidator.d.ts +7 -1
  58. package/dist/validation/index.js +1 -1
  59. package/dist/validation/rules/repository/MarkdownLinkRule.d.ts +1 -0
  60. package/package.json +2 -2
  61. package/dist/chunk-54D47DLS.js +0 -1
  62. package/dist/chunk-AVVLDZAZ.js +0 -68
  63. package/dist/chunk-D7QLWVPK.js +0 -155
  64. package/dist/chunk-HF5FJBS2.js +0 -1
  65. package/dist/chunk-IS3AQKB4.js +0 -1
  66. package/dist/chunk-JHQPXEMA.js +0 -1
  67. package/dist/chunk-KIBR3HAT.js +0 -1
  68. package/dist/chunk-MQBWSCNY.js +0 -1
  69. package/dist/chunk-V3DH67P3.js +0 -1
  70. package/dist/chunk-VEGFYZXG.js +0 -2
  71. package/dist/chunk-XK24CN3C.js +0 -1
@@ -1 +0,0 @@
1
- import{a as X}from"./chunk-HF5FJBS2.js";import{a as q,b as H,ha as Y,ia as U,ja as N,pa as Q}from"./chunk-MQBWSCNY.js";import{c as w,d as h,e as g,f as I,i as R,j as L,k as E,l as v,m as K,n as P,o as A,p as x,w as J}from"./chunk-54D47DLS.js";import{a as D}from"./chunk-FUUTGGJS.js";import{b as G}from"./chunk-F67UH4FD.js";import{k as W}from"./chunk-QILEJIFU.js";var T=class extends R{links=[]};var re="kanonak.org",ae="transformations",be=3,e=f=>({publisher:re,package_:ae,name:f}),M={Transformation:e("Transformation"),InstanceTransformation:e("InstanceTransformation"),SetTransformation:e("SetTransformation"),inputPattern:e("inputPattern"),rule:e("rule"),artifactName:e("artifactName"),outputs:e("outputs"),formatOverrides:e("formatOverrides"),partitionBy:e("partitionBy"),InputPattern:e("InputPattern"),matchesClass:e("matchesClass"),requires:e("requires"),sortBy:e("sortBy"),SortKey:e("SortKey"),byProperty:e("byProperty"),order:e("order"),SortOrder:e("SortOrder"),ascending:e("ascending"),descending:e("descending"),OutputFormat:e("OutputFormat"),backendUri:e("backendUri"),FormatOverride:e("FormatOverride"),formatTarget:e("formatTarget"),metadataKeys:e("metadataKeys"),metadataRenames:e("metadataRenames"),trailingNewline:e("trailingNewline"),omitWrapper:e("omitWrapper"),RenameEntry:e("RenameEntry"),fromKey:e("fromKey"),toKey:e("toKey"),FMT_MARKDOWN_FRONTMATTER:e("markdown-with-frontmatter"),FMT_PLAIN_MARKDOWN:e("plain-markdown"),FMT_TOML:e("toml"),FMT_JSON:e("json"),FMT_HTML:e("html"),FMT_SVG:e("svg"),Expression:e("Expression"),ListSourcedExpression:e("ListSourcedExpression"),ListAggregate:e("ListAggregate"),IteratingExpression:e("IteratingExpression"),BuildAstNode:e("BuildAstNode"),astClass:e("astClass"),set:e("set"),AstFieldBinding:e("AstFieldBinding"),field:e("field"),bindValue:e("bindValue"),When:e("When"),condition:e("condition"),thenBuild:e("thenBuild"),elseBuild:e("elseBuild"),Concat:e("Concat"),parts:e("parts"),Fallback:e("Fallback"),primary:e("primary"),alternate:e("alternate"),StringLiteral:e("StringLiteral"),stringLiteral:e("stringLiteral"),IntegerLiteral:e("IntegerLiteral"),integerLiteral:e("integerLiteral"),DecimalLiteral:e("DecimalLiteral"),decimalLiteral:e("decimalLiteral"),BooleanLiteral:e("BooleanLiteral"),booleanLiteral:e("booleanLiteral"),VarRef:e("VarRef"),varName:e("varName"),PropertyRead:e("PropertyRead"),readSource:e("readSource"),readProp:e("readProp"),Traverse:e("Traverse"),traverseSource:e("traverseSource"),through:e("through"),step:e("step"),UriName:e("UriName"),uriNameOf:e("uriNameOf"),UriPublisher:e("UriPublisher"),uriPublisherOf:e("uriPublisherOf"),UriPackage:e("UriPackage"),uriPackageOf:e("uriPackageOf"),UriVersion:e("UriVersion"),uriVersionOf:e("uriVersionOf"),SubjectUri:e("SubjectUri"),subjectOf:e("subjectOf"),UriLiteral:e("UriLiteral"),refTo:e("refTo"),DisplayLabel:e("DisplayLabel"),labelTarget:e("labelTarget"),labelSource:e("labelSource"),ResolveRef:e("ResolveRef"),resolveSource:e("resolveSource"),Normalize:e("Normalize"),normSource:e("normSource"),normKind:e("normKind"),NormalizeKind:e("NormalizeKind"),NORM_TRIM_END:e("trim-end"),NORM_TO_UPPER:e("to-upper"),NORM_TO_LOWER:e("to-lower"),NORM_FIRST_CHAR:e("first-char"),UnescapedString:e("UnescapedString"),unescapedSource:e("unescapedSource"),IsSet:e("IsSet"),checkExpr:e("checkExpr"),ExpressionFragment:e("ExpressionFragment"),body:e("body"),CallFragment:e("CallFragment"),fragmentRef:e("fragmentRef"),source:e("source"),Join:e("Join"),separator:e("separator"),Count:e("Count"),Sum:e("Sum"),Min:e("Min"),Max:e("Max"),Average:e("Average"),loopVar:e("loopVar"),ForEach:e("ForEach"),emit:e("emit"),ListMap:e("ListMap"),mapBody:e("mapBody"),Filter:e("Filter"),predicate:e("predicate"),PartitionBy:e("PartitionBy"),partitionKey:e("partitionKey"),DistinctBy:e("DistinctBy"),distinctKey:e("distinctKey"),Partition:e("Partition"),key:e("key"),members:e("members"),AllStatements:e("AllStatements"),statementsOf:e("statementsOf"),StatementPredicate:e("StatementPredicate"),predicateOf:e("predicateOf"),StatementValue:e("StatementValue"),valueOf:e("valueOf"),DateFormat:e("DateFormat"),dateSource:e("dateSource"),dateFormat:e("dateFormat"),NumberFormat:e("NumberFormat"),numberSource:e("numberSource"),numberStyle:e("numberStyle"),fractionDigits:e("fractionDigits"),currencyCode:e("currencyCode"),BinaryArithmetic:e("BinaryArithmetic"),arithLeft:e("arithLeft"),arithRight:e("arithRight"),Add:e("Add"),Subtract:e("Subtract"),Multiply:e("Multiply"),Divide:e("Divide"),Reverse:e("Reverse"),WindowedMap:e("WindowedMap"),windowSize:e("windowSize"),windowVar:e("windowVar"),windowBody:e("windowBody"),PairwiseMap:e("PairwiseMap"),firstVar:e("firstVar"),secondVar:e("secondVar"),pairBody:e("pairBody"),Scan:e("Scan"),initialState:e("initialState"),stateVar:e("stateVar"),elementVar:e("elementVar"),accumulate:e("accumulate"),ListItemAt:e("ListItemAt"),itemIndex:e("itemIndex"),BinaryComparison:e("BinaryComparison"),compareLeft:e("compareLeft"),compareRight:e("compareRight"),Equals:e("Equals"),GreaterThan:e("GreaterThan"),LessThan:e("LessThan"),GreaterThanOrEqual:e("GreaterThanOrEqual"),LessThanOrEqual:e("LessThanOrEqual"),Not:e("Not"),operand:e("operand"),BooleanLogic:e("BooleanLogic"),operands:e("operands"),And:e("And"),Or:e("Or"),Contains:e("Contains"),haystack:e("haystack"),needle:e("needle"),UnaryNumericOp:e("UnaryNumericOp"),value:e("value"),Abs:e("Abs"),Negate:e("Negate"),KindPredicate:e("KindPredicate"),IsReference:e("IsReference"),IsEmbedded:e("IsEmbedded"),IsList:e("IsList"),kindCheck:e("kindCheck"),IsString:e("IsString"),IsNumber:e("IsNumber"),IsBoolean:e("IsBoolean"),StatementObject:e("StatementObject"),statementSource:e("statementSource"),Let:e("Let"),letName:e("letName"),letValue:e("letValue"),letBody:e("letBody"),GetStatementByName:e("GetStatementByName"),inSubject:e("inSubject"),byName:e("byName"),RenderMarkdown:e("RenderMarkdown"),renderSource:e("renderSource"),renderProp:e("renderProp"),renderFormat:e("renderFormat"),RenderFormat:e("RenderFormat"),RENDER_HTML:e("render-html"),RENDER_MARKDOWN:e("render-markdown")};import{Carrier as S,carrierOf as oe}from"@kanonak-protocol/canonical";function _(f){return oe(`${f.publisher}/${f.package_}/${f.name}`)}var se=/\[\[([^\[\]\n]+)\]\]/g,ie=/\[\[/g,Z=/```[\s\S]*?```|`[^`\n]*`/g;function ce(f){let t=[];for(let n of f.matchAll(Z))t.push([n.index,n.index+n[0].length]);return t}function Ke(f){if(!f||!f.includes("[["))return[];let t=ce(f),n=s=>t.some(([o,c])=>s>=o&&s<c),r=new Set(V(f).map(s=>s.startOffset)),a=[];for(let s of f.matchAll(ie)){let o=s.index;if(n(o)||r.has(o))continue;let c=f.slice(o,o+48).replace(/\s+/g," ").trim();a.push({startOffset:o,snippet:c})}return a}function V(f){if(!f||!f.includes("[["))return[];let t=[];for(let a of f.matchAll(Z))t.push([a.index,a.index+a[0].length]);let n=a=>t.some(([s,o])=>a>=s&&a<o),r=[];for(let a of f.matchAll(se)){let s=a.index;if(n(s))continue;let o=a[1],c=o.indexOf("|"),p=(c===-1?o:o.slice(0,c)).trim();if(p.length===0)continue;let i=c===-1?"":o.slice(c+1).trim(),m={reference:p,startOffset:s,endOffset:s+a[0].length};i.length>0&&(m.displayText=i),r.push(m)}return r}import{VersionOperator as pe}from"@kanonak-protocol/types/document/models/enums";function te(f,t){for(let n of f)n instanceof w&&B(n,n.name,t)}function B(f,t,n){n({kanonak:f,path:t});for(let r of f.statement){let a=r.predicate?.subject?.name;if(r instanceof K)B(r.object,ee(t,a,r.object),n);else if(r instanceof P)for(let s=0;s<r.object.length;s++){let o=r.object[s];o instanceof h&&B(o,ee(t,a,o,s),n)}}}function ee(f,t,n,r){let a=`${f}.${t??"<embedded>"}`,s=n instanceof h?n.name:void 0;return s?`${a}.${s}`:r===void 0?a:`${a}[${r}]`}var fe={...U("range"),name:"range"};function me(f){let t=f.lastIndexOf(".");return t===-1?f:f.slice(t+1)}var ne=class{constructor(t){}async parseKanonaks(t,n){let r=await t.getAllDocumentsAsync(),a=new q(t),s=new H(a);this.knownPropertyClasses.clear();let o=await this.parseAllDocumentsAsync(r,a,s,t),c=await this.mergeAndCanonicalizeAsync(o,t);return await this.learnPropertyClassesAsync(c,r,a)&&(o=await this.parseAllDocumentsAsync(r,a,s,t),c=await this.mergeAndCanonicalizeAsync(o,t)),n&&(n.authored=o),c}knownPropertyClasses=new Map;async learnPropertyClassesAsync(t,n,r){let a=new Map;for(let p of n){let i=p.metadata.namespace_?.toString();i&&a.set(i,p)}let s=[],o=new Set;te(t,({kanonak:p})=>{for(let i of p.unresolvedPredicates){let m=`${i.sourceDoc}::${i.key}`;o.has(m)||(o.add(m),s.push(i))}});let c=!1;for(let p of s){let i=a.get(p.sourceDoc);if(!i)continue;let m=await r.resolveEntityAsync(p.key,i);if(!m)continue;let d=A(m.uri);if(this.knownPropertyClasses.has(d))continue;let u=J(t,m.uri);if(!u)continue;let l=Q(t,u);l&&(this.knownPropertyClasses.set(d,l),c=!0)}return c}async parseAllDocumentsAsync(t,n,r,a){let s=[];for(let o of t){let c=o.metadata.namespace_?.toString()??"";for(let[p,i]of Object.entries(o.body)){let m=new w,d=this.resolveCanonicalEntity(p,o,c);m.namespace=d.namespace,m.name=d.name,m.statement=[];let u=await this.parseStatements(i,o,n,r,a);m.statement.push(...u.statements),m.unresolvedPredicates=u.unresolved,F(m,c),s.push(m)}}return s}async mergeAndCanonicalizeAsync(t,n){let r=new Map,a=new Map,s=[];for(let i of t)if(i instanceof w){let m=`${i.namespace}/${i.name}`,d=r.get(m);if(d){let u=a.get(m);for(let l of i.statement){let y=$(l);u.has(y)||(u.add(y),d.statement.push(l))}for(let l of i.unresolvedPredicates)d.unresolvedPredicates.some(y=>y.key===l.key&&y.sourceDoc===l.sourceDoc)||d.unresolvedPredicates.push(l)}else{let u=new w;u.namespace=i.namespace,u.name=i.name,u.sourceDoc=i.sourceDoc;let l=new Set;for(let y of i.statement){let k=$(y);l.has(k)||(l.add(k),u.statement.push(y))}u.unresolvedPredicates=[...i.unresolvedPredicates],a.set(m,l),r.set(m,u),s.push(u)}}else s.push(i);let o=new Set;for(let i of s)if(i instanceof w){let m=i.namespace||"",d=m.indexOf("/"),u=d>=0?m.slice(0,d):"",l=d>=0?m.slice(d+1):"",y=l.indexOf("@"),k=y>=0?l.slice(0,y):l;o.add(`${u}/${k}/${i.name}`)}let c=i=>o.has(`${i.publisher}/${i.package_}/${i.name}`),p=new Map;for(let i of["core-rdf","core-owl","core-kanonak"]){let m=await n.getDocumentsByNamespaceAsync("kanonak.org",i);p.set(i,W(m).chosen?.metadata.namespace_?.version??void 0)}for(let i of t)i instanceof w&&this.canonicalizeStatementBuiltins(i.statement,c,p);return s}canonicalizeStatementBuiltins(t,n,r){for(let a of t){let s=a.predicate?.subject;if(N(s,n,r),a instanceof v)a.object instanceof g&&N(a.object.subject,n,r);else if(a instanceof K)a.object&&this.canonicalizeStatementBuiltins(a.object.statement,n,r);else if(a instanceof P)for(let o of a.object??[])o instanceof g?N(o.subject,n,r):o instanceof h&&this.canonicalizeStatementBuiltins(o.statement,n,r)}}resolveCanonicalEntity(t,n,r){if(!t.includes(".")||!n.metadata?.imports)return{namespace:r,name:t};let a=t.indexOf("."),s=t.substring(0,a),o=t.substring(a+1);for(let[c,p]of Object.entries(n.metadata.imports))for(let i of p)if((i.alias??i.packageName)===s){let d=i.version;return{namespace:`${c}/${i.packageName}@${d.major}.${d.minor}.${d.patch}`,name:o}}return{namespace:r,name:t}}async parseStatements(t,n,r,a,s){let o=[],c=[];if(typeof t!="object"||t===null||Array.isArray(t))return{statements:o,unresolved:c};let p=n.metadata.namespace_?.toString()??"";for(let[i,m]of Object.entries(t))try{let d=await this.getPropertyMetadata(i,n,r,s,a);if(!d){let l=i.includes(".")?i.slice(i.lastIndexOf(".")+1):i;Y(l)||c.push({key:i,sourceDoc:p});continue}let u=await this.parsePropertyValue(i,m,d,n,r,a,s);u&&o.push(u)}catch(d){throw new Error(`Failed to parse property '${i}': ${d.message}`,{cause:d})}return{statements:o,unresolved:c}}async getPropertyMetadata(t,n,r,a,s){let o=await r.resolveEntityAsync(t,n);if(!o)return;let c=o.entity,p=c.type?.toString()??"",i=p.includes(".")?p.substring(p.lastIndexOf(".")+1):p,m=new Set(["Property","DatatypeProperty","ObjectProperty","AnnotationProperty"]),d=this.knownPropertyClasses.get(A(o.uri));if(!m.has(i)&&!d)return;let u=d??s.getPropertyTypeClassification(p),l,y=async()=>{if(l)return l;if(!(o.isImported&&o.definedInNamespace))return l=n,n;if(typeof a.getDocumentAsync!="function")throw new Error(`Cannot resolve the range of imported property '${t}': the parse repository cannot fetch defining document '${o.definedInNamespace}'. Thread the real repository through to embedded-object parsing \u2014 no stub, no fallback.`);let j=await a.getDocumentAsync(o.definedInNamespace);if(!j)throw new Error(`Cannot resolve the range of imported property '${t}': defining document '${o.definedInNamespace}' was not found in the repository.`);return l=j,j},k=await this.readDefinitionSlot(c,fe,y,r),b=k==null?void 0:String(k),O;if(u==="ObjectProperty")O="ObjectProperty";else if(u==="DatatypeProperty")O="DatatypeProperty";else{let j=b&&b.includes(".")?b.substring(b.lastIndexOf(".")+1):b??"";(b?s.isKnownXsdDatatypeName(b):!1)||j==="Literal"?O="DatatypeProperty":O="ObjectProperty"}let z;return b&&(z=(await r.resolveEntityAsync(b,await y()))?.uri),{propertyUri:o.uri.toString(),propertyType:O,range:b,rangeUri:z,isImported:o.isImported,definedInNamespace:o.definedInNamespace}}async readDefinitionSlot(t,n,r,a){let s=Object.keys(t).filter(i=>me(i)===n.name);if(s.length===0)return;let o=await r(),c=U(n.name),p=c!==void 0&&c.publisher===n.publisher&&c.package_===n.package_;for(let i of s){let m=await a.resolveEntityAsync(i,o);if(m){if(x(m.uri,n))return t[i];continue}if(!i.includes(".")&&p)return t[i]}}async parsePropertyValue(t,n,r,a,s,o,c){let p=r.propertyUri;if(n!=null){if(Array.isArray(n))return this.parseListValue(p,n,r,a,s,o,c);if(r.propertyType==="DatatypeProperty")return this.parseDatatypeValue(p,n,r,a,s,o);if(r.propertyType==="ObjectProperty")return this.parseObjectValue(p,n,r,a,s,o,c)}}async parseDatatypeValue(t,n,r,a,s,o){let c;if(typeof n=="string"){if(o.isSubstitutableDatatype(r.rangeUri))return await this.parseSubstitutableValue(t,n,a,s);c=n}else if(typeof n=="number"||typeof n=="boolean")c=String(n);else return;return this.typedScalarStatement(t,c,r)}typedScalarStatement(t,n,r){let a=g.parse(t),s=r.rangeUri?_(r.rangeUri):void 0;if(s===S.Boolean){let c=new E;return c.predicate=a,c.object=n==="true"||n==="1",c.carrier=s,c.lexical=n,c}if(s===S.Integer||s===S.Decimal||s===S.Double||s===S.Float){let c=new L;return c.predicate=a,c.object=Number(n),c.carrier=s,c.lexical=n,c}let o=R.parse(t,n);return s&&(o.carrier=s,o.lexical=n),o}typedListLiteral(t,n){let r=new I,a=n.rangeUri?_(n.rangeUri):void 0;return a===S.Boolean?r.value=t==="true"||t==="1":a===S.Integer||a===S.Decimal||a===S.Double||a===S.Float?r.value=Number(t):r.value=t,a&&(r.carrier=a,r.lexical=t),r}async parseSubstitutableValue(t,n,r,a){let s=new T;s.predicate=g.parse(t),s.object=n;for(let o of V(n)){let c=this.linkReference(o.reference,r);if(!c){let i=await a.resolveEntityAsync(o.reference,r);i&&(c=new g,c.subject=i.uri)}let p={reference:o.reference,startOffset:o.startOffset,endOffset:o.endOffset};o.displayText!==void 0&&(p.displayText=o.displayText),c!==void 0&&(p.target=c),s.links.push(p)}return s}async parseObjectValue(t,n,r,a,s,o,c){if(typeof n=="string"){if(r.rangeUri&&x(r.rangeUri,M.Expression))return this.coerceExpressionLiteral(t,n,r.rangeUri);let p=await this.resolveReference(n,a,s);if(!p)return;let i=new v;return i.predicate=g.parse(t),i.object=p,i}if(typeof n=="object"&&!Array.isArray(n)){let p=await this.parseStatements(n,a,s,o,c);if(p.statements.length>0){let d=new h;d.statement=p.statements,d.unresolvedPredicates=p.unresolved,r.rangeUri&&(d.rangeType=r.rangeUri);let u=new K;return u.predicate=g.parse(t),u.object=d,u}let i=[];for(let[d,u]of Object.entries(n))if(typeof u=="object"&&u!==null&&!Array.isArray(u)){let l=new h;l.name=d,r.rangeUri&&(l.rangeType=r.rangeUri);let y=await this.parseStatements(u,a,s,o,c);l.statement=y.statements,l.unresolvedPredicates=y.unresolved,i.push(l)}else if(typeof u=="string"){let l=await this.resolveReference(u,a,s);l&&i.push(l)}if(i.length>0){let d=new P;return d.predicate=g.parse(t),d.object=i,d}let m=new K;return m.predicate=g.parse(t),m.object=new h,r.rangeUri&&(m.object.rangeType=r.rangeUri),m}}coerceExpressionLiteral(t,n,r){let a=new h,s=new v,o=new g;o.subject=new D("kanonak.org","core-rdf","type"),s.predicate=o;let c=new g;c.subject=new D(r.publisher,r.package_,M.StringLiteral.name,r.version),s.object=c;let p=new R,i=new g;i.subject=new D(r.publisher,r.package_,M.stringLiteral.name,r.version),p.predicate=i,p.object=n,a.statement=[s,p];let m=new K;return m.predicate=g.parse(t),m.object=a,m}async parseListValue(t,n,r,a,s,o,c){let p=[],i=r.propertyType==="DatatypeProperty",m=r.rangeUri?.publisher==="kanonak.org"&&r.rangeUri?.package_==="core-rdf"&&r.rangeUri?.name==="List"||!r.rangeUri&&(r.range?.includes(".")?r.range.substring(r.range.lastIndexOf(".")+1):r.range)==="List";for(let u of n){let l=typeof u=="string"||typeof u=="number"||typeof u=="boolean";if(i&&l){let y=typeof u=="string"?u:String(u);p.push(this.typedListLiteral(y,r));continue}if(m&&l){if(typeof u=="string"){let y=await s.resolveEntityAsync(u,a);if(y){let k=new g;k.subject=y.uri,p.push(k)}else{let k=new I;k.value=u,p.push(k)}}else{let y=new I;y.value=u,p.push(y)}continue}if(typeof u=="string"){let y=await this.resolveReference(u,a,s);y&&p.push(y)}else if(typeof u=="object"&&u!==null&&!Array.isArray(u)){let y=new h;r.rangeUri&&(y.rangeType=r.rangeUri);let k=await this.parseStatements(u,a,s,o,c);y.statement=k.statements,y.unresolvedPredicates=k.unresolved,p.push(y)}}let d=new P;return d.predicate=g.parse(t),d.object=p,d}linkReference(t,n){let r=t.indexOf(".");if(r<=0||!n.metadata?.imports)return;let a=t.substring(0,r),s=t.substring(r+1);for(let[o,c]of Object.entries(n.metadata.imports))for(let p of c){if(!G(p)||(p.alias??p.packageName)!==a)continue;let i=new g,m=p.versionOperator===pe.Exact?p.version:void 0;return i.subject=new D(o,p.packageName,s,m),i}}async resolveReference(t,n,r){let a=this.linkReference(t,n);if(a)return a;let s=await r.resolveEntityAsync(t,n);if(s){let c=new g;return c.subject=s.uri,c}let o=n.metadata?.namespace_;if(o){let{KanonakUri:c}=await import("./KanonakUri-4VJGV3FN.js");if(t.includes(".")){let i=t.indexOf("."),m=t.substring(0,i),d=t.substring(i+1);if(n.metadata?.imports){for(let[u,l]of Object.entries(n.metadata.imports))for(let y of l)if((y.alias??y.packageName)===m){let b=new g;return b.subject=new c(u,y.packageName,d,y.version),b}}}let p=new g;return p.subject=new c(o.publisher,o.package_,t,o.version??void 0),p}return null}async saveKanonaks(t,n){let r=new Map;for(let a of t)a instanceof w&&a.namespace&&(r.has(a.namespace)||r.set(a.namespace,[]),r.get(a.namespace).push(a));for(let[a,s]of r){let o=await this.convertKanonaksToDocument(a,s),c=`${a.split("@")[0]}.yml`;await n.saveDocumentAsync(o,c)}}async serializeToYaml(t,n){let r=t.filter(o=>o instanceof w&&o.namespace===n);if(r.length===0)throw new Error(`No kanonaks found with namespace '${n}'`);let a=await this.convertKanonaksToDocument(n,r);return new X().save(a)}async convertKanonaksToDocument(t,n){let a={metadata:{namespace_:t,get allImports(){if(!this.imports)return[];let o=[];for(let c of Object.values(this.imports))o.push(...c);return o}},body:{}},s=new Map;for(let o of n){let c={};for(let p of o.statement){let[i,m]=this.convertStatementToProperty(p);i&&m!==null&&m!==void 0&&(c[i]=m),this.collectImportsFromStatement(p,t,s)}a.body[o.name]=c}return a}convertStatementToProperty(t){if(t instanceof R)return[t.predicate.subject.name,t.object];if(t instanceof L)return[t.predicate.subject.name,t.object];if(t instanceof E)return[t.predicate.subject.name,t.object];if(t instanceof v)return[t.predicate.subject.name,t.object.subject.name];if(t instanceof P){let n=this.convertKanonakListToValue(t.object);return[t.predicate.subject.name,n]}else if(t instanceof K){let n=this.convertEmbeddedKanonakToValue(t.object);return[t.predicate.subject.name,n]}return[null,null]}convertKanonakListToValue(t){let n=[];for(let r of t)r instanceof g?n.push(r.subject.name):r instanceof h&&n.push(this.convertEmbeddedKanonakToValue(r));return n}convertEmbeddedKanonakToValue(t){let n={};for(let r of t.statement){let[a,s]=this.convertStatementToProperty(r);a&&s!==null&&s!==void 0&&(n[a]=s)}return n}collectImportsFromStatement(t,n,r){}};function F(f,t){f.sourceDoc=t;for(let n of f.statement)if(n instanceof K)F(n.object,t);else if(n instanceof P)for(let r of n.object)r instanceof h&&F(r,t)}function $(f){let t=f.predicate?.subject;return(t?`${t.publisher}/${t.package_}/${t.name}`:"?")+"="+ue(f)}function ue(f){return f instanceof T?"m:"+String(f.object):f instanceof R?"s:"+String(f.object):f instanceof L?"n:"+String(f.object):f instanceof E?"b:"+String(f.object):f instanceof v?"r:"+C(f.object):f instanceof K?"e:"+C(f.object):f instanceof P?"l:["+(f.object??[]).map(C).join("|")+"]":"x"}function C(f){if(!f)return"";if(f instanceof g){let t=f.subject;return"R("+(t?`${t.publisher}/${t.package_}/${t.name}`:"")+")"}return f instanceof h?"E("+(f.statement??[]).map($).join(";")+")":f instanceof I?"L("+String(f.value)+")":"N"}export{T as a,te as b,re as c,ae as d,be as e,M as f,S as g,_ as h,Ke as i,V as j,ne as k};
@@ -1 +0,0 @@
1
- import{b as D}from"./chunk-F67UH4FD.js";import{b as y,e as m}from"./chunk-QILEJIFU.js";function h(t){let e=t.metadata?.namespace_;return e?`${e.publisher}/${e.package_}`:void 0}function v(t){let e=t.metadata?.namespace_;if(e)return e.version?`${e.publisher}/${e.package_}@${m(e.version)}`:`${e.publisher}/${e.package_}`}async function I(t,e,n={}){let o=new Set,u=new Set,i=[...t];for(;i.length>0;){let a=i.shift(),l=h(a),s=v(a);if(!l||!s||u.has(s))continue;u.add(s),o.add(l);let p=a.metadata?.imports;if(p)for(let[g,k]of Object.entries(p))for(let r of k){if(D(r))continue;let c=null,d="no-compatible-version";try{c=await e.getHighestCompatibleVersionAsync(g,r)}catch{d="resolution-error"}c?i.push(c):n.onUnresolvedEdge?.({fromNamespace:s,publisher:g,packageName:r.packageName,constraint:`${y(r.versionOperator)}${m(r.version)}`,reason:d})}}return o}var f=class{constructor(e,n){this.inner=e;this.scope=n}inner;scope;async getAllDocumentsAsync(){return(await this.inner.getAllDocumentsAsync()).filter(n=>{let o=h(n);return o!==void 0&&this.scope.has(o)})}getDocumentAsync(e){return this.inner.getDocumentAsync(e)}getDocumentsByNamespaceAsync(e,n){return this.inner.getDocumentsByNamespaceAsync(e,n)}getHighestCompatibleVersionAsync(e,n){return this.inner.getHighestCompatibleVersionAsync(e,n)}saveDocumentAsync(e,n){return this.inner.saveDocumentAsync(e,n)}deleteDocumentAsync(e){return this.inner.deleteDocumentAsync(e)}clearNamespaceAsync(e,n){return this.inner.clearNamespaceAsync(e,n)}getAllDocumentReferencesAsync(){return this.inner.getAllDocumentReferencesAsync()}getDocumentContentAsync(e){return this.inner.getDocumentContentAsync(e)}getDocumentUriAsync(e){return this.inner.getDocumentUriAsync(e)}};export{I as a,f as b};
@@ -1 +0,0 @@
1
- import{B as j,C as W,c as B,d as G,o as b,p as X,r as Y,s as H,w as q,x as M}from"./chunk-54D47DLS.js";import{a as _}from"./chunk-FUUTGGJS.js";import{b as I}from"./chunk-F67UH4FD.js";var Q=class{cache=new Map;repository;logger;constructor(e,n){this.repository=e,this.logger=n}async resolveEntityAsync(e,n){let r=n.metadata?.namespace_?.toString()??"unknown",s=this.cache.get(r);if(s){let i=s.get(e);if(i)return i}let a=await this.buildEntityIndexAsyncInternal(n,new Set,"",new Map);return this.cache.set(r,a),a.get(e)??null}async resolveAllEntitiesAsync(e,n){let r=await this.buildAllEntitiesIndexAsync(n,new Set,"");if(e.includes(".")){let s=e.split("."),a=s[0],i=s[1],u=await this.findDocumentForAlias(n,a);return u?await this.resolveAllEntitiesAsync(i,u):[]}return r.filter(s=>s.entityName===e)}async buildAllEntitiesIndexAsync(e,n,r){let s=[],a=e.metadata?.namespace_?.toString()??"unknown";if(this.logger?.debug?.(`Building ALL entities index for namespace: ${a}`),n.has(a))return this.logger?.debug?.(`Skipping ${a} - already visited (circular import prevention)`),s;n.add(a);let i=r.length===0?a:`${r} \u2192 ${a}`;for(let[u,c]of Object.entries(e.body))if(!u.includes(".")&&c&&typeof c=="object"&&!Array.isArray(c)){if(!e.metadata.namespace_)continue;let g=e.metadata.namespace_.version??{major:1,minor:0,patch:0,toString:()=>"1.0.0",equals:()=>!1,getHashCode:()=>0,compareTo:()=>0};s.push({entityName:u,uri:new _(e.metadata.namespace_.publisher,e.metadata.namespace_.package_,u,g),entity:c,definedInNamespace:a,isImported:r.length>0,importPath:i})}if(this.logger?.debug?.(`Collected ${s.length} entities from ${a}`),e.metadata?.imports){let u=Object.values(e.metadata.imports).reduce((c,g)=>c+g.length,0);this.logger?.debug?.(`Processing ${u} import(s) for ${a}`);for(let[c,g]of Object.entries(e.metadata.imports))for(let m of g)if(!I(m))try{this.logger?.debug?.(`Resolving import: ${c}/${m.packageName}`);let d=await this.repository.getHighestCompatibleVersionAsync(c,m);if(d){this.logger?.debug?.(`Successfully loaded import: ${d.metadata?.namespace_?.toString()}`);let k=await this.buildAllEntitiesIndexAsync(d,n,i);s.push(...k),this.logger?.debug?.(`Added ${k.length} entities from import ${d.metadata?.namespace_?.toString()}`)}else this.logger?.warn?.(`Failed to load import: ${c}/${m.packageName}`)}catch(d){let k=d;throw this.logger?.error?.(`Failed to process import ${c}/${m.packageName} for namespace ${a}. Error: ${k.message}`,k),new Error(`Failed to process import ${c}/${m.packageName} for namespace ${a}. See inner exception for details.`,{cause:d})}}return s}async buildEntityIndexAsync(e){return await this.buildEntityIndexAsyncInternal(e,new Set,"",new Map)}async buildEntityIndexAsyncInternal(e,n,r,s){let a=new Map,i=e.metadata?.namespace_?.toString()??"unknown";if(this.logger?.debug?.(`Building entity index for namespace: ${i}`),n.has(i))return this.logger?.debug?.(`Skipping ${i} - circular import in progress`),a;let u=s.get(i);if(u)return u;n.add(i);let c=r.length===0?i:`${r} \u2192 ${i}`,g=0;for(let[m,d]of Object.entries(e.body))if(!m.includes(".")&&d&&typeof d=="object"&&!Array.isArray(d)){if(!e.metadata.namespace_)continue;if(!a.has(m)){let k=e.metadata.namespace_.version??{major:1,minor:0,patch:0,toString:()=>"1.0.0",equals:()=>!1,getHashCode:()=>0,compareTo:()=>0};a.set(m,{entityName:m,uri:new _(e.metadata.namespace_.publisher,e.metadata.namespace_.package_,m,k),entity:d,definedInNamespace:i,isImported:r.length>0,importPath:c}),g++}}if(this.logger?.debug?.(`Indexed ${g} entities from ${i}`),e.metadata?.imports){let m=Object.values(e.metadata.imports).reduce((d,k)=>d+k.length,0);this.logger?.debug?.(`Processing ${m} import(s) for ${i}`);for(let[d,k]of Object.entries(e.metadata.imports))for(let S of k)if(!I(S))try{this.logger?.debug?.(`Resolving import: ${d}/${S.packageName}`);let P=await this.repository.getHighestCompatibleVersionAsync(d,S);if(P){this.logger?.debug?.(`Successfully loaded import: ${P.metadata?.namespace_?.toString()}`);let U=await this.buildEntityIndexAsyncInternal(P,n,c,s),v=0;for(let[x,C]of U.entries()){let h=a.get(x);if(!h)a.set(x,C),v++;else if(h.isImported&&C.isImported&&(h.uri.publisher!==C.uri.publisher||h.uri.package_!==C.uri.package_)){let E=h.isAmbiguous?h:{...h,isAmbiguous:!0,ambiguousNamespaces:[h.definedInNamespace]};E.ambiguousNamespaces.includes(C.definedInNamespace)||E.ambiguousNamespaces.push(C.definedInNamespace),a.set(x,E),this.logger?.warn?.(`Ambiguous reference '${x}': defined in ${E.ambiguousNamespaces.join(", ")}`)}if(S.alias&&!x.includes(".")){let E=`${S.alias}.${x}`;a.has(E)||(a.set(E,C),v++)}}this.logger?.debug?.(`Merged ${v} entities from import ${P.metadata?.namespace_?.toString()}`)}else this.logger?.warn?.(`Failed to load import: ${d}/${S.packageName}`)}catch(P){let U=P;throw this.logger?.error?.(`Failed to process import ${d}/${S.packageName} for namespace ${i}. Error: ${U.message}`,U),new Error(`Failed to process import ${d}/${S.packageName} for namespace ${i}. See inner exception for details.`,{cause:P})}}return n.delete(i),s.set(i,a),a}async findDocumentForAlias(e,n){if(!e.metadata?.imports)return null;for(let[r,s]of Object.entries(e.metadata.imports))for(let a of s)if(!I(a)){if(a.alias===n)return await this.repository.getHighestCompatibleVersionAsync(r,a);if(!a.alias&&a.packageName===n)return await this.repository.getHighestCompatibleVersionAsync(r,a)}return null}clearCache(){this.cache.clear()}clearCacheForDocument(e){this.cache.delete(e)}};var z=class t{static KNOWN_XSD_DATATYPES=new Set(["string","integer","int","boolean","decimal","float","double","date","datetime","time","duration","anyuri","base64binary","hexbinary","long","short","byte","nonnegativeinteger","positiveinteger","negativeinteger","nonpositiveinteger","unsignedint","unsignedlong","unsignedshort","unsignedbyte"]);resourceResolver;constructor(e){this.resourceResolver=e}isXsdDatatype(e){return e?e.publisher==="kanonak.org"&&e.package_==="core-xsd"&&t.KNOWN_XSD_DATATYPES.has(e.name.toLowerCase()):!1}isLiteralType(e){return e?e.publisher==="kanonak.org"&&e.package_==="core-rdf"&&e.name==="Literal":!1}isMarkdownDatatype(e){return e?e.publisher==="kanonak.org"&&e.package_==="core-prose"&&e.name==="Markdown":!1}isSubstitutableDatatype(e){return t.isSubstitutableDatatypeUri(e)}static isSubstitutableDatatypeUri(e){return e?e.publisher==="kanonak.org"&&e.package_==="core-prose"&&(e.name==="SubstitutableString"||e.name==="Markdown"):!1}isKnownXsdDatatypeName(e){let n=e.includes(".")?e.split(".")[1]:e;return t.KNOWN_XSD_DATATYPES.has(n.toLowerCase())}async isClassTypeAsync(e,n){if(this.isKnownXsdDatatypeName(e))return!1;let r=await this.resourceResolver.resolveEntityAsync(e,n);if(r){let s=r.entity.type;if(s){let a=String(s);return a==="Class"||a==="rdfs.Class"||a.endsWith(".Class")}}return!0}getPropertyTypeClassification(e){if(!e||e.trim().length===0)return"Property";switch(e.includes(".")?e.split(".")[1]:e){case"DatatypeProperty":return"DatatypeProperty";case"ObjectProperty":return"ObjectProperty";case"AnnotationProperty":return"AnnotationProperty";case"Property":return"Property";default:return"Property"}}isEffectiveDatatypeProperty(e,n){return!!(e==="DatatypeProperty"||e==="Property"&&this.isXsdDatatype(n)||e==="Property"&&this.isLiteralType(n))}isEffectiveObjectProperty(e,n){return!!(e==="ObjectProperty"||e==="Property"&&n&&!this.isXsdDatatype(n)&&!this.isLiteralType(n))}};function J(t){if(!t||t.trim().length===0)throw new Error("Kanonak address string cannot be null or empty");let e=t.trim(),n=e.split("/");if(n.length===1){let r=n[0];if(!r)throw new Error(`Invalid Kanonak address: "${t}". Expected publisher, publisher/package[@version], or publisher/package[@version]/name.`);if(r.includes("@"))throw new Error(`Invalid Kanonak address: "${t}". A bare publisher cannot carry an @version qualifier \u2014 versions belong to packages.`);return{kind:"publisher",publisher:r}}if(n.length===2){let[r,s]=n;if(!r||!s)throw new Error(`Invalid Kanonak address: "${t}". Expected publisher/package[@version].`);let a=s.indexOf("@");if(a===-1)return{kind:"package",publisher:r,package_:s};let i=s.substring(0,a),u=s.substring(a+1);if(!i||!u)throw new Error(`Invalid Kanonak address: "${t}". Expected publisher/package[@version].`);let c=ae(u);return{kind:"package",publisher:r,package_:i,version:c}}return{kind:"resource",uri:_.parse(e)}}function He(t){switch(t.kind){case"publisher":return t.publisher;case"package":return t.version?`${t.publisher}/${t.package_}@${t.version.major}.${t.version.minor}.${t.version.patch}`:`${t.publisher}/${t.package_}`;case"resource":return t.uri.toString()}}function ae(t){let e=t.split(".").map(Number);return se(e[0]||0,e[1]||0,e[2]||0)}function se(t,e,n){return{major:t,minor:e,patch:n,toString:()=>`${t}.${e}.${n}`,equals:r=>!r||typeof r!="object"?!1:r.major===t&&r.minor===e&&r.patch===n,getHashCode:()=>t<<20|e<<10|n,compareTo:r=>t!==r.major?t-r.major:e!==r.minor?e-r.minor:n-r.patch}}function Ne(t){return`${t.publisher}/${t.package_}/${t.name}`}function y(t,e,n){return`${t}/${e}/${n}`}function Te(t){return`${t.s}|${t.p}|${ie(t.o)}`}function ie(t){switch(t.kind){case"uri":return`u:${t.key}`;case"literal":return`l:${t.datatype}:${t.lexical}`;case"blank":return`b:${t.id}`}}function $e(t,e,n){return{s:t,p:e,o:{kind:"uri",key:n}}}var pe="kanonak.org",ce="core-shacl",o=t=>({publisher:pe,package_:ce,name:t}),D=o("Shape"),N=o("NodeShape"),T=o("PropertyShape"),Me=o("targetClass"),je=o("property"),we=o("path"),Le=o("minCount"),Ve=o("maxCount"),Fe=o("datatype"),Be=o("class"),Ge=o("in"),Xe=o("pattern"),Ye=o("flags"),qe=o("minLength"),We=o("maxLength"),Qe=o("minInclusive"),ze=o("maxInclusive"),Je=o("message"),Ze=o("targetNode"),et=o("targetSubjectsOf"),tt=o("targetObjectsOf"),nt=o("closed"),rt=o("ignoredProperties"),ot=o("nodeKind"),at=o("IRI"),st=o("BlankNode"),it=o("Literal"),pt=o("severity"),ct=o("Violation"),lt=o("Warning"),ut=o("Info"),yt=o("ValidationReport"),dt=o("conforms"),mt=o("result"),gt=o("ValidationResult"),ft=o("focusNode"),kt=o("resultPath"),bt=o("resultMessage"),St=o("resultSeverity"),ht=o("sourceShape"),_t=o("value"),Pt=o("sourceConstraintComponent"),Ct=o("MinCountConstraintComponent"),Et=o("MaxCountConstraintComponent"),Kt=o("DatatypeConstraintComponent"),At=o("ClassConstraintComponent"),xt=o("InConstraintComponent"),Rt=o("PatternConstraintComponent"),Ot=o("MinLengthConstraintComponent"),Ut=o("MaxLengthConstraintComponent"),It=o("MinInclusiveConstraintComponent"),Ht=o("MaxInclusiveConstraintComponent"),Dt=o("NodeKindConstraintComponent"),Nt=o("ClosedConstraintComponent"),Tt=o("hasValue"),$t=o("qualifiedValueShape"),vt=o("qualifiedMinCount"),Mt=o("qualifiedMaxCount"),jt=o("HasValueConstraintComponent"),wt=o("QualifiedMinCountConstraintComponent"),Lt=o("QualifiedMaxCountConstraintComponent");var l="kanonak.org",p="core-rdf",f="core-owl",ee="core-kanonak",L=new Map([["type",p],["subClassOf",p],["subPropertyOf",p],["domain",p],["range",p],["label",p],["comment",p],["seeAlso",p],["isDefinedBy",p],["member",p],["Resource",p],["Class",p],["Property",p],["Datatype",p],["Literal",p],["List",p],["ObjectProperty",f],["DatatypeProperty",f],["AnnotationProperty",f],["Thing",f],["Nothing",f],["Package",ee]]),le=new Set(["type","subClassOf","subPropertyOf","domain","range"]);function Gt(t){return L.has(t)}function Xt(t){let e=L.get(t);return e?{publisher:l,package_:e}:void 0}function V(t,e,n){if(!t||!t.name)return;let r=L.get(t.name);if(!r)return;let s=()=>{t.publisher=l,t.package_=r,n&&(t.version=n.get(r))};if(le.has(t.name)){let a=t.publisher===l&&t.package_===r;t.publisher=l,t.package_=r,!a&&n&&(t.version=n.get(r));return}t.publisher===l&&t.package_===r||t.publisher&&t.publisher.length>0&&(!e||e(t))||s()}var Z=class{type=y(l,p,"type");subClassOf=y(l,p,"subClassOf");subPropertyOf=y(l,p,"subPropertyOf");domain=y(l,p,"domain");range=y(l,p,"range");label=y(l,p,"label");comment=y(l,p,"comment");resource=y(l,p,"Resource");class_=y(l,p,"Class");datatype=y(l,p,"Datatype");literal=y(l,p,"Literal");equivalentClass=y(l,f,"equivalentClass");equivalentProperty=y(l,f,"equivalentProperty");inverseOf=y(l,f,"inverseOf");sameAs=y(l,f,"sameAs");transitiveProperty=y(l,f,"TransitiveProperty");symmetricProperty=y(l,f,"SymmetricProperty");objectProperty=y(l,f,"ObjectProperty");datatypeProperty=y(l,f,"DatatypeProperty");annotationProperty=y(l,f,"AnnotationProperty");package_=y(l,ee,"Package");shape=w(D);nodeShape=w(N);propertyShape=w(T)};function w(t){return y(t.publisher,t.package_,t.name)}var ue=new Set(["kanonak.org/core-rdf","kanonak.org/core-owl","kanonak.org/core-xsd","kanonak.org/core-kanonak"]);function R(t){let e=t;if(e.entity&&typeof e.entity=="object"){let n=e.entity.type;if(typeof n=="string"){let s={publisher:"",package_:"",name:n.includes(".")?n.substring(n.lastIndexOf(".")+1):n};return V(s),{publisher:s.publisher,package_:s.package_,name:s.name}}}return ne(t)[0]??null}function ne(t){let e=t;if(e.entity&&typeof e.entity=="object"){let n=R(t);return n?[n]:[]}return Array.isArray(e.statement)?Y(t).map(n=>{let r={publisher:n.publisher??"",package_:n.package_??"",name:n.name};return V(r),{publisher:r.publisher,package_:r.package_,name:r.name}}):[]}var ye=[D,N,T];function O(t,e){return ue.has(`${t}/${e}`)}var de=new Set(["Property","ObjectProperty","DatatypeProperty","AnnotationProperty"]);function F(t){if(O(t.publisher,t.package_))return de.has(t.name)?t.name:void 0}var te=class t{static getTypeUri(e){return R(e)}static isCoreOntologyType(e){return O(e.publisher,e.package_)}static hasCoreType(e,n){return ne(e).some(r=>O(r.publisher,r.package_)&&r.name===n)}static isClassType(e){return t.hasCoreType(e,"Class")}static isDatatypeType(e){return t.hasCoreType(e,"Datatype")}static isDatatypePropertyType(e){return t.hasCoreType(e,"DatatypeProperty")}static isObjectPropertyType(e){return t.hasCoreType(e,"ObjectProperty")}static isAnnotationPropertyType(e){return t.hasCoreType(e,"AnnotationProperty")}static isGenericPropertyType(e){return t.hasCoreType(e,"Property")}static isAnyPropertyType(e){let n=R(e);return!n||!O(n.publisher,n.package_)?!1:n.name==="Property"||n.name==="DatatypeProperty"||n.name==="ObjectProperty"||n.name==="AnnotationProperty"}static isShapeType(e){let n=R(e);return n?ye.some(r=>X(n,r)):!1}static isSchemaDefinitionType(e){if(t.isShapeType(e))return!0;let n=R(e);return!n||!O(n.publisher,n.package_)?!1:n.name==="Class"||n.name==="Property"||n.name==="DatatypeProperty"||n.name==="ObjectProperty"||n.name==="AnnotationProperty"||n.name==="Datatype"}static isInstanceOfKnownClass(e,n){if(t.isSchemaDefinitionType(e))return!1;let r=R(e);return r?n.has(r.name):!1}};var K="kanonak.org",A="core-rdf",me={publisher:K,package_:A,name:"domain"},ge={publisher:K,package_:A,name:"range"},fe={publisher:K,package_:A,name:"subClassOf"},ke={publisher:K,package_:A,name:"type"},be={publisher:K,package_:A,name:"label"},Se={publisher:K,package_:A,name:"comment"},he=new _(K,A,"Resource");function _e(t){try{let e=J(`${t.namespace}/${t.name}`);return e.kind==="resource"?e.uri:void 0}catch{return}}function oe(t,e){let n=[],r=new Set,s="version"in e?e.version:void 0,a=[new _(e.publisher,e.package_,e.name,s??void 0)];for(;a.length>0;){let i=a.shift(),u=b(i);if(r.has(u))continue;r.add(u),n.push(i);let c=Pe(t,i);c&&a.push(...H(c,fe))}return n}function Pe(t,e){return e.version&&typeof e.version.major=="number"?q(t,e)??M(t,e)[0]:M(t,e)[0]}function $(t,e){let n;for(let r of Ae(e)){let s=Ce(t,r);if(s){if(s!=="Property")return s;n??=s}}return n}function Ce(t,e){let n=F(e);if(n)return n;let r=re.get(t);r||(r=new Map,re.set(t,r));let s=e.version,a=s&&typeof s.major=="number"?`${b(e)}@${s.major}.${s.minor}.${s.patch}`:b(e),i=r.get(a);if(i!==void 0)return i??void 0;let u;for(let c of oe(t,e)){let g=F(c);if(g){if(g!=="Property"){u=g;break}u??="Property"}}return r.set(a,u??null),u}var re=new WeakMap;function an(t,e){return $(t,e)!==void 0}function sn(t,e){return $(t,e)==="ObjectProperty"}function pn(t,e){return $(t,e)==="DatatypeProperty"}function Ee(t,e){let n=new Set([b(he)]);for(let r of oe(t,e))n.add(b(r));return n}function Ke(t,e){let n=Ee(t,e),r=[],s=new Set;for(let a of t){if(!(a instanceof B))continue;let i=$(t,a);if(!i)continue;let u=H(a,me);if(!u.some(m=>n.has(b(m))))continue;let c=_e(a);if(!c)continue;let g=b(c);s.has(g)||(s.add(g),r.push({uri:c,label:j(a,be),comment:j(a,Se),kind:i==="ObjectProperty"?"object":i==="DatatypeProperty"?"datatype":"other",range:W(a,ge),domains:u}))}return r}function cn(t,e,n){let r=Ke(t,e).find(s=>b(s.uri)===b(n));return r?{ok:!0,descriptor:r}:{ok:!1,message:`Property ${n.publisher}/${n.package_}/${n.name} is not in scope for ${e.publisher}/${e.package_}/${e.name}.`}}function Ae(t){let e=H(t,ke);return e.length>0?e:t instanceof G&&t.rangeType?[t.rangeType]:[]}export{Q as a,z as b,J as c,He as d,Ne as e,y as f,Te as g,ie as h,$e as i,pe as j,ce as k,D as l,N as m,T as n,Me as o,je as p,we as q,Le as r,Ve as s,Fe as t,Be as u,Ge as v,Xe as w,Ye as x,qe as y,We as z,Qe as A,ze as B,Je as C,Ze as D,et as E,tt as F,nt as G,rt as H,ot as I,at as J,st as K,it as L,pt as M,ct as N,lt as O,ut as P,Ct as Q,Et as R,Kt as S,At as T,xt as U,Rt as V,Ot as W,Ut as X,It as Y,Ht as Z,Dt as _,Nt as $,Tt as aa,$t as ba,vt as ca,Mt as da,jt as ea,wt as fa,Lt as ga,Gt as ha,Xt as ia,V as ja,Z as ka,F as la,te as ma,_e as na,oe as oa,$ as pa,an as qa,sn as ra,pn as sa,Ke as ta,cn as ua,Ae as va};
@@ -1 +0,0 @@
1
- import{i,j as o,k as r}from"./chunk-BZ3YTI3C.js";import{readFileSync as c,writeFileSync as l,existsSync as s}from"fs";import{createHash as a}from"crypto";var n="kanonak.lock";function f(e=n){return s(e)?o(c(e,"utf-8")):null}function k(e,t=n){e.lastUpdated=new Date().toISOString(),l(t,r(e),"utf-8")}function L(e){let t=a("sha256").update(e).digest("hex");return`${i}${t}`}export{f as a,k as b,L as c};
@@ -1,2 +0,0 @@
1
- import{j as V}from"./chunk-JHQPXEMA.js";import{a as E}from"./chunk-HF5FJBS2.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
- `&&(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 +0,0 @@
1
- import{a}from"./chunk-FUUTGGJS.js";var i=class{resourceResolver;constructor(e){this.resourceResolver=e}async buildFromNameAsync(e,r){return(await this.resourceResolver.resolveEntityAsync(e,r))?.uri??null}buildFromName(e,r,t){if(e.includes(".")){let o=e.split("."),l=o[0],u=o[1],p=this.findPackageNameForAlias(t,l);if(p){for(let n of r.values())if(n.entityName===u&&n.uri.package_===p)return n.uri}return null}let s=r.get(e);return s?s.uri:null}create(e,r,t,s){return new a(e,r,t,s)}findPackageNameForAlias(e,r){if(!e.metadata.imports)return null;for(let[t,s]of Object.entries(e.metadata.imports))for(let o of s)if(o.alias===r||!o.alias&&o.packageName===r)return o.packageName;return null}};export{i as a};