@kitelev/exocortex-cli 15.141.2 → 15.141.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +25 -25
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
// @kitelev/exocortex-cli v15.141.
|
|
2
|
+
// @kitelev/exocortex-cli v15.141.3
|
|
3
3
|
// CLI tool for Exocortex knowledge management system - SPARQL queries, task management, and more
|
|
4
4
|
// License: MIT
|
|
5
5
|
|
|
@@ -37,15 +37,15 @@ Expecting `+Dd.join(", ")+", got '"+(this.terminals_[ut]||ut)+"'":Ay="Parse erro
|
|
|
37
37
|
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(C){this.unput(this.match.slice(C))},"less"),pastInput:o(function(){var C=this.matched.substr(0,this.matched.length-this.match.length);return(C.length>20?"...":"")+C.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var C=this.match;return C.length<20&&(C+=this._input.substr(0,20-C.length)),(C.substr(0,20)+(C.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var C=this.pastInput(),O=new Array(C.length+1).join("-");return C+this.upcomingInput()+`
|
|
38
38
|
`+O+"^"},"showPosition"),test_match:o(function(C,O){var N,ne,Pe;if(this.options.backtrack_lexer&&(Pe={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Pe.yylloc.range=this.yylloc.range.slice(0))),ne=C[0].match(/(?:\r\n?|\n).*/g),ne&&(this.yylineno+=ne.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:ne?ne[ne.length-1].length-ne[ne.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+C[0].length},this.yytext+=C[0],this.match+=C[0],this.matches=C,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(C[0].length),this.matched+=C[0],N=this.performAction.call(this,this.yy,this,O,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),N)return N;if(this._backtrack){for(var g in Pe)this[g]=Pe[g];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var C,O,N,ne;this._more||(this.yytext="",this.match="");for(var Pe=this._currentRules(),g=0;g<Pe.length;g++)if(N=this._input.match(this.rules[Pe[g]]),N&&(!O||N[0].length>O[0].length)){if(O=N,ne=g,this.options.backtrack_lexer){if(C=this.test_match(N,Pe[g]),C!==!1)return C;if(this._backtrack){O=!1;continue}else return!1}else if(!this.options.flex)break}return O?(C=this.test_match(O,Pe[ne]),C!==!1?C:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
|
|
39
39
|
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var O=this.next();return O||this.lex()},"lex"),begin:o(function(O){this.conditionStack.push(O)},"begin"),popState:o(function(){var O=this.conditionStack.length-1;return O>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(O){return O=this.conditionStack.length-1-Math.abs(O||0),O>=0?this.conditionStack[O]:"INITIAL"},"topState"),pushState:o(function(O){this.begin(O)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{flex:!0,"case-insensitive":!0},performAction:o(function(O,N,ne,Pe){var g=Pe;switch(ne){case 0:break;case 1:return 12;case 2:return 15;case 3:return 41;case 4:return 325;case 5:return 326;case 6:return 45;case 7:return 47;case 8:return 48;case 9:return 39;case 10:return 24;case 11:return 28;case 12:return 29;case 13:return 31;case 14:return 32;case 15:return 36;case 16:return 53;case 17:return 327;case 18:return 63;case 19:return 64;case 20:return 70;case 21:return 73;case 22:return 76;case 23:return 78;case 24:return 81;case 25:return 83;case 26:return 85;case 27:return 193;case 28:return 100;case 29:return 328;case 30:return 121;case 31:return 329;case 32:return 330;case 33:return 110;case 34:return 331;case 35:return 109;case 36:return 332;case 37:return 333;case 38:return 113;case 39:return 115;case 40:return 116;case 41:return 131;case 42:return 123;case 43:return 126;case 44:return 128;case 45:return 132;case 46:return 112;case 47:return 334;case 48:return 335;case 49:return 159;case 50:return 161;case 51:return 164;case 52:return 174;case 53:return 160;case 54:return 336;case 55:return 163;case 56:return 312;case 57:return 314;case 58:return 317;case 59:return 318;case 60:return 272;case 61:return 197;case 62:return 337;case 63:return 338;case 64:return 229;case 65:return 340;case 66:return 263;case 67:return 224;case 68:return 231;case 69:return 232;case 70:return 242;case 71:return 246;case 72:return 290;case 73:return 341;case 74:return 342;case 75:return 343;case 76:return 344;case 77:return 345;case 78:return 250;case 79:return 346;case 80:return 265;case 81:return 276;case 82:return 277;case 83:return 268;case 84:return 269;case 85:return 270;case 86:return 271;case 87:return 347;case 88:return 348;case 89:return 273;case 90:return 274;case 91:return 350;case 92:return 349;case 93:return 351;case 94:return 279;case 95:return 280;case 96:return 283;case 97:return 285;case 98:return 289;case 99:return 293;case 100:return 296;case 101:return 13;case 102:return 16;case 103:return 308;case 104:return 309;case 105:return 87;case 106:return 292;case 107:return 82;case 108:return 294;case 109:return 295;case 110:return 297;case 111:return 298;case 112:return 299;case 113:return 300;case 114:return 301;case 115:return 302;case 116:return"EXPONENT";case 117:return 303;case 118:return 304;case 119:return 305;case 120:return 306;case 121:return 89;case 122:return 310;case 123:return 6;case 124:return"INVALID";case 125:console.log(N.yytext);break}},"anonymous"),rules:[/^(?:\s+|(#[^\n\r]*))/i,/^(?:BASE)/i,/^(?:PREFIX)/i,/^(?:SELECT)/i,/^(?:DISTINCT)/i,/^(?:REDUCED)/i,/^(?:\()/i,/^(?:AS)/i,/^(?:\))/i,/^(?:\*)/i,/^(?:CONSTRUCT)/i,/^(?:WHERE)/i,/^(?:\{)/i,/^(?:\})/i,/^(?:DESCRIBE)/i,/^(?:ASK)/i,/^(?:FROM)/i,/^(?:NAMED)/i,/^(?:GROUP)/i,/^(?:BY)/i,/^(?:HAVING)/i,/^(?:ORDER)/i,/^(?:ASC)/i,/^(?:DESC)/i,/^(?:LIMIT)/i,/^(?:OFFSET)/i,/^(?:VALUES)/i,/^(?:;)/i,/^(?:LOAD)/i,/^(?:SILENT)/i,/^(?:INTO)/i,/^(?:CLEAR)/i,/^(?:DROP)/i,/^(?:CREATE)/i,/^(?:ADD)/i,/^(?:TO)/i,/^(?:MOVE)/i,/^(?:COPY)/i,/^(?:INSERT((\s+|(#[^\n\r]*)\n\r?)+)DATA)/i,/^(?:DELETE((\s+|(#[^\n\r]*)\n\r?)+)DATA)/i,/^(?:DELETE((\s+|(#[^\n\r]*)\n\r?)+)WHERE)/i,/^(?:WITH)/i,/^(?:DELETE)/i,/^(?:INSERT)/i,/^(?:USING)/i,/^(?:DEFAULT)/i,/^(?:GRAPH)/i,/^(?:ALL)/i,/^(?:\.)/i,/^(?:OPTIONAL)/i,/^(?:SERVICE)/i,/^(?:BIND)/i,/^(?:UNDEF)/i,/^(?:MINUS)/i,/^(?:UNION)/i,/^(?:FILTER)/i,/^(?:<<)/i,/^(?:>>)/i,/^(?:\{\|)/i,/^(?:\|\})/i,/^(?:,)/i,/^(?:a)/i,/^(?:\|)/i,/^(?:\/)/i,/^(?:\^)/i,/^(?:\?)/i,/^(?:\+)/i,/^(?:!)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:\|\|)/i,/^(?:&&)/i,/^(?:=)/i,/^(?:!=)/i,/^(?:<)/i,/^(?:>)/i,/^(?:<=)/i,/^(?:>=)/i,/^(?:IN)/i,/^(?:NOT)/i,/^(?:-)/i,/^(?:BOUND)/i,/^(?:BNODE)/i,/^(?:(RAND|NOW|UUID|STRUUID))/i,/^(?:(LANG|DATATYPE|IRI|URI|ABS|CEIL|FLOOR|ROUND|STRLEN|STR|UCASE|LCASE|ENCODE_FOR_URI|YEAR|MONTH|DAY|HOURS|MINUTES|SECONDS|TIMEZONE|TZ|MD5|SHA1|SHA256|SHA384|SHA512|isIRI|isURI|isBLANK|isLITERAL|isNUMERIC))/i,/^(?:(SUBJECT|PREDICATE|OBJECT|isTRIPLE))/i,/^(?:(LANGMATCHES|CONTAINS|STRSTARTS|STRENDS|STRBEFORE|STRAFTER|STRLANG|STRDT|sameTerm))/i,/^(?:CONCAT)/i,/^(?:COALESCE)/i,/^(?:IF)/i,/^(?:TRIPLE)/i,/^(?:REGEX)/i,/^(?:SUBSTR)/i,/^(?:REPLACE)/i,/^(?:EXISTS)/i,/^(?:COUNT)/i,/^(?:SUM|MIN|MAX|AVG|SAMPLE)/i,/^(?:GROUP_CONCAT)/i,/^(?:SEPARATOR)/i,/^(?:\^\^)/i,/^(?:true|false)/i,/^(?:(<(?:[^<>\"\{\}\|\^`\\\u0000-\u0020])*>))/i,/^(?:((([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])(?:(?:(((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|-|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040])|\.)*(((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|-|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040]))?)?:))/i,/^(?:(((([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])(?:(?:(((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|-|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040])|\.)*(((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|-|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040]))?)?:)((?:((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|:|[0-9]|((%([0-9A-Fa-f])([0-9A-Fa-f]))|(\\(_|~|\.|-|!|\$|&|'|\(|\)|\*|\+|,|;|=|\/|\?|#|@|%))))(?:(?:(((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|-|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040])|\.|:|((%([0-9A-Fa-f])([0-9A-Fa-f]))|(\\(_|~|\.|-|!|\$|&|'|\(|\)|\*|\+|,|;|=|\/|\?|#|@|%))))*(?:(((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|-|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040])|:|((%([0-9A-Fa-f])([0-9A-Fa-f]))|(\\(_|~|\.|-|!|\$|&|'|\(|\)|\*|\+|,|;|=|\/|\?|#|@|%)))))?)))/i,/^(?:(_:(?:((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|[0-9])(?:(?:(((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|-|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040])|\.)*(((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|-|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040]))?))/i,/^(?:([\?\$]((?:((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|[0-9])(?:((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040])*)))/i,/^(?:(@[a-zA-Z]+(?:-[a-zA-Z0-9]+)*))/i,/^(?:([0-9]+))/i,/^(?:([0-9]*\.[0-9]+))/i,/^(?:([0-9]+\.[0-9]*([eE][+-]?[0-9]+)|\.([0-9])+([eE][+-]?[0-9]+)|([0-9])+([eE][+-]?[0-9]+)))/i,/^(?:(\+([0-9]+)))/i,/^(?:(\+([0-9]*\.[0-9]+)))/i,/^(?:(\+([0-9]+\.[0-9]*([eE][+-]?[0-9]+)|\.([0-9])+([eE][+-]?[0-9]+)|([0-9])+([eE][+-]?[0-9]+))))/i,/^(?:(-([0-9]+)))/i,/^(?:(-([0-9]*\.[0-9]+)))/i,/^(?:(-([0-9]+\.[0-9]*([eE][+-]?[0-9]+)|\.([0-9])+([eE][+-]?[0-9]+)|([0-9])+([eE][+-]?[0-9]+))))/i,/^(?:([eE][+-]?[0-9]+))/i,/^(?:('(?:(?:[^\u0027\u005C\u000A\u000D])|(\\[tbnrf\\\"']|\\u([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])|\\U([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])))*'))/i,/^(?:("(?:(?:[^\u0022\u005C\u000A\u000D])|(\\[tbnrf\\\"']|\\u([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])|\\U([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])))*"))/i,/^(?:('''(?:(?:'|'')?(?:[^'\\]|(\\[tbnrf\\\"']|\\u([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])|\\U([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f]))))*'''))/i,/^(?:("""(?:(?:"|"")?(?:[^\"\\]|(\\[tbnrf\\\"']|\\u([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])|\\U([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f]))))*"""))/i,/^(?:(\((\u0020|\u0009|\u000D|\u000A)*\)))/i,/^(?:(\[(\u0020|\u0009|\u000D|\u000A)*\]))/i,/^(?:$)/i,/^(?:.)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125],inclusive:!0}}};return I})();dy.lexer=ND;function Ne(){this.yy={}}return o(Ne,"Parser"),Ne.prototype=dy,dy.Parser=Ne,new Ne})();QT.exports=CM});var ZT=S((UZ,JT)=>{var IM="http://www.w3.org/2001/XMLSchema#integer",RM="http://www.w3.org/2001/XMLSchema#string";function xt(n){this._options=n=n||{};var e=n.prefixes||{};this._prefixByIri={};var t=[];for(var r in e){var i=e[r];Lu(i)&&(this._prefixByIri[i]=r,t.push(i))}var s=t.join("|").replace(/[\]\/\(\)\*\+\?\.\\\$]/g,"\\$&");this._prefixRegex=new RegExp("^("+s+")([a-zA-Z][\\-_a-zA-Z0-9]*)$"),this._usedPrefixes={},this._sparqlStar=n.sparqlStar,this._indent=Lu(n.indent)?n.indent:" ",this._newline=Lu(n.newline)?n.newline:`
|
|
40
|
-
`,this._explicitDatatype=!!n.explicitDatatype}o(xt,"Generator");xt.prototype.toQuery=function(n){var e="";return n.queryType&&(e+=n.queryType.toUpperCase()+" "),n.reduced&&(e+="REDUCED "),n.distinct&&(e+="DISTINCT "),n.variables?e+=Dn(n.variables,void 0,function(t){return/^[?$]/.test(t)?t:_a(t)?this.toEntity(t):"("+this.toExpression(t.expression)+" AS "+Oh(t.variable)+")"},this)+" ":n.template&&(e+=this.group(n.template,!0)+this._newline),n.from&&(e+=this.graphs("FROM ",n.from.default)+this.graphs("FROM NAMED ",n.from.named)),n.where&&(e+="WHERE "+this.group(n.where,!0)+this._newline),n.updates&&(e+=Dn(n.updates,";"+this._newline,this.toUpdate,this)),n.group&&(e+="GROUP BY "+Dn(n.group,void 0,function(t){var r=_a(t.expression)?this.toEntity(t.expression):"("+this.toExpression(t.expression)+")";return t.variable?"("+r+" AS "+Oh(t.variable)+")":r},this)+this._newline),n.having&&(e+="HAVING ("+Dn(n.having,void 0,this.toExpression,this)+")"+this._newline),n.order&&(e+="ORDER BY "+Dn(n.order,void 0,function(t){var r="("+this.toExpression(t.expression)+")";return t.descending?"DESC "+r:r},this)+this._newline),n.offset&&(e+="OFFSET "+n.offset+this._newline),n.limit&&(e+="LIMIT "+n.limit+this._newline),n.values&&(e+=this.values(n)),e=this.baseAndPrefixes(n)+e,e.trim()};xt.prototype.baseAndPrefixes=function(n){var e=n.base?"BASE <"+n.base+">"+this._newline:"",t="";for(var r in n.prefixes)(this._options.allPrefixes||this._usedPrefixes[r])&&(t+="PREFIX "+r+": <"+n.prefixes[r]+">"+this._newline);return e+t};xt.prototype.toPattern=function(n){var e=n.type||n instanceof Array&&"array"||(n.subject&&n.predicate&&n.object?"triple":"");if(!(e in this))throw new Error("Unknown entry type: "+e);return this[e](n)};xt.prototype.triple=function(n){return this.toEntity(n.subject)+" "+this.toEntity(n.predicate)+" "+this.toEntity(n.object)+"."};xt.prototype.array=function(n){return Dn(n,this._newline,this.toPattern,this)};xt.prototype.bgp=function(n){return this.encodeTriples(n.triples)};xt.prototype.encodeTriples=function(n){if(!n.length)return"";for(var e=[],t=void 0,r=void 0,i=0;i<n.length;i++){var s=n[i];_o(s.subject,t)?_o(s.predicate,r)?e.push(","):(r=s.predicate,e.push(";"+this._newline,this._indent,this.toEntity(r))):(t&&e.push("."+this._newline),t=s.subject,r=s.predicate,e.push(this.toEntity(t)," ",this.toEntity(r))),e.push(" ",this.toEntity(s.object))}return e.push("."),e.join("")};xt.prototype.graph=function(n){return"GRAPH "+this.toEntity(n.name)+" "+this.group(n)};xt.prototype.graphs=function(n,e){return!e||e.length===0?"":Dn(e,"",function(t){return n+this.toEntity(t)+this._newline},this)};xt.prototype.group=function(n,e){return n=e!==!0?this.array(n.patterns||n.triples):this.toPattern(n.type!=="group"?n:n.patterns),n.indexOf(this._newline)===-1?"{ "+n+" }":"{"+this._newline+this.indent(n)+this._newline+"}"};xt.prototype.query=function(n){return this.toQuery(n)};xt.prototype.filter=function(n){return"FILTER("+this.toExpression(n.expression)+")"};xt.prototype.bind=function(n){return"BIND("+this.toExpression(n.expression)+" AS "+Oh(n.variable)+")"};xt.prototype.optional=function(n){return"OPTIONAL "+this.group(n)};xt.prototype.union=function(n){return Dn(n.patterns,this._newline+"UNION"+this._newline,function(e){return this.group(e,!0)},this)};xt.prototype.minus=function(n){return"MINUS "+this.group(n)};xt.prototype.values=function(n){var e=Object.keys(n.values.reduce(function(i,s){for(var a in s)i[a]=!0;return i},{})),t,r;return e.length===1?t=r="":(t="(",r=")"),"VALUES "+t+e.join(" ")+r+" {"+this._newline+Dn(n.values,this._newline,function(i){return" "+t+Dn(e,void 0,function(s){return i[s]?this.toEntity(i[s]):"UNDEF"},this)+r},this)+this._newline+"}"};xt.prototype.service=function(n){return"SERVICE "+(n.silent?"SILENT ":"")+this.toEntity(n.name)+" "+this.group(n)};xt.prototype.toExpression=function(n){if(_a(n))return this.toEntity(n);switch(n.type.toLowerCase()){case"aggregate":return n.aggregation.toUpperCase()+"("+(n.distinct?"DISTINCT ":"")+this.toExpression(n.expression)+(typeof n.separator=="string"?'; SEPARATOR = "'+n.separator.replace(KT,XT)+'"':"")+")";case"functioncall":return this.toEntity(n.function)+"("+Dn(n.args,", ",this.toExpression,this)+")";case"operation":var e=n.operator.toUpperCase(),t=n.args||[];switch(n.operator.toLowerCase()){case"<":case">":case">=":case"<=":case"&&":case"||":case"=":case"!=":case"+":case"-":case"*":case"/":return(_a(t[0])?this.toEntity(t[0]):"("+this.toExpression(t[0])+")")+" "+e+" "+(_a(t[1])?this.toEntity(t[1]):"("+this.toExpression(t[1])+")");case"!":return"!("+this.toExpression(t[0])+")";case"uplus":return"+("+this.toExpression(t[0])+")";case"uminus":return"-("+this.toExpression(t[0])+")";case"notin":e="NOT IN";case"in":return this.toExpression(t[0])+" "+e+"("+(Lu(t[1])?t[1]:Dn(t[1],", ",this.toExpression,this))+")";case"notexists":e="NOT EXISTS";case"exists":return e+" "+this.group(t[0],!0);default:return e+"("+Dn(t,", ",this.toExpression,this)+")"}default:throw new Error("Unknown expression type: "+n.type)}};xt.prototype.toEntity=function(n){if(_a(n))switch(n.termType){case"Wildcard":return"*";case"Variable":return Oh(n);case"BlankNode":return"_:"+n.value;case"Literal":var e=n.value||"",t=n.language||"",r=n.datatype;if(n='"'+e.replace(KT,XT)+'"',t)n+="@"+t;else if(r){if(!this._explicitDatatype)switch(r.value){case RM:return n;case IM:if(/^\d+$/.test(e))return e+" "}n+="^^"+this.encodeIRI(r.value)}return n;case"Quad":if(!this._sparqlStar)throw new Error("SPARQL* support is not enabled");return n.graph&&n.graph.termType!=="DefaultGraph"?"<< GRAPH "+this.toEntity(n.graph)+" { "+this.toEntity(n.subject)+" "+this.toEntity(n.predicate)+" "+this.toEntity(n.object)+" } >>":"<< "+this.toEntity(n.subject)+" "+this.toEntity(n.predicate)+" "+this.toEntity(n.object)+" >>";default:return this.encodeIRI(n.value)}else{var i=n.items.map(this.toEntity,this),s=n.pathType;switch(s){case"^":case"!":return s+i[0];case"*":case"+":case"?":return"("+i[0]+s+")";default:return"("+i.join(s)+")"}}};var KT=/["\\\t\n\r\b\f]/g,XT=o(function(n){return OM[n]},"escapeReplacer"),OM={"\\":"\\\\",'"':'\\"'," ":"\\t","\n":"\\n","\r":"\\r","\b":"\\b","\f":"\\f"};xt.prototype.encodeIRI=function(n){var e=this._prefixRegex.exec(n);if(e){var t=this._prefixByIri[e[1]];return this._usedPrefixes[t]=!0,t+":"+e[2]}return"<"+n+">"};xt.prototype.toUpdate=function(n){switch(n.type||n.updateType){case"load":return"LOAD"+(n.source?" "+this.toEntity(n.source):"")+(n.destination?" INTO GRAPH "+this.toEntity(n.destination):"");case"insert":return"INSERT DATA "+this.group(n.insert,!0);case"delete":return"DELETE DATA "+this.group(n.delete,!0);case"deletewhere":return"DELETE WHERE "+this.group(n.delete,!0);case"insertdelete":return(n.graph?"WITH "+this.toEntity(n.graph)+this._newline:"")+(n.delete.length?"DELETE "+this.group(n.delete,!0)+this._newline:"")+(n.insert.length?"INSERT "+this.group(n.insert,!0)+this._newline:"")+(n.using?this.graphs("USING ",n.using.default):"")+(n.using?this.graphs("USING NAMED ",n.using.named):"")+"WHERE "+this.group(n.where,!0);case"add":case"copy":case"move":return n.type.toUpperCase()+" "+(n.silent?"SILENT ":"")+(n.source.default?"DEFAULT":this.toEntity(n.source.name))+" TO "+this.toEntity(n.destination.name);case"create":case"clear":case"drop":return n.type.toUpperCase()+(n.silent?" SILENT ":" ")+(n.graph.default?"DEFAULT":n.graph.named?"NAMED":n.graph.all?"ALL":"GRAPH "+this.toEntity(n.graph.name));default:throw new Error("Unknown update query type: "+n.type)}};xt.prototype.indent=function(n){return n.replace(/^/gm,this._indent)};function Oh(n){return"?"+n.value}o(Oh,"variableToString");function Lu(n){return typeof n=="string"}o(Lu,"isString");function _a(n){return typeof n.termType=="string"}o(_a,"isTerm");function _o(n,e){if(!n||!_a(n)||!e||!_a(e)||n.termType!==e.termType)return!1;switch(n.termType){case"Literal":return n.value===e.value&&n.language===e.language&&_o(n.datatype,e.datatype);case"Quad":return _o(n.subject,e.subject)&&_o(n.predicate,e.predicate)&&_o(n.object,e.object)&&_o(n.graph,e.graph);default:return n.value===e.value}}o(_o,"equalTerms");function Dn(n,e,t,r){return n.map(t,r).join(Lu(e)?e:" ")}o(Dn,"mapJoin");function PM(n={}){return{stringify:o(function(e){var t=Object.create(n);return t.prefixes=e.prefixes,new xt(t).toQuery(e)},"stringify"),createGenerator:o(function(){return new xt(n)},"createGenerator")}}o(PM,"_Generator");JT.exports={Generator:PM}});var __=S(Ph=>{"use strict";Object.defineProperty(Ph,"__esModule",{value:!0});Ph.BlankNode=void 0;var y_=class{static{o(this,"BlankNode")}constructor(e){this.termType="BlankNode",this.value=e}equals(e){return!!e&&e.termType==="BlankNode"&&e.value===this.value}};Ph.BlankNode=y_});var S_=S(Fh=>{"use strict";Object.defineProperty(Fh,"__esModule",{value:!0});Fh.DefaultGraph=void 0;var ku=class{static{o(this,"DefaultGraph")}constructor(){this.termType="DefaultGraph",this.value=""}equals(e){return!!e&&e.termType==="DefaultGraph"}};Fh.DefaultGraph=ku;ku.INSTANCE=new ku});var Nh=S(Dh=>{"use strict";Object.defineProperty(Dh,"__esModule",{value:!0});Dh.NamedNode=void 0;var b_=class{static{o(this,"NamedNode")}constructor(e){this.termType="NamedNode",this.value=e}equals(e){return!!e&&e.termType==="NamedNode"&&e.value===this.value}};Dh.NamedNode=b_});var v_=S(Lh=>{"use strict";Object.defineProperty(Lh,"__esModule",{value:!0});Lh.Literal=void 0;var e3=Nh(),Mu=class n{static{o(this,"Literal")}constructor(e,t){this.termType="Literal",this.value=e,typeof t=="string"?(this.language=t,this.datatype=n.RDF_LANGUAGE_STRING):t?(this.language="",this.datatype=t):(this.language="",this.datatype=n.XSD_STRING)}equals(e){return!!e&&e.termType==="Literal"&&e.value===this.value&&e.language===this.language&&this.datatype.equals(e.datatype)}};Lh.Literal=Mu;Mu.RDF_LANGUAGE_STRING=new e3.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString");Mu.XSD_STRING=new e3.NamedNode("http://www.w3.org/2001/XMLSchema#string")});var E_=S(kh=>{"use strict";Object.defineProperty(kh,"__esModule",{value:!0});kh.Quad=void 0;var w_=class{static{o(this,"Quad")}constructor(e,t,r,i){this.termType="Quad",this.value="",this.subject=e,this.predicate=t,this.object=r,this.graph=i}equals(e){return!!e&&(e.termType==="Quad"||!e.termType)&&this.subject.equals(e.subject)&&this.predicate.equals(e.predicate)&&this.object.equals(e.object)&&this.graph.equals(e.graph)}};kh.Quad=w_});var A_=S(Mh=>{"use strict";Object.defineProperty(Mh,"__esModule",{value:!0});Mh.Variable=void 0;var T_=class{static{o(this,"Variable")}constructor(e){this.termType="Variable",this.value=e}equals(e){return!!e&&e.termType==="Variable"&&e.value===this.value}};Mh.Variable=T_});var r3=S(jh=>{"use strict";Object.defineProperty(jh,"__esModule",{value:!0});jh.DataFactory=void 0;var FM=__(),DM=S_(),t3=v_(),NM=Nh(),LM=E_(),kM=A_(),MM=0,x_=class{static{o(this,"DataFactory")}constructor(e){this.blankNodeCounter=0,e=e||{},this.blankNodePrefix=e.blankNodePrefix||`df_${MM++}_`}namedNode(e){return new NM.NamedNode(e)}blankNode(e){return new FM.BlankNode(e||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(e,t){return new t3.Literal(e,t)}variable(e){return new kM.Variable(e)}defaultGraph(){return DM.DefaultGraph.INSTANCE}quad(e,t,r,i){return new LM.Quad(e,t,r,i||this.defaultGraph())}fromTerm(e){switch(e.termType){case"NamedNode":return this.namedNode(e.value);case"BlankNode":return this.blankNode(e.value);case"Literal":return e.language?this.literal(e.value,e.language):e.datatype.equals(t3.Literal.XSD_STRING)?this.literal(e.value):this.literal(e.value,this.fromTerm(e.datatype));case"Variable":return this.variable(e.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(e.subject),this.fromTerm(e.predicate),this.fromTerm(e.object),this.fromTerm(e.graph))}}fromQuad(e){return this.fromTerm(e)}resetBlankNodeCounter(){this.blankNodeCounter=0}};jh.DataFactory=x_});var n3=S(Nn=>{"use strict";var jM=Nn&&Nn.__createBinding||(Object.create?(function(n,e,t,r){r===void 0&&(r=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:o(function(){return e[t]},"get")}),Object.defineProperty(n,r,i)}):(function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]})),So=Nn&&Nn.__exportStar||function(n,e){for(var t in n)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&jM(e,n,t)};Object.defineProperty(Nn,"__esModule",{value:!0});So(__(),Nn);So(r3(),Nn);So(S_(),Nn);So(v_(),Nn);So(Nh(),Nn);So(E_(),Nn);So(A_(),Nn)});var s3=S((aee,i3)=>{var{Parser:js}=YT(),{Generator:$M}=ZT(),{Wildcard:BM}=g_(),{DataFactory:VM}=n3();function UM({prefixes:n,baseIRI:e,factory:t,pathOnly:r,sparqlStar:i,skipValidation:s,skipUngroupedVariableCheck:a}={}){let c={};for(let u in n??{})c[u]=n[u];let l=new js;return l.parse=function(){return js.base=e||"",js.prefixes=Object.create(c),js.factory=t||new VM,js.sparqlStar=!!i,js.pathOnly=!!r,js.skipValidation=!!s||!!a,js.prototype.parse.apply(l,arguments)},l._resetBlanks=js._resetBlanks,l}o(UM,"_Parser");i3.exports={Parser:UM,Generator:$M,Wildcard:BM}});var I_=S(wc=>{"use strict";Object.defineProperty(wc,"__esModule",{value:!0});wc.CaseWhenTransformerError=wc.CaseWhenTransformer=void 0;var C_=class{static{o(this,"CaseWhenTransformer")}transform(e){let t=this.stripLineComments(e),r,i=0,s=100;do if(r=t,t=this.transformSinglePass(t),i++,i>s)throw new $s("Too many nested CASE expressions (max 100 iterations)");while(t!==r);return t}stripLineComments(e){let t="",r=0;for(;r<e.length;){let i=e[r];if(i==="'"||i==='"'){let s=i;for(t+=i,r++;r<e.length&&e[r]!==s;){if(e[r]==="\\"&&r+1<e.length){t+=e[r]+e[r+1],r+=2;continue}t+=e[r],r++}r<e.length&&(t+=e[r],r++);continue}if(i==="<"){let s=e.indexOf(">",r),a=e.indexOf(`
|
|
40
|
+
`,this._explicitDatatype=!!n.explicitDatatype}o(xt,"Generator");xt.prototype.toQuery=function(n){var e="";return n.queryType&&(e+=n.queryType.toUpperCase()+" "),n.reduced&&(e+="REDUCED "),n.distinct&&(e+="DISTINCT "),n.variables?e+=Dn(n.variables,void 0,function(t){return/^[?$]/.test(t)?t:_a(t)?this.toEntity(t):"("+this.toExpression(t.expression)+" AS "+Oh(t.variable)+")"},this)+" ":n.template&&(e+=this.group(n.template,!0)+this._newline),n.from&&(e+=this.graphs("FROM ",n.from.default)+this.graphs("FROM NAMED ",n.from.named)),n.where&&(e+="WHERE "+this.group(n.where,!0)+this._newline),n.updates&&(e+=Dn(n.updates,";"+this._newline,this.toUpdate,this)),n.group&&(e+="GROUP BY "+Dn(n.group,void 0,function(t){var r=_a(t.expression)?this.toEntity(t.expression):"("+this.toExpression(t.expression)+")";return t.variable?"("+r+" AS "+Oh(t.variable)+")":r},this)+this._newline),n.having&&(e+="HAVING ("+Dn(n.having,void 0,this.toExpression,this)+")"+this._newline),n.order&&(e+="ORDER BY "+Dn(n.order,void 0,function(t){var r="("+this.toExpression(t.expression)+")";return t.descending?"DESC "+r:r},this)+this._newline),n.offset&&(e+="OFFSET "+n.offset+this._newline),n.limit&&(e+="LIMIT "+n.limit+this._newline),n.values&&(e+=this.values(n)),e=this.baseAndPrefixes(n)+e,e.trim()};xt.prototype.baseAndPrefixes=function(n){var e=n.base?"BASE <"+n.base+">"+this._newline:"",t="";for(var r in n.prefixes)(this._options.allPrefixes||this._usedPrefixes[r])&&(t+="PREFIX "+r+": <"+n.prefixes[r]+">"+this._newline);return e+t};xt.prototype.toPattern=function(n){var e=n.type||n instanceof Array&&"array"||(n.subject&&n.predicate&&n.object?"triple":"");if(!(e in this))throw new Error("Unknown entry type: "+e);return this[e](n)};xt.prototype.triple=function(n){return this.toEntity(n.subject)+" "+this.toEntity(n.predicate)+" "+this.toEntity(n.object)+"."};xt.prototype.array=function(n){return Dn(n,this._newline,this.toPattern,this)};xt.prototype.bgp=function(n){return this.encodeTriples(n.triples)};xt.prototype.encodeTriples=function(n){if(!n.length)return"";for(var e=[],t=void 0,r=void 0,i=0;i<n.length;i++){var s=n[i];_o(s.subject,t)?_o(s.predicate,r)?e.push(","):(r=s.predicate,e.push(";"+this._newline,this._indent,this.toEntity(r))):(t&&e.push("."+this._newline),t=s.subject,r=s.predicate,e.push(this.toEntity(t)," ",this.toEntity(r))),e.push(" ",this.toEntity(s.object))}return e.push("."),e.join("")};xt.prototype.graph=function(n){return"GRAPH "+this.toEntity(n.name)+" "+this.group(n)};xt.prototype.graphs=function(n,e){return!e||e.length===0?"":Dn(e,"",function(t){return n+this.toEntity(t)+this._newline},this)};xt.prototype.group=function(n,e){return n=e!==!0?this.array(n.patterns||n.triples):this.toPattern(n.type!=="group"?n:n.patterns),n.indexOf(this._newline)===-1?"{ "+n+" }":"{"+this._newline+this.indent(n)+this._newline+"}"};xt.prototype.query=function(n){return this.toQuery(n)};xt.prototype.filter=function(n){return"FILTER("+this.toExpression(n.expression)+")"};xt.prototype.bind=function(n){return"BIND("+this.toExpression(n.expression)+" AS "+Oh(n.variable)+")"};xt.prototype.optional=function(n){return"OPTIONAL "+this.group(n)};xt.prototype.union=function(n){return Dn(n.patterns,this._newline+"UNION"+this._newline,function(e){return this.group(e,!0)},this)};xt.prototype.minus=function(n){return"MINUS "+this.group(n)};xt.prototype.values=function(n){var e=Object.keys(n.values.reduce(function(i,s){for(var a in s)i[a]=!0;return i},{})),t,r;return e.length===1?t=r="":(t="(",r=")"),"VALUES "+t+e.join(" ")+r+" {"+this._newline+Dn(n.values,this._newline,function(i){return" "+t+Dn(e,void 0,function(s){return i[s]?this.toEntity(i[s]):"UNDEF"},this)+r},this)+this._newline+"}"};xt.prototype.service=function(n){return"SERVICE "+(n.silent?"SILENT ":"")+this.toEntity(n.name)+" "+this.group(n)};xt.prototype.toExpression=function(n){if(_a(n))return this.toEntity(n);switch(n.type.toLowerCase()){case"aggregate":return n.aggregation.toUpperCase()+"("+(n.distinct?"DISTINCT ":"")+this.toExpression(n.expression)+(typeof n.separator=="string"?'; SEPARATOR = "'+n.separator.replace(KT,XT)+'"':"")+")";case"functioncall":return this.toEntity(n.function)+"("+Dn(n.args,", ",this.toExpression,this)+")";case"operation":var e=n.operator.toUpperCase(),t=n.args||[];switch(n.operator.toLowerCase()){case"<":case">":case">=":case"<=":case"&&":case"||":case"=":case"!=":case"+":case"-":case"*":case"/":return(_a(t[0])?this.toEntity(t[0]):"("+this.toExpression(t[0])+")")+" "+e+" "+(_a(t[1])?this.toEntity(t[1]):"("+this.toExpression(t[1])+")");case"!":return"!("+this.toExpression(t[0])+")";case"uplus":return"+("+this.toExpression(t[0])+")";case"uminus":return"-("+this.toExpression(t[0])+")";case"notin":e="NOT IN";case"in":return this.toExpression(t[0])+" "+e+"("+(Lu(t[1])?t[1]:Dn(t[1],", ",this.toExpression,this))+")";case"notexists":e="NOT EXISTS";case"exists":return e+" "+this.group(t[0],!0);default:return e+"("+Dn(t,", ",this.toExpression,this)+")"}default:throw new Error("Unknown expression type: "+n.type)}};xt.prototype.toEntity=function(n){if(_a(n))switch(n.termType){case"Wildcard":return"*";case"Variable":return Oh(n);case"BlankNode":return"_:"+n.value;case"Literal":var e=n.value||"",t=n.language||"",r=n.datatype;if(n='"'+e.replace(KT,XT)+'"',t)n+="@"+t;else if(r){if(!this._explicitDatatype)switch(r.value){case RM:return n;case IM:if(/^\d+$/.test(e))return e+" "}n+="^^"+this.encodeIRI(r.value)}return n;case"Quad":if(!this._sparqlStar)throw new Error("SPARQL* support is not enabled");return n.graph&&n.graph.termType!=="DefaultGraph"?"<< GRAPH "+this.toEntity(n.graph)+" { "+this.toEntity(n.subject)+" "+this.toEntity(n.predicate)+" "+this.toEntity(n.object)+" } >>":"<< "+this.toEntity(n.subject)+" "+this.toEntity(n.predicate)+" "+this.toEntity(n.object)+" >>";default:return this.encodeIRI(n.value)}else{var i=n.items.map(this.toEntity,this),s=n.pathType;switch(s){case"^":case"!":return s+i[0];case"*":case"+":case"?":return"("+i[0]+s+")";default:return"("+i.join(s)+")"}}};var KT=/["\\\t\n\r\b\f]/g,XT=o(function(n){return OM[n]},"escapeReplacer"),OM={"\\":"\\\\",'"':'\\"'," ":"\\t","\n":"\\n","\r":"\\r","\b":"\\b","\f":"\\f"};xt.prototype.encodeIRI=function(n){var e=this._prefixRegex.exec(n);if(e){var t=this._prefixByIri[e[1]];return this._usedPrefixes[t]=!0,t+":"+e[2]}return"<"+n+">"};xt.prototype.toUpdate=function(n){switch(n.type||n.updateType){case"load":return"LOAD"+(n.source?" "+this.toEntity(n.source):"")+(n.destination?" INTO GRAPH "+this.toEntity(n.destination):"");case"insert":return"INSERT DATA "+this.group(n.insert,!0);case"delete":return"DELETE DATA "+this.group(n.delete,!0);case"deletewhere":return"DELETE WHERE "+this.group(n.delete,!0);case"insertdelete":return(n.graph?"WITH "+this.toEntity(n.graph)+this._newline:"")+(n.delete.length?"DELETE "+this.group(n.delete,!0)+this._newline:"")+(n.insert.length?"INSERT "+this.group(n.insert,!0)+this._newline:"")+(n.using?this.graphs("USING ",n.using.default):"")+(n.using?this.graphs("USING NAMED ",n.using.named):"")+"WHERE "+this.group(n.where,!0);case"add":case"copy":case"move":return n.type.toUpperCase()+" "+(n.silent?"SILENT ":"")+(n.source.default?"DEFAULT":this.toEntity(n.source.name))+" TO "+this.toEntity(n.destination.name);case"create":case"clear":case"drop":return n.type.toUpperCase()+(n.silent?" SILENT ":" ")+(n.graph.default?"DEFAULT":n.graph.named?"NAMED":n.graph.all?"ALL":"GRAPH "+this.toEntity(n.graph.name));default:throw new Error("Unknown update query type: "+n.type)}};xt.prototype.indent=function(n){return n.replace(/^/gm,this._indent)};function Oh(n){return"?"+n.value}o(Oh,"variableToString");function Lu(n){return typeof n=="string"}o(Lu,"isString");function _a(n){return typeof n.termType=="string"}o(_a,"isTerm");function _o(n,e){if(!n||!_a(n)||!e||!_a(e)||n.termType!==e.termType)return!1;switch(n.termType){case"Literal":return n.value===e.value&&n.language===e.language&&_o(n.datatype,e.datatype);case"Quad":return _o(n.subject,e.subject)&&_o(n.predicate,e.predicate)&&_o(n.object,e.object)&&_o(n.graph,e.graph);default:return n.value===e.value}}o(_o,"equalTerms");function Dn(n,e,t,r){return n.map(t,r).join(Lu(e)?e:" ")}o(Dn,"mapJoin");function PM(n={}){return{stringify:o(function(e){var t=Object.create(n);return t.prefixes=e.prefixes,new xt(t).toQuery(e)},"stringify"),createGenerator:o(function(){return new xt(n)},"createGenerator")}}o(PM,"_Generator");JT.exports={Generator:PM}});var __=S(Ph=>{"use strict";Object.defineProperty(Ph,"__esModule",{value:!0});Ph.BlankNode=void 0;var y_=class{static{o(this,"BlankNode")}constructor(e){this.termType="BlankNode",this.value=e}equals(e){return!!e&&e.termType==="BlankNode"&&e.value===this.value}};Ph.BlankNode=y_});var S_=S(Fh=>{"use strict";Object.defineProperty(Fh,"__esModule",{value:!0});Fh.DefaultGraph=void 0;var ku=class{static{o(this,"DefaultGraph")}constructor(){this.termType="DefaultGraph",this.value=""}equals(e){return!!e&&e.termType==="DefaultGraph"}};Fh.DefaultGraph=ku;ku.INSTANCE=new ku});var Nh=S(Dh=>{"use strict";Object.defineProperty(Dh,"__esModule",{value:!0});Dh.NamedNode=void 0;var b_=class{static{o(this,"NamedNode")}constructor(e){this.termType="NamedNode",this.value=e}equals(e){return!!e&&e.termType==="NamedNode"&&e.value===this.value}};Dh.NamedNode=b_});var v_=S(Lh=>{"use strict";Object.defineProperty(Lh,"__esModule",{value:!0});Lh.Literal=void 0;var eA=Nh(),Mu=class n{static{o(this,"Literal")}constructor(e,t){this.termType="Literal",this.value=e,typeof t=="string"?(this.language=t,this.datatype=n.RDF_LANGUAGE_STRING):t?(this.language="",this.datatype=t):(this.language="",this.datatype=n.XSD_STRING)}equals(e){return!!e&&e.termType==="Literal"&&e.value===this.value&&e.language===this.language&&this.datatype.equals(e.datatype)}};Lh.Literal=Mu;Mu.RDF_LANGUAGE_STRING=new eA.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString");Mu.XSD_STRING=new eA.NamedNode("http://www.w3.org/2001/XMLSchema#string")});var E_=S(kh=>{"use strict";Object.defineProperty(kh,"__esModule",{value:!0});kh.Quad=void 0;var w_=class{static{o(this,"Quad")}constructor(e,t,r,i){this.termType="Quad",this.value="",this.subject=e,this.predicate=t,this.object=r,this.graph=i}equals(e){return!!e&&(e.termType==="Quad"||!e.termType)&&this.subject.equals(e.subject)&&this.predicate.equals(e.predicate)&&this.object.equals(e.object)&&this.graph.equals(e.graph)}};kh.Quad=w_});var A_=S(Mh=>{"use strict";Object.defineProperty(Mh,"__esModule",{value:!0});Mh.Variable=void 0;var T_=class{static{o(this,"Variable")}constructor(e){this.termType="Variable",this.value=e}equals(e){return!!e&&e.termType==="Variable"&&e.value===this.value}};Mh.Variable=T_});var rA=S(jh=>{"use strict";Object.defineProperty(jh,"__esModule",{value:!0});jh.DataFactory=void 0;var FM=__(),DM=S_(),tA=v_(),NM=Nh(),LM=E_(),kM=A_(),MM=0,x_=class{static{o(this,"DataFactory")}constructor(e){this.blankNodeCounter=0,e=e||{},this.blankNodePrefix=e.blankNodePrefix||`df_${MM++}_`}namedNode(e){return new NM.NamedNode(e)}blankNode(e){return new FM.BlankNode(e||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(e,t){return new tA.Literal(e,t)}variable(e){return new kM.Variable(e)}defaultGraph(){return DM.DefaultGraph.INSTANCE}quad(e,t,r,i){return new LM.Quad(e,t,r,i||this.defaultGraph())}fromTerm(e){switch(e.termType){case"NamedNode":return this.namedNode(e.value);case"BlankNode":return this.blankNode(e.value);case"Literal":return e.language?this.literal(e.value,e.language):e.datatype.equals(tA.Literal.XSD_STRING)?this.literal(e.value):this.literal(e.value,this.fromTerm(e.datatype));case"Variable":return this.variable(e.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(e.subject),this.fromTerm(e.predicate),this.fromTerm(e.object),this.fromTerm(e.graph))}}fromQuad(e){return this.fromTerm(e)}resetBlankNodeCounter(){this.blankNodeCounter=0}};jh.DataFactory=x_});var nA=S(Nn=>{"use strict";var jM=Nn&&Nn.__createBinding||(Object.create?(function(n,e,t,r){r===void 0&&(r=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:o(function(){return e[t]},"get")}),Object.defineProperty(n,r,i)}):(function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]})),So=Nn&&Nn.__exportStar||function(n,e){for(var t in n)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&jM(e,n,t)};Object.defineProperty(Nn,"__esModule",{value:!0});So(__(),Nn);So(rA(),Nn);So(S_(),Nn);So(v_(),Nn);So(Nh(),Nn);So(E_(),Nn);So(A_(),Nn)});var sA=S((aee,iA)=>{var{Parser:js}=YT(),{Generator:$M}=ZT(),{Wildcard:BM}=g_(),{DataFactory:VM}=nA();function UM({prefixes:n,baseIRI:e,factory:t,pathOnly:r,sparqlStar:i,skipValidation:s,skipUngroupedVariableCheck:a}={}){let c={};for(let u in n??{})c[u]=n[u];let l=new js;return l.parse=function(){return js.base=e||"",js.prefixes=Object.create(c),js.factory=t||new VM,js.sparqlStar=!!i,js.pathOnly=!!r,js.skipValidation=!!s||!!a,js.prototype.parse.apply(l,arguments)},l._resetBlanks=js._resetBlanks,l}o(UM,"_Parser");iA.exports={Parser:UM,Generator:$M,Wildcard:BM}});var I_=S(wc=>{"use strict";Object.defineProperty(wc,"__esModule",{value:!0});wc.CaseWhenTransformerError=wc.CaseWhenTransformer=void 0;var C_=class{static{o(this,"CaseWhenTransformer")}transform(e){let t=this.stripLineComments(e),r,i=0,s=100;do if(r=t,t=this.transformSinglePass(t),i++,i>s)throw new $s("Too many nested CASE expressions (max 100 iterations)");while(t!==r);return t}stripLineComments(e){let t="",r=0;for(;r<e.length;){let i=e[r];if(i==="'"||i==='"'){let s=i;for(t+=i,r++;r<e.length&&e[r]!==s;){if(e[r]==="\\"&&r+1<e.length){t+=e[r]+e[r+1],r+=2;continue}t+=e[r],r++}r<e.length&&(t+=e[r],r++);continue}if(i==="<"){let s=e.indexOf(">",r),a=e.indexOf(`
|
|
41
41
|
`,r);if(s!==-1&&(a===-1||s<a)){t+=e.substring(r,s+1),r=s+1;continue}}if(i==="#"){let s=e.indexOf(`
|
|
42
42
|
`,r),a=s===-1?e.length:s;t+=" ".repeat(a-r),r=a;continue}t+=i,r++}return t}transformSinglePass(e){let t=this.findCasePositions(e);if(t.length===0)return e;let r=e;for(let i=t.length-1;i>=0;i--){let s=t[i],a=this.extractCaseExpression(r,s);if(a){let c=this.convertCaseToIf(a.content);r=r.substring(0,s)+c+r.substring(s+a.length)}}return r}findCasePositions(e){let t=[],r=e.toUpperCase(),i=0;for(;i<e.length;){if(e[i]==="'"||e[i]==='"'){let s=e[i];for(i++;i<e.length&&e[i]!==s;)e[i]==="\\"&&i++,i++;i++;continue}if(r.substring(i,i+4)==="CASE"&&this.isWordBoundary(e,i,4)){t.push(i),i+=4;continue}i++}return t}extractCaseExpression(e,t){let r=1,i=t+4,s=e.toUpperCase();for(;i<e.length&&r>0;){if(e[i]==="'"||e[i]==='"'){let a=e[i];for(i++;i<e.length&&e[i]!==a;)e[i]==="\\"&&i++,i++;i++;continue}if(s.substring(i,i+4)==="CASE"&&this.isWordBoundary(e,i,4)){r++,i+=4;continue}if(s.substring(i,i+3)==="END"&&this.isWordBoundary(e,i,3)){if(r--,r===0){let a=e.substring(t,i+3);return{content:a,length:a.length}}i+=3;continue}i++}if(r>0)throw new $s(`Unclosed CASE expression at position ${t}`);return null}isWordBoundary(e,t,r){let i=t>0?e[t-1]:"",s=t===0||!/[a-zA-Z0-9_?$]/.test(i),a=t+r<e.length?e[t+r]:"",c=t+r>=e.length||!/[a-zA-Z0-9_]/.test(a);return s&&c}convertCaseToIf(e){let t=this.extractWhenClauses(e),r=this.extractElseClause(e);if(t.length===0)throw new $s("CASE expression must have at least one WHEN clause");let i=r!==null?r:'""';for(let s=t.length-1;s>=0;s--){let{condition:a,result:c}=t[s];i=`IF(${a}, ${c}, ${i})`}return i}extractWhenClauses(e){let t=[],r=e.replace(/^\s*CASE\s+/i,"").replace(/\s*END\s*$/i,""),i=this.findKeywordPositions(r,"WHEN"),s=this.findKeywordPositions(r,"ELSE"),a=s.length>0?s[0]:r.length;for(let c=0;c<i.length;c++){let l=i[c]+4,u=c+1<i.length?i[c+1]:a,f=r.substring(l,u).trim(),d=this.parseWhenClause(f);d&&t.push(d)}return t}findKeywordPositions(e,t){let r=[],i=e.toUpperCase(),s=0,a=0;for(;s<e.length;){let c=e[s];if(c==="'"||c==='"'){let l=c;for(s++;s<e.length&&e[s]!==l;)e[s]==="\\"&&s++,s++;s++;continue}if(c==="("){a++,s++;continue}if(c===")"){a--,s++;continue}if(a===0&&i.substring(s,s+t.length)===t&&this.isWordBoundary(e,s,t.length)){r.push(s),s+=t.length;continue}s++}return r}parseWhenClause(e){let t=this.findKeywordPositions(e,"THEN");if(t.length===0)throw new $s(`WHEN clause missing THEN keyword: ${e.substring(0,50)}...`);let r=t[0],i=e.substring(0,r).trim(),s=e.substring(r+4).trim();if(!i)throw new $s("WHEN clause has empty condition");if(!s)throw new $s("WHEN clause has empty result");return{condition:i,result:s}}extractElseClause(e){let t=e.replace(/^\s*CASE\s+/i,"").replace(/\s*END\s*$/i,""),r=this.findKeywordPositions(t,"ELSE");if(r.length>0){let i=r[0];return t.substring(i+4).trim()}return null}};wc.CaseWhenTransformer=C_;var $s=class extends Error{static{o(this,"CaseWhenTransformerError")}constructor(e){super(`CASE WHEN transformation error: ${e}`),this.name="CaseWhenTransformerError"}};wc.CaseWhenTransformerError=$s});var R_=S(Ec=>{"use strict";Object.defineProperty(Ec,"__esModule",{value:!0});Ec.LateralTransformerError=Ec.LateralTransformer=void 0;var $h=class n{static{o(this,"LateralTransformer")}transform(e){let t=e,r,i=0,s=100;do if(r=t,t=this.transformSinglePass(t),i++,i>s)throw new Sa("Too many nested LATERAL joins (max 100 iterations)");while(t!==r);return t}hasLateral(e){return this.findLateralPositions(e).length>0}static isLateralJoin(e){if(e.type==="group"&&e.patterns){for(let t of e.patterns)if(t.type==="query"&&t.queryType==="SELECT"&&t.variables&&Array.isArray(t.variables)){for(let r of t.variables)if(r.termType==="Variable"&&r.value===n.LATERAL_MARKER)return!0}}if(e.type==="query"&&e.queryType==="SELECT"&&e.variables&&Array.isArray(e.variables)){for(let t of e.variables)if(t.termType==="Variable"&&t.value===n.LATERAL_MARKER)return!0}return!1}transformSinglePass(e){let t=this.findLateralPositions(e);if(t.length===0)return e;let r=e;for(let i=t.length-1;i>=0;i--){let s=t[i],a=this.extractLateralExpression(r,s);if(a){let c=this.transformLateral(a.content);r=r.substring(0,s)+c+r.substring(s+a.length)}}return r}findLateralPositions(e){let t=[],r=e.toUpperCase(),i=0;for(;i<e.length;){if(e[i]==="'"||e[i]==='"'){let s=e[i];for(i++;i<e.length&&e[i]!==s;)e[i]==="\\"&&i++,i++;i++;continue}if(e[i]==="#"){for(;i<e.length&&e[i]!==`
|
|
43
43
|
`;)i++;continue}if(r.substring(i,i+7)==="LATERAL"&&this.isWordBoundary(e,i,7)){t.push(i),i+=7;continue}i++}return t}extractLateralExpression(e,t){let r=t+7;for(;r<e.length&&/\s/.test(e[r]);)r++;if(e[r]!=="{")throw new Sa(`Expected '{' after LATERAL keyword at position ${t}`);let i=1;for(r++;r<e.length&&i>0;){if(e[r]==="'"||e[r]==='"'){let s=e[r];for(r++;r<e.length&&e[r]!==s;)e[r]==="\\"&&r++,r++;r++;continue}if(e[r]==="#"){for(;r<e.length&&e[r]!==`
|
|
44
|
-
`;)r++;continue}if(e[r]==="{"){i++,r++;continue}if(e[r]==="}"){if(i--,i===0){let s=e.substring(t,r+1);return{content:s,length:s.length}}r++;continue}r++}if(i>0)throw new Sa(`Unclosed LATERAL block at position ${t}`);return null}transformLateral(e){let t=e.indexOf("{");if(t===-1)throw new Sa("LATERAL expression missing opening brace");let r=e.substring(t+1,e.length-1).trim();if(!r.toUpperCase().trim().startsWith("SELECT"))throw new Sa("LATERAL block must contain a SELECT subquery");let a=r.toUpperCase().indexOf("SELECT")+6;for(;a<r.length&&/\s/.test(r[a]);)a++;let c=r.substring(a).toUpperCase();return c.startsWith("DISTINCT")?a+=8:c.startsWith("REDUCED")&&(a+=7),`{ ${r.substring(0,a)+` ?${n.LATERAL_MARKER}`+r.substring(a)} }`}isWordBoundary(e,t,r){let i=t>0?e[t-1]:"",s=t===0||!/[a-zA-Z0-9_]/.test(i),a=t+r<e.length?e[t+r]:"",c=t+r>=e.length||!/[a-zA-Z0-9_]/.test(a);return s&&c}};Ec.LateralTransformer=$h;$h.LATERAL_MARKER="__LATERAL_JOIN__";var Sa=class extends Error{static{o(this,"LateralTransformerError")}constructor(e){super(`LATERAL transformation error: ${e}`),this.name="LateralTransformerError"}};Ec.LateralTransformerError=Sa});var
|
|
44
|
+
`;)r++;continue}if(e[r]==="{"){i++,r++;continue}if(e[r]==="}"){if(i--,i===0){let s=e.substring(t,r+1);return{content:s,length:s.length}}r++;continue}r++}if(i>0)throw new Sa(`Unclosed LATERAL block at position ${t}`);return null}transformLateral(e){let t=e.indexOf("{");if(t===-1)throw new Sa("LATERAL expression missing opening brace");let r=e.substring(t+1,e.length-1).trim();if(!r.toUpperCase().trim().startsWith("SELECT"))throw new Sa("LATERAL block must contain a SELECT subquery");let a=r.toUpperCase().indexOf("SELECT")+6;for(;a<r.length&&/\s/.test(r[a]);)a++;let c=r.substring(a).toUpperCase();return c.startsWith("DISTINCT")?a+=8:c.startsWith("REDUCED")&&(a+=7),`{ ${r.substring(0,a)+` ?${n.LATERAL_MARKER}`+r.substring(a)} }`}isWordBoundary(e,t,r){let i=t>0?e[t-1]:"",s=t===0||!/[a-zA-Z0-9_]/.test(i),a=t+r<e.length?e[t+r]:"",c=t+r>=e.length||!/[a-zA-Z0-9_]/.test(a);return s&&c}};Ec.LateralTransformer=$h;$h.LATERAL_MARKER="__LATERAL_JOIN__";var Sa=class extends Error{static{o(this,"LateralTransformerError")}constructor(e){super(`LATERAL transformation error: ${e}`),this.name="LateralTransformerError"}};Ec.LateralTransformerError=Sa});var aA=S(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.PrefixStarTransformerError=ba.PrefixStarTransformer=ba.WellKnownPrefixResolver=void 0;var Bh=class{static{o(this,"WellKnownPrefixResolver")}constructor(){this.wellKnownPrefixes=new Map;let e=new Map;e.set("schema","http://schema.org/"),this.wellKnownPrefixes.set("http://schema.org/",e);let t=new Map;t.set("foaf","http://xmlns.com/foaf/0.1/"),this.wellKnownPrefixes.set("http://xmlns.com/foaf/0.1/",t);let r=new Map;r.set("dc","http://purl.org/dc/elements/1.1/"),r.set("dcterms","http://purl.org/dc/terms/"),this.wellKnownPrefixes.set("http://purl.org/dc/elements/1.1/",r),this.wellKnownPrefixes.set("http://purl.org/dc/terms/",r);let i=new Map;i.set("rdf","http://www.w3.org/1999/02/22-rdf-syntax-ns#"),i.set("rdfs","http://www.w3.org/2000/01/rdf-schema#"),this.wellKnownPrefixes.set("http://www.w3.org/1999/02/22-rdf-syntax-ns#",i),this.wellKnownPrefixes.set("http://www.w3.org/2000/01/rdf-schema#",i);let s=new Map;s.set("owl","http://www.w3.org/2002/07/owl#"),this.wellKnownPrefixes.set("http://www.w3.org/2002/07/owl#",s);let a=new Map;a.set("xsd","http://www.w3.org/2001/XMLSchema#"),this.wellKnownPrefixes.set("http://www.w3.org/2001/XMLSchema#",a);let c=new Map;c.set("skos","http://www.w3.org/2004/02/skos/core#"),this.wellKnownPrefixes.set("http://www.w3.org/2004/02/skos/core#",c);let l=new Map;l.set("prov","http://www.w3.org/ns/prov#"),this.wellKnownPrefixes.set("http://www.w3.org/ns/prov#",l);let u=new Map;u.set("geo","http://www.w3.org/2003/01/geo/wgs84_pos#"),this.wellKnownPrefixes.set("http://www.w3.org/2003/01/geo/wgs84_pos#",u);let f=new Map;f.set("dcat","http://www.w3.org/ns/dcat#"),this.wellKnownPrefixes.set("http://www.w3.org/ns/dcat#",f)}async resolve(e){let t=e.endsWith("#")||e.endsWith("/")?e:e+(e.includes("#")?"":"/"),r=this.wellKnownPrefixes.get(t);if(r)return r;let i=t.slice(0,-1),s=this.wellKnownPrefixes.get(i);return s||new Map}addVocabulary(e,t){this.wellKnownPrefixes.set(e,t)}};ba.WellKnownPrefixResolver=Bh;var O_=class{static{o(this,"PrefixStarTransformer")}constructor(e){this.resolver=e??new Bh}async transform(e){let t=this.findPrefixStarDeclarations(e);if(t.length===0)return e;let r=[],i=[];for(let a of t)try{let c=await this.resolver.resolve(a.uri);for(let[l,u]of c)r.push(`PREFIX ${l}: <${u}>`);if(c.size===0){let l=this.extractPrefixFromUri(a.uri);l&&r.push(`PREFIX ${l}: <${a.uri}>`)}}catch(c){let l=c instanceof Error?c.message:String(c);i.push(`Failed to resolve vocabulary ${a.uri}: ${l}`)}if(r.length===0&&i.length>0)throw new Tc(i.join("; "));let s=e;for(let a=t.length-1;a>=0;a--){let c=t[a];s=s.substring(0,c.startPos)+s.substring(c.endPos)}return r.length>0&&(s=r.join(`
|
|
45
45
|
`)+`
|
|
46
46
|
`+s.trimStart()),s}findPrefixStarDeclarations(e){let t=[],r=e.toUpperCase(),i=0;for(;i<e.length;){if(e[i]==="'"||e[i]==='"'){let s=e[i];for(i++;i<e.length&&e[i]!==s;)e[i]==="\\"&&i++,i++;i++;continue}if(r.substring(i,i+6)==="PREFIX"){let s=i;for(i+=6;i<e.length&&/\s/.test(e[i]);)i++;if(e[i]==="*"){for(i++;i<e.length&&/\s/.test(e[i]);)i++;if(e[i]==="<"){i++;let a=i;for(;i<e.length&&e[i]!==">";)i++;if(e[i]===">"){let c=e.substring(a,i);i++;let l=this.findDeclarationEnd(e,i);t.push({uri:c,startPos:s,endPos:l}),i=l;continue}else throw new Tc(`Unclosed IRI in PREFIX* declaration at position ${a}`)}else throw new Tc(`Expected IRI after PREFIX* at position ${i}`)}else continue}i++}return t}findDeclarationEnd(e,t){let r=t;for(;r<e.length;){let i=e[r];if(i===`
|
|
47
|
-
`)return r+1;let s=e.substring(r).toUpperCase();if(s.startsWith("PREFIX")||s.startsWith("BASE")||s.startsWith("SELECT")||s.startsWith("CONSTRUCT")||s.startsWith("DESCRIBE")||s.startsWith("ASK"))return r;if(/\s/.test(i)){r++;continue}break}return r}extractPrefixFromUri(e){let t=e.replace(/^https?:\/\//,"");t=t.replace(/\/$/,"").replace(/#$/,"");let r=t.split(/[/.#]+/).filter(Boolean);if(r.length===0)return null;let i=r[r.length-1];return/^(ontology|vocab|schema|ns|core)$/i.test(i)&&r.length>1?r[r.length-2].toLowerCase():i.toLowerCase().replace(/[^a-z0-9]/g,"")}};ba.PrefixStarTransformer=O_;var Tc=class extends Error{static{o(this,"PrefixStarTransformerError")}constructor(e){super(`PREFIX* transformation error: ${e}`),this.name="PrefixStarTransformerError"}};ba.PrefixStarTransformerError=Tc});var P_=S(xc=>{"use strict";Object.defineProperty(xc,"__esModule",{value:!0});xc.DescribeOptionsTransformer=xc.DescribeOptionsTransformerError=void 0;var Vh=class extends Error{static{o(this,"DescribeOptionsTransformerError")}constructor(e){super(e),this.name="DescribeOptionsTransformerError"}};xc.DescribeOptionsTransformerError=Vh;var Ac=class n{static{o(this,"DescribeOptionsTransformer")}transform(e){if(!n.DESCRIBE_QUERY_PATTERN.test(e))return{query:e};let t=e,r={},i=!1,s=n.DEPTH_PATTERN.exec(e);if(s){let a=parseInt(s[1],10);if(a<0)throw new Vh(`DESCRIBE DEPTH must be a non-negative integer, got: ${a}`);r.depth=a,i=!0,n.DEPTH_PATTERN.lastIndex=0,t=t.replace(n.DEPTH_PATTERN,"")}return n.DEPTH_PATTERN.lastIndex=0,n.SYMMETRIC_PATTERN.test(e)&&(r.symmetric=!0,i=!0,n.SYMMETRIC_PATTERN.lastIndex=0,t=t.replace(n.SYMMETRIC_PATTERN,"")),n.SYMMETRIC_PATTERN.lastIndex=0,t=t.replace(/\s{2,}/g," ").trim(),{query:t,options:i?r:void 0}}hasDescribeOptions(e){let t=n.DEPTH_PATTERN.test(e);n.DEPTH_PATTERN.lastIndex=0;let r=n.SYMMETRIC_PATTERN.test(e);return n.SYMMETRIC_PATTERN.lastIndex=0,t||r}};xc.DescribeOptionsTransformer=Ac;Ac.DEPTH_PATTERN=/\bDEPTH\s+(\d+)/gi;Ac.SYMMETRIC_PATTERN=/\bSYMMETRIC\b/gi;Ac.DESCRIBE_QUERY_PATTERN=/\bDESCRIBE\b/i});var
|
|
48
|
-
`,s);l!==-1?(i+=e.substring(s,l),s=l):(i+=e.substring(s),s=e.length);continue}let c=this.tryReplacePrefixedName(e,s,r);if(c){i+=c.iri,s=c.endIndex;continue}i+=a,s++}return i}tryReplacePrefixedName(e,t,r){if(t>0&&/[a-zA-Z0-9_]/.test(e[t-1]))return null;for(let{prefix:i,baseIRI:s}of r){if(e.substring(t,t+i.length+1)!==i+":")continue;let a=t+i.length+1,c=a;for(;c<e.length&&/[a-zA-Z0-9_.%-]/.test(e[c]);)c++;if(c===a)continue;let l=e.substring(a,c);return{iri:`<${s}${l}.md>`,endIndex:c}}return null}findDeclaredPrefixes(e){let t=new Set,r=new RegExp(qM.source,"gi"),i;for(;(i=r.exec(e))!==null;)t.add(i[1].toLowerCase());return t}skipLiteral(e,t){let r=e[t];if(t+2<e.length&&e.substring(t,t+3)===r+r+r){let s=e.indexOf(r+r+r,t+3);return s!==-1?s+3:e.length}let i=t+1;for(;i<e.length&&e[i]!==r;)e[i]==="\\"&&i++,i++;return i<e.length?i+1:e.length}};qh.VaultPrefixTransformer=N_});var Oc=S(wn=>{"use strict";var GM=wn&&wn.__createBinding||(Object.create?(function(n,e,t,r){r===void 0&&(r=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:o(function(){return e[t]},"get")}),Object.defineProperty(n,r,i)}):(function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]})),zM=wn&&wn.__setModuleDefault||(Object.create?(function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}):function(n,e){n.default=e}),HM=wn&&wn.__importStar||(function(){var n=o(function(e){return n=Object.getOwnPropertyNames||function(t){var r=[];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(r[r.length]=i);return r},n(e)},"ownKeys");return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r=n(e),i=0;i<r.length;i++)r[i]!=="default"&&GM(t,e,r[i]);return zM(t,e),t}})();Object.defineProperty(wn,"__esModule",{value:!0});wn.SPARQLParser=wn.ExoQLParser=wn.SPARQLParseError=void 0;var l3=HM(s3()),k_=I_(),M_=R_(),u3=a3(),j_=P_(),QM=o3(),$_=c3(),YM=L_(),nr=class extends Error{static{o(this,"SPARQLParseError")}constructor(e,t,r,i){super(e,i?{cause:i}:void 0),this.name="SPARQLParseError",this.line=t,this.column=r}};wn.SPARQLParseError=nr;var Wh=class{static{o(this,"ExoQLParser")}constructor(e){this.lastDirectionMappings=new Map,this.parser=new l3.Parser({sparqlStar:!0}),this.generator=new l3.Generator({sparqlStar:!0}),this.caseWhenTransformer=new k_.CaseWhenTransformer,this.lateralTransformer=new M_.LateralTransformer,this.prefixStarTransformer=new u3.PrefixStarTransformer(e?.vocabularyResolver),this.describeOptionsTransformer=new j_.DescribeOptionsTransformer,this.directionalLangTagTransformer=new QM.DirectionalLangTagTransformer,this.tripleTermTransformer=new $_.TripleTermTransformer,this.vaultPrefixTransformer=new YM.VaultPrefixTransformer}setVaultPrefixes(e){this.vaultPrefixTransformer.setVaultPrefixes(e)}parse(e){try{let t=this.vaultPrefixTransformer.transform(e),r=this.describeOptionsTransformer.transform(t);this.lastDescribeOptions=r.options;let i=r.query;i=this.directionalLangTagTransformer.transform(i),this.lastDirectionMappings=this.directionalLangTagTransformer.getAllMappings(),i=this.lateralTransformer.transform(i),i=this.caseWhenTransformer.transform(i),i=this.tripleTermTransformer.transform(i);let s=this.parser.parse(i);return this.validateQuery(s),this.lastDescribeOptions&&this.isDescribeQuery(s)&&(s.describeOptions=this.lastDescribeOptions),s}catch(t){if(t instanceof j_.DescribeOptionsTransformerError)throw new nr(t.message);if(t instanceof M_.LateralTransformerError)throw new nr(t.message);if(t instanceof k_.CaseWhenTransformerError)throw new nr(t.message);if(t instanceof $_.TripleTermTransformerError)throw new nr(t.message);if(t instanceof Error){let r=t.message.match(/line (\d+), column (\d+)/),i=r?parseInt(r[1],10):void 0,s=r?parseInt(r[2],10):void 0;throw new nr(`SPARQL syntax error: ${t.message}`,i,s,t)}throw t}}parseWithOptions(e){return{query:this.parse(e),describeOptions:this.lastDescribeOptions}}getLastDescribeOptions(){return this.lastDescribeOptions}async parseAsync(e){try{let t=this.vaultPrefixTransformer.transform(e),r=this.describeOptionsTransformer.transform(t);this.lastDescribeOptions=r.options;let i=r.query;i=this.directionalLangTagTransformer.transform(i),this.lastDirectionMappings=this.directionalLangTagTransformer.getAllMappings(),i=await this.prefixStarTransformer.transform(i),i=this.lateralTransformer.transform(i),i=this.caseWhenTransformer.transform(i),i=this.tripleTermTransformer.transform(i);let s=this.parser.parse(i);return this.validateQuery(s),this.lastDescribeOptions&&this.isDescribeQuery(s)&&(s.describeOptions=this.lastDescribeOptions),s}catch(t){if(t instanceof j_.DescribeOptionsTransformerError)throw new nr(t.message);if(t instanceof u3.PrefixStarTransformerError)throw new nr(t.message);if(t instanceof M_.LateralTransformerError)throw new nr(t.message);if(t instanceof k_.CaseWhenTransformerError)throw new nr(t.message);if(t instanceof $_.TripleTermTransformerError)throw new nr(t.message);if(t instanceof Error){let r=t.message.match(/line (\d+), column (\d+)/),i=r?parseInt(r[1],10):void 0,s=r?parseInt(r[2],10):void 0;throw new nr(`SPARQL syntax error: ${t.message}`,i,s,t)}throw t}}async parseAsyncWithOptions(e){return{query:await this.parseAsync(e),describeOptions:this.lastDescribeOptions}}hasPrefixStar(e){return/PREFIX\s*\*/i.test(e)}hasLateral(e){return this.lateralTransformer.hasLateral(e)}hasDescribeOptions(e){return this.describeOptionsTransformer.hasDescribeOptions(e)}hasDirectionalLangTags(e){return this.directionalLangTagTransformer.hasDirectionalTags(e)}hasTripleTermSyntax(e){return this.tripleTermTransformer.hasTripleTermSyntax(e)}getLastDirectionMappings(){return new Map(this.lastDirectionMappings)}getDirectionForLanguage(e){return this.lastDirectionMappings.get(e.toLowerCase())}toString(e){try{return this.generator.stringify(e)}catch(t){throw t instanceof Error?new nr(`Failed to serialize SPARQL query: ${t.message}`,void 0,void 0,t):t}}getQueryType(e){if("queryType"in e&&e.type==="query")return e.queryType;throw new nr("Query does not have a valid queryType property")}isSelectQuery(e){return"queryType"in e&&e.type==="query"&&e.queryType==="SELECT"}isConstructQuery(e){return"queryType"in e&&e.type==="query"&&e.queryType==="CONSTRUCT"}isAskQuery(e){return"queryType"in e&&e.type==="query"&&e.queryType==="ASK"}isDescribeQuery(e){return"queryType"in e&&e.type==="query"&&e.queryType==="DESCRIBE"}isUpdateQuery(e){return e.type==="update"}isInsertDataOperation(e){return"updateType"in e&&e.updateType==="insert"}isDeleteDataOperation(e){return"updateType"in e&&e.updateType==="delete"}validateQuery(e){if(!e||typeof e!="object")throw new nr("Invalid query: not an object");if(e.type!=="query"&&e.type!=="update")throw new nr(`Invalid type: expected "query" or "update", got "${e.type}"`);if(e.type==="query"){let t=["SELECT","CONSTRUCT","ASK","DESCRIBE"];if(!t.includes(e.queryType))throw new nr(`Invalid query type: expected one of ${t.join(", ")}, got "${e.queryType}"`)}}};wn.ExoQLParser=Wh;wn.SPARQLParser=Wh});var bo=S(Gh=>{"use strict";Object.defineProperty(Gh,"__esModule",{value:!0});Gh.AlgebraTranslatorError=void 0;var B_=class extends Error{static{o(this,"AlgebraTranslatorError")}constructor(e,t){super(e,t?{cause:t}:void 0),this.name="AlgebraTranslatorError"}};Gh.AlgebraTranslatorError=B_});var zh=S(ts=>{"use strict";Object.defineProperty(ts,"__esModule",{value:!0});ts.isVariableExpression=KM;ts.isVariableTerm=XM;ts.isNamedNode=JM;ts.isLiteral=ZM;ts.isPropertyPath=ej;ts.isAggregateExpression=tj;ts.isOperationExpression=rj;ts.isFunctionCallExpression=nj;function KM(n){return typeof n=="object"&&n!==null&&"expression"in n&&"variable"in n}o(KM,"isVariableExpression");function XM(n){return typeof n=="object"&&n!==null&&"termType"in n&&n.termType==="Variable"}o(XM,"isVariableTerm");function JM(n){return typeof n=="object"&&n!==null&&"termType"in n&&n.termType==="NamedNode"}o(JM,"isNamedNode");function ZM(n){return typeof n=="object"&&n!==null&&"termType"in n&&n.termType==="Literal"}o(ZM,"isLiteral");function ej(n){return typeof n=="object"&&n!==null&&"type"in n&&n.type==="path"}o(ej,"isPropertyPath");function tj(n){return typeof n=="object"&&n!==null&&"type"in n&&n.type==="aggregate"}o(tj,"isAggregateExpression");function rj(n){return typeof n=="object"&&n!==null&&"type"in n&&n.type==="operation"}o(rj,"isOperationExpression");function nj(n){return typeof n=="object"&&n!==null&&"type"in n&&(n.type==="functionCall"||n.type==="functioncall")}o(nj,"isFunctionCallExpression")});var f3=S(Hh=>{"use strict";Object.defineProperty(Hh,"__esModule",{value:!0});Hh.TripleTranslator=void 0;var an=bo(),V_=class{static{o(this,"TripleTranslator")}constructor(){this.directionMappings=new Map}setDirectionMappings(e){this.directionMappings=e}translateBGP(e){if(!("triples"in e)||!Array.isArray(e.triples))throw new an.AlgebraTranslatorError("BGP pattern must have triples array");return{type:"bgp",triples:e.triples.map(t=>this.translateTriple(t))}}translateTriple(e){if(!e.subject||!e.predicate||!e.object)throw new an.AlgebraTranslatorError("Triple must have subject, predicate, and object");return{subject:this.translateTripleElement(e.subject),predicate:this.translatePredicate(e.predicate),object:this.translateTripleElement(e.object)}}translateConstructTemplate(e){return!e||!Array.isArray(e)?[]:e.map(t=>this.translateTriple(t))}translatePredicate(e){return"type"in e&&e.type==="path"?this.translatePropertyPath(e):this.translateTripleElement(e)}translatePropertyPath(e){if(!("pathType"in e)||!e.pathType)throw new an.AlgebraTranslatorError("Property path must have pathType");if(!("items"in e)||!Array.isArray(e.items))throw new an.AlgebraTranslatorError("Property path must have items array");let t=e.items.map(r=>this.translatePathItem(r));switch(e.pathType){case"/":return{type:"path",pathType:"/",items:t};case"|":return{type:"path",pathType:"|",items:t};case"^":if(t.length!==1)throw new an.AlgebraTranslatorError("Inverse path must have exactly one item");return{type:"path",pathType:"^",items:[t[0]]};case"+":if(t.length!==1)throw new an.AlgebraTranslatorError("OneOrMore path must have exactly one item");return{type:"path",pathType:"+",items:[t[0]]};case"*":if(t.length!==1)throw new an.AlgebraTranslatorError("ZeroOrMore path must have exactly one item");return{type:"path",pathType:"*",items:[t[0]]};case"?":if(t.length!==1)throw new an.AlgebraTranslatorError("ZeroOrOne path must have exactly one item");return{type:"path",pathType:"?",items:[t[0]]};default:throw new an.AlgebraTranslatorError(`Unsupported property path type: ${e.pathType}`)}}translatePathItem(e){if("type"in e&&e.type==="path")return this.translatePropertyPath(e);if("termType"in e&&e.termType==="NamedNode")return{type:"iri",value:e.value};let t="type"in e?e.type:"termType"in e?e.termType:"unknown";throw new an.AlgebraTranslatorError(`Unsupported path item type: ${String(t)}`)}translateTripleElement(e){if(!e||!("termType"in e))throw new an.AlgebraTranslatorError("Triple element must have termType");switch(e.termType){case"Variable":return{type:"variable",value:e.value};case"NamedNode":return{type:"iri",value:e.value};case"Literal":{let t={type:"literal",value:e.value,datatype:e.datatype?.value,language:e.language};if(e.language){let r=this.directionMappings.get(e.language.toLowerCase());r&&(t.direction=r)}return t}case"BlankNode":return{type:"blank",value:e.value};case"Quad":return this.translateQuotedTriple(e);default:throw new an.AlgebraTranslatorError(`Unsupported term type: ${e.termType}`)}}translateQuotedTriple(e){if(!e.subject||!e.predicate||!e.object)throw new an.AlgebraTranslatorError("Quoted triple must have subject, predicate, and object");return{type:"quoted",subject:this.translateTripleElement(e.subject),predicate:this.translateQuotedTriplePredicate(e.predicate),object:this.translateTripleElement(e.object)}}translateQuotedTriplePredicate(e){if(!e||!("termType"in e))throw new an.AlgebraTranslatorError("Quoted triple predicate must have termType");switch(e.termType){case"Variable":return{type:"variable",value:e.value};case"NamedNode":return{type:"iri",value:e.value};default:throw new an.AlgebraTranslatorError(`Quoted triple predicate must be IRI or Variable, got: ${e.termType}`)}}};Hh.TripleTranslator=V_});var d3=S(Qh=>{"use strict";Object.defineProperty(Qh,"__esModule",{value:!0});Qh.ExpressionTranslator=void 0;var Pc=bo(),U_=class{static{o(this,"ExpressionTranslator")}constructor(e){this.translateWhereFn=e.translateWhere,this.translateBGPFn=e.translateBGP,this.translatePatternFn=e.translatePattern}translateExpression(e){if(!e)throw new Pc.AlgebraTranslatorError("Expression cannot be null or undefined");if("type"in e&&e.type==="operation")return this.translateOperationExpression(e);let t="type"in e?e.type:void 0;if(t==="functioncall"||t==="functionCall"){let r=e;return{type:"functionCall",function:r.function,args:r.args.map(i=>this.translateExpression(i))}}if("termType"in e)return this.translateTermExpression(e);throw new Pc.AlgebraTranslatorError(`Unsupported expression structure: ${JSON.stringify(e)}`)}translateFilter(e){if(!e.expression)throw new Pc.AlgebraTranslatorError("Filter pattern must have expression");let t={type:"bgp",triples:[]};return{type:"filter",expression:this.translateExpression(e.expression),input:t}}translateTermExpression(e){if(e.termType==="Variable")return{type:"variable",name:e.value};if(e.termType==="Literal"){let t=e.value;return e.datatype&&(e.datatype.value.includes("#integer")||e.datatype.value.includes("#decimal")?t=parseFloat(e.value):e.datatype.value.includes("#boolean")&&(t=e.value==="true")),{type:"literal",value:t,datatype:e.datatype?.value}}return{type:"literal",value:String(e.value||e)}}translateOperationExpression(e){let t=["=","!=","<",">","<=",">="],r=["&&","||","!"],i=["+","-","*","/"],s=e.args.filter(a=>!("patterns"in a)||"termType"in a);return t.includes(e.operator)?{type:"comparison",operator:e.operator,left:this.translateExpression(s[0]),right:this.translateExpression(s[1])}:r.includes(e.operator)?{type:"logical",operator:e.operator,operands:s.map(a=>this.translateExpression(a))}:i.includes(e.operator)?{type:"arithmetic",operator:e.operator,left:this.translateExpression(s[0]),right:this.translateExpression(s[1])}:e.operator==="exists"||e.operator==="notexists"?this.translateExistsExpression(e):e.operator==="in"||e.operator==="notin"?this.translateInExpression(e):{type:"function",function:e.operator,args:s.map(a=>this.translateExpression(a))}}translateExistsExpression(e){if(!e.args||e.args.length!==1)throw new Pc.AlgebraTranslatorError("EXISTS/NOT EXISTS must have exactly one pattern argument");let t=e.args[0],r;return t.type==="group"&&"patterns"in t&&t.patterns?r=this.translateWhereFn(t.patterns):t.type==="bgp"?r=this.translateBGPFn(t):r=this.translatePatternFn(t),{type:"exists",negated:e.operator==="notexists",pattern:r}}translateInExpression(e){if(!e.args||e.args.length!==2)throw new Pc.AlgebraTranslatorError("IN/NOT IN must have exactly 2 arguments (expression and list)");let t=e.args[0],r=e.args[1];if(!Array.isArray(r))throw new Pc.AlgebraTranslatorError("IN/NOT IN second argument must be an array of values");return{type:"in",expression:this.translateExpression(t),list:r.map(i=>this.translateExpression(i)),negated:e.operator==="notin"}}};Qh.ExpressionTranslator=U_});var m3=S(Yh=>{"use strict";Object.defineProperty(Yh,"__esModule",{value:!0});Yh.PatternTranslator=void 0;var h3=R_(),Pr=bo(),p3=zh(),q_=class{static{o(this,"PatternTranslator")}constructor(e){this.directionMappings=new Map,this.translateExpressionFn=e.translateExpression,this.translateSelectFn=e.translateSelect,this.translateBGPFn=e.translateBGP}setDirectionMappings(e){this.directionMappings=e}translateWhere(e){if(e.length===0)throw new Pr.AlgebraTranslatorError("Empty WHERE clause");let t=e.filter(a=>a.type==="filter"),r=e.filter(a=>a.type==="bind"),i=e.filter(a=>a.type!=="filter"&&a.type!=="bind"),s;if(i.length===0)s={type:"bgp",triples:[]};else if(i.length===1)if(i[0].type==="optional"){let a=i[0].expression;s={type:"leftjoin",left:{type:"bgp",triples:[]},right:this.translateWhere(i[0].patterns),expression:a?this.translateExpressionFn(a):void 0}}else s=this.translatePattern(i[0]);else{if(i[0].type==="optional"){let a=i[0].expression;s={type:"leftjoin",left:{type:"bgp",triples:[]},right:this.translateWhere(i[0].patterns),expression:a?this.translateExpressionFn(a):void 0}}else s=this.translatePattern(i[0]);for(let a=1;a<i.length;a++){let c=i[a];if(this.isLateralPattern(c)){let l=this.extractLateralSubquery(c),u=this.removeLateralMarker(l),f=this.translateSelectFn(u);s={type:"lateraljoin",left:s,right:f}}else if(c.type==="optional"){let l=c.expression;s={type:"leftjoin",left:s,right:this.translateWhere(c.patterns),expression:l?this.translateExpressionFn(l):void 0}}else{let l=this.translatePattern(c);s={type:"join",left:s,right:l}}}}for(let a of r)s=this.translateBind(a,s);for(let a of t)s={type:"filter",expression:this.translateExpressionFn(a.expression),input:s};return s}translatePattern(e){if(!e||!e.type)throw new Pr.AlgebraTranslatorError("Invalid pattern: missing type");switch(e.type){case"bgp":return this.translateBGPFn(e);case"filter":return this.translateFilter(e);case"optional":return this.translateOptional(e);case"union":return this.translateUnion(e);case"minus":return this.translateMinus(e);case"values":return this.translateValues(e);case"group":return this.translateWhere(e.patterns);case"query":return this.translateSubquery(e);case"service":return this.translateService(e);case"graph":return this.translateGraph(e);default:throw new Pr.AlgebraTranslatorError(`Unsupported pattern type: ${e.type}`)}}translateFilter(e){if(!e.expression)throw new Pr.AlgebraTranslatorError("Filter pattern must have expression");let t={type:"bgp",triples:[]};return{type:"filter",expression:this.translateExpressionFn(e.expression),input:t}}translateOptional(e){if(!e.patterns||e.patterns.length===0)throw new Pr.AlgebraTranslatorError("OPTIONAL pattern must have patterns");let t=e.expression;return{type:"leftjoin",left:{type:"bgp",triples:[]},right:this.translateWhere(e.patterns),expression:t?this.translateExpressionFn(t):void 0}}translateUnion(e){if(!e.patterns||e.patterns.length<2)throw new Pr.AlgebraTranslatorError("UNION pattern must have at least 2 patterns");let t=o(i=>i.type==="graph"?this.translateGraph(i):i.type==="service"?this.translateService(i):"patterns"in i&&i.patterns&&Array.isArray(i.patterns)?this.translateWhere(i.patterns):this.translateWhere([i]),"translateBranch"),r={type:"union",left:t(e.patterns[0]),right:t(e.patterns[1])};for(let i=2;i<e.patterns.length;i++)r={type:"union",left:r,right:t(e.patterns[i])};return r}translateMinus(e){if(!e.patterns||e.patterns.length===0)throw new Pr.AlgebraTranslatorError("MINUS pattern must have patterns");return{type:"minus",left:{type:"bgp",triples:[]},right:this.translateWhere(e.patterns)}}translateValues(e){if(!e.values||!Array.isArray(e.values))throw new Pr.AlgebraTranslatorError("VALUES pattern must have values array");let t=new Set;for(let i of e.values)for(let s of Object.keys(i)){let a=s.startsWith("?")?s.slice(1):s;t.add(a)}let r=e.values.map(i=>this.translateValuesBinding(i));return{type:"values",variables:Array.from(t),bindings:r}}translateValuesBinding(e){let t={};for(let[r,i]of Object.entries(e)){let s=r.startsWith("?")?r.slice(1):r,a=i;if(a)if(a.termType==="NamedNode")t[s]={type:"iri",value:a.value};else if(a.termType==="Literal"){let c=a,l={type:"literal",value:c.value,datatype:c.datatype?.value,language:c.language||void 0};if(c.language){let u=this.directionMappings.get(c.language.toLowerCase());u&&(l.direction=u)}t[s]=l}else throw new Pr.AlgebraTranslatorError(`Unsupported VALUES term type: ${a.termType}`)}return t}translateBind(e,t){if(!e.variable||!e.expression)throw new Pr.AlgebraTranslatorError("BIND pattern must have variable and expression");return{type:"extend",variable:e.variable.value,expression:this.translateExpressionFn(e.expression),input:t}}translateSubquery(e){if(e.queryType!=="SELECT")throw new Pr.AlgebraTranslatorError(`Only SELECT subqueries are supported, got: ${String(e.queryType)}`);let t=this.removeLateralMarker(e);return{type:"subquery",query:this.translateSelectFn(t)}}translateService(e){if(!e.name||e.name.termType!=="NamedNode")throw new Pr.AlgebraTranslatorError("SERVICE pattern must have a NamedNode endpoint");if(!e.patterns||!Array.isArray(e.patterns))throw new Pr.AlgebraTranslatorError("SERVICE pattern must have patterns array");return{type:"service",endpoint:e.name.value,pattern:this.translateWhere(e.patterns),silent:e.silent||!1}}translateGraph(e){if(!e.name)throw new Pr.AlgebraTranslatorError("GRAPH pattern must have a name (IRI or variable)");if(!e.patterns||!Array.isArray(e.patterns))throw new Pr.AlgebraTranslatorError("GRAPH pattern must have patterns array");let t;if(e.name.termType==="NamedNode")t={type:"iri",value:e.name.value};else if(e.name.termType==="Variable")t={type:"variable",value:e.name.value};else throw new Pr.AlgebraTranslatorError(`GRAPH pattern name must be NamedNode or Variable, got: ${e.name.termType}`);return{type:"graph",name:t,pattern:this.translateWhere(e.patterns)}}isLateralPattern(e){if(e.type==="query"&&this.isLateralSubquery(e))return!0;if(e.type==="group"&&e.patterns?.length===1){let t=e.patterns[0];if(t.type==="query"&&this.isLateralSubquery(t))return!0}return!1}extractLateralSubquery(e){if(e.type==="query")return e;if(e.type==="group"&&e.patterns?.length===1){let t=e.patterns[0];if(t.type==="query")return t}throw new Pr.AlgebraTranslatorError("Invalid lateral pattern structure")}isLateralSubquery(e){return!("queryType"in e)||e.queryType!=="SELECT"||!("variables"in e)||!e.variables?!1:e.variables.some(i=>(0,p3.isVariableTerm)(i)&&i.value===h3.LateralTransformer.LATERAL_MARKER)}removeLateralMarker(e){if(!("variables"in e)||!e.variables)return e;let t=e,r=t.variables;return{...t,variables:r.filter(i=>!((0,p3.isVariableTerm)(i)&&i.value===h3.LateralTransformer.LATERAL_MARKER))}}};Yh.PatternTranslator=q_});var y3=S(Kh=>{"use strict";Object.defineProperty(Kh,"__esModule",{value:!0});Kh.AggregateTranslator=void 0;var g3=bo(),ij=zh(),W_=class{static{o(this,"AggregateTranslator")}constructor(e){this.aggregateCounter=0,this.translateExpressionFn=e.translateExpression}resetCounter(){this.aggregateCounter=0}extractAggregatesWithMapping(e,t){if(!e)return[];let r=[];for(let i of e)(0,ij.isVariableExpression)(i)&&("type"in i.expression&&i.expression.type==="aggregate"?(r.push({variable:i.variable.value,expression:this.translateAggregateExpression(i.expression)}),t.set(i.expression,i.variable.value)):this.collectNestedAggregates(i.expression,r,t));return r}extractGroupVariables(e){return e?e.filter(t=>t.expression&&"termType"in t.expression&&t.expression.termType==="Variable").map(t=>t.expression.value):[]}extractHavingExpressions(e,t,r){if(!e||e.length===0)return[];for(let i of e)this.collectNestedAggregates(i,t,r);return e.map(i=>this.transformExpressionWithAggregateVars(i,r))}transformExpressionWithAggregateVars(e,t){let r=t.get(e);if(r!==void 0)return{type:"variable",name:r};if("type"in e&&e.type==="operation"&&"args"in e){let i=e,s=i.args.filter(u=>!Array.isArray(u)&&!("patterns"in u)).map(u=>this.transformExpressionWithAggregateVars(u,t)),a=["=","!=","<",">","<=",">="],c=["&&","||","!"],l=["+","-","*","/"];return a.includes(i.operator)?{type:"comparison",operator:i.operator,left:s[0],right:s[1]}:c.includes(i.operator)?{type:"logical",operator:i.operator,operands:s}:l.includes(i.operator)?{type:"arithmetic",operator:i.operator,left:s[0],right:s[1]}:{type:"function",function:i.operator,args:s}}return this.translateExpressionFn(e)}translateOrderComparator(e){return{expression:this.translateExpressionFn(e.expression),descending:e.descending||!1}}translateAggregateExpression(e){let t=e.aggregation,r=o(()=>{if(e.expression&&!("termType"in e.expression&&e.expression.termType==="Wildcard"))return this.translateExpressionFn(e.expression)},"translateInnerExpr");if(typeof t=="string"){let s=t.toLowerCase();return["count","sum","avg","min","max","group_concat","sample"].includes(s)?{type:"aggregate",aggregation:s,expression:r(),distinct:e.distinct||!1,separator:e.separator}:{type:"aggregate",aggregation:{type:"custom",iri:t},expression:r(),distinct:e.distinct||!1,separator:e.separator}}let i=t;if(i&&typeof i=="object"){let s,a=i;if(a.termType==="NamedNode"&&typeof a.value=="string")s=a.value;else if("value"in a)s=String(a.value);else throw new g3.AlgebraTranslatorError(`Invalid custom aggregate: expected IRI but got ${JSON.stringify(i)}`);return{type:"aggregate",aggregation:{type:"custom",iri:s},expression:r(),distinct:e.distinct||!1,separator:e.separator}}throw new g3.AlgebraTranslatorError(`Unknown aggregate format: ${JSON.stringify(t)}`)}collectNestedAggregates(e,t,r){if(e){if("type"in e&&e.type==="aggregate"){let i=`__agg${this.aggregateCounter++}`;t.push({variable:i,expression:this.translateAggregateExpression(e)}),r.set(e,i)}else if("type"in e&&e.type==="operation"&&"args"in e){let i=e;for(let s of i.args)!Array.isArray(s)&&"type"in s&&!("patterns"in s)?this.collectNestedAggregates(s,t,r):"termType"in s&&this.collectNestedAggregates(s,t,r)}}}};Kh.AggregateTranslator=W_});var Fc=S(va=>{"use strict";Object.defineProperty(va,"__esModule",{value:!0});va.AlgebraTranslator=va.ExoQLAlgebraTranslator=va.AlgebraTranslatorError=void 0;var Xh=bo(),Jh=zh(),sj=f3(),aj=d3(),oj=m3(),cj=y3(),lj=bo();Object.defineProperty(va,"AlgebraTranslatorError",{enumerable:!0,get:o(function(){return lj.AlgebraTranslatorError},"get")});var Zh=class{static{o(this,"ExoQLAlgebraTranslator")}constructor(){this.tripleTranslator=new sj.TripleTranslator,this.expressionTranslator=new aj.ExpressionTranslator({translateWhere:o(e=>this.patternTranslator.translateWhere(e),"translateWhere"),translateBGP:o(e=>this.tripleTranslator.translateBGP(e),"translateBGP"),translatePattern:o(e=>this.patternTranslator.translatePattern(e),"translatePattern")}),this.patternTranslator=new oj.PatternTranslator({translateExpression:o(e=>this.expressionTranslator.translateExpression(e),"translateExpression"),translateSelect:o(e=>this.translateSelect(e),"translateSelect"),translateBGP:o(e=>this.tripleTranslator.translateBGP(e),"translateBGP")}),this.aggregateTranslator=new cj.AggregateTranslator({translateExpression:o(e=>this.expressionTranslator.translateExpression(e),"translateExpression")})}setDirectionMappings(e){this.tripleTranslator.setDirectionMappings(e),this.patternTranslator.setDirectionMappings(e)}translate(e){if(e.type!=="query")throw new Xh.AlgebraTranslatorError("Only query operations are supported (not updates)");if(e.queryType==="SELECT")return this.translateSelect(e);if(e.queryType==="CONSTRUCT")return this.translateConstruct(e);if(e.queryType==="ASK")return this.translateAsk(e);if(e.queryType==="DESCRIBE")return this.translateDescribe(e);throw new Xh.AlgebraTranslatorError(`Query type ${String(e.queryType)} not yet supported`)}translateSelect(e){if(!e.where||e.where.length===0)throw new Xh.AlgebraTranslatorError("SELECT query must have WHERE clause");let t=this.patternTranslator.translateWhere(e.where);this.aggregateTranslator.resetCounter();let r=new Map,i=Array.isArray(e.variables)?e.variables.filter(l=>!("termType"in l&&l.termType==="Wildcard")):[],s=this.aggregateTranslator.extractAggregatesWithMapping(i,r),a=this.aggregateTranslator.extractGroupVariables(e.group),c=this.aggregateTranslator.extractHavingExpressions(e.having,s,r);if((s.length>0||a.length>0||c.length>0)&&(t={type:"group",variables:a,aggregates:s,having:c.length>0?c:void 0,input:t}),i.length>0){for(let u of i)if((0,Jh.isVariableExpression)(u)){if("type"in u.expression&&u.expression.type==="aggregate")continue;let f=this.aggregateTranslator.transformExpressionWithAggregateVars(u.expression,r);t={type:"extend",variable:u.variable.value,expression:f,input:t}}let l=i.filter(u=>(0,Jh.isVariableTerm)(u)||(0,Jh.isVariableExpression)(u)).map(u=>(0,Jh.isVariableTerm)(u)?u.value:u.variable.value);l.length>0&&(t={type:"project",variables:l,input:t})}return e.distinct&&(t={type:"distinct",input:t}),e.reduced&&(t={type:"reduced",input:t}),e.order&&e.order.length>0&&(t={type:"orderby",comparators:e.order.map(l=>this.aggregateTranslator.translateOrderComparator(l)),input:t}),(e.limit!==void 0||e.offset!==void 0)&&(t={type:"slice",limit:e.limit,offset:e.offset,input:t}),t}translateConstruct(e){let t=this.tripleTranslator.translateConstructTemplate(e.template??[]);if(!e.where||e.where.length===0)throw new Xh.AlgebraTranslatorError("CONSTRUCT query must have WHERE clause");let r=this.patternTranslator.translateWhere(e.where),i=e;return(i.limit!==void 0||i.offset!==void 0)&&(r={type:"slice",limit:i.limit,offset:i.offset,input:r}),{type:"construct",template:t,where:r}}translateAsk(e){return{type:"ask",where:e.where&&e.where.length>0?this.patternTranslator.translateWhere(e.where):{type:"bgp",triples:[]}}}translateDescribe(e){let t=[];if(e.variables&&Array.isArray(e.variables)){let s=e.variables;for(let a of s)a.termType==="Wildcard"||a.value==="*"||(a.termType==="Variable"?t.push({type:"variable",value:a.value}):a.termType==="NamedNode"&&t.push({type:"iri",value:a.value}))}let r;e.where&&e.where.length>0&&(r=this.patternTranslator.translateWhere(e.where));let i=e.describeOptions;return{type:"describe",resources:t,where:r,depth:i?.depth,symmetric:i?.symmetric}}};va.ExoQLAlgebraTranslator=Zh;va.AlgebraTranslator=Zh});var rs=S(ep=>{"use strict";Object.defineProperty(ep,"__esModule",{value:!0});ep.SolutionMapping=void 0;var _3=Ve(),S3=xe(),b3=qt(),G_=class n{static{o(this,"SolutionMapping")}constructor(e){this.bindings=e?new Map(e):new Map}get(e){return this.bindings.get(e)}set(e,t){this.bindings.set(e,t)}has(e){return this.bindings.has(e)}variables(){return Array.from(this.bindings.keys())}getBindings(){return new Map(this.bindings)}isCompatibleWith(e){for(let[t,r]of this.bindings.entries()){let i=e.get(t);if(i!==void 0&&!this.areEqual(r,i))return!1}return!0}merge(e){if(!this.isCompatibleWith(e))return null;let t=new n(this.bindings);for(let[r,i]of e.getBindings().entries())t.set(r,i);return t}clone(){return new n(this.bindings)}areEqual(e,t){return e instanceof _3.Literal&&t instanceof _3.Literal?e.equals(t):e instanceof S3.IRI&&t instanceof S3.IRI?e.value===t.value:e instanceof b3.BlankNode&&t instanceof b3.BlankNode?e.id===t.id:!1}toJSON(){let e={};for(let[t,r]of this.bindings.entries())e[t]=r.toString();return e}size(){return this.bindings.size}};ep.SolutionMapping=G_});var w3=S(Dc=>{"use strict";Object.defineProperty(Dc,"__esModule",{value:!0});Dc.PropertyPathExecutor=Dc.PropertyPathExecutorError=void 0;var uj=rs(),tp=xe(),v3=qt(),fj=Ve(),ju=class extends Error{static{o(this,"PropertyPathExecutorError")}constructor(e,t){super(e,t?{cause:t}:void 0),this.name="PropertyPathExecutorError"}};Dc.PropertyPathExecutorError=ju;var z_=class{static{o(this,"PropertyPathExecutor")}constructor(e){this.tripleStore=e,this.MAX_DEPTH=100}async*execute(e,t,r){if(this.isLiteralElement(e)||this.isLiteralElement(r)){let a=this.isLiteralElement(e)?"subject":"object",c=this.isLiteralElement(e)?e:r,l="value"in c?String(c.value):"<unknown>",u=l.length>80?`${l.slice(0,77)}...`:l;console.warn(`[PropertyPathExecutor] literal-safety guard fired: literal in ${a} position \u2014 yielding 0 solutions. value="${u}"`);return}let i=await this.resolveElement(e),s=this.isVariable(r)?null:await this.resolveElement(r);for(let a of i){let c=await this.evaluatePath(a,t,s);for(let l of c){let u=new uj.SolutionMapping;this.isVariable(e)&&u.set(e.value,a),this.isVariable(r)&&u.set(r.value,l),yield u}}}async*executeWithBindings(e,t){if(!this.isPropertyPath(e.predicate))throw new ju("Predicate is not a property path");let r=this.instantiateElement(e.subject,t),i=this.instantiateElement(e.object,t);for await(let s of this.execute(r,e.predicate,i)){let a=t.merge(s);a!==null&&(yield a)}}async evaluatePath(e,t,r){switch(t.pathType){case"/":return this.evaluateSequencePath(e,t.items,r);case"|":return this.evaluateAlternativePath(e,t.items,r);case"^":return this.evaluateInversePath(e,t.items[0],r);case"+":return this.evaluateOneOrMorePath(e,t.items[0],r);case"*":return this.evaluateZeroOrMorePath(e,t.items[0],r);case"?":return this.evaluateZeroOrOnePath(e,t.items[0],r)}}async evaluateSequencePath(e,t,r){let i=new Set([e]);for(let s=0;s<t.length;s++){let a=t[s],c=s===t.length-1,l=new Set;for(let u of i){let f=await this.evaluatePathItem(u,a,c?r:null);for(let d of f)l.add(d)}if(i=l,i.size===0)break}return i}async evaluateAlternativePath(e,t,r){let i=new Set;for(let s of t){let a=await this.evaluatePathItem(e,s,r);for(let c of a)i.add(c)}return i}async evaluateInversePath(e,t,r){if(t.type==="iri"){let i=new tp.IRI(t.value),s=await this.tripleStore.match(void 0,i,e),a=new Set;for(let c of s)(r===null||this.nodeInSet(c.subject,r))&&a.add(c.subject);return a}else return this.evaluatePath(e,this.invertPath(t),r)}async evaluateOneOrMorePath(e,t,r){let i=new Set,s=new Set,a=[{node:e,depth:0}];for(;a.length>0;){let c=a.shift();if(!c)break;let{node:l,depth:u}=c;if(u>=this.MAX_DEPTH)continue;let f=await this.evaluatePathItem(l,t,null);for(let d of f){let h=this.nodeToKey(d);(r===null||this.nodeInSet(d,r))&&s.add(d),i.has(h)||(i.add(h),a.push({node:d,depth:u+1}))}}return s}async evaluateZeroOrMorePath(e,t,r){let i=await this.evaluateOneOrMorePath(e,t,r);return(r===null||this.nodeInSet(e,r))&&i.add(e),i}async evaluateZeroOrOnePath(e,t,r){let i=new Set;(r===null||this.nodeInSet(e,r))&&i.add(e);let s=await this.evaluatePathItem(e,t,r);for(let a of s)i.add(a);return i}async evaluatePathItem(e,t,r){if(t.type==="iri"){let i=new tp.IRI(t.value),s=await this.tripleStore.match(e,i,void 0),a=new Set;for(let c of s)(r===null||this.nodeInSet(c.object,r))&&a.add(c.object);return a}else return this.evaluatePath(e,t,r)}invertPath(e){switch(e.pathType){case"^":return e.items[0];case"/":return{type:"path",pathType:"/",items:[...e.items].reverse().map(t=>t.type==="iri"?{type:"path",pathType:"^",items:[t]}:this.invertPath(t))};case"|":return{type:"path",pathType:"|",items:e.items.map(t=>t.type==="iri"?{type:"path",pathType:"^",items:[t]}:this.invertPath(t))};case"+":case"*":case"?":{let t=e.items[0].type==="iri"?{type:"path",pathType:"^",items:[e.items[0]]}:this.invertPath(e.items[0]);return{type:"path",pathType:e.pathType,items:[t]}}}}async resolveElement(e){if(this.isVariable(e)){let r=new Set,i=await this.tripleStore.match(void 0,void 0,void 0);for(let s of i)r.add(s.subject),r.add(s.object);return r}let t=new Set;switch(e.type){case"iri":t.add(new tp.IRI(e.value));break;case"blank":t.add(new v3.BlankNode(e.value));break;default:throw new ju(`Unsupported element type in subject/object position: ${e.type}`)}return t}instantiateElement(e,t){if(this.isVariable(e)){let r=t.get(e.value);if(r){if(r instanceof tp.IRI)return{type:"iri",value:r.value};if(r instanceof v3.BlankNode)return{type:"blank",value:r.id};if(r instanceof fj.Literal)return{type:"literal",value:r.value,datatype:r.datatype?.value,language:r.language,direction:r.direction}}}return e}isVariable(e){return e.type==="variable"}isLiteralElement(e){return e.type==="literal"}isPropertyPath(e){return e.type==="path"}nodeToKey(e){return e.toString()}nodeInSet(e,t){let r=this.nodeToKey(e);for(let i of t)if(this.nodeToKey(i)===r)return!0;return!1}};Dc.PropertyPathExecutor=z_});var Y_=S(Nc=>{"use strict";Object.defineProperty(Nc,"__esModule",{value:!0});Nc.BGPExecutor=Nc.BGPExecutorError=void 0;var rp=rs(),wa=xe(),H_=Ve(),np=qt(),ip=bu(),dj=w3(),Ur=class extends Error{static{o(this,"BGPExecutorError")}constructor(e,t){super(e,t?{cause:t}:void 0),this.name="BGPExecutorError"}};Nc.BGPExecutorError=Ur;var Q_=class{static{o(this,"BGPExecutor")}constructor(e){this.tripleStore=e,this.propertyPathExecutor=new dj.PropertyPathExecutor(e)}async*execute(e){if(e.triples.length===0){yield new rp.SolutionMapping;return}let t=this.matchTriplePattern(e.triples[0]);for(let r=1;r<e.triples.length;r++)t=this.joinWithPattern(t,e.triples[r]);for await(let r of t)yield r}async executeAll(e){let t=[];for await(let r of this.execute(e))t.push(r);return t}async*executeInGraph(e,t){if(e.triples.length===0){yield new rp.SolutionMapping;return}let r=this.matchTriplePatternInGraph(e.triples[0],t);for(let i=1;i<e.triples.length;i++)r=this.joinWithPatternInGraph(r,e.triples[i],t);for await(let i of r)yield i}async*matchTriplePatternInGraph(e,t){if(this.isPropertyPath(e.predicate))throw new Ur("Property paths within named graphs are not yet supported");let r=e.predicate;if(this.isLiteral(e.subject)||this.isLiteral(r)){this.warnLiteralGuard("matchTriplePatternInGraph",this.isLiteral(e.subject)?"subject":"predicate",this.isLiteral(e.subject)?e.subject:r);return}let i=this.isVariable(e.subject)?void 0:this.toRDFTermAsSubject(e.subject),s=this.isVariable(r)?void 0:this.toRDFTermAsPredicate(r),a=this.isVariable(e.object)?void 0:this.toRDFTerm(e.object);if(!this.tripleStore.matchInGraph)throw new Ur("Triple store does not support named graph operations");let c=await this.tripleStore.matchInGraph(i,s,a,t);for(let l of c){let u=new rp.SolutionMapping;this.isVariable(e.subject)&&u.set(e.subject.value,l.subject),this.isVariable(r)&&u.set(r.value,l.predicate),this.isVariable(e.object)&&u.set(e.object.value,l.object),yield u}}async*joinWithPatternInGraph(e,t,r){let i=[];for await(let s of e)i.push(s);for(let s of i){let a=this.instantiatePattern(t,s);for await(let c of this.matchTriplePatternInGraph(a,r)){let l=s.merge(c);l!==null&&(yield l)}}}async*matchTriplePattern(e){if(this.isPropertyPath(e.predicate)){if(this.isLiteral(e.subject)||this.isLiteral(e.object)){this.warnLiteralGuard("matchTriplePattern.propertyPath",this.isLiteral(e.subject)?"subject":"object",this.isLiteral(e.subject)?e.subject:e.object);return}yield*this.propertyPathExecutor.execute(e.subject,e.predicate,e.object);return}let t=e.predicate;if(this.isLiteral(e.subject)||this.isLiteral(t)){this.warnLiteralGuard("matchTriplePattern",this.isLiteral(e.subject)?"subject":"predicate",this.isLiteral(e.subject)?e.subject:t);return}let r=this.isVariable(e.subject)||this.isQuotedTriple(e.subject)&&this.hasVariablesInQuotedTriple(e.subject)?void 0:this.toRDFTermAsSubject(e.subject),i=this.isVariable(t)?void 0:this.toRDFTermAsPredicate(t),s=this.isVariable(e.object)||this.isQuotedTriple(e.object)&&this.hasVariablesInQuotedTriple(e.object)?void 0:this.toRDFTerm(e.object),a=await this.tripleStore.match(r,i,s);for(let c of a){let l=new rp.SolutionMapping;if(this.isVariable(e.subject))l.set(e.subject.value,c.subject);else if(this.isQuotedTriple(e.subject)){let u=this.matchQuotedTriplePattern(e.subject,c.subject);if(u===null)continue;for(let[f,d]of u.entries())l.set(f,d)}if(this.isVariable(t)&&l.set(t.value,c.predicate),this.isVariable(e.object))l.set(e.object.value,c.object);else if(this.isQuotedTriple(e.object)){let u=this.matchQuotedTriplePattern(e.object,c.object);if(u===null)continue;for(let[f,d]of u.entries())l.set(f,d)}yield l}}hasVariablesInQuotedTriple(e){return!!(this.isVariable(e.subject)||e.predicate.type==="variable"||this.isVariable(e.object)||this.isQuotedTriple(e.subject)&&this.hasVariablesInQuotedTriple(e.subject)||this.isQuotedTriple(e.object)&&this.hasVariablesInQuotedTriple(e.object))}matchQuotedTriplePattern(e,t){if(!(t instanceof ip.QuotedTriple))return null;let r=new Map;if(this.isVariable(e.subject))r.set(e.subject.value,t.subject);else if(this.isQuotedTriple(e.subject)){let i=this.matchQuotedTriplePattern(e.subject,t.subject);if(i===null)return null;for(let[s,a]of i)r.set(s,a)}else if(!this.elementsMatch(e.subject,t.subject))return null;if(e.predicate.type==="variable")r.set(e.predicate.value,t.predicate);else if(e.predicate.value!==t.predicate.value)return null;if(this.isVariable(e.object))r.set(e.object.value,t.object);else if(this.isQuotedTriple(e.object)){let i=this.matchQuotedTriplePattern(e.object,t.object);if(i===null)return null;for(let[s,a]of i)r.set(s,a)}else if(!this.elementsMatch(e.object,t.object))return null;return r}elementsMatch(e,t){switch(e.type){case"iri":return t instanceof wa.IRI&&e.value===t.value;case"literal":return!(!(t instanceof H_.Literal)||e.value!==t.value||e.datatype!==t.datatype?.value||e.language!==t.language||e.direction!==t.direction);case"blank":return t instanceof np.BlankNode&&e.value===t.id;case"quoted":return t instanceof ip.QuotedTriple?this.toRDFQuotedTriple(e).equals(t):!1;default:return!1}}isPropertyPath(e){return e.type==="path"}async*joinWithPattern(e,t){let r=[];for await(let i of e)r.push(i);for(let i of r){let s=this.instantiatePattern(t,i);for await(let a of this.matchTriplePattern(s)){let c=i.merge(a);c!==null&&(yield c)}}}instantiatePattern(e,t){let r=this.isPropertyPath(e.predicate)?e.predicate:this.instantiateElement(e.predicate,t);return{subject:this.instantiateElement(e.subject,t),predicate:r,object:this.instantiateElement(e.object,t)}}instantiateElement(e,t){if(this.isVariable(e)){let r=t.get(e.value);if(r)return this.toAlgebraElement(r)}return this.isQuotedTriple(e)?this.instantiateQuotedTriple(e,t):e}instantiateQuotedTriple(e,t){let r=this.instantiateElement(e.subject,t),i=e.predicate.type==="variable"?this.instantiatePredicateVariable(e.predicate,t):e.predicate,s=this.instantiateElement(e.object,t);return{type:"quoted",subject:r,predicate:i,object:s}}instantiatePredicateVariable(e,t){let r=t.get(e.value);return r&&r instanceof wa.IRI?{type:"iri",value:r.value}:e}isVariable(e){return e.type==="variable"}isQuotedTriple(e){return e.type==="quoted"}isLiteral(e){return e.type==="literal"}warnLiteralGuard(e,t,r){let i="value"in r?String(r.value):"<unknown>",s=i.length>80?`${i.slice(0,77)}...`:i;console.warn(`[BGPExecutor] literal-safety guard fired in ${e}: literal in ${t} position \u2014 yielding 0 solutions. value="${s}"`)}toRDFTermAsSubject(e){switch(e.type){case"iri":return new wa.IRI(e.value);case"blank":return new np.BlankNode(e.value);case"literal":throw new Ur("Literals cannot appear in subject position");case"variable":throw new Ur(`Cannot convert variable to RDF term: ${e.value}`);case"quoted":return this.toRDFQuotedTriple(e);default:throw new Ur(`Unknown element type: ${String(e)}`)}}toRDFQuotedTriple(e){let t=this.toRDFTermAsSubject(e.subject),r=e.predicate.type==="iri"?new wa.IRI(e.predicate.value):(()=>{throw new Ur("Quoted triple predicate must be IRI")})(),i=this.toRDFTerm(e.object);return new ip.QuotedTriple(t,r,i)}toRDFTermAsPredicate(e){switch(e.type){case"iri":return new wa.IRI(e.value);case"literal":throw new Ur("Literals cannot appear in predicate position");case"blank":throw new Ur("Blank nodes cannot appear in predicate position");case"variable":throw new Ur(`Cannot convert variable to RDF term: ${e.value}`);default:throw new Ur(`Unknown element type: ${String(e)}`)}}toRDFTerm(e){switch(e.type){case"iri":return new wa.IRI(e.value);case"literal":return new H_.Literal(e.value,e.datatype?new wa.IRI(e.datatype):void 0,e.language,e.direction);case"blank":return new np.BlankNode(e.value);case"variable":throw new Ur(`Cannot convert variable to RDF term: ${e.value}`);case"quoted":return this.toRDFQuotedTriple(e);default:throw new Ur(`Unknown element type: ${String(e)}`)}}toAlgebraElement(e){if(e instanceof wa.IRI)return{type:"iri",value:e.value};if(e instanceof H_.Literal)return{type:"literal",value:e.value,datatype:e.datatype?.value,language:e.language,direction:e.direction};if(e instanceof np.BlankNode)return{type:"blank",value:e.id};if(e instanceof ip.QuotedTriple)return this.toAlgebraQuotedTriple(e);throw new Ur(`Unknown RDF term type: ${String(e)}`)}toAlgebraQuotedTriple(e){return{type:"quoted",subject:this.toAlgebraElement(e.subject),predicate:{type:"iri",value:e.predicate.value},object:this.toAlgebraElement(e.object)}}};Nc.BGPExecutor=Q_});var E3=S(sp=>{"use strict";Object.defineProperty(sp,"__esModule",{value:!0});sp.StringFunctions=void 0;var Lc=xe(),Ea=Ve(),K_=qt(),$u=class n{static{o(this,"StringFunctions")}static str(e){if(e===void 0)throw new Error("STR: argument is undefined");return e instanceof Lc.IRI||e instanceof Ea.Literal?e.value:e instanceof K_.BlankNode?e.id:String(e)}static lang(e){if(e===void 0)throw new Error("LANG: argument is undefined");return e instanceof Ea.Literal&&e.language?e.language:""}static langdir(e){if(e===void 0)throw new Error("LANGDIR: argument is undefined");return!(e instanceof Ea.Literal)||!e.language?"":e.direction?`${e.language}--${e.direction}`:e.language}static langMatches(e,t){let[r,i]=n.parseDirectionalLangTag(e),[s,a]=n.parseDirectionalLangTag(t),c=r.toLowerCase(),l=s.toLowerCase();return l==="*"?c!=="":c===""?l==="":a&&i!==a?!1:c===l?!0:c.startsWith(l+"-")}static parseDirectionalLangTag(e){let t=e.indexOf("--");if(t===-1)return[e,void 0];let r=e.substring(0,t),i=e.substring(t+2).toLowerCase();return[r,i]}static regex(e,t,r){try{let i=r?r.includes("u")?r:r+"u":"u";return new RegExp(t,i).test(e)}catch(i){throw new Error(`REGEX: invalid pattern '${t}': ${i.message}`)}}static contains(e,t){return e.includes(t)}static strStarts(e,t){return e.startsWith(t)}static strEnds(e,t){return e.endsWith(t)}static strlen(e){return e.length}static ucase(e){return e.toUpperCase()}static lcase(e){return e.toLowerCase()}static substr(e,t,r){let i=t-1;if(i<0){if(r!==void 0){let s=r+i;return s<=0?"":e.substring(0,s)}return e}return r!==void 0?e.substring(i,i+r):e.substring(i)}static strBefore(e,t){if(t==="")return"";let r=e.indexOf(t);return r===-1?"":e.substring(0,r)}static strAfter(e,t){if(t==="")return e;let r=e.indexOf(t);return r===-1?"":e.substring(r+t.length)}static concat(...e){return e.join("")}static replace(e,t,r,i){try{let s=i||"g",a=s.includes("u")?s:s+"u",c=new RegExp(t,a);return e.replace(c,r)}catch(s){throw new Error(`REPLACE: invalid pattern '${t}': ${s.message}`)}}static encodeForUri(e){return encodeURIComponent(e)}static normalize(e,t){if(e===void 0)throw new Error("NORMALIZE: string argument is undefined");let r;if(e instanceof Ea.Literal)r=e.value;else if(e instanceof Lc.IRI)r=e.value;else if(e instanceof K_.BlankNode)r=e.id;else if(typeof e=="string")r=e;else throw new Error("NORMALIZE: first argument must be a string or literal");let i="NFC";if(t!==void 0)if(t instanceof Ea.Literal)i=t.value.toUpperCase();else if(typeof t=="string")i=t.toUpperCase();else if(t instanceof Lc.IRI)i=t.value.toUpperCase();else throw new Error("NORMALIZE: second argument must be a string literal");if(!n.VALID_NORMALIZATION_FORMS.includes(i))throw new Error(`NORMALIZE: invalid normalization form '${i}'. Valid forms are: NFC, NFD, NFKC, NFKD`);let s=r.normalize(i);return new Ea.Literal(s,new Lc.IRI("http://www.w3.org/2001/XMLSchema#string"))}static fold(e){if(e===void 0)throw new Error("FOLD: string argument is undefined");let t;if(e instanceof Ea.Literal)t=e.value;else if(e instanceof Lc.IRI)t=e.value;else if(e instanceof K_.BlankNode)t=e.id;else if(typeof e=="string")t=e;else throw new Error("FOLD: argument must be a string or literal");let r=n.unicodeCaseFold(t);return new Ea.Literal(r,new Lc.IRI("http://www.w3.org/2001/XMLSchema#string"))}static unicodeCaseFold(e){let t="";for(let r of e){let i=n.CASE_FOLDING_MAP.get(r);i!==void 0?t+=i:t+=r.toLowerCase()}return t}};sp.StringFunctions=$u;$u.VALID_NORMALIZATION_FORMS=["NFC","NFD","NFKC","NFKD"];$u.CASE_FOLDING_MAP=new Map([["\xDF","ss"],["\u1E9E","ss"],["\u03A3","\u03C3"],["\u03C2","\u03C3"],["\u0130","i\u0307"],["I","i"],["\u0587","\u0565\u0582"],["\uFB00","ff"],["\uFB01","fi"],["\uFB02","fl"],["\uFB03","ffi"],["\uFB04","ffl"],["\uFB05","st"],["\uFB06","st"],["\u0390","\u03B9\u0308\u0301"],["\u03B0","\u03C5\u0308\u0301"],["\u017F","s"],["\u1E9B","\u1E61"],["\u212A","k"],["\u212B","\xE5"]])});var T3=S(ap=>{"use strict";Object.defineProperty(ap,"__esModule",{value:!0});ap.MathFunctions=void 0;var X_=class{static{o(this,"MathFunctions")}static msToMinutes(e){return Math.round(e/(1e3*60))}static msToHours(e){return Math.round(e/(1e3*60*60)*100)/100}static msToSeconds(e){return Math.round(e/1e3)}static abs(e){return Math.abs(e)}static round(e){return Math.round(e)}static ceil(e){return Math.ceil(e)}static floor(e){return Math.floor(e)}static rand(){return Math.random()}};ap.MathFunctions=X_});var cp=S(op=>{"use strict";Object.defineProperty(op,"__esModule",{value:!0});op.DateTimeParsing=void 0;var hj=xe(),pj=Ve(),J_=class n{static{o(this,"DateTimeParsing")}static parseDate(e){let t=new Date(e);if(isNaN(t.getTime()))throw new Error(`PARSEDATE: invalid date string '${e}'`);return t.getTime()}static parseDayTimeDuration(e){if(!e)throw new Error("parseDayTimeDuration: duration string is empty");let t=!1,r=e.trim();if(r.startsWith("-")&&(t=!0,r=r.substring(1)),!r.startsWith("P"))throw new Error(`parseDayTimeDuration: invalid format, must start with 'P': '${e}'`);r=r.substring(1);let i=0,s=r.indexOf("T"),a="",c="";if(s===-1?a=r:(a=r.substring(0,s),c=r.substring(s+1)),a){let l=a.match(/^(\d+(?:\.\d+)?)D$/);if(l){let u=parseFloat(l[1]);i+=u*24*60*60*1e3}else if(a!=="")throw new Error(`parseDayTimeDuration: invalid day component: '${a}' in '${e}'`)}if(c){let l=c,u=l.match(/^(\d+(?:\.\d+)?)H/);if(u){let h=parseFloat(u[1]);i+=h*60*60*1e3,l=l.substring(u[0].length)}let f=l.match(/^(\d+(?:\.\d+)?)M/);if(f){let h=parseFloat(f[1]);i+=h*60*1e3,l=l.substring(f[0].length)}let d=l.match(/^(\d+(?:\.\d+)?)S$/);if(d){let h=parseFloat(d[1]);i+=h*1e3,l=l.substring(d[0].length)}if(l!=="")throw new Error(`parseDayTimeDuration: invalid time component: '${l}' in '${e}'`)}return t?-i:i}static formatDayTimeDuration(e){let t=e<0,r=Math.abs(e),i=Math.floor(r/(1440*60*1e3));r=r%(1440*60*1e3);let s=Math.floor(r/(3600*1e3));r=r%(3600*1e3);let a=Math.floor(r/(60*1e3));r=r%(60*1e3);let c=r/1e3,l=t?"-P":"P";return i>0&&(l+=`${i}D`),(s>0||a>0||c>0||i===0)&&(l+="T",s>0&&(l+=`${s}H`),a>0&&(l+=`${a}M`),(c>0||s===0&&a===0)&&(Number.isInteger(c)?l+=`${c}S`:l+=`${parseFloat(c.toFixed(3))}S`)),l}static xsdDayTimeDuration(e){return n.parseDayTimeDuration(e),new pj.Literal(e,new hj.IRI("http://www.w3.org/2001/XMLSchema#dayTimeDuration"))}static parseXSDDate(e){let t=/^(-?\d{4})-(\d{2})-(\d{2})(Z|[+-]\d{2}:\d{2})?$/,r=e.match(t);if(!r){let u=new Date(e);return isNaN(u.getTime())?null:new Date(Date.UTC(u.getUTCFullYear(),u.getUTCMonth(),u.getUTCDate()))}let i=parseInt(r[1],10),s=parseInt(r[2],10)-1,a=parseInt(r[3],10),c=r[4],l=new Date(Date.UTC(i,s,a));if(c&&c!=="Z"){let u=c.match(/([+-])(\d{2}):(\d{2})/);if(u){let f=u[1]==="+"?1:-1,d=parseInt(u[2],10),h=parseInt(u[3],10),p=f*(d*60+h)*60*1e3;l=new Date(l.getTime()-p)}}return l}static parseXSDTime(e){let t=/^(\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?(Z|[+-]\d{2}:\d{2})?$/,r=e.match(t);if(!r)return null;let i=parseInt(r[1],10),s=parseInt(r[2],10),a=parseInt(r[3],10),c=r[4],l=r[5];if(i<0||i>24||s<0||s>59||a<0||a>59||i===24&&(s!==0||a!==0))return null;let u=0;if(c){let d=c.padEnd(3,"0").slice(0,3);u=parseInt(d,10)}let f=i*60*60*1e3+s*60*1e3+a*1e3+u;if(i===24&&(f=1440*60*1e3),l&&l!=="Z"){let d=l.match(/([+-])(\d{2}):(\d{2})/);if(d){let h=d[1]==="+"?1:-1,p=parseInt(d[2],10),_=parseInt(d[3],10),b=h*(p*60+_)*60*1e3;f-=b}}return f}static formatDateDuration(e){if(e===0)return"P0D";let t=e<0,r=Math.abs(e);return t?`-P${r}D`:`P${r}D`}static parseYearMonthDuration(e){let t=/^(-)?P(?:(\d+)Y)?(?:(\d+)M)?$/,r=e.match(t);if(!r)throw new Error(`parseYearMonthDuration: invalid format: '${e}'`);let i=r[1]==="-",s=parseInt(r[2]||"0",10),a=parseInt(r[3]||"0",10);if(!r[2]&&!r[3])throw new Error(`parseYearMonthDuration: invalid format (no duration components): '${e}'`);let c=s*12+a;return i?-c:c}static formatYearMonthDuration(e){let t=e<0,r=Math.abs(e),i=Math.floor(r/12),s=r%12,a=t?"-P":"P";return i>0&&(a+=`${i}Y`),(s>0||i===0)&&(a+=`${s}M`),a}static parseYearMonthDurationComponents(e){let t=/^(-)?P(?:(\d+)Y)?(?:(\d+)M)?$/,r=e.match(t);if(!r)throw new Error(`parseYearMonthDurationComponents: invalid format: '${e}'`);let i=r[1]==="-",s=parseInt(r[2]||"0",10),a=parseInt(r[3]||"0",10);if(!r[2]&&!r[3])throw new Error(`parseYearMonthDurationComponents: invalid format (no duration components): '${e}'`);return{years:s,months:a,negative:i}}static parseDurationComponents(e){if(!e)throw new Error("parseDurationComponents: duration string is empty");let t=!1,r=e.trim();if(r.startsWith("-")&&(t=!0,r=r.substring(1)),!r.startsWith("P"))throw new Error(`parseDurationComponents: invalid format, must start with 'P': '${e}'`);r=r.substring(1);let i=0,s=0,a=0,c=0,l=r.indexOf("T"),u="",f="";if(l===-1?u=r:(u=r.substring(0,l),f=r.substring(l+1)),u){let d=u.match(/^(\d+(?:\.\d+)?)D$/);if(d)i=parseFloat(d[1]);else if(u!=="")throw new Error(`parseDurationComponents: invalid day component: '${u}' in '${e}'`)}if(f){let d=f,h=d.match(/^(\d+(?:\.\d+)?)H/);h&&(s=parseFloat(h[1]),d=d.substring(h[0].length));let p=d.match(/^(\d+(?:\.\d+)?)M/);p&&(a=parseFloat(p[1]),d=d.substring(p[0].length));let _=d.match(/^(\d+(?:\.\d+)?)S$/);if(_&&(c=parseFloat(_[1]),d=d.substring(_[0].length)),d!=="")throw new Error(`parseDurationComponents: invalid time component: '${d}' in '${e}'`)}return{negative:t,days:i,hours:s,minutes:a,seconds:c}}};op.DateTimeParsing=J_});var A3=S(lp=>{"use strict";Object.defineProperty(lp,"__esModule",{value:!0});lp.DateTimeArithmetic=void 0;var on=xe(),Ee=Ve(),Xe=cp(),Z_=class{static{o(this,"DateTimeArithmetic")}static dateTimeDiff(e,t){let r=e instanceof Ee.Literal?e.value:e,i=t instanceof Ee.Literal?t.value:t,s=new Date(r),a=new Date(i);if(isNaN(s.getTime()))throw new Error(`dateTimeDiff: invalid first dateTime: '${r}'`);if(isNaN(a.getTime()))throw new Error(`dateTimeDiff: invalid second dateTime: '${i}'`);let c=s.getTime()-a.getTime(),l=Xe.DateTimeParsing.formatDayTimeDuration(c);return new Ee.Literal(l,new on.IRI("http://www.w3.org/2001/XMLSchema#dayTimeDuration"))}static dateTimeAdd(e,t){let r=e instanceof Ee.Literal?e.value:e,i=t instanceof Ee.Literal?t.value:t,s=new Date(r);if(isNaN(s.getTime()))throw new Error(`dateTimeAdd: invalid dateTime: '${r}'`);let a=Xe.DateTimeParsing.parseDayTimeDuration(i),c=s.getTime()+a,l=new Date(c);return new Ee.Literal(l.toISOString(),new on.IRI("http://www.w3.org/2001/XMLSchema#dateTime"))}static dateTimeSubtract(e,t){let r=e instanceof Ee.Literal?e.value:e,i=t instanceof Ee.Literal?t.value:t,s=new Date(r);if(isNaN(s.getTime()))throw new Error(`dateTimeSubtract: invalid dateTime: '${r}'`);let a=Xe.DateTimeParsing.parseDayTimeDuration(i),c=s.getTime()-a,l=new Date(c);return new Ee.Literal(l.toISOString(),new on.IRI("http://www.w3.org/2001/XMLSchema#dateTime"))}static dateAdd(e,t){let r=e instanceof Ee.Literal?e.value:e,i=t instanceof Ee.Literal?t.value:t,s=Xe.DateTimeParsing.parseXSDDate(r);if(s===null)throw new Error(`dateAdd: invalid date: '${r}'`);let a=Xe.DateTimeParsing.parseDayTimeDuration(i),c=s.getTime()+a,l=new Date(c),u=l.getUTCFullYear(),f=String(l.getUTCMonth()+1).padStart(2,"0"),d=String(l.getUTCDate()).padStart(2,"0"),h=`${u}-${f}-${d}`;return new Ee.Literal(h,new on.IRI("http://www.w3.org/2001/XMLSchema#date"))}static dateSubtract(e,t){let r=e instanceof Ee.Literal?e.value:e,i=t instanceof Ee.Literal?t.value:t,s=Xe.DateTimeParsing.parseXSDDate(r);if(s===null)throw new Error(`dateSubtract: invalid date: '${r}'`);let a=Xe.DateTimeParsing.parseDayTimeDuration(i),c=s.getTime()-a,l=new Date(c),u=l.getUTCFullYear(),f=String(l.getUTCMonth()+1).padStart(2,"0"),d=String(l.getUTCDate()).padStart(2,"0"),h=`${u}-${f}-${d}`;return new Ee.Literal(h,new on.IRI("http://www.w3.org/2001/XMLSchema#date"))}static dateTimeAddYearMonth(e,t){let r=e instanceof Ee.Literal?e.value:e,i=t instanceof Ee.Literal?t.value:t,s=new Date(r);if(isNaN(s.getTime()))throw new Error(`dateTimeAddYearMonth: invalid dateTime: '${r}'`);let a=Xe.DateTimeParsing.parseYearMonthDuration(i),c=s.getUTCDate();return s.setUTCMonth(s.getUTCMonth()+a),s.getUTCDate()!==c&&s.setUTCDate(0),new Ee.Literal(s.toISOString(),new on.IRI("http://www.w3.org/2001/XMLSchema#dateTime"))}static dateTimeSubtractYearMonth(e,t){let r=e instanceof Ee.Literal?e.value:e,i=t instanceof Ee.Literal?t.value:t,s=new Date(r);if(isNaN(s.getTime()))throw new Error(`dateTimeSubtractYearMonth: invalid dateTime: '${r}'`);let a=Xe.DateTimeParsing.parseYearMonthDuration(i),c=s.getUTCDate();return s.setUTCMonth(s.getUTCMonth()-a),s.getUTCDate()!==c&&s.setUTCDate(0),new Ee.Literal(s.toISOString(),new on.IRI("http://www.w3.org/2001/XMLSchema#dateTime"))}static dateAddYearMonth(e,t){let r=e instanceof Ee.Literal?e.value:e,i=t instanceof Ee.Literal?t.value:t,s=Xe.DateTimeParsing.parseXSDDate(r);if(s===null)throw new Error(`dateAddYearMonth: invalid date: '${r}'`);let a=Xe.DateTimeParsing.parseYearMonthDuration(i),c=s.getUTCDate();s.setUTCMonth(s.getUTCMonth()+a),s.getUTCDate()!==c&&s.setUTCDate(0);let l=s.getUTCFullYear(),u=String(s.getUTCMonth()+1).padStart(2,"0"),f=String(s.getUTCDate()).padStart(2,"0"),d=`${l}-${u}-${f}`;return new Ee.Literal(d,new on.IRI("http://www.w3.org/2001/XMLSchema#date"))}static dateSubtractYearMonth(e,t){let r=e instanceof Ee.Literal?e.value:e,i=t instanceof Ee.Literal?t.value:t,s=Xe.DateTimeParsing.parseXSDDate(r);if(s===null)throw new Error(`dateSubtractYearMonth: invalid date: '${r}'`);let a=Xe.DateTimeParsing.parseYearMonthDuration(i),c=s.getUTCDate();s.setUTCMonth(s.getUTCMonth()-a),s.getUTCDate()!==c&&s.setUTCDate(0);let l=s.getUTCFullYear(),u=String(s.getUTCMonth()+1).padStart(2,"0"),f=String(s.getUTCDate()).padStart(2,"0"),d=`${l}-${u}-${f}`;return new Ee.Literal(d,new on.IRI("http://www.w3.org/2001/XMLSchema#date"))}static durationAdd(e,t){let r=e instanceof Ee.Literal?e.value:e,i=t instanceof Ee.Literal?t.value:t,s=Xe.DateTimeParsing.parseDayTimeDuration(r),a=Xe.DateTimeParsing.parseDayTimeDuration(i),c=Xe.DateTimeParsing.formatDayTimeDuration(s+a);return new Ee.Literal(c,new on.IRI("http://www.w3.org/2001/XMLSchema#dayTimeDuration"))}static durationSubtract(e,t){let r=e instanceof Ee.Literal?e.value:e,i=t instanceof Ee.Literal?t.value:t,s=Xe.DateTimeParsing.parseDayTimeDuration(r),a=Xe.DateTimeParsing.parseDayTimeDuration(i),c=Xe.DateTimeParsing.formatDayTimeDuration(s-a);return new Ee.Literal(c,new on.IRI("http://www.w3.org/2001/XMLSchema#dayTimeDuration"))}static durationMultiply(e,t){let r=e instanceof Ee.Literal?e.value:e,i=Xe.DateTimeParsing.parseDayTimeDuration(r),s=Xe.DateTimeParsing.formatDayTimeDuration(i*t);return new Ee.Literal(s,new on.IRI("http://www.w3.org/2001/XMLSchema#dayTimeDuration"))}static durationDivide(e,t){if(t===0)throw new Error("durationDivide: division by zero");let r=e instanceof Ee.Literal?e.value:e,i=Xe.DateTimeParsing.parseDayTimeDuration(r),s=Xe.DateTimeParsing.formatDayTimeDuration(i/t);return new Ee.Literal(s,new on.IRI("http://www.w3.org/2001/XMLSchema#dayTimeDuration"))}static yearMonthDurationAdd(e,t){let r=e instanceof Ee.Literal?e.value:e,i=t instanceof Ee.Literal?t.value:t,s=Xe.DateTimeParsing.parseYearMonthDuration(r),a=Xe.DateTimeParsing.parseYearMonthDuration(i),c=Xe.DateTimeParsing.formatYearMonthDuration(s+a);return new Ee.Literal(c,new on.IRI("http://www.w3.org/2001/XMLSchema#yearMonthDuration"))}static yearMonthDurationSubtract(e,t){let r=e instanceof Ee.Literal?e.value:e,i=t instanceof Ee.Literal?t.value:t,s=Xe.DateTimeParsing.parseYearMonthDuration(r),a=Xe.DateTimeParsing.parseYearMonthDuration(i),c=Xe.DateTimeParsing.formatYearMonthDuration(s-a);return new Ee.Literal(c,new on.IRI("http://www.w3.org/2001/XMLSchema#yearMonthDuration"))}static durationToDays(e){let t=e instanceof Ee.Literal?e.value:e;return Xe.DateTimeParsing.parseDayTimeDuration(t)/(1440*60*1e3)}static durationToHours(e){let t=e instanceof Ee.Literal?e.value:e;return Xe.DateTimeParsing.parseDayTimeDuration(t)/(3600*1e3)}static durationToMinutes(e){let t=e instanceof Ee.Literal?e.value:e;return Xe.DateTimeParsing.parseDayTimeDuration(t)/(60*1e3)}static durationToSeconds(e){let t=e instanceof Ee.Literal?e.value:e;return Xe.DateTimeParsing.parseDayTimeDuration(t)/1e3}};lp.DateTimeArithmetic=Z_});var x3=S(up=>{"use strict";Object.defineProperty(up,"__esModule",{value:!0});up.DateTimeAccessors=void 0;var Bu=xe(),Lt=Ve(),Tt=cp(),e1=class{static{o(this,"DateTimeAccessors")}static year(e){let t=new Date(e);if(isNaN(t.getTime()))throw new Error(`YEAR: invalid date string '${e}'`);return t.getFullYear()}static month(e){let t=new Date(e);if(isNaN(t.getTime()))throw new Error(`MONTH: invalid date string '${e}'`);return t.getMonth()+1}static day(e){let t=new Date(e);if(isNaN(t.getTime()))throw new Error(`DAY: invalid date string '${e}'`);return t.getDate()}static hours(e){let t=new Date(e);if(isNaN(t.getTime()))throw new Error(`HOURS: invalid date string '${e}'`);return t.getHours()}static minutes(e){let t=new Date(e);if(isNaN(t.getTime()))throw new Error(`MINUTES: invalid date string '${e}'`);return t.getMinutes()}static seconds(e){let t=new Date(e);if(isNaN(t.getTime()))throw new Error(`SECONDS: invalid date string '${e}'`);return t.getSeconds()+t.getMilliseconds()/1e3}static durationDays(e){let t=e instanceof Lt.Literal?e.value:e,r=Tt.DateTimeParsing.parseDurationComponents(t),i=Math.floor(r.days);return r.negative?-i:i}static durationHours(e){let t=e instanceof Lt.Literal?e.value:e,r=Tt.DateTimeParsing.parseDurationComponents(t),i=Math.floor(r.hours);return r.negative?-i:i}static durationMinutes(e){let t=e instanceof Lt.Literal?e.value:e,r=Tt.DateTimeParsing.parseDurationComponents(t),i=Math.floor(r.minutes);return r.negative?-i:i}static durationSeconds(e){let t=e instanceof Lt.Literal?e.value:e,r=Tt.DateTimeParsing.parseDurationComponents(t);return r.negative?-r.seconds:r.seconds}static durationYears(e){let t=e instanceof Lt.Literal?e.value:e,r=Tt.DateTimeParsing.parseYearMonthDurationComponents(t);return r.negative?-r.years:r.years}static durationMonths(e){let t=e instanceof Lt.Literal?e.value:e,r=Tt.DateTimeParsing.parseYearMonthDurationComponents(t);return r.negative?-r.months:r.months}static timezone(e){let t=new Date(e);if(isNaN(t.getTime()))throw new Error(`TIMEZONE: invalid date string '${e}'`);let r;if(e.endsWith("Z"))r="PT0S";else{let i=e.match(/([+-]\d{2}):?(\d{2})$/);if(i){let s=parseInt(i[1],10),a=parseInt(i[2],10),c=s>=0?"":"-",l=Math.abs(s);a===0?r=`${c}PT${l}H`:r=`${c}PT${l}H${a}M`}else{let s=-t.getTimezoneOffset(),a=Math.floor(Math.abs(s)/60),c=Math.abs(s)%60,l=s>=0?"":"-";c===0?r=`${l}PT${a}H`:r=`${l}PT${a}H${c}M`}}return new Lt.Literal(r,new Bu.IRI("http://www.w3.org/2001/XMLSchema#dayTimeDuration"))}static tz(e){let t=new Date(e);if(isNaN(t.getTime()))throw new Error(`TZ: invalid date string '${e}'`);if(e.endsWith("Z"))return"Z";let r=e.match(/([+-]\d{2}:\d{2})$/);if(r)return r[1];let i=e.match(/([+-])(\d{2})(\d{2})$/);return i?`${i[1]}${i[2]}:${i[3]}`:""}static adjust(e,t){let r=e instanceof Lt.Literal?e.value:e,i=new Date(r);if(isNaN(i.getTime()))throw new Error(`ADJUST: invalid dateTime: '${r}'`);if(t==null){let we=i.getUTCFullYear(),z=String(i.getUTCMonth()+1).padStart(2,"0"),G=String(i.getUTCDate()).padStart(2,"0"),F=String(i.getUTCHours()).padStart(2,"0"),j=String(i.getUTCMinutes()).padStart(2,"0"),te=String(i.getUTCSeconds()).padStart(2,"0"),Ye=i.getUTCMilliseconds(),st=`${we}-${z}-${G}T${F}:${j}:${te}`;return Ye>0&&(st+=`.${String(Ye).padStart(3,"0")}`),new Lt.Literal(st,new Bu.IRI("http://www.w3.org/2001/XMLSchema#dateTime"))}let s=t instanceof Lt.Literal?t.value:t,a=Tt.DateTimeParsing.parseDayTimeDuration(s),c=840*60*1e3;if(Math.abs(a)>c)throw new Error(`ADJUST: timezone offset out of range: '${s}'`);let l=i.getTime(),u=new Date(l+a),f=u.getUTCFullYear(),d=String(u.getUTCMonth()+1).padStart(2,"0"),h=String(u.getUTCDate()).padStart(2,"0"),p=String(u.getUTCHours()).padStart(2,"0"),_=String(u.getUTCMinutes()).padStart(2,"0"),b=String(u.getUTCSeconds()).padStart(2,"0"),E=u.getUTCMilliseconds(),v=a>=0?"+":"-",A=Math.floor(Math.abs(a)/(3600*1e3)),R=Math.floor(Math.abs(a)%(3600*1e3)/(60*1e3)),B=`${v}${String(A).padStart(2,"0")}:${String(R).padStart(2,"0")}`,W=`${f}-${d}-${h}T${p}:${_}:${b}`;return E>0&&(W+=`.${String(E).padStart(3,"0")}`),W+=B,new Lt.Literal(W,new Bu.IRI("http://www.w3.org/2001/XMLSchema#dateTime"))}static now(){return new Date().toISOString()}static dateBefore(e,t){let r=Tt.DateTimeParsing.parseDate(e),i=Tt.DateTimeParsing.parseDate(t);return r<i}static dateAfter(e,t){let r=Tt.DateTimeParsing.parseDate(e),i=Tt.DateTimeParsing.parseDate(t);return r>i}static dateInRange(e,t,r){let i=Tt.DateTimeParsing.parseDate(e),s=Tt.DateTimeParsing.parseDate(t),a=Tt.DateTimeParsing.parseDate(r);return i>=s&&i<=a}static compareDurations(e,t,r){let i=e instanceof Lt.Literal?e.value:e,s=t instanceof Lt.Literal?t.value:t,a=Tt.DateTimeParsing.parseDayTimeDuration(i),c=Tt.DateTimeParsing.parseDayTimeDuration(s);switch(r){case"=":return a===c;case"!=":return a!==c;case"<":return a<c;case">":return a>c;case"<=":return a<=c;case">=":return a>=c;default:throw new Error(`compareDurations: unknown operator: ${r}`)}}static dateDiffMinutes(e,t){let r=Tt.DateTimeParsing.parseDate(e),i=Tt.DateTimeParsing.parseDate(t),s=Math.abs(i-r);return Math.round(s/(1e3*60))}static dateDiffHours(e,t){let r=Tt.DateTimeParsing.parseDate(e),i=Tt.DateTimeParsing.parseDate(t),s=Math.abs(i-r);return Math.round(s/(1e3*60*60)*100)/100}static timeDiff(e,t){let r=e instanceof Lt.Literal?e.value:e,i=t instanceof Lt.Literal?t.value:t,s=Tt.DateTimeParsing.parseXSDTime(r),a=Tt.DateTimeParsing.parseXSDTime(i);if(s===null)throw new Error(`timeDiff: invalid first time: '${r}'`);if(a===null)throw new Error(`timeDiff: invalid second time: '${i}'`);let c=s-a,l=Tt.DateTimeParsing.formatDayTimeDuration(c);return new Lt.Literal(l,new Bu.IRI("http://www.w3.org/2001/XMLSchema#dayTimeDuration"))}static isDayTimeDuration(e){return e instanceof Lt.Literal?(e.datatype?.value||"")==="http://www.w3.org/2001/XMLSchema#dayTimeDuration":!1}static isDate(e){return e instanceof Lt.Literal?(e.datatype?.value||"")==="http://www.w3.org/2001/XMLSchema#date":!1}static isYearMonthDuration(e){return e instanceof Lt.Literal?(e.datatype?.value||"")==="http://www.w3.org/2001/XMLSchema#yearMonthDuration":!1}static isTime(e){return e instanceof Lt.Literal?(e.datatype?.value||"")==="http://www.w3.org/2001/XMLSchema#time":!1}static dateDiff(e,t){let r=e instanceof Lt.Literal?e.value:e,i=t instanceof Lt.Literal?t.value:t,s=Tt.DateTimeParsing.parseXSDDate(r),a=Tt.DateTimeParsing.parseXSDDate(i);if(s===null)throw new Error(`dateDiff: invalid first date: '${r}'`);if(a===null)throw new Error(`dateDiff: invalid second date: '${i}'`);let c=s.getTime()-a.getTime(),l=Math.round(c/(1440*60*1e3)),u=Tt.DateTimeParsing.formatDateDuration(l);return new Lt.Literal(u,new Bu.IRI("http://www.w3.org/2001/XMLSchema#dayTimeDuration"))}};up.DateTimeAccessors=e1});var r1=S(fp=>{"use strict";Object.defineProperty(fp,"__esModule",{value:!0});fp.DateTimeFunctions=void 0;var kc=cp(),ir=A3(),gt=x3(),t1=class{static{o(this,"DateTimeFunctions")}static parseDate(e){return kc.DateTimeParsing.parseDate(e)}static parseDayTimeDuration(e){return kc.DateTimeParsing.parseDayTimeDuration(e)}static formatDayTimeDuration(e){return kc.DateTimeParsing.formatDayTimeDuration(e)}static xsdDayTimeDuration(e){return kc.DateTimeParsing.xsdDayTimeDuration(e)}static parseYearMonthDuration(e){return kc.DateTimeParsing.parseYearMonthDuration(e)}static formatYearMonthDuration(e){return kc.DateTimeParsing.formatYearMonthDuration(e)}static year(e){return gt.DateTimeAccessors.year(e)}static month(e){return gt.DateTimeAccessors.month(e)}static day(e){return gt.DateTimeAccessors.day(e)}static hours(e){return gt.DateTimeAccessors.hours(e)}static minutes(e){return gt.DateTimeAccessors.minutes(e)}static seconds(e){return gt.DateTimeAccessors.seconds(e)}static durationDays(e){return gt.DateTimeAccessors.durationDays(e)}static durationHours(e){return gt.DateTimeAccessors.durationHours(e)}static durationMinutes(e){return gt.DateTimeAccessors.durationMinutes(e)}static durationSeconds(e){return gt.DateTimeAccessors.durationSeconds(e)}static durationYears(e){return gt.DateTimeAccessors.durationYears(e)}static durationMonths(e){return gt.DateTimeAccessors.durationMonths(e)}static timezone(e){return gt.DateTimeAccessors.timezone(e)}static tz(e){return gt.DateTimeAccessors.tz(e)}static adjust(e,t){return gt.DateTimeAccessors.adjust(e,t)}static now(){return gt.DateTimeAccessors.now()}static dateBefore(e,t){return gt.DateTimeAccessors.dateBefore(e,t)}static dateAfter(e,t){return gt.DateTimeAccessors.dateAfter(e,t)}static dateInRange(e,t,r){return gt.DateTimeAccessors.dateInRange(e,t,r)}static compareDurations(e,t,r){return gt.DateTimeAccessors.compareDurations(e,t,r)}static dateDiffMinutes(e,t){return gt.DateTimeAccessors.dateDiffMinutes(e,t)}static dateDiffHours(e,t){return gt.DateTimeAccessors.dateDiffHours(e,t)}static timeDiff(e,t){return gt.DateTimeAccessors.timeDiff(e,t)}static dateDiff(e,t){return gt.DateTimeAccessors.dateDiff(e,t)}static isDayTimeDuration(e){return gt.DateTimeAccessors.isDayTimeDuration(e)}static isDate(e){return gt.DateTimeAccessors.isDate(e)}static isYearMonthDuration(e){return gt.DateTimeAccessors.isYearMonthDuration(e)}static isTime(e){return gt.DateTimeAccessors.isTime(e)}static dateTimeDiff(e,t){return ir.DateTimeArithmetic.dateTimeDiff(e,t)}static dateTimeAdd(e,t){return ir.DateTimeArithmetic.dateTimeAdd(e,t)}static dateTimeSubtract(e,t){return ir.DateTimeArithmetic.dateTimeSubtract(e,t)}static dateAdd(e,t){return ir.DateTimeArithmetic.dateAdd(e,t)}static dateSubtract(e,t){return ir.DateTimeArithmetic.dateSubtract(e,t)}static dateTimeAddYearMonth(e,t){return ir.DateTimeArithmetic.dateTimeAddYearMonth(e,t)}static dateTimeSubtractYearMonth(e,t){return ir.DateTimeArithmetic.dateTimeSubtractYearMonth(e,t)}static dateAddYearMonth(e,t){return ir.DateTimeArithmetic.dateAddYearMonth(e,t)}static dateSubtractYearMonth(e,t){return ir.DateTimeArithmetic.dateSubtractYearMonth(e,t)}static durationAdd(e,t){return ir.DateTimeArithmetic.durationAdd(e,t)}static durationSubtract(e,t){return ir.DateTimeArithmetic.durationSubtract(e,t)}static durationMultiply(e,t){return ir.DateTimeArithmetic.durationMultiply(e,t)}static durationDivide(e,t){return ir.DateTimeArithmetic.durationDivide(e,t)}static yearMonthDurationAdd(e,t){return ir.DateTimeArithmetic.yearMonthDurationAdd(e,t)}static yearMonthDurationSubtract(e,t){return ir.DateTimeArithmetic.yearMonthDurationSubtract(e,t)}static durationToDays(e){return ir.DateTimeArithmetic.durationToDays(e)}static durationToHours(e){return ir.DateTimeArithmetic.durationToHours(e)}static durationToMinutes(e){return ir.DateTimeArithmetic.durationToMinutes(e)}static durationToSeconds(e){return ir.DateTimeArithmetic.durationToSeconds(e)}};fp.DateTimeFunctions=t1});var C3=S(hp=>{"use strict";Object.defineProperty(hp,"__esModule",{value:!0});hp.LogicalFunctions=void 0;var mj=xe(),Mc=Ve(),gj=qt(),dp=r1(),n1=class n{static{o(this,"LogicalFunctions")}static compare(e,t,r){if(n.isDayTimeDurationValue(e)&&n.isDayTimeDurationValue(t))return dp.DateTimeFunctions.compareDurations(e instanceof Mc.Literal?e:String(e),t instanceof Mc.Literal?t:String(t),r);if(n.isDayTimeDurationValue(e)&&typeof t=="string"&&/^-?P/.test(t))return dp.DateTimeFunctions.compareDurations(e instanceof Mc.Literal?e:String(e),t,r);if(typeof e=="string"&&/^-?P/.test(e)&&n.isDayTimeDurationValue(t))return dp.DateTimeFunctions.compareDurations(e,t instanceof Mc.Literal?t:String(t),r);let i=n.toComparableValue(e),s=n.toComparableValue(t);switch(r){case"=":return i===s;case"!=":return i!==s;case"<":return i<s;case">":return i>s;case"<=":return i<=s;case">=":return i>=s;default:throw new Error(`Unknown comparison operator: ${r}`)}}static isDayTimeDurationValue(e){return e instanceof Mc.Literal?(e.datatype?.value||"")==="http://www.w3.org/2001/XMLSchema#dayTimeDuration":!1}static toComparableValue(e){if(typeof e=="string"||typeof e=="number")return e;if(e instanceof Mc.Literal){let t=e.datatype?.value;if(t?.includes("#integer")||t?.includes("#decimal")||t?.includes("#double")){let r=parseFloat(e.value);if(!isNaN(r))return r}if(t==="http://www.w3.org/2001/XMLSchema#dayTimeDuration")try{return dp.DateTimeFunctions.parseDayTimeDuration(e.value)}catch{return e.value}return e.value}return e instanceof mj.IRI?e.value:e instanceof gj.BlankNode?e.id:String(e)}static logicalAnd(e){return e.every(t=>t===!0)}static logicalOr(e){return e.some(t=>t===!0)}static logicalNot(e){return!e}static coalesce(e){for(let t of e)if(t!=null)return t}static if(e,t,r){return e?t:r}};hp.LogicalFunctions=n1});var I3=S(pp=>{"use strict";Object.defineProperty(pp,"__esModule",{value:!0});pp.RDFTermFunctions=void 0;var Fr=xe(),bt=Ve(),oi=qt(),jc=bu(),i1=Sn(),s1=class n{static{o(this,"RDFTermFunctions")}static datatype(e){if(e===void 0)throw new Error("DATATYPE: argument is undefined");if(e instanceof bt.Literal)return e.datatype?e.datatype:e.language?new Fr.IRI("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"):new Fr.IRI("http://www.w3.org/2001/XMLSchema#string");throw new Error("DATATYPE: argument must be a literal")}static bound(e){return e!==void 0}static isIRI(e){return e===void 0?!1:e instanceof Fr.IRI}static isBlank(e){return e===void 0?!1:e instanceof oi.BlankNode}static isLiteral(e){return e===void 0?!1:e instanceof bt.Literal}static isTriple(e){return e===void 0?!1:e instanceof jc.QuotedTriple}static hasLangdir(e){return e===void 0||!(e instanceof bt.Literal)?!1:!!e.language&&!!e.direction}static isNumeric(e){if(e===void 0||!(e instanceof bt.Literal))return!1;let t=e.datatype?.value;return t?["http://www.w3.org/2001/XMLSchema#integer","http://www.w3.org/2001/XMLSchema#decimal","http://www.w3.org/2001/XMLSchema#float","http://www.w3.org/2001/XMLSchema#double","http://www.w3.org/2001/XMLSchema#nonPositiveInteger","http://www.w3.org/2001/XMLSchema#negativeInteger","http://www.w3.org/2001/XMLSchema#long","http://www.w3.org/2001/XMLSchema#int","http://www.w3.org/2001/XMLSchema#short","http://www.w3.org/2001/XMLSchema#byte","http://www.w3.org/2001/XMLSchema#nonNegativeInteger","http://www.w3.org/2001/XMLSchema#unsignedLong","http://www.w3.org/2001/XMLSchema#unsignedInt","http://www.w3.org/2001/XMLSchema#unsignedShort","http://www.w3.org/2001/XMLSchema#unsignedByte","http://www.w3.org/2001/XMLSchema#positiveInteger"].includes(t):!1}static xsdDateTime(e){let t=new Date(e);if(isNaN(t.getTime()))throw new Error(`xsd:dateTime: invalid date string '${e}'`);return new bt.Literal(t.toISOString(),new Fr.IRI("http://www.w3.org/2001/XMLSchema#dateTime"))}static xsdInteger(e){let t=parseInt(e,10);if(isNaN(t))throw new Error(`xsd:integer: cannot convert '${e}' to integer`);return new bt.Literal(String(t),new Fr.IRI("http://www.w3.org/2001/XMLSchema#integer"))}static xsdDecimal(e){let t=parseFloat(e);if(isNaN(t))throw new Error(`xsd:decimal: cannot convert '${e}' to decimal`);return new bt.Literal(String(t),new Fr.IRI("http://www.w3.org/2001/XMLSchema#decimal"))}static sameTerm(e,t){if(e===void 0&&t===void 0)return!0;if(e===void 0||t===void 0||e.constructor!==t.constructor)return!1;if(e instanceof Fr.IRI&&t instanceof Fr.IRI)return e.value===t.value;if(e instanceof oi.BlankNode&&t instanceof oi.BlankNode)return e.id===t.id;if(e instanceof bt.Literal&&t instanceof bt.Literal){if(e.value!==t.value||e.language!==t.language)return!1;let r=e.datatype?.value,i=t.datatype?.value;return r===i}return!1}static iri(e){if(e===void 0)throw new Error("IRI: argument is undefined");if(e instanceof Fr.IRI)return e;if(e instanceof bt.Literal)return new Fr.IRI(e.value);throw e instanceof oi.BlankNode?new Error("IRI: cannot convert blank node to IRI"):new Error("IRI: unsupported term type")}static uri(e){return n.iri(e)}static bnode(e){if(e===void 0){let t=`b${(0,i1.v4)().replace(/-/g,"").substring(0,12)}`;return new oi.BlankNode(t)}if(e instanceof bt.Literal)return new oi.BlankNode(e.value);if(e instanceof oi.BlankNode)return e;throw new Error("BNODE: argument must be a string literal or omitted")}static strdt(e,t){if(e===void 0)throw new Error("STRDT: lexical form is undefined");if(t===void 0)throw new Error("STRDT: datatype IRI is undefined");let r;if(e instanceof bt.Literal){if(e.language)throw new Error("STRDT: lexical form must not have a language tag");r=e.value}else if(typeof e=="string")r=e;else throw new Error("STRDT: lexical form must be a string literal");let i;if(t instanceof Fr.IRI)i=t;else if(t instanceof bt.Literal)i=new Fr.IRI(t.value);else throw new Error("STRDT: datatype must be an IRI");return new bt.Literal(r,i)}static strlang(e,t){if(e===void 0)throw new Error("STRLANG: lexical form is undefined");if(t===void 0)throw new Error("STRLANG: language tag is undefined");let r;if(e instanceof bt.Literal){if(e.language)throw new Error("STRLANG: lexical form must not already have a language tag");r=e.value}else if(typeof e=="string")r=e;else throw new Error("STRLANG: lexical form must be a string literal");let i;if(t instanceof bt.Literal)i=t.value;else if(typeof t=="string")i=t;else throw new Error("STRLANG: language tag must be a string literal");if(i==="")throw new Error("STRLANG: language tag cannot be empty");return new bt.Literal(r,void 0,i)}static strlangdir(e,t,r){if(e===void 0)throw new Error("STRLANGDIR: lexical form is undefined");if(t===void 0)throw new Error("STRLANGDIR: language tag is undefined");if(r===void 0)throw new Error("STRLANGDIR: direction is undefined");let i;if(e instanceof bt.Literal){if(e.language)throw new Error("STRLANGDIR: lexical form must not already have a language tag");i=e.value}else if(typeof e=="string")i=e;else throw new Error("STRLANGDIR: lexical form must be a string literal");let s;if(t instanceof bt.Literal)s=t.value;else if(typeof t=="string")s=t;else throw new Error("STRLANGDIR: language tag must be a string literal");if(s==="")throw new Error("STRLANGDIR: language tag cannot be empty");let a;if(r instanceof bt.Literal)a=r.value.toLowerCase();else throw new Error("STRLANGDIR: direction must be a string literal");if(a!=="ltr"&&a!=="rtl")throw new Error(`STRLANGDIR: invalid direction '${a}'. Must be 'ltr' or 'rtl'`);return new bt.Literal(i,void 0,s,a)}static uuid(){let e=(0,i1.v4)();return new Fr.IRI(`urn:uuid:${e}`)}static struuid(){let e=(0,i1.v4)();return new bt.Literal(e)}static triple(e,t,r){if(e===void 0)throw new Error("TRIPLE: subject is undefined");if(t===void 0)throw new Error("TRIPLE: predicate is undefined");if(r===void 0)throw new Error("TRIPLE: object is undefined");if(e instanceof bt.Literal)throw new Error("TRIPLE: subject must be IRI, BlankNode, or QuotedTriple, got Literal");if(!(t instanceof Fr.IRI)){let c=t instanceof bt.Literal?"Literal":t instanceof oi.BlankNode?"BlankNode":t instanceof jc.QuotedTriple?"QuotedTriple":typeof t;throw new Error(`TRIPLE: predicate must be IRI, got ${c}`)}let i=e,s=t,a=r;return new jc.QuotedTriple(i,s,a)}static subject(e){if(e===void 0)throw new Error("SUBJECT: argument is undefined");if(!(e instanceof jc.QuotedTriple)){let t=e instanceof Fr.IRI?"IRI":e instanceof bt.Literal?"Literal":e instanceof oi.BlankNode?"BlankNode":typeof e;throw new Error(`SUBJECT: argument must be QuotedTriple, got ${t}`)}return e.subject}static predicate(e){if(e===void 0)throw new Error("PREDICATE: argument is undefined");if(!(e instanceof jc.QuotedTriple)){let t=e instanceof Fr.IRI?"IRI":e instanceof bt.Literal?"Literal":e instanceof oi.BlankNode?"BlankNode":typeof e;throw new Error(`PREDICATE: argument must be QuotedTriple, got ${t}`)}return e.predicate}static object(e){if(e===void 0)throw new Error("OBJECT: argument is undefined");if(!(e instanceof jc.QuotedTriple)){let t=e instanceof Fr.IRI?"IRI":e instanceof bt.Literal?"Literal":e instanceof oi.BlankNode?"BlankNode":typeof e;throw new Error(`OBJECT: argument must be QuotedTriple, got ${t}`)}return e.object}};pp.RDFTermFunctions=s1});var R3=S(mp=>{"use strict";Object.defineProperty(mp,"__esModule",{value:!0});mp.HashFunctions=void 0;var a1=class{static{o(this,"HashFunctions")}static md5(e){return require("crypto").createHash("md5").update(e).digest("hex")}static sha1(e){return require("crypto").createHash("sha1").update(e).digest("hex")}static sha256(e){return require("crypto").createHash("sha256").update(e).digest("hex")}static sha384(e){return require("crypto").createHash("sha384").update(e).digest("hex")}static sha512(e){return require("crypto").createHash("sha512").update(e).digest("hex")}};mp.HashFunctions=a1});var yp=S(gp=>{"use strict";Object.defineProperty(gp,"__esModule",{value:!0});gp.BuiltInFunctions=void 0;var sr=E3(),Ta=T3(),oe=r1(),$c=C3(),Ot=I3(),Vu=R3(),o1=class{static{o(this,"BuiltInFunctions")}static str(...e){return sr.StringFunctions.str(...e)}static lang(...e){return sr.StringFunctions.lang(...e)}static langdir(...e){return sr.StringFunctions.langdir(...e)}static langMatches(...e){return sr.StringFunctions.langMatches(...e)}static regex(...e){return sr.StringFunctions.regex(...e)}static contains(...e){return sr.StringFunctions.contains(...e)}static strStarts(...e){return sr.StringFunctions.strStarts(...e)}static strEnds(...e){return sr.StringFunctions.strEnds(...e)}static strlen(...e){return sr.StringFunctions.strlen(...e)}static ucase(...e){return sr.StringFunctions.ucase(...e)}static lcase(...e){return sr.StringFunctions.lcase(...e)}static substr(...e){return sr.StringFunctions.substr(...e)}static strBefore(...e){return sr.StringFunctions.strBefore(...e)}static strAfter(...e){return sr.StringFunctions.strAfter(...e)}static concat(...e){return sr.StringFunctions.concat(...e)}static replace(...e){return sr.StringFunctions.replace(...e)}static encodeForUri(...e){return sr.StringFunctions.encodeForUri(...e)}static normalize(...e){return sr.StringFunctions.normalize(...e)}static fold(...e){return sr.StringFunctions.fold(...e)}static abs(...e){return Ta.MathFunctions.abs(...e)}static round(...e){return Ta.MathFunctions.round(...e)}static ceil(...e){return Ta.MathFunctions.ceil(...e)}static floor(...e){return Ta.MathFunctions.floor(...e)}static rand(){return Ta.MathFunctions.rand()}static msToMinutes(...e){return Ta.MathFunctions.msToMinutes(...e)}static msToHours(...e){return Ta.MathFunctions.msToHours(...e)}static msToSeconds(...e){return Ta.MathFunctions.msToSeconds(...e)}static parseDate(...e){return oe.DateTimeFunctions.parseDate(...e)}static dateBefore(...e){return oe.DateTimeFunctions.dateBefore(...e)}static dateAfter(...e){return oe.DateTimeFunctions.dateAfter(...e)}static dateInRange(...e){return oe.DateTimeFunctions.dateInRange(...e)}static dateDiffMinutes(...e){return oe.DateTimeFunctions.dateDiffMinutes(...e)}static dateDiffHours(...e){return oe.DateTimeFunctions.dateDiffHours(...e)}static year(...e){return oe.DateTimeFunctions.year(...e)}static month(...e){return oe.DateTimeFunctions.month(...e)}static day(...e){return oe.DateTimeFunctions.day(...e)}static hours(...e){return oe.DateTimeFunctions.hours(...e)}static minutes(...e){return oe.DateTimeFunctions.minutes(...e)}static seconds(...e){return oe.DateTimeFunctions.seconds(...e)}static timezone(...e){return oe.DateTimeFunctions.timezone(...e)}static tz(...e){return oe.DateTimeFunctions.tz(...e)}static now(){return oe.DateTimeFunctions.now()}static parseDayTimeDuration(...e){return oe.DateTimeFunctions.parseDayTimeDuration(...e)}static formatDayTimeDuration(...e){return oe.DateTimeFunctions.formatDayTimeDuration(...e)}static xsdDayTimeDuration(...e){return oe.DateTimeFunctions.xsdDayTimeDuration(...e)}static compareDurations(...e){return oe.DateTimeFunctions.compareDurations(...e)}static isDayTimeDuration(...e){return oe.DateTimeFunctions.isDayTimeDuration(...e)}static isDate(...e){return oe.DateTimeFunctions.isDate(...e)}static dateDiff(...e){return oe.DateTimeFunctions.dateDiff(...e)}static dateTimeDiff(...e){return oe.DateTimeFunctions.dateTimeDiff(...e)}static dateTimeAdd(...e){return oe.DateTimeFunctions.dateTimeAdd(...e)}static dateTimeSubtract(...e){return oe.DateTimeFunctions.dateTimeSubtract(...e)}static dateAdd(...e){return oe.DateTimeFunctions.dateAdd(...e)}static dateSubtract(...e){return oe.DateTimeFunctions.dateSubtract(...e)}static parseYearMonthDuration(...e){return oe.DateTimeFunctions.parseYearMonthDuration(...e)}static isYearMonthDuration(...e){return oe.DateTimeFunctions.isYearMonthDuration(...e)}static dateTimeAddYearMonth(...e){return oe.DateTimeFunctions.dateTimeAddYearMonth(...e)}static dateTimeSubtractYearMonth(...e){return oe.DateTimeFunctions.dateTimeSubtractYearMonth(...e)}static dateAddYearMonth(...e){return oe.DateTimeFunctions.dateAddYearMonth(...e)}static dateSubtractYearMonth(...e){return oe.DateTimeFunctions.dateSubtractYearMonth(...e)}static durationAdd(...e){return oe.DateTimeFunctions.durationAdd(...e)}static durationSubtract(...e){return oe.DateTimeFunctions.durationSubtract(...e)}static durationMultiply(...e){return oe.DateTimeFunctions.durationMultiply(...e)}static durationDivide(...e){return oe.DateTimeFunctions.durationDivide(...e)}static formatYearMonthDuration(...e){return oe.DateTimeFunctions.formatYearMonthDuration(...e)}static yearMonthDurationAdd(...e){return oe.DateTimeFunctions.yearMonthDurationAdd(...e)}static yearMonthDurationSubtract(...e){return oe.DateTimeFunctions.yearMonthDurationSubtract(...e)}static durationYears(...e){return oe.DateTimeFunctions.durationYears(...e)}static durationMonths(...e){return oe.DateTimeFunctions.durationMonths(...e)}static durationToDays(...e){return oe.DateTimeFunctions.durationToDays(...e)}static durationToHours(...e){return oe.DateTimeFunctions.durationToHours(...e)}static durationToMinutes(...e){return oe.DateTimeFunctions.durationToMinutes(...e)}static durationToSeconds(...e){return oe.DateTimeFunctions.durationToSeconds(...e)}static durationDays(...e){return oe.DateTimeFunctions.durationDays(...e)}static durationHours(...e){return oe.DateTimeFunctions.durationHours(...e)}static durationMinutes(...e){return oe.DateTimeFunctions.durationMinutes(...e)}static durationSeconds(...e){return oe.DateTimeFunctions.durationSeconds(...e)}static adjust(...e){return oe.DateTimeFunctions.adjust(...e)}static isTime(...e){return oe.DateTimeFunctions.isTime(...e)}static timeDiff(...e){return oe.DateTimeFunctions.timeDiff(...e)}static compare(...e){return $c.LogicalFunctions.compare(...e)}static logicalAnd(...e){return $c.LogicalFunctions.logicalAnd(...e)}static logicalOr(...e){return $c.LogicalFunctions.logicalOr(...e)}static logicalNot(...e){return $c.LogicalFunctions.logicalNot(...e)}static coalesce(...e){return $c.LogicalFunctions.coalesce(...e)}static if(...e){return $c.LogicalFunctions.if(...e)}static datatype(...e){return Ot.RDFTermFunctions.datatype(...e)}static bound(...e){return Ot.RDFTermFunctions.bound(...e)}static isIRI(...e){return Ot.RDFTermFunctions.isIRI(...e)}static isBlank(...e){return Ot.RDFTermFunctions.isBlank(...e)}static isLiteral(...e){return Ot.RDFTermFunctions.isLiteral(...e)}static isTriple(...e){return Ot.RDFTermFunctions.isTriple(...e)}static isNumeric(...e){return Ot.RDFTermFunctions.isNumeric(...e)}static hasLangdir(...e){return Ot.RDFTermFunctions.hasLangdir(...e)}static sameTerm(...e){return Ot.RDFTermFunctions.sameTerm(...e)}static iri(...e){return Ot.RDFTermFunctions.iri(...e)}static uri(...e){return Ot.RDFTermFunctions.uri(...e)}static bnode(...e){return Ot.RDFTermFunctions.bnode(...e)}static strdt(...e){return Ot.RDFTermFunctions.strdt(...e)}static strlang(...e){return Ot.RDFTermFunctions.strlang(...e)}static strlangdir(...e){return Ot.RDFTermFunctions.strlangdir(...e)}static uuid(){return Ot.RDFTermFunctions.uuid()}static struuid(){return Ot.RDFTermFunctions.struuid()}static xsdDateTime(...e){return Ot.RDFTermFunctions.xsdDateTime(...e)}static xsdInteger(...e){return Ot.RDFTermFunctions.xsdInteger(...e)}static xsdDecimal(...e){return Ot.RDFTermFunctions.xsdDecimal(...e)}static triple(...e){return Ot.RDFTermFunctions.triple(...e)}static subject(...e){return Ot.RDFTermFunctions.subject(...e)}static predicate(...e){return Ot.RDFTermFunctions.predicate(...e)}static object(...e){return Ot.RDFTermFunctions.object(...e)}static md5(...e){return Vu.HashFunctions.md5(...e)}static sha1(...e){return Vu.HashFunctions.sha1(...e)}static sha256(...e){return Vu.HashFunctions.sha256(...e)}static sha384(...e){return Vu.HashFunctions.sha384(...e)}static sha512(...e){return Vu.HashFunctions.sha512(...e)}};gp.BuiltInFunctions=o1});var Uu=S(ns=>{"use strict";Object.defineProperty(ns,"__esModule",{value:!0});ns.ExoQLBudgetExceededError=ns.ExoQLCycleError=ns.ExoQLEvalDisabledError=ns.ExoQLForbiddenKeywordError=void 0;var c1=class extends Error{static{o(this,"ExoQLForbiddenKeywordError")}constructor(e,t){super(t??`ExoQLForbiddenKeywordError: keyword "${e}" is not permitted by the exoql__Query AST allowlist`),this.name="ExoQLForbiddenKeywordError",this.keyword=e}};ns.ExoQLForbiddenKeywordError=c1;var l1=class extends Error{static{o(this,"ExoQLEvalDisabledError")}constructor(e){super(e??"ExoQLEvalDisabledError: exoql.eval.enabled is false (default). Flip the feature flag to opt in."),this.name="ExoQLEvalDisabledError"}};ns.ExoQLEvalDisabledError=l1;var u1=class extends Error{static{o(this,"ExoQLCycleError")}constructor(e,t){super(t??`ExoQLCycleError: cycle detected in nested exo:eval invocations: ${e.join(" \u2192 ")}`),this.name="ExoQLCycleError",this.path=e}};ns.ExoQLCycleError=u1;var f1=class extends Error{static{o(this,"ExoQLBudgetExceededError")}constructor(e,t,r,i){super(i??`ExoQLBudgetExceededError: ${e} budget exceeded (limit=${t}, observed=${r})`),this.name="ExoQLBudgetExceededError",this.budget=e,this.limit=t,this.observed=r}};ns.ExoQLBudgetExceededError=f1});var j3=S(M=>{"use strict";Object.defineProperty(M,"__esModule",{value:!0});M.functionHandlers=void 0;var k=yp();M.functionHandlers=new Map;M.functionHandlers.set("str",(n,e)=>{let t=e.getTermFromExpression(n[0],e.solution);return k.BuiltInFunctions.str(t)});M.functionHandlers.set("lang",(n,e)=>{let t=e.getTermFromExpression(n[0],e.solution);return k.BuiltInFunctions.lang(t)});M.functionHandlers.set("langmatches",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution)),r=e.getStringValue(e.evaluateExpression(n[1],e.solution));return k.BuiltInFunctions.langMatches(t,r)});M.functionHandlers.set("contains",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution)),r=e.getStringValue(e.evaluateExpression(n[1],e.solution));return k.BuiltInFunctions.contains(t,r)});M.functionHandlers.set("strstarts",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution)),r=e.getStringValue(e.evaluateExpression(n[1],e.solution));return k.BuiltInFunctions.strStarts(t,r)});M.functionHandlers.set("strends",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution)),r=e.getStringValue(e.evaluateExpression(n[1],e.solution));return k.BuiltInFunctions.strEnds(t,r)});M.functionHandlers.set("strlen",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution));return k.BuiltInFunctions.strlen(t)});M.functionHandlers.set("ucase",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution));return k.BuiltInFunctions.ucase(t)});M.functionHandlers.set("lcase",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution));return k.BuiltInFunctions.lcase(t)});M.functionHandlers.set("substr",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution)),r=Number(e.evaluateExpression(n[1],e.solution));if(n[2]){let i=Number(e.evaluateExpression(n[2],e.solution));return k.BuiltInFunctions.substr(t,r,i)}return k.BuiltInFunctions.substr(t,r)});M.functionHandlers.set("strbefore",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution)),r=e.getStringValue(e.evaluateExpression(n[1],e.solution));return k.BuiltInFunctions.strBefore(t,r)});M.functionHandlers.set("strafter",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution)),r=e.getStringValue(e.evaluateExpression(n[1],e.solution));return k.BuiltInFunctions.strAfter(t,r)});M.functionHandlers.set("concat",(n,e)=>{let t=n.map(r=>e.getStringValue(e.evaluateExpression(r,e.solution)));return k.BuiltInFunctions.concat(...t)});M.functionHandlers.set("replace",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution)),r=e.getStringValue(e.evaluateExpression(n[1],e.solution)),i=e.getStringValue(e.evaluateExpression(n[2],e.solution)),s=n[3]?e.getStringValue(e.evaluateExpression(n[3],e.solution)):void 0;return k.BuiltInFunctions.replace(t,r,i,s)});M.functionHandlers.set("regex",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution)),r=e.getStringValue(e.evaluateExpression(n[1],e.solution)),i=n[2]?e.getStringValue(e.evaluateExpression(n[2],e.solution)):void 0;return k.BuiltInFunctions.regex(t,r,i)});M.functionHandlers.set("encode_for_uri",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution));return k.BuiltInFunctions.encodeForUri(t)});M.functionHandlers.set("datatype",(n,e)=>{let t=e.getTermFromExpression(n[0],e.solution);return k.BuiltInFunctions.datatype(t).value});M.functionHandlers.set("bound",(n,e)=>{let t=n[0];if(t.type==="variable"&&t.name){let r=e.solution.get(t.name);return k.BuiltInFunctions.bound(r)}return!0});var O3=o((n,e)=>{let t=e.getTermFromExpression(n[0],e.solution);return k.BuiltInFunctions.isIRI(t)},"isIriHandler");M.functionHandlers.set("isiri",O3);M.functionHandlers.set("isuri",O3);M.functionHandlers.set("isblank",(n,e)=>{let t=e.getTermFromExpression(n[0],e.solution);return k.BuiltInFunctions.isBlank(t)});M.functionHandlers.set("isliteral",(n,e)=>{let t=e.getTermFromExpression(n[0],e.solution);return k.BuiltInFunctions.isLiteral(t)});M.functionHandlers.set("isnumeric",(n,e)=>{let t=e.getTermFromExpression(n[0],e.solution);return k.BuiltInFunctions.isNumeric(t)});M.functionHandlers.set("haslangdir",(n,e)=>{let t=e.getTermFromExpression(n[0],e.solution);return k.BuiltInFunctions.hasLangdir(t)});M.functionHandlers.set("istriple",(n,e)=>{let t=e.getTermFromExpression(n[0],e.solution);return k.BuiltInFunctions.isTriple(t)});M.functionHandlers.set("sameterm",(n,e)=>{let t=e.getTermFromExpression(n[0],e.solution),r=e.getTermFromExpression(n[1],e.solution);return k.BuiltInFunctions.sameTerm(t,r)});M.functionHandlers.set("abs",(n,e)=>{let t=Number(e.getStringValue(e.evaluateExpression(n[0],e.solution)));return k.BuiltInFunctions.abs(t)});M.functionHandlers.set("round",(n,e)=>{let t=Number(e.getStringValue(e.evaluateExpression(n[0],e.solution)));return k.BuiltInFunctions.round(t)});M.functionHandlers.set("ceil",(n,e)=>{let t=Number(e.getStringValue(e.evaluateExpression(n[0],e.solution)));return k.BuiltInFunctions.ceil(t)});M.functionHandlers.set("floor",(n,e)=>{let t=Number(e.getStringValue(e.evaluateExpression(n[0],e.solution)));return k.BuiltInFunctions.floor(t)});M.functionHandlers.set("rand",()=>k.BuiltInFunctions.rand());M.functionHandlers.set("parsedate",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution));return k.BuiltInFunctions.parseDate(t)});M.functionHandlers.set("datebefore",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution)),r=e.getStringValue(e.evaluateExpression(n[1],e.solution));return k.BuiltInFunctions.dateBefore(t,r)});M.functionHandlers.set("dateafter",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution)),r=e.getStringValue(e.evaluateExpression(n[1],e.solution));return k.BuiltInFunctions.dateAfter(t,r)});M.functionHandlers.set("dateinrange",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution)),r=e.getStringValue(e.evaluateExpression(n[1],e.solution)),i=e.getStringValue(e.evaluateExpression(n[2],e.solution));return k.BuiltInFunctions.dateInRange(t,r,i)});M.functionHandlers.set("datediffminutes",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution)),r=e.getStringValue(e.evaluateExpression(n[1],e.solution));return k.BuiltInFunctions.dateDiffMinutes(t,r)});M.functionHandlers.set("datediffhours",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution)),r=e.getStringValue(e.evaluateExpression(n[1],e.solution));return k.BuiltInFunctions.dateDiffHours(t,r)});var Bc=o((n,e,t)=>(r,i)=>{let s=i.evaluateExpression(r[0],i.solution);return e&&i.isYearMonthDurationValue(s)?e(s):t&&i.isDayTimeDurationValue(s)?t(s):n(i.getStringValue(s))},"createDateTimeAccessor"),P3=Bc(k.BuiltInFunctions.year.bind(k.BuiltInFunctions),k.BuiltInFunctions.durationYears.bind(k.BuiltInFunctions),null);M.functionHandlers.set("year",P3);M.functionHandlers.set("years",P3);var F3=Bc(k.BuiltInFunctions.month.bind(k.BuiltInFunctions),k.BuiltInFunctions.durationMonths.bind(k.BuiltInFunctions),null);M.functionHandlers.set("month",F3);M.functionHandlers.set("months",F3);var D3=Bc(k.BuiltInFunctions.day.bind(k.BuiltInFunctions),null,k.BuiltInFunctions.durationDays.bind(k.BuiltInFunctions));M.functionHandlers.set("day",D3);M.functionHandlers.set("days",D3);M.functionHandlers.set("hours",Bc(k.BuiltInFunctions.hours.bind(k.BuiltInFunctions),null,k.BuiltInFunctions.durationHours.bind(k.BuiltInFunctions)));M.functionHandlers.set("minutes",Bc(k.BuiltInFunctions.minutes.bind(k.BuiltInFunctions),null,k.BuiltInFunctions.durationMinutes.bind(k.BuiltInFunctions)));M.functionHandlers.set("seconds",Bc(k.BuiltInFunctions.seconds.bind(k.BuiltInFunctions),null,k.BuiltInFunctions.durationSeconds.bind(k.BuiltInFunctions)));M.functionHandlers.set("timezone",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution));return k.BuiltInFunctions.timezone(t)});M.functionHandlers.set("tz",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution));return k.BuiltInFunctions.tz(t)});M.functionHandlers.set("adjust",(n,e)=>{let t=e.evaluateExpression(n[0],e.solution),r=n.length>1?e.evaluateExpression(n[1],e.solution):void 0;return k.BuiltInFunctions.adjust(t,r)});M.functionHandlers.set("now",()=>k.BuiltInFunctions.now());var N3=o((n,e)=>{let t=e.evaluateExpression(n[0],e.solution);return k.BuiltInFunctions.xsdDateTime(e.getStringValue(t))},"dateTimeHandler");M.functionHandlers.set("datetime",N3);M.functionHandlers.set("xsd:datetime",N3);var L3=o((n,e)=>{let t=e.evaluateExpression(n[0],e.solution);return k.BuiltInFunctions.xsdInteger(e.getStringValue(t))},"integerHandler");M.functionHandlers.set("integer",L3);M.functionHandlers.set("xsd:integer",L3);var k3=o((n,e)=>{let t=e.evaluateExpression(n[0],e.solution);return k.BuiltInFunctions.xsdDecimal(e.getStringValue(t))},"decimalHandler");M.functionHandlers.set("decimal",k3);M.functionHandlers.set("xsd:decimal",k3);var M3=o((n,e)=>{let t=e.evaluateExpression(n[0],e.solution);return k.BuiltInFunctions.xsdDayTimeDuration(e.getStringValue(t))},"dayTimeDurationHandler");M.functionHandlers.set("daytimeduration",M3);M.functionHandlers.set("xsd:daytimeduration",M3);M.functionHandlers.set("durationtodays",(n,e)=>{let t=e.evaluateExpression(n[0],e.solution);return k.BuiltInFunctions.durationToDays(t)});M.functionHandlers.set("durationtohours",(n,e)=>{let t=e.evaluateExpression(n[0],e.solution);return k.BuiltInFunctions.durationToHours(t)});M.functionHandlers.set("durationtominutes",(n,e)=>{let t=e.evaluateExpression(n[0],e.solution);return k.BuiltInFunctions.durationToMinutes(t)});M.functionHandlers.set("durationtoseconds",(n,e)=>{let t=e.evaluateExpression(n[0],e.solution);return k.BuiltInFunctions.durationToSeconds(t)});M.functionHandlers.set("durationdays",(n,e)=>{let t=e.evaluateExpression(n[0],e.solution);return k.BuiltInFunctions.durationDays(t)});M.functionHandlers.set("durationhours",(n,e)=>{let t=e.evaluateExpression(n[0],e.solution);return k.BuiltInFunctions.durationHours(t)});M.functionHandlers.set("durationminutes",(n,e)=>{let t=e.evaluateExpression(n[0],e.solution);return k.BuiltInFunctions.durationMinutes(t)});M.functionHandlers.set("durationseconds",(n,e)=>{let t=e.evaluateExpression(n[0],e.solution);return k.BuiltInFunctions.durationSeconds(t)});M.functionHandlers.set("durationyears",(n,e)=>{let t=e.evaluateExpression(n[0],e.solution);return k.BuiltInFunctions.durationYears(t)});M.functionHandlers.set("durationmonths",(n,e)=>{let t=e.evaluateExpression(n[0],e.solution);return k.BuiltInFunctions.durationMonths(t)});M.functionHandlers.set("datetimediff",(n,e)=>{let t=e.evaluateExpression(n[0],e.solution),r=e.evaluateExpression(n[1],e.solution);return k.BuiltInFunctions.dateTimeDiff(t,r)});M.functionHandlers.set("datetimeadd",(n,e)=>{let t=e.evaluateExpression(n[0],e.solution),r=e.evaluateExpression(n[1],e.solution);return k.BuiltInFunctions.dateTimeAdd(t,r)});M.functionHandlers.set("datetimesubtract",(n,e)=>{let t=e.evaluateExpression(n[0],e.solution),r=e.evaluateExpression(n[1],e.solution);return k.BuiltInFunctions.dateTimeSubtract(t,r)});M.functionHandlers.set("mstominutes",(n,e)=>{let t=Number(e.evaluateExpression(n[0],e.solution));return k.BuiltInFunctions.msToMinutes(t)});M.functionHandlers.set("mstohours",(n,e)=>{let t=Number(e.evaluateExpression(n[0],e.solution));return k.BuiltInFunctions.msToHours(t)});M.functionHandlers.set("mstoseconds",(n,e)=>{let t=Number(e.evaluateExpression(n[0],e.solution));return k.BuiltInFunctions.msToSeconds(t)});M.functionHandlers.set("md5",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution));return k.BuiltInFunctions.md5(t)});M.functionHandlers.set("sha1",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution));return k.BuiltInFunctions.sha1(t)});M.functionHandlers.set("sha256",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution));return k.BuiltInFunctions.sha256(t)});M.functionHandlers.set("sha384",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution));return k.BuiltInFunctions.sha384(t)});M.functionHandlers.set("sha512",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution));return k.BuiltInFunctions.sha512(t)});M.functionHandlers.set("subject",(n,e)=>{let t=e.getTermFromExpression(n[0],e.solution);return k.BuiltInFunctions.subject(t)});M.functionHandlers.set("predicate",(n,e)=>{let t=e.getTermFromExpression(n[0],e.solution);return k.BuiltInFunctions.predicate(t)});M.functionHandlers.set("object",(n,e)=>{let t=e.getTermFromExpression(n[0],e.solution);return k.BuiltInFunctions.object(t)});M.functionHandlers.set("triple",(n,e)=>{let t=e.getTermFromExpression(n[0],e.solution),r=e.getTermFromExpression(n[1],e.solution),i=e.getTermFromExpression(n[2],e.solution);return k.BuiltInFunctions.triple(t,r,i)});M.functionHandlers.set("days_between",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution)),r=e.getStringValue(e.evaluateExpression(n[1],e.solution)),i=new Date(t),s=new Date(r);return Math.floor((s.getTime()-i.getTime())/(1440*60*1e3))});M.functionHandlers.set("minutes_between",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution)),r=e.getStringValue(e.evaluateExpression(n[1],e.solution)),i=new Date(t),s=new Date(r);return Math.floor((s.getTime()-i.getTime())/(60*1e3))});M.functionHandlers.set("hours_between",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution)),r=e.getStringValue(e.evaluateExpression(n[1],e.solution)),i=new Date(t);return(new Date(r).getTime()-i.getTime())/(3600*1e3)});M.functionHandlers.set("age_days",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution)),r=new Date(t);return Math.floor((new Date().getTime()-r.getTime())/(1440*60*1e3))});M.functionHandlers.set("week_number",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution)),r=new Date(t),i=new Date(Date.UTC(r.getFullYear(),r.getMonth(),r.getDate()));i.setUTCDate(i.getUTCDate()+4-(i.getUTCDay()||7));let s=new Date(Date.UTC(i.getUTCFullYear(),0,1));return Math.ceil(((i.getTime()-s.getTime())/(1440*60*1e3)+1)/7)});M.functionHandlers.set("format_date",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution)),r=e.getStringValue(e.evaluateExpression(n[1],e.solution)),i=new Date(t);return r.replace("YYYY",String(i.getFullYear())).replace("MM",String(i.getMonth()+1).padStart(2,"0")).replace("DD",String(i.getDate()).padStart(2,"0")).replace("HH",String(i.getHours()).padStart(2,"0")).replace("mm",String(i.getMinutes()).padStart(2,"0")).replace("ss",String(i.getSeconds()).padStart(2,"0"))});M.functionHandlers.set("exo:eval",()=>{let{ExoQLEvalDisabledError:n}=Uu();throw new n})});var _p=S(Vc=>{"use strict";Object.defineProperty(Vc,"__esModule",{value:!0});Vc.FilterExecutor=Vc.FilterExecutorError=void 0;var yt=yp(),yj=j3(),_j=xe(),Aa=Ve(),hr=class extends Error{static{o(this,"FilterExecutorError")}constructor(e,t){super(e,t?{cause:t}:void 0),this.name="FilterExecutorError"}};Vc.FilterExecutorError=hr;var d1=class{static{o(this,"FilterExecutor")}constructor(){this.existsEvaluator=null,this.tripleStore=null,this.uuidCache=new Map}setExistsEvaluator(e){this.existsEvaluator=e}setTripleStore(e){this.tripleStore=e,this.uuidCache.clear()}async*execute(e,t){let r=this.expressionContainsExists(e.expression);for await(let i of t)try{let s;r?s=await this.evaluateExpressionAsync(e.expression,i):s=this.evaluateExpression(e.expression,i),s===!0&&(yield i)}catch{continue}}expressionContainsExists(e){if(!e||typeof e!="object")return!1;if(e.type==="exists")return!0;if(e.type==="logical")return e.operands.some(t=>this.expressionContainsExists(t));if(e.type==="comparison"){let t=e;return this.expressionContainsExists(t.left)||this.expressionContainsExists(t.right)}if(e.type==="arithmetic"){let t=e;return this.expressionContainsExists(t.left)||this.expressionContainsExists(t.right)}if(e.type==="in"){let t=e;return this.expressionContainsExists(t.expression)||t.list.some(r=>this.expressionContainsExists(r))}if(e.type==="function"||e.type==="functionCall"){let t=e;return Array.isArray(t.args)?t.args.some(r=>this.expressionContainsExists(r)):!1}return!1}async executeAll(e,t){let r=[];async function*i(){for(let s of t)yield s}o(i,"generator");for await(let s of this.execute(e,i()))r.push(s);return r}evaluateExpression(e,t){let r=e;if("termType"in e)switch(r.termType){case"Variable":return t.get(r.value);case"Literal":return r.value;case"NamedNode":return r.value;default:throw new hr(`Unsupported termType: ${String(r.termType)}`)}switch(e.type){case"comparison":return this.evaluateComparison(e,t);case"logical":return this.evaluateLogical(e,t);case"arithmetic":return this.evaluateArithmetic(e,t);case"function":case"functionCall":return this.evaluateFunction(e,t);case"variable":return t.get(e.name);case"literal":return e.value;case"in":return this.evaluateIn(e,t);case"exists":throw new hr("EXISTS expressions require async evaluation. Use evaluateExpressionAsync instead.");default:throw new hr(`Unsupported expression type: ${e.type}`)}}async evaluateExpressionAsync(e,t){if(!this.expressionContainsExists(e))return this.evaluateExpression(e,t);if(e.type==="exists")return this.evaluateExists(e,t);if(e.type==="logical")return this.evaluateLogicalAsync(e,t);if(e.type==="comparison"){let r=e,i=await this.evaluateExpressionAsync(r.left,t),s=await this.evaluateExpressionAsync(r.right,t);return yt.BuiltInFunctions.compare(i,s,r.operator)}return e.type==="in"?this.evaluateInAsync(e,t):e.type==="function"||e.type==="functionCall"?this.evaluateFunctionAsync(e,t):this.evaluateExpression(e,t)}async evaluateExists(e,t){if(!this.existsEvaluator)throw new hr("EXISTS evaluator not set. Call setExistsEvaluator before evaluating EXISTS expressions.");let r=await this.existsEvaluator(e.pattern,t);return e.negated?!r:r}async evaluateLogicalAsync(e,t){if(e.operator==="!"){let i=await this.evaluateExpressionAsync(e.operands[0],t);return yt.BuiltInFunctions.logicalNot(i)}let r=[];for(let i of e.operands){let s=await this.evaluateExpressionAsync(i,t);r.push(s)}if(e.operator==="&&")return yt.BuiltInFunctions.logicalAnd(r);if(e.operator==="||")return yt.BuiltInFunctions.logicalOr(r);throw new hr(`Unknown logical operator: ${String(e.operator)}`)}async evaluateInAsync(e,t){let r=await this.evaluateExpressionAsync(e.expression,t),i=!1;for(let s of e.list){let a=await this.evaluateExpressionAsync(s,t);if(yt.BuiltInFunctions.compare(r,a,"=")){i=!0;break}}return e.negated?!i:i}async evaluateFunctionAsync(e,t){let r=e,i=this.extractFunctionName(r.function),s=r.args??[];if(i==="if"){if(s.length!==3)throw new hr("IF requires exactly 3 arguments");let l=await this.evaluateExpressionAsync(s[0],t);return this.toBoolean(l)?this.evaluateExpressionAsync(s[1],t):this.evaluateExpressionAsync(s[2],t)}if(i==="coalesce"){for(let l of s)try{let u=await this.evaluateExpressionAsync(l,t);if(u!=null)return u}catch{continue}return}let a=[];for(let l of s){let u=await this.evaluateExpressionAsync(l,t);a.push(this.wrapAsLiteralExpression(u))}let c={...r,args:a};return this.evaluateFunction(c,t)}wrapAsLiteralExpression(e){return e==null?{type:"literal",value:""}:typeof e=="object"&&e!==null&&"termType"in e?e:e instanceof _j.IRI||e instanceof Aa.Literal?{type:"literal",value:e.value}:typeof e=="number"||typeof e=="boolean"||typeof e=="string"?{type:"literal",value:e}:{type:"literal",value:String(e)}}evaluateComparison(e,t){let r=this.evaluateExpression(e.left,t),i=this.evaluateExpression(e.right,t);return yt.BuiltInFunctions.compare(r,i,e.operator)}evaluateLogical(e,t){if(e.operator==="!"){let i=this.evaluateExpression(e.operands[0],t);return yt.BuiltInFunctions.logicalNot(i)}let r=e.operands.map(i=>this.evaluateExpression(i,t));if(e.operator==="&&")return yt.BuiltInFunctions.logicalAnd(r);if(e.operator==="||")return yt.BuiltInFunctions.logicalOr(r);throw new hr(`Unknown logical operator: ${String(e.operator)}`)}evaluateIn(e,t){let r=this.evaluateExpression(e.expression,t),i=e.list.some(s=>{let a=this.evaluateExpression(s,t);return yt.BuiltInFunctions.compare(r,a,"=")});return e.negated?!i:i}evaluateArithmetic(e,t){let r=this.evaluateExpression(e.left,t),i=this.evaluateExpression(e.right,t);if(e.operator==="-"&&this.isDateValue(r)&&this.isDateValue(i))return yt.BuiltInFunctions.dateDiff(r,i);if(e.operator==="-"&&this.isTimeValue(r)&&this.isTimeValue(i))return yt.BuiltInFunctions.timeDiff(r,i);if(e.operator==="-"&&this.isDateTimeValue(r)&&this.isDateTimeValue(i))return yt.BuiltInFunctions.dateTimeDiff(r,i);if(e.operator==="+"&&this.isDateValue(r)&&this.isDayTimeDurationValue(i))return yt.BuiltInFunctions.dateAdd(r,i);if(e.operator==="-"&&this.isDateValue(r)&&this.isDayTimeDurationValue(i))return yt.BuiltInFunctions.dateSubtract(r,i);if(e.operator==="+"&&this.isDateValue(r)&&this.isYearMonthDurationValue(i))return yt.BuiltInFunctions.dateAddYearMonth(r,i);if(e.operator==="-"&&this.isDateValue(r)&&this.isYearMonthDurationValue(i))return yt.BuiltInFunctions.dateSubtractYearMonth(r,i);if(e.operator==="+"&&this.isDateTimeValue(r)&&this.isDayTimeDurationValue(i))return yt.BuiltInFunctions.dateTimeAdd(r,i);if(e.operator==="-"&&this.isDateTimeValue(r)&&this.isDayTimeDurationValue(i))return yt.BuiltInFunctions.dateTimeSubtract(r,i);if(e.operator==="+"&&this.isDateTimeValue(r)&&this.isYearMonthDurationValue(i))return yt.BuiltInFunctions.dateTimeAddYearMonth(r,i);if(e.operator==="-"&&this.isDateTimeValue(r)&&this.isYearMonthDurationValue(i))return yt.BuiltInFunctions.dateTimeSubtractYearMonth(r,i);if(e.operator==="+"&&this.isDayTimeDurationValue(r)&&this.isDayTimeDurationValue(i))return yt.BuiltInFunctions.durationAdd(r,i);if(e.operator==="-"&&this.isDayTimeDurationValue(r)&&this.isDayTimeDurationValue(i))return yt.BuiltInFunctions.durationSubtract(r,i);if(e.operator==="*"&&this.isDayTimeDurationValue(r)&&!this.isDayTimeDurationValue(i)){let c=this.toNumericValue(i);return yt.BuiltInFunctions.durationMultiply(r,c)}if(e.operator==="*"&&!this.isDayTimeDurationValue(r)&&this.isDayTimeDurationValue(i)){let c=this.toNumericValue(r);return yt.BuiltInFunctions.durationMultiply(i,c)}if(e.operator==="/"&&this.isDayTimeDurationValue(r)&&!this.isDayTimeDurationValue(i)){let c=this.toNumericValue(i);if(c===0)throw new hr("Division by zero");return yt.BuiltInFunctions.durationDivide(r,c)}if(e.operator==="+"&&this.isYearMonthDurationValue(r)&&this.isYearMonthDurationValue(i))return yt.BuiltInFunctions.yearMonthDurationAdd(r,i);if(e.operator==="-"&&this.isYearMonthDurationValue(r)&&this.isYearMonthDurationValue(i))return yt.BuiltInFunctions.yearMonthDurationSubtract(r,i);let s=this.toNumericValue(r),a=this.toNumericValue(i);switch(e.operator){case"+":return s+a;case"-":return s-a;case"*":return s*a;case"/":if(a===0)throw new hr("Division by zero");return s/a;default:throw new hr(`Unknown arithmetic operator: ${String(e.operator)}`)}}isDayTimeDurationValue(e){return e instanceof Aa.Literal?(e.datatype?.value||"")==="http://www.w3.org/2001/XMLSchema#dayTimeDuration":!1}isYearMonthDurationValue(e){return e instanceof Aa.Literal?(e.datatype?.value||"")==="http://www.w3.org/2001/XMLSchema#yearMonthDuration":!1}toNumericValue(e){if(typeof e=="number")return e;if(e instanceof Aa.Literal){let t=e.datatype?.value||"";if(t.includes("#integer")||t.includes("#decimal")||t.includes("#double")||t.includes("#float")){let i=parseFloat(e.value);if(!isNaN(i))return i}let r=parseFloat(e.value);if(!isNaN(r))return r}if(typeof e=="string"){let t=parseFloat(e);if(!isNaN(t))return t}if(e&&typeof e=="object"&&"value"in e){let t=parseFloat(String(e.value));if(!isNaN(t))return t}throw new hr(`Cannot convert to number: ${e}`)}isDateTimeValue(e){if(e instanceof Aa.Literal){let t=e.datatype?.value||"";return t.includes("#dateTime")||t.includes("#date")?!0:/^\d{4}-\d{2}-\d{2}(T|\s)/.test(e.value)}return typeof e=="string"?/^\d{4}-\d{2}-\d{2}(T|\s)/.test(e):!1}isDateValue(e){return e instanceof Aa.Literal?(e.datatype?.value||"")==="http://www.w3.org/2001/XMLSchema#date":!1}isTimeValue(e){return e instanceof Aa.Literal?(e.datatype?.value||"")==="http://www.w3.org/2001/XMLSchema#time":!1}evaluateFunction(e,t){let r=e,i=this.extractFunctionName(r.function),s=this.evaluateSpecialFunction(i,r.args,t);if(s!==void 0)return s.value;let a=yj.functionHandlers.get(i);if(!a)throw new hr(`Unknown function: ${i}`);let c={evaluateExpression:o((l,u)=>this.evaluateExpression(l,u),"evaluateExpression"),getTermFromExpression:o((l,u)=>this.getTermFromExpression(l,u),"getTermFromExpression"),getStringValue:o(l=>this.getStringValue(l),"getStringValue"),solution:t,isYearMonthDurationValue:o(l=>this.isYearMonthDurationValue(l),"isYearMonthDurationValue"),isDayTimeDurationValue:o(l=>this.isDayTimeDurationValue(l),"isDayTimeDurationValue")};return a(r.args,c)}extractFunctionName(e){if(typeof e=="string")return e.toLowerCase();if(e&&typeof e=="object"&&"value"in e){let t=e.value;return((t.includes("#")?t.split("#").pop():t.split("/").pop())||t).toLowerCase()}throw new hr(`Unknown function format: ${String(e)}`)}evaluateSpecialFunction(e,t,r){switch(e){case"coalesce":for(let i of t)try{let s=this.evaluateExpression(i,r);if(s!=null)return{value:s}}catch{continue}return{value:void 0};case"if":{if(!t||t.length!==3)throw new hr("IF requires exactly 3 arguments");let i=this.evaluateExpression(t[0],r);return{value:this.toBoolean(i)?this.evaluateExpression(t[1],r):this.evaluateExpression(t[2],r)}}case"byuuid":return{value:this.evaluateByUUID({type:"function",function:"byuuid",args:t},r)};default:return}}getTermFromExpression(e,t){let r=e;if(r.type==="variable"&&r.name)return t.get(r.name)}getStringValue(e){return e==null?"":typeof e=="object"&&"value"in e?String(e.value):String(e)}toBoolean(e){if(typeof e=="boolean")return e;if(typeof e=="number")return!isNaN(e)&&e!==0;if(typeof e=="string")return e.length>0;if(e instanceof Aa.Literal){let t=e.datatype?.value||"";if(t.includes("#boolean"))return e.value==="true"||e.value==="1";if(t.includes("#integer")||t.includes("#decimal")||t.includes("#double")||t.includes("#float")){let r=parseFloat(e.value);return!isNaN(r)&&r!==0}return e.value.length>0}return!!e}evaluateByUUID(e,t){if(!e.args||e.args.length!==1)throw new hr("exo:byUUID requires exactly 1 argument (UUID string)");let r=this.evaluateExpression(e.args[0],t),i=this.getStringValue(r);if(!i)return;let s=i.toLowerCase();if(this.uuidCache.has(s))return this.uuidCache.get(s)??void 0;if(!this.tripleStore){this.uuidCache.set(s,null);return}if(this.tripleStore.findSubjectsByUUIDSync){let a=this.tripleStore.findSubjectsByUUIDSync(s);if(a.length===0){this.uuidCache.set(s,null);return}let c=a[0];return this.uuidCache.set(s,c),c}this.uuidCache.set(s,null)}cacheUUIDResult(e,t){let r=e.toLowerCase();this.uuidCache.set(r,t)}getCachedUUID(e){let t=e.toLowerCase();if(this.uuidCache.has(t))return this.uuidCache.get(t)}};Vc.FilterExecutor=d1});var p1=S(Sp=>{"use strict";Object.defineProperty(Sp,"__esModule",{value:!0});Sp.OptionalExecutor=void 0;var h1=class{static{o(this,"OptionalExecutor")}async*execute(e,t){let r=[];for await(let s of e)r.push(s);let i=[];for await(let s of t)i.push(s);yield*this.hashJoin(r,i)}async executeAll(e,t){let r=[];for(let i of this.hashJoin(e,t))r.push(i);return r}*hashJoin(e,t){if(e.length===0)return;if(t.length===0){yield*e;return}let r=new Set;for(let l of e)for(let u of l.variables())r.add(u);let i=new Set;for(let l of t)for(let u of l.variables())i.add(u);let s=[];for(let l of r)i.has(l)&&s.push(l);if(s.sort(),s.length===0){yield*this.nestedLoopJoin(e,t);return}let a="\0",c=new Map;for(let l of t){let u=this.computeHashKey(l,s,a),f=c.get(u);f||(f=[],c.set(u,f)),f.push(l)}for(let l of e){let u=this.computeHashKey(l,s,a),f=c.get(u),d=!1;if(f)for(let h of f){let p=l.merge(h);p!==null&&(yield p,d=!0)}d||(yield l)}}computeHashKey(e,t,r){let i=[];for(let s of t){let a=e.get(s);i.push(a!==void 0?a.toString():"UNBOUND")}return i.join(r)}*nestedLoopJoin(e,t){for(let r of e){let i=!1;for(let s of t){let a=r.merge(s);a!==null&&(yield a,i=!0)}i||(yield r)}}};Sp.OptionalExecutor=h1});var g1=S(bp=>{"use strict";Object.defineProperty(bp,"__esModule",{value:!0});bp.UnionExecutor=void 0;var m1=class{static{o(this,"UnionExecutor")}async*execute(e,t){let r=new Set;for await(let i of e){let s=this.getSolutionKey(i);r.has(s)||(r.add(s),yield i)}for await(let i of t){let s=this.getSolutionKey(i);r.has(s)||(r.add(s),yield i)}}async executeAll(e,t){let r=[];async function*i(){for(let a of e)yield a}o(i,"generateLeft");async function*s(){for(let a of t)yield a}o(s,"generateRight");for await(let a of this.execute(i(),s()))r.push(a);return r}getSolutionKey(e){let t=e.toJSON();return Object.keys(t).sort().map(i=>`${i}=${t[i]}`).join("|")}};bp.UnionExecutor=m1});var $3=S(vp=>{"use strict";Object.defineProperty(vp,"__esModule",{value:!0});vp.MinusExecutor=void 0;var y1=class{static{o(this,"MinusExecutor")}async*execute(e,t){let r=[];for await(let s of e)r.push(s);let i=[];for await(let s of t)i.push(s);for(let s of r){let a=!1;for(let c of i)if(this.areCompatible(s,c)){a=!0;break}a||(yield s)}}async executeAll(e,t){let r=[];async function*i(){for(let a of e)yield a}o(i,"generateLeft");async function*s(){for(let a of t)yield a}o(s,"generateRight");for await(let a of this.execute(i(),s()))r.push(a);return r}areCompatible(e,t){let r=e.variables(),i=new Set(t.variables()),s=r.filter(a=>i.has(a));if(s.length===0)return!1;for(let a of s){let c=e.get(a),l=t.get(a);if(c===void 0||l===void 0||c.toString()!==l.toString())return!1}return!0}};vp.MinusExecutor=y1});var V3=S(Uc=>{"use strict";Object.defineProperty(Uc,"__esModule",{value:!0});Uc.ValuesExecutor=Uc.ValuesExecutorError=void 0;var Sj=rs(),B3=xe(),bj=Ve(),wp=class extends Error{static{o(this,"ValuesExecutorError")}constructor(e,t){super(e,t?{cause:t}:void 0),this.name="ValuesExecutorError"}};Uc.ValuesExecutorError=wp;var _1=class{static{o(this,"ValuesExecutor")}async*execute(e){if(e.bindings.length!==0)for(let t of e.bindings)yield this.createSolutionMapping(t)}async executeAll(e){let t=[];for await(let r of this.execute(e))t.push(r);return t}createSolutionMapping(e){let t=new Sj.SolutionMapping;for(let[r,i]of Object.entries(e)){let s=this.toRDFTerm(i);t.set(r,s)}return t}toRDFTerm(e){if(e.type==="iri")return new B3.IRI(e.value);if(e.type==="literal")return new bj.Literal(e.value,e.datatype?new B3.IRI(e.datatype):void 0,e.language,e.direction);throw new wp(`Unknown term type: ${e.type}`)}};Uc.ValuesExecutor=_1});var S1=S(Wc=>{"use strict";Object.defineProperty(Wc,"__esModule",{value:!0});Wc.CustomAggregateRegistry=Wc.CustomAggregateError=void 0;var qc=class extends Error{static{o(this,"CustomAggregateError")}constructor(e,t){super(e),this.iri=t,this.name="CustomAggregateError"}};Wc.CustomAggregateError=qc;var Ep=class n{static{o(this,"CustomAggregateRegistry")}constructor(){this.aggregates=new Map}static getInstance(){return n.instance||(n.instance=new n),n.instance}static resetInstance(){n.instance&&n.instance.clear(),n.instance=null}register(e,t){if(!e||typeof e!="string")throw new qc("Aggregate IRI must be a non-empty string");if(!t||typeof t.init!="function"||typeof t.step!="function"||typeof t.finalize!="function")throw new qc("Aggregate must implement init(), step(), and finalize() methods",e);if(this.aggregates.has(e))throw new qc(`Aggregate with IRI "${e}" is already registered`,e);this.aggregates.set(e,t)}unregister(e){return this.aggregates.delete(e)}get(e){return this.aggregates.get(e)}has(e){return this.aggregates.has(e)}getRegisteredIris(){return Array.from(this.aggregates.keys())}clear(){this.aggregates.clear()}get size(){return this.aggregates.size}};Wc.CustomAggregateRegistry=Ep;Ep.instance=null});var b1=S(Je=>{"use strict";Object.defineProperty(Je,"__esModule",{value:!0});Je.BUILT_IN_AGGREGATES=Je.modeAggregate=Je.stddevAggregate=Je.varianceAggregate=Je.medianAggregate=Je.EXO_AGGREGATE_NS=void 0;Je.getNumericValue=Tp;Je.createDecimalLiteral=ci;Je.createDoubleLiteral=Ej;Je.createPercentileAggregate=vo;var wo=Ve(),Gc=xe(),vj=new Gc.IRI("http://www.w3.org/2001/XMLSchema#decimal"),wj=new Gc.IRI("http://www.w3.org/2001/XMLSchema#double");Je.EXO_AGGREGATE_NS="https://exocortex.my/ontology/agg#";function Tp(n){return n==null?NaN:typeof n=="number"?n:typeof n=="string"?parseFloat(n):n instanceof wo.Literal?parseFloat(n.value):n instanceof Gc.IRI?NaN:typeof n=="boolean"?n?1:0:NaN}o(Tp,"getNumericValue");function ci(n){return new wo.Literal(String(n),vj)}o(ci,"createDecimalLiteral");function Ej(n){return new wo.Literal(String(n),wj)}o(Ej,"createDoubleLiteral");Je.medianAggregate={init(){return{values:[]}},step(n,e){let t=n,r=Tp(e);isNaN(r)||t.values.push(r)},finalize(n){let e=n,{values:t}=e;if(t.length===0)return ci(0);let r=[...t].sort((a,c)=>a-c),i=Math.floor(r.length/2),s=r.length%2!==0?r[i]:(r[i-1]+r[i])/2;return ci(s)}};Je.varianceAggregate={init(){return{values:[]}},step(n,e){let t=n,r=Tp(e);isNaN(r)||t.values.push(r)},finalize(n){let e=n,{values:t}=e;if(t.length===0)return ci(0);let r=t.reduce((s,a)=>s+a,0)/t.length,i=t.reduce((s,a)=>s+Math.pow(a-r,2),0)/t.length;return ci(i)}};Je.stddevAggregate={init(){return{values:[]}},step(n,e){Je.varianceAggregate.step(n,e)},finalize(n){let e=n,{values:t}=e;if(t.length===0)return ci(0);let r=t.reduce((s,a)=>s+a,0)/t.length,i=t.reduce((s,a)=>s+Math.pow(a-r,2),0)/t.length;return ci(Math.sqrt(i))}};Je.modeAggregate={init(){return{counts:new Map,values:new Map}},step(n,e){if(e==null)return;let t=n,r=String(e instanceof wo.Literal||e instanceof Gc.IRI?e.value:e),i=t.counts.get(r)||0;t.counts.set(r,i+1),t.values.set(r,e)},finalize(n){let e=n;if(e.counts.size===0)return new wo.Literal(" ",new Gc.IRI("http://www.w3.org/2001/XMLSchema#string"));let t="",r=0;for(let[a,c]of e.counts)c>r&&(r=c,t=a);let i=e.values.get(t);if(i instanceof wo.Literal)return i;let s=parseFloat(t);return isNaN(s)?new wo.Literal(t,new Gc.IRI("http://www.w3.org/2001/XMLSchema#string")):ci(s)}};function vo(n){let e=Math.max(0,Math.min(100,n))/100;return{init(){return{values:[],percentile:e}},step(t,r){let i=t,s=Tp(r);isNaN(s)||i.values.push(s)},finalize(t){let r=t,{values:i}=r;if(i.length===0)return ci(0);let s=[...i].sort((d,h)=>d-h),a=r.percentile*(s.length-1),c=Math.floor(a),l=Math.ceil(a);if(c===l)return ci(s[c]);let u=a-c,f=s[c]*(1-u)+s[l]*u;return ci(f)}}}o(vo,"createPercentileAggregate");Je.BUILT_IN_AGGREGATES={[`${Je.EXO_AGGREGATE_NS}median`]:Je.medianAggregate,[`${Je.EXO_AGGREGATE_NS}variance`]:Je.varianceAggregate,[`${Je.EXO_AGGREGATE_NS}stddev`]:Je.stddevAggregate,[`${Je.EXO_AGGREGATE_NS}mode`]:Je.modeAggregate,[`${Je.EXO_AGGREGATE_NS}percentile25`]:vo(25),[`${Je.EXO_AGGREGATE_NS}percentile50`]:vo(50),[`${Je.EXO_AGGREGATE_NS}percentile75`]:vo(75),[`${Je.EXO_AGGREGATE_NS}percentile90`]:vo(90),[`${Je.EXO_AGGREGATE_NS}percentile95`]:vo(95),[`${Je.EXO_AGGREGATE_NS}percentile99`]:vo(99)}});var W3=S(zc=>{"use strict";Object.defineProperty(zc,"__esModule",{value:!0});zc.AggregateExecutor=zc.AggregateExecutorError=void 0;var ar=Ve(),w1=xe(),Tj=_p(),Aj=S1(),xj=b1(),U3=new w1.IRI("http://www.w3.org/2001/XMLSchema#integer"),Eo=new w1.IRI("http://www.w3.org/2001/XMLSchema#decimal"),is=new w1.IRI("http://www.w3.org/2001/XMLSchema#string");function q3(n){return typeof n=="object"&&n.type==="custom"}o(q3,"isCustomAggregation");var qu=class extends Error{static{o(this,"AggregateExecutorError")}constructor(e,t){super(e,t?{cause:t}:void 0),this.name="AggregateExecutorError"}};zc.AggregateExecutorError=qu;var v1=class{static{o(this,"AggregateExecutor")}constructor(){this.filterExecutor=new Tj.FilterExecutor}execute(e,t){let r=this.groupSolutions(t,e.variables),i=[];for(let[s,a]of r.entries()){let c=new Map;for(let f of e.variables)if(a.length>0){let d=a[0].get(f);d&&c.set(f,d)}for(let f of e.aggregates){let d=this.computeAggregate(f.expression,a);c.set(f.variable,d)}let{SolutionMapping:l}=rs(),u=new l;for(let[f,d]of c.entries())u.set(f,d);i.push(u)}if(i.length===0&&e.aggregates.length>0){let s=this.createEmptyAggregateResult(e);s&&i.push(s)}return i}groupSolutions(e,t){let r=new Map;if(t.length===0)return r.set("",e),r;for(let i of e){let s=this.computeGroupKey(i,t),a=r.get(s);a?a.push(i):r.set(s,[i])}return r}computeGroupKey(e,t){return t.map(r=>{let i=e.get(r);return i?this.termToString(i):""}).join("|")}termToString(e){if(e&&typeof e=="object"){if("value"in e)return String(e.value);if("id"in e)return String(e.id)}return String(e)}computeAggregate(e,t){if(q3(e.aggregation))return this.computeCustomAggregate(e,t);let r=this.extractValues(e,t),i=e.aggregation;switch(i){case"count":{let s=this.computeCount(r,e.distinct);return new ar.Literal(String(s),U3)}case"sum":{let s=this.computeSum(r);return new ar.Literal(String(s),Eo)}case"avg":{let s=this.computeAvg(r);return new ar.Literal(String(s),Eo)}case"min":{let s=this.computeMin(r);return s===void 0?new ar.Literal("",is):typeof s=="number"?new ar.Literal(String(s),Eo):new ar.Literal(String(s),is)}case"max":{let s=this.computeMax(r);return s===void 0?new ar.Literal("",is):typeof s=="number"?new ar.Literal(String(s),Eo):new ar.Literal(String(s),is)}case"group_concat":{let s=this.computeGroupConcat(r,e.separator||" ",e.distinct);return new ar.Literal(s||" ",is)}case"sample":{let s=this.computeSample(r,e.distinct);return s===void 0?new ar.Literal(" ",is):typeof s=="number"?new ar.Literal(String(s),Eo):new ar.Literal(String(s),is)}default:{let s=i;throw new qu(`Unknown aggregation function: ${s}`)}}}computeCustomAggregate(e,t){let i=e.aggregation.iri,a=Aj.CustomAggregateRegistry.getInstance().get(i);if(a||(a=xj.BUILT_IN_AGGREGATES[i]),!a)throw new qu(`Unknown custom aggregate function: ${i}. Register it with CustomAggregateRegistry.getInstance().register() or use a built-in aggregate.`);let c=a.init();for(let l of t){let u=null;if(e.expression){let f=this.evaluateExpression(e.expression,l);f!==void 0&&(u=f)}else u=1;a.step(c,u)}return a.finalize(c)}extractValues(e,t){if(!e.expression)return t.map(()=>1);let r=[];for(let i of t){let s=this.evaluateExpression(e.expression,i);s!=null&&r.push(s)}return r}evaluateExpression(e,t){if(e.type==="variable"){let r=t.get(e.name);return r==null?void 0:typeof r=="number"||typeof r=="string"||typeof r=="boolean"?r:typeof r=="object"&&"value"in r?r.value:r}if(e.type==="literal")return e.value;try{return this.filterExecutor.evaluateExpression(e,t)}catch{return}}computeCount(e,t){return t?new Set(e.map(r=>String(r))).size:e.length}computeSum(e){return e.map(r=>parseFloat(String(r))).filter(r=>!isNaN(r)).reduce((r,i)=>r+i,0)}computeAvg(e){let t=e.map(r=>parseFloat(String(r))).filter(r=>!isNaN(r));return t.length===0?0:t.reduce((r,i)=>r+i,0)/t.length}computeMin(e){if(e.length===0)return;let t=e.map(i=>parseFloat(String(i))).filter(i=>!isNaN(i));if(t.length>0)return Math.min(...t);let r=e.map(i=>String(i));return r.reduce((i,s)=>s<i?s:i,r[0])}computeMax(e){if(e.length===0)return;let t=e.map(i=>parseFloat(String(i))).filter(i=>!isNaN(i));if(t.length>0)return Math.max(...t);let r=e.map(i=>String(i));return r.reduce((i,s)=>s>i?s:i,r[0])}computeGroupConcat(e,t,r){let i=e.map(s=>String(s));return r&&(i=[...new Set(i)]),i.join(t)}computeSample(e,t){if(e.length===0)return;if(t){let s=[...new Set(e.map(l=>String(l)))];if(s.length===0)return;let a=s[0],c=parseFloat(a);return isNaN(c)?a:c}let r=e[0];if(typeof r=="number")return r;let i=parseFloat(String(r));return isNaN(i)?String(r):i}createEmptyAggregateResult(e){let{SolutionMapping:t}=rs(),r=new t;for(let i of e.aggregates){let s=i.expression.aggregation;if(q3(s)){r.set(i.variable,new ar.Literal("0",Eo));continue}switch(s){case"count":r.set(i.variable,new ar.Literal("0",U3));break;case"sum":case"avg":r.set(i.variable,new ar.Literal("0",Eo));break;case"group_concat":r.set(i.variable,new ar.Literal(" ",is));break;case"min":case"max":case"sample":r.set(i.variable,new ar.Literal("",is));break;default:r.set(i.variable,new ar.Literal("",is))}}return r}};zc.AggregateExecutor=v1});var x1=S(Ap=>{"use strict";Object.defineProperty(Ap,"__esModule",{value:!0});Ap.ConstructExecutor=void 0;var Cj=ii(),To=xe(),E1=Ve(),T1=qt(),Ij=bu(),A1=class{static{o(this,"ConstructExecutor")}async execute(e,t){let r=[],i=new Set;for(let s of t)for(let a of e)try{let c=this.instantiateTriple(a,s),l=`${c.subject.toString()}|${c.predicate.toString()}|${c.object.toString()}`;i.has(l)||(i.add(l),r.push(c))}catch{continue}return r}instantiateTriple(e,t){if(this.isPropertyPath(e.predicate))throw new Error("Property paths are not supported in CONSTRUCT templates");let r=this.instantiateElement(e.subject,t),i=this.instantiateElement(e.predicate,t),s=this.instantiateElement(e.object,t);return new Cj.Triple(r,i,s)}isPropertyPath(e){return e.type==="path"}instantiateElement(e,t){if(e.type==="variable"){let r=t.get(e.value);if(!r)throw new Error(`Unbound variable: ${e.value}`);return r}if(e.type==="iri")return new To.IRI(e.value);if(e.type==="literal")return new E1.Literal(e.value,e.datatype?new To.IRI(e.datatype):void 0,e.language);if(e.type==="blank")return new T1.BlankNode(e.value);if(e.type==="quoted")return this.instantiateQuotedTriple(e,t);throw new Error(`Unknown element type: ${e.type}`)}instantiateQuotedTriple(e,t){let r=this.instantiateQuotedSubject(e.subject,t),i=this.instantiateQuotedPredicate(e.predicate,t),s=this.instantiateQuotedObject(e.object,t);return new Ij.QuotedTriple(r,i,s)}instantiateQuotedSubject(e,t){if(e.type==="variable"){let r=t.get(e.value);if(!r)throw new Error(`Unbound variable in quoted triple subject: ${e.value}`);if(r instanceof E1.Literal)throw new Error("Literals cannot appear in quoted triple subject position");return r}if(e.type==="iri")return new To.IRI(e.value);if(e.type==="blank")return new T1.BlankNode(e.value);if(e.type==="quoted")return this.instantiateQuotedTriple(e,t);throw new Error(`Invalid element type for quoted triple subject: ${e.type}`)}instantiateQuotedPredicate(e,t){if(e.type==="variable"){let r=t.get(e.value);if(!r)throw new Error(`Unbound variable in quoted triple predicate: ${e.value}`);if(!(r instanceof To.IRI))throw new Error("Quoted triple predicate must be an IRI");return r}return new To.IRI(e.value)}instantiateQuotedObject(e,t){if(e.type==="variable"){let i=t.get(e.value);if(!i)throw new Error(`Unbound variable in quoted triple object: ${e.value}`);return i}if(e.type==="iri")return new To.IRI(e.value);if(e.type==="blank")return new T1.BlankNode(e.value);if(e.type==="literal")return new E1.Literal(e.value,e.datatype?new To.IRI(e.datatype):void 0,e.language);if(e.type==="quoted")return this.instantiateQuotedTriple(e,t);let r=e;throw new Error(`Invalid element type for quoted triple object: ${r.type}`)}};Ap.ConstructExecutor=A1});var z3=S(Hc=>{"use strict";Object.defineProperty(Hc,"__esModule",{value:!0});Hc.ServiceExecutor=Hc.ServiceExecutorError=void 0;var Rj=rs(),G3=xe(),Oj=Ve(),Pj=qt(),Ao=class extends Error{static{o(this,"ServiceExecutorError")}constructor(e,t){super(e,t?{cause:t}:void 0),this.name="ServiceExecutorError"}};Hc.ServiceExecutorError=Ao;var C1=class{static{o(this,"ServiceExecutor")}constructor(e={}){this.timeout=e.timeout??3e4,this.httpClient=e.httpClient??((t,r)=>fetch(t,r)),this.maxRetries=e.maxRetries??2,this.retryDelay=e.retryDelay??1e3}async*execute(e,t){try{let r=t(e.pattern),i=await this.executeRemoteQuery(e.endpoint,r);for(let s of i)yield s}catch(r){if(e.silent)return;throw r}}async executeRemoteQuery(e,t){let r;for(let i=0;i<=this.maxRetries;i++)try{let s=new AbortController,a=setTimeout(()=>s.abort(),this.timeout);try{let c=await this.httpClient(e,{method:"POST",headers:{"Content-Type":"application/sparql-query",Accept:"application/sparql-results+json"},body:t,signal:s.signal});if(!c.ok)throw new Ao(`Remote SPARQL endpoint returned ${c.status}: ${c.statusText}`);let l=await c.json();return this.parseJsonResults(l)}finally{clearTimeout(a)}}catch(s){if(r=s instanceof Error?s:new Error(String(s)),this.isRetryableError(r)&&i<this.maxRetries){await this.delay(this.retryDelay);continue}throw new Ao(`Failed to query remote SPARQL endpoint ${e}: ${r.message}`,r)}throw new Ao(`Failed to query remote SPARQL endpoint ${e} after ${this.maxRetries+1} attempts`,r)}parseJsonResults(e){return!e.results||!Array.isArray(e.results.bindings)?[]:e.results.bindings.map(t=>this.parseBinding(t))}parseBinding(e){let t=new Rj.SolutionMapping;for(let[r,i]of Object.entries(e)){let s=this.parseRDFTerm(i);t.set(r,s)}return t}parseRDFTerm(e){switch(e.type){case"uri":return new G3.IRI(e.value);case"literal":{let t=e.datatype?new G3.IRI(e.datatype):void 0;return new Oj.Literal(e.value,t,e["xml:lang"])}case"bnode":return new Pj.BlankNode(e.value);default:throw new Ao(`Unknown RDF term type: ${e.type}`)}}isRetryableError(e){let t=e.message.toLowerCase();return!!(e.name==="AbortError"||t.includes("network")||t.includes("econnreset")||t.includes("econnrefused")||t.includes("etimedout")||t.includes("returned 5"))}delay(e){return new Promise(t=>setTimeout(t,e))}};Hc.ServiceExecutor=C1});var Q3=S(Qc=>{"use strict";Object.defineProperty(Qc,"__esModule",{value:!0});Qc.GraphExecutor=Qc.GraphExecutorError=void 0;var H3=xe(),xp=class extends Error{static{o(this,"GraphExecutorError")}constructor(e,t){super(e,t?{cause:t}:void 0),this.name="GraphExecutorError"}};Qc.GraphExecutorError=xp;var I1=class{static{o(this,"GraphExecutor")}constructor(e){this.tripleStore=e}async*execute(e,t,r){let i=e.name;if(i.type==="iri")yield*this.executeWithGraph(e.pattern,i,t);else if(i.type==="variable")yield*this.executeWithGraphVariable(e,i,t,r);else throw new xp(`Invalid graph name type: ${i.type}`)}async*executeWithGraph(e,t,r){let i=new H3.IRI(t.value);this.tripleStore.hasGraph&&!await this.tripleStore.hasGraph(i)||(yield*r(e,i))}async*executeWithGraphVariable(e,t,r,i){if(i){let a=i.get(t.value);if(a&&a instanceof H3.IRI){yield*this.executeWithGraph(e.pattern,{type:"iri",value:a.value},r);return}}if(!this.tripleStore.getNamedGraphs)return;let s=await this.tripleStore.getNamedGraphs();for(let a of s)for await(let c of r(e.pattern,a)){let l=c.clone();l.set(t.value,a),yield l}}};Qc.GraphExecutor=I1});var Y3=S(Kc=>{"use strict";Object.defineProperty(Kc,"__esModule",{value:!0});Kc.SPARQLGenerator=Kc.SPARQLGeneratorError=void 0;var Yc=class extends Error{static{o(this,"SPARQLGeneratorError")}constructor(e,t){super(e,t?{cause:t}:void 0),this.name="SPARQLGeneratorError"}};Kc.SPARQLGeneratorError=Yc;var R1=class{static{o(this,"SPARQLGenerator")}collectVariables(e){let t=new Set;return this.collectVariablesFromOperation(e,t),t}generateSelect(e){let t=this.collectVariables(e),r=t.size>0?Array.from(t).map(s=>`?${s}`).join(" "):"*",i=this.generateWhereClause(e);return`SELECT ${r} WHERE {
|
|
47
|
+
`)return r+1;let s=e.substring(r).toUpperCase();if(s.startsWith("PREFIX")||s.startsWith("BASE")||s.startsWith("SELECT")||s.startsWith("CONSTRUCT")||s.startsWith("DESCRIBE")||s.startsWith("ASK"))return r;if(/\s/.test(i)){r++;continue}break}return r}extractPrefixFromUri(e){let t=e.replace(/^https?:\/\//,"");t=t.replace(/\/$/,"").replace(/#$/,"");let r=t.split(/[/.#]+/).filter(Boolean);if(r.length===0)return null;let i=r[r.length-1];return/^(ontology|vocab|schema|ns|core)$/i.test(i)&&r.length>1?r[r.length-2].toLowerCase():i.toLowerCase().replace(/[^a-z0-9]/g,"")}};ba.PrefixStarTransformer=O_;var Tc=class extends Error{static{o(this,"PrefixStarTransformerError")}constructor(e){super(`PREFIX* transformation error: ${e}`),this.name="PrefixStarTransformerError"}};ba.PrefixStarTransformerError=Tc});var P_=S(xc=>{"use strict";Object.defineProperty(xc,"__esModule",{value:!0});xc.DescribeOptionsTransformer=xc.DescribeOptionsTransformerError=void 0;var Vh=class extends Error{static{o(this,"DescribeOptionsTransformerError")}constructor(e){super(e),this.name="DescribeOptionsTransformerError"}};xc.DescribeOptionsTransformerError=Vh;var Ac=class n{static{o(this,"DescribeOptionsTransformer")}transform(e){if(!n.DESCRIBE_QUERY_PATTERN.test(e))return{query:e};let t=e,r={},i=!1,s=n.DEPTH_PATTERN.exec(e);if(s){let a=parseInt(s[1],10);if(a<0)throw new Vh(`DESCRIBE DEPTH must be a non-negative integer, got: ${a}`);r.depth=a,i=!0,n.DEPTH_PATTERN.lastIndex=0,t=t.replace(n.DEPTH_PATTERN,"")}return n.DEPTH_PATTERN.lastIndex=0,n.SYMMETRIC_PATTERN.test(e)&&(r.symmetric=!0,i=!0,n.SYMMETRIC_PATTERN.lastIndex=0,t=t.replace(n.SYMMETRIC_PATTERN,"")),n.SYMMETRIC_PATTERN.lastIndex=0,t=t.replace(/\s{2,}/g," ").trim(),{query:t,options:i?r:void 0}}hasDescribeOptions(e){let t=n.DEPTH_PATTERN.test(e);n.DEPTH_PATTERN.lastIndex=0;let r=n.SYMMETRIC_PATTERN.test(e);return n.SYMMETRIC_PATTERN.lastIndex=0,t||r}};xc.DescribeOptionsTransformer=Ac;Ac.DEPTH_PATTERN=/\bDEPTH\s+(\d+)/gi;Ac.SYMMETRIC_PATTERN=/\bSYMMETRIC\b/gi;Ac.DESCRIBE_QUERY_PATTERN=/\bDESCRIBE\b/i});var oA=S(Cc=>{"use strict";Object.defineProperty(Cc,"__esModule",{value:!0});Cc.DirectionalLangTagTransformerError=Cc.DirectionalLangTagTransformer=void 0;var Uh=class n{static{o(this,"DirectionalLangTagTransformer")}constructor(){this.directionMappings=new Map}transform(e){return this.directionMappings.clear(),e.replace(n.DIRECTIONAL_TAG_REGEX,(t,r,i,s,a)=>{let c=s.toLowerCase();return this.directionMappings.set(c,a),`${r}${i}${r}@${s}`})}getDirection(e){return this.directionMappings.get(e.toLowerCase())}getAllMappings(){return new Map(this.directionMappings)}hasDirectionalTags(e){return n.DIRECTIONAL_TAG_REGEX.lastIndex=0,n.DIRECTIONAL_TAG_REGEX.test(e)}clearMappings(){this.directionMappings.clear()}};Cc.DirectionalLangTagTransformer=Uh;Uh.DIRECTIONAL_TAG_REGEX=/(["'])((?:[^\\]|\\.)*?)\1@([a-zA-Z]+(?:-[a-zA-Z0-9]+)*)--(ltr|rtl)/g;var F_=class extends Error{static{o(this,"DirectionalLangTagTransformerError")}constructor(e){super(`Directional language tag transformation error: ${e}`),this.name="DirectionalLangTagTransformerError"}};Cc.DirectionalLangTagTransformerError=F_});var cA=S(Rc=>{"use strict";Object.defineProperty(Rc,"__esModule",{value:!0});Rc.TripleTermTransformerError=Rc.TripleTermTransformer=void 0;var D_=class{static{o(this,"TripleTermTransformer")}transform(e){let t=e,r,i=0,s=100;do if(r=t,t=this.transformSinglePass(t),i++,i>s)throw new Ic("Too many nested triple terms (max 100 iterations)");while(t!==r);return t}hasTripleTermSyntax(e){return this.findTripleTermPositions(e).length>0}transformSinglePass(e){let t=this.findTripleTermPositions(e);if(t.length===0)return e;let r=e;for(let i=t.length-1;i>=0;i--){let s=t[i],a=this.extractTripleTerm(r,s);if(a){let c=this.convertToStandardSyntax(a.content);r=r.substring(0,s)+c+r.substring(s+a.length)}}return r}findTripleTermPositions(e){let t=[],r=0;for(;r<e.length;){if(e[r]==="'"){r=this.skipStringLiteral(e,r,"'");continue}if(e[r]==='"'){r=this.skipStringLiteral(e,r,'"');continue}if(e.substring(r,r+2)==="<<"&&this.isParenthesizedTripleTerm(e,r)){t.push(r),r+=2;continue}r++}return t}skipStringLiteral(e,t,r){let i=r.repeat(3);if(e.substring(t,t+3)===i){for(t+=3;t<e.length;){if(e.substring(t,t+3)===i)return t+3;e[t]==="\\"&&t++,t++}return t}for(t++;t<e.length&&e[t]!==r;)e[t]==="\\"&&t++,t++;return t+1}isParenthesizedTripleTerm(e,t){let r=t+2;for(;r<e.length&&/\s/.test(e[r]);)r++;return e[r]==="("}extractTripleTerm(e,t){let r=t+2;for(;r<e.length&&/\s/.test(e[r]);)r++;if(e[r]!=="(")return null;r++;let i=1;for(;r<e.length&&i>0;){if(e[r]==="'"||e[r]==='"'){r=this.skipStringLiteral(e,r,e[r]);continue}if(e.substring(r,r+2)==="<<"&&this.isParenthesizedTripleTerm(e,r)){for(r+=2;r<e.length&&/\s/.test(e[r]);)r++;e[r]==="("&&(i++,r++);continue}if(e.substring(r,r+2)==="<<"){r+=2;let s=1;for(;r<e.length&&s>0;){if(e[r]==="'"||e[r]==='"'){r=this.skipStringLiteral(e,r,e[r]);continue}if(e.substring(r,r+2)==="<<"){s++,r+=2;continue}if(e.substring(r,r+2)===">>"){s--,r+=2;continue}r++}continue}if(e[r]==="("){i++,r++;continue}if(e[r]===")"){let s=r+1;for(;s<e.length&&/\s/.test(e[s]);)s++;if(e.substring(s,s+2)===">>"){if(i--,i===0){let a=e.substring(t,s+2);return{content:a,length:a.length}}r=s+2;continue}r++;continue}r++}if(i>0)throw new Ic(`Unclosed triple term at position ${t}: missing )>>`);return null}convertToStandardSyntax(e){let t=e.match(/^<<\s*\(\s*([\s\S]*?)\s*\)\s*>>$/);if(!t)throw new Ic(`Invalid triple term syntax: ${e.substring(0,50)}...`);return`<< ${t[1]} >>`}};Rc.TripleTermTransformer=D_;var Ic=class extends Error{static{o(this,"TripleTermTransformerError")}constructor(e){super(`Triple term transformation error: ${e}`),this.name="TripleTermTransformerError"}};Rc.TripleTermTransformerError=Ic});var L_=S(qh=>{"use strict";Object.defineProperty(qh,"__esModule",{value:!0});qh.VaultPrefixTransformer=void 0;var qM=/PREFIX\s+(\w+)\s*:/gi,WM=new Set(["mailto","http","https","urn","ftp","prefix","base","select","construct","describe","ask","where","filter","optional","union","graph","order","group","having","limit","offset","values","bind","minus","service","insert","delete","load","clear","drop","create","move","copy","add"]),N_=class{static{o(this,"VaultPrefixTransformer")}constructor(){this.vaultPrefixes=new Map}setVaultPrefixes(e){this.vaultPrefixes=new Map(e)}getVaultPrefixes(){return new Map(this.vaultPrefixes)}transform(e){if(this.vaultPrefixes.size===0)return e;let t=this.findDeclaredPrefixes(e),r=[];for(let[a,c]of this.vaultPrefixes)!t.has(a.toLowerCase())&&!WM.has(a.toLowerCase())&&r.push({prefix:a,baseIRI:c});if(r.length===0)return e;let i="",s=0;for(;s<e.length;){let a=e[s];if(a==='"'||a==="'"){let l=this.skipLiteral(e,s);i+=e.substring(s,l),s=l;continue}if(a==="<"){let l=e.indexOf(">",s);l!==-1?(i+=e.substring(s,l+1),s=l+1):(i+=a,s++);continue}if(a==="#"){let l=e.indexOf(`
|
|
48
|
+
`,s);l!==-1?(i+=e.substring(s,l),s=l):(i+=e.substring(s),s=e.length);continue}let c=this.tryReplacePrefixedName(e,s,r);if(c){i+=c.iri,s=c.endIndex;continue}i+=a,s++}return i}tryReplacePrefixedName(e,t,r){if(t>0&&/[a-zA-Z0-9_]/.test(e[t-1]))return null;for(let{prefix:i,baseIRI:s}of r){if(e.substring(t,t+i.length+1)!==i+":")continue;let a=t+i.length+1,c=a;for(;c<e.length&&/[a-zA-Z0-9_.%-]/.test(e[c]);)c++;if(c===a)continue;let l=e.substring(a,c);return{iri:`<${s}${l}.md>`,endIndex:c}}return null}findDeclaredPrefixes(e){let t=new Set,r=new RegExp(qM.source,"gi"),i;for(;(i=r.exec(e))!==null;)t.add(i[1].toLowerCase());return t}skipLiteral(e,t){let r=e[t];if(t+2<e.length&&e.substring(t,t+3)===r+r+r){let s=e.indexOf(r+r+r,t+3);return s!==-1?s+3:e.length}let i=t+1;for(;i<e.length&&e[i]!==r;)e[i]==="\\"&&i++,i++;return i<e.length?i+1:e.length}};qh.VaultPrefixTransformer=N_});var Oc=S(wn=>{"use strict";var GM=wn&&wn.__createBinding||(Object.create?(function(n,e,t,r){r===void 0&&(r=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:o(function(){return e[t]},"get")}),Object.defineProperty(n,r,i)}):(function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]})),zM=wn&&wn.__setModuleDefault||(Object.create?(function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}):function(n,e){n.default=e}),HM=wn&&wn.__importStar||(function(){var n=o(function(e){return n=Object.getOwnPropertyNames||function(t){var r=[];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(r[r.length]=i);return r},n(e)},"ownKeys");return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r=n(e),i=0;i<r.length;i++)r[i]!=="default"&&GM(t,e,r[i]);return zM(t,e),t}})();Object.defineProperty(wn,"__esModule",{value:!0});wn.SPARQLParser=wn.ExoQLParser=wn.SPARQLParseError=void 0;var lA=HM(sA()),k_=I_(),M_=R_(),uA=aA(),j_=P_(),QM=oA(),$_=cA(),YM=L_(),nr=class extends Error{static{o(this,"SPARQLParseError")}constructor(e,t,r,i){super(e,i?{cause:i}:void 0),this.name="SPARQLParseError",this.line=t,this.column=r}};wn.SPARQLParseError=nr;var Wh=class{static{o(this,"ExoQLParser")}constructor(e){this.lastDirectionMappings=new Map,this.parser=new lA.Parser({sparqlStar:!0}),this.generator=new lA.Generator({sparqlStar:!0}),this.caseWhenTransformer=new k_.CaseWhenTransformer,this.lateralTransformer=new M_.LateralTransformer,this.prefixStarTransformer=new uA.PrefixStarTransformer(e?.vocabularyResolver),this.describeOptionsTransformer=new j_.DescribeOptionsTransformer,this.directionalLangTagTransformer=new QM.DirectionalLangTagTransformer,this.tripleTermTransformer=new $_.TripleTermTransformer,this.vaultPrefixTransformer=new YM.VaultPrefixTransformer}setVaultPrefixes(e){this.vaultPrefixTransformer.setVaultPrefixes(e)}parse(e){try{let t=this.vaultPrefixTransformer.transform(e),r=this.describeOptionsTransformer.transform(t);this.lastDescribeOptions=r.options;let i=r.query;i=this.directionalLangTagTransformer.transform(i),this.lastDirectionMappings=this.directionalLangTagTransformer.getAllMappings(),i=this.lateralTransformer.transform(i),i=this.caseWhenTransformer.transform(i),i=this.tripleTermTransformer.transform(i);let s=this.parser.parse(i);return this.validateQuery(s),this.lastDescribeOptions&&this.isDescribeQuery(s)&&(s.describeOptions=this.lastDescribeOptions),s}catch(t){if(t instanceof j_.DescribeOptionsTransformerError)throw new nr(t.message);if(t instanceof M_.LateralTransformerError)throw new nr(t.message);if(t instanceof k_.CaseWhenTransformerError)throw new nr(t.message);if(t instanceof $_.TripleTermTransformerError)throw new nr(t.message);if(t instanceof Error){let r=t.message.match(/line (\d+), column (\d+)/),i=r?parseInt(r[1],10):void 0,s=r?parseInt(r[2],10):void 0;throw new nr(`SPARQL syntax error: ${t.message}`,i,s,t)}throw t}}parseWithOptions(e){return{query:this.parse(e),describeOptions:this.lastDescribeOptions}}getLastDescribeOptions(){return this.lastDescribeOptions}async parseAsync(e){try{let t=this.vaultPrefixTransformer.transform(e),r=this.describeOptionsTransformer.transform(t);this.lastDescribeOptions=r.options;let i=r.query;i=this.directionalLangTagTransformer.transform(i),this.lastDirectionMappings=this.directionalLangTagTransformer.getAllMappings(),i=await this.prefixStarTransformer.transform(i),i=this.lateralTransformer.transform(i),i=this.caseWhenTransformer.transform(i),i=this.tripleTermTransformer.transform(i);let s=this.parser.parse(i);return this.validateQuery(s),this.lastDescribeOptions&&this.isDescribeQuery(s)&&(s.describeOptions=this.lastDescribeOptions),s}catch(t){if(t instanceof j_.DescribeOptionsTransformerError)throw new nr(t.message);if(t instanceof uA.PrefixStarTransformerError)throw new nr(t.message);if(t instanceof M_.LateralTransformerError)throw new nr(t.message);if(t instanceof k_.CaseWhenTransformerError)throw new nr(t.message);if(t instanceof $_.TripleTermTransformerError)throw new nr(t.message);if(t instanceof Error){let r=t.message.match(/line (\d+), column (\d+)/),i=r?parseInt(r[1],10):void 0,s=r?parseInt(r[2],10):void 0;throw new nr(`SPARQL syntax error: ${t.message}`,i,s,t)}throw t}}async parseAsyncWithOptions(e){return{query:await this.parseAsync(e),describeOptions:this.lastDescribeOptions}}hasPrefixStar(e){return/PREFIX\s*\*/i.test(e)}hasLateral(e){return this.lateralTransformer.hasLateral(e)}hasDescribeOptions(e){return this.describeOptionsTransformer.hasDescribeOptions(e)}hasDirectionalLangTags(e){return this.directionalLangTagTransformer.hasDirectionalTags(e)}hasTripleTermSyntax(e){return this.tripleTermTransformer.hasTripleTermSyntax(e)}getLastDirectionMappings(){return new Map(this.lastDirectionMappings)}getDirectionForLanguage(e){return this.lastDirectionMappings.get(e.toLowerCase())}toString(e){try{return this.generator.stringify(e)}catch(t){throw t instanceof Error?new nr(`Failed to serialize SPARQL query: ${t.message}`,void 0,void 0,t):t}}getQueryType(e){if("queryType"in e&&e.type==="query")return e.queryType;throw new nr("Query does not have a valid queryType property")}isSelectQuery(e){return"queryType"in e&&e.type==="query"&&e.queryType==="SELECT"}isConstructQuery(e){return"queryType"in e&&e.type==="query"&&e.queryType==="CONSTRUCT"}isAskQuery(e){return"queryType"in e&&e.type==="query"&&e.queryType==="ASK"}isDescribeQuery(e){return"queryType"in e&&e.type==="query"&&e.queryType==="DESCRIBE"}isUpdateQuery(e){return e.type==="update"}isInsertDataOperation(e){return"updateType"in e&&e.updateType==="insert"}isDeleteDataOperation(e){return"updateType"in e&&e.updateType==="delete"}validateQuery(e){if(!e||typeof e!="object")throw new nr("Invalid query: not an object");if(e.type!=="query"&&e.type!=="update")throw new nr(`Invalid type: expected "query" or "update", got "${e.type}"`);if(e.type==="query"){let t=["SELECT","CONSTRUCT","ASK","DESCRIBE"];if(!t.includes(e.queryType))throw new nr(`Invalid query type: expected one of ${t.join(", ")}, got "${e.queryType}"`)}}};wn.ExoQLParser=Wh;wn.SPARQLParser=Wh});var bo=S(Gh=>{"use strict";Object.defineProperty(Gh,"__esModule",{value:!0});Gh.AlgebraTranslatorError=void 0;var B_=class extends Error{static{o(this,"AlgebraTranslatorError")}constructor(e,t){super(e,t?{cause:t}:void 0),this.name="AlgebraTranslatorError"}};Gh.AlgebraTranslatorError=B_});var zh=S(ts=>{"use strict";Object.defineProperty(ts,"__esModule",{value:!0});ts.isVariableExpression=KM;ts.isVariableTerm=XM;ts.isNamedNode=JM;ts.isLiteral=ZM;ts.isPropertyPath=ej;ts.isAggregateExpression=tj;ts.isOperationExpression=rj;ts.isFunctionCallExpression=nj;function KM(n){return typeof n=="object"&&n!==null&&"expression"in n&&"variable"in n}o(KM,"isVariableExpression");function XM(n){return typeof n=="object"&&n!==null&&"termType"in n&&n.termType==="Variable"}o(XM,"isVariableTerm");function JM(n){return typeof n=="object"&&n!==null&&"termType"in n&&n.termType==="NamedNode"}o(JM,"isNamedNode");function ZM(n){return typeof n=="object"&&n!==null&&"termType"in n&&n.termType==="Literal"}o(ZM,"isLiteral");function ej(n){return typeof n=="object"&&n!==null&&"type"in n&&n.type==="path"}o(ej,"isPropertyPath");function tj(n){return typeof n=="object"&&n!==null&&"type"in n&&n.type==="aggregate"}o(tj,"isAggregateExpression");function rj(n){return typeof n=="object"&&n!==null&&"type"in n&&n.type==="operation"}o(rj,"isOperationExpression");function nj(n){return typeof n=="object"&&n!==null&&"type"in n&&(n.type==="functionCall"||n.type==="functioncall")}o(nj,"isFunctionCallExpression")});var fA=S(Hh=>{"use strict";Object.defineProperty(Hh,"__esModule",{value:!0});Hh.TripleTranslator=void 0;var an=bo(),V_=class{static{o(this,"TripleTranslator")}constructor(){this.directionMappings=new Map}setDirectionMappings(e){this.directionMappings=e}translateBGP(e){if(!("triples"in e)||!Array.isArray(e.triples))throw new an.AlgebraTranslatorError("BGP pattern must have triples array");return{type:"bgp",triples:e.triples.map(t=>this.translateTriple(t))}}translateTriple(e){if(!e.subject||!e.predicate||!e.object)throw new an.AlgebraTranslatorError("Triple must have subject, predicate, and object");return{subject:this.translateTripleElement(e.subject),predicate:this.translatePredicate(e.predicate),object:this.translateTripleElement(e.object)}}translateConstructTemplate(e){return!e||!Array.isArray(e)?[]:e.map(t=>this.translateTriple(t))}translatePredicate(e){return"type"in e&&e.type==="path"?this.translatePropertyPath(e):this.translateTripleElement(e)}translatePropertyPath(e){if(!("pathType"in e)||!e.pathType)throw new an.AlgebraTranslatorError("Property path must have pathType");if(!("items"in e)||!Array.isArray(e.items))throw new an.AlgebraTranslatorError("Property path must have items array");let t=e.items.map(r=>this.translatePathItem(r));switch(e.pathType){case"/":return{type:"path",pathType:"/",items:t};case"|":return{type:"path",pathType:"|",items:t};case"^":if(t.length!==1)throw new an.AlgebraTranslatorError("Inverse path must have exactly one item");return{type:"path",pathType:"^",items:[t[0]]};case"+":if(t.length!==1)throw new an.AlgebraTranslatorError("OneOrMore path must have exactly one item");return{type:"path",pathType:"+",items:[t[0]]};case"*":if(t.length!==1)throw new an.AlgebraTranslatorError("ZeroOrMore path must have exactly one item");return{type:"path",pathType:"*",items:[t[0]]};case"?":if(t.length!==1)throw new an.AlgebraTranslatorError("ZeroOrOne path must have exactly one item");return{type:"path",pathType:"?",items:[t[0]]};default:throw new an.AlgebraTranslatorError(`Unsupported property path type: ${e.pathType}`)}}translatePathItem(e){if("type"in e&&e.type==="path")return this.translatePropertyPath(e);if("termType"in e&&e.termType==="NamedNode")return{type:"iri",value:e.value};let t="type"in e?e.type:"termType"in e?e.termType:"unknown";throw new an.AlgebraTranslatorError(`Unsupported path item type: ${String(t)}`)}translateTripleElement(e){if(!e||!("termType"in e))throw new an.AlgebraTranslatorError("Triple element must have termType");switch(e.termType){case"Variable":return{type:"variable",value:e.value};case"NamedNode":return{type:"iri",value:e.value};case"Literal":{let t={type:"literal",value:e.value,datatype:e.datatype?.value,language:e.language};if(e.language){let r=this.directionMappings.get(e.language.toLowerCase());r&&(t.direction=r)}return t}case"BlankNode":return{type:"blank",value:e.value};case"Quad":return this.translateQuotedTriple(e);default:throw new an.AlgebraTranslatorError(`Unsupported term type: ${e.termType}`)}}translateQuotedTriple(e){if(!e.subject||!e.predicate||!e.object)throw new an.AlgebraTranslatorError("Quoted triple must have subject, predicate, and object");return{type:"quoted",subject:this.translateTripleElement(e.subject),predicate:this.translateQuotedTriplePredicate(e.predicate),object:this.translateTripleElement(e.object)}}translateQuotedTriplePredicate(e){if(!e||!("termType"in e))throw new an.AlgebraTranslatorError("Quoted triple predicate must have termType");switch(e.termType){case"Variable":return{type:"variable",value:e.value};case"NamedNode":return{type:"iri",value:e.value};default:throw new an.AlgebraTranslatorError(`Quoted triple predicate must be IRI or Variable, got: ${e.termType}`)}}};Hh.TripleTranslator=V_});var dA=S(Qh=>{"use strict";Object.defineProperty(Qh,"__esModule",{value:!0});Qh.ExpressionTranslator=void 0;var Pc=bo(),U_=class{static{o(this,"ExpressionTranslator")}constructor(e){this.translateWhereFn=e.translateWhere,this.translateBGPFn=e.translateBGP,this.translatePatternFn=e.translatePattern}translateExpression(e){if(!e)throw new Pc.AlgebraTranslatorError("Expression cannot be null or undefined");if("type"in e&&e.type==="operation")return this.translateOperationExpression(e);let t="type"in e?e.type:void 0;if(t==="functioncall"||t==="functionCall"){let r=e;return{type:"functionCall",function:r.function,args:r.args.map(i=>this.translateExpression(i))}}if("termType"in e)return this.translateTermExpression(e);throw new Pc.AlgebraTranslatorError(`Unsupported expression structure: ${JSON.stringify(e)}`)}translateFilter(e){if(!e.expression)throw new Pc.AlgebraTranslatorError("Filter pattern must have expression");let t={type:"bgp",triples:[]};return{type:"filter",expression:this.translateExpression(e.expression),input:t}}translateTermExpression(e){if(e.termType==="Variable")return{type:"variable",name:e.value};if(e.termType==="Literal"){let t=e.value;return e.datatype&&(e.datatype.value.includes("#integer")||e.datatype.value.includes("#decimal")?t=parseFloat(e.value):e.datatype.value.includes("#boolean")&&(t=e.value==="true")),{type:"literal",value:t,datatype:e.datatype?.value}}return{type:"literal",value:String(e.value||e)}}translateOperationExpression(e){let t=["=","!=","<",">","<=",">="],r=["&&","||","!"],i=["+","-","*","/"],s=e.args.filter(a=>!("patterns"in a)||"termType"in a);return t.includes(e.operator)?{type:"comparison",operator:e.operator,left:this.translateExpression(s[0]),right:this.translateExpression(s[1])}:r.includes(e.operator)?{type:"logical",operator:e.operator,operands:s.map(a=>this.translateExpression(a))}:i.includes(e.operator)?{type:"arithmetic",operator:e.operator,left:this.translateExpression(s[0]),right:this.translateExpression(s[1])}:e.operator==="exists"||e.operator==="notexists"?this.translateExistsExpression(e):e.operator==="in"||e.operator==="notin"?this.translateInExpression(e):{type:"function",function:e.operator,args:s.map(a=>this.translateExpression(a))}}translateExistsExpression(e){if(!e.args||e.args.length!==1)throw new Pc.AlgebraTranslatorError("EXISTS/NOT EXISTS must have exactly one pattern argument");let t=e.args[0],r;return t.type==="group"&&"patterns"in t&&t.patterns?r=this.translateWhereFn(t.patterns):t.type==="bgp"?r=this.translateBGPFn(t):r=this.translatePatternFn(t),{type:"exists",negated:e.operator==="notexists",pattern:r}}translateInExpression(e){if(!e.args||e.args.length!==2)throw new Pc.AlgebraTranslatorError("IN/NOT IN must have exactly 2 arguments (expression and list)");let t=e.args[0],r=e.args[1];if(!Array.isArray(r))throw new Pc.AlgebraTranslatorError("IN/NOT IN second argument must be an array of values");return{type:"in",expression:this.translateExpression(t),list:r.map(i=>this.translateExpression(i)),negated:e.operator==="notin"}}};Qh.ExpressionTranslator=U_});var mA=S(Yh=>{"use strict";Object.defineProperty(Yh,"__esModule",{value:!0});Yh.PatternTranslator=void 0;var hA=R_(),Pr=bo(),pA=zh(),q_=class{static{o(this,"PatternTranslator")}constructor(e){this.directionMappings=new Map,this.translateExpressionFn=e.translateExpression,this.translateSelectFn=e.translateSelect,this.translateBGPFn=e.translateBGP}setDirectionMappings(e){this.directionMappings=e}translateWhere(e){if(e.length===0)throw new Pr.AlgebraTranslatorError("Empty WHERE clause");let t=e.filter(a=>a.type==="filter"),r=e.filter(a=>a.type==="bind"),i=e.filter(a=>a.type!=="filter"&&a.type!=="bind"),s;if(i.length===0)s={type:"bgp",triples:[]};else if(i.length===1)if(i[0].type==="optional"){let a=i[0].expression;s={type:"leftjoin",left:{type:"bgp",triples:[]},right:this.translateWhere(i[0].patterns),expression:a?this.translateExpressionFn(a):void 0}}else s=this.translatePattern(i[0]);else{if(i[0].type==="optional"){let a=i[0].expression;s={type:"leftjoin",left:{type:"bgp",triples:[]},right:this.translateWhere(i[0].patterns),expression:a?this.translateExpressionFn(a):void 0}}else s=this.translatePattern(i[0]);for(let a=1;a<i.length;a++){let c=i[a];if(this.isLateralPattern(c)){let l=this.extractLateralSubquery(c),u=this.removeLateralMarker(l),f=this.translateSelectFn(u);s={type:"lateraljoin",left:s,right:f}}else if(c.type==="optional"){let l=c.expression;s={type:"leftjoin",left:s,right:this.translateWhere(c.patterns),expression:l?this.translateExpressionFn(l):void 0}}else{let l=this.translatePattern(c);s={type:"join",left:s,right:l}}}}for(let a of r)s=this.translateBind(a,s);for(let a of t)s={type:"filter",expression:this.translateExpressionFn(a.expression),input:s};return s}translatePattern(e){if(!e||!e.type)throw new Pr.AlgebraTranslatorError("Invalid pattern: missing type");switch(e.type){case"bgp":return this.translateBGPFn(e);case"filter":return this.translateFilter(e);case"optional":return this.translateOptional(e);case"union":return this.translateUnion(e);case"minus":return this.translateMinus(e);case"values":return this.translateValues(e);case"group":return this.translateWhere(e.patterns);case"query":return this.translateSubquery(e);case"service":return this.translateService(e);case"graph":return this.translateGraph(e);default:throw new Pr.AlgebraTranslatorError(`Unsupported pattern type: ${e.type}`)}}translateFilter(e){if(!e.expression)throw new Pr.AlgebraTranslatorError("Filter pattern must have expression");let t={type:"bgp",triples:[]};return{type:"filter",expression:this.translateExpressionFn(e.expression),input:t}}translateOptional(e){if(!e.patterns||e.patterns.length===0)throw new Pr.AlgebraTranslatorError("OPTIONAL pattern must have patterns");let t=e.expression;return{type:"leftjoin",left:{type:"bgp",triples:[]},right:this.translateWhere(e.patterns),expression:t?this.translateExpressionFn(t):void 0}}translateUnion(e){if(!e.patterns||e.patterns.length<2)throw new Pr.AlgebraTranslatorError("UNION pattern must have at least 2 patterns");let t=o(i=>i.type==="graph"?this.translateGraph(i):i.type==="service"?this.translateService(i):"patterns"in i&&i.patterns&&Array.isArray(i.patterns)?this.translateWhere(i.patterns):this.translateWhere([i]),"translateBranch"),r={type:"union",left:t(e.patterns[0]),right:t(e.patterns[1])};for(let i=2;i<e.patterns.length;i++)r={type:"union",left:r,right:t(e.patterns[i])};return r}translateMinus(e){if(!e.patterns||e.patterns.length===0)throw new Pr.AlgebraTranslatorError("MINUS pattern must have patterns");return{type:"minus",left:{type:"bgp",triples:[]},right:this.translateWhere(e.patterns)}}translateValues(e){if(!e.values||!Array.isArray(e.values))throw new Pr.AlgebraTranslatorError("VALUES pattern must have values array");let t=new Set;for(let i of e.values)for(let s of Object.keys(i)){let a=s.startsWith("?")?s.slice(1):s;t.add(a)}let r=e.values.map(i=>this.translateValuesBinding(i));return{type:"values",variables:Array.from(t),bindings:r}}translateValuesBinding(e){let t={};for(let[r,i]of Object.entries(e)){let s=r.startsWith("?")?r.slice(1):r,a=i;if(a)if(a.termType==="NamedNode")t[s]={type:"iri",value:a.value};else if(a.termType==="Literal"){let c=a,l={type:"literal",value:c.value,datatype:c.datatype?.value,language:c.language||void 0};if(c.language){let u=this.directionMappings.get(c.language.toLowerCase());u&&(l.direction=u)}t[s]=l}else throw new Pr.AlgebraTranslatorError(`Unsupported VALUES term type: ${a.termType}`)}return t}translateBind(e,t){if(!e.variable||!e.expression)throw new Pr.AlgebraTranslatorError("BIND pattern must have variable and expression");return{type:"extend",variable:e.variable.value,expression:this.translateExpressionFn(e.expression),input:t}}translateSubquery(e){if(e.queryType!=="SELECT")throw new Pr.AlgebraTranslatorError(`Only SELECT subqueries are supported, got: ${String(e.queryType)}`);let t=this.removeLateralMarker(e);return{type:"subquery",query:this.translateSelectFn(t)}}translateService(e){if(!e.name||e.name.termType!=="NamedNode")throw new Pr.AlgebraTranslatorError("SERVICE pattern must have a NamedNode endpoint");if(!e.patterns||!Array.isArray(e.patterns))throw new Pr.AlgebraTranslatorError("SERVICE pattern must have patterns array");return{type:"service",endpoint:e.name.value,pattern:this.translateWhere(e.patterns),silent:e.silent||!1}}translateGraph(e){if(!e.name)throw new Pr.AlgebraTranslatorError("GRAPH pattern must have a name (IRI or variable)");if(!e.patterns||!Array.isArray(e.patterns))throw new Pr.AlgebraTranslatorError("GRAPH pattern must have patterns array");let t;if(e.name.termType==="NamedNode")t={type:"iri",value:e.name.value};else if(e.name.termType==="Variable")t={type:"variable",value:e.name.value};else throw new Pr.AlgebraTranslatorError(`GRAPH pattern name must be NamedNode or Variable, got: ${e.name.termType}`);return{type:"graph",name:t,pattern:this.translateWhere(e.patterns)}}isLateralPattern(e){if(e.type==="query"&&this.isLateralSubquery(e))return!0;if(e.type==="group"&&e.patterns?.length===1){let t=e.patterns[0];if(t.type==="query"&&this.isLateralSubquery(t))return!0}return!1}extractLateralSubquery(e){if(e.type==="query")return e;if(e.type==="group"&&e.patterns?.length===1){let t=e.patterns[0];if(t.type==="query")return t}throw new Pr.AlgebraTranslatorError("Invalid lateral pattern structure")}isLateralSubquery(e){return!("queryType"in e)||e.queryType!=="SELECT"||!("variables"in e)||!e.variables?!1:e.variables.some(i=>(0,pA.isVariableTerm)(i)&&i.value===hA.LateralTransformer.LATERAL_MARKER)}removeLateralMarker(e){if(!("variables"in e)||!e.variables)return e;let t=e,r=t.variables;return{...t,variables:r.filter(i=>!((0,pA.isVariableTerm)(i)&&i.value===hA.LateralTransformer.LATERAL_MARKER))}}};Yh.PatternTranslator=q_});var yA=S(Kh=>{"use strict";Object.defineProperty(Kh,"__esModule",{value:!0});Kh.AggregateTranslator=void 0;var gA=bo(),ij=zh(),W_=class{static{o(this,"AggregateTranslator")}constructor(e){this.aggregateCounter=0,this.translateExpressionFn=e.translateExpression}resetCounter(){this.aggregateCounter=0}extractAggregatesWithMapping(e,t){if(!e)return[];let r=[];for(let i of e)(0,ij.isVariableExpression)(i)&&("type"in i.expression&&i.expression.type==="aggregate"?(r.push({variable:i.variable.value,expression:this.translateAggregateExpression(i.expression)}),t.set(i.expression,i.variable.value)):this.collectNestedAggregates(i.expression,r,t));return r}extractGroupVariables(e){return e?e.filter(t=>t.expression&&"termType"in t.expression&&t.expression.termType==="Variable").map(t=>t.expression.value):[]}extractHavingExpressions(e,t,r){if(!e||e.length===0)return[];for(let i of e)this.collectNestedAggregates(i,t,r);return e.map(i=>this.transformExpressionWithAggregateVars(i,r))}transformExpressionWithAggregateVars(e,t){let r=t.get(e);if(r!==void 0)return{type:"variable",name:r};if("type"in e&&e.type==="operation"&&"args"in e){let i=e,s=i.args.filter(u=>!Array.isArray(u)&&!("patterns"in u)).map(u=>this.transformExpressionWithAggregateVars(u,t)),a=["=","!=","<",">","<=",">="],c=["&&","||","!"],l=["+","-","*","/"];return a.includes(i.operator)?{type:"comparison",operator:i.operator,left:s[0],right:s[1]}:c.includes(i.operator)?{type:"logical",operator:i.operator,operands:s}:l.includes(i.operator)?{type:"arithmetic",operator:i.operator,left:s[0],right:s[1]}:{type:"function",function:i.operator,args:s}}return this.translateExpressionFn(e)}translateOrderComparator(e){return{expression:this.translateExpressionFn(e.expression),descending:e.descending||!1}}translateAggregateExpression(e){let t=e.aggregation,r=o(()=>{if(e.expression&&!("termType"in e.expression&&e.expression.termType==="Wildcard"))return this.translateExpressionFn(e.expression)},"translateInnerExpr");if(typeof t=="string"){let s=t.toLowerCase();return["count","sum","avg","min","max","group_concat","sample"].includes(s)?{type:"aggregate",aggregation:s,expression:r(),distinct:e.distinct||!1,separator:e.separator}:{type:"aggregate",aggregation:{type:"custom",iri:t},expression:r(),distinct:e.distinct||!1,separator:e.separator}}let i=t;if(i&&typeof i=="object"){let s,a=i;if(a.termType==="NamedNode"&&typeof a.value=="string")s=a.value;else if("value"in a)s=String(a.value);else throw new gA.AlgebraTranslatorError(`Invalid custom aggregate: expected IRI but got ${JSON.stringify(i)}`);return{type:"aggregate",aggregation:{type:"custom",iri:s},expression:r(),distinct:e.distinct||!1,separator:e.separator}}throw new gA.AlgebraTranslatorError(`Unknown aggregate format: ${JSON.stringify(t)}`)}collectNestedAggregates(e,t,r){if(e){if("type"in e&&e.type==="aggregate"){let i=`__agg${this.aggregateCounter++}`;t.push({variable:i,expression:this.translateAggregateExpression(e)}),r.set(e,i)}else if("type"in e&&e.type==="operation"&&"args"in e){let i=e;for(let s of i.args)!Array.isArray(s)&&"type"in s&&!("patterns"in s)?this.collectNestedAggregates(s,t,r):"termType"in s&&this.collectNestedAggregates(s,t,r)}}}};Kh.AggregateTranslator=W_});var Fc=S(va=>{"use strict";Object.defineProperty(va,"__esModule",{value:!0});va.AlgebraTranslator=va.ExoQLAlgebraTranslator=va.AlgebraTranslatorError=void 0;var Xh=bo(),Jh=zh(),sj=fA(),aj=dA(),oj=mA(),cj=yA(),lj=bo();Object.defineProperty(va,"AlgebraTranslatorError",{enumerable:!0,get:o(function(){return lj.AlgebraTranslatorError},"get")});var Zh=class{static{o(this,"ExoQLAlgebraTranslator")}constructor(){this.tripleTranslator=new sj.TripleTranslator,this.expressionTranslator=new aj.ExpressionTranslator({translateWhere:o(e=>this.patternTranslator.translateWhere(e),"translateWhere"),translateBGP:o(e=>this.tripleTranslator.translateBGP(e),"translateBGP"),translatePattern:o(e=>this.patternTranslator.translatePattern(e),"translatePattern")}),this.patternTranslator=new oj.PatternTranslator({translateExpression:o(e=>this.expressionTranslator.translateExpression(e),"translateExpression"),translateSelect:o(e=>this.translateSelect(e),"translateSelect"),translateBGP:o(e=>this.tripleTranslator.translateBGP(e),"translateBGP")}),this.aggregateTranslator=new cj.AggregateTranslator({translateExpression:o(e=>this.expressionTranslator.translateExpression(e),"translateExpression")})}setDirectionMappings(e){this.tripleTranslator.setDirectionMappings(e),this.patternTranslator.setDirectionMappings(e)}translate(e){if(e.type!=="query")throw new Xh.AlgebraTranslatorError("Only query operations are supported (not updates)");if(e.queryType==="SELECT")return this.translateSelect(e);if(e.queryType==="CONSTRUCT")return this.translateConstruct(e);if(e.queryType==="ASK")return this.translateAsk(e);if(e.queryType==="DESCRIBE")return this.translateDescribe(e);throw new Xh.AlgebraTranslatorError(`Query type ${String(e.queryType)} not yet supported`)}translateSelect(e){if(!e.where||e.where.length===0)throw new Xh.AlgebraTranslatorError("SELECT query must have WHERE clause");let t=this.patternTranslator.translateWhere(e.where);this.aggregateTranslator.resetCounter();let r=new Map,i=Array.isArray(e.variables)?e.variables.filter(l=>!("termType"in l&&l.termType==="Wildcard")):[],s=this.aggregateTranslator.extractAggregatesWithMapping(i,r),a=this.aggregateTranslator.extractGroupVariables(e.group),c=this.aggregateTranslator.extractHavingExpressions(e.having,s,r);if((s.length>0||a.length>0||c.length>0)&&(t={type:"group",variables:a,aggregates:s,having:c.length>0?c:void 0,input:t}),i.length>0){for(let u of i)if((0,Jh.isVariableExpression)(u)){if("type"in u.expression&&u.expression.type==="aggregate")continue;let f=this.aggregateTranslator.transformExpressionWithAggregateVars(u.expression,r);t={type:"extend",variable:u.variable.value,expression:f,input:t}}let l=i.filter(u=>(0,Jh.isVariableTerm)(u)||(0,Jh.isVariableExpression)(u)).map(u=>(0,Jh.isVariableTerm)(u)?u.value:u.variable.value);l.length>0&&(t={type:"project",variables:l,input:t})}return e.distinct&&(t={type:"distinct",input:t}),e.reduced&&(t={type:"reduced",input:t}),e.order&&e.order.length>0&&(t={type:"orderby",comparators:e.order.map(l=>this.aggregateTranslator.translateOrderComparator(l)),input:t}),(e.limit!==void 0||e.offset!==void 0)&&(t={type:"slice",limit:e.limit,offset:e.offset,input:t}),t}translateConstruct(e){let t=this.tripleTranslator.translateConstructTemplate(e.template??[]);if(!e.where||e.where.length===0)throw new Xh.AlgebraTranslatorError("CONSTRUCT query must have WHERE clause");let r=this.patternTranslator.translateWhere(e.where),i=e;return(i.limit!==void 0||i.offset!==void 0)&&(r={type:"slice",limit:i.limit,offset:i.offset,input:r}),{type:"construct",template:t,where:r}}translateAsk(e){return{type:"ask",where:e.where&&e.where.length>0?this.patternTranslator.translateWhere(e.where):{type:"bgp",triples:[]}}}translateDescribe(e){let t=[];if(e.variables&&Array.isArray(e.variables)){let s=e.variables;for(let a of s)a.termType==="Wildcard"||a.value==="*"||(a.termType==="Variable"?t.push({type:"variable",value:a.value}):a.termType==="NamedNode"&&t.push({type:"iri",value:a.value}))}let r;e.where&&e.where.length>0&&(r=this.patternTranslator.translateWhere(e.where));let i=e.describeOptions;return{type:"describe",resources:t,where:r,depth:i?.depth,symmetric:i?.symmetric}}};va.ExoQLAlgebraTranslator=Zh;va.AlgebraTranslator=Zh});var rs=S(ep=>{"use strict";Object.defineProperty(ep,"__esModule",{value:!0});ep.SolutionMapping=void 0;var _A=Ve(),SA=xe(),bA=qt(),G_=class n{static{o(this,"SolutionMapping")}constructor(e){this.bindings=e?new Map(e):new Map}get(e){return this.bindings.get(e)}set(e,t){this.bindings.set(e,t)}has(e){return this.bindings.has(e)}variables(){return Array.from(this.bindings.keys())}getBindings(){return new Map(this.bindings)}isCompatibleWith(e){for(let[t,r]of this.bindings.entries()){let i=e.get(t);if(i!==void 0&&!this.areEqual(r,i))return!1}return!0}merge(e){if(!this.isCompatibleWith(e))return null;let t=new n(this.bindings);for(let[r,i]of e.getBindings().entries())t.set(r,i);return t}clone(){return new n(this.bindings)}areEqual(e,t){return e instanceof _A.Literal&&t instanceof _A.Literal?e.equals(t):e instanceof SA.IRI&&t instanceof SA.IRI?e.value===t.value:e instanceof bA.BlankNode&&t instanceof bA.BlankNode?e.id===t.id:!1}toJSON(){let e={};for(let[t,r]of this.bindings.entries())e[t]=r.toString();return e}size(){return this.bindings.size}};ep.SolutionMapping=G_});var wA=S(Dc=>{"use strict";Object.defineProperty(Dc,"__esModule",{value:!0});Dc.PropertyPathExecutor=Dc.PropertyPathExecutorError=void 0;var uj=rs(),tp=xe(),vA=qt(),fj=Ve(),ju=class extends Error{static{o(this,"PropertyPathExecutorError")}constructor(e,t){super(e,t?{cause:t}:void 0),this.name="PropertyPathExecutorError"}};Dc.PropertyPathExecutorError=ju;var z_=class{static{o(this,"PropertyPathExecutor")}constructor(e){this.tripleStore=e,this.MAX_DEPTH=100}async*execute(e,t,r){if(this.isLiteralElement(e)||this.isLiteralElement(r)){let a=this.isLiteralElement(e)?"subject":"object",c=this.isLiteralElement(e)?e:r,l="value"in c?String(c.value):"<unknown>",u=l.length>80?`${l.slice(0,77)}...`:l;console.warn(`[PropertyPathExecutor] literal-safety guard fired: literal in ${a} position \u2014 yielding 0 solutions. value="${u}"`);return}let i=await this.resolveElement(e),s=this.isVariable(r)?null:await this.resolveElement(r);for(let a of i){let c=await this.evaluatePath(a,t,s);for(let l of c){let u=new uj.SolutionMapping;this.isVariable(e)&&u.set(e.value,a),this.isVariable(r)&&u.set(r.value,l),yield u}}}async*executeWithBindings(e,t){if(!this.isPropertyPath(e.predicate))throw new ju("Predicate is not a property path");let r=this.instantiateElement(e.subject,t),i=this.instantiateElement(e.object,t);for await(let s of this.execute(r,e.predicate,i)){let a=t.merge(s);a!==null&&(yield a)}}async evaluatePath(e,t,r){switch(t.pathType){case"/":return this.evaluateSequencePath(e,t.items,r);case"|":return this.evaluateAlternativePath(e,t.items,r);case"^":return this.evaluateInversePath(e,t.items[0],r);case"+":return this.evaluateOneOrMorePath(e,t.items[0],r);case"*":return this.evaluateZeroOrMorePath(e,t.items[0],r);case"?":return this.evaluateZeroOrOnePath(e,t.items[0],r)}}async evaluateSequencePath(e,t,r){let i=new Set([e]);for(let s=0;s<t.length;s++){let a=t[s],c=s===t.length-1,l=new Set;for(let u of i){let f=await this.evaluatePathItem(u,a,c?r:null);for(let d of f)l.add(d)}if(i=l,i.size===0)break}return i}async evaluateAlternativePath(e,t,r){let i=new Set;for(let s of t){let a=await this.evaluatePathItem(e,s,r);for(let c of a)i.add(c)}return i}async evaluateInversePath(e,t,r){if(t.type==="iri"){let i=new tp.IRI(t.value),s=await this.tripleStore.match(void 0,i,e),a=new Set;for(let c of s)(r===null||this.nodeInSet(c.subject,r))&&a.add(c.subject);return a}else return this.evaluatePath(e,this.invertPath(t),r)}async evaluateOneOrMorePath(e,t,r){let i=new Set,s=new Set,a=[{node:e,depth:0}];for(;a.length>0;){let c=a.shift();if(!c)break;let{node:l,depth:u}=c;if(u>=this.MAX_DEPTH)continue;let f=await this.evaluatePathItem(l,t,null);for(let d of f){let h=this.nodeToKey(d);(r===null||this.nodeInSet(d,r))&&s.add(d),i.has(h)||(i.add(h),a.push({node:d,depth:u+1}))}}return s}async evaluateZeroOrMorePath(e,t,r){let i=await this.evaluateOneOrMorePath(e,t,r);return(r===null||this.nodeInSet(e,r))&&i.add(e),i}async evaluateZeroOrOnePath(e,t,r){let i=new Set;(r===null||this.nodeInSet(e,r))&&i.add(e);let s=await this.evaluatePathItem(e,t,r);for(let a of s)i.add(a);return i}async evaluatePathItem(e,t,r){if(t.type==="iri"){let i=new tp.IRI(t.value),s=await this.tripleStore.match(e,i,void 0),a=new Set;for(let c of s)(r===null||this.nodeInSet(c.object,r))&&a.add(c.object);return a}else return this.evaluatePath(e,t,r)}invertPath(e){switch(e.pathType){case"^":return e.items[0];case"/":return{type:"path",pathType:"/",items:[...e.items].reverse().map(t=>t.type==="iri"?{type:"path",pathType:"^",items:[t]}:this.invertPath(t))};case"|":return{type:"path",pathType:"|",items:e.items.map(t=>t.type==="iri"?{type:"path",pathType:"^",items:[t]}:this.invertPath(t))};case"+":case"*":case"?":{let t=e.items[0].type==="iri"?{type:"path",pathType:"^",items:[e.items[0]]}:this.invertPath(e.items[0]);return{type:"path",pathType:e.pathType,items:[t]}}}}async resolveElement(e){if(this.isVariable(e)){let r=new Set,i=await this.tripleStore.match(void 0,void 0,void 0);for(let s of i)r.add(s.subject),r.add(s.object);return r}let t=new Set;switch(e.type){case"iri":t.add(new tp.IRI(e.value));break;case"blank":t.add(new vA.BlankNode(e.value));break;default:throw new ju(`Unsupported element type in subject/object position: ${e.type}`)}return t}instantiateElement(e,t){if(this.isVariable(e)){let r=t.get(e.value);if(r){if(r instanceof tp.IRI)return{type:"iri",value:r.value};if(r instanceof vA.BlankNode)return{type:"blank",value:r.id};if(r instanceof fj.Literal)return{type:"literal",value:r.value,datatype:r.datatype?.value,language:r.language,direction:r.direction}}}return e}isVariable(e){return e.type==="variable"}isLiteralElement(e){return e.type==="literal"}isPropertyPath(e){return e.type==="path"}nodeToKey(e){return e.toString()}nodeInSet(e,t){let r=this.nodeToKey(e);for(let i of t)if(this.nodeToKey(i)===r)return!0;return!1}};Dc.PropertyPathExecutor=z_});var Y_=S(Nc=>{"use strict";Object.defineProperty(Nc,"__esModule",{value:!0});Nc.BGPExecutor=Nc.BGPExecutorError=void 0;var rp=rs(),wa=xe(),H_=Ve(),np=qt(),ip=bu(),dj=wA(),Ur=class extends Error{static{o(this,"BGPExecutorError")}constructor(e,t){super(e,t?{cause:t}:void 0),this.name="BGPExecutorError"}};Nc.BGPExecutorError=Ur;var Q_=class{static{o(this,"BGPExecutor")}constructor(e){this.tripleStore=e,this.propertyPathExecutor=new dj.PropertyPathExecutor(e)}async*execute(e){if(e.triples.length===0){yield new rp.SolutionMapping;return}let t=this.matchTriplePattern(e.triples[0]);for(let r=1;r<e.triples.length;r++)t=this.joinWithPattern(t,e.triples[r]);for await(let r of t)yield r}async executeAll(e){let t=[];for await(let r of this.execute(e))t.push(r);return t}async*executeInGraph(e,t){if(e.triples.length===0){yield new rp.SolutionMapping;return}let r=this.matchTriplePatternInGraph(e.triples[0],t);for(let i=1;i<e.triples.length;i++)r=this.joinWithPatternInGraph(r,e.triples[i],t);for await(let i of r)yield i}async*matchTriplePatternInGraph(e,t){if(this.isPropertyPath(e.predicate))throw new Ur("Property paths within named graphs are not yet supported");let r=e.predicate;if(this.isLiteral(e.subject)||this.isLiteral(r)){this.warnLiteralGuard("matchTriplePatternInGraph",this.isLiteral(e.subject)?"subject":"predicate",this.isLiteral(e.subject)?e.subject:r);return}let i=this.isVariable(e.subject)?void 0:this.toRDFTermAsSubject(e.subject),s=this.isVariable(r)?void 0:this.toRDFTermAsPredicate(r),a=this.isVariable(e.object)?void 0:this.toRDFTerm(e.object);if(!this.tripleStore.matchInGraph)throw new Ur("Triple store does not support named graph operations");let c=await this.tripleStore.matchInGraph(i,s,a,t);for(let l of c){let u=new rp.SolutionMapping;this.isVariable(e.subject)&&u.set(e.subject.value,l.subject),this.isVariable(r)&&u.set(r.value,l.predicate),this.isVariable(e.object)&&u.set(e.object.value,l.object),yield u}}async*joinWithPatternInGraph(e,t,r){let i=[];for await(let s of e)i.push(s);for(let s of i){let a=this.instantiatePattern(t,s);for await(let c of this.matchTriplePatternInGraph(a,r)){let l=s.merge(c);l!==null&&(yield l)}}}async*matchTriplePattern(e){if(this.isPropertyPath(e.predicate)){if(this.isLiteral(e.subject)||this.isLiteral(e.object)){this.warnLiteralGuard("matchTriplePattern.propertyPath",this.isLiteral(e.subject)?"subject":"object",this.isLiteral(e.subject)?e.subject:e.object);return}yield*this.propertyPathExecutor.execute(e.subject,e.predicate,e.object);return}let t=e.predicate;if(this.isLiteral(e.subject)||this.isLiteral(t)){this.warnLiteralGuard("matchTriplePattern",this.isLiteral(e.subject)?"subject":"predicate",this.isLiteral(e.subject)?e.subject:t);return}let r=this.isVariable(e.subject)||this.isQuotedTriple(e.subject)&&this.hasVariablesInQuotedTriple(e.subject)?void 0:this.toRDFTermAsSubject(e.subject),i=this.isVariable(t)?void 0:this.toRDFTermAsPredicate(t),s=this.isVariable(e.object)||this.isQuotedTriple(e.object)&&this.hasVariablesInQuotedTriple(e.object)?void 0:this.toRDFTerm(e.object),a=await this.tripleStore.match(r,i,s);for(let c of a){let l=new rp.SolutionMapping;if(this.isVariable(e.subject))l.set(e.subject.value,c.subject);else if(this.isQuotedTriple(e.subject)){let u=this.matchQuotedTriplePattern(e.subject,c.subject);if(u===null)continue;for(let[f,d]of u.entries())l.set(f,d)}if(this.isVariable(t)&&l.set(t.value,c.predicate),this.isVariable(e.object))l.set(e.object.value,c.object);else if(this.isQuotedTriple(e.object)){let u=this.matchQuotedTriplePattern(e.object,c.object);if(u===null)continue;for(let[f,d]of u.entries())l.set(f,d)}yield l}}hasVariablesInQuotedTriple(e){return!!(this.isVariable(e.subject)||e.predicate.type==="variable"||this.isVariable(e.object)||this.isQuotedTriple(e.subject)&&this.hasVariablesInQuotedTriple(e.subject)||this.isQuotedTriple(e.object)&&this.hasVariablesInQuotedTriple(e.object))}matchQuotedTriplePattern(e,t){if(!(t instanceof ip.QuotedTriple))return null;let r=new Map;if(this.isVariable(e.subject))r.set(e.subject.value,t.subject);else if(this.isQuotedTriple(e.subject)){let i=this.matchQuotedTriplePattern(e.subject,t.subject);if(i===null)return null;for(let[s,a]of i)r.set(s,a)}else if(!this.elementsMatch(e.subject,t.subject))return null;if(e.predicate.type==="variable")r.set(e.predicate.value,t.predicate);else if(e.predicate.value!==t.predicate.value)return null;if(this.isVariable(e.object))r.set(e.object.value,t.object);else if(this.isQuotedTriple(e.object)){let i=this.matchQuotedTriplePattern(e.object,t.object);if(i===null)return null;for(let[s,a]of i)r.set(s,a)}else if(!this.elementsMatch(e.object,t.object))return null;return r}elementsMatch(e,t){switch(e.type){case"iri":return t instanceof wa.IRI&&e.value===t.value;case"literal":return!(!(t instanceof H_.Literal)||e.value!==t.value||e.datatype!==t.datatype?.value||e.language!==t.language||e.direction!==t.direction);case"blank":return t instanceof np.BlankNode&&e.value===t.id;case"quoted":return t instanceof ip.QuotedTriple?this.toRDFQuotedTriple(e).equals(t):!1;default:return!1}}isPropertyPath(e){return e.type==="path"}async*joinWithPattern(e,t){let r=[];for await(let i of e)r.push(i);for(let i of r){let s=this.instantiatePattern(t,i);for await(let a of this.matchTriplePattern(s)){let c=i.merge(a);c!==null&&(yield c)}}}instantiatePattern(e,t){let r=this.isPropertyPath(e.predicate)?e.predicate:this.instantiateElement(e.predicate,t);return{subject:this.instantiateElement(e.subject,t),predicate:r,object:this.instantiateElement(e.object,t)}}instantiateElement(e,t){if(this.isVariable(e)){let r=t.get(e.value);if(r)return this.toAlgebraElement(r)}return this.isQuotedTriple(e)?this.instantiateQuotedTriple(e,t):e}instantiateQuotedTriple(e,t){let r=this.instantiateElement(e.subject,t),i=e.predicate.type==="variable"?this.instantiatePredicateVariable(e.predicate,t):e.predicate,s=this.instantiateElement(e.object,t);return{type:"quoted",subject:r,predicate:i,object:s}}instantiatePredicateVariable(e,t){let r=t.get(e.value);return r&&r instanceof wa.IRI?{type:"iri",value:r.value}:e}isVariable(e){return e.type==="variable"}isQuotedTriple(e){return e.type==="quoted"}isLiteral(e){return e.type==="literal"}warnLiteralGuard(e,t,r){let i="value"in r?String(r.value):"<unknown>",s=i.length>80?`${i.slice(0,77)}...`:i;console.warn(`[BGPExecutor] literal-safety guard fired in ${e}: literal in ${t} position \u2014 yielding 0 solutions. value="${s}"`)}toRDFTermAsSubject(e){switch(e.type){case"iri":return new wa.IRI(e.value);case"blank":return new np.BlankNode(e.value);case"literal":throw new Ur("Literals cannot appear in subject position");case"variable":throw new Ur(`Cannot convert variable to RDF term: ${e.value}`);case"quoted":return this.toRDFQuotedTriple(e);default:throw new Ur(`Unknown element type: ${String(e)}`)}}toRDFQuotedTriple(e){let t=this.toRDFTermAsSubject(e.subject),r=e.predicate.type==="iri"?new wa.IRI(e.predicate.value):(()=>{throw new Ur("Quoted triple predicate must be IRI")})(),i=this.toRDFTerm(e.object);return new ip.QuotedTriple(t,r,i)}toRDFTermAsPredicate(e){switch(e.type){case"iri":return new wa.IRI(e.value);case"literal":throw new Ur("Literals cannot appear in predicate position");case"blank":throw new Ur("Blank nodes cannot appear in predicate position");case"variable":throw new Ur(`Cannot convert variable to RDF term: ${e.value}`);default:throw new Ur(`Unknown element type: ${String(e)}`)}}toRDFTerm(e){switch(e.type){case"iri":return new wa.IRI(e.value);case"literal":return new H_.Literal(e.value,e.datatype?new wa.IRI(e.datatype):void 0,e.language,e.direction);case"blank":return new np.BlankNode(e.value);case"variable":throw new Ur(`Cannot convert variable to RDF term: ${e.value}`);case"quoted":return this.toRDFQuotedTriple(e);default:throw new Ur(`Unknown element type: ${String(e)}`)}}toAlgebraElement(e){if(e instanceof wa.IRI)return{type:"iri",value:e.value};if(e instanceof H_.Literal)return{type:"literal",value:e.value,datatype:e.datatype?.value,language:e.language,direction:e.direction};if(e instanceof np.BlankNode)return{type:"blank",value:e.id};if(e instanceof ip.QuotedTriple)return this.toAlgebraQuotedTriple(e);throw new Ur(`Unknown RDF term type: ${String(e)}`)}toAlgebraQuotedTriple(e){return{type:"quoted",subject:this.toAlgebraElement(e.subject),predicate:{type:"iri",value:e.predicate.value},object:this.toAlgebraElement(e.object)}}};Nc.BGPExecutor=Q_});var EA=S(sp=>{"use strict";Object.defineProperty(sp,"__esModule",{value:!0});sp.StringFunctions=void 0;var Lc=xe(),Ea=Ve(),K_=qt(),$u=class n{static{o(this,"StringFunctions")}static str(e){if(e===void 0)throw new Error("STR: argument is undefined");return e instanceof Lc.IRI||e instanceof Ea.Literal?e.value:e instanceof K_.BlankNode?e.id:String(e)}static lang(e){if(e===void 0)throw new Error("LANG: argument is undefined");return e instanceof Ea.Literal&&e.language?e.language:""}static langdir(e){if(e===void 0)throw new Error("LANGDIR: argument is undefined");return!(e instanceof Ea.Literal)||!e.language?"":e.direction?`${e.language}--${e.direction}`:e.language}static langMatches(e,t){let[r,i]=n.parseDirectionalLangTag(e),[s,a]=n.parseDirectionalLangTag(t),c=r.toLowerCase(),l=s.toLowerCase();return l==="*"?c!=="":c===""?l==="":a&&i!==a?!1:c===l?!0:c.startsWith(l+"-")}static parseDirectionalLangTag(e){let t=e.indexOf("--");if(t===-1)return[e,void 0];let r=e.substring(0,t),i=e.substring(t+2).toLowerCase();return[r,i]}static regex(e,t,r){try{let i=r?r.includes("u")?r:r+"u":"u";return new RegExp(t,i).test(e)}catch(i){throw new Error(`REGEX: invalid pattern '${t}': ${i.message}`)}}static contains(e,t){return e.includes(t)}static strStarts(e,t){return e.startsWith(t)}static strEnds(e,t){return e.endsWith(t)}static strlen(e){return e.length}static ucase(e){return e.toUpperCase()}static lcase(e){return e.toLowerCase()}static substr(e,t,r){let i=t-1;if(i<0){if(r!==void 0){let s=r+i;return s<=0?"":e.substring(0,s)}return e}return r!==void 0?e.substring(i,i+r):e.substring(i)}static strBefore(e,t){if(t==="")return"";let r=e.indexOf(t);return r===-1?"":e.substring(0,r)}static strAfter(e,t){if(t==="")return e;let r=e.indexOf(t);return r===-1?"":e.substring(r+t.length)}static concat(...e){return e.join("")}static replace(e,t,r,i){try{let s=i||"g",a=s.includes("u")?s:s+"u",c=new RegExp(t,a);return e.replace(c,r)}catch(s){throw new Error(`REPLACE: invalid pattern '${t}': ${s.message}`)}}static encodeForUri(e){return encodeURIComponent(e)}static normalize(e,t){if(e===void 0)throw new Error("NORMALIZE: string argument is undefined");let r;if(e instanceof Ea.Literal)r=e.value;else if(e instanceof Lc.IRI)r=e.value;else if(e instanceof K_.BlankNode)r=e.id;else if(typeof e=="string")r=e;else throw new Error("NORMALIZE: first argument must be a string or literal");let i="NFC";if(t!==void 0)if(t instanceof Ea.Literal)i=t.value.toUpperCase();else if(typeof t=="string")i=t.toUpperCase();else if(t instanceof Lc.IRI)i=t.value.toUpperCase();else throw new Error("NORMALIZE: second argument must be a string literal");if(!n.VALID_NORMALIZATION_FORMS.includes(i))throw new Error(`NORMALIZE: invalid normalization form '${i}'. Valid forms are: NFC, NFD, NFKC, NFKD`);let s=r.normalize(i);return new Ea.Literal(s,new Lc.IRI("http://www.w3.org/2001/XMLSchema#string"))}static fold(e){if(e===void 0)throw new Error("FOLD: string argument is undefined");let t;if(e instanceof Ea.Literal)t=e.value;else if(e instanceof Lc.IRI)t=e.value;else if(e instanceof K_.BlankNode)t=e.id;else if(typeof e=="string")t=e;else throw new Error("FOLD: argument must be a string or literal");let r=n.unicodeCaseFold(t);return new Ea.Literal(r,new Lc.IRI("http://www.w3.org/2001/XMLSchema#string"))}static unicodeCaseFold(e){let t="";for(let r of e){let i=n.CASE_FOLDING_MAP.get(r);i!==void 0?t+=i:t+=r.toLowerCase()}return t}};sp.StringFunctions=$u;$u.VALID_NORMALIZATION_FORMS=["NFC","NFD","NFKC","NFKD"];$u.CASE_FOLDING_MAP=new Map([["\xDF","ss"],["\u1E9E","ss"],["\u03A3","\u03C3"],["\u03C2","\u03C3"],["\u0130","i\u0307"],["I","i"],["\u0587","\u0565\u0582"],["\uFB00","ff"],["\uFB01","fi"],["\uFB02","fl"],["\uFB03","ffi"],["\uFB04","ffl"],["\uFB05","st"],["\uFB06","st"],["\u0390","\u03B9\u0308\u0301"],["\u03B0","\u03C5\u0308\u0301"],["\u017F","s"],["\u1E9B","\u1E61"],["\u212A","k"],["\u212B","\xE5"]])});var TA=S(ap=>{"use strict";Object.defineProperty(ap,"__esModule",{value:!0});ap.MathFunctions=void 0;var X_=class{static{o(this,"MathFunctions")}static msToMinutes(e){return Math.round(e/(1e3*60))}static msToHours(e){return Math.round(e/(1e3*60*60)*100)/100}static msToSeconds(e){return Math.round(e/1e3)}static abs(e){return Math.abs(e)}static round(e){return Math.round(e)}static ceil(e){return Math.ceil(e)}static floor(e){return Math.floor(e)}static rand(){return Math.random()}};ap.MathFunctions=X_});var cp=S(op=>{"use strict";Object.defineProperty(op,"__esModule",{value:!0});op.DateTimeParsing=void 0;var hj=xe(),pj=Ve(),J_=class n{static{o(this,"DateTimeParsing")}static parseDate(e){let t=new Date(e);if(isNaN(t.getTime()))throw new Error(`PARSEDATE: invalid date string '${e}'`);return t.getTime()}static parseDayTimeDuration(e){if(!e)throw new Error("parseDayTimeDuration: duration string is empty");let t=!1,r=e.trim();if(r.startsWith("-")&&(t=!0,r=r.substring(1)),!r.startsWith("P"))throw new Error(`parseDayTimeDuration: invalid format, must start with 'P': '${e}'`);r=r.substring(1);let i=0,s=r.indexOf("T"),a="",c="";if(s===-1?a=r:(a=r.substring(0,s),c=r.substring(s+1)),a){let l=a.match(/^(\d+(?:\.\d+)?)D$/);if(l){let u=parseFloat(l[1]);i+=u*24*60*60*1e3}else if(a!=="")throw new Error(`parseDayTimeDuration: invalid day component: '${a}' in '${e}'`)}if(c){let l=c,u=l.match(/^(\d+(?:\.\d+)?)H/);if(u){let h=parseFloat(u[1]);i+=h*60*60*1e3,l=l.substring(u[0].length)}let f=l.match(/^(\d+(?:\.\d+)?)M/);if(f){let h=parseFloat(f[1]);i+=h*60*1e3,l=l.substring(f[0].length)}let d=l.match(/^(\d+(?:\.\d+)?)S$/);if(d){let h=parseFloat(d[1]);i+=h*1e3,l=l.substring(d[0].length)}if(l!=="")throw new Error(`parseDayTimeDuration: invalid time component: '${l}' in '${e}'`)}return t?-i:i}static formatDayTimeDuration(e){let t=e<0,r=Math.abs(e),i=Math.floor(r/(1440*60*1e3));r=r%(1440*60*1e3);let s=Math.floor(r/(3600*1e3));r=r%(3600*1e3);let a=Math.floor(r/(60*1e3));r=r%(60*1e3);let c=r/1e3,l=t?"-P":"P";return i>0&&(l+=`${i}D`),(s>0||a>0||c>0||i===0)&&(l+="T",s>0&&(l+=`${s}H`),a>0&&(l+=`${a}M`),(c>0||s===0&&a===0)&&(Number.isInteger(c)?l+=`${c}S`:l+=`${parseFloat(c.toFixed(3))}S`)),l}static xsdDayTimeDuration(e){return n.parseDayTimeDuration(e),new pj.Literal(e,new hj.IRI("http://www.w3.org/2001/XMLSchema#dayTimeDuration"))}static parseXSDDate(e){let t=/^(-?\d{4})-(\d{2})-(\d{2})(Z|[+-]\d{2}:\d{2})?$/,r=e.match(t);if(!r){let u=new Date(e);return isNaN(u.getTime())?null:new Date(Date.UTC(u.getUTCFullYear(),u.getUTCMonth(),u.getUTCDate()))}let i=parseInt(r[1],10),s=parseInt(r[2],10)-1,a=parseInt(r[3],10),c=r[4],l=new Date(Date.UTC(i,s,a));if(c&&c!=="Z"){let u=c.match(/([+-])(\d{2}):(\d{2})/);if(u){let f=u[1]==="+"?1:-1,d=parseInt(u[2],10),h=parseInt(u[3],10),p=f*(d*60+h)*60*1e3;l=new Date(l.getTime()-p)}}return l}static parseXSDTime(e){let t=/^(\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?(Z|[+-]\d{2}:\d{2})?$/,r=e.match(t);if(!r)return null;let i=parseInt(r[1],10),s=parseInt(r[2],10),a=parseInt(r[3],10),c=r[4],l=r[5];if(i<0||i>24||s<0||s>59||a<0||a>59||i===24&&(s!==0||a!==0))return null;let u=0;if(c){let d=c.padEnd(3,"0").slice(0,3);u=parseInt(d,10)}let f=i*60*60*1e3+s*60*1e3+a*1e3+u;if(i===24&&(f=1440*60*1e3),l&&l!=="Z"){let d=l.match(/([+-])(\d{2}):(\d{2})/);if(d){let h=d[1]==="+"?1:-1,p=parseInt(d[2],10),_=parseInt(d[3],10),b=h*(p*60+_)*60*1e3;f-=b}}return f}static formatDateDuration(e){if(e===0)return"P0D";let t=e<0,r=Math.abs(e);return t?`-P${r}D`:`P${r}D`}static parseYearMonthDuration(e){let t=/^(-)?P(?:(\d+)Y)?(?:(\d+)M)?$/,r=e.match(t);if(!r)throw new Error(`parseYearMonthDuration: invalid format: '${e}'`);let i=r[1]==="-",s=parseInt(r[2]||"0",10),a=parseInt(r[3]||"0",10);if(!r[2]&&!r[3])throw new Error(`parseYearMonthDuration: invalid format (no duration components): '${e}'`);let c=s*12+a;return i?-c:c}static formatYearMonthDuration(e){let t=e<0,r=Math.abs(e),i=Math.floor(r/12),s=r%12,a=t?"-P":"P";return i>0&&(a+=`${i}Y`),(s>0||i===0)&&(a+=`${s}M`),a}static parseYearMonthDurationComponents(e){let t=/^(-)?P(?:(\d+)Y)?(?:(\d+)M)?$/,r=e.match(t);if(!r)throw new Error(`parseYearMonthDurationComponents: invalid format: '${e}'`);let i=r[1]==="-",s=parseInt(r[2]||"0",10),a=parseInt(r[3]||"0",10);if(!r[2]&&!r[3])throw new Error(`parseYearMonthDurationComponents: invalid format (no duration components): '${e}'`);return{years:s,months:a,negative:i}}static parseDurationComponents(e){if(!e)throw new Error("parseDurationComponents: duration string is empty");let t=!1,r=e.trim();if(r.startsWith("-")&&(t=!0,r=r.substring(1)),!r.startsWith("P"))throw new Error(`parseDurationComponents: invalid format, must start with 'P': '${e}'`);r=r.substring(1);let i=0,s=0,a=0,c=0,l=r.indexOf("T"),u="",f="";if(l===-1?u=r:(u=r.substring(0,l),f=r.substring(l+1)),u){let d=u.match(/^(\d+(?:\.\d+)?)D$/);if(d)i=parseFloat(d[1]);else if(u!=="")throw new Error(`parseDurationComponents: invalid day component: '${u}' in '${e}'`)}if(f){let d=f,h=d.match(/^(\d+(?:\.\d+)?)H/);h&&(s=parseFloat(h[1]),d=d.substring(h[0].length));let p=d.match(/^(\d+(?:\.\d+)?)M/);p&&(a=parseFloat(p[1]),d=d.substring(p[0].length));let _=d.match(/^(\d+(?:\.\d+)?)S$/);if(_&&(c=parseFloat(_[1]),d=d.substring(_[0].length)),d!=="")throw new Error(`parseDurationComponents: invalid time component: '${d}' in '${e}'`)}return{negative:t,days:i,hours:s,minutes:a,seconds:c}}};op.DateTimeParsing=J_});var AA=S(lp=>{"use strict";Object.defineProperty(lp,"__esModule",{value:!0});lp.DateTimeArithmetic=void 0;var on=xe(),Ee=Ve(),Xe=cp(),Z_=class{static{o(this,"DateTimeArithmetic")}static dateTimeDiff(e,t){let r=e instanceof Ee.Literal?e.value:e,i=t instanceof Ee.Literal?t.value:t,s=new Date(r),a=new Date(i);if(isNaN(s.getTime()))throw new Error(`dateTimeDiff: invalid first dateTime: '${r}'`);if(isNaN(a.getTime()))throw new Error(`dateTimeDiff: invalid second dateTime: '${i}'`);let c=s.getTime()-a.getTime(),l=Xe.DateTimeParsing.formatDayTimeDuration(c);return new Ee.Literal(l,new on.IRI("http://www.w3.org/2001/XMLSchema#dayTimeDuration"))}static dateTimeAdd(e,t){let r=e instanceof Ee.Literal?e.value:e,i=t instanceof Ee.Literal?t.value:t,s=new Date(r);if(isNaN(s.getTime()))throw new Error(`dateTimeAdd: invalid dateTime: '${r}'`);let a=Xe.DateTimeParsing.parseDayTimeDuration(i),c=s.getTime()+a,l=new Date(c);return new Ee.Literal(l.toISOString(),new on.IRI("http://www.w3.org/2001/XMLSchema#dateTime"))}static dateTimeSubtract(e,t){let r=e instanceof Ee.Literal?e.value:e,i=t instanceof Ee.Literal?t.value:t,s=new Date(r);if(isNaN(s.getTime()))throw new Error(`dateTimeSubtract: invalid dateTime: '${r}'`);let a=Xe.DateTimeParsing.parseDayTimeDuration(i),c=s.getTime()-a,l=new Date(c);return new Ee.Literal(l.toISOString(),new on.IRI("http://www.w3.org/2001/XMLSchema#dateTime"))}static dateAdd(e,t){let r=e instanceof Ee.Literal?e.value:e,i=t instanceof Ee.Literal?t.value:t,s=Xe.DateTimeParsing.parseXSDDate(r);if(s===null)throw new Error(`dateAdd: invalid date: '${r}'`);let a=Xe.DateTimeParsing.parseDayTimeDuration(i),c=s.getTime()+a,l=new Date(c),u=l.getUTCFullYear(),f=String(l.getUTCMonth()+1).padStart(2,"0"),d=String(l.getUTCDate()).padStart(2,"0"),h=`${u}-${f}-${d}`;return new Ee.Literal(h,new on.IRI("http://www.w3.org/2001/XMLSchema#date"))}static dateSubtract(e,t){let r=e instanceof Ee.Literal?e.value:e,i=t instanceof Ee.Literal?t.value:t,s=Xe.DateTimeParsing.parseXSDDate(r);if(s===null)throw new Error(`dateSubtract: invalid date: '${r}'`);let a=Xe.DateTimeParsing.parseDayTimeDuration(i),c=s.getTime()-a,l=new Date(c),u=l.getUTCFullYear(),f=String(l.getUTCMonth()+1).padStart(2,"0"),d=String(l.getUTCDate()).padStart(2,"0"),h=`${u}-${f}-${d}`;return new Ee.Literal(h,new on.IRI("http://www.w3.org/2001/XMLSchema#date"))}static dateTimeAddYearMonth(e,t){let r=e instanceof Ee.Literal?e.value:e,i=t instanceof Ee.Literal?t.value:t,s=new Date(r);if(isNaN(s.getTime()))throw new Error(`dateTimeAddYearMonth: invalid dateTime: '${r}'`);let a=Xe.DateTimeParsing.parseYearMonthDuration(i),c=s.getUTCDate();return s.setUTCMonth(s.getUTCMonth()+a),s.getUTCDate()!==c&&s.setUTCDate(0),new Ee.Literal(s.toISOString(),new on.IRI("http://www.w3.org/2001/XMLSchema#dateTime"))}static dateTimeSubtractYearMonth(e,t){let r=e instanceof Ee.Literal?e.value:e,i=t instanceof Ee.Literal?t.value:t,s=new Date(r);if(isNaN(s.getTime()))throw new Error(`dateTimeSubtractYearMonth: invalid dateTime: '${r}'`);let a=Xe.DateTimeParsing.parseYearMonthDuration(i),c=s.getUTCDate();return s.setUTCMonth(s.getUTCMonth()-a),s.getUTCDate()!==c&&s.setUTCDate(0),new Ee.Literal(s.toISOString(),new on.IRI("http://www.w3.org/2001/XMLSchema#dateTime"))}static dateAddYearMonth(e,t){let r=e instanceof Ee.Literal?e.value:e,i=t instanceof Ee.Literal?t.value:t,s=Xe.DateTimeParsing.parseXSDDate(r);if(s===null)throw new Error(`dateAddYearMonth: invalid date: '${r}'`);let a=Xe.DateTimeParsing.parseYearMonthDuration(i),c=s.getUTCDate();s.setUTCMonth(s.getUTCMonth()+a),s.getUTCDate()!==c&&s.setUTCDate(0);let l=s.getUTCFullYear(),u=String(s.getUTCMonth()+1).padStart(2,"0"),f=String(s.getUTCDate()).padStart(2,"0"),d=`${l}-${u}-${f}`;return new Ee.Literal(d,new on.IRI("http://www.w3.org/2001/XMLSchema#date"))}static dateSubtractYearMonth(e,t){let r=e instanceof Ee.Literal?e.value:e,i=t instanceof Ee.Literal?t.value:t,s=Xe.DateTimeParsing.parseXSDDate(r);if(s===null)throw new Error(`dateSubtractYearMonth: invalid date: '${r}'`);let a=Xe.DateTimeParsing.parseYearMonthDuration(i),c=s.getUTCDate();s.setUTCMonth(s.getUTCMonth()-a),s.getUTCDate()!==c&&s.setUTCDate(0);let l=s.getUTCFullYear(),u=String(s.getUTCMonth()+1).padStart(2,"0"),f=String(s.getUTCDate()).padStart(2,"0"),d=`${l}-${u}-${f}`;return new Ee.Literal(d,new on.IRI("http://www.w3.org/2001/XMLSchema#date"))}static durationAdd(e,t){let r=e instanceof Ee.Literal?e.value:e,i=t instanceof Ee.Literal?t.value:t,s=Xe.DateTimeParsing.parseDayTimeDuration(r),a=Xe.DateTimeParsing.parseDayTimeDuration(i),c=Xe.DateTimeParsing.formatDayTimeDuration(s+a);return new Ee.Literal(c,new on.IRI("http://www.w3.org/2001/XMLSchema#dayTimeDuration"))}static durationSubtract(e,t){let r=e instanceof Ee.Literal?e.value:e,i=t instanceof Ee.Literal?t.value:t,s=Xe.DateTimeParsing.parseDayTimeDuration(r),a=Xe.DateTimeParsing.parseDayTimeDuration(i),c=Xe.DateTimeParsing.formatDayTimeDuration(s-a);return new Ee.Literal(c,new on.IRI("http://www.w3.org/2001/XMLSchema#dayTimeDuration"))}static durationMultiply(e,t){let r=e instanceof Ee.Literal?e.value:e,i=Xe.DateTimeParsing.parseDayTimeDuration(r),s=Xe.DateTimeParsing.formatDayTimeDuration(i*t);return new Ee.Literal(s,new on.IRI("http://www.w3.org/2001/XMLSchema#dayTimeDuration"))}static durationDivide(e,t){if(t===0)throw new Error("durationDivide: division by zero");let r=e instanceof Ee.Literal?e.value:e,i=Xe.DateTimeParsing.parseDayTimeDuration(r),s=Xe.DateTimeParsing.formatDayTimeDuration(i/t);return new Ee.Literal(s,new on.IRI("http://www.w3.org/2001/XMLSchema#dayTimeDuration"))}static yearMonthDurationAdd(e,t){let r=e instanceof Ee.Literal?e.value:e,i=t instanceof Ee.Literal?t.value:t,s=Xe.DateTimeParsing.parseYearMonthDuration(r),a=Xe.DateTimeParsing.parseYearMonthDuration(i),c=Xe.DateTimeParsing.formatYearMonthDuration(s+a);return new Ee.Literal(c,new on.IRI("http://www.w3.org/2001/XMLSchema#yearMonthDuration"))}static yearMonthDurationSubtract(e,t){let r=e instanceof Ee.Literal?e.value:e,i=t instanceof Ee.Literal?t.value:t,s=Xe.DateTimeParsing.parseYearMonthDuration(r),a=Xe.DateTimeParsing.parseYearMonthDuration(i),c=Xe.DateTimeParsing.formatYearMonthDuration(s-a);return new Ee.Literal(c,new on.IRI("http://www.w3.org/2001/XMLSchema#yearMonthDuration"))}static durationToDays(e){let t=e instanceof Ee.Literal?e.value:e;return Xe.DateTimeParsing.parseDayTimeDuration(t)/(1440*60*1e3)}static durationToHours(e){let t=e instanceof Ee.Literal?e.value:e;return Xe.DateTimeParsing.parseDayTimeDuration(t)/(3600*1e3)}static durationToMinutes(e){let t=e instanceof Ee.Literal?e.value:e;return Xe.DateTimeParsing.parseDayTimeDuration(t)/(60*1e3)}static durationToSeconds(e){let t=e instanceof Ee.Literal?e.value:e;return Xe.DateTimeParsing.parseDayTimeDuration(t)/1e3}};lp.DateTimeArithmetic=Z_});var xA=S(up=>{"use strict";Object.defineProperty(up,"__esModule",{value:!0});up.DateTimeAccessors=void 0;var Bu=xe(),Lt=Ve(),Tt=cp(),e1=class{static{o(this,"DateTimeAccessors")}static year(e){let t=new Date(e);if(isNaN(t.getTime()))throw new Error(`YEAR: invalid date string '${e}'`);return t.getFullYear()}static month(e){let t=new Date(e);if(isNaN(t.getTime()))throw new Error(`MONTH: invalid date string '${e}'`);return t.getMonth()+1}static day(e){let t=new Date(e);if(isNaN(t.getTime()))throw new Error(`DAY: invalid date string '${e}'`);return t.getDate()}static hours(e){let t=new Date(e);if(isNaN(t.getTime()))throw new Error(`HOURS: invalid date string '${e}'`);return t.getHours()}static minutes(e){let t=new Date(e);if(isNaN(t.getTime()))throw new Error(`MINUTES: invalid date string '${e}'`);return t.getMinutes()}static seconds(e){let t=new Date(e);if(isNaN(t.getTime()))throw new Error(`SECONDS: invalid date string '${e}'`);return t.getSeconds()+t.getMilliseconds()/1e3}static durationDays(e){let t=e instanceof Lt.Literal?e.value:e,r=Tt.DateTimeParsing.parseDurationComponents(t),i=Math.floor(r.days);return r.negative?-i:i}static durationHours(e){let t=e instanceof Lt.Literal?e.value:e,r=Tt.DateTimeParsing.parseDurationComponents(t),i=Math.floor(r.hours);return r.negative?-i:i}static durationMinutes(e){let t=e instanceof Lt.Literal?e.value:e,r=Tt.DateTimeParsing.parseDurationComponents(t),i=Math.floor(r.minutes);return r.negative?-i:i}static durationSeconds(e){let t=e instanceof Lt.Literal?e.value:e,r=Tt.DateTimeParsing.parseDurationComponents(t);return r.negative?-r.seconds:r.seconds}static durationYears(e){let t=e instanceof Lt.Literal?e.value:e,r=Tt.DateTimeParsing.parseYearMonthDurationComponents(t);return r.negative?-r.years:r.years}static durationMonths(e){let t=e instanceof Lt.Literal?e.value:e,r=Tt.DateTimeParsing.parseYearMonthDurationComponents(t);return r.negative?-r.months:r.months}static timezone(e){let t=new Date(e);if(isNaN(t.getTime()))throw new Error(`TIMEZONE: invalid date string '${e}'`);let r;if(e.endsWith("Z"))r="PT0S";else{let i=e.match(/([+-]\d{2}):?(\d{2})$/);if(i){let s=parseInt(i[1],10),a=parseInt(i[2],10),c=s>=0?"":"-",l=Math.abs(s);a===0?r=`${c}PT${l}H`:r=`${c}PT${l}H${a}M`}else{let s=-t.getTimezoneOffset(),a=Math.floor(Math.abs(s)/60),c=Math.abs(s)%60,l=s>=0?"":"-";c===0?r=`${l}PT${a}H`:r=`${l}PT${a}H${c}M`}}return new Lt.Literal(r,new Bu.IRI("http://www.w3.org/2001/XMLSchema#dayTimeDuration"))}static tz(e){let t=new Date(e);if(isNaN(t.getTime()))throw new Error(`TZ: invalid date string '${e}'`);if(e.endsWith("Z"))return"Z";let r=e.match(/([+-]\d{2}:\d{2})$/);if(r)return r[1];let i=e.match(/([+-])(\d{2})(\d{2})$/);return i?`${i[1]}${i[2]}:${i[3]}`:""}static adjust(e,t){let r=e instanceof Lt.Literal?e.value:e,i=new Date(r);if(isNaN(i.getTime()))throw new Error(`ADJUST: invalid dateTime: '${r}'`);if(t==null){let we=i.getUTCFullYear(),z=String(i.getUTCMonth()+1).padStart(2,"0"),G=String(i.getUTCDate()).padStart(2,"0"),F=String(i.getUTCHours()).padStart(2,"0"),j=String(i.getUTCMinutes()).padStart(2,"0"),te=String(i.getUTCSeconds()).padStart(2,"0"),Ye=i.getUTCMilliseconds(),st=`${we}-${z}-${G}T${F}:${j}:${te}`;return Ye>0&&(st+=`.${String(Ye).padStart(3,"0")}`),new Lt.Literal(st,new Bu.IRI("http://www.w3.org/2001/XMLSchema#dateTime"))}let s=t instanceof Lt.Literal?t.value:t,a=Tt.DateTimeParsing.parseDayTimeDuration(s),c=840*60*1e3;if(Math.abs(a)>c)throw new Error(`ADJUST: timezone offset out of range: '${s}'`);let l=i.getTime(),u=new Date(l+a),f=u.getUTCFullYear(),d=String(u.getUTCMonth()+1).padStart(2,"0"),h=String(u.getUTCDate()).padStart(2,"0"),p=String(u.getUTCHours()).padStart(2,"0"),_=String(u.getUTCMinutes()).padStart(2,"0"),b=String(u.getUTCSeconds()).padStart(2,"0"),E=u.getUTCMilliseconds(),v=a>=0?"+":"-",A=Math.floor(Math.abs(a)/(3600*1e3)),R=Math.floor(Math.abs(a)%(3600*1e3)/(60*1e3)),B=`${v}${String(A).padStart(2,"0")}:${String(R).padStart(2,"0")}`,W=`${f}-${d}-${h}T${p}:${_}:${b}`;return E>0&&(W+=`.${String(E).padStart(3,"0")}`),W+=B,new Lt.Literal(W,new Bu.IRI("http://www.w3.org/2001/XMLSchema#dateTime"))}static now(){return new Date().toISOString()}static dateBefore(e,t){let r=Tt.DateTimeParsing.parseDate(e),i=Tt.DateTimeParsing.parseDate(t);return r<i}static dateAfter(e,t){let r=Tt.DateTimeParsing.parseDate(e),i=Tt.DateTimeParsing.parseDate(t);return r>i}static dateInRange(e,t,r){let i=Tt.DateTimeParsing.parseDate(e),s=Tt.DateTimeParsing.parseDate(t),a=Tt.DateTimeParsing.parseDate(r);return i>=s&&i<=a}static compareDurations(e,t,r){let i=e instanceof Lt.Literal?e.value:e,s=t instanceof Lt.Literal?t.value:t,a=Tt.DateTimeParsing.parseDayTimeDuration(i),c=Tt.DateTimeParsing.parseDayTimeDuration(s);switch(r){case"=":return a===c;case"!=":return a!==c;case"<":return a<c;case">":return a>c;case"<=":return a<=c;case">=":return a>=c;default:throw new Error(`compareDurations: unknown operator: ${r}`)}}static dateDiffMinutes(e,t){let r=Tt.DateTimeParsing.parseDate(e),i=Tt.DateTimeParsing.parseDate(t),s=Math.abs(i-r);return Math.round(s/(1e3*60))}static dateDiffHours(e,t){let r=Tt.DateTimeParsing.parseDate(e),i=Tt.DateTimeParsing.parseDate(t),s=Math.abs(i-r);return Math.round(s/(1e3*60*60)*100)/100}static timeDiff(e,t){let r=e instanceof Lt.Literal?e.value:e,i=t instanceof Lt.Literal?t.value:t,s=Tt.DateTimeParsing.parseXSDTime(r),a=Tt.DateTimeParsing.parseXSDTime(i);if(s===null)throw new Error(`timeDiff: invalid first time: '${r}'`);if(a===null)throw new Error(`timeDiff: invalid second time: '${i}'`);let c=s-a,l=Tt.DateTimeParsing.formatDayTimeDuration(c);return new Lt.Literal(l,new Bu.IRI("http://www.w3.org/2001/XMLSchema#dayTimeDuration"))}static isDayTimeDuration(e){return e instanceof Lt.Literal?(e.datatype?.value||"")==="http://www.w3.org/2001/XMLSchema#dayTimeDuration":!1}static isDate(e){return e instanceof Lt.Literal?(e.datatype?.value||"")==="http://www.w3.org/2001/XMLSchema#date":!1}static isYearMonthDuration(e){return e instanceof Lt.Literal?(e.datatype?.value||"")==="http://www.w3.org/2001/XMLSchema#yearMonthDuration":!1}static isTime(e){return e instanceof Lt.Literal?(e.datatype?.value||"")==="http://www.w3.org/2001/XMLSchema#time":!1}static dateDiff(e,t){let r=e instanceof Lt.Literal?e.value:e,i=t instanceof Lt.Literal?t.value:t,s=Tt.DateTimeParsing.parseXSDDate(r),a=Tt.DateTimeParsing.parseXSDDate(i);if(s===null)throw new Error(`dateDiff: invalid first date: '${r}'`);if(a===null)throw new Error(`dateDiff: invalid second date: '${i}'`);let c=s.getTime()-a.getTime(),l=Math.round(c/(1440*60*1e3)),u=Tt.DateTimeParsing.formatDateDuration(l);return new Lt.Literal(u,new Bu.IRI("http://www.w3.org/2001/XMLSchema#dayTimeDuration"))}};up.DateTimeAccessors=e1});var r1=S(fp=>{"use strict";Object.defineProperty(fp,"__esModule",{value:!0});fp.DateTimeFunctions=void 0;var kc=cp(),ir=AA(),gt=xA(),t1=class{static{o(this,"DateTimeFunctions")}static parseDate(e){return kc.DateTimeParsing.parseDate(e)}static parseDayTimeDuration(e){return kc.DateTimeParsing.parseDayTimeDuration(e)}static formatDayTimeDuration(e){return kc.DateTimeParsing.formatDayTimeDuration(e)}static xsdDayTimeDuration(e){return kc.DateTimeParsing.xsdDayTimeDuration(e)}static parseYearMonthDuration(e){return kc.DateTimeParsing.parseYearMonthDuration(e)}static formatYearMonthDuration(e){return kc.DateTimeParsing.formatYearMonthDuration(e)}static year(e){return gt.DateTimeAccessors.year(e)}static month(e){return gt.DateTimeAccessors.month(e)}static day(e){return gt.DateTimeAccessors.day(e)}static hours(e){return gt.DateTimeAccessors.hours(e)}static minutes(e){return gt.DateTimeAccessors.minutes(e)}static seconds(e){return gt.DateTimeAccessors.seconds(e)}static durationDays(e){return gt.DateTimeAccessors.durationDays(e)}static durationHours(e){return gt.DateTimeAccessors.durationHours(e)}static durationMinutes(e){return gt.DateTimeAccessors.durationMinutes(e)}static durationSeconds(e){return gt.DateTimeAccessors.durationSeconds(e)}static durationYears(e){return gt.DateTimeAccessors.durationYears(e)}static durationMonths(e){return gt.DateTimeAccessors.durationMonths(e)}static timezone(e){return gt.DateTimeAccessors.timezone(e)}static tz(e){return gt.DateTimeAccessors.tz(e)}static adjust(e,t){return gt.DateTimeAccessors.adjust(e,t)}static now(){return gt.DateTimeAccessors.now()}static dateBefore(e,t){return gt.DateTimeAccessors.dateBefore(e,t)}static dateAfter(e,t){return gt.DateTimeAccessors.dateAfter(e,t)}static dateInRange(e,t,r){return gt.DateTimeAccessors.dateInRange(e,t,r)}static compareDurations(e,t,r){return gt.DateTimeAccessors.compareDurations(e,t,r)}static dateDiffMinutes(e,t){return gt.DateTimeAccessors.dateDiffMinutes(e,t)}static dateDiffHours(e,t){return gt.DateTimeAccessors.dateDiffHours(e,t)}static timeDiff(e,t){return gt.DateTimeAccessors.timeDiff(e,t)}static dateDiff(e,t){return gt.DateTimeAccessors.dateDiff(e,t)}static isDayTimeDuration(e){return gt.DateTimeAccessors.isDayTimeDuration(e)}static isDate(e){return gt.DateTimeAccessors.isDate(e)}static isYearMonthDuration(e){return gt.DateTimeAccessors.isYearMonthDuration(e)}static isTime(e){return gt.DateTimeAccessors.isTime(e)}static dateTimeDiff(e,t){return ir.DateTimeArithmetic.dateTimeDiff(e,t)}static dateTimeAdd(e,t){return ir.DateTimeArithmetic.dateTimeAdd(e,t)}static dateTimeSubtract(e,t){return ir.DateTimeArithmetic.dateTimeSubtract(e,t)}static dateAdd(e,t){return ir.DateTimeArithmetic.dateAdd(e,t)}static dateSubtract(e,t){return ir.DateTimeArithmetic.dateSubtract(e,t)}static dateTimeAddYearMonth(e,t){return ir.DateTimeArithmetic.dateTimeAddYearMonth(e,t)}static dateTimeSubtractYearMonth(e,t){return ir.DateTimeArithmetic.dateTimeSubtractYearMonth(e,t)}static dateAddYearMonth(e,t){return ir.DateTimeArithmetic.dateAddYearMonth(e,t)}static dateSubtractYearMonth(e,t){return ir.DateTimeArithmetic.dateSubtractYearMonth(e,t)}static durationAdd(e,t){return ir.DateTimeArithmetic.durationAdd(e,t)}static durationSubtract(e,t){return ir.DateTimeArithmetic.durationSubtract(e,t)}static durationMultiply(e,t){return ir.DateTimeArithmetic.durationMultiply(e,t)}static durationDivide(e,t){return ir.DateTimeArithmetic.durationDivide(e,t)}static yearMonthDurationAdd(e,t){return ir.DateTimeArithmetic.yearMonthDurationAdd(e,t)}static yearMonthDurationSubtract(e,t){return ir.DateTimeArithmetic.yearMonthDurationSubtract(e,t)}static durationToDays(e){return ir.DateTimeArithmetic.durationToDays(e)}static durationToHours(e){return ir.DateTimeArithmetic.durationToHours(e)}static durationToMinutes(e){return ir.DateTimeArithmetic.durationToMinutes(e)}static durationToSeconds(e){return ir.DateTimeArithmetic.durationToSeconds(e)}};fp.DateTimeFunctions=t1});var CA=S(hp=>{"use strict";Object.defineProperty(hp,"__esModule",{value:!0});hp.LogicalFunctions=void 0;var mj=xe(),Mc=Ve(),gj=qt(),dp=r1(),n1=class n{static{o(this,"LogicalFunctions")}static compare(e,t,r){if(n.isDayTimeDurationValue(e)&&n.isDayTimeDurationValue(t))return dp.DateTimeFunctions.compareDurations(e instanceof Mc.Literal?e:String(e),t instanceof Mc.Literal?t:String(t),r);if(n.isDayTimeDurationValue(e)&&typeof t=="string"&&/^-?P/.test(t))return dp.DateTimeFunctions.compareDurations(e instanceof Mc.Literal?e:String(e),t,r);if(typeof e=="string"&&/^-?P/.test(e)&&n.isDayTimeDurationValue(t))return dp.DateTimeFunctions.compareDurations(e,t instanceof Mc.Literal?t:String(t),r);let i=n.toComparableValue(e),s=n.toComparableValue(t);switch(r){case"=":return i===s;case"!=":return i!==s;case"<":return i<s;case">":return i>s;case"<=":return i<=s;case">=":return i>=s;default:throw new Error(`Unknown comparison operator: ${r}`)}}static isDayTimeDurationValue(e){return e instanceof Mc.Literal?(e.datatype?.value||"")==="http://www.w3.org/2001/XMLSchema#dayTimeDuration":!1}static toComparableValue(e){if(typeof e=="string"||typeof e=="number")return e;if(e instanceof Mc.Literal){let t=e.datatype?.value;if(t?.includes("#integer")||t?.includes("#decimal")||t?.includes("#double")){let r=parseFloat(e.value);if(!isNaN(r))return r}if(t==="http://www.w3.org/2001/XMLSchema#dayTimeDuration")try{return dp.DateTimeFunctions.parseDayTimeDuration(e.value)}catch{return e.value}return e.value}return e instanceof mj.IRI?e.value:e instanceof gj.BlankNode?e.id:String(e)}static logicalAnd(e){return e.every(t=>t===!0)}static logicalOr(e){return e.some(t=>t===!0)}static logicalNot(e){return!e}static coalesce(e){for(let t of e)if(t!=null)return t}static if(e,t,r){return e?t:r}};hp.LogicalFunctions=n1});var IA=S(pp=>{"use strict";Object.defineProperty(pp,"__esModule",{value:!0});pp.RDFTermFunctions=void 0;var Fr=xe(),bt=Ve(),oi=qt(),jc=bu(),i1=Sn(),s1=class n{static{o(this,"RDFTermFunctions")}static datatype(e){if(e===void 0)throw new Error("DATATYPE: argument is undefined");if(e instanceof bt.Literal)return e.datatype?e.datatype:e.language?new Fr.IRI("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"):new Fr.IRI("http://www.w3.org/2001/XMLSchema#string");throw new Error("DATATYPE: argument must be a literal")}static bound(e){return e!==void 0}static isIRI(e){return e===void 0?!1:e instanceof Fr.IRI}static isBlank(e){return e===void 0?!1:e instanceof oi.BlankNode}static isLiteral(e){return e===void 0?!1:e instanceof bt.Literal}static isTriple(e){return e===void 0?!1:e instanceof jc.QuotedTriple}static hasLangdir(e){return e===void 0||!(e instanceof bt.Literal)?!1:!!e.language&&!!e.direction}static isNumeric(e){if(e===void 0||!(e instanceof bt.Literal))return!1;let t=e.datatype?.value;return t?["http://www.w3.org/2001/XMLSchema#integer","http://www.w3.org/2001/XMLSchema#decimal","http://www.w3.org/2001/XMLSchema#float","http://www.w3.org/2001/XMLSchema#double","http://www.w3.org/2001/XMLSchema#nonPositiveInteger","http://www.w3.org/2001/XMLSchema#negativeInteger","http://www.w3.org/2001/XMLSchema#long","http://www.w3.org/2001/XMLSchema#int","http://www.w3.org/2001/XMLSchema#short","http://www.w3.org/2001/XMLSchema#byte","http://www.w3.org/2001/XMLSchema#nonNegativeInteger","http://www.w3.org/2001/XMLSchema#unsignedLong","http://www.w3.org/2001/XMLSchema#unsignedInt","http://www.w3.org/2001/XMLSchema#unsignedShort","http://www.w3.org/2001/XMLSchema#unsignedByte","http://www.w3.org/2001/XMLSchema#positiveInteger"].includes(t):!1}static xsdDateTime(e){let t=new Date(e);if(isNaN(t.getTime()))throw new Error(`xsd:dateTime: invalid date string '${e}'`);return new bt.Literal(t.toISOString(),new Fr.IRI("http://www.w3.org/2001/XMLSchema#dateTime"))}static xsdInteger(e){let t=parseInt(e,10);if(isNaN(t))throw new Error(`xsd:integer: cannot convert '${e}' to integer`);return new bt.Literal(String(t),new Fr.IRI("http://www.w3.org/2001/XMLSchema#integer"))}static xsdDecimal(e){let t=parseFloat(e);if(isNaN(t))throw new Error(`xsd:decimal: cannot convert '${e}' to decimal`);return new bt.Literal(String(t),new Fr.IRI("http://www.w3.org/2001/XMLSchema#decimal"))}static sameTerm(e,t){if(e===void 0&&t===void 0)return!0;if(e===void 0||t===void 0||e.constructor!==t.constructor)return!1;if(e instanceof Fr.IRI&&t instanceof Fr.IRI)return e.value===t.value;if(e instanceof oi.BlankNode&&t instanceof oi.BlankNode)return e.id===t.id;if(e instanceof bt.Literal&&t instanceof bt.Literal){if(e.value!==t.value||e.language!==t.language)return!1;let r=e.datatype?.value,i=t.datatype?.value;return r===i}return!1}static iri(e){if(e===void 0)throw new Error("IRI: argument is undefined");if(e instanceof Fr.IRI)return e;if(e instanceof bt.Literal)return new Fr.IRI(e.value);throw e instanceof oi.BlankNode?new Error("IRI: cannot convert blank node to IRI"):new Error("IRI: unsupported term type")}static uri(e){return n.iri(e)}static bnode(e){if(e===void 0){let t=`b${(0,i1.v4)().replace(/-/g,"").substring(0,12)}`;return new oi.BlankNode(t)}if(e instanceof bt.Literal)return new oi.BlankNode(e.value);if(e instanceof oi.BlankNode)return e;throw new Error("BNODE: argument must be a string literal or omitted")}static strdt(e,t){if(e===void 0)throw new Error("STRDT: lexical form is undefined");if(t===void 0)throw new Error("STRDT: datatype IRI is undefined");let r;if(e instanceof bt.Literal){if(e.language)throw new Error("STRDT: lexical form must not have a language tag");r=e.value}else if(typeof e=="string")r=e;else throw new Error("STRDT: lexical form must be a string literal");let i;if(t instanceof Fr.IRI)i=t;else if(t instanceof bt.Literal)i=new Fr.IRI(t.value);else throw new Error("STRDT: datatype must be an IRI");return new bt.Literal(r,i)}static strlang(e,t){if(e===void 0)throw new Error("STRLANG: lexical form is undefined");if(t===void 0)throw new Error("STRLANG: language tag is undefined");let r;if(e instanceof bt.Literal){if(e.language)throw new Error("STRLANG: lexical form must not already have a language tag");r=e.value}else if(typeof e=="string")r=e;else throw new Error("STRLANG: lexical form must be a string literal");let i;if(t instanceof bt.Literal)i=t.value;else if(typeof t=="string")i=t;else throw new Error("STRLANG: language tag must be a string literal");if(i==="")throw new Error("STRLANG: language tag cannot be empty");return new bt.Literal(r,void 0,i)}static strlangdir(e,t,r){if(e===void 0)throw new Error("STRLANGDIR: lexical form is undefined");if(t===void 0)throw new Error("STRLANGDIR: language tag is undefined");if(r===void 0)throw new Error("STRLANGDIR: direction is undefined");let i;if(e instanceof bt.Literal){if(e.language)throw new Error("STRLANGDIR: lexical form must not already have a language tag");i=e.value}else if(typeof e=="string")i=e;else throw new Error("STRLANGDIR: lexical form must be a string literal");let s;if(t instanceof bt.Literal)s=t.value;else if(typeof t=="string")s=t;else throw new Error("STRLANGDIR: language tag must be a string literal");if(s==="")throw new Error("STRLANGDIR: language tag cannot be empty");let a;if(r instanceof bt.Literal)a=r.value.toLowerCase();else throw new Error("STRLANGDIR: direction must be a string literal");if(a!=="ltr"&&a!=="rtl")throw new Error(`STRLANGDIR: invalid direction '${a}'. Must be 'ltr' or 'rtl'`);return new bt.Literal(i,void 0,s,a)}static uuid(){let e=(0,i1.v4)();return new Fr.IRI(`urn:uuid:${e}`)}static struuid(){let e=(0,i1.v4)();return new bt.Literal(e)}static triple(e,t,r){if(e===void 0)throw new Error("TRIPLE: subject is undefined");if(t===void 0)throw new Error("TRIPLE: predicate is undefined");if(r===void 0)throw new Error("TRIPLE: object is undefined");if(e instanceof bt.Literal)throw new Error("TRIPLE: subject must be IRI, BlankNode, or QuotedTriple, got Literal");if(!(t instanceof Fr.IRI)){let c=t instanceof bt.Literal?"Literal":t instanceof oi.BlankNode?"BlankNode":t instanceof jc.QuotedTriple?"QuotedTriple":typeof t;throw new Error(`TRIPLE: predicate must be IRI, got ${c}`)}let i=e,s=t,a=r;return new jc.QuotedTriple(i,s,a)}static subject(e){if(e===void 0)throw new Error("SUBJECT: argument is undefined");if(!(e instanceof jc.QuotedTriple)){let t=e instanceof Fr.IRI?"IRI":e instanceof bt.Literal?"Literal":e instanceof oi.BlankNode?"BlankNode":typeof e;throw new Error(`SUBJECT: argument must be QuotedTriple, got ${t}`)}return e.subject}static predicate(e){if(e===void 0)throw new Error("PREDICATE: argument is undefined");if(!(e instanceof jc.QuotedTriple)){let t=e instanceof Fr.IRI?"IRI":e instanceof bt.Literal?"Literal":e instanceof oi.BlankNode?"BlankNode":typeof e;throw new Error(`PREDICATE: argument must be QuotedTriple, got ${t}`)}return e.predicate}static object(e){if(e===void 0)throw new Error("OBJECT: argument is undefined");if(!(e instanceof jc.QuotedTriple)){let t=e instanceof Fr.IRI?"IRI":e instanceof bt.Literal?"Literal":e instanceof oi.BlankNode?"BlankNode":typeof e;throw new Error(`OBJECT: argument must be QuotedTriple, got ${t}`)}return e.object}};pp.RDFTermFunctions=s1});var RA=S(mp=>{"use strict";Object.defineProperty(mp,"__esModule",{value:!0});mp.HashFunctions=void 0;var a1=class{static{o(this,"HashFunctions")}static md5(e){return require("crypto").createHash("md5").update(e).digest("hex")}static sha1(e){return require("crypto").createHash("sha1").update(e).digest("hex")}static sha256(e){return require("crypto").createHash("sha256").update(e).digest("hex")}static sha384(e){return require("crypto").createHash("sha384").update(e).digest("hex")}static sha512(e){return require("crypto").createHash("sha512").update(e).digest("hex")}};mp.HashFunctions=a1});var yp=S(gp=>{"use strict";Object.defineProperty(gp,"__esModule",{value:!0});gp.BuiltInFunctions=void 0;var sr=EA(),Ta=TA(),oe=r1(),$c=CA(),Ot=IA(),Vu=RA(),o1=class{static{o(this,"BuiltInFunctions")}static str(...e){return sr.StringFunctions.str(...e)}static lang(...e){return sr.StringFunctions.lang(...e)}static langdir(...e){return sr.StringFunctions.langdir(...e)}static langMatches(...e){return sr.StringFunctions.langMatches(...e)}static regex(...e){return sr.StringFunctions.regex(...e)}static contains(...e){return sr.StringFunctions.contains(...e)}static strStarts(...e){return sr.StringFunctions.strStarts(...e)}static strEnds(...e){return sr.StringFunctions.strEnds(...e)}static strlen(...e){return sr.StringFunctions.strlen(...e)}static ucase(...e){return sr.StringFunctions.ucase(...e)}static lcase(...e){return sr.StringFunctions.lcase(...e)}static substr(...e){return sr.StringFunctions.substr(...e)}static strBefore(...e){return sr.StringFunctions.strBefore(...e)}static strAfter(...e){return sr.StringFunctions.strAfter(...e)}static concat(...e){return sr.StringFunctions.concat(...e)}static replace(...e){return sr.StringFunctions.replace(...e)}static encodeForUri(...e){return sr.StringFunctions.encodeForUri(...e)}static normalize(...e){return sr.StringFunctions.normalize(...e)}static fold(...e){return sr.StringFunctions.fold(...e)}static abs(...e){return Ta.MathFunctions.abs(...e)}static round(...e){return Ta.MathFunctions.round(...e)}static ceil(...e){return Ta.MathFunctions.ceil(...e)}static floor(...e){return Ta.MathFunctions.floor(...e)}static rand(){return Ta.MathFunctions.rand()}static msToMinutes(...e){return Ta.MathFunctions.msToMinutes(...e)}static msToHours(...e){return Ta.MathFunctions.msToHours(...e)}static msToSeconds(...e){return Ta.MathFunctions.msToSeconds(...e)}static parseDate(...e){return oe.DateTimeFunctions.parseDate(...e)}static dateBefore(...e){return oe.DateTimeFunctions.dateBefore(...e)}static dateAfter(...e){return oe.DateTimeFunctions.dateAfter(...e)}static dateInRange(...e){return oe.DateTimeFunctions.dateInRange(...e)}static dateDiffMinutes(...e){return oe.DateTimeFunctions.dateDiffMinutes(...e)}static dateDiffHours(...e){return oe.DateTimeFunctions.dateDiffHours(...e)}static year(...e){return oe.DateTimeFunctions.year(...e)}static month(...e){return oe.DateTimeFunctions.month(...e)}static day(...e){return oe.DateTimeFunctions.day(...e)}static hours(...e){return oe.DateTimeFunctions.hours(...e)}static minutes(...e){return oe.DateTimeFunctions.minutes(...e)}static seconds(...e){return oe.DateTimeFunctions.seconds(...e)}static timezone(...e){return oe.DateTimeFunctions.timezone(...e)}static tz(...e){return oe.DateTimeFunctions.tz(...e)}static now(){return oe.DateTimeFunctions.now()}static parseDayTimeDuration(...e){return oe.DateTimeFunctions.parseDayTimeDuration(...e)}static formatDayTimeDuration(...e){return oe.DateTimeFunctions.formatDayTimeDuration(...e)}static xsdDayTimeDuration(...e){return oe.DateTimeFunctions.xsdDayTimeDuration(...e)}static compareDurations(...e){return oe.DateTimeFunctions.compareDurations(...e)}static isDayTimeDuration(...e){return oe.DateTimeFunctions.isDayTimeDuration(...e)}static isDate(...e){return oe.DateTimeFunctions.isDate(...e)}static dateDiff(...e){return oe.DateTimeFunctions.dateDiff(...e)}static dateTimeDiff(...e){return oe.DateTimeFunctions.dateTimeDiff(...e)}static dateTimeAdd(...e){return oe.DateTimeFunctions.dateTimeAdd(...e)}static dateTimeSubtract(...e){return oe.DateTimeFunctions.dateTimeSubtract(...e)}static dateAdd(...e){return oe.DateTimeFunctions.dateAdd(...e)}static dateSubtract(...e){return oe.DateTimeFunctions.dateSubtract(...e)}static parseYearMonthDuration(...e){return oe.DateTimeFunctions.parseYearMonthDuration(...e)}static isYearMonthDuration(...e){return oe.DateTimeFunctions.isYearMonthDuration(...e)}static dateTimeAddYearMonth(...e){return oe.DateTimeFunctions.dateTimeAddYearMonth(...e)}static dateTimeSubtractYearMonth(...e){return oe.DateTimeFunctions.dateTimeSubtractYearMonth(...e)}static dateAddYearMonth(...e){return oe.DateTimeFunctions.dateAddYearMonth(...e)}static dateSubtractYearMonth(...e){return oe.DateTimeFunctions.dateSubtractYearMonth(...e)}static durationAdd(...e){return oe.DateTimeFunctions.durationAdd(...e)}static durationSubtract(...e){return oe.DateTimeFunctions.durationSubtract(...e)}static durationMultiply(...e){return oe.DateTimeFunctions.durationMultiply(...e)}static durationDivide(...e){return oe.DateTimeFunctions.durationDivide(...e)}static formatYearMonthDuration(...e){return oe.DateTimeFunctions.formatYearMonthDuration(...e)}static yearMonthDurationAdd(...e){return oe.DateTimeFunctions.yearMonthDurationAdd(...e)}static yearMonthDurationSubtract(...e){return oe.DateTimeFunctions.yearMonthDurationSubtract(...e)}static durationYears(...e){return oe.DateTimeFunctions.durationYears(...e)}static durationMonths(...e){return oe.DateTimeFunctions.durationMonths(...e)}static durationToDays(...e){return oe.DateTimeFunctions.durationToDays(...e)}static durationToHours(...e){return oe.DateTimeFunctions.durationToHours(...e)}static durationToMinutes(...e){return oe.DateTimeFunctions.durationToMinutes(...e)}static durationToSeconds(...e){return oe.DateTimeFunctions.durationToSeconds(...e)}static durationDays(...e){return oe.DateTimeFunctions.durationDays(...e)}static durationHours(...e){return oe.DateTimeFunctions.durationHours(...e)}static durationMinutes(...e){return oe.DateTimeFunctions.durationMinutes(...e)}static durationSeconds(...e){return oe.DateTimeFunctions.durationSeconds(...e)}static adjust(...e){return oe.DateTimeFunctions.adjust(...e)}static isTime(...e){return oe.DateTimeFunctions.isTime(...e)}static timeDiff(...e){return oe.DateTimeFunctions.timeDiff(...e)}static compare(...e){return $c.LogicalFunctions.compare(...e)}static logicalAnd(...e){return $c.LogicalFunctions.logicalAnd(...e)}static logicalOr(...e){return $c.LogicalFunctions.logicalOr(...e)}static logicalNot(...e){return $c.LogicalFunctions.logicalNot(...e)}static coalesce(...e){return $c.LogicalFunctions.coalesce(...e)}static if(...e){return $c.LogicalFunctions.if(...e)}static datatype(...e){return Ot.RDFTermFunctions.datatype(...e)}static bound(...e){return Ot.RDFTermFunctions.bound(...e)}static isIRI(...e){return Ot.RDFTermFunctions.isIRI(...e)}static isBlank(...e){return Ot.RDFTermFunctions.isBlank(...e)}static isLiteral(...e){return Ot.RDFTermFunctions.isLiteral(...e)}static isTriple(...e){return Ot.RDFTermFunctions.isTriple(...e)}static isNumeric(...e){return Ot.RDFTermFunctions.isNumeric(...e)}static hasLangdir(...e){return Ot.RDFTermFunctions.hasLangdir(...e)}static sameTerm(...e){return Ot.RDFTermFunctions.sameTerm(...e)}static iri(...e){return Ot.RDFTermFunctions.iri(...e)}static uri(...e){return Ot.RDFTermFunctions.uri(...e)}static bnode(...e){return Ot.RDFTermFunctions.bnode(...e)}static strdt(...e){return Ot.RDFTermFunctions.strdt(...e)}static strlang(...e){return Ot.RDFTermFunctions.strlang(...e)}static strlangdir(...e){return Ot.RDFTermFunctions.strlangdir(...e)}static uuid(){return Ot.RDFTermFunctions.uuid()}static struuid(){return Ot.RDFTermFunctions.struuid()}static xsdDateTime(...e){return Ot.RDFTermFunctions.xsdDateTime(...e)}static xsdInteger(...e){return Ot.RDFTermFunctions.xsdInteger(...e)}static xsdDecimal(...e){return Ot.RDFTermFunctions.xsdDecimal(...e)}static triple(...e){return Ot.RDFTermFunctions.triple(...e)}static subject(...e){return Ot.RDFTermFunctions.subject(...e)}static predicate(...e){return Ot.RDFTermFunctions.predicate(...e)}static object(...e){return Ot.RDFTermFunctions.object(...e)}static md5(...e){return Vu.HashFunctions.md5(...e)}static sha1(...e){return Vu.HashFunctions.sha1(...e)}static sha256(...e){return Vu.HashFunctions.sha256(...e)}static sha384(...e){return Vu.HashFunctions.sha384(...e)}static sha512(...e){return Vu.HashFunctions.sha512(...e)}};gp.BuiltInFunctions=o1});var Uu=S(ns=>{"use strict";Object.defineProperty(ns,"__esModule",{value:!0});ns.ExoQLBudgetExceededError=ns.ExoQLCycleError=ns.ExoQLEvalDisabledError=ns.ExoQLForbiddenKeywordError=void 0;var c1=class extends Error{static{o(this,"ExoQLForbiddenKeywordError")}constructor(e,t){super(t??`ExoQLForbiddenKeywordError: keyword "${e}" is not permitted by the exoql__Query AST allowlist`),this.name="ExoQLForbiddenKeywordError",this.keyword=e}};ns.ExoQLForbiddenKeywordError=c1;var l1=class extends Error{static{o(this,"ExoQLEvalDisabledError")}constructor(e){super(e??"ExoQLEvalDisabledError: exoql.eval.enabled is false (default). Flip the feature flag to opt in."),this.name="ExoQLEvalDisabledError"}};ns.ExoQLEvalDisabledError=l1;var u1=class extends Error{static{o(this,"ExoQLCycleError")}constructor(e,t){super(t??`ExoQLCycleError: cycle detected in nested exo:eval invocations: ${e.join(" \u2192 ")}`),this.name="ExoQLCycleError",this.path=e}};ns.ExoQLCycleError=u1;var f1=class extends Error{static{o(this,"ExoQLBudgetExceededError")}constructor(e,t,r,i){super(i??`ExoQLBudgetExceededError: ${e} budget exceeded (limit=${t}, observed=${r})`),this.name="ExoQLBudgetExceededError",this.budget=e,this.limit=t,this.observed=r}};ns.ExoQLBudgetExceededError=f1});var jA=S(M=>{"use strict";Object.defineProperty(M,"__esModule",{value:!0});M.functionHandlers=void 0;var k=yp();M.functionHandlers=new Map;M.functionHandlers.set("str",(n,e)=>{let t=e.getTermFromExpression(n[0],e.solution);return k.BuiltInFunctions.str(t)});M.functionHandlers.set("lang",(n,e)=>{let t=e.getTermFromExpression(n[0],e.solution);return k.BuiltInFunctions.lang(t)});M.functionHandlers.set("langmatches",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution)),r=e.getStringValue(e.evaluateExpression(n[1],e.solution));return k.BuiltInFunctions.langMatches(t,r)});M.functionHandlers.set("contains",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution)),r=e.getStringValue(e.evaluateExpression(n[1],e.solution));return k.BuiltInFunctions.contains(t,r)});M.functionHandlers.set("strstarts",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution)),r=e.getStringValue(e.evaluateExpression(n[1],e.solution));return k.BuiltInFunctions.strStarts(t,r)});M.functionHandlers.set("strends",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution)),r=e.getStringValue(e.evaluateExpression(n[1],e.solution));return k.BuiltInFunctions.strEnds(t,r)});M.functionHandlers.set("strlen",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution));return k.BuiltInFunctions.strlen(t)});M.functionHandlers.set("ucase",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution));return k.BuiltInFunctions.ucase(t)});M.functionHandlers.set("lcase",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution));return k.BuiltInFunctions.lcase(t)});M.functionHandlers.set("substr",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution)),r=Number(e.evaluateExpression(n[1],e.solution));if(n[2]){let i=Number(e.evaluateExpression(n[2],e.solution));return k.BuiltInFunctions.substr(t,r,i)}return k.BuiltInFunctions.substr(t,r)});M.functionHandlers.set("strbefore",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution)),r=e.getStringValue(e.evaluateExpression(n[1],e.solution));return k.BuiltInFunctions.strBefore(t,r)});M.functionHandlers.set("strafter",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution)),r=e.getStringValue(e.evaluateExpression(n[1],e.solution));return k.BuiltInFunctions.strAfter(t,r)});M.functionHandlers.set("concat",(n,e)=>{let t=n.map(r=>e.getStringValue(e.evaluateExpression(r,e.solution)));return k.BuiltInFunctions.concat(...t)});M.functionHandlers.set("replace",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution)),r=e.getStringValue(e.evaluateExpression(n[1],e.solution)),i=e.getStringValue(e.evaluateExpression(n[2],e.solution)),s=n[3]?e.getStringValue(e.evaluateExpression(n[3],e.solution)):void 0;return k.BuiltInFunctions.replace(t,r,i,s)});M.functionHandlers.set("regex",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution)),r=e.getStringValue(e.evaluateExpression(n[1],e.solution)),i=n[2]?e.getStringValue(e.evaluateExpression(n[2],e.solution)):void 0;return k.BuiltInFunctions.regex(t,r,i)});M.functionHandlers.set("encode_for_uri",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution));return k.BuiltInFunctions.encodeForUri(t)});M.functionHandlers.set("datatype",(n,e)=>{let t=e.getTermFromExpression(n[0],e.solution);return k.BuiltInFunctions.datatype(t).value});M.functionHandlers.set("bound",(n,e)=>{let t=n[0];if(t.type==="variable"&&t.name){let r=e.solution.get(t.name);return k.BuiltInFunctions.bound(r)}return!0});var OA=o((n,e)=>{let t=e.getTermFromExpression(n[0],e.solution);return k.BuiltInFunctions.isIRI(t)},"isIriHandler");M.functionHandlers.set("isiri",OA);M.functionHandlers.set("isuri",OA);M.functionHandlers.set("isblank",(n,e)=>{let t=e.getTermFromExpression(n[0],e.solution);return k.BuiltInFunctions.isBlank(t)});M.functionHandlers.set("isliteral",(n,e)=>{let t=e.getTermFromExpression(n[0],e.solution);return k.BuiltInFunctions.isLiteral(t)});M.functionHandlers.set("isnumeric",(n,e)=>{let t=e.getTermFromExpression(n[0],e.solution);return k.BuiltInFunctions.isNumeric(t)});M.functionHandlers.set("haslangdir",(n,e)=>{let t=e.getTermFromExpression(n[0],e.solution);return k.BuiltInFunctions.hasLangdir(t)});M.functionHandlers.set("istriple",(n,e)=>{let t=e.getTermFromExpression(n[0],e.solution);return k.BuiltInFunctions.isTriple(t)});M.functionHandlers.set("sameterm",(n,e)=>{let t=e.getTermFromExpression(n[0],e.solution),r=e.getTermFromExpression(n[1],e.solution);return k.BuiltInFunctions.sameTerm(t,r)});M.functionHandlers.set("abs",(n,e)=>{let t=Number(e.getStringValue(e.evaluateExpression(n[0],e.solution)));return k.BuiltInFunctions.abs(t)});M.functionHandlers.set("round",(n,e)=>{let t=Number(e.getStringValue(e.evaluateExpression(n[0],e.solution)));return k.BuiltInFunctions.round(t)});M.functionHandlers.set("ceil",(n,e)=>{let t=Number(e.getStringValue(e.evaluateExpression(n[0],e.solution)));return k.BuiltInFunctions.ceil(t)});M.functionHandlers.set("floor",(n,e)=>{let t=Number(e.getStringValue(e.evaluateExpression(n[0],e.solution)));return k.BuiltInFunctions.floor(t)});M.functionHandlers.set("rand",()=>k.BuiltInFunctions.rand());M.functionHandlers.set("parsedate",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution));return k.BuiltInFunctions.parseDate(t)});M.functionHandlers.set("datebefore",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution)),r=e.getStringValue(e.evaluateExpression(n[1],e.solution));return k.BuiltInFunctions.dateBefore(t,r)});M.functionHandlers.set("dateafter",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution)),r=e.getStringValue(e.evaluateExpression(n[1],e.solution));return k.BuiltInFunctions.dateAfter(t,r)});M.functionHandlers.set("dateinrange",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution)),r=e.getStringValue(e.evaluateExpression(n[1],e.solution)),i=e.getStringValue(e.evaluateExpression(n[2],e.solution));return k.BuiltInFunctions.dateInRange(t,r,i)});M.functionHandlers.set("datediffminutes",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution)),r=e.getStringValue(e.evaluateExpression(n[1],e.solution));return k.BuiltInFunctions.dateDiffMinutes(t,r)});M.functionHandlers.set("datediffhours",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution)),r=e.getStringValue(e.evaluateExpression(n[1],e.solution));return k.BuiltInFunctions.dateDiffHours(t,r)});var Bc=o((n,e,t)=>(r,i)=>{let s=i.evaluateExpression(r[0],i.solution);return e&&i.isYearMonthDurationValue(s)?e(s):t&&i.isDayTimeDurationValue(s)?t(s):n(i.getStringValue(s))},"createDateTimeAccessor"),PA=Bc(k.BuiltInFunctions.year.bind(k.BuiltInFunctions),k.BuiltInFunctions.durationYears.bind(k.BuiltInFunctions),null);M.functionHandlers.set("year",PA);M.functionHandlers.set("years",PA);var FA=Bc(k.BuiltInFunctions.month.bind(k.BuiltInFunctions),k.BuiltInFunctions.durationMonths.bind(k.BuiltInFunctions),null);M.functionHandlers.set("month",FA);M.functionHandlers.set("months",FA);var DA=Bc(k.BuiltInFunctions.day.bind(k.BuiltInFunctions),null,k.BuiltInFunctions.durationDays.bind(k.BuiltInFunctions));M.functionHandlers.set("day",DA);M.functionHandlers.set("days",DA);M.functionHandlers.set("hours",Bc(k.BuiltInFunctions.hours.bind(k.BuiltInFunctions),null,k.BuiltInFunctions.durationHours.bind(k.BuiltInFunctions)));M.functionHandlers.set("minutes",Bc(k.BuiltInFunctions.minutes.bind(k.BuiltInFunctions),null,k.BuiltInFunctions.durationMinutes.bind(k.BuiltInFunctions)));M.functionHandlers.set("seconds",Bc(k.BuiltInFunctions.seconds.bind(k.BuiltInFunctions),null,k.BuiltInFunctions.durationSeconds.bind(k.BuiltInFunctions)));M.functionHandlers.set("timezone",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution));return k.BuiltInFunctions.timezone(t)});M.functionHandlers.set("tz",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution));return k.BuiltInFunctions.tz(t)});M.functionHandlers.set("adjust",(n,e)=>{let t=e.evaluateExpression(n[0],e.solution),r=n.length>1?e.evaluateExpression(n[1],e.solution):void 0;return k.BuiltInFunctions.adjust(t,r)});M.functionHandlers.set("now",()=>k.BuiltInFunctions.now());var NA=o((n,e)=>{let t=e.evaluateExpression(n[0],e.solution);return k.BuiltInFunctions.xsdDateTime(e.getStringValue(t))},"dateTimeHandler");M.functionHandlers.set("datetime",NA);M.functionHandlers.set("xsd:datetime",NA);var LA=o((n,e)=>{let t=e.evaluateExpression(n[0],e.solution);return k.BuiltInFunctions.xsdInteger(e.getStringValue(t))},"integerHandler");M.functionHandlers.set("integer",LA);M.functionHandlers.set("xsd:integer",LA);var kA=o((n,e)=>{let t=e.evaluateExpression(n[0],e.solution);return k.BuiltInFunctions.xsdDecimal(e.getStringValue(t))},"decimalHandler");M.functionHandlers.set("decimal",kA);M.functionHandlers.set("xsd:decimal",kA);var MA=o((n,e)=>{let t=e.evaluateExpression(n[0],e.solution);return k.BuiltInFunctions.xsdDayTimeDuration(e.getStringValue(t))},"dayTimeDurationHandler");M.functionHandlers.set("daytimeduration",MA);M.functionHandlers.set("xsd:daytimeduration",MA);M.functionHandlers.set("durationtodays",(n,e)=>{let t=e.evaluateExpression(n[0],e.solution);return k.BuiltInFunctions.durationToDays(t)});M.functionHandlers.set("durationtohours",(n,e)=>{let t=e.evaluateExpression(n[0],e.solution);return k.BuiltInFunctions.durationToHours(t)});M.functionHandlers.set("durationtominutes",(n,e)=>{let t=e.evaluateExpression(n[0],e.solution);return k.BuiltInFunctions.durationToMinutes(t)});M.functionHandlers.set("durationtoseconds",(n,e)=>{let t=e.evaluateExpression(n[0],e.solution);return k.BuiltInFunctions.durationToSeconds(t)});M.functionHandlers.set("durationdays",(n,e)=>{let t=e.evaluateExpression(n[0],e.solution);return k.BuiltInFunctions.durationDays(t)});M.functionHandlers.set("durationhours",(n,e)=>{let t=e.evaluateExpression(n[0],e.solution);return k.BuiltInFunctions.durationHours(t)});M.functionHandlers.set("durationminutes",(n,e)=>{let t=e.evaluateExpression(n[0],e.solution);return k.BuiltInFunctions.durationMinutes(t)});M.functionHandlers.set("durationseconds",(n,e)=>{let t=e.evaluateExpression(n[0],e.solution);return k.BuiltInFunctions.durationSeconds(t)});M.functionHandlers.set("durationyears",(n,e)=>{let t=e.evaluateExpression(n[0],e.solution);return k.BuiltInFunctions.durationYears(t)});M.functionHandlers.set("durationmonths",(n,e)=>{let t=e.evaluateExpression(n[0],e.solution);return k.BuiltInFunctions.durationMonths(t)});M.functionHandlers.set("datetimediff",(n,e)=>{let t=e.evaluateExpression(n[0],e.solution),r=e.evaluateExpression(n[1],e.solution);return k.BuiltInFunctions.dateTimeDiff(t,r)});M.functionHandlers.set("datetimeadd",(n,e)=>{let t=e.evaluateExpression(n[0],e.solution),r=e.evaluateExpression(n[1],e.solution);return k.BuiltInFunctions.dateTimeAdd(t,r)});M.functionHandlers.set("datetimesubtract",(n,e)=>{let t=e.evaluateExpression(n[0],e.solution),r=e.evaluateExpression(n[1],e.solution);return k.BuiltInFunctions.dateTimeSubtract(t,r)});M.functionHandlers.set("mstominutes",(n,e)=>{let t=Number(e.evaluateExpression(n[0],e.solution));return k.BuiltInFunctions.msToMinutes(t)});M.functionHandlers.set("mstohours",(n,e)=>{let t=Number(e.evaluateExpression(n[0],e.solution));return k.BuiltInFunctions.msToHours(t)});M.functionHandlers.set("mstoseconds",(n,e)=>{let t=Number(e.evaluateExpression(n[0],e.solution));return k.BuiltInFunctions.msToSeconds(t)});M.functionHandlers.set("md5",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution));return k.BuiltInFunctions.md5(t)});M.functionHandlers.set("sha1",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution));return k.BuiltInFunctions.sha1(t)});M.functionHandlers.set("sha256",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution));return k.BuiltInFunctions.sha256(t)});M.functionHandlers.set("sha384",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution));return k.BuiltInFunctions.sha384(t)});M.functionHandlers.set("sha512",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution));return k.BuiltInFunctions.sha512(t)});M.functionHandlers.set("subject",(n,e)=>{let t=e.getTermFromExpression(n[0],e.solution);return k.BuiltInFunctions.subject(t)});M.functionHandlers.set("predicate",(n,e)=>{let t=e.getTermFromExpression(n[0],e.solution);return k.BuiltInFunctions.predicate(t)});M.functionHandlers.set("object",(n,e)=>{let t=e.getTermFromExpression(n[0],e.solution);return k.BuiltInFunctions.object(t)});M.functionHandlers.set("triple",(n,e)=>{let t=e.getTermFromExpression(n[0],e.solution),r=e.getTermFromExpression(n[1],e.solution),i=e.getTermFromExpression(n[2],e.solution);return k.BuiltInFunctions.triple(t,r,i)});M.functionHandlers.set("days_between",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution)),r=e.getStringValue(e.evaluateExpression(n[1],e.solution)),i=new Date(t),s=new Date(r);return Math.floor((s.getTime()-i.getTime())/(1440*60*1e3))});M.functionHandlers.set("minutes_between",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution)),r=e.getStringValue(e.evaluateExpression(n[1],e.solution)),i=new Date(t),s=new Date(r);return Math.floor((s.getTime()-i.getTime())/(60*1e3))});M.functionHandlers.set("hours_between",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution)),r=e.getStringValue(e.evaluateExpression(n[1],e.solution)),i=new Date(t);return(new Date(r).getTime()-i.getTime())/(3600*1e3)});M.functionHandlers.set("age_days",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution)),r=new Date(t);return Math.floor((new Date().getTime()-r.getTime())/(1440*60*1e3))});M.functionHandlers.set("week_number",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution)),r=new Date(t),i=new Date(Date.UTC(r.getFullYear(),r.getMonth(),r.getDate()));i.setUTCDate(i.getUTCDate()+4-(i.getUTCDay()||7));let s=new Date(Date.UTC(i.getUTCFullYear(),0,1));return Math.ceil(((i.getTime()-s.getTime())/(1440*60*1e3)+1)/7)});M.functionHandlers.set("format_date",(n,e)=>{let t=e.getStringValue(e.evaluateExpression(n[0],e.solution)),r=e.getStringValue(e.evaluateExpression(n[1],e.solution)),i=new Date(t);return r.replace("YYYY",String(i.getFullYear())).replace("MM",String(i.getMonth()+1).padStart(2,"0")).replace("DD",String(i.getDate()).padStart(2,"0")).replace("HH",String(i.getHours()).padStart(2,"0")).replace("mm",String(i.getMinutes()).padStart(2,"0")).replace("ss",String(i.getSeconds()).padStart(2,"0"))});M.functionHandlers.set("exo:eval",()=>{let{ExoQLEvalDisabledError:n}=Uu();throw new n})});var _p=S(Vc=>{"use strict";Object.defineProperty(Vc,"__esModule",{value:!0});Vc.FilterExecutor=Vc.FilterExecutorError=void 0;var yt=yp(),yj=jA(),_j=xe(),Aa=Ve(),hr=class extends Error{static{o(this,"FilterExecutorError")}constructor(e,t){super(e,t?{cause:t}:void 0),this.name="FilterExecutorError"}};Vc.FilterExecutorError=hr;var d1=class{static{o(this,"FilterExecutor")}constructor(){this.existsEvaluator=null,this.tripleStore=null,this.uuidCache=new Map}setExistsEvaluator(e){this.existsEvaluator=e}setTripleStore(e){this.tripleStore=e,this.uuidCache.clear()}async*execute(e,t){let r=this.expressionContainsExists(e.expression);for await(let i of t)try{let s;r?s=await this.evaluateExpressionAsync(e.expression,i):s=this.evaluateExpression(e.expression,i),s===!0&&(yield i)}catch{continue}}expressionContainsExists(e){if(!e||typeof e!="object")return!1;if(e.type==="exists")return!0;if(e.type==="logical")return e.operands.some(t=>this.expressionContainsExists(t));if(e.type==="comparison"){let t=e;return this.expressionContainsExists(t.left)||this.expressionContainsExists(t.right)}if(e.type==="arithmetic"){let t=e;return this.expressionContainsExists(t.left)||this.expressionContainsExists(t.right)}if(e.type==="in"){let t=e;return this.expressionContainsExists(t.expression)||t.list.some(r=>this.expressionContainsExists(r))}if(e.type==="function"||e.type==="functionCall"){let t=e;return Array.isArray(t.args)?t.args.some(r=>this.expressionContainsExists(r)):!1}return!1}async executeAll(e,t){let r=[];async function*i(){for(let s of t)yield s}o(i,"generator");for await(let s of this.execute(e,i()))r.push(s);return r}evaluateExpression(e,t){let r=e;if("termType"in e)switch(r.termType){case"Variable":return t.get(r.value);case"Literal":return r.value;case"NamedNode":return r.value;default:throw new hr(`Unsupported termType: ${String(r.termType)}`)}switch(e.type){case"comparison":return this.evaluateComparison(e,t);case"logical":return this.evaluateLogical(e,t);case"arithmetic":return this.evaluateArithmetic(e,t);case"function":case"functionCall":return this.evaluateFunction(e,t);case"variable":return t.get(e.name);case"literal":return e.value;case"in":return this.evaluateIn(e,t);case"exists":throw new hr("EXISTS expressions require async evaluation. Use evaluateExpressionAsync instead.");default:throw new hr(`Unsupported expression type: ${e.type}`)}}async evaluateExpressionAsync(e,t){if(!this.expressionContainsExists(e))return this.evaluateExpression(e,t);if(e.type==="exists")return this.evaluateExists(e,t);if(e.type==="logical")return this.evaluateLogicalAsync(e,t);if(e.type==="comparison"){let r=e,i=await this.evaluateExpressionAsync(r.left,t),s=await this.evaluateExpressionAsync(r.right,t);return yt.BuiltInFunctions.compare(i,s,r.operator)}return e.type==="in"?this.evaluateInAsync(e,t):e.type==="function"||e.type==="functionCall"?this.evaluateFunctionAsync(e,t):this.evaluateExpression(e,t)}async evaluateExists(e,t){if(!this.existsEvaluator)throw new hr("EXISTS evaluator not set. Call setExistsEvaluator before evaluating EXISTS expressions.");let r=await this.existsEvaluator(e.pattern,t);return e.negated?!r:r}async evaluateLogicalAsync(e,t){if(e.operator==="!"){let i=await this.evaluateExpressionAsync(e.operands[0],t);return yt.BuiltInFunctions.logicalNot(i)}let r=[];for(let i of e.operands){let s=await this.evaluateExpressionAsync(i,t);r.push(s)}if(e.operator==="&&")return yt.BuiltInFunctions.logicalAnd(r);if(e.operator==="||")return yt.BuiltInFunctions.logicalOr(r);throw new hr(`Unknown logical operator: ${String(e.operator)}`)}async evaluateInAsync(e,t){let r=await this.evaluateExpressionAsync(e.expression,t),i=!1;for(let s of e.list){let a=await this.evaluateExpressionAsync(s,t);if(yt.BuiltInFunctions.compare(r,a,"=")){i=!0;break}}return e.negated?!i:i}async evaluateFunctionAsync(e,t){let r=e,i=this.extractFunctionName(r.function),s=r.args??[];if(i==="if"){if(s.length!==3)throw new hr("IF requires exactly 3 arguments");let l=await this.evaluateExpressionAsync(s[0],t);return this.toBoolean(l)?this.evaluateExpressionAsync(s[1],t):this.evaluateExpressionAsync(s[2],t)}if(i==="coalesce"){for(let l of s)try{let u=await this.evaluateExpressionAsync(l,t);if(u!=null)return u}catch{continue}return}let a=[];for(let l of s){let u=await this.evaluateExpressionAsync(l,t);a.push(this.wrapAsLiteralExpression(u))}let c={...r,args:a};return this.evaluateFunction(c,t)}wrapAsLiteralExpression(e){return e==null?{type:"literal",value:""}:typeof e=="object"&&e!==null&&"termType"in e?e:e instanceof _j.IRI||e instanceof Aa.Literal?{type:"literal",value:e.value}:typeof e=="number"||typeof e=="boolean"||typeof e=="string"?{type:"literal",value:e}:{type:"literal",value:String(e)}}evaluateComparison(e,t){let r=this.evaluateExpression(e.left,t),i=this.evaluateExpression(e.right,t);return yt.BuiltInFunctions.compare(r,i,e.operator)}evaluateLogical(e,t){if(e.operator==="!"){let i=this.evaluateExpression(e.operands[0],t);return yt.BuiltInFunctions.logicalNot(i)}let r=e.operands.map(i=>this.evaluateExpression(i,t));if(e.operator==="&&")return yt.BuiltInFunctions.logicalAnd(r);if(e.operator==="||")return yt.BuiltInFunctions.logicalOr(r);throw new hr(`Unknown logical operator: ${String(e.operator)}`)}evaluateIn(e,t){let r=this.evaluateExpression(e.expression,t),i=e.list.some(s=>{let a=this.evaluateExpression(s,t);return yt.BuiltInFunctions.compare(r,a,"=")});return e.negated?!i:i}evaluateArithmetic(e,t){let r=this.evaluateExpression(e.left,t),i=this.evaluateExpression(e.right,t);if(e.operator==="-"&&this.isDateValue(r)&&this.isDateValue(i))return yt.BuiltInFunctions.dateDiff(r,i);if(e.operator==="-"&&this.isTimeValue(r)&&this.isTimeValue(i))return yt.BuiltInFunctions.timeDiff(r,i);if(e.operator==="-"&&this.isDateTimeValue(r)&&this.isDateTimeValue(i))return yt.BuiltInFunctions.dateTimeDiff(r,i);if(e.operator==="+"&&this.isDateValue(r)&&this.isDayTimeDurationValue(i))return yt.BuiltInFunctions.dateAdd(r,i);if(e.operator==="-"&&this.isDateValue(r)&&this.isDayTimeDurationValue(i))return yt.BuiltInFunctions.dateSubtract(r,i);if(e.operator==="+"&&this.isDateValue(r)&&this.isYearMonthDurationValue(i))return yt.BuiltInFunctions.dateAddYearMonth(r,i);if(e.operator==="-"&&this.isDateValue(r)&&this.isYearMonthDurationValue(i))return yt.BuiltInFunctions.dateSubtractYearMonth(r,i);if(e.operator==="+"&&this.isDateTimeValue(r)&&this.isDayTimeDurationValue(i))return yt.BuiltInFunctions.dateTimeAdd(r,i);if(e.operator==="-"&&this.isDateTimeValue(r)&&this.isDayTimeDurationValue(i))return yt.BuiltInFunctions.dateTimeSubtract(r,i);if(e.operator==="+"&&this.isDateTimeValue(r)&&this.isYearMonthDurationValue(i))return yt.BuiltInFunctions.dateTimeAddYearMonth(r,i);if(e.operator==="-"&&this.isDateTimeValue(r)&&this.isYearMonthDurationValue(i))return yt.BuiltInFunctions.dateTimeSubtractYearMonth(r,i);if(e.operator==="+"&&this.isDayTimeDurationValue(r)&&this.isDayTimeDurationValue(i))return yt.BuiltInFunctions.durationAdd(r,i);if(e.operator==="-"&&this.isDayTimeDurationValue(r)&&this.isDayTimeDurationValue(i))return yt.BuiltInFunctions.durationSubtract(r,i);if(e.operator==="*"&&this.isDayTimeDurationValue(r)&&!this.isDayTimeDurationValue(i)){let c=this.toNumericValue(i);return yt.BuiltInFunctions.durationMultiply(r,c)}if(e.operator==="*"&&!this.isDayTimeDurationValue(r)&&this.isDayTimeDurationValue(i)){let c=this.toNumericValue(r);return yt.BuiltInFunctions.durationMultiply(i,c)}if(e.operator==="/"&&this.isDayTimeDurationValue(r)&&!this.isDayTimeDurationValue(i)){let c=this.toNumericValue(i);if(c===0)throw new hr("Division by zero");return yt.BuiltInFunctions.durationDivide(r,c)}if(e.operator==="+"&&this.isYearMonthDurationValue(r)&&this.isYearMonthDurationValue(i))return yt.BuiltInFunctions.yearMonthDurationAdd(r,i);if(e.operator==="-"&&this.isYearMonthDurationValue(r)&&this.isYearMonthDurationValue(i))return yt.BuiltInFunctions.yearMonthDurationSubtract(r,i);let s=this.toNumericValue(r),a=this.toNumericValue(i);switch(e.operator){case"+":return s+a;case"-":return s-a;case"*":return s*a;case"/":if(a===0)throw new hr("Division by zero");return s/a;default:throw new hr(`Unknown arithmetic operator: ${String(e.operator)}`)}}isDayTimeDurationValue(e){return e instanceof Aa.Literal?(e.datatype?.value||"")==="http://www.w3.org/2001/XMLSchema#dayTimeDuration":!1}isYearMonthDurationValue(e){return e instanceof Aa.Literal?(e.datatype?.value||"")==="http://www.w3.org/2001/XMLSchema#yearMonthDuration":!1}toNumericValue(e){if(typeof e=="number")return e;if(e instanceof Aa.Literal){let t=e.datatype?.value||"";if(t.includes("#integer")||t.includes("#decimal")||t.includes("#double")||t.includes("#float")){let i=parseFloat(e.value);if(!isNaN(i))return i}let r=parseFloat(e.value);if(!isNaN(r))return r}if(typeof e=="string"){let t=parseFloat(e);if(!isNaN(t))return t}if(e&&typeof e=="object"&&"value"in e){let t=parseFloat(String(e.value));if(!isNaN(t))return t}throw new hr(`Cannot convert to number: ${e}`)}isDateTimeValue(e){if(e instanceof Aa.Literal){let t=e.datatype?.value||"";return t.includes("#dateTime")||t.includes("#date")?!0:/^\d{4}-\d{2}-\d{2}(T|\s)/.test(e.value)}return typeof e=="string"?/^\d{4}-\d{2}-\d{2}(T|\s)/.test(e):!1}isDateValue(e){return e instanceof Aa.Literal?(e.datatype?.value||"")==="http://www.w3.org/2001/XMLSchema#date":!1}isTimeValue(e){return e instanceof Aa.Literal?(e.datatype?.value||"")==="http://www.w3.org/2001/XMLSchema#time":!1}evaluateFunction(e,t){let r=e,i=this.extractFunctionName(r.function),s=this.evaluateSpecialFunction(i,r.args,t);if(s!==void 0)return s.value;let a=yj.functionHandlers.get(i);if(!a)throw new hr(`Unknown function: ${i}`);let c={evaluateExpression:o((l,u)=>this.evaluateExpression(l,u),"evaluateExpression"),getTermFromExpression:o((l,u)=>this.getTermFromExpression(l,u),"getTermFromExpression"),getStringValue:o(l=>this.getStringValue(l),"getStringValue"),solution:t,isYearMonthDurationValue:o(l=>this.isYearMonthDurationValue(l),"isYearMonthDurationValue"),isDayTimeDurationValue:o(l=>this.isDayTimeDurationValue(l),"isDayTimeDurationValue")};return a(r.args,c)}extractFunctionName(e){if(typeof e=="string")return e.toLowerCase();if(e&&typeof e=="object"&&"value"in e){let t=e.value;return((t.includes("#")?t.split("#").pop():t.split("/").pop())||t).toLowerCase()}throw new hr(`Unknown function format: ${String(e)}`)}evaluateSpecialFunction(e,t,r){switch(e){case"coalesce":for(let i of t)try{let s=this.evaluateExpression(i,r);if(s!=null)return{value:s}}catch{continue}return{value:void 0};case"if":{if(!t||t.length!==3)throw new hr("IF requires exactly 3 arguments");let i=this.evaluateExpression(t[0],r);return{value:this.toBoolean(i)?this.evaluateExpression(t[1],r):this.evaluateExpression(t[2],r)}}case"byuuid":return{value:this.evaluateByUUID({type:"function",function:"byuuid",args:t},r)};default:return}}getTermFromExpression(e,t){let r=e;if(r.type==="variable"&&r.name)return t.get(r.name)}getStringValue(e){return e==null?"":typeof e=="object"&&"value"in e?String(e.value):String(e)}toBoolean(e){if(typeof e=="boolean")return e;if(typeof e=="number")return!isNaN(e)&&e!==0;if(typeof e=="string")return e.length>0;if(e instanceof Aa.Literal){let t=e.datatype?.value||"";if(t.includes("#boolean"))return e.value==="true"||e.value==="1";if(t.includes("#integer")||t.includes("#decimal")||t.includes("#double")||t.includes("#float")){let r=parseFloat(e.value);return!isNaN(r)&&r!==0}return e.value.length>0}return!!e}evaluateByUUID(e,t){if(!e.args||e.args.length!==1)throw new hr("exo:byUUID requires exactly 1 argument (UUID string)");let r=this.evaluateExpression(e.args[0],t),i=this.getStringValue(r);if(!i)return;let s=i.toLowerCase();if(this.uuidCache.has(s))return this.uuidCache.get(s)??void 0;if(!this.tripleStore){this.uuidCache.set(s,null);return}if(this.tripleStore.findSubjectsByUUIDSync){let a=this.tripleStore.findSubjectsByUUIDSync(s);if(a.length===0){this.uuidCache.set(s,null);return}let c=a[0];return this.uuidCache.set(s,c),c}this.uuidCache.set(s,null)}cacheUUIDResult(e,t){let r=e.toLowerCase();this.uuidCache.set(r,t)}getCachedUUID(e){let t=e.toLowerCase();if(this.uuidCache.has(t))return this.uuidCache.get(t)}};Vc.FilterExecutor=d1});var p1=S(Sp=>{"use strict";Object.defineProperty(Sp,"__esModule",{value:!0});Sp.OptionalExecutor=void 0;var h1=class{static{o(this,"OptionalExecutor")}async*execute(e,t){let r=[];for await(let s of e)r.push(s);let i=[];for await(let s of t)i.push(s);yield*this.hashJoin(r,i)}async executeAll(e,t){let r=[];for(let i of this.hashJoin(e,t))r.push(i);return r}*hashJoin(e,t){if(e.length===0)return;if(t.length===0){yield*e;return}let r=new Set;for(let l of e)for(let u of l.variables())r.add(u);let i=new Set;for(let l of t)for(let u of l.variables())i.add(u);let s=[];for(let l of r)i.has(l)&&s.push(l);if(s.sort(),s.length===0){yield*this.nestedLoopJoin(e,t);return}let a="\0",c=new Map;for(let l of t){let u=this.computeHashKey(l,s,a),f=c.get(u);f||(f=[],c.set(u,f)),f.push(l)}for(let l of e){let u=this.computeHashKey(l,s,a),f=c.get(u),d=!1;if(f)for(let h of f){let p=l.merge(h);p!==null&&(yield p,d=!0)}d||(yield l)}}computeHashKey(e,t,r){let i=[];for(let s of t){let a=e.get(s);i.push(a!==void 0?a.toString():"UNBOUND")}return i.join(r)}*nestedLoopJoin(e,t){for(let r of e){let i=!1;for(let s of t){let a=r.merge(s);a!==null&&(yield a,i=!0)}i||(yield r)}}};Sp.OptionalExecutor=h1});var g1=S(bp=>{"use strict";Object.defineProperty(bp,"__esModule",{value:!0});bp.UnionExecutor=void 0;var m1=class{static{o(this,"UnionExecutor")}async*execute(e,t){let r=new Set;for await(let i of e){let s=this.getSolutionKey(i);r.has(s)||(r.add(s),yield i)}for await(let i of t){let s=this.getSolutionKey(i);r.has(s)||(r.add(s),yield i)}}async executeAll(e,t){let r=[];async function*i(){for(let a of e)yield a}o(i,"generateLeft");async function*s(){for(let a of t)yield a}o(s,"generateRight");for await(let a of this.execute(i(),s()))r.push(a);return r}getSolutionKey(e){let t=e.toJSON();return Object.keys(t).sort().map(i=>`${i}=${t[i]}`).join("|")}};bp.UnionExecutor=m1});var $A=S(vp=>{"use strict";Object.defineProperty(vp,"__esModule",{value:!0});vp.MinusExecutor=void 0;var y1=class{static{o(this,"MinusExecutor")}async*execute(e,t){let r=[];for await(let s of e)r.push(s);let i=[];for await(let s of t)i.push(s);for(let s of r){let a=!1;for(let c of i)if(this.areCompatible(s,c)){a=!0;break}a||(yield s)}}async executeAll(e,t){let r=[];async function*i(){for(let a of e)yield a}o(i,"generateLeft");async function*s(){for(let a of t)yield a}o(s,"generateRight");for await(let a of this.execute(i(),s()))r.push(a);return r}areCompatible(e,t){let r=e.variables(),i=new Set(t.variables()),s=r.filter(a=>i.has(a));if(s.length===0)return!1;for(let a of s){let c=e.get(a),l=t.get(a);if(c===void 0||l===void 0||c.toString()!==l.toString())return!1}return!0}};vp.MinusExecutor=y1});var VA=S(Uc=>{"use strict";Object.defineProperty(Uc,"__esModule",{value:!0});Uc.ValuesExecutor=Uc.ValuesExecutorError=void 0;var Sj=rs(),BA=xe(),bj=Ve(),wp=class extends Error{static{o(this,"ValuesExecutorError")}constructor(e,t){super(e,t?{cause:t}:void 0),this.name="ValuesExecutorError"}};Uc.ValuesExecutorError=wp;var _1=class{static{o(this,"ValuesExecutor")}async*execute(e){if(e.bindings.length!==0)for(let t of e.bindings)yield this.createSolutionMapping(t)}async executeAll(e){let t=[];for await(let r of this.execute(e))t.push(r);return t}createSolutionMapping(e){let t=new Sj.SolutionMapping;for(let[r,i]of Object.entries(e)){let s=this.toRDFTerm(i);t.set(r,s)}return t}toRDFTerm(e){if(e.type==="iri")return new BA.IRI(e.value);if(e.type==="literal")return new bj.Literal(e.value,e.datatype?new BA.IRI(e.datatype):void 0,e.language,e.direction);throw new wp(`Unknown term type: ${e.type}`)}};Uc.ValuesExecutor=_1});var S1=S(Wc=>{"use strict";Object.defineProperty(Wc,"__esModule",{value:!0});Wc.CustomAggregateRegistry=Wc.CustomAggregateError=void 0;var qc=class extends Error{static{o(this,"CustomAggregateError")}constructor(e,t){super(e),this.iri=t,this.name="CustomAggregateError"}};Wc.CustomAggregateError=qc;var Ep=class n{static{o(this,"CustomAggregateRegistry")}constructor(){this.aggregates=new Map}static getInstance(){return n.instance||(n.instance=new n),n.instance}static resetInstance(){n.instance&&n.instance.clear(),n.instance=null}register(e,t){if(!e||typeof e!="string")throw new qc("Aggregate IRI must be a non-empty string");if(!t||typeof t.init!="function"||typeof t.step!="function"||typeof t.finalize!="function")throw new qc("Aggregate must implement init(), step(), and finalize() methods",e);if(this.aggregates.has(e))throw new qc(`Aggregate with IRI "${e}" is already registered`,e);this.aggregates.set(e,t)}unregister(e){return this.aggregates.delete(e)}get(e){return this.aggregates.get(e)}has(e){return this.aggregates.has(e)}getRegisteredIris(){return Array.from(this.aggregates.keys())}clear(){this.aggregates.clear()}get size(){return this.aggregates.size}};Wc.CustomAggregateRegistry=Ep;Ep.instance=null});var b1=S(Je=>{"use strict";Object.defineProperty(Je,"__esModule",{value:!0});Je.BUILT_IN_AGGREGATES=Je.modeAggregate=Je.stddevAggregate=Je.varianceAggregate=Je.medianAggregate=Je.EXO_AGGREGATE_NS=void 0;Je.getNumericValue=Tp;Je.createDecimalLiteral=ci;Je.createDoubleLiteral=Ej;Je.createPercentileAggregate=vo;var wo=Ve(),Gc=xe(),vj=new Gc.IRI("http://www.w3.org/2001/XMLSchema#decimal"),wj=new Gc.IRI("http://www.w3.org/2001/XMLSchema#double");Je.EXO_AGGREGATE_NS="https://exocortex.my/ontology/agg#";function Tp(n){return n==null?NaN:typeof n=="number"?n:typeof n=="string"?parseFloat(n):n instanceof wo.Literal?parseFloat(n.value):n instanceof Gc.IRI?NaN:typeof n=="boolean"?n?1:0:NaN}o(Tp,"getNumericValue");function ci(n){return new wo.Literal(String(n),vj)}o(ci,"createDecimalLiteral");function Ej(n){return new wo.Literal(String(n),wj)}o(Ej,"createDoubleLiteral");Je.medianAggregate={init(){return{values:[]}},step(n,e){let t=n,r=Tp(e);isNaN(r)||t.values.push(r)},finalize(n){let e=n,{values:t}=e;if(t.length===0)return ci(0);let r=[...t].sort((a,c)=>a-c),i=Math.floor(r.length/2),s=r.length%2!==0?r[i]:(r[i-1]+r[i])/2;return ci(s)}};Je.varianceAggregate={init(){return{values:[]}},step(n,e){let t=n,r=Tp(e);isNaN(r)||t.values.push(r)},finalize(n){let e=n,{values:t}=e;if(t.length===0)return ci(0);let r=t.reduce((s,a)=>s+a,0)/t.length,i=t.reduce((s,a)=>s+Math.pow(a-r,2),0)/t.length;return ci(i)}};Je.stddevAggregate={init(){return{values:[]}},step(n,e){Je.varianceAggregate.step(n,e)},finalize(n){let e=n,{values:t}=e;if(t.length===0)return ci(0);let r=t.reduce((s,a)=>s+a,0)/t.length,i=t.reduce((s,a)=>s+Math.pow(a-r,2),0)/t.length;return ci(Math.sqrt(i))}};Je.modeAggregate={init(){return{counts:new Map,values:new Map}},step(n,e){if(e==null)return;let t=n,r=String(e instanceof wo.Literal||e instanceof Gc.IRI?e.value:e),i=t.counts.get(r)||0;t.counts.set(r,i+1),t.values.set(r,e)},finalize(n){let e=n;if(e.counts.size===0)return new wo.Literal(" ",new Gc.IRI("http://www.w3.org/2001/XMLSchema#string"));let t="",r=0;for(let[a,c]of e.counts)c>r&&(r=c,t=a);let i=e.values.get(t);if(i instanceof wo.Literal)return i;let s=parseFloat(t);return isNaN(s)?new wo.Literal(t,new Gc.IRI("http://www.w3.org/2001/XMLSchema#string")):ci(s)}};function vo(n){let e=Math.max(0,Math.min(100,n))/100;return{init(){return{values:[],percentile:e}},step(t,r){let i=t,s=Tp(r);isNaN(s)||i.values.push(s)},finalize(t){let r=t,{values:i}=r;if(i.length===0)return ci(0);let s=[...i].sort((d,h)=>d-h),a=r.percentile*(s.length-1),c=Math.floor(a),l=Math.ceil(a);if(c===l)return ci(s[c]);let u=a-c,f=s[c]*(1-u)+s[l]*u;return ci(f)}}}o(vo,"createPercentileAggregate");Je.BUILT_IN_AGGREGATES={[`${Je.EXO_AGGREGATE_NS}median`]:Je.medianAggregate,[`${Je.EXO_AGGREGATE_NS}variance`]:Je.varianceAggregate,[`${Je.EXO_AGGREGATE_NS}stddev`]:Je.stddevAggregate,[`${Je.EXO_AGGREGATE_NS}mode`]:Je.modeAggregate,[`${Je.EXO_AGGREGATE_NS}percentile25`]:vo(25),[`${Je.EXO_AGGREGATE_NS}percentile50`]:vo(50),[`${Je.EXO_AGGREGATE_NS}percentile75`]:vo(75),[`${Je.EXO_AGGREGATE_NS}percentile90`]:vo(90),[`${Je.EXO_AGGREGATE_NS}percentile95`]:vo(95),[`${Je.EXO_AGGREGATE_NS}percentile99`]:vo(99)}});var WA=S(zc=>{"use strict";Object.defineProperty(zc,"__esModule",{value:!0});zc.AggregateExecutor=zc.AggregateExecutorError=void 0;var ar=Ve(),w1=xe(),Tj=_p(),Aj=S1(),xj=b1(),UA=new w1.IRI("http://www.w3.org/2001/XMLSchema#integer"),Eo=new w1.IRI("http://www.w3.org/2001/XMLSchema#decimal"),is=new w1.IRI("http://www.w3.org/2001/XMLSchema#string");function qA(n){return typeof n=="object"&&n.type==="custom"}o(qA,"isCustomAggregation");var qu=class extends Error{static{o(this,"AggregateExecutorError")}constructor(e,t){super(e,t?{cause:t}:void 0),this.name="AggregateExecutorError"}};zc.AggregateExecutorError=qu;var v1=class{static{o(this,"AggregateExecutor")}constructor(){this.filterExecutor=new Tj.FilterExecutor}execute(e,t){let r=this.groupSolutions(t,e.variables),i=[];for(let[s,a]of r.entries()){let c=new Map;for(let f of e.variables)if(a.length>0){let d=a[0].get(f);d&&c.set(f,d)}for(let f of e.aggregates){let d=this.computeAggregate(f.expression,a);c.set(f.variable,d)}let{SolutionMapping:l}=rs(),u=new l;for(let[f,d]of c.entries())u.set(f,d);i.push(u)}if(i.length===0&&e.aggregates.length>0){let s=this.createEmptyAggregateResult(e);s&&i.push(s)}return i}groupSolutions(e,t){let r=new Map;if(t.length===0)return r.set("",e),r;for(let i of e){let s=this.computeGroupKey(i,t),a=r.get(s);a?a.push(i):r.set(s,[i])}return r}computeGroupKey(e,t){return t.map(r=>{let i=e.get(r);return i?this.termToString(i):""}).join("|")}termToString(e){if(e&&typeof e=="object"){if("value"in e)return String(e.value);if("id"in e)return String(e.id)}return String(e)}computeAggregate(e,t){if(qA(e.aggregation))return this.computeCustomAggregate(e,t);let r=this.extractValues(e,t),i=e.aggregation;switch(i){case"count":{let s=this.computeCount(r,e.distinct);return new ar.Literal(String(s),UA)}case"sum":{let s=this.computeSum(r);return new ar.Literal(String(s),Eo)}case"avg":{let s=this.computeAvg(r);return new ar.Literal(String(s),Eo)}case"min":{let s=this.computeMin(r);return s===void 0?new ar.Literal("",is):typeof s=="number"?new ar.Literal(String(s),Eo):new ar.Literal(String(s),is)}case"max":{let s=this.computeMax(r);return s===void 0?new ar.Literal("",is):typeof s=="number"?new ar.Literal(String(s),Eo):new ar.Literal(String(s),is)}case"group_concat":{let s=this.computeGroupConcat(r,e.separator||" ",e.distinct);return new ar.Literal(s||" ",is)}case"sample":{let s=this.computeSample(r,e.distinct);return s===void 0?new ar.Literal(" ",is):typeof s=="number"?new ar.Literal(String(s),Eo):new ar.Literal(String(s),is)}default:{let s=i;throw new qu(`Unknown aggregation function: ${s}`)}}}computeCustomAggregate(e,t){let i=e.aggregation.iri,a=Aj.CustomAggregateRegistry.getInstance().get(i);if(a||(a=xj.BUILT_IN_AGGREGATES[i]),!a)throw new qu(`Unknown custom aggregate function: ${i}. Register it with CustomAggregateRegistry.getInstance().register() or use a built-in aggregate.`);let c=a.init();for(let l of t){let u=null;if(e.expression){let f=this.evaluateExpression(e.expression,l);f!==void 0&&(u=f)}else u=1;a.step(c,u)}return a.finalize(c)}extractValues(e,t){if(!e.expression)return t.map(()=>1);let r=[];for(let i of t){let s=this.evaluateExpression(e.expression,i);s!=null&&r.push(s)}return r}evaluateExpression(e,t){if(e.type==="variable"){let r=t.get(e.name);return r==null?void 0:typeof r=="number"||typeof r=="string"||typeof r=="boolean"?r:typeof r=="object"&&"value"in r?r.value:r}if(e.type==="literal")return e.value;try{return this.filterExecutor.evaluateExpression(e,t)}catch{return}}computeCount(e,t){return t?new Set(e.map(r=>String(r))).size:e.length}computeSum(e){return e.map(r=>parseFloat(String(r))).filter(r=>!isNaN(r)).reduce((r,i)=>r+i,0)}computeAvg(e){let t=e.map(r=>parseFloat(String(r))).filter(r=>!isNaN(r));return t.length===0?0:t.reduce((r,i)=>r+i,0)/t.length}computeMin(e){if(e.length===0)return;let t=e.map(i=>parseFloat(String(i))).filter(i=>!isNaN(i));if(t.length>0)return Math.min(...t);let r=e.map(i=>String(i));return r.reduce((i,s)=>s<i?s:i,r[0])}computeMax(e){if(e.length===0)return;let t=e.map(i=>parseFloat(String(i))).filter(i=>!isNaN(i));if(t.length>0)return Math.max(...t);let r=e.map(i=>String(i));return r.reduce((i,s)=>s>i?s:i,r[0])}computeGroupConcat(e,t,r){let i=e.map(s=>String(s));return r&&(i=[...new Set(i)]),i.join(t)}computeSample(e,t){if(e.length===0)return;if(t){let s=[...new Set(e.map(l=>String(l)))];if(s.length===0)return;let a=s[0],c=parseFloat(a);return isNaN(c)?a:c}let r=e[0];if(typeof r=="number")return r;let i=parseFloat(String(r));return isNaN(i)?String(r):i}createEmptyAggregateResult(e){let{SolutionMapping:t}=rs(),r=new t;for(let i of e.aggregates){let s=i.expression.aggregation;if(qA(s)){r.set(i.variable,new ar.Literal("0",Eo));continue}switch(s){case"count":r.set(i.variable,new ar.Literal("0",UA));break;case"sum":case"avg":r.set(i.variable,new ar.Literal("0",Eo));break;case"group_concat":r.set(i.variable,new ar.Literal(" ",is));break;case"min":case"max":case"sample":r.set(i.variable,new ar.Literal("",is));break;default:r.set(i.variable,new ar.Literal("",is))}}return r}};zc.AggregateExecutor=v1});var x1=S(Ap=>{"use strict";Object.defineProperty(Ap,"__esModule",{value:!0});Ap.ConstructExecutor=void 0;var Cj=ii(),To=xe(),E1=Ve(),T1=qt(),Ij=bu(),A1=class{static{o(this,"ConstructExecutor")}async execute(e,t){let r=[],i=new Set;for(let s of t)for(let a of e)try{let c=this.instantiateTriple(a,s),l=`${c.subject.toString()}|${c.predicate.toString()}|${c.object.toString()}`;i.has(l)||(i.add(l),r.push(c))}catch{continue}return r}instantiateTriple(e,t){if(this.isPropertyPath(e.predicate))throw new Error("Property paths are not supported in CONSTRUCT templates");let r=this.instantiateElement(e.subject,t),i=this.instantiateElement(e.predicate,t),s=this.instantiateElement(e.object,t);return new Cj.Triple(r,i,s)}isPropertyPath(e){return e.type==="path"}instantiateElement(e,t){if(e.type==="variable"){let r=t.get(e.value);if(!r)throw new Error(`Unbound variable: ${e.value}`);return r}if(e.type==="iri")return new To.IRI(e.value);if(e.type==="literal")return new E1.Literal(e.value,e.datatype?new To.IRI(e.datatype):void 0,e.language);if(e.type==="blank")return new T1.BlankNode(e.value);if(e.type==="quoted")return this.instantiateQuotedTriple(e,t);throw new Error(`Unknown element type: ${e.type}`)}instantiateQuotedTriple(e,t){let r=this.instantiateQuotedSubject(e.subject,t),i=this.instantiateQuotedPredicate(e.predicate,t),s=this.instantiateQuotedObject(e.object,t);return new Ij.QuotedTriple(r,i,s)}instantiateQuotedSubject(e,t){if(e.type==="variable"){let r=t.get(e.value);if(!r)throw new Error(`Unbound variable in quoted triple subject: ${e.value}`);if(r instanceof E1.Literal)throw new Error("Literals cannot appear in quoted triple subject position");return r}if(e.type==="iri")return new To.IRI(e.value);if(e.type==="blank")return new T1.BlankNode(e.value);if(e.type==="quoted")return this.instantiateQuotedTriple(e,t);throw new Error(`Invalid element type for quoted triple subject: ${e.type}`)}instantiateQuotedPredicate(e,t){if(e.type==="variable"){let r=t.get(e.value);if(!r)throw new Error(`Unbound variable in quoted triple predicate: ${e.value}`);if(!(r instanceof To.IRI))throw new Error("Quoted triple predicate must be an IRI");return r}return new To.IRI(e.value)}instantiateQuotedObject(e,t){if(e.type==="variable"){let i=t.get(e.value);if(!i)throw new Error(`Unbound variable in quoted triple object: ${e.value}`);return i}if(e.type==="iri")return new To.IRI(e.value);if(e.type==="blank")return new T1.BlankNode(e.value);if(e.type==="literal")return new E1.Literal(e.value,e.datatype?new To.IRI(e.datatype):void 0,e.language);if(e.type==="quoted")return this.instantiateQuotedTriple(e,t);let r=e;throw new Error(`Invalid element type for quoted triple object: ${r.type}`)}};Ap.ConstructExecutor=A1});var zA=S(Hc=>{"use strict";Object.defineProperty(Hc,"__esModule",{value:!0});Hc.ServiceExecutor=Hc.ServiceExecutorError=void 0;var Rj=rs(),GA=xe(),Oj=Ve(),Pj=qt(),Ao=class extends Error{static{o(this,"ServiceExecutorError")}constructor(e,t){super(e,t?{cause:t}:void 0),this.name="ServiceExecutorError"}};Hc.ServiceExecutorError=Ao;var C1=class{static{o(this,"ServiceExecutor")}constructor(e={}){this.timeout=e.timeout??3e4,this.httpClient=e.httpClient??((t,r)=>fetch(t,r)),this.maxRetries=e.maxRetries??2,this.retryDelay=e.retryDelay??1e3}async*execute(e,t){try{let r=t(e.pattern),i=await this.executeRemoteQuery(e.endpoint,r);for(let s of i)yield s}catch(r){if(e.silent)return;throw r}}async executeRemoteQuery(e,t){let r;for(let i=0;i<=this.maxRetries;i++)try{let s=new AbortController,a=setTimeout(()=>s.abort(),this.timeout);try{let c=await this.httpClient(e,{method:"POST",headers:{"Content-Type":"application/sparql-query",Accept:"application/sparql-results+json"},body:t,signal:s.signal});if(!c.ok)throw new Ao(`Remote SPARQL endpoint returned ${c.status}: ${c.statusText}`);let l=await c.json();return this.parseJsonResults(l)}finally{clearTimeout(a)}}catch(s){if(r=s instanceof Error?s:new Error(String(s)),this.isRetryableError(r)&&i<this.maxRetries){await this.delay(this.retryDelay);continue}throw new Ao(`Failed to query remote SPARQL endpoint ${e}: ${r.message}`,r)}throw new Ao(`Failed to query remote SPARQL endpoint ${e} after ${this.maxRetries+1} attempts`,r)}parseJsonResults(e){return!e.results||!Array.isArray(e.results.bindings)?[]:e.results.bindings.map(t=>this.parseBinding(t))}parseBinding(e){let t=new Rj.SolutionMapping;for(let[r,i]of Object.entries(e)){let s=this.parseRDFTerm(i);t.set(r,s)}return t}parseRDFTerm(e){switch(e.type){case"uri":return new GA.IRI(e.value);case"literal":{let t=e.datatype?new GA.IRI(e.datatype):void 0;return new Oj.Literal(e.value,t,e["xml:lang"])}case"bnode":return new Pj.BlankNode(e.value);default:throw new Ao(`Unknown RDF term type: ${e.type}`)}}isRetryableError(e){let t=e.message.toLowerCase();return!!(e.name==="AbortError"||t.includes("network")||t.includes("econnreset")||t.includes("econnrefused")||t.includes("etimedout")||t.includes("returned 5"))}delay(e){return new Promise(t=>setTimeout(t,e))}};Hc.ServiceExecutor=C1});var QA=S(Qc=>{"use strict";Object.defineProperty(Qc,"__esModule",{value:!0});Qc.GraphExecutor=Qc.GraphExecutorError=void 0;var HA=xe(),xp=class extends Error{static{o(this,"GraphExecutorError")}constructor(e,t){super(e,t?{cause:t}:void 0),this.name="GraphExecutorError"}};Qc.GraphExecutorError=xp;var I1=class{static{o(this,"GraphExecutor")}constructor(e){this.tripleStore=e}async*execute(e,t,r){let i=e.name;if(i.type==="iri")yield*this.executeWithGraph(e.pattern,i,t);else if(i.type==="variable")yield*this.executeWithGraphVariable(e,i,t,r);else throw new xp(`Invalid graph name type: ${i.type}`)}async*executeWithGraph(e,t,r){let i=new HA.IRI(t.value);this.tripleStore.hasGraph&&!await this.tripleStore.hasGraph(i)||(yield*r(e,i))}async*executeWithGraphVariable(e,t,r,i){if(i){let a=i.get(t.value);if(a&&a instanceof HA.IRI){yield*this.executeWithGraph(e.pattern,{type:"iri",value:a.value},r);return}}if(!this.tripleStore.getNamedGraphs)return;let s=await this.tripleStore.getNamedGraphs();for(let a of s)for await(let c of r(e.pattern,a)){let l=c.clone();l.set(t.value,a),yield l}}};Qc.GraphExecutor=I1});var YA=S(Kc=>{"use strict";Object.defineProperty(Kc,"__esModule",{value:!0});Kc.SPARQLGenerator=Kc.SPARQLGeneratorError=void 0;var Yc=class extends Error{static{o(this,"SPARQLGeneratorError")}constructor(e,t){super(e,t?{cause:t}:void 0),this.name="SPARQLGeneratorError"}};Kc.SPARQLGeneratorError=Yc;var R1=class{static{o(this,"SPARQLGenerator")}collectVariables(e){let t=new Set;return this.collectVariablesFromOperation(e,t),t}generateSelect(e){let t=this.collectVariables(e),r=t.size>0?Array.from(t).map(s=>`?${s}`).join(" "):"*",i=this.generateWhereClause(e);return`SELECT ${r} WHERE {
|
|
49
49
|
${i}
|
|
50
50
|
}`}generateWhereClause(e,t=2){let r=" ".repeat(t);switch(e.type){case"bgp":return this.generateBGP(e,t);case"filter":return`${this.generateWhereClause(e.input,t)}
|
|
51
51
|
${r}FILTER(${this.generateExpression(e.expression)})`;case"join":return`${this.generateWhereClause(e.left,t)}
|
|
@@ -67,7 +67,7 @@ ${r}}`}default:throw new Yc(`Unsupported operation type for SPARQL generation: $
|
|
|
67
67
|
`)}generateTriple(e){let t=this.generateElement(e.subject),r=this.generatePredicate(e.predicate),i=this.generateElement(e.object);return`${t} ${r} ${i}`}generatePredicate(e){return"pathType"in e?this.generatePropertyPath(e):this.generateElement(e)}generatePropertyPath(e){let t=e.items.map(r=>"pathType"in r?`(${this.generatePropertyPath(r)})`:`<${r.value}>`);switch(e.pathType){case"/":return t.join("/");case"|":return t.join("|");case"^":return`^${t[0]}`;case"+":return`${t[0]}+`;case"*":return`${t[0]}*`;case"?":return`${t[0]}?`}}generateElement(e){switch(e.type){case"variable":return`?${e.value}`;case"iri":return`<${e.value}>`;case"literal":{let r=`"${e.value.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t")}"`;return e.language?r+=`@${e.language}`:e.datatype&&(r+=`^^<${e.datatype}>`),r}case"blank":return`_:${e.value}`;default:throw new Yc(`Unknown element type: ${e.type}`)}}generateValues(e,t){let r=" ".repeat(t);if(e.variables.length===0||e.bindings.length===0)return"";if(e.variables.length===1){let a=e.variables[0],c=e.bindings.map(l=>{let u=l[a];return u?this.generateValuesTerm(u):"UNDEF"}).join(" ");return`${r}VALUES ?${a} { ${c} }`}let i=e.variables.map(a=>`?${a}`).join(" "),s=e.bindings.map(a=>`(${e.variables.map(l=>{let u=a[l];return u?this.generateValuesTerm(u):"UNDEF"}).join(" ")})`);return`${r}VALUES (${i}) {
|
|
68
68
|
${s.map(a=>`${r} ${a}`).join(`
|
|
69
69
|
`)}
|
|
70
|
-
${r}}`}generateValuesTerm(e){if(e.type==="iri")return`<${e.value}>`;let r=`"${e.value.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`;return e.language?r+=`@${e.language}`:e.datatype&&(r+=`^^<${e.datatype}>`),r}generateExpression(e){switch(e.type){case"variable":return`?${e.name}`;case"literal":return typeof e.value=="string"?`"${e.value.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`:typeof e.value=="boolean"?e.value?"true":"false":String(e.value);case"comparison":return`(${this.generateExpression(e.left)} ${e.operator} ${this.generateExpression(e.right)})`;case"logical":return e.operator==="!"?`!(${this.generateExpression(e.operands[0])})`:`(${e.operands.map(t=>this.generateExpression(t)).join(` ${e.operator} `)})`;case"arithmetic":return`(${this.generateExpression(e.left)} ${e.operator} ${this.generateExpression(e.right)})`;case"function":return`${e.function.toUpperCase()}(${e.args.map(t=>this.generateExpression(t)).join(", ")})`;case"functionCall":return`${(typeof e.function=="string"?e.function:e.function.value).toUpperCase()}(${e.args.map(r=>this.generateExpression(r)).join(", ")})`;case"exists":return`${e.negated?"NOT EXISTS":"EXISTS"} { ${this.generateWhereClause(e.pattern,0)} }`;case"in":{let t=this.generateExpression(e.expression),r=e.list.map(i=>this.generateExpression(i)).join(", ");return e.negated?`${t} NOT IN (${r})`:`${t} IN (${r})`}default:throw new Yc(`Unknown expression type: ${e.type}`)}}collectVariablesFromOperation(e,t){switch(e.type){case"bgp":for(let r of e.triples)this.collectVariablesFromTriple(r,t);break;case"filter":this.collectVariablesFromOperation(e.input,t),this.collectVariablesFromExpression(e.expression,t);break;case"join":case"leftjoin":case"union":case"minus":this.collectVariablesFromOperation(e.left,t),this.collectVariablesFromOperation(e.right,t);break;case"values":for(let r of e.variables)t.add(r);break;case"project":for(let r of e.variables)t.add(r);this.collectVariablesFromOperation(e.input,t);break;case"extend":t.add(e.variable),this.collectVariablesFromOperation(e.input,t);break;case"orderby":case"slice":case"distinct":case"reduced":this.collectVariablesFromOperation(e.input,t);break;case"group":for(let r of e.variables)t.add(r);for(let r of e.aggregates)t.add(r.variable);this.collectVariablesFromOperation(e.input,t);break;case"subquery":this.collectVariablesFromOperation(e.query,t);break}}collectVariablesFromTriple(e,t){e.subject.type==="variable"&&t.add(e.subject.value),"type"in e.predicate&&e.predicate.type==="variable"&&t.add(e.predicate.value),e.object.type==="variable"&&t.add(e.object.value)}collectVariablesFromExpression(e,t){switch(e.type){case"variable":t.add(e.name);break;case"comparison":case"arithmetic":this.collectVariablesFromExpression(e.left,t),this.collectVariablesFromExpression(e.right,t);break;case"logical":for(let r of e.operands)this.collectVariablesFromExpression(r,t);break;case"function":case"functionCall":for(let r of e.args)this.collectVariablesFromExpression(r,t);break;case"exists":this.collectVariablesFromOperation(e.pattern,t);break;case"in":this.collectVariablesFromExpression(e.expression,t);for(let r of e.list)this.collectVariablesFromExpression(r,t);break}}};Kc.SPARQLGenerator=R1});var Jc=S(En=>{"use strict";var Fj=En&&En.__createBinding||(Object.create?(function(n,e,t,r){r===void 0&&(r=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:o(function(){return e[t]},"get")}),Object.defineProperty(n,r,i)}):(function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]})),Dj=En&&En.__setModuleDefault||(Object.create?(function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}):function(n,e){n.default=e}),K3=En&&En.__importStar||(function(){var n=o(function(e){return n=Object.getOwnPropertyNames||function(t){var r=[];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(r[r.length]=i);return r},n(e)},"ownKeys");return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r=n(e),i=0;i<r.length;i++)r[i]!=="default"&&Fj(t,e,r[i]);return Dj(t,e),t}})();Object.defineProperty(En,"__esModule",{value:!0});En.QueryExecutor=En.ExoQLQueryExecutor=En.QueryExecutorError=void 0;var Nj=Y_(),Lj=_p(),kj=p1(),Mj=g1(),jj=$3(),$j=V3(),Bj=W3(),Vj=x1(),Uj=z3(),qj=Q3(),Wj=Y3(),Gj=xe(),Xc=class extends Error{static{o(this,"QueryExecutorError")}constructor(e,t){super(e,t?{cause:t}:void 0),this.name="QueryExecutorError"}};En.QueryExecutorError=Xc;var Cp=class{static{o(this,"ExoQLQueryExecutor")}constructor(e,t={}){this.tripleStore=e,this.bgpExecutor=new Nj.BGPExecutor(e),this.filterExecutor=new Lj.FilterExecutor,this.optionalExecutor=new kj.OptionalExecutor,this.unionExecutor=new Mj.UnionExecutor,this.minusExecutor=new jj.MinusExecutor,this.valuesExecutor=new $j.ValuesExecutor,this.aggregateExecutor=new Bj.AggregateExecutor,this.constructExecutor=new Vj.ConstructExecutor,this.serviceExecutor=new Uj.ServiceExecutor(t.serviceConfig),this.graphExecutor=new qj.GraphExecutor(e),this.sparqlGenerator=new Wj.SPARQLGenerator,this.filterExecutor.setExistsEvaluator(async(r,i)=>this.evaluateExistsPattern(r,i)),this.filterExecutor.setTripleStore(e)}async evaluateExistsPattern(e,t){for await(let r of this.execute(e))if(t.merge(r)!==null)return!0;return!1}async executeAll(e){let t=[];for await(let r of this.execute(e))t.push(r);return t}async*execute(e){switch(e.type){case"bgp":yield*this.executeBGP(e);break;case"filter":yield*this.executeFilter(e);break;case"join":yield*this.executeJoin(e);break;case"leftjoin":yield*this.executeLeftJoin(e);break;case"union":yield*this.executeUnion(e);break;case"minus":yield*this.executeMinus(e);break;case"values":yield*this.executeValues(e);break;case"project":yield*this.executeProject(e);break;case"orderby":yield*this.executeOrderBy(e);break;case"slice":yield*this.executeSlice(e);break;case"distinct":yield*this.executeDistinct(e);break;case"reduced":yield*this.executeReduced(e);break;case"group":yield*this.executeGroup(e);break;case"extend":yield*this.executeExtend(e);break;case"subquery":yield*this.executeSubquery(e);break;case"lateraljoin":yield*this.executeLateralJoin(e);break;case"service":yield*this.executeService(e);break;case"graph":yield*this.executeGraph(e);break;default:throw new Xc(`Unknown operation type: ${e.type}`)}}async*executeBGP(e){yield*this.bgpExecutor.execute(e)}async*executeFilter(e){let t=this.execute(e.input);yield*this.filterExecutor.execute(e,t)}async*executeJoin(e){let t=[];for await(let a of this.execute(e.left))t.push(a);if(t.length===0)return;let r=new Set;for(let a of t)for(let c of a.variables())r.add(c);let i=this.collectOperationVariables(e.right);if([...r].some(a=>i.has(a)))for(let a of t){let c=this.substituteVariables(e.right,a);for await(let l of this.execute(c)){let u=a.merge(l);u!==null&&(yield u)}}else{let a=[];for await(let c of this.execute(e.right))a.push(c);for(let c of t)for(let l of a){let u=c.merge(l);u!==null&&(yield u)}}}async*executeLeftJoin(e){let t=[];for await(let a of this.execute(e.left))t.push(a);let r=[];for await(let a of this.execute(e.right))r.push(a);async function*i(){for(let a of t)yield a}o(i,"leftGen");async function*s(){for(let a of r)yield a}o(s,"rightGen"),yield*this.optionalExecutor.execute(i(),s())}async*executeUnion(e){let t=[];for await(let a of this.execute(e.left))t.push(a);let r=[];for await(let a of this.execute(e.right))r.push(a);async function*i(){for(let a of t)yield a}o(i,"leftGen");async function*s(){for(let a of r)yield a}o(s,"rightGen"),yield*this.unionExecutor.execute(i(),s())}async*executeMinus(e){let t=[];for await(let a of this.execute(e.left))t.push(a);let r=[];for await(let a of this.execute(e.right))r.push(a);async function*i(){for(let a of t)yield a}o(i,"leftGen");async function*s(){for(let a of r)yield a}o(s,"rightGen"),yield*this.minusExecutor.execute(i(),s())}async*executeValues(e){yield*this.valuesExecutor.execute(e)}async*executeProject(e){let{SolutionMapping:t}=await Promise.resolve().then(()=>K3(rs())),r=new Set(e.variables);for await(let i of this.execute(e.input)){let s=new t;for(let a of i.variables())if(r.has(a)){let c=i.get(a);c!==void 0&&s.set(a,c)}yield s}}async*executeOrderBy(e){let t=[];for await(let r of this.execute(e.input))t.push(r);t.sort((r,i)=>{for(let s of e.comparators){let a=this.getExpressionValue(s.expression,r),c=this.getExpressionValue(s.expression,i),l=0;if(a===void 0&&c===void 0?l=0:a===void 0?l=1:c===void 0?l=-1:typeof a=="number"&&typeof c=="number"?l=a-c:l=String(a).localeCompare(String(c)),s.descending&&(l=-l),l!==0)return l}return 0});for(let r of t)yield r}async*executeSlice(e){let t=0,r=e.offset??0,i=e.limit;for await(let s of this.execute(e.input)){if(t>=r){if(i!==void 0&&t-r>=i)break;yield s}t++}}async*executeDistinct(e){let t=new Set;for await(let r of this.execute(e.input)){let i=this.getSolutionKey(r);t.has(i)||(t.add(i),yield r)}}async*executeReduced(e){let t=new Set;for await(let r of this.execute(e.input)){let i=this.getSolutionKey(r);t.has(i)||(t.add(i),yield r)}}async*executeGroup(e){let t=[];for await(let i of this.execute(e.input))t.push(i);let r=this.aggregateExecutor.execute(e,t);if(e.having&&e.having.length>0)for(let i of r)e.having.every(a=>this.filterExecutor.evaluateExpression(a,i)===!0)&&(yield i);else for(let i of r)yield i}async*executeExtend(e){let t=e.expression.type!=="aggregate"&&this.filterExecutor.expressionContainsExists(e.expression);for await(let r of this.execute(e.input)){let i=r.clone(),s=t?await this.evaluateExtendExpressionAsync(e.expression,r):this.evaluateExtendExpression(e.expression,r);s!==void 0&&i.set(e.variable,s),yield i}}async*executeSubquery(e){yield*this.execute(e.query)}async*executeLateralJoin(e){let t=[];for await(let r of this.execute(e.left))t.push(r);for(let r of t){let i=this.substituteVariables(e.right,r);for await(let s of this.execute(i)){let a=r.merge(s);a!==null&&(yield a)}}}substituteVariables(e,t){let r=JSON.parse(JSON.stringify(e));return this.substituteInOperation(r,t)}substituteInOperation(e,t){if(!e||typeof e!="object")return e;let r=e;return e.type==="bgp"&&e.triples?(e.triples=e.triples.map(i=>this.substituteInTriple(i,t)),e):(r.input&&(r.input=this.substituteInOperation(r.input,t)),r.left&&(r.left=this.substituteInOperation(r.left,t)),r.right&&(r.right=this.substituteInOperation(r.right,t)),r.pattern&&(r.pattern=this.substituteInOperation(r.pattern,t)),r.query&&(r.query=this.substituteInOperation(r.query,t)),r.where&&(r.where=this.substituteInOperation(r.where,t)),r.expression&&this.substituteInExpression(r.expression,t),e)}substituteInExpression(e,t){if(!(!e||typeof e!="object")){if(e.type==="exists"&&e.pattern&&(e.pattern=this.substituteInOperation(e.pattern,t)),e.left&&this.substituteInExpression(e.left,t),e.right&&this.substituteInExpression(e.right,t),e.operands)for(let r of e.operands)this.substituteInExpression(r,t);if(e.args)for(let r of e.args)this.substituteInExpression(r,t);if(e.expression&&this.substituteInExpression(e.expression,t),e.list)for(let r of e.list)this.substituteInExpression(r,t)}}substituteInTriple(e,t){return{subject:this.substituteInTripleElement(e.subject,t),predicate:e.predicate,object:this.substituteInTripleElement(e.object,t)}}substituteInTripleElement(e,t){if(e&&e.type==="variable"){let r=t.get(e.value);if(r!=null){let i=r;if(r instanceof Gj.IRI||i.termType==="NamedNode")return{type:"iri",value:r.value};if(i.termType==="Literal"||typeof i.value=="string")return{type:"literal",value:i.value,datatype:i.datatype?.value??i._datatype?.value,language:i.language??i._language}}}return e}async*executeService(e){yield*this.serviceExecutor.execute(e,t=>this.sparqlGenerator.generateSelect(t))}async*executeGraph(e){let t=async function*(r,i){let s=this.currentGraphContext;this.currentGraphContext=i;try{r.type==="bgp"&&i&&this.tripleStore.matchInGraph?yield*this.executeBGPInGraph(r,i):yield*this.execute(r)}finally{this.currentGraphContext=s}}.bind(this);yield*this.graphExecutor.execute(e,t)}async*executeBGPInGraph(e,t){if(e.triples.length===0){let{SolutionMapping:r}=await Promise.resolve().then(()=>K3(rs()));yield new r;return}yield*this.bgpExecutor.executeInGraph(e,t)}evaluateExtendExpression(e,t){if(e.type!=="aggregate")try{return this.filterExecutor.evaluateExpression(e,t)}catch{return}}async evaluateExtendExpressionAsync(e,t){if(e.type!=="aggregate")try{return await this.filterExecutor.evaluateExpressionAsync(e,t)}catch{return}}getExpressionValue(e,t){if(e.type==="variable"){let r=t.get(e.name);return r?r.value??r.id??String(r):void 0}if(e.type==="literal")return e.value}collectOperationVariables(e){let t=new Set;return this.collectVarsFromOperation(e,t),t}collectVarsFromOperation(e,t){if(!e||typeof e!="object")return;let r=e;if(r.type==="bgp"&&r.triples)for(let i of r.triples)this.collectVarsFromElement(i.subject,t),i.predicate?.type!=="path"&&this.collectVarsFromElement(i.predicate,t),this.collectVarsFromElement(i.object,t);if(r.type==="values"&&r.variables)for(let i of r.variables)t.add(i);r.expression&&this.collectVarsFromExpressionTree(r.expression,t),r.type==="extend"&&r.variable&&t.add(r.variable),r.input&&this.collectVarsFromOperation(r.input,t),r.left&&this.collectVarsFromOperation(r.left,t),r.right&&this.collectVarsFromOperation(r.right,t),r.pattern&&this.collectVarsFromOperation(r.pattern,t),r.query&&this.collectVarsFromOperation(r.query,t),r.where&&this.collectVarsFromOperation(r.where,t)}collectVarsFromElement(e,t){if(!e||typeof e!="object")return;let r=e;r.type==="variable"&&t.add(r.value),r.type==="quoted"&&(this.collectVarsFromElement(r.subject,t),this.collectVarsFromElement(r.predicate,t),this.collectVarsFromElement(r.object,t))}collectVarsFromExpressionTree(e,t){if(!e||typeof e!="object")return;let r=e;if(r.type==="variable"&&r.name&&t.add(r.name),r.type==="exists"&&r.pattern&&this.collectVarsFromOperation(r.pattern,t),r.left&&this.collectVarsFromExpressionTree(r.left,t),r.right&&this.collectVarsFromExpressionTree(r.right,t),r.operands)for(let i of r.operands)this.collectVarsFromExpressionTree(i,t);if(r.args)for(let i of r.args)this.collectVarsFromExpressionTree(i,t);if(r.expression&&this.collectVarsFromExpressionTree(r.expression,t),r.list)for(let i of r.list)this.collectVarsFromExpressionTree(i,t)}getSolutionKey(e){let t=e.toJSON();return Object.keys(t).sort().map(i=>`${i}=${t[i]}`).join("|")}isConstructQuery(e){return e.type==="construct"}async executeConstruct(e){if(e.type!=="construct")throw new Xc("executeConstruct requires a CONSTRUCT operation");let t=await this.executeAll(e.where);return this.constructExecutor.execute(e.template,t)}isAskQuery(e){return e.type==="ask"}async executeAsk(e){if(e.type!=="ask")throw new Xc("executeAsk requires an ASK operation");for await(let t of this.execute(e.where))return!0;return!1}};En.ExoQLQueryExecutor=Cp;En.QueryExecutor=Cp});var X3=S(Bs=>{"use strict";var zj=Bs&&Bs.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},Hj=Bs&&Bs.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)};Object.defineProperty(Bs,"__esModule",{value:!0});Bs.CommandResolver=void 0;var Qj=le(),Yj=bc(),li=xe(),Ln=Ve(),ee=Ir(),O1=pc(),Zc=zy(),Kj=Oc(),Xj=Fc(),Jj=Jc(),P1=10,F1=class{static{o(this,"CommandResolver")}constructor(e,t=Yj.NullLogger){this.tripleStore=e,this.logger=t,this.cache=new Map,this.multiCache=new Map}async resolveForAssetMulti(e,t,r){if(t.length===0)return[];let i=[...t].sort().join(","),s=`${e}::${i}::${r??""}`,a=this.multiCache.get(s);if(a)return a;let c=new Set,l=[];for(let u of t){let f=await this.resolveForAsset(e,u,r);for(let d of f)c.has(d.binding.id)||(c.add(d.binding.id),l.push(d))}return l.sort((u,f)=>{let d=this.getBindingPriority(u.binding),h=this.getBindingPriority(f.binding);return d!==h?d-h:(u.binding.order??100)-(f.binding.order??100)}),this.multiCache.set(s,l),l}async resolveForAsset(e,t,r){let i=`${e}:${t}:${r??""}`,s=this.cache.get(i);if(s)return s;let a=await this.findBindings(t,r,e),c=[];for(let l of a){let u=await this.loadCommand(l.commandRef);if(!u)continue;let f=l.precondition?{...u,precondition:l.precondition}:u;c.push({command:f,binding:l})}return c.sort((l,u)=>{let f=this.getBindingPriority(l.binding),d=this.getBindingPriority(u.binding);return f!==d?f-d:(l.binding.order??100)-(u.binding.order??100)}),this.cache.set(i,c),c}async loadCommand(e){let t=await this.findSubjectByUID(e);if(!t||(await this.tripleStore.match(t,ee.Namespace.RDF.term("type"),ee.Namespace.EXOCMD.term("Command"))).length===0)return null;let i=await this.getLiteralValue(t,ee.Namespace.EXO.term("Asset_label"))??"Unknown Command",s=await this.getLiteralValue(t,ee.Namespace.EXOCMD.term("Command_labelTemplate")),a=await this.getLiteralValue(t,ee.Namespace.EXOCMD.term("Command_icon")),c=await this.getLiteralValue(t,ee.Namespace.EXOCMD.term("Command_confirmMessage")),l=await this.getLiteralValue(t,ee.Namespace.EXOCMD.term("Command_successMessage")),u=await this.getLiteralValue(t,ee.Namespace.EXOCMD.term("Command_category")),f=await this.loadLinkedPrecondition(t),d=await this.loadLinkedGrounding(t,0);return d?{id:e,name:i,labelTemplate:s??void 0,icon:a??void 0,precondition:f??void 0,grounding:d,confirmMessage:c??void 0,successMessage:l??void 0,category:u??void 0}:null}async findBindings(e,t,r){let i=await this.tripleStore.match(void 0,ee.Namespace.RDF.term("type"),ee.Namespace.EXOCMD.term("CommandBinding")),s=[];for(let a of i){let c=a.subject,l=await this.loadBindingDefinition(c);l&&this.bindingMatches(l,e,t,r)&&s.push(l)}return s}invalidateCache(){this.cache.clear(),this.multiCache.clear()}async resolveLabel(e,t){if(!e.labelTemplate)return e.name;let r=e.labelTemplate,i=this.extractPlaceholders(e.labelTemplate);for(let{full:s,body:a}of i){let c=await this.evaluateSelectSnippet(a,t);r=r.replace(s,c)}return r}extractPlaceholders(e){let t=[],r=0;for(;r<e.length;)if(e[r]==="{"){let i=1,s=r+1;for(;s<e.length&&i>0;)e[s]==="{"?i++:e[s]==="}"&&i--,s++;if(i===0){let a=e.slice(r,s),c=e.slice(r+1,s-1);t.push({full:a,body:c})}r=s}else r++;return t}async evaluateSelectSnippet(e,t){try{let r=e.replace(/\$target/g,`<${t}>`),s=new Kj.ExoQLParser().parse(r),c=new Xj.ExoQLAlgebraTranslator().translate(s),u=await new Jj.ExoQLQueryExecutor(this.tripleStore).executeAll(c);if(u.length===0)return"";let f=u[0],d=f.variables();if(d.length===0)return"";let h=f.get(d[0]);return h?h instanceof Ln.Literal||h instanceof li.IRI?h.value:String(h):""}catch{return""}}async loadBindingDefinition(e){let t=await this.getLiteralValue(e,ee.Namespace.EXO.term("Asset_uid"));if(!t)return null;let r=await this.getLiteralValue(e,ee.Namespace.EXO.term("Asset_label"))??"",i=await this.getLinkedUID(e,ee.Namespace.EXOCMD.term("CommandBinding_command"));if(!i)return null;let s=await this.getLinkedValue(e,ee.Namespace.EXOCMD.term("CommandBinding_targetClass")),a=await this.getLinkedValue(e,ee.Namespace.EXOCMD.term("CommandBinding_targetPrototype")),c=await this.getLinkedValue(e,ee.Namespace.EXOCMD.term("CommandBinding_targetAsset"));if(!s&&!a&&!c)return null;let l=await this.getLiteralValue(e,ee.Namespace.EXOCMD.term("CommandBinding_position")),u=await this.getLiteralValue(e,ee.Namespace.EXOCMD.term("CommandBinding_order")),f=await this.getLiteralValue(e,ee.Namespace.EXOCMD.term("CommandBinding_group")),d=await this.loadLinkedPreconditionFromProperty(e,ee.Namespace.EXOCMD.term("CommandBinding_precondition")),h=await this.loadLinkedStyle(e,t);return{id:t,label:r,commandRef:i,targetClass:s??void 0,targetPrototype:a??void 0,targetAsset:c??void 0,position:l??void 0,order:u?parseInt(u,10):void 0,group:f??void 0,precondition:d??void 0,style:h??void 0}}async loadLinkedStyle(e,t){let r=await this.tripleStore.match(e,ee.Namespace.EXOCMD.term("CommandBinding_style"),void 0);if(r.length>0){let s=r[0].object,a=null;if(s instanceof li.IRI)a=s;else if(s instanceof Ln.Literal){let c=this.normalizeWikilink(s.value);a=await this.findSubjectByUID(c)}if(a){let c=await this.loadStyleAsset(a);if(c)return c}this.logger.warn(this.capWarning(`CommandBinding ${t}: style reference unresolved, falling back to inline variant`))}let i=await this.getLiteralValue(e,ee.Namespace.EXOCMD.term("CommandBinding_variant"));if(i!==null){let s=this.coerceVariant(i,t);if(s!==void 0)return{id:`inline:${t}`,label:"",variant:s,inline:!0}}return null}async loadStyleAsset(e){let t=await this.getLiteralValue(e,ee.Namespace.EXO.term("Asset_uid"));if(!t)return null;let r=await this.getLiteralValue(e,ee.Namespace.EXO.term("Asset_label"))??"",i=await this.getLiteralValue(e,ee.Namespace.EXOCMD.term("CommandBindingStyle_variant")),s=i!==null?this.coerceVariant(i,t):void 0,a=await this.getLiteralValue(e,ee.Namespace.EXOCMD.term("CommandBindingStyle_showIcon")),c=this.coerceBoolean(a),l=await this.getLiteralValue(e,ee.Namespace.EXOCMD.term("CommandBindingStyle_labelClass")),u=l!==null?this.coerceLabelClass(l,t):void 0,f=await this.getLiteralValue(e,ee.Namespace.EXOCMD.term("CommandBindingStyle_ariaLabel")),d=await this.getLiteralValue(e,ee.Namespace.EXOCMD.term("CommandBindingStyle_tooltip")),h=await this.getLiteralValue(e,ee.Namespace.EXOCMD.term("CommandBindingStyle_keyboardShortcut")),p=await this.getLiteralValue(e,ee.Namespace.EXOCMD.term("CommandBindingStyle_source")),_=p!==null?this.coerceStyleSource(p,t):void 0;return{id:t,label:r,variant:s,showIcon:c,labelClass:u,ariaLabel:f??void 0,tooltip:d??void 0,keyboardShortcut:h??void 0,source:_,inline:!1}}coerceVariant(e,t){if(e==null)return;let r=String(e).trim().toLowerCase();if(r!==""){if(Zc.COMMAND_VARIANT_VALUES.includes(r))return r;this.logger.warn(this.capWarning(`CommandBindingStyle variant "${r}" not in whitelist [${Zc.COMMAND_VARIANT_VALUES.join(",")}]; dropped (asset ${t})`))}}coerceLabelClass(e,t){if(e==null)return;let r=String(e).trim().toLowerCase();if(r!==""){if(Zc.LABEL_CLASS_VALUES.includes(r))return r;this.logger.warn(this.capWarning(`CommandBindingStyle labelClass "${r}" not in whitelist [${Zc.LABEL_CLASS_VALUES.join(",")}]; dropped (asset ${t})`))}}coerceStyleSource(e,t){if(e==null)return;let r=String(e).trim().toLowerCase();if(r!==""){if(Zc.STYLE_SOURCE_VALUES.includes(r))return r;this.logger.warn(this.capWarning(`CommandBindingStyle source "${r}" not in whitelist [${Zc.STYLE_SOURCE_VALUES.join(",")}]; dropped (asset ${t})`))}}coerceBoolean(e){if(e===null)return;let t=e.trim().toLowerCase();if(t==="true")return!0;if(t==="false")return!1}capWarning(e){return e.length<=200?e:e.slice(0,197)+"..."}bindingMatches(e,t,r,i){return!!(e.targetAsset&&i&&this.matchesReference(e.targetAsset,i)||e.targetPrototype&&r&&this.matchesReference(e.targetPrototype,r)||e.targetClass&&t&&this.matchesReference(e.targetClass,t))}matchesReference(e,t){let r=this.normalizeWikilink(e),i=this.normalizeWikilink(t);if(r===i)return!0;let s=this.extractPathBasename(i);if(s&&s===r)return!0;let a=this.extractPathBasename(r);if(a&&a===i)return!0;let c=this.extractAlias(t);if(c&&r===c)return!0;let l=this.extractAlias(e);return!!(l&&l===i)}extractPathBasename(e){let t=e.match(/\/([^/]+)\.md$/);return t?t[1]:null}extractAlias(e){let t=e.replace(/["'[\]]/g,"").trim(),r=t.indexOf("|");return r>=0?t.substring(r+1).trim():null}getBindingPriority(e){return e.targetAsset?0:e.targetPrototype?1:2}async loadLinkedPrecondition(e){return this.loadLinkedPreconditionFromProperty(e,ee.Namespace.EXOCMD.term("Command_precondition"))}async loadLinkedPreconditionFromProperty(e,t){let r=await this.tripleStore.match(e,t,void 0);if(r.length===0)return null;let i=r[0].object,s=null;if(i instanceof li.IRI)s=i;else if(i instanceof Ln.Literal){let h=this.normalizeWikilink(i.value);s=await this.findSubjectByUID(h)}if(!s)return null;let a=await this.getLiteralValue(s,ee.Namespace.EXO.term("Asset_uid")),c=await this.getLiteralValue(s,ee.Namespace.EXO.term("Asset_label"))??"",l=await this.getLiteralValue(s,ee.Namespace.EXOCMD.term("Precondition_sparqlAsk")),u=await this.getLiteralValue(s,ee.Namespace.EXOCMD.term("Precondition_hostFunction")),f=await this.tripleStore.match(s,ee.Namespace.EXOCMD.term("Precondition_query"),void 0),d;if(f.length>0){let h=f[0].object;if(h instanceof li.IRI){let p=await this.getLiteralValue(h,ee.Namespace.EXO.term("Asset_uid"));p&&(d=p)}else h instanceof Ln.Literal&&(d=this.normalizeWikilink(h.value))}return!a||!l&&!u&&!d?null:{id:a,label:c,...l&&{sparqlAsk:l},...u&&{hostFunction:u},...d&&{query:d}}}async loadLinkedGrounding(e,t){if(t>=P1)return null;let r=await this.tripleStore.match(e,ee.Namespace.EXOCMD.term("Command_grounding"),void 0);if(r.length===0)return null;let i=r[0].object,s=null;if(i instanceof li.IRI)s=i;else if(i instanceof Ln.Literal){let a=this.normalizeWikilink(i.value);s=await this.findSubjectByUID(a)}return s?this.loadGroundingDefinition(s,t):null}async loadGroundingDefinition(e,t){if(t>=P1)return null;let r=await this.getLiteralValue(e,ee.Namespace.EXO.term("Asset_uid"));if(!r)return null;let i=await this.getLiteralValue(e,ee.Namespace.EXO.term("Asset_label"))??"",s=await this.getLiteralValue(e,ee.Namespace.EXOCMD.term("Grounding_type"));if(!s)return null;let a=this.resolveGroundingType(s);if(!a)return null;let c=await this.getObsidianName(e,ee.Namespace.EXOCMD.term("Grounding_targetProperty"));if(a===O1.GroundingType.SERVICE_CALL){let v=await this.getLiteralValue(e,ee.Namespace.EXOCMD.term("Grounding_serviceId"));v&&(c=v)}let l=await this.getObsidianWikilinkValue(e,ee.Namespace.EXOCMD.term("Grounding_targetValue")),u=await this.getLiteralValue(e,ee.Namespace.EXOCMD.term("Grounding_sparqlUpdate")),f=await this.getLiteralValue(e,ee.Namespace.EXOCMD.term("Grounding_targetClass")),d=await this.getLiteralValue(e,ee.Namespace.EXOCMD.term("Grounding_targetPrototype")),h=await this.getLiteralValue(e,ee.Namespace.EXOCMD.term("Grounding_targetFolder")),p=await this.getLiteralValue(e,ee.Namespace.EXOCMD.term("Grounding_inputSchema")),_;a===O1.GroundingType.COMPOSITE&&(_=await this.loadCompositeSteps(e,t+1));let b;if(p)try{let v=JSON.parse(p);v?.properties&&(b=Object.entries(v.properties).map(([A,R])=>({name:A,type:R.type==="string"?"text":R.type,label:R.title??A,required:Array.isArray(v.required)&&v.required.includes(A)})))}catch{}let E={id:r,label:i,type:a,targetProperty:c??void 0,targetValue:l??void 0,sparqlUpdate:u??void 0,steps:_,targetClass:f??void 0,targetPrototype:d??void 0,targetFolder:h??void 0};return b&&(E.inputSchema=b),E}async loadCompositeSteps(e,t){if(t>=P1)return[];let r=await this.tripleStore.match(e,ee.Namespace.EXOCMD.term("Grounding_steps"),void 0),i=[];for(let s of r){let a=null;if(s.object instanceof li.IRI)a=s.object;else if(s.object instanceof Ln.Literal){let l=this.normalizeWikilink(s.object.value);a=await this.findSubjectByUID(l)}if(!a)continue;let c=await this.loadGroundingDefinition(a,t);c&&i.push(c)}return i}resolveGroundingType(e){let t=e.toLowerCase().trim();return Object.values(O1.GroundingType).includes(t)?t:null}async findSubjectByUID(e){if(this.tripleStore.findSubjectsByUUID){let r=await this.tripleStore.findSubjectsByUUID(e);if(r.length>0)return r[0]}let t=await this.tripleStore.match(void 0,ee.Namespace.EXO.term("Asset_uid"),void 0);for(let r of t)if(r.object instanceof Ln.Literal&&r.object.value===e)return r.subject;return null}async getLiteralValue(e,t){let r=await this.tripleStore.match(e,t,void 0);if(r.length===0)return null;let i=r[0].object;return i instanceof Ln.Literal||i instanceof li.IRI?i.value:null}async getLinkedUID(e,t){let r=await this.tripleStore.match(e,t,void 0);if(r.length===0)return null;let i=r[0].object;if(i instanceof li.IRI){let s=await this.tripleStore.match(i,ee.Namespace.EXO.term("Asset_uid"),void 0);return s.length>0&&s[0].object instanceof Ln.Literal?s[0].object.value:i.value.split("/").pop()?.replace(".md","")??null}return i instanceof Ln.Literal?this.normalizeWikilink(i.value):null}async getLinkedValue(e,t){let r=await this.tripleStore.match(e,t,void 0);if(r.length===0)return null;let i=r[0].object;return i instanceof Ln.Literal?this.normalizeWikilink(i.value):i instanceof li.IRI?this.iriToObsidianName(i.value)??i.value:null}async getObsidianName(e,t){let r=await this.tripleStore.match(e,t,void 0);if(r.length===0)return null;let i=r[0].object;return i instanceof Ln.Literal?i.value:i instanceof li.IRI?this.iriToObsidianName(i.value)??i.value:null}async getObsidianWikilinkValue(e,t){let r=await this.tripleStore.match(e,t,void 0);if(r.length===0)return null;let i=r[0].object;if(i instanceof Ln.Literal)return this.resolveWikilinkAlias(i.value);if(i instanceof li.IRI){let s=this.iriToObsidianName(i.value);return s?`"[[${s}]]"`:i.value}return null}async resolveWikilinkAlias(e){let t=e.match(/\[\[([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})\]\]/);if(!t)return e;let r=t[1],i=await this.findSubjectByUID(r);if(!i)return e;let s=await this.getLiteralValue(i,ee.Namespace.EXO.term("Asset_label"));return s?e.replace(`[[${r}]]`,`[[${r}|${s}]]`):e}iriToObsidianName(e){let t=e.lastIndexOf("#");if(t>=0){let i=e.substring(0,t+1),s=e.substring(t+1);if(i===ee.Namespace.EMS.iri.value)return`ems__${s}`;if(i===ee.Namespace.EXO.iri.value)return`exo__${s}`;if(i===ee.Namespace.EXOCMD.iri.value)return`exocmd__${s}`;if(i===ee.Namespace.IMS.iri.value)return`ims__${s}`;if(i===ee.Namespace.ZTLK.iri.value)return`ztlk__${s}`;if(i===ee.Namespace.PTMS.iri.value)return`ptms__${s}`;if(i===ee.Namespace.LIT.iri.value)return`lit__${s}`;if(i===ee.Namespace.INBOX.iri.value)return`inbox__${s}`}let r=e.match(/\/([^/]+)\.md$/);return r?r[1]:null}normalizeWikilink(e){let t=e.replace(/["'[\]]/g,"").trim(),r=t.indexOf("|");return r>=0?t.substring(0,r):t}};Bs.CommandResolver=F1;Bs.CommandResolver=F1=zj([(0,Qj.injectable)(),Hj("design:paramtypes",[Object,Object])],F1)});var N1=S(D1=>{"use strict";Object.defineProperty(D1,"__esModule",{value:!0});D1.validateExoQLAllowlist=Zj;var Ip=Uu();function Zj(n){if(!n||typeof n!="object")return;let e=n;if(e.type==="update"){let t=n.updates??[];for(let r of t)if(r?.type==="load")throw new Ip.ExoQLForbiddenKeywordError("LOAD");throw new Ip.ExoQLForbiddenKeywordError("UPDATE")}if(e.type==="query"){if(e.from){let t=Array.isArray(e.from.default)&&e.from.default.length>0,r=Array.isArray(e.from.named)&&e.from.named.length>0;if(t||r)throw new Ip.ExoQLForbiddenKeywordError("FROM")}if(Array.isArray(e.where))for(let t of e.where)Rp(t);if(Array.isArray(e.template))for(let t of e.template)Rp(t)}}o(Zj,"validateExoQLAllowlist");function Rp(n){if(!n||typeof n!="object")return;if(n.type==="service")throw new Ip.ExoQLForbiddenKeywordError("SERVICE");if(Array.isArray(n.patterns))for(let t of n.patterns)Rp(t);let e=n.where;if(Array.isArray(e))for(let t of e)Rp(t)}o(Rp,"walkPatternForBannedKeywords")});var L1=S(Op=>{"use strict";Object.defineProperty(Op,"__esModule",{value:!0});Op.DEFAULT_EVAL_CONFIG=void 0;Op.DEFAULT_EVAL_CONFIG=Object.freeze({enabled:!0,maxNestedEvalCount:100,maxAggregateEvalMillis:1e4})});var M1=S(k1=>{"use strict";Object.defineProperty(k1,"__esModule",{value:!0});k1.evaluateWithExoEval=a5;var e5=Oc(),t5=Fc(),r5=Jc(),n5=N1(),i5=L1(),s5=Uu();async function a5(n,e={}){if(typeof n!="string")throw new TypeError("evaluateWithExoEval: sparql must be a string");let r=new e5.ExoQLParser().parse(n);if((0,n5.validateExoQLAllowlist)(r),!{...i5.DEFAULT_EVAL_CONFIG,...e.config??{}}.enabled)throw new s5.ExoQLEvalDisabledError;let s="queryType"in r&&typeof r.queryType=="string"?r.queryType:"SELECT";if(!e.store)return s==="ASK"?{kind:"ask",result:!1}:s==="CONSTRUCT"?{kind:"construct",triples:[]}:{kind:"select",rows:[]};let c=new t5.ExoQLAlgebraTranslator().translate(r),l=new r5.ExoQLQueryExecutor(e.store);return l.isAskQuery(c)?{kind:"ask",result:await l.executeAsk(c)}:l.isConstructQuery(c)?{kind:"construct",triples:await l.executeConstruct(c)}:{kind:"select",rows:await l.executeAll(c)}}o(a5,"evaluateWithExoEval")});var Z3=S(Vs=>{"use strict";var o5=Vs&&Vs.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},c5=Vs&&Vs.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},Wu;Object.defineProperty(Vs,"__esModule",{value:!0});Vs.PreconditionEvaluator=void 0;var l5=le(),u5=Oc(),f5=Fc(),J3=Jc(),d5=M1(),Gu=Wu=class{static{o(this,"PreconditionEvaluator")}constructor(e,t){this.hostFunctions=new Map,this.askCache=new Map,this.tripleStore=e,this.queryBodyResolver=t}async evaluate(e,t,r){return e?e.sparqlAsk?this.evaluateSparqlAsk(e.sparqlAsk,t):e.query?this.evaluateQueryRef(e.query,t):e.hostFunction?this.evaluateHostFunction(e.hostFunction,t,r):!0:!0}async evaluateQueryRef(e,t){if(!this.queryBodyResolver)return!1;try{let r=await this.queryBodyResolver.resolveSparql(e);if(!r)return!1;let i=this.substituteVariables(r,t),s=await(0,d5.evaluateWithExoEval)(i,{store:this.tripleStore});return s.kind!=="ask"?!1:s.result}catch{return!1}}registerHostFunction(e,t){this.hostFunctions.set(e,t)}hasHostFunction(e){return this.hostFunctions.has(e)}invalidateCache(){this.askCache.clear()}compileAsk(e){let t=this.substituteVariables(e,Wu.SENTINEL_IRI),i=new u5.ExoQLParser().parse(t),a=new f5.ExoQLAlgebraTranslator().translate(i);return new J3.ExoQLQueryExecutor(this.tripleStore).isAskQuery(a)?a:null}evaluateHostFunction(e,t,r){let i=this.hostFunctions.get(e);if(!i)return!0;let s=r?{...r,targetIRI:t}:{targetIRI:t};return i(s)}async evaluateSparqlAsk(e,t){try{let r=this.askCache.get(e);if(r===void 0){let a=this.compileAsk(e);if(!a)return!1;r=a,this.askCache.set(e,r)}let i=JSON.parse(JSON.stringify(r).replaceAll(Wu.SENTINEL_IRI,t));return await new J3.ExoQLQueryExecutor(this.tripleStore).executeAsk(i)}catch{return!1}}substituteVariables(e,t){let r=new Date().toISOString(),i=r.slice(0,10),s=new Date,a=new Date(s.getTime()+Wu.ALMATY_OFFSET_MS),c=a.getUTCFullYear(),l=a.getUTCMonth(),u=a.getUTCDate(),f=a.getUTCDay(),h=new Date(Date.UTC(c,l,u-1)).toISOString().slice(0,10),p=(f+6)%7,_=new Date(Date.UTC(c,l,u-p)),b=_.toISOString().slice(0,10),v=new Date(_.getTime()-10080*60*1e3).toISOString().slice(0,10),A=`${c}-${String(l+1).padStart(2,"0")}-01`,R=l===0?11:l-1,W=`${l===0?c-1:c}-${String(R+1).padStart(2,"0")}-01`,we=`${c}-01-01`;return e.replace(/\$target/g,`<${t}>`).replace(/\$now/g,`"${r}"^^xsd:dateTime`).replace(/\$yesterday/g,`"${h}"^^xsd:date`).replace(/\$thisWeekStart/g,`"${b}"^^xsd:date`).replace(/\$lastWeekStart/g,`"${v}"^^xsd:date`).replace(/\$thisMonthStart/g,`"${A}"^^xsd:date`).replace(/\$lastMonthStart/g,`"${W}"^^xsd:date`).replace(/\$thisYearStart/g,`"${we}"^^xsd:date`).replace(/\$today/g,`"${i}"^^xsd:date`)}};Vs.PreconditionEvaluator=Gu;Gu.SENTINEL_IRI="urn:exocortex:cache-sentinel:target";Gu.ALMATY_OFFSET_MS=300*60*1e3;Vs.PreconditionEvaluator=Gu=Wu=o5([(0,l5.injectable)(),c5("design:paramtypes",[Object,Object])],Gu)});var Gn=S(Pp=>{"use strict";Object.defineProperty(Pp,"__esModule",{value:!0});Pp.FrontmatterService=void 0;var zu=class n{static{o(this,"FrontmatterService")}parse(e){let t=e.match(n.FRONTMATTER_REGEX);return t?{exists:!0,content:t[1],originalContent:e}:{exists:!1,content:"",originalContent:e}}updateProperty(e,t,r){t=n.normalizeIRI(t),typeof r=="string"&&(r=n.normalizeIRIValue(r));let i=this.parse(e),s=this.serializeValue(t,r);if(!i.exists)return`---
|
|
70
|
+
${r}}`}generateValuesTerm(e){if(e.type==="iri")return`<${e.value}>`;let r=`"${e.value.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`;return e.language?r+=`@${e.language}`:e.datatype&&(r+=`^^<${e.datatype}>`),r}generateExpression(e){switch(e.type){case"variable":return`?${e.name}`;case"literal":return typeof e.value=="string"?`"${e.value.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`:typeof e.value=="boolean"?e.value?"true":"false":String(e.value);case"comparison":return`(${this.generateExpression(e.left)} ${e.operator} ${this.generateExpression(e.right)})`;case"logical":return e.operator==="!"?`!(${this.generateExpression(e.operands[0])})`:`(${e.operands.map(t=>this.generateExpression(t)).join(` ${e.operator} `)})`;case"arithmetic":return`(${this.generateExpression(e.left)} ${e.operator} ${this.generateExpression(e.right)})`;case"function":return`${e.function.toUpperCase()}(${e.args.map(t=>this.generateExpression(t)).join(", ")})`;case"functionCall":return`${(typeof e.function=="string"?e.function:e.function.value).toUpperCase()}(${e.args.map(r=>this.generateExpression(r)).join(", ")})`;case"exists":return`${e.negated?"NOT EXISTS":"EXISTS"} { ${this.generateWhereClause(e.pattern,0)} }`;case"in":{let t=this.generateExpression(e.expression),r=e.list.map(i=>this.generateExpression(i)).join(", ");return e.negated?`${t} NOT IN (${r})`:`${t} IN (${r})`}default:throw new Yc(`Unknown expression type: ${e.type}`)}}collectVariablesFromOperation(e,t){switch(e.type){case"bgp":for(let r of e.triples)this.collectVariablesFromTriple(r,t);break;case"filter":this.collectVariablesFromOperation(e.input,t),this.collectVariablesFromExpression(e.expression,t);break;case"join":case"leftjoin":case"union":case"minus":this.collectVariablesFromOperation(e.left,t),this.collectVariablesFromOperation(e.right,t);break;case"values":for(let r of e.variables)t.add(r);break;case"project":for(let r of e.variables)t.add(r);this.collectVariablesFromOperation(e.input,t);break;case"extend":t.add(e.variable),this.collectVariablesFromOperation(e.input,t);break;case"orderby":case"slice":case"distinct":case"reduced":this.collectVariablesFromOperation(e.input,t);break;case"group":for(let r of e.variables)t.add(r);for(let r of e.aggregates)t.add(r.variable);this.collectVariablesFromOperation(e.input,t);break;case"subquery":this.collectVariablesFromOperation(e.query,t);break}}collectVariablesFromTriple(e,t){e.subject.type==="variable"&&t.add(e.subject.value),"type"in e.predicate&&e.predicate.type==="variable"&&t.add(e.predicate.value),e.object.type==="variable"&&t.add(e.object.value)}collectVariablesFromExpression(e,t){switch(e.type){case"variable":t.add(e.name);break;case"comparison":case"arithmetic":this.collectVariablesFromExpression(e.left,t),this.collectVariablesFromExpression(e.right,t);break;case"logical":for(let r of e.operands)this.collectVariablesFromExpression(r,t);break;case"function":case"functionCall":for(let r of e.args)this.collectVariablesFromExpression(r,t);break;case"exists":this.collectVariablesFromOperation(e.pattern,t);break;case"in":this.collectVariablesFromExpression(e.expression,t);for(let r of e.list)this.collectVariablesFromExpression(r,t);break}}};Kc.SPARQLGenerator=R1});var Jc=S(En=>{"use strict";var Fj=En&&En.__createBinding||(Object.create?(function(n,e,t,r){r===void 0&&(r=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:o(function(){return e[t]},"get")}),Object.defineProperty(n,r,i)}):(function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]})),Dj=En&&En.__setModuleDefault||(Object.create?(function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}):function(n,e){n.default=e}),KA=En&&En.__importStar||(function(){var n=o(function(e){return n=Object.getOwnPropertyNames||function(t){var r=[];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(r[r.length]=i);return r},n(e)},"ownKeys");return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r=n(e),i=0;i<r.length;i++)r[i]!=="default"&&Fj(t,e,r[i]);return Dj(t,e),t}})();Object.defineProperty(En,"__esModule",{value:!0});En.QueryExecutor=En.ExoQLQueryExecutor=En.QueryExecutorError=void 0;var Nj=Y_(),Lj=_p(),kj=p1(),Mj=g1(),jj=$A(),$j=VA(),Bj=WA(),Vj=x1(),Uj=zA(),qj=QA(),Wj=YA(),Gj=xe(),Xc=class extends Error{static{o(this,"QueryExecutorError")}constructor(e,t){super(e,t?{cause:t}:void 0),this.name="QueryExecutorError"}};En.QueryExecutorError=Xc;var Cp=class{static{o(this,"ExoQLQueryExecutor")}constructor(e,t={}){this.tripleStore=e,this.bgpExecutor=new Nj.BGPExecutor(e),this.filterExecutor=new Lj.FilterExecutor,this.optionalExecutor=new kj.OptionalExecutor,this.unionExecutor=new Mj.UnionExecutor,this.minusExecutor=new jj.MinusExecutor,this.valuesExecutor=new $j.ValuesExecutor,this.aggregateExecutor=new Bj.AggregateExecutor,this.constructExecutor=new Vj.ConstructExecutor,this.serviceExecutor=new Uj.ServiceExecutor(t.serviceConfig),this.graphExecutor=new qj.GraphExecutor(e),this.sparqlGenerator=new Wj.SPARQLGenerator,this.filterExecutor.setExistsEvaluator(async(r,i)=>this.evaluateExistsPattern(r,i)),this.filterExecutor.setTripleStore(e)}async evaluateExistsPattern(e,t){for await(let r of this.execute(e))if(t.merge(r)!==null)return!0;return!1}async executeAll(e){let t=[];for await(let r of this.execute(e))t.push(r);return t}async*execute(e){switch(e.type){case"bgp":yield*this.executeBGP(e);break;case"filter":yield*this.executeFilter(e);break;case"join":yield*this.executeJoin(e);break;case"leftjoin":yield*this.executeLeftJoin(e);break;case"union":yield*this.executeUnion(e);break;case"minus":yield*this.executeMinus(e);break;case"values":yield*this.executeValues(e);break;case"project":yield*this.executeProject(e);break;case"orderby":yield*this.executeOrderBy(e);break;case"slice":yield*this.executeSlice(e);break;case"distinct":yield*this.executeDistinct(e);break;case"reduced":yield*this.executeReduced(e);break;case"group":yield*this.executeGroup(e);break;case"extend":yield*this.executeExtend(e);break;case"subquery":yield*this.executeSubquery(e);break;case"lateraljoin":yield*this.executeLateralJoin(e);break;case"service":yield*this.executeService(e);break;case"graph":yield*this.executeGraph(e);break;default:throw new Xc(`Unknown operation type: ${e.type}`)}}async*executeBGP(e){yield*this.bgpExecutor.execute(e)}async*executeFilter(e){let t=this.execute(e.input);yield*this.filterExecutor.execute(e,t)}async*executeJoin(e){let t=[];for await(let a of this.execute(e.left))t.push(a);if(t.length===0)return;let r=new Set;for(let a of t)for(let c of a.variables())r.add(c);let i=this.collectOperationVariables(e.right);if([...r].some(a=>i.has(a)))for(let a of t){let c=this.substituteVariables(e.right,a);for await(let l of this.execute(c)){let u=a.merge(l);u!==null&&(yield u)}}else{let a=[];for await(let c of this.execute(e.right))a.push(c);for(let c of t)for(let l of a){let u=c.merge(l);u!==null&&(yield u)}}}async*executeLeftJoin(e){let t=[];for await(let a of this.execute(e.left))t.push(a);let r=[];for await(let a of this.execute(e.right))r.push(a);async function*i(){for(let a of t)yield a}o(i,"leftGen");async function*s(){for(let a of r)yield a}o(s,"rightGen"),yield*this.optionalExecutor.execute(i(),s())}async*executeUnion(e){let t=[];for await(let a of this.execute(e.left))t.push(a);let r=[];for await(let a of this.execute(e.right))r.push(a);async function*i(){for(let a of t)yield a}o(i,"leftGen");async function*s(){for(let a of r)yield a}o(s,"rightGen"),yield*this.unionExecutor.execute(i(),s())}async*executeMinus(e){let t=[];for await(let a of this.execute(e.left))t.push(a);let r=[];for await(let a of this.execute(e.right))r.push(a);async function*i(){for(let a of t)yield a}o(i,"leftGen");async function*s(){for(let a of r)yield a}o(s,"rightGen"),yield*this.minusExecutor.execute(i(),s())}async*executeValues(e){yield*this.valuesExecutor.execute(e)}async*executeProject(e){let{SolutionMapping:t}=await Promise.resolve().then(()=>KA(rs())),r=new Set(e.variables);for await(let i of this.execute(e.input)){let s=new t;for(let a of i.variables())if(r.has(a)){let c=i.get(a);c!==void 0&&s.set(a,c)}yield s}}async*executeOrderBy(e){let t=[];for await(let r of this.execute(e.input))t.push(r);t.sort((r,i)=>{for(let s of e.comparators){let a=this.getExpressionValue(s.expression,r),c=this.getExpressionValue(s.expression,i),l=0;if(a===void 0&&c===void 0?l=0:a===void 0?l=1:c===void 0?l=-1:typeof a=="number"&&typeof c=="number"?l=a-c:l=String(a).localeCompare(String(c)),s.descending&&(l=-l),l!==0)return l}return 0});for(let r of t)yield r}async*executeSlice(e){let t=0,r=e.offset??0,i=e.limit;for await(let s of this.execute(e.input)){if(t>=r){if(i!==void 0&&t-r>=i)break;yield s}t++}}async*executeDistinct(e){let t=new Set;for await(let r of this.execute(e.input)){let i=this.getSolutionKey(r);t.has(i)||(t.add(i),yield r)}}async*executeReduced(e){let t=new Set;for await(let r of this.execute(e.input)){let i=this.getSolutionKey(r);t.has(i)||(t.add(i),yield r)}}async*executeGroup(e){let t=[];for await(let i of this.execute(e.input))t.push(i);let r=this.aggregateExecutor.execute(e,t);if(e.having&&e.having.length>0)for(let i of r)e.having.every(a=>this.filterExecutor.evaluateExpression(a,i)===!0)&&(yield i);else for(let i of r)yield i}async*executeExtend(e){let t=e.expression.type!=="aggregate"&&this.filterExecutor.expressionContainsExists(e.expression);for await(let r of this.execute(e.input)){let i=r.clone(),s=t?await this.evaluateExtendExpressionAsync(e.expression,r):this.evaluateExtendExpression(e.expression,r);s!==void 0&&i.set(e.variable,s),yield i}}async*executeSubquery(e){yield*this.execute(e.query)}async*executeLateralJoin(e){let t=[];for await(let r of this.execute(e.left))t.push(r);for(let r of t){let i=this.substituteVariables(e.right,r);for await(let s of this.execute(i)){let a=r.merge(s);a!==null&&(yield a)}}}substituteVariables(e,t){let r=JSON.parse(JSON.stringify(e));return this.substituteInOperation(r,t)}substituteInOperation(e,t){if(!e||typeof e!="object")return e;let r=e;return e.type==="bgp"&&e.triples?(e.triples=e.triples.map(i=>this.substituteInTriple(i,t)),e):(r.input&&(r.input=this.substituteInOperation(r.input,t)),r.left&&(r.left=this.substituteInOperation(r.left,t)),r.right&&(r.right=this.substituteInOperation(r.right,t)),r.pattern&&(r.pattern=this.substituteInOperation(r.pattern,t)),r.query&&(r.query=this.substituteInOperation(r.query,t)),r.where&&(r.where=this.substituteInOperation(r.where,t)),r.expression&&this.substituteInExpression(r.expression,t),e)}substituteInExpression(e,t){if(!(!e||typeof e!="object")){if(e.type==="exists"&&e.pattern&&(e.pattern=this.substituteInOperation(e.pattern,t)),e.left&&this.substituteInExpression(e.left,t),e.right&&this.substituteInExpression(e.right,t),e.operands)for(let r of e.operands)this.substituteInExpression(r,t);if(e.args)for(let r of e.args)this.substituteInExpression(r,t);if(e.expression&&this.substituteInExpression(e.expression,t),e.list)for(let r of e.list)this.substituteInExpression(r,t)}}substituteInTriple(e,t){return{subject:this.substituteInTripleElement(e.subject,t),predicate:e.predicate,object:this.substituteInTripleElement(e.object,t)}}substituteInTripleElement(e,t){if(e&&e.type==="variable"){let r=t.get(e.value);if(r!=null){let i=r;if(r instanceof Gj.IRI||i.termType==="NamedNode")return{type:"iri",value:r.value};if(i.termType==="Literal"||typeof i.value=="string")return{type:"literal",value:i.value,datatype:i.datatype?.value??i._datatype?.value,language:i.language??i._language}}}return e}async*executeService(e){yield*this.serviceExecutor.execute(e,t=>this.sparqlGenerator.generateSelect(t))}async*executeGraph(e){let t=async function*(r,i){let s=this.currentGraphContext;this.currentGraphContext=i;try{r.type==="bgp"&&i&&this.tripleStore.matchInGraph?yield*this.executeBGPInGraph(r,i):yield*this.execute(r)}finally{this.currentGraphContext=s}}.bind(this);yield*this.graphExecutor.execute(e,t)}async*executeBGPInGraph(e,t){if(e.triples.length===0){let{SolutionMapping:r}=await Promise.resolve().then(()=>KA(rs()));yield new r;return}yield*this.bgpExecutor.executeInGraph(e,t)}evaluateExtendExpression(e,t){if(e.type!=="aggregate")try{return this.filterExecutor.evaluateExpression(e,t)}catch{return}}async evaluateExtendExpressionAsync(e,t){if(e.type!=="aggregate")try{return await this.filterExecutor.evaluateExpressionAsync(e,t)}catch{return}}getExpressionValue(e,t){if(e.type==="variable"){let r=t.get(e.name);return r?r.value??r.id??String(r):void 0}if(e.type==="literal")return e.value}collectOperationVariables(e){let t=new Set;return this.collectVarsFromOperation(e,t),t}collectVarsFromOperation(e,t){if(!e||typeof e!="object")return;let r=e;if(r.type==="bgp"&&r.triples)for(let i of r.triples)this.collectVarsFromElement(i.subject,t),i.predicate?.type!=="path"&&this.collectVarsFromElement(i.predicate,t),this.collectVarsFromElement(i.object,t);if(r.type==="values"&&r.variables)for(let i of r.variables)t.add(i);r.expression&&this.collectVarsFromExpressionTree(r.expression,t),r.type==="extend"&&r.variable&&t.add(r.variable),r.input&&this.collectVarsFromOperation(r.input,t),r.left&&this.collectVarsFromOperation(r.left,t),r.right&&this.collectVarsFromOperation(r.right,t),r.pattern&&this.collectVarsFromOperation(r.pattern,t),r.query&&this.collectVarsFromOperation(r.query,t),r.where&&this.collectVarsFromOperation(r.where,t)}collectVarsFromElement(e,t){if(!e||typeof e!="object")return;let r=e;r.type==="variable"&&t.add(r.value),r.type==="quoted"&&(this.collectVarsFromElement(r.subject,t),this.collectVarsFromElement(r.predicate,t),this.collectVarsFromElement(r.object,t))}collectVarsFromExpressionTree(e,t){if(!e||typeof e!="object")return;let r=e;if(r.type==="variable"&&r.name&&t.add(r.name),r.type==="exists"&&r.pattern&&this.collectVarsFromOperation(r.pattern,t),r.left&&this.collectVarsFromExpressionTree(r.left,t),r.right&&this.collectVarsFromExpressionTree(r.right,t),r.operands)for(let i of r.operands)this.collectVarsFromExpressionTree(i,t);if(r.args)for(let i of r.args)this.collectVarsFromExpressionTree(i,t);if(r.expression&&this.collectVarsFromExpressionTree(r.expression,t),r.list)for(let i of r.list)this.collectVarsFromExpressionTree(i,t)}getSolutionKey(e){let t=e.toJSON();return Object.keys(t).sort().map(i=>`${i}=${t[i]}`).join("|")}isConstructQuery(e){return e.type==="construct"}async executeConstruct(e){if(e.type!=="construct")throw new Xc("executeConstruct requires a CONSTRUCT operation");let t=await this.executeAll(e.where);return this.constructExecutor.execute(e.template,t)}isAskQuery(e){return e.type==="ask"}async executeAsk(e){if(e.type!=="ask")throw new Xc("executeAsk requires an ASK operation");for await(let t of this.execute(e.where))return!0;return!1}};En.ExoQLQueryExecutor=Cp;En.QueryExecutor=Cp});var XA=S(Bs=>{"use strict";var zj=Bs&&Bs.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},Hj=Bs&&Bs.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)};Object.defineProperty(Bs,"__esModule",{value:!0});Bs.CommandResolver=void 0;var Qj=le(),Yj=bc(),li=xe(),Ln=Ve(),ee=Ir(),O1=pc(),Zc=zy(),Kj=Oc(),Xj=Fc(),Jj=Jc(),P1=10,F1=class{static{o(this,"CommandResolver")}constructor(e,t=Yj.NullLogger){this.tripleStore=e,this.logger=t,this.cache=new Map,this.multiCache=new Map}async resolveForAssetMulti(e,t,r){if(t.length===0)return[];let i=[...t].sort().join(","),s=`${e}::${i}::${r??""}`,a=this.multiCache.get(s);if(a)return a;let c=new Set,l=[];for(let u of t){let f=await this.resolveForAsset(e,u,r);for(let d of f)c.has(d.binding.id)||(c.add(d.binding.id),l.push(d))}return l.sort((u,f)=>{let d=this.getBindingPriority(u.binding),h=this.getBindingPriority(f.binding);return d!==h?d-h:(u.binding.order??100)-(f.binding.order??100)}),this.multiCache.set(s,l),l}async resolveForAsset(e,t,r){let i=`${e}:${t}:${r??""}`,s=this.cache.get(i);if(s)return s;let a=await this.findBindings(t,r,e),c=[];for(let l of a){let u=await this.loadCommand(l.commandRef);if(!u)continue;let f=l.precondition?{...u,precondition:l.precondition}:u;c.push({command:f,binding:l})}return c.sort((l,u)=>{let f=this.getBindingPriority(l.binding),d=this.getBindingPriority(u.binding);return f!==d?f-d:(l.binding.order??100)-(u.binding.order??100)}),this.cache.set(i,c),c}async loadCommand(e){let t=await this.findSubjectByUID(e);if(!t||(await this.tripleStore.match(t,ee.Namespace.RDF.term("type"),ee.Namespace.EXOCMD.term("Command"))).length===0)return null;let i=await this.getLiteralValue(t,ee.Namespace.EXO.term("Asset_label"))??"Unknown Command",s=await this.getLiteralValue(t,ee.Namespace.EXOCMD.term("Command_labelTemplate")),a=await this.getLiteralValue(t,ee.Namespace.EXOCMD.term("Command_icon")),c=await this.getLiteralValue(t,ee.Namespace.EXOCMD.term("Command_confirmMessage")),l=await this.getLiteralValue(t,ee.Namespace.EXOCMD.term("Command_successMessage")),u=await this.getLiteralValue(t,ee.Namespace.EXOCMD.term("Command_category")),f=await this.loadLinkedPrecondition(t),d=await this.loadLinkedGrounding(t,0);return d?{id:e,name:i,labelTemplate:s??void 0,icon:a??void 0,precondition:f??void 0,grounding:d,confirmMessage:c??void 0,successMessage:l??void 0,category:u??void 0}:null}async findBindings(e,t,r){let i=await this.tripleStore.match(void 0,ee.Namespace.RDF.term("type"),ee.Namespace.EXOCMD.term("CommandBinding")),s=[];for(let a of i){let c=a.subject,l=await this.loadBindingDefinition(c);l&&this.bindingMatches(l,e,t,r)&&s.push(l)}return s}invalidateCache(){this.cache.clear(),this.multiCache.clear()}async resolveLabel(e,t){if(!e.labelTemplate)return e.name;let r=e.labelTemplate,i=this.extractPlaceholders(e.labelTemplate);for(let{full:s,body:a}of i){let c=await this.evaluateSelectSnippet(a,t);r=r.replace(s,c)}return r}extractPlaceholders(e){let t=[],r=0;for(;r<e.length;)if(e[r]==="{"){let i=1,s=r+1;for(;s<e.length&&i>0;)e[s]==="{"?i++:e[s]==="}"&&i--,s++;if(i===0){let a=e.slice(r,s),c=e.slice(r+1,s-1);t.push({full:a,body:c})}r=s}else r++;return t}async evaluateSelectSnippet(e,t){try{let r=e.replace(/\$target/g,`<${t}>`),s=new Kj.ExoQLParser().parse(r),c=new Xj.ExoQLAlgebraTranslator().translate(s),u=await new Jj.ExoQLQueryExecutor(this.tripleStore).executeAll(c);if(u.length===0)return"";let f=u[0],d=f.variables();if(d.length===0)return"";let h=f.get(d[0]);return h?h instanceof Ln.Literal||h instanceof li.IRI?h.value:String(h):""}catch{return""}}async loadBindingDefinition(e){let t=await this.getLiteralValue(e,ee.Namespace.EXO.term("Asset_uid"));if(!t)return null;let r=await this.getLiteralValue(e,ee.Namespace.EXO.term("Asset_label"))??"",i=await this.getLinkedUID(e,ee.Namespace.EXOCMD.term("CommandBinding_command"));if(!i)return null;let s=await this.getLinkedValue(e,ee.Namespace.EXOCMD.term("CommandBinding_targetClass")),a=await this.getLinkedValue(e,ee.Namespace.EXOCMD.term("CommandBinding_targetPrototype")),c=await this.getLinkedValue(e,ee.Namespace.EXOCMD.term("CommandBinding_targetAsset"));if(!s&&!a&&!c)return null;let l=await this.getLiteralValue(e,ee.Namespace.EXOCMD.term("CommandBinding_position")),u=await this.getLiteralValue(e,ee.Namespace.EXOCMD.term("CommandBinding_order")),f=await this.getLiteralValue(e,ee.Namespace.EXOCMD.term("CommandBinding_group")),d=await this.loadLinkedPreconditionFromProperty(e,ee.Namespace.EXOCMD.term("CommandBinding_precondition")),h=await this.loadLinkedStyle(e,t);return{id:t,label:r,commandRef:i,targetClass:s??void 0,targetPrototype:a??void 0,targetAsset:c??void 0,position:l??void 0,order:u?parseInt(u,10):void 0,group:f??void 0,precondition:d??void 0,style:h??void 0}}async loadLinkedStyle(e,t){let r=await this.tripleStore.match(e,ee.Namespace.EXOCMD.term("CommandBinding_style"),void 0);if(r.length>0){let s=r[0].object,a=null;if(s instanceof li.IRI)a=s;else if(s instanceof Ln.Literal){let c=this.normalizeWikilink(s.value);a=await this.findSubjectByUID(c)}if(a){let c=await this.loadStyleAsset(a);if(c)return c}this.logger.warn(this.capWarning(`CommandBinding ${t}: style reference unresolved, falling back to inline variant`))}let i=await this.getLiteralValue(e,ee.Namespace.EXOCMD.term("CommandBinding_variant"));if(i!==null){let s=this.coerceVariant(i,t);if(s!==void 0)return{id:`inline:${t}`,label:"",variant:s,inline:!0}}return null}async loadStyleAsset(e){let t=await this.getLiteralValue(e,ee.Namespace.EXO.term("Asset_uid"));if(!t)return null;let r=await this.getLiteralValue(e,ee.Namespace.EXO.term("Asset_label"))??"",i=await this.getLiteralValue(e,ee.Namespace.EXOCMD.term("CommandBindingStyle_variant")),s=i!==null?this.coerceVariant(i,t):void 0,a=await this.getLiteralValue(e,ee.Namespace.EXOCMD.term("CommandBindingStyle_showIcon")),c=this.coerceBoolean(a),l=await this.getLiteralValue(e,ee.Namespace.EXOCMD.term("CommandBindingStyle_labelClass")),u=l!==null?this.coerceLabelClass(l,t):void 0,f=await this.getLiteralValue(e,ee.Namespace.EXOCMD.term("CommandBindingStyle_ariaLabel")),d=await this.getLiteralValue(e,ee.Namespace.EXOCMD.term("CommandBindingStyle_tooltip")),h=await this.getLiteralValue(e,ee.Namespace.EXOCMD.term("CommandBindingStyle_keyboardShortcut")),p=await this.getLiteralValue(e,ee.Namespace.EXOCMD.term("CommandBindingStyle_source")),_=p!==null?this.coerceStyleSource(p,t):void 0;return{id:t,label:r,variant:s,showIcon:c,labelClass:u,ariaLabel:f??void 0,tooltip:d??void 0,keyboardShortcut:h??void 0,source:_,inline:!1}}coerceVariant(e,t){if(e==null)return;let r=String(e).trim().toLowerCase();if(r!==""){if(Zc.COMMAND_VARIANT_VALUES.includes(r))return r;this.logger.warn(this.capWarning(`CommandBindingStyle variant "${r}" not in whitelist [${Zc.COMMAND_VARIANT_VALUES.join(",")}]; dropped (asset ${t})`))}}coerceLabelClass(e,t){if(e==null)return;let r=String(e).trim().toLowerCase();if(r!==""){if(Zc.LABEL_CLASS_VALUES.includes(r))return r;this.logger.warn(this.capWarning(`CommandBindingStyle labelClass "${r}" not in whitelist [${Zc.LABEL_CLASS_VALUES.join(",")}]; dropped (asset ${t})`))}}coerceStyleSource(e,t){if(e==null)return;let r=String(e).trim().toLowerCase();if(r!==""){if(Zc.STYLE_SOURCE_VALUES.includes(r))return r;this.logger.warn(this.capWarning(`CommandBindingStyle source "${r}" not in whitelist [${Zc.STYLE_SOURCE_VALUES.join(",")}]; dropped (asset ${t})`))}}coerceBoolean(e){if(e===null)return;let t=e.trim().toLowerCase();if(t==="true")return!0;if(t==="false")return!1}capWarning(e){return e.length<=200?e:e.slice(0,197)+"..."}bindingMatches(e,t,r,i){return!!(e.targetAsset&&i&&this.matchesReference(e.targetAsset,i)||e.targetPrototype&&r&&this.matchesReference(e.targetPrototype,r)||e.targetClass&&t&&this.matchesReference(e.targetClass,t))}matchesReference(e,t){let r=this.normalizeWikilink(e),i=this.normalizeWikilink(t);if(r===i)return!0;let s=this.extractPathBasename(i);if(s&&s===r)return!0;let a=this.extractPathBasename(r);if(a&&a===i)return!0;let c=this.extractAlias(t);if(c&&r===c)return!0;let l=this.extractAlias(e);return!!(l&&l===i)}extractPathBasename(e){let t=e.match(/\/([^/]+)\.md$/);return t?t[1]:null}extractAlias(e){let t=e.replace(/["'[\]]/g,"").trim(),r=t.indexOf("|");return r>=0?t.substring(r+1).trim():null}getBindingPriority(e){return e.targetAsset?0:e.targetPrototype?1:2}async loadLinkedPrecondition(e){return this.loadLinkedPreconditionFromProperty(e,ee.Namespace.EXOCMD.term("Command_precondition"))}async loadLinkedPreconditionFromProperty(e,t){let r=await this.tripleStore.match(e,t,void 0);if(r.length===0)return null;let i=r[0].object,s=null;if(i instanceof li.IRI)s=i;else if(i instanceof Ln.Literal){let h=this.normalizeWikilink(i.value);s=await this.findSubjectByUID(h)}if(!s)return null;let a=await this.getLiteralValue(s,ee.Namespace.EXO.term("Asset_uid")),c=await this.getLiteralValue(s,ee.Namespace.EXO.term("Asset_label"))??"",l=await this.getLiteralValue(s,ee.Namespace.EXOCMD.term("Precondition_sparqlAsk")),u=await this.getLiteralValue(s,ee.Namespace.EXOCMD.term("Precondition_hostFunction")),f=await this.tripleStore.match(s,ee.Namespace.EXOCMD.term("Precondition_query"),void 0),d;if(f.length>0){let h=f[0].object;if(h instanceof li.IRI){let p=await this.getLiteralValue(h,ee.Namespace.EXO.term("Asset_uid"));p&&(d=p)}else h instanceof Ln.Literal&&(d=this.normalizeWikilink(h.value))}return!a||!l&&!u&&!d?null:{id:a,label:c,...l&&{sparqlAsk:l},...u&&{hostFunction:u},...d&&{query:d}}}async loadLinkedGrounding(e,t){if(t>=P1)return null;let r=await this.tripleStore.match(e,ee.Namespace.EXOCMD.term("Command_grounding"),void 0);if(r.length===0)return null;let i=r[0].object,s=null;if(i instanceof li.IRI)s=i;else if(i instanceof Ln.Literal){let a=this.normalizeWikilink(i.value);s=await this.findSubjectByUID(a)}return s?this.loadGroundingDefinition(s,t):null}async loadGroundingDefinition(e,t){if(t>=P1)return null;let r=await this.getLiteralValue(e,ee.Namespace.EXO.term("Asset_uid"));if(!r)return null;let i=await this.getLiteralValue(e,ee.Namespace.EXO.term("Asset_label"))??"",s=await this.getLiteralValue(e,ee.Namespace.EXOCMD.term("Grounding_type"));if(!s)return null;let a=this.resolveGroundingType(s);if(!a)return null;let c=await this.getObsidianName(e,ee.Namespace.EXOCMD.term("Grounding_targetProperty"));if(a===O1.GroundingType.SERVICE_CALL){let v=await this.getLiteralValue(e,ee.Namespace.EXOCMD.term("Grounding_serviceId"));v&&(c=v)}let l=await this.getObsidianWikilinkValue(e,ee.Namespace.EXOCMD.term("Grounding_targetValue")),u=await this.getLiteralValue(e,ee.Namespace.EXOCMD.term("Grounding_sparqlUpdate")),f=await this.getLiteralValue(e,ee.Namespace.EXOCMD.term("Grounding_targetClass")),d=await this.getLiteralValue(e,ee.Namespace.EXOCMD.term("Grounding_targetPrototype")),h=await this.getLiteralValue(e,ee.Namespace.EXOCMD.term("Grounding_targetFolder")),p=await this.getLiteralValue(e,ee.Namespace.EXOCMD.term("Grounding_inputSchema")),_;a===O1.GroundingType.COMPOSITE&&(_=await this.loadCompositeSteps(e,t+1));let b;if(p)try{let v=JSON.parse(p);v?.properties&&(b=Object.entries(v.properties).map(([A,R])=>({name:A,type:R.type==="string"?"text":R.type,label:R.title??A,required:Array.isArray(v.required)&&v.required.includes(A)})))}catch{}let E={id:r,label:i,type:a,targetProperty:c??void 0,targetValue:l??void 0,sparqlUpdate:u??void 0,steps:_,targetClass:f??void 0,targetPrototype:d??void 0,targetFolder:h??void 0};return b&&(E.inputSchema=b),E}async loadCompositeSteps(e,t){if(t>=P1)return[];let r=await this.tripleStore.match(e,ee.Namespace.EXOCMD.term("Grounding_steps"),void 0),i=[];for(let s of r){let a=null;if(s.object instanceof li.IRI)a=s.object;else if(s.object instanceof Ln.Literal){let l=this.normalizeWikilink(s.object.value);a=await this.findSubjectByUID(l)}if(!a)continue;let c=await this.loadGroundingDefinition(a,t);c&&i.push(c)}return i}resolveGroundingType(e){let t=e.toLowerCase().trim();return Object.values(O1.GroundingType).includes(t)?t:null}async findSubjectByUID(e){if(this.tripleStore.findSubjectsByUUID){let r=await this.tripleStore.findSubjectsByUUID(e);if(r.length>0)return r[0]}let t=await this.tripleStore.match(void 0,ee.Namespace.EXO.term("Asset_uid"),void 0);for(let r of t)if(r.object instanceof Ln.Literal&&r.object.value===e)return r.subject;return null}async getLiteralValue(e,t){let r=await this.tripleStore.match(e,t,void 0);if(r.length===0)return null;let i=r[0].object;return i instanceof Ln.Literal||i instanceof li.IRI?i.value:null}async getLinkedUID(e,t){let r=await this.tripleStore.match(e,t,void 0);if(r.length===0)return null;let i=r[0].object;if(i instanceof li.IRI){let s=await this.tripleStore.match(i,ee.Namespace.EXO.term("Asset_uid"),void 0);return s.length>0&&s[0].object instanceof Ln.Literal?s[0].object.value:i.value.split("/").pop()?.replace(".md","")??null}return i instanceof Ln.Literal?this.normalizeWikilink(i.value):null}async getLinkedValue(e,t){let r=await this.tripleStore.match(e,t,void 0);if(r.length===0)return null;let i=r[0].object;return i instanceof Ln.Literal?this.normalizeWikilink(i.value):i instanceof li.IRI?this.iriToObsidianName(i.value)??i.value:null}async getObsidianName(e,t){let r=await this.tripleStore.match(e,t,void 0);if(r.length===0)return null;let i=r[0].object;return i instanceof Ln.Literal?i.value:i instanceof li.IRI?this.iriToObsidianName(i.value)??i.value:null}async getObsidianWikilinkValue(e,t){let r=await this.tripleStore.match(e,t,void 0);if(r.length===0)return null;let i=r[0].object;if(i instanceof Ln.Literal)return this.resolveWikilinkAlias(i.value);if(i instanceof li.IRI){let s=this.iriToObsidianName(i.value);return s?`"[[${s}]]"`:i.value}return null}async resolveWikilinkAlias(e){let t=e.match(/\[\[([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})\]\]/);if(!t)return e;let r=t[1],i=await this.findSubjectByUID(r);if(!i)return e;let s=await this.getLiteralValue(i,ee.Namespace.EXO.term("Asset_label"));return s?e.replace(`[[${r}]]`,`[[${r}|${s}]]`):e}iriToObsidianName(e){let t=e.lastIndexOf("#");if(t>=0){let i=e.substring(0,t+1),s=e.substring(t+1);if(i===ee.Namespace.EMS.iri.value)return`ems__${s}`;if(i===ee.Namespace.EXO.iri.value)return`exo__${s}`;if(i===ee.Namespace.EXOCMD.iri.value)return`exocmd__${s}`;if(i===ee.Namespace.IMS.iri.value)return`ims__${s}`;if(i===ee.Namespace.ZTLK.iri.value)return`ztlk__${s}`;if(i===ee.Namespace.PTMS.iri.value)return`ptms__${s}`;if(i===ee.Namespace.LIT.iri.value)return`lit__${s}`;if(i===ee.Namespace.INBOX.iri.value)return`inbox__${s}`}let r=e.match(/\/([^/]+)\.md$/);return r?r[1]:null}normalizeWikilink(e){let t=e.replace(/["'[\]]/g,"").trim(),r=t.indexOf("|");return r>=0?t.substring(0,r):t}};Bs.CommandResolver=F1;Bs.CommandResolver=F1=zj([(0,Qj.injectable)(),Hj("design:paramtypes",[Object,Object])],F1)});var N1=S(D1=>{"use strict";Object.defineProperty(D1,"__esModule",{value:!0});D1.validateExoQLAllowlist=Zj;var Ip=Uu();function Zj(n){if(!n||typeof n!="object")return;let e=n;if(e.type==="update"){let t=n.updates??[];for(let r of t)if(r?.type==="load")throw new Ip.ExoQLForbiddenKeywordError("LOAD");throw new Ip.ExoQLForbiddenKeywordError("UPDATE")}if(e.type==="query"){if(e.from){let t=Array.isArray(e.from.default)&&e.from.default.length>0,r=Array.isArray(e.from.named)&&e.from.named.length>0;if(t||r)throw new Ip.ExoQLForbiddenKeywordError("FROM")}if(Array.isArray(e.where))for(let t of e.where)Rp(t);if(Array.isArray(e.template))for(let t of e.template)Rp(t)}}o(Zj,"validateExoQLAllowlist");function Rp(n){if(!n||typeof n!="object")return;if(n.type==="service")throw new Ip.ExoQLForbiddenKeywordError("SERVICE");if(Array.isArray(n.patterns))for(let t of n.patterns)Rp(t);let e=n.where;if(Array.isArray(e))for(let t of e)Rp(t)}o(Rp,"walkPatternForBannedKeywords")});var L1=S(Op=>{"use strict";Object.defineProperty(Op,"__esModule",{value:!0});Op.DEFAULT_EVAL_CONFIG=void 0;Op.DEFAULT_EVAL_CONFIG=Object.freeze({enabled:!0,maxNestedEvalCount:100,maxAggregateEvalMillis:1e4})});var M1=S(k1=>{"use strict";Object.defineProperty(k1,"__esModule",{value:!0});k1.evaluateWithExoEval=a5;var e5=Oc(),t5=Fc(),r5=Jc(),n5=N1(),i5=L1(),s5=Uu();async function a5(n,e={}){if(typeof n!="string")throw new TypeError("evaluateWithExoEval: sparql must be a string");let r=new e5.ExoQLParser().parse(n);if((0,n5.validateExoQLAllowlist)(r),!{...i5.DEFAULT_EVAL_CONFIG,...e.config??{}}.enabled)throw new s5.ExoQLEvalDisabledError;let s="queryType"in r&&typeof r.queryType=="string"?r.queryType:"SELECT";if(!e.store)return s==="ASK"?{kind:"ask",result:!1}:s==="CONSTRUCT"?{kind:"construct",triples:[]}:{kind:"select",rows:[]};let c=new t5.ExoQLAlgebraTranslator().translate(r),l=new r5.ExoQLQueryExecutor(e.store);return l.isAskQuery(c)?{kind:"ask",result:await l.executeAsk(c)}:l.isConstructQuery(c)?{kind:"construct",triples:await l.executeConstruct(c)}:{kind:"select",rows:await l.executeAll(c)}}o(a5,"evaluateWithExoEval")});var ZA=S(Vs=>{"use strict";var o5=Vs&&Vs.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},c5=Vs&&Vs.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},Wu;Object.defineProperty(Vs,"__esModule",{value:!0});Vs.PreconditionEvaluator=void 0;var l5=le(),u5=Oc(),f5=Fc(),JA=Jc(),d5=M1(),Gu=Wu=class{static{o(this,"PreconditionEvaluator")}constructor(e,t){this.hostFunctions=new Map,this.askCache=new Map,this.tripleStore=e,this.queryBodyResolver=t}async evaluate(e,t,r){return e?e.sparqlAsk?this.evaluateSparqlAsk(e.sparqlAsk,t):e.query?this.evaluateQueryRef(e.query,t):e.hostFunction?this.evaluateHostFunction(e.hostFunction,t,r):!0:!0}async evaluateQueryRef(e,t){if(!this.queryBodyResolver)return!1;try{let r=await this.queryBodyResolver.resolveSparql(e);if(!r)return!1;let i=this.substituteVariables(r,t),s=await(0,d5.evaluateWithExoEval)(i,{store:this.tripleStore});return s.kind!=="ask"?!1:s.result}catch{return!1}}registerHostFunction(e,t){this.hostFunctions.set(e,t)}hasHostFunction(e){return this.hostFunctions.has(e)}invalidateCache(){this.askCache.clear()}compileAsk(e){let t=this.substituteVariables(e,Wu.SENTINEL_IRI),i=new u5.ExoQLParser().parse(t),a=new f5.ExoQLAlgebraTranslator().translate(i);return new JA.ExoQLQueryExecutor(this.tripleStore).isAskQuery(a)?a:null}evaluateHostFunction(e,t,r){let i=this.hostFunctions.get(e);if(!i)return!0;let s=r?{...r,targetIRI:t}:{targetIRI:t};return i(s)}async evaluateSparqlAsk(e,t){try{let r=this.askCache.get(e);if(r===void 0){let a=this.compileAsk(e);if(!a)return!1;r=a,this.askCache.set(e,r)}let i=JSON.parse(JSON.stringify(r).replaceAll(Wu.SENTINEL_IRI,t));return await new JA.ExoQLQueryExecutor(this.tripleStore).executeAsk(i)}catch{return!1}}substituteVariables(e,t){let r=new Date().toISOString(),i=r.slice(0,10),s=new Date,a=new Date(s.getTime()+Wu.ALMATY_OFFSET_MS),c=a.getUTCFullYear(),l=a.getUTCMonth(),u=a.getUTCDate(),f=a.getUTCDay(),h=new Date(Date.UTC(c,l,u-1)).toISOString().slice(0,10),p=(f+6)%7,_=new Date(Date.UTC(c,l,u-p)),b=_.toISOString().slice(0,10),v=new Date(_.getTime()-10080*60*1e3).toISOString().slice(0,10),A=`${c}-${String(l+1).padStart(2,"0")}-01`,R=l===0?11:l-1,W=`${l===0?c-1:c}-${String(R+1).padStart(2,"0")}-01`,we=`${c}-01-01`;return e.replace(/\$target/g,`<${t}>`).replace(/\$now/g,`"${r}"^^xsd:dateTime`).replace(/\$yesterday/g,`"${h}"^^xsd:date`).replace(/\$thisWeekStart/g,`"${b}"^^xsd:date`).replace(/\$lastWeekStart/g,`"${v}"^^xsd:date`).replace(/\$thisMonthStart/g,`"${A}"^^xsd:date`).replace(/\$lastMonthStart/g,`"${W}"^^xsd:date`).replace(/\$thisYearStart/g,`"${we}"^^xsd:date`).replace(/\$today/g,`"${i}"^^xsd:date`)}};Vs.PreconditionEvaluator=Gu;Gu.SENTINEL_IRI="urn:exocortex:cache-sentinel:target";Gu.ALMATY_OFFSET_MS=300*60*1e3;Vs.PreconditionEvaluator=Gu=Wu=o5([(0,l5.injectable)(),c5("design:paramtypes",[Object,Object])],Gu)});var Gn=S(Pp=>{"use strict";Object.defineProperty(Pp,"__esModule",{value:!0});Pp.FrontmatterService=void 0;var zu=class n{static{o(this,"FrontmatterService")}parse(e){let t=e.match(n.FRONTMATTER_REGEX);return t?{exists:!0,content:t[1],originalContent:e}:{exists:!1,content:"",originalContent:e}}updateProperty(e,t,r){t=n.normalizeIRI(t),typeof r=="string"&&(r=n.normalizeIRIValue(r));let i=this.parse(e),s=this.serializeValue(t,r);if(!i.exists)return`---
|
|
71
71
|
${s}
|
|
72
72
|
---
|
|
73
73
|
${e}`;let a=i.content;if(this.hasProperty(a,t)){let c=new RegExp(`${this.escapeRegex(t)}:.*(?:
|
|
@@ -88,7 +88,7 @@ ${Object.entries(t).map(([a,c])=>this.serializeValue(a,c)).join(`
|
|
|
88
88
|
${r}`}return`${e}: ${String(t)}`}escapeRegex(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}};Pp.FrontmatterService=zu;zu.FRONTMATTER_REGEX=/^---\n([\s\S]*?)\n---/;zu.IRI_PREFIX_MAP={"https://exocortex.my/ontology/ems#":"ems__","https://exocortex.my/ontology/exo#":"exo__","https://exocortex.my/ontology/exocmd#":"exocmd__","https://exocortex.my/ontology/ims#":"ims__","https://exocortex.my/ontology/ztlk#":"ztlk__","https://exocortex.my/ontology/ptms#":"ptms__","https://exocortex.my/ontology/lit#":"lit__","https://exocortex.my/ontology/inbox#":"inbox__","https://exocortex.my/ontology/pmbok#":"pmbok__"}});var qr=S(Fp=>{"use strict";Object.defineProperty(Fp,"__esModule",{value:!0});Fp.DateFormatter=void 0;var j1=class n{static{o(this,"DateFormatter")}static toISOTimestamp(e){return e.toISOString().replace(/\.\d{3}Z$/,"Z")}static toLocalTimestamp(e){let t=e.getFullYear(),r=String(e.getMonth()+1).padStart(2,"0"),i=String(e.getDate()).padStart(2,"0"),s=String(e.getHours()).padStart(2,"0"),a=String(e.getMinutes()).padStart(2,"0"),c=String(e.getSeconds()).padStart(2,"0");return`${t}-${r}-${i}T${s}:${a}:${c}`}static toDateWikilink(e){let t=e.getFullYear(),r=String(e.getMonth()+1).padStart(2,"0"),i=String(e.getDate()).padStart(2,"0");return`"[[${t}-${r}-${i}]]"`}static getTodayWikilink(){return n.toDateWikilink(new Date)}static toDateString(e){let t=e.getFullYear(),r=String(e.getMonth()+1).padStart(2,"0"),i=String(e.getDate()).padStart(2,"0");return`${t}-${r}-${i}`}static parseWikilink(e){let r=e.replace(/^["']|["']$/g,"").match(/\[\[(\d{4}-\d{2}-\d{2})\]\]/);return r?r[1]:null}static addDays(e,t){let r=new Date(e);return r.setDate(r.getDate()+t),r}static isSameDay(e,t){return e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()}static getTodayStartTimestamp(){let e=new Date;return e.setHours(0,0,0,0),n.toLocalTimestamp(e)}static toTimestampAtStartOfDay(e){let t=e.split("-").map(Number);if(t.length!==3||t.some(isNaN))throw new Error(`Invalid date format: ${e}. Expected YYYY-MM-DD`);let[r,i,s]=t,a=new Date(r,i-1,s,0,0,0,0);if(isNaN(a.getTime()))throw new Error(`Invalid date values: ${e}`);return n.toLocalTimestamp(a)}static normalizeTimestamp(e){if(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$/.test(e))return e;let t=new Date(e);if(isNaN(t.getTime()))throw new Error(`Invalid timestamp format: ${e}`);return n.toISOTimestamp(t)}static isISOTimestamp(e){return/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$/.test(e)}};Fp.DateFormatter=j1});var xa=S(Dp=>{"use strict";Object.defineProperty(Dp,"__esModule",{value:!0});Dp.LoggingService=void 0;var Hu=class{static{o(this,"LoggingService")}static setVerbose(e){this.isVerbose=e}static setDevelopmentMode(e){this.isDevelopment=e}static checkIsDevelopment(){return this.isDevelopment!==void 0?this.isDevelopment:typeof process<"u"?(this.isDevelopment=!1,this.isDevelopment):(this.isDevelopment=!1,this.isDevelopment)}static debug(e,t){this.isVerbose&&console.debug(`[Exocortex] ${e}`,t??"")}static info(e,t){console.log(`[Exocortex] ${e}`,t??"")}static warn(e,t){console.warn(`[Exocortex] ${e}`,t??"")}static error(e,t,r){let i=this.checkIsDevelopment(),s=r?` [${r}]`:"";if(i){let a=t?.stack?`
|
|
89
89
|
Stack trace:
|
|
90
90
|
${t.stack}`:"";console.error(`[Exocortex ERROR]${s} ${e}${a}`,t??"")}else{let a=t?.message?`
|
|
91
|
-
Details: ${t.message}`:"";console.error(`[Exocortex ERROR]${s} ${e}${a}`)}}};Dp.LoggingService=Hu;Hu.isVerbose=!1;Hu.isDevelopment=void 0});var tA=S(ui=>{"use strict";var h5=ui&&ui.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},p5=ui&&ui.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)};Object.defineProperty(ui,"__esModule",{value:!0});ui.GroundingExecutor=ui.ServiceRegistry=void 0;var m5=le(),g5=Sn(),xo=pc(),y5=Gn(),_5=qr(),S5=xa();function b5(n){if(!n)return;let e=n.match(/^"?\[\[([^\]|]+)(?:\|[^\]]*)?\]\]"?$/);return e?e[1]:n}o(b5,"extractClassFromTargetValue");var Np=class{static{o(this,"ServiceRegistry")}constructor(){this.services=new Map}register(e,t){this.services.set(e,t)}get(e){return this.services.get(e)}has(e){return this.services.has(e)}getRegisteredIds(){return Array.from(this.services.keys())}};ui.ServiceRegistry=Np;var eA=20,$1=class{static{o(this,"GroundingExecutor")}constructor(e,t,r){this.frontmatterService=new y5.FrontmatterService,this.fileReader=e,this.fileWriter=t,this.serviceRegistry=r}async execute(e,t,r,i){try{switch(e.type){case xo.GroundingType.PROPERTY_SET:return await this.executePropertySet(e,t,r,i);case xo.GroundingType.PROPERTY_DELETE:return await this.executePropertyDelete(e,r);case xo.GroundingType.COMPOSITE:return await this.executeComposite(e,t,r,i,0);case xo.GroundingType.SERVICE_CALL:return await this.executeServiceCall(e,t,r,i);case xo.GroundingType.CREATE_INSTANCE:return await this.executeCreateInstance(e,t,i);case xo.GroundingType.SPARQL_UPDATE:return{success:!1,error:"sparql_update grounding not yet implemented. Use property_set/property_delete instead."};default:return{success:!1,error:`Unknown grounding type: ${e.type}`}}}catch(s){return{success:!1,error:s instanceof Error?s.message:String(s)}}}async executePropertySet(e,t,r,i){if(!e.targetProperty)return{success:!1,error:"property_set requires targetProperty"};if(e.targetValue===void 0)return{success:!1,error:"property_set requires targetValue"};if(/\$(input|value)\b/.test(e.targetValue)&&(i===void 0||i.value===void 0||i.value===null))return{success:!1,error:"property_set: targetValue contains $input/$value placeholder but no userInput.value provided"};let a=this.substituteVariables(e.targetValue,t,i),c=await this.fileReader.readFile(r),l=this.frontmatterService.updateProperty(c,e.targetProperty,a);return await this.fileWriter.updateFile(r,l),{success:!0}}async executePropertyDelete(e,t){if(!e.targetProperty)return{success:!1,error:"property_delete requires targetProperty"};let r=await this.fileReader.readFile(t),i=this.frontmatterService.removeProperty(r,e.targetProperty);return await this.fileWriter.updateFile(t,i),{success:!0}}async executeComposite(e,t,r,i,s){if(s>=eA)return{success:!1,error:`Composite grounding exceeded maximum depth of ${eA}`};let a=e.steps??[];if(a.length===0)return{success:!0};let c;try{c=await this.fileReader.readFile(r)}catch{}let l=[];try{for(let u=0;u<a.length;u++){let f=a[u],d=await this.executeStep(f,t,r,i,s+1);if(!d.success)return await this.rollback(c,r,l),{success:!1,error:`Composite step ${u} failed: ${d.error}`};l.push(u)}return{success:!0}}catch(u){return await this.rollback(c,r,l),{success:!1,error:`Composite execution failed: ${u instanceof Error?u.message:String(u)}`}}}async executeServiceCall(e,t,r,i){let s=e.targetProperty;if(!s)return{success:!1,error:"service_call requires targetProperty as serviceId"};if(s==="convertToTask")return await this.executeConvertToTask(r);if(s==="updateProperty"){let l=b5(e.targetValue);if(l==="ems__Task")return await this.executeConvertToTask(r);if(l==="ems__Project")return await this.executeConvertToProject(r)}let a=this.serviceRegistry.get(s);if(!a)return{success:!1,error:`Service not found: "${s}". Registered services: ${this.serviceRegistry.getRegisteredIds().join(", ")||"none"}`};let c=i;if(e.targetValue)try{let l=this.substituteVariables(e.targetValue,t,i),u=JSON.parse(l);typeof u=="object"&&u!==null&&(c={...u,...i??{}})}catch{}return await a.execute(t,c),{success:!0}}async executeConvertToTask(e){let t=await this.fileReader.readFile(e),r=this.frontmatterService.updateProperty(t,"exo__Instance_class",'["[[ems__Task]]"]');return await this.fileWriter.updateFile(e,r),{success:!0}}async executeConvertToProject(e){let t=await this.fileReader.readFile(e),r=this.frontmatterService.updateProperty(t,"exo__Instance_class",'["[[ems__Project]]"]');return await this.fileWriter.updateFile(e,r),{success:!0}}async executeCreateInstance(e,t,r){if(!e.targetFolder)return{success:!1,error:"create_instance requires targetFolder"};let i=(0,g5.v4)(),s=r?.label??"Untitled",a={exo__Asset_uid:i,exo__Asset_createdAt:new Date().toISOString(),exo__Asset_label:s};if(s!=="Untitled"&&(a.aliases=[s]),e.targetClass&&(a.exo__Instance_class=[`"[[${e.targetClass}]]"`]),e.targetPrototype&&(a.exo__Asset_prototype=`"[[${e.targetPrototype}]]"`),t&&(a.exo__Asset_source=`"[[${t}]]"`),r)for(let[u,f]of Object.entries(r))u!=="label"&&f!=null&&(a[u]=f);let c=this.frontmatterService.createFrontmatter("",a),l=`${e.targetFolder}/${i}.md`;return await this.fileWriter.createFile(l,c),{success:!0}}async executeStep(e,t,r,i,s){return e.type===xo.GroundingType.COMPOSITE?this.executeComposite(e,t,r,i,s):this.execute(e,t,r,i)}async rollback(e,t,r){if(e!==void 0)try{await this.fileWriter.updateFile(t,e)}catch(i){S5.LoggingService.error(`[GroundingExecutor] Rollback failed for ${t}`,i instanceof Error?i:new Error(String(i)))}}substituteVariables(e,t,r){let i=new Date,s=i.toISOString(),a=_5.DateFormatter.toLocalTimestamp(i),c=s.slice(0,10),l=e.replace(/\$target/g,t).replace(/\$nowLocal/g,a).replace(/\$now/g,s).replace(/\$today/g,c);if(r?.value!==void 0&&r.value!==null){let u=String(r.value);l=l.replace(/\$input\b/g,u).replace(/\$value\b/g,u)}return l}};ui.GroundingExecutor=$1;ui.GroundingExecutor=$1=h5([(0,m5.injectable)(),p5("design:paramtypes",[Object,Object,Np])],$1)});var Qu=S(Us=>{"use strict";var v5=Us&&Us.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},w5=Us&&Us.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)};Object.defineProperty(Us,"__esModule",{value:!0});Us.WorkflowEngine=void 0;var E5=le(),B1=class{static{o(this,"WorkflowEngine")}constructor(e){this.definition=e}getAvailableTransitions(e){return this.definition.transitions.filter(t=>t.from===e&&!t.isRollback)}getRollbackTransitions(e){return this.definition.transitions.filter(t=>t.from===e&&t.isRollback)}getAllTransitions(e){return this.definition.transitions.filter(t=>t.from===e)}canTransition(e,t){return this.definition.transitions.some(r=>r.from===e&&r.to===t)}getPreviousStatus(e){return this.definition.transitions.find(r=>r.from===e&&r.isRollback)?.to??null}getNextStates(e){return this.getAvailableTransitions(e).map(t=>t.to)}isTerminalState(e){return this.definition.terminalStates.includes(e)}isInitialState(e){return this.definition.initialState===e}getTimestampsForStatus(e){return this.definition.states.find(r=>r.status===e)?.timestampOnEnter??[]}getTransition(e,t){return this.definition.transitions.find(r=>r.from===e&&r.to===t)}getOrderedStates(){return this.definition.states.map(e=>e.status)}getDefinition(){return this.definition}validate(){let e=[],t=new Set(this.definition.states.map(i=>i.status));this.definition.states.length===0&&e.push("Workflow must have at least one state"),t.has(this.definition.initialState)||e.push(`Initial state "${this.definition.initialState}" is not in the states list`);for(let i of this.definition.terminalStates)t.has(i)||e.push(`Terminal state "${i}" is not in the states list`);for(let i of this.definition.transitions)t.has(i.from)||e.push(`Transition "${i.label}" references unknown source state "${i.from}"`),t.has(i.to)||e.push(`Transition "${i.label}" references unknown target state "${i.to}"`);for(let i of this.definition.states){if(this.definition.terminalStates.includes(i.status))continue;this.definition.transitions.filter(a=>a.from===i.status&&!a.isRollback).length===0&&e.push(`State "${i.status}" has no outgoing forward transitions (dead end)`)}let r=new Set;for(let i of this.definition.transitions){let s=`${i.from}\u2192${i.to}`;r.has(s)&&e.push(`Duplicate transition: ${s}`),r.add(s)}return{valid:e.length===0,errors:e}}};Us.WorkflowEngine=B1;Us.WorkflowEngine=B1=v5([(0,E5.injectable)(),w5("design:paramtypes",[Object])],B1)});var rA=S(ss=>{"use strict";Object.defineProperty(ss,"__esModule",{value:!0});ss.EFFORT_WORKFLOW_PROPERTY=ss.WorkflowTransitionProperty=ss.WorkflowStateProperty=ss.WorkflowProperty=void 0;ss.WorkflowProperty={TARGET_CLASS:"ems__Workflow_targetClass",INITIAL_STATE:"ems__Workflow_initialState",TERMINAL_STATES:"ems__Workflow_terminalStates",IS_DEFAULT:"ems__Workflow_isDefault"};ss.WorkflowStateProperty={WORKFLOW:"ems__WorkflowState_workflow",STATUS:"ems__WorkflowState_status",ORDER:"ems__WorkflowState_order",OPTIONAL:"ems__WorkflowState_optional",TIMESTAMP_ON_ENTER:"ems__WorkflowState_timestampOnEnter",BADGE_COLOR:"ems__WorkflowState_badgeColor"};ss.WorkflowTransitionProperty={WORKFLOW:"ems__WorkflowTransition_workflow",FROM:"ems__WorkflowTransition_from",TO:"ems__WorkflowTransition_to",LABEL:"ems__WorkflowTransition_label",ICON:"ems__WorkflowTransition_icon",IS_ROLLBACK:"ems__WorkflowTransition_isRollback"};ss.EFFORT_WORKFLOW_PROPERTY="ems__Effort_workflow"});var as=S(Lp=>{"use strict";Object.defineProperty(Lp,"__esModule",{value:!0});Lp.MetadataHelpers=void 0;var V1=class{static{o(this,"MetadataHelpers")}static findAllReferencingProperties(e,t){let r=[];for(let[i,s]of Object.entries(e))this.containsReference(s,t)&&r.push(i);return r}static findReferencingProperty(e,t){for(let[r,i]of Object.entries(e))if(this.containsReference(i,t))return r}static containsReference(e,t){if(!e)return!1;let r=t.replace(/\.md$/,"");if(typeof e=="string"){let i=/\[\[([^\[\]]+)\]\]/g,s;for(;(s=i.exec(e))!==null;){let c=s[1].split("|")[0].trim();if(c===r||c.endsWith(`/${r}`))return!0}return!1}return Array.isArray(e)?e.some(i=>this.containsReference(i,t)):!1}static isAssetArchived(e){let t=e?.exo__Asset_isArchived;if(t!=null){if(t===!0||t===1)return!0;if(typeof t=="string"){let i=t.toLowerCase().trim();if(i==="true"||i==="yes"||i==="1")return!0}if(typeof t=="boolean")return t}let r=e?.archived;if(r==null)return!1;if(typeof r=="boolean")return r;if(typeof r=="number")return r!==0;if(typeof r=="string"){let i=r.toLowerCase().trim();return i==="true"||i==="yes"||i==="1"}return!1}static getPropertyValue(e,t){return t==="Name"||t==="title"?e.title:t==="created"?e.created:t==="modified"?e.modified:t==="path"?e.path:e.metadata?.[t]}static ensureQuoted(e){return!e||e==='""'?'""':e.startsWith('"')&&e.endsWith('"')?e:`"${e}"`}static buildFileContent(e,t){let r=Object.entries(e).map(([a,c])=>{if(Array.isArray(c)){let l=c.map(u=>` - ${u}`).join(`
|
|
91
|
+
Details: ${t.message}`:"";console.error(`[Exocortex ERROR]${s} ${e}${a}`)}}};Dp.LoggingService=Hu;Hu.isVerbose=!1;Hu.isDevelopment=void 0});var t3=S(ui=>{"use strict";var h5=ui&&ui.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},p5=ui&&ui.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)};Object.defineProperty(ui,"__esModule",{value:!0});ui.GroundingExecutor=ui.ServiceRegistry=void 0;var m5=le(),g5=Sn(),xo=pc(),y5=Gn(),_5=qr(),S5=xa();function b5(n){if(!n)return;let e=n.match(/^"?\[\[([^\]|]+)(?:\|[^\]]*)?\]\]"?$/);return e?e[1]:n}o(b5,"extractClassFromTargetValue");var Np=class{static{o(this,"ServiceRegistry")}constructor(){this.services=new Map}register(e,t){this.services.set(e,t)}get(e){return this.services.get(e)}has(e){return this.services.has(e)}getRegisteredIds(){return Array.from(this.services.keys())}};ui.ServiceRegistry=Np;var e3=20,$1=class{static{o(this,"GroundingExecutor")}constructor(e,t,r){this.frontmatterService=new y5.FrontmatterService,this.fileReader=e,this.fileWriter=t,this.serviceRegistry=r}async execute(e,t,r,i){try{switch(e.type){case xo.GroundingType.PROPERTY_SET:return await this.executePropertySet(e,t,r,i);case xo.GroundingType.PROPERTY_DELETE:return await this.executePropertyDelete(e,r);case xo.GroundingType.COMPOSITE:return await this.executeComposite(e,t,r,i,0);case xo.GroundingType.SERVICE_CALL:return await this.executeServiceCall(e,t,r,i);case xo.GroundingType.CREATE_INSTANCE:return await this.executeCreateInstance(e,t,i);case xo.GroundingType.SPARQL_UPDATE:return{success:!1,error:"sparql_update grounding not yet implemented. Use property_set/property_delete instead."};default:return{success:!1,error:`Unknown grounding type: ${e.type}`}}}catch(s){return{success:!1,error:s instanceof Error?s.message:String(s)}}}async executePropertySet(e,t,r,i){if(!e.targetProperty)return{success:!1,error:"property_set requires targetProperty"};if(e.targetValue===void 0)return{success:!1,error:"property_set requires targetValue"};if(/\$(input|value)\b/.test(e.targetValue)&&(i===void 0||i.value===void 0||i.value===null))return{success:!1,error:"property_set: targetValue contains $input/$value placeholder but no userInput.value provided"};let a=this.substituteVariables(e.targetValue,t,i),c=await this.fileReader.readFile(r),l=this.frontmatterService.updateProperty(c,e.targetProperty,a);return await this.fileWriter.updateFile(r,l),{success:!0}}async executePropertyDelete(e,t){if(!e.targetProperty)return{success:!1,error:"property_delete requires targetProperty"};let r=await this.fileReader.readFile(t),i=this.frontmatterService.removeProperty(r,e.targetProperty);return await this.fileWriter.updateFile(t,i),{success:!0}}async executeComposite(e,t,r,i,s){if(s>=e3)return{success:!1,error:`Composite grounding exceeded maximum depth of ${e3}`};let a=e.steps??[];if(a.length===0)return{success:!0};let c;try{c=await this.fileReader.readFile(r)}catch{}let l=[];try{for(let u=0;u<a.length;u++){let f=a[u],d=await this.executeStep(f,t,r,i,s+1);if(!d.success)return await this.rollback(c,r,l),{success:!1,error:`Composite step ${u} failed: ${d.error}`};l.push(u)}return{success:!0}}catch(u){return await this.rollback(c,r,l),{success:!1,error:`Composite execution failed: ${u instanceof Error?u.message:String(u)}`}}}async executeServiceCall(e,t,r,i){let s=e.targetProperty;if(!s)return{success:!1,error:"service_call requires targetProperty as serviceId"};if(s==="convertToTask")return await this.executeConvertToTask(r);if(s==="updateProperty"){let l=b5(e.targetValue);if(l==="ems__Task")return await this.executeConvertToTask(r);if(l==="ems__Project")return await this.executeConvertToProject(r)}let a=this.serviceRegistry.get(s);if(!a)return{success:!1,error:`Service not found: "${s}". Registered services: ${this.serviceRegistry.getRegisteredIds().join(", ")||"none"}`};let c=i;if(e.targetValue)try{let l=this.substituteVariables(e.targetValue,t,i),u=JSON.parse(l);typeof u=="object"&&u!==null&&(c={...u,...i??{}})}catch{}return await a.execute(t,c),{success:!0}}async executeConvertToTask(e){let t=await this.fileReader.readFile(e),r=this.frontmatterService.updateProperty(t,"exo__Instance_class",'["[[ems__Task]]"]');return await this.fileWriter.updateFile(e,r),{success:!0}}async executeConvertToProject(e){let t=await this.fileReader.readFile(e),r=this.frontmatterService.updateProperty(t,"exo__Instance_class",'["[[ems__Project]]"]');return await this.fileWriter.updateFile(e,r),{success:!0}}async executeCreateInstance(e,t,r){if(!e.targetFolder)return{success:!1,error:"create_instance requires targetFolder"};let i=(0,g5.v4)(),s=r?.label??"Untitled",a={exo__Asset_uid:i,exo__Asset_createdAt:new Date().toISOString(),exo__Asset_label:s};if(s!=="Untitled"&&(a.aliases=[s]),e.targetClass&&(a.exo__Instance_class=[`"[[${e.targetClass}]]"`]),e.targetPrototype&&(a.exo__Asset_prototype=`"[[${e.targetPrototype}]]"`),t&&(a.exo__Asset_source=`"[[${t}]]"`),r)for(let[u,f]of Object.entries(r))u!=="label"&&f!=null&&(a[u]=f);let c=this.frontmatterService.createFrontmatter("",a),l=`${e.targetFolder}/${i}.md`;return await this.fileWriter.createFile(l,c),{success:!0}}async executeStep(e,t,r,i,s){return e.type===xo.GroundingType.COMPOSITE?this.executeComposite(e,t,r,i,s):this.execute(e,t,r,i)}async rollback(e,t,r){if(e!==void 0)try{await this.fileWriter.updateFile(t,e)}catch(i){S5.LoggingService.error(`[GroundingExecutor] Rollback failed for ${t}`,i instanceof Error?i:new Error(String(i)))}}substituteVariables(e,t,r){let i=new Date,s=i.toISOString(),a=_5.DateFormatter.toLocalTimestamp(i),c=s.slice(0,10),l=e.replace(/\$target/g,t).replace(/\$nowLocal/g,a).replace(/\$now/g,s).replace(/\$today/g,c);if(r?.value!==void 0&&r.value!==null){let u=String(r.value);l=l.replace(/\$input\b/g,u).replace(/\$value\b/g,u)}return l}};ui.GroundingExecutor=$1;ui.GroundingExecutor=$1=h5([(0,m5.injectable)(),p5("design:paramtypes",[Object,Object,Np])],$1)});var Qu=S(Us=>{"use strict";var v5=Us&&Us.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},w5=Us&&Us.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)};Object.defineProperty(Us,"__esModule",{value:!0});Us.WorkflowEngine=void 0;var E5=le(),B1=class{static{o(this,"WorkflowEngine")}constructor(e){this.definition=e}getAvailableTransitions(e){return this.definition.transitions.filter(t=>t.from===e&&!t.isRollback)}getRollbackTransitions(e){return this.definition.transitions.filter(t=>t.from===e&&t.isRollback)}getAllTransitions(e){return this.definition.transitions.filter(t=>t.from===e)}canTransition(e,t){return this.definition.transitions.some(r=>r.from===e&&r.to===t)}getPreviousStatus(e){return this.definition.transitions.find(r=>r.from===e&&r.isRollback)?.to??null}getNextStates(e){return this.getAvailableTransitions(e).map(t=>t.to)}isTerminalState(e){return this.definition.terminalStates.includes(e)}isInitialState(e){return this.definition.initialState===e}getTimestampsForStatus(e){return this.definition.states.find(r=>r.status===e)?.timestampOnEnter??[]}getTransition(e,t){return this.definition.transitions.find(r=>r.from===e&&r.to===t)}getOrderedStates(){return this.definition.states.map(e=>e.status)}getDefinition(){return this.definition}validate(){let e=[],t=new Set(this.definition.states.map(i=>i.status));this.definition.states.length===0&&e.push("Workflow must have at least one state"),t.has(this.definition.initialState)||e.push(`Initial state "${this.definition.initialState}" is not in the states list`);for(let i of this.definition.terminalStates)t.has(i)||e.push(`Terminal state "${i}" is not in the states list`);for(let i of this.definition.transitions)t.has(i.from)||e.push(`Transition "${i.label}" references unknown source state "${i.from}"`),t.has(i.to)||e.push(`Transition "${i.label}" references unknown target state "${i.to}"`);for(let i of this.definition.states){if(this.definition.terminalStates.includes(i.status))continue;this.definition.transitions.filter(a=>a.from===i.status&&!a.isRollback).length===0&&e.push(`State "${i.status}" has no outgoing forward transitions (dead end)`)}let r=new Set;for(let i of this.definition.transitions){let s=`${i.from}\u2192${i.to}`;r.has(s)&&e.push(`Duplicate transition: ${s}`),r.add(s)}return{valid:e.length===0,errors:e}}};Us.WorkflowEngine=B1;Us.WorkflowEngine=B1=v5([(0,E5.injectable)(),w5("design:paramtypes",[Object])],B1)});var r3=S(ss=>{"use strict";Object.defineProperty(ss,"__esModule",{value:!0});ss.EFFORT_WORKFLOW_PROPERTY=ss.WorkflowTransitionProperty=ss.WorkflowStateProperty=ss.WorkflowProperty=void 0;ss.WorkflowProperty={TARGET_CLASS:"ems__Workflow_targetClass",INITIAL_STATE:"ems__Workflow_initialState",TERMINAL_STATES:"ems__Workflow_terminalStates",IS_DEFAULT:"ems__Workflow_isDefault"};ss.WorkflowStateProperty={WORKFLOW:"ems__WorkflowState_workflow",STATUS:"ems__WorkflowState_status",ORDER:"ems__WorkflowState_order",OPTIONAL:"ems__WorkflowState_optional",TIMESTAMP_ON_ENTER:"ems__WorkflowState_timestampOnEnter",BADGE_COLOR:"ems__WorkflowState_badgeColor"};ss.WorkflowTransitionProperty={WORKFLOW:"ems__WorkflowTransition_workflow",FROM:"ems__WorkflowTransition_from",TO:"ems__WorkflowTransition_to",LABEL:"ems__WorkflowTransition_label",ICON:"ems__WorkflowTransition_icon",IS_ROLLBACK:"ems__WorkflowTransition_isRollback"};ss.EFFORT_WORKFLOW_PROPERTY="ems__Effort_workflow"});var as=S(Lp=>{"use strict";Object.defineProperty(Lp,"__esModule",{value:!0});Lp.MetadataHelpers=void 0;var V1=class{static{o(this,"MetadataHelpers")}static findAllReferencingProperties(e,t){let r=[];for(let[i,s]of Object.entries(e))this.containsReference(s,t)&&r.push(i);return r}static findReferencingProperty(e,t){for(let[r,i]of Object.entries(e))if(this.containsReference(i,t))return r}static containsReference(e,t){if(!e)return!1;let r=t.replace(/\.md$/,"");if(typeof e=="string"){let i=/\[\[([^\[\]]+)\]\]/g,s;for(;(s=i.exec(e))!==null;){let c=s[1].split("|")[0].trim();if(c===r||c.endsWith(`/${r}`))return!0}return!1}return Array.isArray(e)?e.some(i=>this.containsReference(i,t)):!1}static isAssetArchived(e){let t=e?.exo__Asset_isArchived;if(t!=null){if(t===!0||t===1)return!0;if(typeof t=="string"){let i=t.toLowerCase().trim();if(i==="true"||i==="yes"||i==="1")return!0}if(typeof t=="boolean")return t}let r=e?.archived;if(r==null)return!1;if(typeof r=="boolean")return r;if(typeof r=="number")return r!==0;if(typeof r=="string"){let i=r.toLowerCase().trim();return i==="true"||i==="yes"||i==="1"}return!1}static getPropertyValue(e,t){return t==="Name"||t==="title"?e.title:t==="created"?e.created:t==="modified"?e.modified:t==="path"?e.path:e.metadata?.[t]}static ensureQuoted(e){return!e||e==='""'?'""':e.startsWith('"')&&e.endsWith('"')?e:`"${e}"`}static buildFileContent(e,t){let r=Object.entries(e).map(([a,c])=>{if(Array.isArray(c)){let l=c.map(u=>` - ${u}`).join(`
|
|
92
92
|
`);return`${a}:
|
|
93
93
|
${l}`}return`${a}: ${c}`}).join(`
|
|
94
94
|
`),i=t;if(i===void 0){let a=e.exo__Asset_label;typeof a=="string"&&a.trim()!==""&&(i=`# ${a}`)}let s=i?`
|
|
@@ -97,22 +97,22 @@ ${i}
|
|
|
97
97
|
`;return`---
|
|
98
98
|
${r}
|
|
99
99
|
---
|
|
100
|
-
${s}`}};Lp.MetadataHelpers=V1});var iA=S(Co=>{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Co.TASK_DEFAULT_WORKFLOW=Co.PROJECT_DEFAULT_WORKFLOW=void 0;Co.buildWorkflowAssetContent=T5;var nA=Sn(),Yu=_u(),ve=hc(),Wr=rA(),U1=as();Co.PROJECT_DEFAULT_WORKFLOW={id:"a1b2c3d4-1111-4000-a000-000000000001",name:"Project Default Workflow",targetClass:Yu.AssetClass.PROJECT,initialState:ve.EffortStatus.DRAFT,terminalStates:[ve.EffortStatus.DONE,ve.EffortStatus.TRASHED],isDefault:!0,states:[{status:ve.EffortStatus.DRAFT,order:1,optional:!1,timestampOnEnter:[]},{status:ve.EffortStatus.BACKLOG,order:2,optional:!1,timestampOnEnter:[]},{status:ve.EffortStatus.ANALYSIS,order:3,optional:!0,timestampOnEnter:[]},{status:ve.EffortStatus.TODO,order:4,optional:!0,timestampOnEnter:[]},{status:ve.EffortStatus.DOING,order:5,optional:!1,timestampOnEnter:["ems__Effort_startTimestamp"]},{status:ve.EffortStatus.DONE,order:6,optional:!1,timestampOnEnter:["ems__Effort_endTimestamp","ems__Effort_resolutionTimestamp"]},{status:ve.EffortStatus.TRASHED,order:7,optional:!1,timestampOnEnter:["ems__Effort_resolutionTimestamp"]}],transitions:[{from:ve.EffortStatus.DRAFT,to:ve.EffortStatus.BACKLOG,label:"\u2192 Backlog",isRollback:!1},{from:ve.EffortStatus.BACKLOG,to:ve.EffortStatus.ANALYSIS,label:"\u2192 Analysis",isRollback:!1},{from:ve.EffortStatus.ANALYSIS,to:ve.EffortStatus.TODO,label:"\u2192 ToDo",isRollback:!1},{from:ve.EffortStatus.TODO,to:ve.EffortStatus.DOING,label:"\u25B6 Start",isRollback:!1},{from:ve.EffortStatus.DOING,to:ve.EffortStatus.DONE,label:"\u2713 Done",isRollback:!1},{from:ve.EffortStatus.BACKLOG,to:ve.EffortStatus.DRAFT,label:"\u2190 Draft",isRollback:!0},{from:ve.EffortStatus.ANALYSIS,to:ve.EffortStatus.BACKLOG,label:"\u2190 Backlog",isRollback:!0},{from:ve.EffortStatus.TODO,to:ve.EffortStatus.ANALYSIS,label:"\u2190 Analysis",isRollback:!0},{from:ve.EffortStatus.DOING,to:ve.EffortStatus.TODO,label:"\u2190 ToDo",isRollback:!0},{from:ve.EffortStatus.DONE,to:ve.EffortStatus.DOING,label:"\u2190 Doing",isRollback:!0}]};Co.TASK_DEFAULT_WORKFLOW={id:"a1b2c3d4-2222-4000-a000-000000000002",name:"Task Default Workflow",targetClass:Yu.AssetClass.TASK,initialState:ve.EffortStatus.DRAFT,terminalStates:[ve.EffortStatus.DONE,ve.EffortStatus.TRASHED],isDefault:!0,states:[{status:ve.EffortStatus.DRAFT,order:1,optional:!1,timestampOnEnter:[]},{status:ve.EffortStatus.BACKLOG,order:2,optional:!1,timestampOnEnter:[]},{status:ve.EffortStatus.DOING,order:3,optional:!1,timestampOnEnter:["ems__Effort_startTimestamp"]},{status:ve.EffortStatus.DONE,order:4,optional:!1,timestampOnEnter:["ems__Effort_endTimestamp","ems__Effort_resolutionTimestamp"]},{status:ve.EffortStatus.TRASHED,order:5,optional:!1,timestampOnEnter:["ems__Effort_resolutionTimestamp"]}],transitions:[{from:ve.EffortStatus.DRAFT,to:ve.EffortStatus.BACKLOG,label:"\u2192 Backlog",isRollback:!1},{from:ve.EffortStatus.BACKLOG,to:ve.EffortStatus.DOING,label:"\u25B6 Start",isRollback:!1},{from:ve.EffortStatus.DOING,to:ve.EffortStatus.DONE,label:"\u2713 Done",isRollback:!1},{from:ve.EffortStatus.BACKLOG,to:ve.EffortStatus.DRAFT,label:"\u2190 Draft",isRollback:!0},{from:ve.EffortStatus.DOING,to:ve.EffortStatus.BACKLOG,label:"\u2190 Backlog",isRollback:!0},{from:ve.EffortStatus.DONE,to:ve.EffortStatus.DOING,label:"\u2190 Doing",isRollback:!0}]};function T5(n){let e=new Date().toISOString(),t=[],r=n.id,i={exo__Asset_uid:r,exo__Asset_label:`"${n.name}"`,exo__Asset_createdAt:e,exo__Instance_class:Yu.AssetClass.WORKFLOW,[Wr.WorkflowProperty.TARGET_CLASS]:`"[[${n.targetClass}]]"`,[Wr.WorkflowProperty.INITIAL_STATE]:`"[[${n.initialState}]]"`,[Wr.WorkflowProperty.TERMINAL_STATES]:n.terminalStates.map(s=>`"[[${s}]]"`),[Wr.WorkflowProperty.IS_DEFAULT]:n.isDefault};t.push({filename:`${r}.md`,content:U1.MetadataHelpers.buildFileContent(i)});for(let s of n.states){let a=(0,nA.v4)(),c={exo__Asset_uid:a,exo__Asset_label:`"${n.name} - ${s.status}"`,exo__Asset_createdAt:e,exo__Instance_class:Yu.AssetClass.WORKFLOW_STATE,[Wr.WorkflowStateProperty.WORKFLOW]:`"[[${r}]]"`,[Wr.WorkflowStateProperty.STATUS]:`"[[${s.status}]]"`,[Wr.WorkflowStateProperty.ORDER]:s.order,[Wr.WorkflowStateProperty.OPTIONAL]:s.optional};s.timestampOnEnter.length>0&&(c[Wr.WorkflowStateProperty.TIMESTAMP_ON_ENTER]=s.timestampOnEnter),s.badgeColor&&(c[Wr.WorkflowStateProperty.BADGE_COLOR]=`"${s.badgeColor}"`),t.push({filename:`${a}.md`,content:U1.MetadataHelpers.buildFileContent(c)})}for(let s of n.transitions){let a=(0,nA.v4)(),c={exo__Asset_uid:a,exo__Asset_label:`"${n.name} - ${s.label}"`,exo__Asset_createdAt:e,exo__Instance_class:Yu.AssetClass.WORKFLOW_TRANSITION,[Wr.WorkflowTransitionProperty.WORKFLOW]:`"[[${r}]]"`,[Wr.WorkflowTransitionProperty.FROM]:`"[[${s.from}]]"`,[Wr.WorkflowTransitionProperty.TO]:`"[[${s.to}]]"`,[Wr.WorkflowTransitionProperty.LABEL]:`"${s.label}"`,[Wr.WorkflowTransitionProperty.IS_ROLLBACK]:s.isRollback};s.icon&&(c[Wr.WorkflowTransitionProperty.ICON]=`"${s.icon}"`),t.push({filename:`${a}.md`,content:U1.MetadataHelpers.buildFileContent(c)})}return t}o(T5,"buildWorkflowAssetContent")});var W1=S(qs=>{"use strict";var A5=qs&&qs.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},x5=qs&&qs.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)};Object.defineProperty(qs,"__esModule",{value:!0});qs.WorkflowResolver=void 0;var C5=le(),Ku=xe(),cn=Ve(),vt=Ir(),Io=_u(),kp=hc(),sA=iA(),q1=class{static{o(this,"WorkflowResolver")}constructor(e){this.tripleStore=e,this.cache=new Map}async resolveForClass(e){let t=`class:${e}`,r=this.cache.get(t);if(r)return r;let s=await this.findDefaultWorkflow(e)??this.getHardcodedFallback(e);return this.cache.set(t,s),s}async resolveForAsset(e,t){let r=await this.tripleStore.match(e,vt.Namespace.EMS.term("Effort_workflow"),void 0);if(r.length>0){let i=r[0].object;if(i instanceof Ku.IRI){let s=await this.loadWorkflowBySubject(i);if(s)return s}}return this.resolveForClass(t)}invalidateCache(){this.cache.clear()}async findDefaultWorkflow(e){let t=await this.tripleStore.match(void 0,vt.Namespace.RDF.term("type"),vt.Namespace.EMS.term("Workflow"));for(let r of t){let i=r.subject;if(!(!(await this.tripleStore.match(i,vt.Namespace.EMS.term("Workflow_targetClass"),void 0)).some(u=>{let f=u.object;return f instanceof Ku.IRI?f.value.endsWith(e.replace(/^ems__/,"")):f instanceof cn.Literal?this.normalizeWikilink(f.value)===e:!1})||!(await this.tripleStore.match(i,vt.Namespace.EMS.term("Workflow_isDefault"),void 0)).some(u=>{let f=u.object instanceof cn.Literal?u.object.value:"";return f==="true"||f==="1"})))return this.loadWorkflowBySubject(i)}return null}async loadWorkflowBySubject(e){let t=await this.tripleStore.match(e,vt.Namespace.EXO.term("Asset_label"),void 0),r=t.length>0&&t[0].object instanceof cn.Literal?t[0].object.value:"Unknown Workflow",i=await this.tripleStore.match(e,vt.Namespace.EXO.term("Asset_uid"),void 0),s=i.length>0&&i[0].object instanceof cn.Literal?i[0].object.value:e.value,a=await this.tripleStore.match(e,vt.Namespace.EMS.term("Workflow_targetClass"),void 0),c=this.resolveAssetClass(a),l=await this.tripleStore.match(e,vt.Namespace.EMS.term("Workflow_initialState"),void 0),u=this.resolveEffortStatus(l)??kp.EffortStatus.DRAFT,f=await this.tripleStore.match(e,vt.Namespace.EMS.term("Workflow_terminalStates"),void 0),d=this.resolveEffortStatuses(f),p=(await this.tripleStore.match(e,vt.Namespace.EMS.term("Workflow_isDefault"),void 0)).some(E=>{let v=E.object instanceof cn.Literal?E.object.value:"";return v==="true"||v==="1"}),_=await this.loadStates(e),b=await this.loadTransitions(e);return _.length===0&&b.length===0?null:{id:s,name:r,targetClass:c,states:_,transitions:b,initialState:u,terminalStates:d.length>0?d:[kp.EffortStatus.DONE,kp.EffortStatus.TRASHED],isDefault:p}}async loadStates(e){let t=await this.tripleStore.match(void 0,vt.Namespace.RDF.term("type"),vt.Namespace.EMS.term("WorkflowState")),r=[];for(let i of t){let s=i.subject;if(!(await this.tripleStore.match(s,vt.Namespace.EMS.term("WorkflowState_workflow"),void 0)).some(A=>this.isSameSubject(A.object,e)))continue;let l=await this.tripleStore.match(s,vt.Namespace.EMS.term("WorkflowState_status"),void 0),u=this.resolveEffortStatus(l);if(!u)continue;let f=await this.tripleStore.match(s,vt.Namespace.EMS.term("WorkflowState_order"),void 0),d=f.length>0&&f[0].object instanceof cn.Literal&&parseInt(f[0].object.value,10)||0,p=(await this.tripleStore.match(s,vt.Namespace.EMS.term("WorkflowState_optional"),void 0)).some(A=>{let R=A.object instanceof cn.Literal?A.object.value:"";return R==="true"||R==="1"}),b=(await this.tripleStore.match(s,vt.Namespace.EMS.term("WorkflowState_timestampOnEnter"),void 0)).map(A=>A.object instanceof cn.Literal?A.object.value:"").filter(A=>A.length>0),E=await this.tripleStore.match(s,vt.Namespace.EMS.term("WorkflowState_badgeColor"),void 0),v=E.length>0&&E[0].object instanceof cn.Literal?E[0].object.value:void 0;r.push({status:u,order:d,optional:p,timestampOnEnter:b,badgeColor:v})}return r.sort((i,s)=>i.order-s.order)}async loadTransitions(e){let t=await this.tripleStore.match(void 0,vt.Namespace.RDF.term("type"),vt.Namespace.EMS.term("WorkflowTransition")),r=[];for(let i of t){let s=i.subject;if(!(await this.tripleStore.match(s,vt.Namespace.EMS.term("WorkflowTransition_workflow"),void 0)).some(A=>this.isSameSubject(A.object,e)))continue;let l=await this.tripleStore.match(s,vt.Namespace.EMS.term("WorkflowTransition_from"),void 0),u=this.resolveEffortStatus(l),f=await this.tripleStore.match(s,vt.Namespace.EMS.term("WorkflowTransition_to"),void 0),d=this.resolveEffortStatus(f);if(!u||!d)continue;let h=await this.tripleStore.match(s,vt.Namespace.EMS.term("WorkflowTransition_label"),void 0),p=h.length>0&&h[0].object instanceof cn.Literal?h[0].object.value:`${u} \u2192 ${d}`,_=await this.tripleStore.match(s,vt.Namespace.EMS.term("WorkflowTransition_icon"),void 0),b=_.length>0&&_[0].object instanceof cn.Literal?_[0].object.value:void 0,v=(await this.tripleStore.match(s,vt.Namespace.EMS.term("WorkflowTransition_isRollback"),void 0)).some(A=>{let R=A.object instanceof cn.Literal?A.object.value:"";return R==="true"||R==="1"});r.push({from:u,to:d,label:p,icon:b,isRollback:v})}return r}normalizeWikilink(e){return e.replace(/["'[\]]/g,"").trim()}resolveAssetClass(e){if(e.length===0)return Io.AssetClass.TASK;let t=e[0].object;if(t instanceof Ku.IRI){let i=`ems__${t.value.split("#").pop()??""}`;return Object.values(Io.AssetClass).includes(i)?i:Io.AssetClass.TASK}if(t instanceof cn.Literal){let r=this.normalizeWikilink(t.value);return Object.values(Io.AssetClass).includes(r)?r:Io.AssetClass.TASK}return Io.AssetClass.TASK}resolveEffortStatus(e){if(e.length===0)return null;let t=e[0].object,r;if(t instanceof Ku.IRI)r=`ems__${t.value.split("#").pop()??""}`;else if(t instanceof cn.Literal)r=this.normalizeWikilink(t.value);else return null;return Object.values(kp.EffortStatus).includes(r)?r:null}resolveEffortStatuses(e){return e.map(t=>this.resolveEffortStatus([t])).filter(t=>t!==null)}isSameSubject(e,t){if(e instanceof Ku.IRI)return e.value===t.value;if(e instanceof cn.Literal){let r=this.normalizeWikilink(e.value);return t.value.includes(r)}return!1}getHardcodedFallback(e){return e===Io.AssetClass.PROJECT?{...sA.PROJECT_DEFAULT_WORKFLOW}:{...sA.TASK_DEFAULT_WORKFLOW}}};qs.WorkflowResolver=q1;qs.WorkflowResolver=q1=A5([(0,C5.injectable)(),x5("design:paramtypes",[Object])],q1)});var Q1=S(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.TransactionError=Ca.TripleNotFoundError=Ca.TripleAlreadyExistsError=void 0;var G1=class extends Error{static{o(this,"TripleAlreadyExistsError")}constructor(e){super(`Triple already exists: ${e.toString()}`),this.name="TripleAlreadyExistsError"}};Ca.TripleAlreadyExistsError=G1;var z1=class extends Error{static{o(this,"TripleNotFoundError")}constructor(e){super(`Triple not found: ${e.toString()}`),this.name="TripleNotFoundError"}};Ca.TripleNotFoundError=z1;var H1=class extends Error{static{o(this,"TransactionError")}constructor(e){super(e),this.name="TransactionError"}};Ca.TransactionError=H1});var jp=S(Mp=>{"use strict";Object.defineProperty(Mp,"__esModule",{value:!0});Mp.LRUCache=void 0;var Y1=class{static{o(this,"LRUCache")}constructor(e){this.maxSize=e,this.cache=new Map}get(e){let t=this.cache.get(e);return t!==void 0&&(this.cache.delete(e),this.cache.set(e,t)),t}set(e,t){if(this.cache.has(e))this.cache.delete(e);else if(this.cache.size>=this.maxSize){let r=this.cache.keys().next().value;r!==void 0&&this.cache.delete(r)}this.cache.set(e,t)}clear(){this.cache.clear()}size(){return this.cache.size}};Mp.LRUCache=Y1});var J1=S(Bp=>{"use strict";Object.defineProperty(Bp,"__esModule",{value:!0});Bp.InMemoryTripleStore=void 0;var Ia=Q1(),$p=xe(),I5=qt(),R5=Ve(),O5=Ir(),P5=jp(),F5=O5.Namespace.XSD.term("string").value,D5=/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/gi,el="__default__",K1=class n{static{o(this,"InMemoryTripleStore")}constructor(){this.triples=new Map,this.spo=new Map,this.sop=new Map,this.pso=new Map,this.pos=new Map,this.osp=new Map,this.ops=new Map,this.queryCache=new P5.LRUCache(1e3),this.uuidIndex=new Map,this.namedGraphs=new Map}async add(e){let t=this.getTripleKey(e);if(this.triples.has(t))return;this.triples.set(t,e);let r=this.getNodeKey(e.subject),i=this.getNodeKey(e.predicate),s=this.getNodeKey(e.object);this.addToIndex(this.spo,r,i,s),this.addToIndex(this.sop,r,s,i),this.addToIndex(this.pso,i,r,s),this.addToIndex(this.pos,i,s,r),this.addToIndex(this.osp,s,r,i),this.addToIndex(this.ops,s,i,r),this.addToUUIDIndex(e.subject),this.queryCache.clear()}async remove(e){let t=this.getTripleKey(e);if(!this.triples.has(t))return!1;this.triples.delete(t);let r=this.getNodeKey(e.subject),i=this.getNodeKey(e.predicate),s=this.getNodeKey(e.object);return this.removeFromIndex(this.spo,r,i,s),this.removeFromIndex(this.sop,r,s,i),this.removeFromIndex(this.pso,i,r,s),this.removeFromIndex(this.pos,i,s,r),this.removeFromIndex(this.osp,s,r,i),this.removeFromIndex(this.ops,s,i,r),this.queryCache.clear(),!0}async has(e){let t=this.getTripleKey(e);return this.triples.has(t)}async match(e,t,r){let i=this.getMatchCacheKey(e,t,r),s=this.queryCache.get(i);if(s!==void 0)return s;let a;return!e&&!t&&!r?a=Array.from(this.triples.values()):e&&t&&r?a=this.matchSPO(e,t,r):e&&t?a=this.matchSP(e,t):e&&r?a=this.matchSO(e,r):t&&r?a=this.matchPO(t,r):e?a=this.matchS(e):t?a=this.matchP(t):r?a=this.matchO(r):a=[],this.queryCache.set(i,a),a}async addAll(e){for(let t of e)await this.add(t)}async removeAll(e){let t=0;for(let r of e)await this.remove(r)&&t++;return t}async clear(){this.triples.clear(),this.spo.clear(),this.sop.clear(),this.pso.clear(),this.pos.clear(),this.osp.clear(),this.ops.clear(),this.uuidIndex.clear(),this.queryCache.clear()}async count(){return this.triples.size}async subjects(){let e=new Set;for(let t of this.triples.values())e.add(t.subject);return Array.from(e)}async predicates(){let e=new Set;for(let t of this.triples.values())e.add(t.predicate);return Array.from(e)}async objects(){let e=new Set;for(let t of this.triples.values())e.add(t.object);return Array.from(e)}async beginTransaction(){return new X1(this)}async findSubjectsByUUID(e){return this.findSubjectsByUUIDSync(e)}findSubjectsByUUIDSync(e){let t=e.toLowerCase(),r=this.uuidIndex.get(t);if(!r||r.size===0)return[];let i=[];for(let s of r)this.spo.has(`i:${s}`)&&i.push(new $p.IRI(s));return i}addToUUIDIndex(e){if(!(e instanceof $p.IRI))return;let t=e.value,r=t.match(D5);if(r)for(let i of r){let s=i.toLowerCase();this.uuidIndex.has(s)||this.uuidIndex.set(s,new Set),this.uuidIndex.get(s).add(t)}}matchSPO(e,t,r){let i=this.getNodeKey(e),s=this.getNodeKey(t),a=this.getNodeKey(r),c=this.spo.get(i);if(!c)return[];let l=c.get(s);if(!l)return[];if(l.has(a)){let u=this.buildTripleKey(i,s,a),f=this.triples.get(u);return f?[f]:[]}return[]}matchSP(e,t){let r=this.getNodeKey(e),i=this.getNodeKey(t),s=this.spo.get(r);if(!s)return[];let a=s.get(i);return a?this.getTriplesByKeys(Array.from(a).map(c=>this.buildTripleKey(r,i,c))):[]}matchSO(e,t){let r=this.getNodeKey(e),i=this.getNodeKey(t),s=this.sop.get(r);if(!s)return[];let a=s.get(i);return a?this.getTriplesByKeys(Array.from(a).map(c=>this.buildTripleKey(r,c,i))):[]}matchPO(e,t){let r=this.getNodeKey(e),i=this.getNodeKey(t),s=this.pos.get(r);if(!s)return[];let a=s.get(i);return a?this.getTriplesByKeys(Array.from(a).map(c=>this.buildTripleKey(c,r,i))):[]}matchS(e){let t=this.getNodeKey(e),r=this.spo.get(t);if(!r)return[];let i=[];for(let[s,a]of r.entries())for(let c of a)i.push(this.buildTripleKey(t,s,c));return this.getTriplesByKeys(i)}matchP(e){let t=this.getNodeKey(e),r=this.pso.get(t);if(!r)return[];let i=[];for(let[s,a]of r.entries())for(let c of a)i.push(this.buildTripleKey(s,t,c));return this.getTriplesByKeys(i)}matchO(e){let t=this.getNodeKey(e),r=this.osp.get(t);if(!r)return[];let i=[];for(let[s,a]of r.entries())for(let c of a)i.push(this.buildTripleKey(s,c,t));return this.getTriplesByKeys(i)}getTriplesByKeys(e){let t=[];for(let r of e){let i=this.triples.get(r);i&&t.push(i)}return t}addToIndex(e,t,r,i){e.has(t)||e.set(t,new Map);let s=e.get(t);s.has(r)||s.set(r,new Set),s.get(r).add(i)}removeFromIndex(e,t,r,i){let s=e.get(t);if(!s)return;let a=s.get(r);a&&(a.delete(i),a.size===0&&s.delete(r),s.size===0&&e.delete(t))}getTripleKey(e){let t=this.getNodeKey(e.subject),r=this.getNodeKey(e.predicate),i=this.getNodeKey(e.object);return this.buildTripleKey(t,r,i)}buildTripleKey(e,t,r){return`${e}|${t}|${r}`}getNodeKey(e){if(e instanceof $p.IRI)return`i:${e.value}`;if(e instanceof I5.BlankNode)return`b:${e.id}`;if(e instanceof R5.Literal){let t=`l:${e.value}`;return e.datatype&&e.datatype.value!==F5?t+=`^^${e.datatype.value}`:e.language&&(t+=`@${e.language}`),t}return""}getMatchCacheKey(e,t,r){let i=e?this.getNodeKey(e):"?",s=t?this.getNodeKey(t):"?",a=r?this.getNodeKey(r):"?";return`${i}|${s}|${a}`}getGraphKey(e){return e?e.value:el}getOrCreateGraphStore(e){let t=this.getGraphKey(e);return t===el?this:(this.namedGraphs.has(t)||this.namedGraphs.set(t,new n),this.namedGraphs.get(t))}async addToGraph(e,t){await this.getOrCreateGraphStore(t).add(e)}async removeFromGraph(e,t){let r=this.getGraphKey(t);if(r===el)return this.remove(e);let i=this.namedGraphs.get(r);return i?i.remove(e):!1}async matchInGraph(e,t,r,i){let s=this.getGraphKey(i);if(s===el)return this.match(e,t,r);let a=this.namedGraphs.get(s);return a?a.match(e,t,r):[]}async getNamedGraphs(){return Array.from(this.namedGraphs.keys()).map(e=>new $p.IRI(e))}async hasGraph(e){let t=this.namedGraphs.get(e.value);return t?await t.count()>0:!1}async clearGraph(e){let t=this.getGraphKey(e);if(t===el){await this.clear();return}let r=this.namedGraphs.get(t);r&&(await r.clear(),this.namedGraphs.delete(t))}async countInGraph(e){let t=this.getGraphKey(e);if(t===el)return this.count();let r=this.namedGraphs.get(t);return r?r.count():0}};Bp.InMemoryTripleStore=K1;var X1=class{static{o(this,"InMemoryTransaction")}constructor(e){this.store=e,this.operations=[],this.committed=!1,this.rolledBack=!1}async add(e){if(this.committed)throw new Ia.TransactionError("Transaction already committed");if(this.rolledBack)throw new Ia.TransactionError("Transaction already rolled back");this.operations.push({type:"add",triple:e})}async remove(e){if(this.committed)throw new Ia.TransactionError("Transaction already committed");if(this.rolledBack)throw new Ia.TransactionError("Transaction already rolled back");return this.operations.push({type:"remove",triple:e}),!0}async commit(){if(this.committed)throw new Ia.TransactionError("Transaction already committed");if(this.rolledBack)throw new Ia.TransactionError("Transaction already rolled back");for(let e of this.operations)e.type==="add"?await this.store.add(e.triple):await this.store.remove(e.triple);this.committed=!0,this.operations=[]}async rollback(){if(this.committed)throw new Ia.TransactionError("Transaction already committed");if(this.rolledBack)throw new Ia.TransactionError("Transaction already rolled back");this.operations=[],this.rolledBack=!0}}});var Up=S(Ws=>{"use strict";var N5=Ws&&Ws.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},L5=Ws&&Ws.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)};Object.defineProperty(Ws,"__esModule",{value:!0});Ws.EffortStatusWorkflow=void 0;var k5=le(),Vp=Pn(),M5=Qu(),j5=W1(),$5=J1(),Z1=class{static{o(this,"EffortStatusWorkflow")}constructor(){this.resolver=new j5.WorkflowResolver(new $5.InMemoryTripleStore)}getPreviousStatus(e,t){let r=this.normalizeStatus(e),i=this.resolveDefinition(t),s=new M5.WorkflowEngine(i);if(s.isInitialState(r))return null;let a=s.getPreviousStatus(r);if(a!==null)return this.wrapStatus(a)}normalizeStatus(e){return e.replace(/["'[\]]/g,"").trim()}wrapStatus(e){return`"[[${e}]]"`}resolveDefinition(e){return this.hasInstanceClass(e,Vp.AssetClass.TASK)||this.hasInstanceClass(e,Vp.AssetClass.MEETING)?this.resolver.getHardcodedFallback(Vp.AssetClass.TASK):this.resolver.getHardcodedFallback(Vp.AssetClass.PROJECT)}hasInstanceClass(e,t){return e?(Array.isArray(e)?e:[e]).some(i=>i.replace(/["'[\]]/g,"").trim()===t):!1}};Ws.EffortStatusWorkflow=Z1;Ws.EffortStatusWorkflow=Z1=N5([(0,k5.injectable)(),L5("design:paramtypes",[])],Z1)});var wt=S(qp=>{"use strict";Object.defineProperty(qp,"__esModule",{value:!0});qp.DI_TOKENS=void 0;qp.DI_TOKENS={IFileSystemAdapter:Symbol.for("IFileSystemAdapter"),IVaultAdapter:Symbol.for("IVaultAdapter"),IVaultContext:Symbol.for("IVaultContext"),IMultiVaultManager:Symbol.for("IMultiVaultManager"),ILogger:Symbol.for("ILogger"),IEventBus:Symbol.for("IEventBus"),IConfiguration:Symbol.for("IConfiguration"),INotificationService:Symbol.for("INotificationService"),AreaCreationService:Symbol.for("AreaCreationService"),ClassCreationService:Symbol.for("ClassCreationService"),ConceptCreationService:Symbol.for("ConceptCreationService"),FleetingNoteCreationService:Symbol.for("FleetingNoteCreationService"),SupervisionCreationService:Symbol.for("SupervisionCreationService"),GenericAssetCreationService:Symbol.for("GenericAssetCreationService"),DynamicFrontmatterGenerator:Symbol.for("DynamicFrontmatterGenerator"),AlgorithmExtractor:Symbol.for("AlgorithmExtractor"),TaskStatusService:Symbol.for("TaskStatusService"),EffortStatusWorkflow:Symbol.for("EffortStatusWorkflow"),StatusTimestampService:Symbol.for("StatusTimestampService"),PropertyCleanupService:Symbol.for("PropertyCleanupService"),FolderRepairService:Symbol.for("FolderRepairService"),LabelToAliasService:Symbol.for("LabelToAliasService"),RenameToUidService:Symbol.for("RenameToUidService"),PlanningService:Symbol.for("PlanningService"),EffortVotingService:Symbol.for("EffortVotingService"),SessionEventService:Symbol.for("SessionEventService"),CriticalityZoneService:Symbol.for("CriticalityZoneService"),AssetConversionService:Symbol.for("AssetConversionService"),NoteToRDFConverter:Symbol.for("NoteToRDFConverter"),IVaultSettings:Symbol.for("IVaultSettings"),AreaHierarchyBuilder:Symbol.for("AreaHierarchyBuilder"),URIConstructionService:Symbol.for("URIConstructionService"),ClassHierarchyResolver:Symbol.for("ClassHierarchyResolver")}});var Wp=S(fi=>{"use strict";var B5=fi&&fi.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},V5=fi&&fi.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},U5=fi&&fi.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(fi,"__esModule",{value:!0});fi.StatusTimestampService=void 0;var aA=le(),q5=Gn(),tl=qr(),W5=wt(),eS=class{static{o(this,"StatusTimestampService")}constructor(e){this.vault=e,this.frontmatterService=new q5.FrontmatterService}async addStartTimestamp(e){let t=await this.vault.read(e),r=tl.DateFormatter.toLocalTimestamp(new Date),i=this.frontmatterService.updateProperty(t,"ems__Effort_startTimestamp",r);await this.vault.modify(e,i)}async addEndTimestamp(e,t){let r=await this.vault.read(e),i=t||new Date,s=tl.DateFormatter.toLocalTimestamp(i),a=this.frontmatterService.updateProperty(r,"ems__Effort_endTimestamp",s);await this.vault.modify(e,a)}async addResolutionTimestamp(e){let t=await this.vault.read(e),r=tl.DateFormatter.toLocalTimestamp(new Date),i=this.frontmatterService.updateProperty(t,"ems__Effort_resolutionTimestamp",r);await this.vault.modify(e,i)}async addReviewTimestamp(e){let t=await this.vault.read(e),r=tl.DateFormatter.toLocalTimestamp(new Date),i=this.frontmatterService.updateProperty(t,"ems__Effort_lastReviewTimestamp",r);await this.vault.modify(e,i)}async addEndAndResolutionTimestamps(e,t){let r=await this.vault.read(e),i=t||new Date,s=tl.DateFormatter.toLocalTimestamp(i),a=this.frontmatterService.updateProperty(r,"ems__Effort_endTimestamp",s);a=this.frontmatterService.updateProperty(a,"ems__Effort_resolutionTimestamp",s),await this.vault.modify(e,a)}async removeStartTimestamp(e){let t=await this.vault.read(e),r=this.frontmatterService.removeProperty(t,"ems__Effort_startTimestamp");await this.vault.modify(e,r)}async removeEndTimestamp(e){let t=await this.vault.read(e),r=this.frontmatterService.removeProperty(t,"ems__Effort_endTimestamp");await this.vault.modify(e,r)}async removeResolutionTimestamp(e){let t=await this.vault.read(e),r=this.frontmatterService.removeProperty(t,"ems__Effort_resolutionTimestamp");await this.vault.modify(e,r)}async removeEndAndResolutionTimestamps(e){let t=await this.vault.read(e),r=this.frontmatterService.removeProperty(t,"ems__Effort_endTimestamp");r=this.frontmatterService.removeProperty(r,"ems__Effort_resolutionTimestamp"),await this.vault.modify(e,r)}async shiftPlannedEndTimestamp(e,t){let r=await this.vault.read(e),i=this.frontmatterService.parse(r);if(!i.exists)return;let s=this.frontmatterService.getPropertyValue(i.content,"ems__Effort_plannedEndTimestamp");if(!s)return;let a=new Date(s.replace(/["']/g,""));if(isNaN(a.getTime()))return;let c=new Date(a.getTime()+t),l=tl.DateFormatter.toLocalTimestamp(c),u=this.frontmatterService.updateProperty(r,"ems__Effort_plannedEndTimestamp",l);await this.vault.modify(e,u)}};fi.StatusTimestampService=eS;fi.StatusTimestampService=eS=B5([(0,aA.injectable)(),U5(0,(0,aA.inject)(W5.DI_TOKENS.IVaultAdapter)),V5("design:paramtypes",[Object])],eS)});var rS=S(di=>{"use strict";var G5=di&&di.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},z5=di&&di.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},H5=di&&di.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(di,"__esModule",{value:!0});di.TaskStatusService=void 0;var oA=le(),Q5=Gn(),Ro=qr(),Y5=Up(),K5=Wp(),X5=wt(),tS=class{static{o(this,"TaskStatusService")}constructor(e,t,r){this.vault=e,this.workflow=t,this.timestampService=r,this.frontmatterService=new Q5.FrontmatterService}async setDraftStatus(e){await this.updateStatus(e,"ems__EffortStatusDraft")}async moveToBacklog(e){await this.updateStatus(e,"ems__EffortStatusBacklog")}async moveToAnalysis(e){await this.updateStatus(e,"ems__EffortStatusAnalysis")}async moveToToDo(e){await this.updateStatus(e,"ems__EffortStatusToDo")}async startEffort(e){let t=await this.vault.read(e),r=Ro.DateFormatter.toLocalTimestamp(new Date),i=this.frontmatterService.updateProperty(t,"ems__Effort_status",'"[[ems__EffortStatusDoing]]"');i=this.frontmatterService.updateProperty(i,"ems__Effort_startTimestamp",r),await this.vault.modify(e,i)}async markTaskAsDone(e){let t=await this.vault.read(e),r=Ro.DateFormatter.toLocalTimestamp(new Date),i=this.frontmatterService.updateProperty(t,"ems__Effort_status",'"[[ems__EffortStatusDone]]"');i=this.frontmatterService.updateProperty(i,"ems__Effort_endTimestamp",r),i=this.frontmatterService.updateProperty(i,"ems__Effort_resolutionTimestamp",r),await this.vault.modify(e,i)}async syncEffortEndTimestamp(e,t){await this.timestampService.addEndAndResolutionTimestamps(e,t)}async shiftPlannedEndTimestamp(e,t){await this.timestampService.shiftPlannedEndTimestamp(e,t)}async trashEffort(e,t){let r=await this.vault.read(e),i=Ro.DateFormatter.toLocalTimestamp(new Date),s=this.frontmatterService.updateProperty(r,"ems__Effort_status",'"[[ems__EffortStatusTrashed]]"');s=this.frontmatterService.updateProperty(s,"ems__Effort_resolutionTimestamp",i),t&&(s=this.appendTrashReason(s,t)),await this.vault.modify(e,s)}appendTrashReason(e,t){let r=`
|
|
100
|
+
${s}`}};Lp.MetadataHelpers=V1});var i3=S(Co=>{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Co.TASK_DEFAULT_WORKFLOW=Co.PROJECT_DEFAULT_WORKFLOW=void 0;Co.buildWorkflowAssetContent=T5;var n3=Sn(),Yu=_u(),ve=hc(),Wr=r3(),U1=as();Co.PROJECT_DEFAULT_WORKFLOW={id:"a1b2c3d4-1111-4000-a000-000000000001",name:"Project Default Workflow",targetClass:Yu.AssetClass.PROJECT,initialState:ve.EffortStatus.DRAFT,terminalStates:[ve.EffortStatus.DONE,ve.EffortStatus.TRASHED],isDefault:!0,states:[{status:ve.EffortStatus.DRAFT,order:1,optional:!1,timestampOnEnter:[]},{status:ve.EffortStatus.BACKLOG,order:2,optional:!1,timestampOnEnter:[]},{status:ve.EffortStatus.ANALYSIS,order:3,optional:!0,timestampOnEnter:[]},{status:ve.EffortStatus.TODO,order:4,optional:!0,timestampOnEnter:[]},{status:ve.EffortStatus.DOING,order:5,optional:!1,timestampOnEnter:["ems__Effort_startTimestamp"]},{status:ve.EffortStatus.DONE,order:6,optional:!1,timestampOnEnter:["ems__Effort_endTimestamp","ems__Effort_resolutionTimestamp"]},{status:ve.EffortStatus.TRASHED,order:7,optional:!1,timestampOnEnter:["ems__Effort_resolutionTimestamp"]}],transitions:[{from:ve.EffortStatus.DRAFT,to:ve.EffortStatus.BACKLOG,label:"\u2192 Backlog",isRollback:!1},{from:ve.EffortStatus.BACKLOG,to:ve.EffortStatus.ANALYSIS,label:"\u2192 Analysis",isRollback:!1},{from:ve.EffortStatus.ANALYSIS,to:ve.EffortStatus.TODO,label:"\u2192 ToDo",isRollback:!1},{from:ve.EffortStatus.TODO,to:ve.EffortStatus.DOING,label:"\u25B6 Start",isRollback:!1},{from:ve.EffortStatus.DOING,to:ve.EffortStatus.DONE,label:"\u2713 Done",isRollback:!1},{from:ve.EffortStatus.BACKLOG,to:ve.EffortStatus.DRAFT,label:"\u2190 Draft",isRollback:!0},{from:ve.EffortStatus.ANALYSIS,to:ve.EffortStatus.BACKLOG,label:"\u2190 Backlog",isRollback:!0},{from:ve.EffortStatus.TODO,to:ve.EffortStatus.ANALYSIS,label:"\u2190 Analysis",isRollback:!0},{from:ve.EffortStatus.DOING,to:ve.EffortStatus.TODO,label:"\u2190 ToDo",isRollback:!0},{from:ve.EffortStatus.DONE,to:ve.EffortStatus.DOING,label:"\u2190 Doing",isRollback:!0}]};Co.TASK_DEFAULT_WORKFLOW={id:"a1b2c3d4-2222-4000-a000-000000000002",name:"Task Default Workflow",targetClass:Yu.AssetClass.TASK,initialState:ve.EffortStatus.DRAFT,terminalStates:[ve.EffortStatus.DONE,ve.EffortStatus.TRASHED],isDefault:!0,states:[{status:ve.EffortStatus.DRAFT,order:1,optional:!1,timestampOnEnter:[]},{status:ve.EffortStatus.BACKLOG,order:2,optional:!1,timestampOnEnter:[]},{status:ve.EffortStatus.DOING,order:3,optional:!1,timestampOnEnter:["ems__Effort_startTimestamp"]},{status:ve.EffortStatus.DONE,order:4,optional:!1,timestampOnEnter:["ems__Effort_endTimestamp","ems__Effort_resolutionTimestamp"]},{status:ve.EffortStatus.TRASHED,order:5,optional:!1,timestampOnEnter:["ems__Effort_resolutionTimestamp"]}],transitions:[{from:ve.EffortStatus.DRAFT,to:ve.EffortStatus.BACKLOG,label:"\u2192 Backlog",isRollback:!1},{from:ve.EffortStatus.BACKLOG,to:ve.EffortStatus.DOING,label:"\u25B6 Start",isRollback:!1},{from:ve.EffortStatus.DOING,to:ve.EffortStatus.DONE,label:"\u2713 Done",isRollback:!1},{from:ve.EffortStatus.BACKLOG,to:ve.EffortStatus.DRAFT,label:"\u2190 Draft",isRollback:!0},{from:ve.EffortStatus.DOING,to:ve.EffortStatus.BACKLOG,label:"\u2190 Backlog",isRollback:!0},{from:ve.EffortStatus.DONE,to:ve.EffortStatus.DOING,label:"\u2190 Doing",isRollback:!0}]};function T5(n){let e=new Date().toISOString(),t=[],r=n.id,i={exo__Asset_uid:r,exo__Asset_label:`"${n.name}"`,exo__Asset_createdAt:e,exo__Instance_class:Yu.AssetClass.WORKFLOW,[Wr.WorkflowProperty.TARGET_CLASS]:`"[[${n.targetClass}]]"`,[Wr.WorkflowProperty.INITIAL_STATE]:`"[[${n.initialState}]]"`,[Wr.WorkflowProperty.TERMINAL_STATES]:n.terminalStates.map(s=>`"[[${s}]]"`),[Wr.WorkflowProperty.IS_DEFAULT]:n.isDefault};t.push({filename:`${r}.md`,content:U1.MetadataHelpers.buildFileContent(i)});for(let s of n.states){let a=(0,n3.v4)(),c={exo__Asset_uid:a,exo__Asset_label:`"${n.name} - ${s.status}"`,exo__Asset_createdAt:e,exo__Instance_class:Yu.AssetClass.WORKFLOW_STATE,[Wr.WorkflowStateProperty.WORKFLOW]:`"[[${r}]]"`,[Wr.WorkflowStateProperty.STATUS]:`"[[${s.status}]]"`,[Wr.WorkflowStateProperty.ORDER]:s.order,[Wr.WorkflowStateProperty.OPTIONAL]:s.optional};s.timestampOnEnter.length>0&&(c[Wr.WorkflowStateProperty.TIMESTAMP_ON_ENTER]=s.timestampOnEnter),s.badgeColor&&(c[Wr.WorkflowStateProperty.BADGE_COLOR]=`"${s.badgeColor}"`),t.push({filename:`${a}.md`,content:U1.MetadataHelpers.buildFileContent(c)})}for(let s of n.transitions){let a=(0,n3.v4)(),c={exo__Asset_uid:a,exo__Asset_label:`"${n.name} - ${s.label}"`,exo__Asset_createdAt:e,exo__Instance_class:Yu.AssetClass.WORKFLOW_TRANSITION,[Wr.WorkflowTransitionProperty.WORKFLOW]:`"[[${r}]]"`,[Wr.WorkflowTransitionProperty.FROM]:`"[[${s.from}]]"`,[Wr.WorkflowTransitionProperty.TO]:`"[[${s.to}]]"`,[Wr.WorkflowTransitionProperty.LABEL]:`"${s.label}"`,[Wr.WorkflowTransitionProperty.IS_ROLLBACK]:s.isRollback};s.icon&&(c[Wr.WorkflowTransitionProperty.ICON]=`"${s.icon}"`),t.push({filename:`${a}.md`,content:U1.MetadataHelpers.buildFileContent(c)})}return t}o(T5,"buildWorkflowAssetContent")});var W1=S(qs=>{"use strict";var A5=qs&&qs.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},x5=qs&&qs.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)};Object.defineProperty(qs,"__esModule",{value:!0});qs.WorkflowResolver=void 0;var C5=le(),Ku=xe(),cn=Ve(),vt=Ir(),Io=_u(),kp=hc(),s3=i3(),q1=class{static{o(this,"WorkflowResolver")}constructor(e){this.tripleStore=e,this.cache=new Map}async resolveForClass(e){let t=`class:${e}`,r=this.cache.get(t);if(r)return r;let s=await this.findDefaultWorkflow(e)??this.getHardcodedFallback(e);return this.cache.set(t,s),s}async resolveForAsset(e,t){let r=await this.tripleStore.match(e,vt.Namespace.EMS.term("Effort_workflow"),void 0);if(r.length>0){let i=r[0].object;if(i instanceof Ku.IRI){let s=await this.loadWorkflowBySubject(i);if(s)return s}}return this.resolveForClass(t)}invalidateCache(){this.cache.clear()}async findDefaultWorkflow(e){let t=await this.tripleStore.match(void 0,vt.Namespace.RDF.term("type"),vt.Namespace.EMS.term("Workflow"));for(let r of t){let i=r.subject;if(!(!(await this.tripleStore.match(i,vt.Namespace.EMS.term("Workflow_targetClass"),void 0)).some(u=>{let f=u.object;return f instanceof Ku.IRI?f.value.endsWith(e.replace(/^ems__/,"")):f instanceof cn.Literal?this.normalizeWikilink(f.value)===e:!1})||!(await this.tripleStore.match(i,vt.Namespace.EMS.term("Workflow_isDefault"),void 0)).some(u=>{let f=u.object instanceof cn.Literal?u.object.value:"";return f==="true"||f==="1"})))return this.loadWorkflowBySubject(i)}return null}async loadWorkflowBySubject(e){let t=await this.tripleStore.match(e,vt.Namespace.EXO.term("Asset_label"),void 0),r=t.length>0&&t[0].object instanceof cn.Literal?t[0].object.value:"Unknown Workflow",i=await this.tripleStore.match(e,vt.Namespace.EXO.term("Asset_uid"),void 0),s=i.length>0&&i[0].object instanceof cn.Literal?i[0].object.value:e.value,a=await this.tripleStore.match(e,vt.Namespace.EMS.term("Workflow_targetClass"),void 0),c=this.resolveAssetClass(a),l=await this.tripleStore.match(e,vt.Namespace.EMS.term("Workflow_initialState"),void 0),u=this.resolveEffortStatus(l)??kp.EffortStatus.DRAFT,f=await this.tripleStore.match(e,vt.Namespace.EMS.term("Workflow_terminalStates"),void 0),d=this.resolveEffortStatuses(f),p=(await this.tripleStore.match(e,vt.Namespace.EMS.term("Workflow_isDefault"),void 0)).some(E=>{let v=E.object instanceof cn.Literal?E.object.value:"";return v==="true"||v==="1"}),_=await this.loadStates(e),b=await this.loadTransitions(e);return _.length===0&&b.length===0?null:{id:s,name:r,targetClass:c,states:_,transitions:b,initialState:u,terminalStates:d.length>0?d:[kp.EffortStatus.DONE,kp.EffortStatus.TRASHED],isDefault:p}}async loadStates(e){let t=await this.tripleStore.match(void 0,vt.Namespace.RDF.term("type"),vt.Namespace.EMS.term("WorkflowState")),r=[];for(let i of t){let s=i.subject;if(!(await this.tripleStore.match(s,vt.Namespace.EMS.term("WorkflowState_workflow"),void 0)).some(A=>this.isSameSubject(A.object,e)))continue;let l=await this.tripleStore.match(s,vt.Namespace.EMS.term("WorkflowState_status"),void 0),u=this.resolveEffortStatus(l);if(!u)continue;let f=await this.tripleStore.match(s,vt.Namespace.EMS.term("WorkflowState_order"),void 0),d=f.length>0&&f[0].object instanceof cn.Literal&&parseInt(f[0].object.value,10)||0,p=(await this.tripleStore.match(s,vt.Namespace.EMS.term("WorkflowState_optional"),void 0)).some(A=>{let R=A.object instanceof cn.Literal?A.object.value:"";return R==="true"||R==="1"}),b=(await this.tripleStore.match(s,vt.Namespace.EMS.term("WorkflowState_timestampOnEnter"),void 0)).map(A=>A.object instanceof cn.Literal?A.object.value:"").filter(A=>A.length>0),E=await this.tripleStore.match(s,vt.Namespace.EMS.term("WorkflowState_badgeColor"),void 0),v=E.length>0&&E[0].object instanceof cn.Literal?E[0].object.value:void 0;r.push({status:u,order:d,optional:p,timestampOnEnter:b,badgeColor:v})}return r.sort((i,s)=>i.order-s.order)}async loadTransitions(e){let t=await this.tripleStore.match(void 0,vt.Namespace.RDF.term("type"),vt.Namespace.EMS.term("WorkflowTransition")),r=[];for(let i of t){let s=i.subject;if(!(await this.tripleStore.match(s,vt.Namespace.EMS.term("WorkflowTransition_workflow"),void 0)).some(A=>this.isSameSubject(A.object,e)))continue;let l=await this.tripleStore.match(s,vt.Namespace.EMS.term("WorkflowTransition_from"),void 0),u=this.resolveEffortStatus(l),f=await this.tripleStore.match(s,vt.Namespace.EMS.term("WorkflowTransition_to"),void 0),d=this.resolveEffortStatus(f);if(!u||!d)continue;let h=await this.tripleStore.match(s,vt.Namespace.EMS.term("WorkflowTransition_label"),void 0),p=h.length>0&&h[0].object instanceof cn.Literal?h[0].object.value:`${u} \u2192 ${d}`,_=await this.tripleStore.match(s,vt.Namespace.EMS.term("WorkflowTransition_icon"),void 0),b=_.length>0&&_[0].object instanceof cn.Literal?_[0].object.value:void 0,v=(await this.tripleStore.match(s,vt.Namespace.EMS.term("WorkflowTransition_isRollback"),void 0)).some(A=>{let R=A.object instanceof cn.Literal?A.object.value:"";return R==="true"||R==="1"});r.push({from:u,to:d,label:p,icon:b,isRollback:v})}return r}normalizeWikilink(e){return e.replace(/["'[\]]/g,"").trim()}resolveAssetClass(e){if(e.length===0)return Io.AssetClass.TASK;let t=e[0].object;if(t instanceof Ku.IRI){let i=`ems__${t.value.split("#").pop()??""}`;return Object.values(Io.AssetClass).includes(i)?i:Io.AssetClass.TASK}if(t instanceof cn.Literal){let r=this.normalizeWikilink(t.value);return Object.values(Io.AssetClass).includes(r)?r:Io.AssetClass.TASK}return Io.AssetClass.TASK}resolveEffortStatus(e){if(e.length===0)return null;let t=e[0].object,r;if(t instanceof Ku.IRI)r=`ems__${t.value.split("#").pop()??""}`;else if(t instanceof cn.Literal)r=this.normalizeWikilink(t.value);else return null;return Object.values(kp.EffortStatus).includes(r)?r:null}resolveEffortStatuses(e){return e.map(t=>this.resolveEffortStatus([t])).filter(t=>t!==null)}isSameSubject(e,t){if(e instanceof Ku.IRI)return e.value===t.value;if(e instanceof cn.Literal){let r=this.normalizeWikilink(e.value);return t.value.includes(r)}return!1}getHardcodedFallback(e){return e===Io.AssetClass.PROJECT?{...s3.PROJECT_DEFAULT_WORKFLOW}:{...s3.TASK_DEFAULT_WORKFLOW}}};qs.WorkflowResolver=q1;qs.WorkflowResolver=q1=A5([(0,C5.injectable)(),x5("design:paramtypes",[Object])],q1)});var Q1=S(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.TransactionError=Ca.TripleNotFoundError=Ca.TripleAlreadyExistsError=void 0;var G1=class extends Error{static{o(this,"TripleAlreadyExistsError")}constructor(e){super(`Triple already exists: ${e.toString()}`),this.name="TripleAlreadyExistsError"}};Ca.TripleAlreadyExistsError=G1;var z1=class extends Error{static{o(this,"TripleNotFoundError")}constructor(e){super(`Triple not found: ${e.toString()}`),this.name="TripleNotFoundError"}};Ca.TripleNotFoundError=z1;var H1=class extends Error{static{o(this,"TransactionError")}constructor(e){super(e),this.name="TransactionError"}};Ca.TransactionError=H1});var jp=S(Mp=>{"use strict";Object.defineProperty(Mp,"__esModule",{value:!0});Mp.LRUCache=void 0;var Y1=class{static{o(this,"LRUCache")}constructor(e){this.maxSize=e,this.cache=new Map}get(e){let t=this.cache.get(e);return t!==void 0&&(this.cache.delete(e),this.cache.set(e,t)),t}set(e,t){if(this.cache.has(e))this.cache.delete(e);else if(this.cache.size>=this.maxSize){let r=this.cache.keys().next().value;r!==void 0&&this.cache.delete(r)}this.cache.set(e,t)}clear(){this.cache.clear()}size(){return this.cache.size}};Mp.LRUCache=Y1});var J1=S(Bp=>{"use strict";Object.defineProperty(Bp,"__esModule",{value:!0});Bp.InMemoryTripleStore=void 0;var Ia=Q1(),$p=xe(),I5=qt(),R5=Ve(),O5=Ir(),P5=jp(),F5=O5.Namespace.XSD.term("string").value,D5=/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/gi,el="__default__",K1=class n{static{o(this,"InMemoryTripleStore")}constructor(){this.triples=new Map,this.spo=new Map,this.sop=new Map,this.pso=new Map,this.pos=new Map,this.osp=new Map,this.ops=new Map,this.queryCache=new P5.LRUCache(1e3),this.uuidIndex=new Map,this.namedGraphs=new Map}async add(e){let t=this.getTripleKey(e);if(this.triples.has(t))return;this.triples.set(t,e);let r=this.getNodeKey(e.subject),i=this.getNodeKey(e.predicate),s=this.getNodeKey(e.object);this.addToIndex(this.spo,r,i,s),this.addToIndex(this.sop,r,s,i),this.addToIndex(this.pso,i,r,s),this.addToIndex(this.pos,i,s,r),this.addToIndex(this.osp,s,r,i),this.addToIndex(this.ops,s,i,r),this.addToUUIDIndex(e.subject),this.queryCache.clear()}async remove(e){let t=this.getTripleKey(e);if(!this.triples.has(t))return!1;this.triples.delete(t);let r=this.getNodeKey(e.subject),i=this.getNodeKey(e.predicate),s=this.getNodeKey(e.object);return this.removeFromIndex(this.spo,r,i,s),this.removeFromIndex(this.sop,r,s,i),this.removeFromIndex(this.pso,i,r,s),this.removeFromIndex(this.pos,i,s,r),this.removeFromIndex(this.osp,s,r,i),this.removeFromIndex(this.ops,s,i,r),this.queryCache.clear(),!0}async has(e){let t=this.getTripleKey(e);return this.triples.has(t)}async match(e,t,r){let i=this.getMatchCacheKey(e,t,r),s=this.queryCache.get(i);if(s!==void 0)return s;let a;return!e&&!t&&!r?a=Array.from(this.triples.values()):e&&t&&r?a=this.matchSPO(e,t,r):e&&t?a=this.matchSP(e,t):e&&r?a=this.matchSO(e,r):t&&r?a=this.matchPO(t,r):e?a=this.matchS(e):t?a=this.matchP(t):r?a=this.matchO(r):a=[],this.queryCache.set(i,a),a}async addAll(e){for(let t of e)await this.add(t)}async removeAll(e){let t=0;for(let r of e)await this.remove(r)&&t++;return t}async clear(){this.triples.clear(),this.spo.clear(),this.sop.clear(),this.pso.clear(),this.pos.clear(),this.osp.clear(),this.ops.clear(),this.uuidIndex.clear(),this.queryCache.clear()}async count(){return this.triples.size}async subjects(){let e=new Set;for(let t of this.triples.values())e.add(t.subject);return Array.from(e)}async predicates(){let e=new Set;for(let t of this.triples.values())e.add(t.predicate);return Array.from(e)}async objects(){let e=new Set;for(let t of this.triples.values())e.add(t.object);return Array.from(e)}async beginTransaction(){return new X1(this)}async findSubjectsByUUID(e){return this.findSubjectsByUUIDSync(e)}findSubjectsByUUIDSync(e){let t=e.toLowerCase(),r=this.uuidIndex.get(t);if(!r||r.size===0)return[];let i=[];for(let s of r)this.spo.has(`i:${s}`)&&i.push(new $p.IRI(s));return i}addToUUIDIndex(e){if(!(e instanceof $p.IRI))return;let t=e.value,r=t.match(D5);if(r)for(let i of r){let s=i.toLowerCase();this.uuidIndex.has(s)||this.uuidIndex.set(s,new Set),this.uuidIndex.get(s).add(t)}}matchSPO(e,t,r){let i=this.getNodeKey(e),s=this.getNodeKey(t),a=this.getNodeKey(r),c=this.spo.get(i);if(!c)return[];let l=c.get(s);if(!l)return[];if(l.has(a)){let u=this.buildTripleKey(i,s,a),f=this.triples.get(u);return f?[f]:[]}return[]}matchSP(e,t){let r=this.getNodeKey(e),i=this.getNodeKey(t),s=this.spo.get(r);if(!s)return[];let a=s.get(i);return a?this.getTriplesByKeys(Array.from(a).map(c=>this.buildTripleKey(r,i,c))):[]}matchSO(e,t){let r=this.getNodeKey(e),i=this.getNodeKey(t),s=this.sop.get(r);if(!s)return[];let a=s.get(i);return a?this.getTriplesByKeys(Array.from(a).map(c=>this.buildTripleKey(r,c,i))):[]}matchPO(e,t){let r=this.getNodeKey(e),i=this.getNodeKey(t),s=this.pos.get(r);if(!s)return[];let a=s.get(i);return a?this.getTriplesByKeys(Array.from(a).map(c=>this.buildTripleKey(c,r,i))):[]}matchS(e){let t=this.getNodeKey(e),r=this.spo.get(t);if(!r)return[];let i=[];for(let[s,a]of r.entries())for(let c of a)i.push(this.buildTripleKey(t,s,c));return this.getTriplesByKeys(i)}matchP(e){let t=this.getNodeKey(e),r=this.pso.get(t);if(!r)return[];let i=[];for(let[s,a]of r.entries())for(let c of a)i.push(this.buildTripleKey(s,t,c));return this.getTriplesByKeys(i)}matchO(e){let t=this.getNodeKey(e),r=this.osp.get(t);if(!r)return[];let i=[];for(let[s,a]of r.entries())for(let c of a)i.push(this.buildTripleKey(s,c,t));return this.getTriplesByKeys(i)}getTriplesByKeys(e){let t=[];for(let r of e){let i=this.triples.get(r);i&&t.push(i)}return t}addToIndex(e,t,r,i){e.has(t)||e.set(t,new Map);let s=e.get(t);s.has(r)||s.set(r,new Set),s.get(r).add(i)}removeFromIndex(e,t,r,i){let s=e.get(t);if(!s)return;let a=s.get(r);a&&(a.delete(i),a.size===0&&s.delete(r),s.size===0&&e.delete(t))}getTripleKey(e){let t=this.getNodeKey(e.subject),r=this.getNodeKey(e.predicate),i=this.getNodeKey(e.object);return this.buildTripleKey(t,r,i)}buildTripleKey(e,t,r){return`${e}|${t}|${r}`}getNodeKey(e){if(e instanceof $p.IRI)return`i:${e.value}`;if(e instanceof I5.BlankNode)return`b:${e.id}`;if(e instanceof R5.Literal){let t=`l:${e.value}`;return e.datatype&&e.datatype.value!==F5?t+=`^^${e.datatype.value}`:e.language&&(t+=`@${e.language}`),t}return""}getMatchCacheKey(e,t,r){let i=e?this.getNodeKey(e):"?",s=t?this.getNodeKey(t):"?",a=r?this.getNodeKey(r):"?";return`${i}|${s}|${a}`}getGraphKey(e){return e?e.value:el}getOrCreateGraphStore(e){let t=this.getGraphKey(e);return t===el?this:(this.namedGraphs.has(t)||this.namedGraphs.set(t,new n),this.namedGraphs.get(t))}async addToGraph(e,t){await this.getOrCreateGraphStore(t).add(e)}async removeFromGraph(e,t){let r=this.getGraphKey(t);if(r===el)return this.remove(e);let i=this.namedGraphs.get(r);return i?i.remove(e):!1}async matchInGraph(e,t,r,i){let s=this.getGraphKey(i);if(s===el)return this.match(e,t,r);let a=this.namedGraphs.get(s);return a?a.match(e,t,r):[]}async getNamedGraphs(){return Array.from(this.namedGraphs.keys()).map(e=>new $p.IRI(e))}async hasGraph(e){let t=this.namedGraphs.get(e.value);return t?await t.count()>0:!1}async clearGraph(e){let t=this.getGraphKey(e);if(t===el){await this.clear();return}let r=this.namedGraphs.get(t);r&&(await r.clear(),this.namedGraphs.delete(t))}async countInGraph(e){let t=this.getGraphKey(e);if(t===el)return this.count();let r=this.namedGraphs.get(t);return r?r.count():0}};Bp.InMemoryTripleStore=K1;var X1=class{static{o(this,"InMemoryTransaction")}constructor(e){this.store=e,this.operations=[],this.committed=!1,this.rolledBack=!1}async add(e){if(this.committed)throw new Ia.TransactionError("Transaction already committed");if(this.rolledBack)throw new Ia.TransactionError("Transaction already rolled back");this.operations.push({type:"add",triple:e})}async remove(e){if(this.committed)throw new Ia.TransactionError("Transaction already committed");if(this.rolledBack)throw new Ia.TransactionError("Transaction already rolled back");return this.operations.push({type:"remove",triple:e}),!0}async commit(){if(this.committed)throw new Ia.TransactionError("Transaction already committed");if(this.rolledBack)throw new Ia.TransactionError("Transaction already rolled back");for(let e of this.operations)e.type==="add"?await this.store.add(e.triple):await this.store.remove(e.triple);this.committed=!0,this.operations=[]}async rollback(){if(this.committed)throw new Ia.TransactionError("Transaction already committed");if(this.rolledBack)throw new Ia.TransactionError("Transaction already rolled back");this.operations=[],this.rolledBack=!0}}});var Up=S(Ws=>{"use strict";var N5=Ws&&Ws.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},L5=Ws&&Ws.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)};Object.defineProperty(Ws,"__esModule",{value:!0});Ws.EffortStatusWorkflow=void 0;var k5=le(),Vp=Pn(),M5=Qu(),j5=W1(),$5=J1(),Z1=class{static{o(this,"EffortStatusWorkflow")}constructor(){this.resolver=new j5.WorkflowResolver(new $5.InMemoryTripleStore)}getPreviousStatus(e,t){let r=this.normalizeStatus(e),i=this.resolveDefinition(t),s=new M5.WorkflowEngine(i);if(s.isInitialState(r))return null;let a=s.getPreviousStatus(r);if(a!==null)return this.wrapStatus(a)}normalizeStatus(e){return e.replace(/["'[\]]/g,"").trim()}wrapStatus(e){return`"[[${e}]]"`}resolveDefinition(e){return this.hasInstanceClass(e,Vp.AssetClass.TASK)||this.hasInstanceClass(e,Vp.AssetClass.MEETING)?this.resolver.getHardcodedFallback(Vp.AssetClass.TASK):this.resolver.getHardcodedFallback(Vp.AssetClass.PROJECT)}hasInstanceClass(e,t){return e?(Array.isArray(e)?e:[e]).some(i=>i.replace(/["'[\]]/g,"").trim()===t):!1}};Ws.EffortStatusWorkflow=Z1;Ws.EffortStatusWorkflow=Z1=N5([(0,k5.injectable)(),L5("design:paramtypes",[])],Z1)});var wt=S(qp=>{"use strict";Object.defineProperty(qp,"__esModule",{value:!0});qp.DI_TOKENS=void 0;qp.DI_TOKENS={IFileSystemAdapter:Symbol.for("IFileSystemAdapter"),IVaultAdapter:Symbol.for("IVaultAdapter"),IVaultContext:Symbol.for("IVaultContext"),IMultiVaultManager:Symbol.for("IMultiVaultManager"),ILogger:Symbol.for("ILogger"),IEventBus:Symbol.for("IEventBus"),IConfiguration:Symbol.for("IConfiguration"),INotificationService:Symbol.for("INotificationService"),AreaCreationService:Symbol.for("AreaCreationService"),ClassCreationService:Symbol.for("ClassCreationService"),ConceptCreationService:Symbol.for("ConceptCreationService"),FleetingNoteCreationService:Symbol.for("FleetingNoteCreationService"),SupervisionCreationService:Symbol.for("SupervisionCreationService"),GenericAssetCreationService:Symbol.for("GenericAssetCreationService"),DynamicFrontmatterGenerator:Symbol.for("DynamicFrontmatterGenerator"),AlgorithmExtractor:Symbol.for("AlgorithmExtractor"),TaskStatusService:Symbol.for("TaskStatusService"),EffortStatusWorkflow:Symbol.for("EffortStatusWorkflow"),StatusTimestampService:Symbol.for("StatusTimestampService"),PropertyCleanupService:Symbol.for("PropertyCleanupService"),FolderRepairService:Symbol.for("FolderRepairService"),LabelToAliasService:Symbol.for("LabelToAliasService"),RenameToUidService:Symbol.for("RenameToUidService"),PlanningService:Symbol.for("PlanningService"),EffortVotingService:Symbol.for("EffortVotingService"),SessionEventService:Symbol.for("SessionEventService"),CriticalityZoneService:Symbol.for("CriticalityZoneService"),AssetConversionService:Symbol.for("AssetConversionService"),NoteToRDFConverter:Symbol.for("NoteToRDFConverter"),IVaultSettings:Symbol.for("IVaultSettings"),AreaHierarchyBuilder:Symbol.for("AreaHierarchyBuilder"),URIConstructionService:Symbol.for("URIConstructionService"),ClassHierarchyResolver:Symbol.for("ClassHierarchyResolver")}});var Wp=S(fi=>{"use strict";var B5=fi&&fi.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},V5=fi&&fi.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},U5=fi&&fi.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(fi,"__esModule",{value:!0});fi.StatusTimestampService=void 0;var a3=le(),q5=Gn(),tl=qr(),W5=wt(),eS=class{static{o(this,"StatusTimestampService")}constructor(e){this.vault=e,this.frontmatterService=new q5.FrontmatterService}async addStartTimestamp(e){let t=await this.vault.read(e),r=tl.DateFormatter.toLocalTimestamp(new Date),i=this.frontmatterService.updateProperty(t,"ems__Effort_startTimestamp",r);await this.vault.modify(e,i)}async addEndTimestamp(e,t){let r=await this.vault.read(e),i=t||new Date,s=tl.DateFormatter.toLocalTimestamp(i),a=this.frontmatterService.updateProperty(r,"ems__Effort_endTimestamp",s);await this.vault.modify(e,a)}async addResolutionTimestamp(e){let t=await this.vault.read(e),r=tl.DateFormatter.toLocalTimestamp(new Date),i=this.frontmatterService.updateProperty(t,"ems__Effort_resolutionTimestamp",r);await this.vault.modify(e,i)}async addReviewTimestamp(e){let t=await this.vault.read(e),r=tl.DateFormatter.toLocalTimestamp(new Date),i=this.frontmatterService.updateProperty(t,"ems__Effort_lastReviewTimestamp",r);await this.vault.modify(e,i)}async addEndAndResolutionTimestamps(e,t){let r=await this.vault.read(e),i=t||new Date,s=tl.DateFormatter.toLocalTimestamp(i),a=this.frontmatterService.updateProperty(r,"ems__Effort_endTimestamp",s);a=this.frontmatterService.updateProperty(a,"ems__Effort_resolutionTimestamp",s),await this.vault.modify(e,a)}async removeStartTimestamp(e){let t=await this.vault.read(e),r=this.frontmatterService.removeProperty(t,"ems__Effort_startTimestamp");await this.vault.modify(e,r)}async removeEndTimestamp(e){let t=await this.vault.read(e),r=this.frontmatterService.removeProperty(t,"ems__Effort_endTimestamp");await this.vault.modify(e,r)}async removeResolutionTimestamp(e){let t=await this.vault.read(e),r=this.frontmatterService.removeProperty(t,"ems__Effort_resolutionTimestamp");await this.vault.modify(e,r)}async removeEndAndResolutionTimestamps(e){let t=await this.vault.read(e),r=this.frontmatterService.removeProperty(t,"ems__Effort_endTimestamp");r=this.frontmatterService.removeProperty(r,"ems__Effort_resolutionTimestamp"),await this.vault.modify(e,r)}async shiftPlannedEndTimestamp(e,t){let r=await this.vault.read(e),i=this.frontmatterService.parse(r);if(!i.exists)return;let s=this.frontmatterService.getPropertyValue(i.content,"ems__Effort_plannedEndTimestamp");if(!s)return;let a=new Date(s.replace(/["']/g,""));if(isNaN(a.getTime()))return;let c=new Date(a.getTime()+t),l=tl.DateFormatter.toLocalTimestamp(c),u=this.frontmatterService.updateProperty(r,"ems__Effort_plannedEndTimestamp",l);await this.vault.modify(e,u)}};fi.StatusTimestampService=eS;fi.StatusTimestampService=eS=B5([(0,a3.injectable)(),U5(0,(0,a3.inject)(W5.DI_TOKENS.IVaultAdapter)),V5("design:paramtypes",[Object])],eS)});var rS=S(di=>{"use strict";var G5=di&&di.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},z5=di&&di.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},H5=di&&di.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(di,"__esModule",{value:!0});di.TaskStatusService=void 0;var o3=le(),Q5=Gn(),Ro=qr(),Y5=Up(),K5=Wp(),X5=wt(),tS=class{static{o(this,"TaskStatusService")}constructor(e,t,r){this.vault=e,this.workflow=t,this.timestampService=r,this.frontmatterService=new Q5.FrontmatterService}async setDraftStatus(e){await this.updateStatus(e,"ems__EffortStatusDraft")}async moveToBacklog(e){await this.updateStatus(e,"ems__EffortStatusBacklog")}async moveToAnalysis(e){await this.updateStatus(e,"ems__EffortStatusAnalysis")}async moveToToDo(e){await this.updateStatus(e,"ems__EffortStatusToDo")}async startEffort(e){let t=await this.vault.read(e),r=Ro.DateFormatter.toLocalTimestamp(new Date),i=this.frontmatterService.updateProperty(t,"ems__Effort_status",'"[[ems__EffortStatusDoing]]"');i=this.frontmatterService.updateProperty(i,"ems__Effort_startTimestamp",r),await this.vault.modify(e,i)}async markTaskAsDone(e){let t=await this.vault.read(e),r=Ro.DateFormatter.toLocalTimestamp(new Date),i=this.frontmatterService.updateProperty(t,"ems__Effort_status",'"[[ems__EffortStatusDone]]"');i=this.frontmatterService.updateProperty(i,"ems__Effort_endTimestamp",r),i=this.frontmatterService.updateProperty(i,"ems__Effort_resolutionTimestamp",r),await this.vault.modify(e,i)}async syncEffortEndTimestamp(e,t){await this.timestampService.addEndAndResolutionTimestamps(e,t)}async shiftPlannedEndTimestamp(e,t){await this.timestampService.shiftPlannedEndTimestamp(e,t)}async trashEffort(e,t){let r=await this.vault.read(e),i=Ro.DateFormatter.toLocalTimestamp(new Date),s=this.frontmatterService.updateProperty(r,"ems__Effort_status",'"[[ems__EffortStatusTrashed]]"');s=this.frontmatterService.updateProperty(s,"ems__Effort_resolutionTimestamp",i),t&&(s=this.appendTrashReason(s,t)),await this.vault.modify(e,s)}appendTrashReason(e,t){let r=`
|
|
101
101
|
|
|
102
102
|
## Trash Reason
|
|
103
103
|
|
|
104
104
|
${t}`;return e.trimEnd()+r}async archiveTask(e){let t=await this.vault.read(e),r=this.frontmatterService.updateProperty(t,"archived","true");r=this.frontmatterService.removeProperty(r,"aliases"),await this.vault.modify(e,r)}async planOnToday(e){let t=await this.vault.read(e),r=Ro.DateFormatter.getTodayStartTimestamp(),i=this.frontmatterService.updateProperty(t,"ems__Effort_plannedStartTimestamp",r);await this.vault.modify(e,i)}async planForEvening(e){let t=await this.vault.read(e),r=new Date;r.setHours(19,0,0,0);let i=Ro.DateFormatter.toLocalTimestamp(r),s=this.frontmatterService.updateProperty(t,"ems__Effort_plannedStartTimestamp",i);await this.vault.modify(e,s)}async shiftDayBackward(e){await this.shiftDay(e,-1)}async shiftDayForward(e){await this.shiftDay(e,1)}async markAsReviewed(e){await this.timestampService.addReviewTimestamp(e)}async rollbackStatus(e){let t=await this.vault.read(e),r=this.extractCurrentStatus(t),i=this.extractInstanceClass(t);if(!r)throw new Error("No current status to rollback from");let s=this.workflow.getPreviousStatus(r,i);if(s===void 0)throw new Error("Cannot rollback from current status");let a=t;s===null?a=this.frontmatterService.removeProperty(a,"ems__Effort_status"):a=this.frontmatterService.updateProperty(a,"ems__Effort_status",s);let c=this.workflow.normalizeStatus(r);c==="ems__EffortStatusDone"?(a=this.frontmatterService.removeProperty(a,"ems__Effort_endTimestamp"),a=this.frontmatterService.removeProperty(a,"ems__Effort_resolutionTimestamp")):c==="ems__EffortStatusDoing"&&(a=this.frontmatterService.removeProperty(a,"ems__Effort_startTimestamp")),await this.vault.modify(e,a)}async updateStatus(e,t){let r=await this.vault.read(e),i=this.frontmatterService.updateProperty(r,"ems__Effort_status",`"[[${t}]]"`);await this.vault.modify(e,i)}async shiftDay(e,t){let r=await this.vault.read(e),i=this.extractPlannedStartTimestamp(r);if(!i)throw new Error("ems__Effort_plannedStartTimestamp property not found");let s=this.parseDateFromTimestamp(i);if(!s)throw new Error("Invalid date format in ems__Effort_plannedStartTimestamp");let a=Ro.DateFormatter.addDays(s,t);a.setHours(0,0,0,0);let c=Ro.DateFormatter.toLocalTimestamp(a),l=this.frontmatterService.updateProperty(r,"ems__Effort_plannedStartTimestamp",c);await this.vault.modify(e,l)}parseDateFromTimestamp(e){let t=new Date(e);return isNaN(t.getTime())?null:t}extractPlannedStartTimestamp(e){let t=this.frontmatterService.parse(e);return t.exists?this.frontmatterService.getPropertyValue(t.content,"ems__Effort_plannedStartTimestamp"):null}extractCurrentStatus(e){let t=this.frontmatterService.parse(e);return t.exists?this.frontmatterService.getPropertyValue(t.content,"ems__Effort_status"):null}extractInstanceClass(e){let t=this.frontmatterService.parse(e);if(!t.exists)return null;let r=t.content.match(/exo__Instance_class:\s*\n((?:\s*-\s*.*\n?)+)/);return r?r[1].split(`
|
|
105
|
-
`).filter(s=>s.trim()).map(s=>s.replace(/^\s*-\s*/,"").trim()):this.frontmatterService.getPropertyValue(t.content,"exo__Instance_class")}};di.TaskStatusService=tS;di.TaskStatusService=tS=G5([(0,oA.injectable)(),H5(0,(0,oA.inject)(X5.DI_TOKENS.IVaultAdapter)),z5("design:paramtypes",[Object,Y5.EffortStatusWorkflow,K5.StatusTimestampService])],tS)});var iS=S(Gp=>{"use strict";Object.defineProperty(Gp,"__esModule",{value:!0});Gp.MetadataExtractor=void 0;var J5=as(),nS=class{static{o(this,"MetadataExtractor")}constructor(e){this.vault=e}extractMetadata(e){return e?this.vault.getFrontmatter(e)||{}:{}}extractInstanceClass(e){return e.exo__Instance_class||null}extractStatus(e){return e.ems__Effort_status||null}extractIsArchived(e){return J5.MetadataHelpers.isAssetArchived(e)}static extractIsDefinedBy(e){let t=e.exo__Asset_isDefinedBy||'""';return Array.isArray(t)&&(t=t[0]||'""'),String(t)}extractExpectedFolder(e){let t=e.exo__Asset_isDefinedBy;if(!t)return null;let r=Array.isArray(t)?t[0]:t;if(!r||typeof r!="string")return null;let i=r.replace(/["'[\]]/g,"").trim();if(!i)return null;let s=i.split("/");return s.pop(),s.join("/")}extractCommandVisibilityContext(e){let t=this.extractMetadata(e),r=this.extractInstanceClass(t),i=this.extractStatus(t),s=this.extractIsArchived(t),a=e.parent?.path||"",c=this.extractExpectedFolder(t);return{instanceClass:r,currentStatus:i,metadata:t,isArchived:s,currentFolder:a,expectedFolder:c}}extractCache(e){return e?this.vault.getFrontmatter(e):null}};Gp.MetadataExtractor=nS});var aS=S(hi=>{"use strict";var Z5=hi&&hi.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},e9=hi&&hi.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},t9=hi&&hi.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(hi,"__esModule",{value:!0});hi.AreaCreationService=void 0;var cA=le(),lA=Sn(),r9=Pn(),n9=qr(),i9=iS(),uA=as(),s9=wt(),sS=class{static{o(this,"AreaCreationService")}constructor(e){this.vault=e}async createChildArea(e,t,r){let i=(0,lA.v4)(),s=`${i}.md`,a=this.generateChildAreaFrontmatter(t,e.basename,r,i),c=uA.MetadataHelpers.buildFileContent(a),l=e.parent?.path||"",u=l?`${l}/${s}`:s;return await this.vault.create(u,c)}generateChildAreaFrontmatter(e,t,r,i){let s=new Date,a=n9.DateFormatter.toLocalTimestamp(s),c=i9.MetadataExtractor.extractIsDefinedBy(e),l={};if(l.exo__Asset_isDefinedBy=uA.MetadataHelpers.ensureQuoted(c),l.exo__Asset_uid=i||(0,lA.v4)(),l.exo__Asset_createdAt=a,l.exo__Instance_class=[`"[[${r9.AssetClass.AREA}]]"`],l.ems__Area_parent=`"[[${t}]]"`,r&&r.trim()!==""){let u=r.trim();l.exo__Asset_label=u,l.aliases=[u]}return l}};hi.AreaCreationService=sS;hi.AreaCreationService=sS=Z5([(0,cA.injectable)(),t9(0,(0,cA.inject)(s9.DI_TOKENS.IVaultAdapter)),e9("design:paramtypes",[Object])],sS)});var cS=S(pi=>{"use strict";var a9=pi&&pi.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},o9=pi&&pi.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},c9=pi&&pi.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(pi,"__esModule",{value:!0});pi.AreaHierarchyBuilder=void 0;var fA=le(),dA=Pn(),l9=wt(),zp=Ns(),oS=class{static{o(this,"AreaHierarchyBuilder")}constructor(e){this.vault=e}buildHierarchy(e,t){let r=this.vault.getAbstractFileByPath(e);if(!this.isFile(r))return null;let i=this.vault.getFrontmatter(r)||{};if(this.extractInstanceClass(i)!==dA.AssetClass.AREA)return null;let a=this.collectAllAreasFromVault(),c=new Set;return this.buildTree(e,a,c,0)}isFile(e){return!!e&&typeof e=="object"&&"basename"in e&&"path"in e}extractInstanceClass(e){let t=e.exo__Instance_class||"";return Array.isArray(t)?zp.WikiLinkHelpers.normalize(String(t[0]||"")):zp.WikiLinkHelpers.normalize(String(t))}collectAllAreasFromVault(){let e=new Map,t=new Map,r=this.vault.getAllFiles();for(let i of r){let s=this.vault.getFrontmatter(i)||{};if(this.extractInstanceClass(s)===dA.AssetClass.AREA){let c=this.extractParentPath(s);e.set(i.path,{path:i.path,title:i.basename,label:s.exo__Asset_label||void 0,isArchived:this.isArchived(s),depth:0,parentPath:c||void 0}),t.set(i.basename,i.path)}}for(let[,i]of e.entries())i.parentPath&&t.has(i.parentPath)&&(i.parentPath=t.get(i.parentPath));return e}extractParentPath(e){let t=e.ems__Area_parent;if(!t)return null;if(Array.isArray(t)){let r=t[0]||"";return zp.WikiLinkHelpers.normalize(String(r))}return zp.WikiLinkHelpers.normalize(String(t))}isArchived(e){let t=e.exo__Asset_archived;if(t===!0||t==="true")return!0;if(Array.isArray(t)&&t.length>0){let r=t[0];return r===!0||r==="true"}return!1}buildTree(e,t,r,i){if(r.has(e))return null;r.add(e);let s=t.get(e);if(!s)return null;let a=[];for(let[c,l]of t.entries())if(l.parentPath===e){let u=this.buildTree(c,t,r,i+1);u&&a.push(u)}return a.sort((c,l)=>{let u=c.label||c.title,f=l.label||l.title;return u.localeCompare(f)}),{path:s.path,title:s.title,label:s.label,isArchived:s.isArchived,depth:i,parentPath:s.parentPath,children:a}}};pi.AreaHierarchyBuilder=oS;pi.AreaHierarchyBuilder=oS=a9([(0,fA.injectable)(),c9(0,(0,fA.inject)(l9.DI_TOKENS.IVaultAdapter)),o9("design:paramtypes",[Object])],oS)});var uS=S(mi=>{"use strict";var u9=mi&&mi.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},f9=mi&&mi.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},d9=mi&&mi.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(mi,"__esModule",{value:!0});mi.ClassCreationService=void 0;var hA=le(),h9=Sn(),p9=qr(),m9=as(),g9=wt(),lS=class{static{o(this,"ClassCreationService")}constructor(e){this.vault=e}async createSubclass(e,t,r){let i=(0,h9.v4)(),s=this.generateFileName(t),a=s.endsWith(".md")?s:`${s}.md`,c=this.generateClassFrontmatter(e.basename,t,i,r),l=m9.MetadataHelpers.buildFileContent(c),u="classes",f=`${u}/${a}`;return this.vault.getAbstractFileByPath(u)||await this.vault.createFolder(u),await this.vault.create(f,l)}generateFileName(e){let t=e.toLowerCase().replace(/[^a-z0-9]+/g,"-");for(;t.startsWith("-");)t=t.slice(1);for(;t.endsWith("-");)t=t.slice(0,-1);return t}generateClassFrontmatter(e,t,r,i){let s=new Date,a=p9.DateFormatter.toLocalTimestamp(s),c={};c.exo__Asset_uid=r,c.exo__Asset_label=t,c.exo__Asset_createdAt=a,c.exo__Instance_class=['"[[exo__Class]]"'],c.exo__Class_superClass=`"[[${e}]]"`;let l=i.exo__Asset_isDefinedBy||'"[[Ontology/EXO]]"';return c.exo__Asset_isDefinedBy=l,c.aliases=[t],c}};mi.ClassCreationService=lS;mi.ClassCreationService=lS=u9([(0,hA.injectable)(),d9(0,(0,hA.inject)(g9.DI_TOKENS.IVaultAdapter)),f9("design:paramtypes",[Object])],lS)});var dS=S(gi=>{"use strict";var y9=gi&&gi.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},_9=gi&&gi.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},S9=gi&&gi.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(gi,"__esModule",{value:!0});gi.ConceptCreationService=void 0;var pA=le(),b9=Sn(),v9=qr(),w9=as(),E9=Pn(),T9=wt(),fS=class{static{o(this,"ConceptCreationService")}constructor(e){this.vault=e}async createNarrowerConcept(e,t,r,i){let s=(0,b9.v4)(),a=t.endsWith(".md")?t:`${t}.md`,c=this.generateConceptFrontmatter(e.basename,r,i,s),l=w9.MetadataHelpers.buildFileContent(c),u="concepts",f=`${u}/${a}`;return this.vault.getAbstractFileByPath(u)||await this.vault.createFolder(u),await this.vault.create(f,l)}generateConceptFrontmatter(e,t,r,i){let s=new Date,a=v9.DateFormatter.toLocalTimestamp(s),c={};return c.exo__Asset_isDefinedBy='"[[!concepts]]"',c.exo__Asset_uid=i,c.exo__Asset_createdAt=a,c.exo__Instance_class=[`"[[${E9.AssetClass.CONCEPT}]]"`],c.ims__Concept_broader=`"[[${e}]]"`,c.ims__Concept_definition=t,r.length>0&&(c.aliases=r),c}};gi.ConceptCreationService=fS;gi.ConceptCreationService=fS=y9([(0,pA.injectable)(),S9(0,(0,pA.inject)(T9.DI_TOKENS.IVaultAdapter)),_9("design:paramtypes",[Object])],fS)});var mA=S(zs=>{"use strict";var A9=zs&&zs.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},x9=zs&&zs.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)};Object.defineProperty(zs,"__esModule",{value:!0});zs.InstantiationRuleResolver=void 0;var C9=le(),hS=xe(),rl=Ve(),Gs=Ir(),pS=class{static{o(this,"InstantiationRuleResolver")}constructor(e){this.tripleStore=e,this.cache=new Map}async getRule(e){let t=this.cache.get(e);if(t!==void 0)return t;let r=await this.findRuleForClass(e);return this.cache.set(e,r),r}invalidateCache(){this.cache.clear()}async findRuleForClass(e){let t=await this.tripleStore.match(void 0,Gs.Namespace.RDF.term("type"),Gs.Namespace.EXO.term("InstantiationRule"));for(let r of t){let i=r.subject;if((await this.tripleStore.match(i,Gs.Namespace.EXO.term("rule_targetClass"),void 0)).some(c=>this.matchesTargetClass(c.object,e)))return this.loadRule(i)}return null}async loadRule(e){let t=await this.tripleStore.match(e,Gs.Namespace.EXO.term("rule_prototypeUID"),void 0),r=t.length>0&&t[0].object instanceof rl.Literal?t[0].object.value:null,i=await this.tripleStore.match(e,Gs.Namespace.EXO.term("rule_defaultFolder"),void 0),s=i.length>0&&i[0].object instanceof rl.Literal?i[0].object.value:null,a=await this.tripleStore.match(e,Gs.Namespace.EXO.term("rule_propertySetRules"),void 0),c=[];for(let l of a){let u=l.object;if(!(u instanceof hS.IRI))continue;let f=await this.loadPropertySetRule(u);f&&c.push(f)}return{prototypeUID:r,defaultFolder:s,propertySetRules:c}}async loadPropertySetRule(e){let t=await this.tripleStore.match(e,Gs.Namespace.EXO.term("rule_property"),void 0);if(t.length===0)return null;let r=t[0].object,i=r instanceof hS.IRI?this.extractLocalName(r):r instanceof rl.Literal?this.normalizeWikilink(r.value):null;if(!i)return null;let s=await this.tripleStore.match(e,Gs.Namespace.EXO.term("rule_value"),void 0),a=s.length>0&&s[0].object instanceof rl.Literal?s[0].object.value:"",c=await this.tripleStore.match(e,Gs.Namespace.EXO.term("rule_valueType"),void 0),l=c.length>0&&c[0].object instanceof rl.Literal?c[0].object.value:"literal";return{property:i,value:a,valueType:l}}matchesTargetClass(e,t){return e instanceof hS.IRI?this.extractLocalName(e)===t:e instanceof rl.Literal?this.normalizeWikilink(e.value)===t:!1}extractLocalName(e){let t=e.value,r=t.lastIndexOf("#");if(r>=0){let s=t.substring(r+1);return t.includes("/ems#")?`ems__${s}`:t.includes("/exo#")?`exo__${s}`:t.includes("/ims#")?`ims__${s}`:s}let i=t.lastIndexOf("/");return i>=0?t.substring(i+1):t}normalizeWikilink(e){return e.replace(/["'[\]]/g,"").trim()}};zs.InstantiationRuleResolver=pS;zs.InstantiationRuleResolver=pS=A9([(0,C9.injectable)(),x9("design:paramtypes",[Object])],pS)});var gA=S(Hs=>{"use strict";var I9=Hs&&Hs.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},R9=Hs&&Hs.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)};Object.defineProperty(Hs,"__esModule",{value:!0});Hs.VisibilityGenerator=void 0;var O9=le(),P9=Qu(),mS=class{static{o(this,"VisibilityGenerator")}constructor(e){this.engine=e}getVisibleCommands(e){return this.engine.getAllTransitions(e).map(t=>this.toCommand(t))}getForwardCommands(e){return this.engine.getAvailableTransitions(e).map(t=>this.toCommand(t))}getRollbackCommands(e){return this.engine.getRollbackTransitions(e).map(t=>this.toCommand(t))}toCommand(e){let t=e.from.replace("ems__EffortStatus","").toLowerCase(),r=e.to.replace("ems__EffortStatus","").toLowerCase();return{commandId:`workflow-${t}-to-${r}`,label:e.label,icon:e.icon,targetStatus:e.to,isRollback:e.isRollback}}};Hs.VisibilityGenerator=mS;Hs.VisibilityGenerator=mS=I9([(0,O9.injectable)(),R9("design:paramtypes",[P9.WorkflowEngine])],mS)});var yA=S(Qs=>{"use strict";var F9=Qs&&Qs.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},D9=Qs&&Qs.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)};Object.defineProperty(Qs,"__esModule",{value:!0});Qs.WorkflowCommandAdapter=void 0;var N9=le(),gS=pc(),L9=Qu(),yS=class{static{o(this,"WorkflowCommandAdapter")}constructor(e){this.workflow=e,this.engine=new L9.WorkflowEngine(e)}adaptTransitions(e){return this.engine.getAllTransitions(e).map(r=>this.transitionToCommand(r))}adaptForwardTransitions(e){return this.engine.getAvailableTransitions(e).map(r=>this.transitionToCommand(r))}adaptRollbackTransitions(e){return this.engine.getRollbackTransitions(e).map(r=>this.transitionToCommand(r))}getEngine(){return this.engine}getWorkflow(){return this.workflow}transitionToCommand(e){let t=this.generateCommandId(e),r=this.buildPrecondition(e),i=this.buildGrounding(e),s=e.isRollback?"rollback":"workflow";return{id:t,name:e.label,icon:e.icon,precondition:r,grounding:i,category:s,confirmMessage:e.isRollback?`Rollback to ${this.shortStatus(e.to)}?`:void 0,successMessage:`Status changed to ${this.shortStatus(e.to)}`}}generateCommandId(e){let t=this.shortStatus(e.from),r=this.shortStatus(e.to);return`workflow-${t}-to-${r}`}buildPrecondition(e){return{id:`precond-${this.generateCommandId(e)}`,label:`Asset status is ${this.shortStatus(e.from)}`,sparqlAsk:`ASK { $target ems:Effort_status "${e.from}" }`}}buildGrounding(e){let t=[];t.push({id:`gnd-status-${this.shortStatus(e.to)}`,label:`Set status to ${this.shortStatus(e.to)}`,type:gS.GroundingType.PROPERTY_SET,targetProperty:"ems__Effort_status",targetValue:e.to});let r=this.engine.getTimestampsForStatus(e.to);for(let i of r)t.push({id:`gnd-ts-${i}`,label:`Set ${i}`,type:gS.GroundingType.PROPERTY_SET,targetProperty:i,targetValue:"$now"});return t.length===1?t[0]:{id:`gnd-composite-${this.generateCommandId(e)}`,label:`Transition to ${this.shortStatus(e.to)}`,type:gS.GroundingType.COMPOSITE,steps:t}}shortStatus(e){return e.replace("ems__EffortStatus","").toLowerCase()}};Qs.WorkflowCommandAdapter=yS;Qs.WorkflowCommandAdapter=yS=F9([(0,N9.injectable)(),D9("design:paramtypes",[Object])],yS)});var SS=S(yi=>{"use strict";var k9=yi&&yi.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},M9=yi&&yi.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},j9=yi&&yi.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(yi,"__esModule",{value:!0});yi.EffortVotingService=void 0;var _A=le(),$9=wt(),_S=class{static{o(this,"EffortVotingService")}constructor(e){this.vault=e}async incrementEffortVotes(e){let t=await this.vault.read(e),i=this.extractVoteCount(t)+1,s=this.updateFrontmatterWithVotes(t,i);return await this.vault.modify(e,s),i}extractVoteCount(e){let t=/^---\r?\n([\s\S]*?)\r?\n---/,r=e.match(t);if(!r)return 0;let s=r[1].match(/ems__Effort_votes:\s*(\d+)/);return s&&s[1]?parseInt(s[1],10):0}updateFrontmatterWithVotes(e,t){let r=/^---\r?\n([\s\S]*?)\r?\n---/,i=e.match(r),s=e.includes(`\r
|
|
105
|
+
`).filter(s=>s.trim()).map(s=>s.replace(/^\s*-\s*/,"").trim()):this.frontmatterService.getPropertyValue(t.content,"exo__Instance_class")}};di.TaskStatusService=tS;di.TaskStatusService=tS=G5([(0,o3.injectable)(),H5(0,(0,o3.inject)(X5.DI_TOKENS.IVaultAdapter)),z5("design:paramtypes",[Object,Y5.EffortStatusWorkflow,K5.StatusTimestampService])],tS)});var iS=S(Gp=>{"use strict";Object.defineProperty(Gp,"__esModule",{value:!0});Gp.MetadataExtractor=void 0;var J5=as(),nS=class{static{o(this,"MetadataExtractor")}constructor(e){this.vault=e}extractMetadata(e){return e?this.vault.getFrontmatter(e)||{}:{}}extractInstanceClass(e){return e.exo__Instance_class||null}extractStatus(e){return e.ems__Effort_status||null}extractIsArchived(e){return J5.MetadataHelpers.isAssetArchived(e)}static extractIsDefinedBy(e){let t=e.exo__Asset_isDefinedBy||'""';return Array.isArray(t)&&(t=t[0]||'""'),String(t)}extractExpectedFolder(e){let t=e.exo__Asset_isDefinedBy;if(!t)return null;let r=Array.isArray(t)?t[0]:t;if(!r||typeof r!="string")return null;let i=r.replace(/["'[\]]/g,"").trim();if(!i)return null;let s=i.split("/");return s.pop(),s.join("/")}extractCommandVisibilityContext(e){let t=this.extractMetadata(e),r=this.extractInstanceClass(t),i=this.extractStatus(t),s=this.extractIsArchived(t),a=e.parent?.path||"",c=this.extractExpectedFolder(t);return{instanceClass:r,currentStatus:i,metadata:t,isArchived:s,currentFolder:a,expectedFolder:c}}extractCache(e){return e?this.vault.getFrontmatter(e):null}};Gp.MetadataExtractor=nS});var aS=S(hi=>{"use strict";var Z5=hi&&hi.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},e9=hi&&hi.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},t9=hi&&hi.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(hi,"__esModule",{value:!0});hi.AreaCreationService=void 0;var c3=le(),l3=Sn(),r9=Pn(),n9=qr(),i9=iS(),u3=as(),s9=wt(),sS=class{static{o(this,"AreaCreationService")}constructor(e){this.vault=e}async createChildArea(e,t,r){let i=(0,l3.v4)(),s=`${i}.md`,a=this.generateChildAreaFrontmatter(t,e.basename,r,i),c=u3.MetadataHelpers.buildFileContent(a),l=e.parent?.path||"",u=l?`${l}/${s}`:s;return await this.vault.create(u,c)}generateChildAreaFrontmatter(e,t,r,i){let s=new Date,a=n9.DateFormatter.toLocalTimestamp(s),c=i9.MetadataExtractor.extractIsDefinedBy(e),l={};if(l.exo__Asset_isDefinedBy=u3.MetadataHelpers.ensureQuoted(c),l.exo__Asset_uid=i||(0,l3.v4)(),l.exo__Asset_createdAt=a,l.exo__Instance_class=[`"[[${r9.AssetClass.AREA}]]"`],l.ems__Area_parent=`"[[${t}]]"`,r&&r.trim()!==""){let u=r.trim();l.exo__Asset_label=u,l.aliases=[u]}return l}};hi.AreaCreationService=sS;hi.AreaCreationService=sS=Z5([(0,c3.injectable)(),t9(0,(0,c3.inject)(s9.DI_TOKENS.IVaultAdapter)),e9("design:paramtypes",[Object])],sS)});var cS=S(pi=>{"use strict";var a9=pi&&pi.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},o9=pi&&pi.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},c9=pi&&pi.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(pi,"__esModule",{value:!0});pi.AreaHierarchyBuilder=void 0;var f3=le(),d3=Pn(),l9=wt(),zp=Ns(),oS=class{static{o(this,"AreaHierarchyBuilder")}constructor(e){this.vault=e}buildHierarchy(e,t){let r=this.vault.getAbstractFileByPath(e);if(!this.isFile(r))return null;let i=this.vault.getFrontmatter(r)||{};if(this.extractInstanceClass(i)!==d3.AssetClass.AREA)return null;let a=this.collectAllAreasFromVault(),c=new Set;return this.buildTree(e,a,c,0)}isFile(e){return!!e&&typeof e=="object"&&"basename"in e&&"path"in e}extractInstanceClass(e){let t=e.exo__Instance_class||"";return Array.isArray(t)?zp.WikiLinkHelpers.normalize(String(t[0]||"")):zp.WikiLinkHelpers.normalize(String(t))}collectAllAreasFromVault(){let e=new Map,t=new Map,r=this.vault.getAllFiles();for(let i of r){let s=this.vault.getFrontmatter(i)||{};if(this.extractInstanceClass(s)===d3.AssetClass.AREA){let c=this.extractParentPath(s);e.set(i.path,{path:i.path,title:i.basename,label:s.exo__Asset_label||void 0,isArchived:this.isArchived(s),depth:0,parentPath:c||void 0}),t.set(i.basename,i.path)}}for(let[,i]of e.entries())i.parentPath&&t.has(i.parentPath)&&(i.parentPath=t.get(i.parentPath));return e}extractParentPath(e){let t=e.ems__Area_parent;if(!t)return null;if(Array.isArray(t)){let r=t[0]||"";return zp.WikiLinkHelpers.normalize(String(r))}return zp.WikiLinkHelpers.normalize(String(t))}isArchived(e){let t=e.exo__Asset_archived;if(t===!0||t==="true")return!0;if(Array.isArray(t)&&t.length>0){let r=t[0];return r===!0||r==="true"}return!1}buildTree(e,t,r,i){if(r.has(e))return null;r.add(e);let s=t.get(e);if(!s)return null;let a=[];for(let[c,l]of t.entries())if(l.parentPath===e){let u=this.buildTree(c,t,r,i+1);u&&a.push(u)}return a.sort((c,l)=>{let u=c.label||c.title,f=l.label||l.title;return u.localeCompare(f)}),{path:s.path,title:s.title,label:s.label,isArchived:s.isArchived,depth:i,parentPath:s.parentPath,children:a}}};pi.AreaHierarchyBuilder=oS;pi.AreaHierarchyBuilder=oS=a9([(0,f3.injectable)(),c9(0,(0,f3.inject)(l9.DI_TOKENS.IVaultAdapter)),o9("design:paramtypes",[Object])],oS)});var uS=S(mi=>{"use strict";var u9=mi&&mi.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},f9=mi&&mi.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},d9=mi&&mi.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(mi,"__esModule",{value:!0});mi.ClassCreationService=void 0;var h3=le(),h9=Sn(),p9=qr(),m9=as(),g9=wt(),lS=class{static{o(this,"ClassCreationService")}constructor(e){this.vault=e}async createSubclass(e,t,r){let i=(0,h9.v4)(),s=this.generateFileName(t),a=s.endsWith(".md")?s:`${s}.md`,c=this.generateClassFrontmatter(e.basename,t,i,r),l=m9.MetadataHelpers.buildFileContent(c),u="classes",f=`${u}/${a}`;return this.vault.getAbstractFileByPath(u)||await this.vault.createFolder(u),await this.vault.create(f,l)}generateFileName(e){let t=e.toLowerCase().replace(/[^a-z0-9]+/g,"-");for(;t.startsWith("-");)t=t.slice(1);for(;t.endsWith("-");)t=t.slice(0,-1);return t}generateClassFrontmatter(e,t,r,i){let s=new Date,a=p9.DateFormatter.toLocalTimestamp(s),c={};c.exo__Asset_uid=r,c.exo__Asset_label=t,c.exo__Asset_createdAt=a,c.exo__Instance_class=['"[[exo__Class]]"'],c.exo__Class_superClass=`"[[${e}]]"`;let l=i.exo__Asset_isDefinedBy||'"[[Ontology/EXO]]"';return c.exo__Asset_isDefinedBy=l,c.aliases=[t],c}};mi.ClassCreationService=lS;mi.ClassCreationService=lS=u9([(0,h3.injectable)(),d9(0,(0,h3.inject)(g9.DI_TOKENS.IVaultAdapter)),f9("design:paramtypes",[Object])],lS)});var dS=S(gi=>{"use strict";var y9=gi&&gi.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},_9=gi&&gi.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},S9=gi&&gi.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(gi,"__esModule",{value:!0});gi.ConceptCreationService=void 0;var p3=le(),b9=Sn(),v9=qr(),w9=as(),E9=Pn(),T9=wt(),fS=class{static{o(this,"ConceptCreationService")}constructor(e){this.vault=e}async createNarrowerConcept(e,t,r,i){let s=(0,b9.v4)(),a=t.endsWith(".md")?t:`${t}.md`,c=this.generateConceptFrontmatter(e.basename,r,i,s),l=w9.MetadataHelpers.buildFileContent(c),u="concepts",f=`${u}/${a}`;return this.vault.getAbstractFileByPath(u)||await this.vault.createFolder(u),await this.vault.create(f,l)}generateConceptFrontmatter(e,t,r,i){let s=new Date,a=v9.DateFormatter.toLocalTimestamp(s),c={};return c.exo__Asset_isDefinedBy='"[[!concepts]]"',c.exo__Asset_uid=i,c.exo__Asset_createdAt=a,c.exo__Instance_class=[`"[[${E9.AssetClass.CONCEPT}]]"`],c.ims__Concept_broader=`"[[${e}]]"`,c.ims__Concept_definition=t,r.length>0&&(c.aliases=r),c}};gi.ConceptCreationService=fS;gi.ConceptCreationService=fS=y9([(0,p3.injectable)(),S9(0,(0,p3.inject)(T9.DI_TOKENS.IVaultAdapter)),_9("design:paramtypes",[Object])],fS)});var m3=S(zs=>{"use strict";var A9=zs&&zs.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},x9=zs&&zs.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)};Object.defineProperty(zs,"__esModule",{value:!0});zs.InstantiationRuleResolver=void 0;var C9=le(),hS=xe(),rl=Ve(),Gs=Ir(),pS=class{static{o(this,"InstantiationRuleResolver")}constructor(e){this.tripleStore=e,this.cache=new Map}async getRule(e){let t=this.cache.get(e);if(t!==void 0)return t;let r=await this.findRuleForClass(e);return this.cache.set(e,r),r}invalidateCache(){this.cache.clear()}async findRuleForClass(e){let t=await this.tripleStore.match(void 0,Gs.Namespace.RDF.term("type"),Gs.Namespace.EXO.term("InstantiationRule"));for(let r of t){let i=r.subject;if((await this.tripleStore.match(i,Gs.Namespace.EXO.term("rule_targetClass"),void 0)).some(c=>this.matchesTargetClass(c.object,e)))return this.loadRule(i)}return null}async loadRule(e){let t=await this.tripleStore.match(e,Gs.Namespace.EXO.term("rule_prototypeUID"),void 0),r=t.length>0&&t[0].object instanceof rl.Literal?t[0].object.value:null,i=await this.tripleStore.match(e,Gs.Namespace.EXO.term("rule_defaultFolder"),void 0),s=i.length>0&&i[0].object instanceof rl.Literal?i[0].object.value:null,a=await this.tripleStore.match(e,Gs.Namespace.EXO.term("rule_propertySetRules"),void 0),c=[];for(let l of a){let u=l.object;if(!(u instanceof hS.IRI))continue;let f=await this.loadPropertySetRule(u);f&&c.push(f)}return{prototypeUID:r,defaultFolder:s,propertySetRules:c}}async loadPropertySetRule(e){let t=await this.tripleStore.match(e,Gs.Namespace.EXO.term("rule_property"),void 0);if(t.length===0)return null;let r=t[0].object,i=r instanceof hS.IRI?this.extractLocalName(r):r instanceof rl.Literal?this.normalizeWikilink(r.value):null;if(!i)return null;let s=await this.tripleStore.match(e,Gs.Namespace.EXO.term("rule_value"),void 0),a=s.length>0&&s[0].object instanceof rl.Literal?s[0].object.value:"",c=await this.tripleStore.match(e,Gs.Namespace.EXO.term("rule_valueType"),void 0),l=c.length>0&&c[0].object instanceof rl.Literal?c[0].object.value:"literal";return{property:i,value:a,valueType:l}}matchesTargetClass(e,t){return e instanceof hS.IRI?this.extractLocalName(e)===t:e instanceof rl.Literal?this.normalizeWikilink(e.value)===t:!1}extractLocalName(e){let t=e.value,r=t.lastIndexOf("#");if(r>=0){let s=t.substring(r+1);return t.includes("/ems#")?`ems__${s}`:t.includes("/exo#")?`exo__${s}`:t.includes("/ims#")?`ims__${s}`:s}let i=t.lastIndexOf("/");return i>=0?t.substring(i+1):t}normalizeWikilink(e){return e.replace(/["'[\]]/g,"").trim()}};zs.InstantiationRuleResolver=pS;zs.InstantiationRuleResolver=pS=A9([(0,C9.injectable)(),x9("design:paramtypes",[Object])],pS)});var g3=S(Hs=>{"use strict";var I9=Hs&&Hs.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},R9=Hs&&Hs.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)};Object.defineProperty(Hs,"__esModule",{value:!0});Hs.VisibilityGenerator=void 0;var O9=le(),P9=Qu(),mS=class{static{o(this,"VisibilityGenerator")}constructor(e){this.engine=e}getVisibleCommands(e){return this.engine.getAllTransitions(e).map(t=>this.toCommand(t))}getForwardCommands(e){return this.engine.getAvailableTransitions(e).map(t=>this.toCommand(t))}getRollbackCommands(e){return this.engine.getRollbackTransitions(e).map(t=>this.toCommand(t))}toCommand(e){let t=e.from.replace("ems__EffortStatus","").toLowerCase(),r=e.to.replace("ems__EffortStatus","").toLowerCase();return{commandId:`workflow-${t}-to-${r}`,label:e.label,icon:e.icon,targetStatus:e.to,isRollback:e.isRollback}}};Hs.VisibilityGenerator=mS;Hs.VisibilityGenerator=mS=I9([(0,O9.injectable)(),R9("design:paramtypes",[P9.WorkflowEngine])],mS)});var y3=S(Qs=>{"use strict";var F9=Qs&&Qs.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},D9=Qs&&Qs.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)};Object.defineProperty(Qs,"__esModule",{value:!0});Qs.WorkflowCommandAdapter=void 0;var N9=le(),gS=pc(),L9=Qu(),yS=class{static{o(this,"WorkflowCommandAdapter")}constructor(e){this.workflow=e,this.engine=new L9.WorkflowEngine(e)}adaptTransitions(e){return this.engine.getAllTransitions(e).map(r=>this.transitionToCommand(r))}adaptForwardTransitions(e){return this.engine.getAvailableTransitions(e).map(r=>this.transitionToCommand(r))}adaptRollbackTransitions(e){return this.engine.getRollbackTransitions(e).map(r=>this.transitionToCommand(r))}getEngine(){return this.engine}getWorkflow(){return this.workflow}transitionToCommand(e){let t=this.generateCommandId(e),r=this.buildPrecondition(e),i=this.buildGrounding(e),s=e.isRollback?"rollback":"workflow";return{id:t,name:e.label,icon:e.icon,precondition:r,grounding:i,category:s,confirmMessage:e.isRollback?`Rollback to ${this.shortStatus(e.to)}?`:void 0,successMessage:`Status changed to ${this.shortStatus(e.to)}`}}generateCommandId(e){let t=this.shortStatus(e.from),r=this.shortStatus(e.to);return`workflow-${t}-to-${r}`}buildPrecondition(e){return{id:`precond-${this.generateCommandId(e)}`,label:`Asset status is ${this.shortStatus(e.from)}`,sparqlAsk:`ASK { $target ems:Effort_status "${e.from}" }`}}buildGrounding(e){let t=[];t.push({id:`gnd-status-${this.shortStatus(e.to)}`,label:`Set status to ${this.shortStatus(e.to)}`,type:gS.GroundingType.PROPERTY_SET,targetProperty:"ems__Effort_status",targetValue:e.to});let r=this.engine.getTimestampsForStatus(e.to);for(let i of r)t.push({id:`gnd-ts-${i}`,label:`Set ${i}`,type:gS.GroundingType.PROPERTY_SET,targetProperty:i,targetValue:"$now"});return t.length===1?t[0]:{id:`gnd-composite-${this.generateCommandId(e)}`,label:`Transition to ${this.shortStatus(e.to)}`,type:gS.GroundingType.COMPOSITE,steps:t}}shortStatus(e){return e.replace("ems__EffortStatus","").toLowerCase()}};Qs.WorkflowCommandAdapter=yS;Qs.WorkflowCommandAdapter=yS=F9([(0,N9.injectable)(),D9("design:paramtypes",[Object])],yS)});var SS=S(yi=>{"use strict";var k9=yi&&yi.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},M9=yi&&yi.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},j9=yi&&yi.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(yi,"__esModule",{value:!0});yi.EffortVotingService=void 0;var _3=le(),$9=wt(),_S=class{static{o(this,"EffortVotingService")}constructor(e){this.vault=e}async incrementEffortVotes(e){let t=await this.vault.read(e),i=this.extractVoteCount(t)+1,s=this.updateFrontmatterWithVotes(t,i);return await this.vault.modify(e,s),i}extractVoteCount(e){let t=/^---\r?\n([\s\S]*?)\r?\n---/,r=e.match(t);if(!r)return 0;let s=r[1].match(/ems__Effort_votes:\s*(\d+)/);return s&&s[1]?parseInt(s[1],10):0}updateFrontmatterWithVotes(e,t){let r=/^---\r?\n([\s\S]*?)\r?\n---/,i=e.match(r),s=e.includes(`\r
|
|
106
106
|
`)?`\r
|
|
107
107
|
`:`
|
|
108
|
-
`;if(!i)return`---${s}ems__Effort_votes: ${t}${s}---${s}${e}`;let c=i[1];return c.includes("ems__Effort_votes:")?c=c.replace(/ems__Effort_votes:.*$/m,`ems__Effort_votes: ${t}`):c+=`${s}ems__Effort_votes: ${t}`,e.replace(r,`---${s}${c}${s}---`)}};yi.EffortVotingService=_S;yi.EffortVotingService=_S=k9([(0,
|
|
108
|
+
`;if(!i)return`---${s}ems__Effort_votes: ${t}${s}---${s}${e}`;let c=i[1];return c.includes("ems__Effort_votes:")?c=c.replace(/ems__Effort_votes:.*$/m,`ems__Effort_votes: ${t}`):c+=`${s}ems__Effort_votes: ${t}`,e.replace(r,`---${s}${c}${s}---`)}};yi.EffortVotingService=_S;yi.EffortVotingService=_S=k9([(0,_3.injectable)(),j9(0,(0,_3.inject)($9.DI_TOKENS.IVaultAdapter)),M9("design:paramtypes",[Object])],_S)});var vS=S(_i=>{"use strict";var B9=_i&&_i.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},V9=_i&&_i.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},U9=_i&&_i.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(_i,"__esModule",{value:!0});_i.FolderRepairService=void 0;var S3=le(),q9=wt(),bS=class{static{o(this,"FolderRepairService")}constructor(e){this.vault=e}async getExpectedFolder(e,t){let r=t?.exo__Asset_isDefinedBy;if(!r)return null;let i=this.extractReference(r);if(!i)return null;let s=this.vault.getFirstLinkpathDest(i,e.path);return s?this.getFileFolder(s):null}async repairFolder(e,t){let r=`${t}/${e.name}`;if(this.vault.getAbstractFileByPath(r))throw new Error(`Cannot move file: ${r} already exists`);await this.ensureFolderExists(t),await this.vault.rename(e,r)}getFileFolder(e){return e.parent?.path||""}extractReference(e){if(typeof e!="string")return null;let t=e.trim().replace(/^["']|["']$/g,"");return t=t.replace(/^\[\[|\]\]$/g,""),t||null}async ensureFolderExists(e){if(!e)return;let t=this.vault.getAbstractFileByPath(e);if(!(t&&"children"in t))try{await this.vault.createFolder(e)}catch(r){if(r instanceof Error&&r.message.includes("Folder already exists"))return;throw r}}};_i.FolderRepairService=bS;_i.FolderRepairService=bS=B9([(0,S3.injectable)(),U9(0,(0,S3.inject)(q9.DI_TOKENS.IVaultAdapter)),V9("design:paramtypes",[Object])],bS)});var ES=S(Si=>{"use strict";var W9=Si&&Si.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},G9=Si&&Si.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},z9=Si&&Si.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(Si,"__esModule",{value:!0});Si.LabelToAliasService=void 0;var b3=le(),H9=wt(),wS=class{static{o(this,"LabelToAliasService")}constructor(e){this.vault=e}async copyLabelToAliases(e){let t=await this.vault.read(e),r=this.extractLabel(t);if(!r)throw new Error("No exo__Asset_label found in file");let i=this.addLabelToAliases(t,r);await this.vault.modify(e,i)}extractLabel(e){let t=/^---\r?\n([\s\S]*?)\r?\n---/,r=e.match(t);if(!r)return null;let s=r[1].match(/exo__Asset_label:\s*["']?([^"'\r\n]+)["']?/);return s&&s[1]?s[1].trim():null}addLabelToAliases(e,t){let r=/^---\r?\n([\s\S]*?)\r?\n---/,i=e.match(r),s=e.includes(`\r
|
|
109
109
|
`)?`\r
|
|
110
110
|
`:`
|
|
111
|
-
`;if(!i)return`---${s}aliases:${s} - "${t}"${s}---${s}${e}`;let c=i[1];return c.includes("aliases:")?c.match(/(aliases:\r?\n(?: {2}- .*\r?\n)*)/)&&(c=c.replace(/(aliases:\r?\n(?: {2}- .*\r?\n)*)/,`$1 - "${t}"${s}`)):c+=`${s}aliases:${s} - "${t}"`,e.replace(r,`---${s}${c}${s}---`)}};Si.LabelToAliasService=wS;Si.LabelToAliasService=wS=W9([(0,
|
|
111
|
+
`;if(!i)return`---${s}aliases:${s} - "${t}"${s}---${s}${e}`;let c=i[1];return c.includes("aliases:")?c.match(/(aliases:\r?\n(?: {2}- .*\r?\n)*)/)&&(c=c.replace(/(aliases:\r?\n(?: {2}- .*\r?\n)*)/,`$1 - "${t}"${s}`)):c+=`${s}aliases:${s} - "${t}"`,e.replace(r,`---${s}${c}${s}---`)}};Si.LabelToAliasService=wS;Si.LabelToAliasService=wS=W9([(0,b3.injectable)(),z9(0,(0,b3.inject)(H9.DI_TOKENS.IVaultAdapter)),G9("design:paramtypes",[Object])],wS)});var xS=S(bi=>{"use strict";var Q9=bi&&bi.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},Y9=bi&&bi.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},v3=bi&&bi.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(bi,"__esModule",{value:!0});bi.PropertyCleanupService=void 0;var TS=le(),w3=wt(),K9=bc(),AS=class{static{o(this,"PropertyCleanupService")}constructor(e,t=K9.NullLogger){this.vault=e,this.logger=t,this.logger.debug("PropertyCleanupService initialized")}async cleanEmptyProperties(e){this.logger.debug("Cleaning empty properties",{path:e.path});let t=await this.vault.read(e),r=this.removeEmptyPropertiesFromContent(t);await this.vault.modify(e,r),this.logger.info("Empty properties cleaned",{path:e.path})}removeEmptyPropertiesFromContent(e){let t=/^---\n([\s\S]*?)\n---/,r=e.match(t);if(!r)return e;let s=r[1].split(`
|
|
112
112
|
`),a=[],c=0;for(;c<s.length;){let u=s[c],f=u.trim();if(f===""){a.push(u),c++;continue}let d=f.match(/^([^:]+):\s*(.*)$/);if(d){let h=d[2];if(h===""&&c+1<s.length&&s[c+1].match(/^\s+- /)){let _=[],b=c+1;for(;b<s.length&&s[b].match(/^\s+- /);)_.push(s[b]),b++;if(_.every(v=>{let A=v.replace(/^\s+- /,"").trim();return this.isEmptyValue(A)})){c=b;continue}else{a.push(u);for(let v=c+1;v<b;v++)a.push(s[v]);c=b;continue}}if(this.isEmptyValue(h)){c++;continue}a.push(u),c++}else f.match(/^\s*- /)||a.push(u),c++}let l=a.join(`
|
|
113
113
|
`);return e.replace(t,`---
|
|
114
114
|
${l}
|
|
115
|
-
---`)}isEmptyValue(e){let t=e.trim();return t===""||t==="null"||t==="undefined"||t==="[]"||t==="{}"||t==='""'||t==="''"}};bi.PropertyCleanupService=AS;bi.PropertyCleanupService=AS=Q9([(0,TS.injectable)(),
|
|
115
|
+
---`)}isEmptyValue(e){let t=e.trim();return t===""||t==="null"||t==="undefined"||t==="[]"||t==="{}"||t==='""'||t==="''"}};bi.PropertyCleanupService=AS;bi.PropertyCleanupService=AS=Q9([(0,TS.injectable)(),v3(0,(0,TS.inject)(w3.DI_TOKENS.IVaultAdapter)),v3(1,(0,TS.inject)(w3.DI_TOKENS.ILogger)),Y9("design:paramtypes",[Object,Object])],AS)});var IS=S(vi=>{"use strict";var X9=vi&&vi.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},J9=vi&&vi.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},Z9=vi&&vi.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(vi,"__esModule",{value:!0});vi.RenameToUidService=void 0;var E3=le(),e6=wt(),CS=class{static{o(this,"RenameToUidService")}constructor(e){this.vault=e}async renameToUid(e,t){let r=t.exo__Asset_uid;if(!r)throw new Error("Asset has no exo__Asset_uid property");let i=e.basename,s=r;if(i===s)throw new Error("File is already named according to UID");let a=t.exo__Asset_label;if(!a||a.trim()===""){let f=this.isAssetArchived(t);await this.updateLabel(e,i,f)}let l=e.parent?.path||"",u=l?`${l}/${s}.md`:`${s}.md`;await this.vault.updateLinks(e.path,u,i),await this.vault.rename(e,u)}async updateLabel(e,t,r){await this.vault.process(e,i=>{let s=/^---\n([\s\S]*?)\n---/,a=i.match(s);if(!a)return i;let c=a[1];return c=`${c}
|
|
116
116
|
exo__Asset_label: ${t}`,r||(c=this.updateAliases(c,t)),i.replace(s,`---
|
|
117
117
|
${c}
|
|
118
118
|
---`)})}updateAliases(e,t){if(!/^aliases\s*:/m.test(e))return`${e}
|
|
@@ -122,7 +122,7 @@ aliases:
|
|
|
122
122
|
- ${t}
|
|
123
123
|
`;return e.replace(s[1],d)}let a=/^aliases\s*:\s*\[([^\]]*)\]/m,c=e.match(a);if(c){let u=c[1].trim();return u===""?e.replace(a,`aliases:
|
|
124
124
|
- ${t}`):u.split(",").map(d=>d.trim().replace(/^["']|["']$/g,"")).includes(t)?e:e.replace(a,`aliases: [${u}, ${t}]`)}let l=/^aliases\s*:\s*(?:null|~)?\s*$/m;return e.replace(l,`aliases:
|
|
125
|
-
- ${t}`)}isAssetArchived(e){if(e?.exo__Asset_isArchived===!0)return!0;let t=e?.archived;if(t==null)return!1;if(typeof t=="boolean")return t;if(typeof t=="number")return t!==0;if(typeof t=="string"){let r=t.toLowerCase().trim();return r==="true"||r==="yes"||r==="1"}return!1}};vi.RenameToUidService=CS;vi.RenameToUidService=CS=X9([(0,
|
|
125
|
+
- ${t}`)}isAssetArchived(e){if(e?.exo__Asset_isArchived===!0)return!0;let t=e?.archived;if(t==null)return!1;if(typeof t=="boolean")return t;if(typeof t=="number")return t!==0;if(typeof t=="string"){let r=t.toLowerCase().trim();return r==="true"||r==="yes"||r==="1"}return!1}};vi.RenameToUidService=CS;vi.RenameToUidService=CS=X9([(0,E3.injectable)(),Z9(0,(0,E3.inject)(e6.DI_TOKENS.IVaultAdapter)),J9("design:paramtypes",[Object])],CS)});var PS=S(wi=>{"use strict";var t6=wi&&wi.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},r6=wi&&wi.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},T3=wi&&wi.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(wi,"__esModule",{value:!0});wi.SupervisionCreationService=void 0;var RS=le(),n6=Sn(),i6=qr(),A3=wt(),OS=class{static{o(this,"SupervisionCreationService")}constructor(e,t){this.vault=e,this.vaultSettings=t}async createSupervision(e){let t=(0,n6.v4)(),r=`${t}.md`,i=this.generateFrontmatter(t),s=this.generateBody(e),a=this.buildFileContent(i,s),c=this.vaultSettings.getDefaultInboxFolder(),l=`${c}/${r}`;return await this.ensureFolderExists(c),await this.vault.create(l,a)}async ensureFolderExists(e){await this.vault.exists(e)||await this.vault.createFolder(e)}generateFrontmatter(e){let t=new Date,r=i6.DateFormatter.toLocalTimestamp(t);return{exo__Asset_isDefinedBy:this.vaultSettings.getOwnerIdentity(),exo__Asset_uid:e,exo__Asset_createdAt:r,exo__Instance_class:[`"[[${this.vaultSettings.getFleetingNoteClassUID()}]]"`],ztlk__FleetingNote_type:'"[[CBT-Diary Record]]"'}}generateBody(e){return[{label:"\u0421\u0438\u0442\u0443\u0430\u0446\u0438\u044F/\u0442\u0440\u0438\u0433\u0433\u0435\u0440",value:e.situation},{label:"\u042D\u043C\u043E\u0446\u0438\u0438",value:e.emotions},{label:"\u041C\u044B\u0441\u043B\u0438",value:e.thoughts},{label:"\u041F\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u0435",value:e.behavior},{label:"\u041A\u0440\u0430\u0442\u043A\u043E\u0441\u0440\u043E\u0447\u043D\u044B\u0435 \u043F\u043E\u0441\u043B\u0435\u0434\u0441\u0442\u0432\u0438\u044F \u043F\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u044F",value:e.shortTermConsequences},{label:"\u0414\u043E\u043B\u0433\u043E\u0441\u0440\u043E\u0447\u043D\u044B\u0435 \u043F\u043E\u0441\u043B\u0435\u0434\u0441\u0442\u0432\u0438\u044F \u043F\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u044F",value:e.longTermConsequences}].map(r=>`- ${r.label}: ${r.value}`).join(`
|
|
126
126
|
`)}buildFileContent(e,t){return`---
|
|
127
127
|
${Object.entries(e).map(([i,s])=>{if(Array.isArray(s)){let a=s.map(c=>` - ${c}`).join(`
|
|
128
128
|
`);return`${i}:
|
|
@@ -131,14 +131,14 @@ ${a}`}return`${i}: ${String(s)}`}).join(`
|
|
|
131
131
|
---
|
|
132
132
|
|
|
133
133
|
${t}
|
|
134
|
-
`}};wi.SupervisionCreationService=OS;wi.SupervisionCreationService=OS=t6([(0,RS.injectable)(),
|
|
134
|
+
`}};wi.SupervisionCreationService=OS;wi.SupervisionCreationService=OS=t6([(0,RS.injectable)(),T3(0,(0,RS.inject)(A3.DI_TOKENS.IVaultAdapter)),T3(1,(0,RS.inject)(A3.DI_TOKENS.IVaultSettings)),r6("design:paramtypes",[Object,Object])],OS)});var NS=S(Ei=>{"use strict";var s6=Ei&&Ei.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},a6=Ei&&Ei.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},x3=Ei&&Ei.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(Ei,"__esModule",{value:!0});Ei.FleetingNoteCreationService=void 0;var FS=le(),o6=Sn(),c6=qr(),l6=as(),C3=wt(),DS=class{static{o(this,"FleetingNoteCreationService")}constructor(e,t){this.vault=e,this.vaultSettings=t}async createFleetingNote(e){let t=(0,o6.v4)(),r=`${t}.md`,i=this.generateFrontmatter(t,e),s=l6.MetadataHelpers.buildFileContent(i),a=this.vaultSettings.getDefaultInboxFolder(),c=`${a}/${r}`;return await this.ensureFolderExists(a),await this.vault.create(c,s)}async ensureFolderExists(e){await this.vault.exists(e)||await this.vault.createFolder(e)}generateFrontmatter(e,t){let r=new Date,i=c6.DateFormatter.toLocalTimestamp(r),s=t.trim();return{exo__Asset_isDefinedBy:this.vaultSettings.getOwnerIdentity(),exo__Asset_uid:e,exo__Asset_createdAt:i,exo__Instance_class:[`"[[${this.vaultSettings.getFleetingNoteClassUID()}]]"`],exo__Asset_label:s,aliases:[s]}}};Ei.FleetingNoteCreationService=DS;Ei.FleetingNoteCreationService=DS=s6([(0,FS.injectable)(),x3(0,(0,FS.inject)(C3.DI_TOKENS.IVaultAdapter)),x3(1,(0,FS.inject)(C3.DI_TOKENS.IVaultSettings)),a6("design:paramtypes",[Object,Object])],DS)});var kS=S(Oo=>{"use strict";var u6=Oo&&Oo.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};Object.defineProperty(Oo,"__esModule",{value:!0});Oo.DynamicFrontmatterGenerator=void 0;var f6=le(),d6=Sn(),Xu=qr(),LS=class{static{o(this,"DynamicFrontmatterGenerator")}generate(e,t,r,i){let s={},a=new Date;i?.isDefinedBy&&(s.exo__Asset_isDefinedBy=this.ensureQuoted(i.isDefinedBy)),s.exo__Asset_uid=i?.uid||(0,d6.v4)(),s.exo__Asset_createdAt=i?.createdAt||Xu.DateFormatter.toLocalTimestamp(a),s.exo__Instance_class=[this.formatWikilink(e)];let c=new Map;for(let u of r)c.set(u.name,u.type);for(let[u,f]of Object.entries(t)){if(f==null||u==="exo__Asset_uid"||u==="exo__Asset_createdAt"||u==="exo__Instance_class"||u==="exo__Asset_isDefinedBy")continue;let d=c.get(u);s[u]=this.formatValue(f,d)}let l=t.exo__Asset_label;if(l&&typeof l=="string"&&l.trim()!==""){let u=l.trim();s.exo__Asset_label=u,s.aliases=[u]}return s}formatValue(e,t){if(e==null)return null;if(!t)return this.formatInferredValue(e);switch(t){case"text":return this.formatText(e);case"wikilink":return this.formatWikilink(e);case"status-select":case"size-select":return this.formatWikilink(e);case"number":return this.formatNumber(e);case"boolean":return this.formatBoolean(e);case"timestamp":return this.formatTimestamp(e);default:return this.formatText(e)}}formatText(e){return typeof e=="string"?e:String(e)}formatWikilink(e){let t=String(e);return t.startsWith('"[[')&&t.endsWith(']]"')?t:t.startsWith("[[")&&t.endsWith("]]")?`"${t}"`:`"[[${t}]]"`}formatNumber(e){if(typeof e=="number")return e;let t=Number(e);return isNaN(t)?0:t}formatBoolean(e){if(typeof e=="boolean")return e;if(typeof e=="string"){let t=e.toLowerCase().trim();return t==="true"||t==="yes"||t==="1"}return typeof e=="number"?e!==0:!!e}formatTimestamp(e){if(e instanceof Date)return Xu.DateFormatter.toLocalTimestamp(e);if(typeof e=="string"){if(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$/.test(e))return e;if(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$/.test(e))return e.replace("Z","");let t=new Date(e);return isNaN(t.getTime())?e:Xu.DateFormatter.toLocalTimestamp(t)}if(typeof e=="number"){let t=new Date(e);if(!isNaN(t.getTime()))return Xu.DateFormatter.toLocalTimestamp(t)}return String(e)}formatInferredValue(e){return typeof e=="boolean"||typeof e=="number"?e:e instanceof Date?Xu.DateFormatter.toLocalTimestamp(e):typeof e=="string"?e.startsWith("[[")||e.startsWith('"[[')?this.formatWikilink(e):e:String(e)}ensureQuoted(e){return!e||e==='""'?'""':e.startsWith('"')&&e.endsWith('"')?e:`"${e}"`}generateYAML(e,t,r,i){let s=this.generate(e,t,r,i);return this.toYAML(s)}toYAML(e){return`---
|
|
135
135
|
${Object.entries(e).map(([r,i])=>{if(Array.isArray(i)){let s=i.map(a=>` - ${a}`).join(`
|
|
136
136
|
`);return`${r}:
|
|
137
137
|
${s}`}return`${r}: ${i}`}).join(`
|
|
138
138
|
`)}
|
|
139
139
|
---`}};Oo.DynamicFrontmatterGenerator=LS;Oo.DynamicFrontmatterGenerator=LS=u6([(0,f6.injectable)()],LS)});var jS=S(Po=>{"use strict";var h6=Po&&Po.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};Object.defineProperty(Po,"__esModule",{value:!0});Po.AlgorithmExtractor=void 0;var p6=le(),MS=class{static{o(this,"AlgorithmExtractor")}extractH2Section(e,t){let r=e.split(`
|
|
140
140
|
`),i=`## ${t}`,s=!1,a=[];for(let l of r){if(l.trim()===i){s=!0;continue}if(s){if(l.startsWith("## ")||l.startsWith("# "))break;a.push(l)}}return a.length===0?null:a.join(`
|
|
141
|
-
`).trim()||null}};Po.AlgorithmExtractor=MS;Po.AlgorithmExtractor=MS=h6([(0,p6.injectable)()],MS)});var BS=S(Ti=>{"use strict";var m6=Ti&&Ti.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},g6=Ti&&Ti.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},y6=Ti&&Ti.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(Ti,"__esModule",{value:!0});Ti.PlanningService=void 0;var
|
|
141
|
+
`).trim()||null}};Po.AlgorithmExtractor=MS;Po.AlgorithmExtractor=MS=h6([(0,p6.injectable)()],MS)});var BS=S(Ti=>{"use strict";var m6=Ti&&Ti.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},g6=Ti&&Ti.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},y6=Ti&&Ti.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(Ti,"__esModule",{value:!0});Ti.PlanningService=void 0;var I3=le(),_6=Gn(),S6=qr(),b6=wt(),$S=class{static{o(this,"PlanningService")}constructor(e){this.vault=e,this.frontmatterService=new _6.FrontmatterService}async planOnToday(e){let t=this.vault.getAbstractFileByPath(e);if(!t||!this.isFile(t))throw new Error(`File not found: ${e}`);let r=await this.vault.read(t),i=S6.DateFormatter.getTodayStartTimestamp(),s=this.frontmatterService.updateProperty(r,"ems__Effort_plannedStartTimestamp",i);await this.vault.modify(t,s)}isFile(e){return typeof e=="object"&&e!==null&&"basename"in e}};Ti.PlanningService=$S;Ti.PlanningService=$S=m6([(0,I3.injectable)(),y6(0,(0,I3.inject)(b6.DI_TOKENS.IVaultAdapter)),g6("design:paramtypes",[Object])],$S)});var O3=S(Ys=>{"use strict";var v6=Ys&&Ys.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},w6=Ys&&Ys.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)};Object.defineProperty(Ys,"__esModule",{value:!0});Ys.PropertySchemaResolver=void 0;var E6=le(),R3=fh(),T6=D0(),VS=class{static{o(this,"PropertySchemaResolver")}constructor(e,t){this.sparqlService=e,this.logger=t,this.cache=new Map,this.allSchemasLoaded=!1}async getSchema(e){let t=this.normalizeIRI(e),r=this.cache.get(t);if(r)return r;try{let i=await this.loadSchemaFromStore(t);return i&&this.cache.set(t,i),i}catch(i){return this.logger?.warn(`Failed to load schema for ${e}`,{error:String(i)}),null}}async getAllSchemas(){if(this.allSchemasLoaded)return new Map(this.cache);try{let e=await this.loadAllSchemasFromStore();for(let[t,r]of e)this.cache.set(t,r);return this.allSchemasLoaded=!0,new Map(this.cache)}catch(e){return this.logger?.warn("Failed to load all schemas",{error:String(e)}),new Map(this.cache)}}invalidateCache(){this.cache.clear(),this.allSchemasLoaded=!1}async loadSchemaFromStore(e){let t=this.toFullIRI(e),r=`
|
|
142
142
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
|
143
143
|
PREFIX owl: <http://www.w3.org/2002/07/owl#>
|
|
144
144
|
PREFIX exo: <https://exocortex.my/ontology/exo#>
|
|
@@ -184,7 +184,7 @@ ${s}`}return`${r}: ${i}`}).join(`
|
|
|
184
184
|
OPTIONAL { ?optionValue rdfs:label ?optionLabel . }
|
|
185
185
|
}
|
|
186
186
|
}
|
|
187
|
-
`),r=new Map;for(let s of t){let a=s.get("property");if(!a)continue;let c=this.fromFullIRI(String(a)),l=r.get(c);l?l.push(s):r.set(c,[s])}let i=new Map;for(let[s,a]of r){let c=this.buildSchemaFromBindings(s,a);c&&i.set(s,c)}return i}buildSchemaFromBindings(e,t){if(t.length===0)return null;let r=t[0],i=this.getBindingValue(r,"rangeType"),s=this.getBindingValue(r,"label")||(0,T6.extractPropertyLabel)(e),a=i?(0,
|
|
187
|
+
`),r=new Map;for(let s of t){let a=s.get("property");if(!a)continue;let c=this.fromFullIRI(String(a)),l=r.get(c);l?l.push(s):r.set(c,[s])}let i=new Map;for(let[s,a]of r){let c=this.buildSchemaFromBindings(s,a);c&&i.set(s,c)}return i}buildSchemaFromBindings(e,t){if(t.length===0)return null;let r=t[0],i=this.getBindingValue(r,"rangeType"),s=this.getBindingValue(r,"label")||(0,T6.extractPropertyLabel)(e),a=i?(0,R3.rangeToFieldType)(i):R3.PropertyFieldType.Text,c=this.getBindingValue(r,"readOnly"),l=this.extractOptions(t),u=this.extractValidation(r),f={type:a,label:s};return c==="true"&&(f.readOnly=!0),l.length>0&&(f.options=l),u&&(f.validation=u),f}extractOptions(e){let t=[],r=new Set;for(let i of e){let s=this.getBindingValue(i,"optionValue");if(s&&!r.has(s)){r.add(s);let a=this.getBindingValue(i,"optionLabel")||s;t.push({value:s,label:a})}}return t}extractValidation(e){let t=this.getBindingValue(e,"required"),r=this.getBindingValue(e,"minValue"),i=this.getBindingValue(e,"maxValue"),s=this.getBindingValue(e,"maxLength"),a=this.getBindingValue(e,"pattern");if(!(t||r||i||s||a))return;let l={};if(t==="true"&&(l.required=!0),r!==void 0){let u=Number(r);isNaN(u)||(l.minValue=u)}if(i!==void 0){let u=Number(i);isNaN(u)||(l.maxValue=u)}if(s!==void 0){let u=Number(s);isNaN(u)||(l.maxLength=u)}return a&&(l.pattern=a),l}getBindingValue(e,t){let r=e.get(t);if(r!=null)return String(r)}normalizeIRI(e){return e.startsWith("http://")||e.startsWith("https://")?this.fromFullIRI(e):e}toFullIRI(e){if(e.startsWith("http://")||e.startsWith("https://"))return e;let t=e.match(/^([a-z]+)__(.+)$/);if(t){let[,r,i]=t;switch(r){case"ems":return`https://exocortex.my/ontology/ems#${i}`;case"exo":return`https://exocortex.my/ontology/exo#${i}`;default:return`https://exocortex.my/ontology/${r}#${i}`}}return e}fromFullIRI(e){let t=e.match(/https:\/\/exocortex\.my\/ontology\/([a-z]+)#(.+)$/);if(t){let[,r,i]=t;return`${r}__${i}`}return e}};Ys.PropertySchemaResolver=VS;Ys.PropertySchemaResolver=VS=v6([(0,E6.injectable)(),w6("design:paramtypes",[Object,Object])],VS)});var P3=S(Ks=>{"use strict";var A6=Ks&&Ks.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},x6=Ks&&Ks.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)};Object.defineProperty(Ks,"__esModule",{value:!0});Ks.ClassHierarchyResolver=void 0;var C6=le(),US=class{static{o(this,"ClassHierarchyResolver")}constructor(e,t){this.sparqlService=e,this.logger=t,this.cache=new Map}async resolve(e){let t=this.cache.get(e);if(t)return[...t];try{let r=await this.loadHierarchy(e);return this.cache.set(e,r),[...r]}catch(r){return this.logger?.warn(`Failed to resolve class hierarchy for ${e}`,{error:String(r)}),this.fallback(e)}}invalidateCache(){this.cache.clear()}async loadHierarchy(e){let r=`
|
|
188
188
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
|
189
189
|
PREFIX exo: <https://exocortex.my/ontology/exo#>
|
|
190
190
|
|
|
@@ -192,7 +192,7 @@ ${s}`}return`${r}: ${i}`}).join(`
|
|
|
192
192
|
<${this.toFullIRI(e)}> rdfs:subClassOf+ ?ancestorFull .
|
|
193
193
|
BIND(STR(?ancestorFull) AS ?ancestor)
|
|
194
194
|
}
|
|
195
|
-
`,i=await this.sparqlService.query(r);if(i.length===0)return this.fallback(e);let s=[e];for(let a of i){let c=a.get("ancestor");if(c){let l=this.fromFullIRI(String(c));s.includes(l)||s.push(l)}}return!s.includes("exo__Asset")&&s.length>1&&s.push("exo__Asset"),s}fallback(e){return[e,"exo__Asset"]}toFullIRI(e){if(e.startsWith("http://")||e.startsWith("https://"))return e;let t=e.match(/^([a-z]+)__(.+)$/);if(t){let[,r,i]=t;switch(r){case"ems":return`https://exocortex.my/ontology/ems#${i}`;case"exo":return`https://exocortex.my/ontology/exo#${i}`;default:return`https://exocortex.my/ontology/${r}#${i}`}}return e}fromFullIRI(e){let t=e.match(/https:\/\/exocortex\.my\/ontology\/([a-z]+)#(.+)$/);if(t){let[,r,i]=t;return`${r}__${i}`}return e}};Ks.ClassHierarchyResolver=US;Ks.ClassHierarchyResolver=US=A6([(0,C6.injectable)(),x6("design:paramtypes",[Object,Object])],US)});var
|
|
195
|
+
`,i=await this.sparqlService.query(r);if(i.length===0)return this.fallback(e);let s=[e];for(let a of i){let c=a.get("ancestor");if(c){let l=this.fromFullIRI(String(c));s.includes(l)||s.push(l)}}return!s.includes("exo__Asset")&&s.length>1&&s.push("exo__Asset"),s}fallback(e){return[e,"exo__Asset"]}toFullIRI(e){if(e.startsWith("http://")||e.startsWith("https://"))return e;let t=e.match(/^([a-z]+)__(.+)$/);if(t){let[,r,i]=t;switch(r){case"ems":return`https://exocortex.my/ontology/ems#${i}`;case"exo":return`https://exocortex.my/ontology/exo#${i}`;default:return`https://exocortex.my/ontology/${r}#${i}`}}return e}fromFullIRI(e){let t=e.match(/https:\/\/exocortex\.my\/ontology\/([a-z]+)#(.+)$/);if(t){let[,r,i]=t;return`${r}__${i}`}return e}};Ks.ClassHierarchyResolver=US;Ks.ClassHierarchyResolver=US=A6([(0,C6.injectable)(),x6("design:paramtypes",[Object,Object])],US)});var F3=S(Xs=>{"use strict";var I6=Xs&&Xs.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},R6=Xs&&Xs.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)};Object.defineProperty(Xs,"__esModule",{value:!0});Xs.EnumValueResolver=void 0;var O6=le(),qS=class{static{o(this,"EnumValueResolver")}constructor(e,t){this.sparqlService=e,this.logger=t,this.cache=new Map}async resolve(e){let t=this.normalizeClassName(e),r=this.cache.get(t);if(r)return r;try{let i=await this.queryEnumValues(t);return i.length>0&&this.cache.set(t,i),i}catch(i){return this.logger?.warn(`Failed to resolve enum values for ${e}`,{error:String(i)}),[]}}invalidateCache(e){if(e){let t=this.normalizeClassName(e);this.cache.delete(t)}else this.cache.clear()}async queryEnumValues(e){let t=this.toFullIRI(e),r=this.buildRankProperty(e),i=r?this.toFullIRI(r):null,s=i?`
|
|
196
196
|
PREFIX exo: <https://exocortex.my/ontology/exo#>
|
|
197
197
|
PREFIX ems: <https://exocortex.my/ontology/ems#>
|
|
198
198
|
|
|
@@ -211,10 +211,10 @@ ${s}`}return`${r}: ${i}`}).join(`
|
|
|
211
211
|
?instance exo:Asset_label ?label .
|
|
212
212
|
}
|
|
213
213
|
ORDER BY ?instance
|
|
214
|
-
`,a=await this.sparqlService.query(s);return this.buildEnumValues(a)}buildEnumValues(e){let t=[],r=new Set;for(let i of e){let s=this.getBindingValue(i,"instance");if(!s||r.has(s))continue;r.add(s);let a=this.getBindingValue(i,"label")??s,l=`[[${this.fromFullIRI(s)}]]`;t.push({value:l,label:a})}return t}buildRankProperty(e){let t=e.match(/^([a-z]+)__(.+)$/);if(!t)return null;let[,r,i]=t;return`${r}__${i}_rank`}normalizeClassName(e){return e.replace(/\[\[|\]\]/g,"").trim()}getBindingValue(e,t){let r=e.get(t);if(r!=null)return String(r)}toFullIRI(e){if(e.startsWith("http://")||e.startsWith("https://"))return e;let t=e.match(/^([a-z]+)__(.+)$/);if(t){let[,r,i]=t;return`https://exocortex.my/ontology/${r}#${i}`}return e}fromFullIRI(e){let t=e.match(/https:\/\/exocortex\.my\/ontology\/([a-z]+)#(.+)$/);if(t){let[,r,i]=t;return`${r}__${i}`}return e}};Xs.EnumValueResolver=qS;Xs.EnumValueResolver=qS=I6([(0,O6.injectable)(),R6("design:paramtypes",[Object,Object])],qS)});var GS=S(Ai=>{"use strict";var P6=Ai&&Ai.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},F6=Ai&&Ai.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},D6=Ai&&Ai.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(Ai,"__esModule",{value:!0});Ai.AssetConversionService=void 0;var
|
|
214
|
+
`,a=await this.sparqlService.query(s);return this.buildEnumValues(a)}buildEnumValues(e){let t=[],r=new Set;for(let i of e){let s=this.getBindingValue(i,"instance");if(!s||r.has(s))continue;r.add(s);let a=this.getBindingValue(i,"label")??s,l=`[[${this.fromFullIRI(s)}]]`;t.push({value:l,label:a})}return t}buildRankProperty(e){let t=e.match(/^([a-z]+)__(.+)$/);if(!t)return null;let[,r,i]=t;return`${r}__${i}_rank`}normalizeClassName(e){return e.replace(/\[\[|\]\]/g,"").trim()}getBindingValue(e,t){let r=e.get(t);if(r!=null)return String(r)}toFullIRI(e){if(e.startsWith("http://")||e.startsWith("https://"))return e;let t=e.match(/^([a-z]+)__(.+)$/);if(t){let[,r,i]=t;return`https://exocortex.my/ontology/${r}#${i}`}return e}fromFullIRI(e){let t=e.match(/https:\/\/exocortex\.my\/ontology\/([a-z]+)#(.+)$/);if(t){let[,r,i]=t;return`${r}__${i}`}return e}};Xs.EnumValueResolver=qS;Xs.EnumValueResolver=qS=I6([(0,O6.injectable)(),R6("design:paramtypes",[Object,Object])],qS)});var GS=S(Ai=>{"use strict";var P6=Ai&&Ai.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},F6=Ai&&Ai.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},D6=Ai&&Ai.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(Ai,"__esModule",{value:!0});Ai.AssetConversionService=void 0;var D3=le(),N3=Pn(),N6=Gn(),Hp=xa(),L6=wt(),WS=class{static{o(this,"AssetConversionService")}constructor(e){this.vault=e,this.frontmatterService=new N6.FrontmatterService}async convertTaskToProject(e){try{let t=await this.vault.read(e),r=this.removeInstanceClassProperty(t);return r=this.frontmatterService.updateProperty(r,"exo__Instance_class",`["[[${N3.AssetClass.PROJECT}]]"]`),await this.vault.modify(e,r),Hp.LoggingService.info(`Converted Task to Project: ${e.basename} (${e.path})`),e}catch(t){let r=`Failed to convert Task to Project: ${e.path}`;throw Hp.LoggingService.error(r,t instanceof Error?t:void 0),new Error(r)}}async convertProjectToTask(e){try{let t=await this.vault.read(e),r=this.removeInstanceClassProperty(t);return r=this.frontmatterService.updateProperty(r,"exo__Instance_class",`["[[${N3.AssetClass.TASK}]]"]`),await this.vault.modify(e,r),Hp.LoggingService.info(`Converted Project to Task: ${e.basename} (${e.path})`),e}catch(t){let r=`Failed to convert Project to Task: ${e.path}`;throw Hp.LoggingService.error(r,t instanceof Error?t:void 0),new Error(r)}}removeInstanceClassProperty(e){let t=this.frontmatterService.parse(e);if(!t.exists)return e;let r=/^exo__Instance_class:.*$(\n -.*$)*/gm,i=t.content.replace(r,"").replace(/\n\n+/g,`
|
|
215
215
|
`).trim();return e.replace(/^---\n[\s\S]*?\n---/,`---
|
|
216
216
|
${i}
|
|
217
|
-
---`)}};Ai.AssetConversionService=WS;Ai.AssetConversionService=WS=P6([(0,DA.injectable)(),D6(0,(0,DA.inject)(L6.DI_TOKENS.IVaultAdapter)),F6("design:paramtypes",[Object])],WS)});var QS=S(xi=>{"use strict";var k6=xi&&xi.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},M6=xi&&xi.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},LA=xi&&xi.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(xi,"__esModule",{value:!0});xi.SessionEventService=void 0;var zS=le(),j6=Sn(),kA=Pn(),$6=qr(),B6=as(),MA=wt(),HS=class{static{o(this,"SessionEventService")}constructor(e,t){this.vault=e,this.vaultSettings=t,this.folderPathCache=null}async createSessionStartEvent(e){return this.createSessionEvent(e,kA.AssetClass.SESSION_START_EVENT)}async createSessionEndEvent(e){return this.createSessionEvent(e,kA.AssetClass.SESSION_END_EVENT)}getSessionEventFolder(){if(this.folderPathCache!==null)return this.folderPathCache;let e=this.vault.getDefaultNewFileParent();return this.folderPathCache=e?.path||"",this.folderPathCache}async createSessionEvent(e,t){let r=(0,j6.v4)(),i=$6.DateFormatter.toLocalTimestamp(new Date),s={exo__Asset_uid:r,exo__Asset_createdAt:i,exo__Asset_isDefinedBy:this.vaultSettings.getOwnerIdentity(),exo__Instance_class:[`"[[${t}]]"`],ems__SessionEvent_timestamp:i,ems__Session_area:`"[[${e}]]"`},a=B6.MetadataHelpers.buildFileContent(s),c=this.getSessionEventFolder();c&&!await this.vault.exists(c)&&await this.vault.createFolder(c);let l=c?`${c}/${r}.md`:`${r}.md`;return await this.vault.create(l,a)}};xi.SessionEventService=HS;xi.SessionEventService=HS=k6([(0,zS.injectable)(),LA(0,(0,zS.inject)(MA.DI_TOKENS.IVaultAdapter)),LA(1,(0,zS.inject)(MA.DI_TOKENS.IVaultSettings)),M6("design:paramtypes",[Object,Object])],HS)});var XS=S(Ci=>{"use strict";var V6=Ci&&Ci.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},U6=Ci&&Ci.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},jA=Ci&&Ci.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(Ci,"__esModule",{value:!0});Ci.URIConstructionService=void 0;var YS=le(),$A=wt(),q6=bc(),KS=class{static{o(this,"URIConstructionService")}constructor(e,t=q6.NullLogger){this.fileSystem=e,this.logger=t,this.defaultOntologyURL="https://exocortex.my/default/",this.strictValidation=!0}configure(e){e?.defaultOntologyURL&&(this.defaultOntologyURL=e.defaultOntologyURL),e?.strictValidation!==void 0&&(this.strictValidation=e.strictValidation)}async constructAssetURI(e){let t=this.extractUID(e);if(!t){if(this.strictValidation)throw new Error(`Asset missing exo__Asset_uid: ${e.path}`);return this.logger.warn(`Asset ${e.path} missing UID, using filename fallback`),this.constructFallbackURI(e)}let r=await this.resolveOntologyURL(e);if(!this.validateOntologyURL(r))throw new Error(`Invalid ontology URL: ${r}`);return`${r.endsWith("/")?r:`${r}/`}${t}`}validateOntologyURL(e){if(!e)return!1;try{let t=new URL(e);return t.protocol==="http:"||t.protocol==="https:"}catch{return!1}}async resolveOntologyURL(e){let t=e.frontmatter?.exo__Asset_isDefinedBy;if(!t||typeof t!="string")return this.defaultOntologyURL;let r=this.extractWikiLink(t),i=r,s=await this.fileSystem.fileExists(r);return!s&&!r.endsWith(".md")&&(i=`${r}.md`,s=await this.fileSystem.fileExists(i)),s?(await this.fileSystem.getFileMetadata(i))?.exo__Ontology_url||this.defaultOntologyURL:(this.logger.warn(`Ontology file not found: ${r}, using default`),this.defaultOntologyURL)}extractUID(e){let t=e.frontmatter?.exo__Asset_uid;return typeof t=="string"?t:null}extractWikiLink(e){return e.replace(/^\[\[|\]\]$/g,"")}constructFallbackURI(e){let t=e.path.split("/").pop()?.replace(".md","")||"unknown";return`${this.defaultOntologyURL}${t}`}};Ci.URIConstructionService=KS;Ci.URIConstructionService=KS=V6([(0,YS.injectable)(),jA(0,(0,YS.inject)($A.DI_TOKENS.IFileSystemAdapter)),jA(1,(0,YS.inject)($A.DI_TOKENS.ILogger)),U6("design:paramtypes",[Object,Object])],KS)});var ZS=S(Ii=>{"use strict";var W6=Ii&&Ii.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},G6=Ii&&Ii.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},z6=Ii&&Ii.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(Ii,"__esModule",{value:!0});Ii.GenericAssetCreationService=void 0;var BA=le(),H6=Sn(),Ju=qr(),Q6=as(),Y6=wt(),os=fh(),JS=class{static{o(this,"GenericAssetCreationService")}constructor(e){this.vault=e}async createAsset(e,t){let r=(0,H6.v4)(),i=`${r}.md`,s=this.generateFrontmatter(e,t||[],r),a=Q6.MetadataHelpers.buildFileContent(s),c=e.folderPath||this.getDefaultFolderPath(e);this.vault.getAbstractFileByPath(c)||await this.vault.createFolder(c);let u=c?`${c}/${i}`:i;return await this.vault.create(u,a)}generateFrontmatter(e,t,r){let i=new Date,s={},a=new Map;for(let c of t)a.set(c.name,c.fieldType);if(s.exo__Asset_uid=r,s.exo__Asset_createdAt=Ju.DateFormatter.toLocalTimestamp(i),s.exo__Instance_class=[this.formatWikilink(e.className)],e.label&&e.label.trim()!==""){let c=e.label.trim();s.exo__Asset_label=c,s.aliases=[c]}if(e.parentFile&&e.parentMetadata&&this.inheritParentContext(s,e),e.propertyValues)for(let[c,l]of Object.entries(e.propertyValues)){if(c==="exo__Asset_uid"||c==="exo__Asset_createdAt"||c==="exo__Instance_class"||c==="exo__Asset_label"||c==="aliases"||l==null)continue;let u=a.get(c);s[c]=this.formatValue(l,u)}return s}inheritParentContext(e,t){let r=t.parentMetadata||{},i=t.parentFile?.basename;if(t.className==="ems__Task"||t.className.startsWith("ems__Task")){let s=r.exo__Instance_class,c=this.isAreaClass(s)?"ems__Effort_area":"ems__Effort_parent";e[c]=i?this.formatWikilink(i):null}if(t.className==="ems__Project"||t.className.startsWith("ems__Project")){let s=r.exo__Instance_class,c=this.isAreaClass(s)?"ems__Effort_area":"ems__Effort_parent";e[c]=i?this.formatWikilink(i):null}if(r.exo__Asset_isDefinedBy){let s=r.exo__Asset_isDefinedBy;e.exo__Asset_isDefinedBy=typeof s=="string"?this.formatWikilink(s):s}}isAreaClass(e){return e?(Array.isArray(e)?e:[e]).some(r=>String(r).includes("Area")||String(r).includes("ems__Area")):!1}getDefaultFolderPath(e){if(e.parentFile?.parent?.path)return e.parentFile.parent.path;let t={ems__Task:"tasks",ems__Project:"projects",ems__Area:"areas",ems__Meeting:"meetings",exo__Event:"events",ims__Concept:"concepts"};if(t[e.className])return t[e.className];for(let[r,i]of Object.entries(t))if(e.className.startsWith(r))return i;return"assets"}formatValue(e,t){if(e==null)return null;if(!t)return this.formatInferredValue(e);switch(t){case os.PropertyFieldType.Text:return String(e);case os.PropertyFieldType.Wikilink:case os.PropertyFieldType.Reference:case os.PropertyFieldType.StatusSelect:case os.PropertyFieldType.SizeSelect:return this.formatWikilink(String(e));case os.PropertyFieldType.Number:return typeof e=="number"?e:Number(e)||0;case os.PropertyFieldType.Boolean:return this.formatBoolean(e);case os.PropertyFieldType.Date:case os.PropertyFieldType.DateTime:case os.PropertyFieldType.Timestamp:return this.formatTimestamp(e);default:return String(e)}}formatInferredValue(e){return typeof e=="boolean"||typeof e=="number"?e:e instanceof Date?Ju.DateFormatter.toLocalTimestamp(e):typeof e=="string"?e.startsWith("[[")||e.startsWith('"[[')?this.formatWikilink(e):e:String(e)}formatWikilink(e){return e.startsWith('"[[')&&e.endsWith(']]"')?e:e.startsWith("[[")&&e.endsWith("]]")?`"${e}"`:`"[[${e}]]"`}formatBoolean(e){if(typeof e=="boolean")return e;if(typeof e=="string"){let t=e.toLowerCase().trim();return t==="true"||t==="yes"||t==="1"}return typeof e=="number"?e!==0:!!e}formatTimestamp(e){if(e instanceof Date)return Ju.DateFormatter.toLocalTimestamp(e);if(typeof e=="string"){if(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$/.test(e))return e;if(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$/.test(e))return e.replace("Z","");let t=new Date(e);return isNaN(t.getTime())?e:Ju.DateFormatter.toLocalTimestamp(t)}if(typeof e=="number"){let t=new Date(e);if(!isNaN(t.getTime()))return Ju.DateFormatter.toLocalTimestamp(t)}return String(e)}};Ii.GenericAssetCreationService=JS;Ii.GenericAssetCreationService=JS=W6([(0,BA.injectable)(),z6(0,(0,BA.inject)(Y6.DI_TOKENS.IVaultAdapter)),G6("design:paramtypes",[Object])],JS)});var UA=S(Ri=>{"use strict";var K6=Ri&&Ri.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},X6=Ri&&Ri.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},J6=Ri&&Ri.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(Ri,"__esModule",{value:!0});Ri.ArchiveAssetService=void 0;var VA=le(),Z6=wt(),e7=Gn(),eb=class{static{o(this,"ArchiveAssetService")}constructor(e){this.vault=e,this.frontmatterService=new e7.FrontmatterService}async archiveAsset(e){let t=await this.vault.read(e),r=this.frontmatterService.updateProperty(t,"archived","true");r=this.frontmatterService.removeProperty(r,"aliases"),r!==t&&await this.vault.modify(e,r)}};Ri.ArchiveAssetService=eb;Ri.ArchiveAssetService=eb=K6([(0,VA.injectable)(),J6(0,(0,VA.inject)(Z6.DI_TOKENS.IVaultAdapter)),X6("design:paramtypes",[Object])],eb)});var WA=S(Oi=>{"use strict";var t7=Oi&&Oi.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},r7=Oi&&Oi.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},n7=Oi&&Oi.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(Oi,"__esModule",{value:!0});Oi.FixMissingLabelService=void 0;var qA=le(),i7=wt(),s7=Gn(),tb=class{static{o(this,"FixMissingLabelService")}constructor(e){this.vault=e,this.frontmatterService=new s7.FrontmatterService}async fixMissingLabel(e){let t=await this.vault.read(e);if(this.hasNonEmptyLabel(t))return;let r=this.frontmatterService.updateProperty(t,"exo__Asset_label",e.basename);r!==t&&await this.vault.modify(e,r)}hasNonEmptyLabel(e){let t=this.frontmatterService.parse(e);if(!t.exists)return!1;let r=t.content.match(/^exo__Asset_label:\s*(.*)$/m);if(!r)return!1;let i=r[1].trim();return!(i===""||i==='""'||i==="''")}};Oi.FixMissingLabelService=tb;Oi.FixMissingLabelService=tb=t7([(0,qA.injectable)(),n7(0,(0,qA.inject)(i7.DI_TOKENS.IVaultAdapter)),r7("design:paramtypes",[Object])],tb)});var GA=S(Js=>{"use strict";var a7=Js&&Js.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},o7=Js&&Js.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)};Object.defineProperty(Js,"__esModule",{value:!0});Js.GraphQueryService=void 0;var c7=le(),Zu=xe(),l7=Ve(),Ra=Ir(),u7=Hy(),cs={INSTANCE_CLASS:Ra.Namespace.EXO.term("Instance_class"),ASSET_LABEL:Ra.Namespace.EXO.term("Asset_label"),ASSET_PROTOTYPE:Ra.Namespace.EXO.term("Asset_prototype"),ASSET_IS_ARCHIVED:Ra.Namespace.EXO.term("Asset_isArchived"),EFFORT_PARENT:Ra.Namespace.EMS.term("Effort_parent"),REFERENCES:Ra.Namespace.EXO.term("references"),REFERENCED_BY:Ra.Namespace.EXO.term("referencedBy"),RDF_TYPE:Ra.Namespace.RDF.term("type")},rb=class{static{o(this,"GraphQueryService")}constructor(e,t={},r){this.subscribers=new Set,this.nodeCache=new Map,this.lastCacheUpdate=0,this.tripleStore=e,this.logger=r,this.config={defaultLimit:t.defaultLimit??100,maxLimit:t.maxLimit??1e4,defaultDepth:t.defaultDepth??2,maxDepth:t.maxDepth??10,includeArchivedByDefault:t.includeArchivedByDefault??!1,cacheTTL:t.cacheTTL??3e4}}async loadGraphData(e={}){let t=Date.now(),r=await this.loadNodes(e),i=await this.loadEdges(r,e),s=this.computeStats(r,i),a=Date.now()-t;return a>100&&r.length>0&&this.logger?.debug(`GraphQueryService: loaded ${r.length} nodes in ${a}ms (${(a/r.length).toFixed(2)}ms/node)`),{nodes:r,edges:i,stats:s,lastUpdated:Date.now(),version:1}}async loadNodesIncremental(e={}){let t=Math.min(e.limit??this.config.defaultLimit,this.config.maxLimit),r=e.offset??0,i=await this.loadNodes({...e,limit:t+1,offset:r}),s=i.length>t,a=s?i.slice(0,t):i,c=await this.loadEdges(a,e);return{nodes:a,edges:c,hasMore:s,totalCount:void 0,cursor:s?String(r+t):void 0}}async loadConnectedNodes(e,t={}){let r=Math.min(t.depth??this.config.defaultDepth,this.config.maxDepth),i=Math.min(t.limit??this.config.maxLimit,this.config.maxLimit),s=new Set,a=[{id:e,currentDepth:0}],c=[];for(;a.length>0&&c.length<i;){let u=a.shift();if(!u)break;let{id:f,currentDepth:d}=u;if(s.has(f))continue;s.add(f);let h=await this.getNodeById(f,t);if(h&&(c.push(h),d<r)){let p=await this.getConnectedNodeIds(f);for(let _ of p)s.has(_)||a.push({id:_,currentDepth:d+1})}}let l=await this.loadEdges(c,t);return{nodes:c,edges:l,hasMore:a.length>0,totalCount:s.size+a.length}}async getNodeById(e,t={}){let r=this.getCachedNode(e);if(r)return{...r};let i=this.idToIRI(e),s=await this.tripleStore.match(i,void 0,void 0);if(s.length===0)return null;let a=this.triplesToNode(e,s,t);return a&&this.cacheNode(a),a}subscribe(e){return this.subscribers.add(e),{unsubscribe:o(()=>{this.subscribers.delete(e)},"unsubscribe")}}notifyChange(e){for(let t of this.subscribers)try{t(e)}catch(r){this.logger?.error("GraphQueryService: error in subscriber callback",r instanceof Error?r:new Error(String(r)))}this.invalidateCache()}async getStats(){let e=await this.loadNodes({includeArchived:!0}),t=await this.loadEdges(e,{});return this.computeStats(e,t)}clearCache(){this.nodeCache.clear(),this.lastCacheUpdate=0}async loadNodes(e){let t=e.includeArchived??this.config.includeArchivedByDefault,r=e.limit??this.config.maxLimit,i=e.offset??0,s=await this.tripleStore.match(void 0,cs.INSTANCE_CLASS,void 0),a=s;if(e.classes&&e.classes.length>0){let p=new Set(e.classes);a=s.filter(_=>{let b=this.getObjectValue(_.object);return b&&p.has(b)})}let c=new Set;for(let p of a)c.add(this.subjectToId(p.subject));let f=Array.from(c).slice(i,i+r).map(p=>this.getNodeById(p,e));return(await Promise.all(f)).filter(p=>!(!p||!t&&p.isArchived))}async loadEdges(e,t){let r=new Set(e.map(a=>a.id)),i=[],s=new Set;for(let a of e){let c=this.idToIRI(a.id),l=await this.tripleStore.match(c,void 0,void 0);for(let u of l){let f=this.tripleToEdge(a.id,u,r);f&&f.id&&!s.has(f.id)&&(!t.edgeTypes||t.edgeTypes.includes(f.type))&&(s.add(f.id),i.push(f))}}return i}async getConnectedNodeIds(e){let t=this.idToIRI(e),r=[],i=await this.tripleStore.match(t,void 0,void 0);for(let a of i){let c=this.objectToId(a.object);c&&r.push(c)}let s=await this.tripleStore.match(void 0,void 0,t);for(let a of s)r.push(this.subjectToId(a.subject));return[...new Set(r)]}triplesToNode(e,t,r){let i={},s,a,c,l,u=!1;for(let h of t){let p=h.predicate.value,_=this.getObjectValue(h.object);if(p===cs.INSTANCE_CLASS.value)s=_;else if(p===cs.ASSET_LABEL.value)a=_;else if(p===cs.ASSET_PROTOTYPE.value)c=this.objectToId(h.object)??_;else if(p===cs.EFFORT_PARENT.value)l=this.objectToId(h.object)??_;else if(p===cs.ASSET_IS_ARCHIVED.value)u=_==="true"||_==="1";else{let b=this.predicateToPropertyName(p);b&&(i[b]=_)}}if(u&&!(r.includeArchived??this.config.includeArchivedByDefault))return null;let f=this.idToPath(e),d=a??this.pathToTitle(f);return{id:e,path:f,title:d,label:d,assetClass:s,isArchived:u,uri:e.startsWith("http")?e:void 0,prototype:c,parent:l,properties:Object.keys(i).length>0?i:void 0}}tripleToEdge(e,t,r){let i=t.predicate.value,s=this.objectToId(t.object);if(!s||!r.has(s)||s===e)return null;let a=this.predicateToEdgeType(i);if(!a)return null;let c=(0,u7.createEdgeId)(e,s,a,i),l=this.predicateToLabel(i);return{id:c,source:e,target:s,type:a,predicate:i,label:l}}predicateToEdgeType(e){return e===cs.EFFORT_PARENT.value?"hierarchy":e===cs.ASSET_PROTOTYPE.value?"prototype":e===cs.REFERENCES.value?"forward-link":e===cs.REFERENCED_BY.value?"backlink":e.includes("Asset_")||e.includes("Instance_")?null:"semantic"}predicateToLabel(e){let t=e.lastIndexOf("#"),r=e.lastIndexOf("/"),i=Math.max(t,r);return i>=0?e.substring(i+1):e}predicateToPropertyName(e){return this.predicateToLabel(e).replace(/_/g,"__").replace(/#/g,"_")}computeStats(e,t){let r={},i={backlink:0,"forward-link":0,hierarchy:0,prototype:0,semantic:0,reference:0};for(let c of e){let l=c.assetClass??"unknown";r[l]=(r[l]??0)+1}for(let c of t)i[c.type]=(i[c.type]??0)+1;let s=new Map,a=new Map;for(let c of t)a.set(c.source,(a.get(c.source)??0)+1),s.set(c.target,(s.get(c.target)??0)+1);for(let c of e)c.inDegree=s.get(c.id)??0,c.outDegree=a.get(c.id)??0,c.weight=c.inDegree+c.outDegree;return{nodeCount:e.length,edgeCount:t.length,nodesByClass:r,edgesByType:i,computedAt:Date.now()}}idToIRI(e){return e.startsWith("http://")||e.startsWith("https://")?new Zu.IRI(e):new Zu.IRI(`obsidian://vault/${encodeURIComponent(e)}`)}subjectToId(e){if(e instanceof Zu.IRI){let t=e.value;return t.startsWith("obsidian://vault/")?decodeURIComponent(t.replace("obsidian://vault/","")):t}return e.toString()}objectToId(e){if(e instanceof Zu.IRI){let t=e.value;return t.startsWith("obsidian://vault/")?decodeURIComponent(t.replace("obsidian://vault/","")):t}return null}getObjectValue(e){if(e instanceof l7.Literal||e instanceof Zu.IRI)return e.value}idToPath(e){if(e.startsWith("obsidian://vault/"))return decodeURIComponent(e.replace("obsidian://vault/",""));if(e.startsWith("http://")||e.startsWith("https://")){let t=e.match(/\/([^/]+\.md)$/);if(t)return t[1]}return e}pathToTitle(e){return(e.split("/").pop()??e).replace(/\.md$/,"")}getCachedNode(e){return Date.now()-this.lastCacheUpdate>this.config.cacheTTL?(this.clearCache(),null):this.nodeCache.get(e)??null}cacheNode(e){this.nodeCache.set(e.id,e),this.lastCacheUpdate===0&&(this.lastCacheUpdate=Date.now())}invalidateCache(){this.clearCache()}};Js.GraphQueryService=rb;Js.GraphQueryService=rb=a7([(0,c7.injectable)(),o7("design:paramtypes",[Object,Object,Object])],rb)});var HA=S(Zs=>{"use strict";var f7=Zs&&Zs.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},d7=Zs&&Zs.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)};Object.defineProperty(Zs,"__esModule",{value:!0});Zs.TypeRegistry=void 0;var h7=le(),ls=xe(),zA=qt(),p7=Ve(),m7=xa(),ht=Qy(),nb=class{static{o(this,"TypeRegistry")}constructor(e=null,t={}){this.nodeTypes=new Map,this.edgeTypes=new Map,this.typeHierarchy=new Map,this.subscribers=new Set,this.discoveryComplete=!1,this.tripleStore=e,this.config={autoDiscoverTypes:t.autoDiscoverTypes??!0,includeBuiltInStyles:t.includeBuiltInStyles??!0,styleResolution:t.styleResolution??{mergeStyles:!0,inheritParentStyles:!0,defaultNodeStyle:ht.DEFAULT_NODE_STYLE,defaultEdgeStyle:ht.DEFAULT_EDGE_STYLE},maxInheritanceDepth:t.maxInheritanceDepth??10},this.config.includeBuiltInStyles&&this.registerBuiltInTypes()}registerNodeType(e){let r=this.nodeTypes.get(e.uri)?"type-updated":"type-added";this.nodeTypes.set(e.uri,e),e.parentTypes&&e.parentTypes.length>0&&this.typeHierarchy.set(e.uri,e.parentTypes),this.emit({type:r,typeUri:e.uri,definition:e})}registerEdgeType(e){let r=this.edgeTypes.get(e.uri)?"type-updated":"type-added";this.edgeTypes.set(e.uri,e),this.emit({type:r,typeUri:e.uri,definition:e})}unregisterType(e){let t=this.nodeTypes.delete(e),r=this.edgeTypes.delete(e);this.typeHierarchy.delete(e),(t||r)&&this.emit({type:"type-removed",typeUri:e})}getNodeType(e){return this.nodeTypes.get(e)}getEdgeType(e){return this.edgeTypes.get(e)}getAllNodeTypes(){return Array.from(this.nodeTypes.values())}getAllEdgeTypes(){return Array.from(this.edgeTypes.values())}getParentTypes(e,t=this.config.maxInheritanceDepth){let r=[],i=new Set,s=[{uri:e,currentDepth:0}];for(;s.length>0;){let a=s.shift();if(!a)break;let{uri:c,currentDepth:l}=a;if(i.has(c)||(i.add(c),l>=t))continue;let u=this.typeHierarchy.get(c)??[];for(let f of u)i.has(f)||(r.push(f),s.push({uri:f,currentDepth:l+1}))}return r}getChildTypes(e){let t=[];for(let[r,i]of this.typeHierarchy)i.includes(e)&&t.push(r);return t}isSubtypeOf(e,t){return e===t?!0:this.getParentTypes(e).includes(t)}resolveNodeType(e){let t=[],r="unknown",i="custom";if(e.assetClass){let c=this.normalizeTypeUri(e.assetClass);t.push(c),r=c,i="exo:Instance_class"}let s=e.properties?.[ht.RDF_TYPE_PREDICATES.RDF_TYPE];s&&!t.includes(s)&&(t.push(s),r==="unknown"&&(r=s,i="rdf:type"));for(let c of[...t]){let l=this.getParentTypes(c);for(let u of l)t.includes(u)||t.push(u)}let a=this.resolveNodeStyle(t);return{primaryType:r,types:t,resolvedStyle:a,source:i}}resolveEdgeType(e){let t=e.predicate??e.type,r=e.predicate?"rdf:type":"custom",i=this.resolveEdgeStyle(t);return{primaryType:t,resolvedStyle:i,source:r}}resolveNodeStyle(e){let{mergeStyles:t,defaultNodeStyle:r}=this.config.styleResolution,i={...r},s=[];for(let a of e){let c=this.nodeTypes.get(a);c&&s.push(c)}if(s.sort((a,c)=>a.priority-c.priority),t)for(let a of s)i=(0,ht.mergeNodeStyles)(i,a.style);else if(s.length>0){let a=s[s.length-1];i=(0,ht.mergeNodeStyles)(i,a.style)}return i}resolveEdgeStyle(e){let{defaultEdgeStyle:t}=this.config.styleResolution,r={...t},i=this.edgeTypes.get(e);return i&&(r=(0,ht.mergeEdgeStyles)(r,i.style)),r}filterNodes(e,t){return e.filter(r=>{let i=this.resolveNodeType(r);return!(t.includeNodeTypes&&t.includeNodeTypes.length>0&&!t.includeNodeTypes.some(a=>i.types.includes(a)||t.includeInferred&&this.isSubtypeOf(i.primaryType,a))||t.excludeNodeTypes&&t.excludeNodeTypes.length>0&&t.excludeNodeTypes.some(a=>i.types.includes(a)||t.includeInferred&&this.isSubtypeOf(i.primaryType,a))||!t.includeDeprecated&&this.nodeTypes.get(i.primaryType)?.deprecated)})}filterEdges(e,t){return e.filter(r=>{let i=r.predicate??r.type;return!(t.includeEdgeTypes&&t.includeEdgeTypes.length>0&&!t.includeEdgeTypes.includes(i)||t.excludeEdgeTypes&&t.excludeEdgeTypes.length>0&&t.excludeEdgeTypes.includes(i))})}groupNodesByType(e,t,r={}){let{groupByNodeType:i=!0,groupByParentType:s=!1,groupLevel:a=0,maxGroups:c=20,customGroupFn:l}=r,u=new Map;for(let h of e){let p=this.resolveNodeType(h),_;if(l?_=l(p.types):s&&p.types.length>a?_=p.types[a]??p.primaryType:i?_=p.primaryType:_="all",!u.has(_)){let v=this.nodeTypes.get(_)?.label??(0,ht.extractLocalName)(_);u.set(_,{nodeIds:new Set,label:v})}let b=u.get(_);b&&b.nodeIds.add(h.id)}let f=Array.from(u.entries()).map(([h,p])=>({id:h,label:p.label,nodeIds:Array.from(p.nodeIds)}));if(f.length>c){f.sort((_,b)=>b.nodeIds.length-_.nodeIds.length);let h=f.slice(0,c-1),p=f.slice(c-1).flatMap(_=>_.nodeIds);h.push({id:"other",label:"Other",nodeIds:p}),f=h}let d=new Map;for(let h of f)for(let p of h.nodeIds)d.set(p,h.id);return f.map((h,p)=>{let _=new Set(h.nodeIds),b=[],E=[];for(let R of t){let B=_.has(R.source),W=_.has(R.target);B&&W?R.id&&b.push(R.id):(B||W)&&R.id&&E.push(R.id)}let A=`hsl(${p*137.5%360}, 70%, 50%)`;return{id:h.id,label:h.label,nodeIds:h.nodeIds,internalEdgeIds:b,externalEdgeIds:E,color:A,stats:{nodeCount:h.nodeIds.length,internalEdgeCount:b.length,externalEdgeCount:E.length}}})}validateTypes(e,t){let r=[],i=[];for(let s of e){let a=this.resolveNodeType(s);if(a.primaryType!=="unknown"){let c=this.nodeTypes.get(a.primaryType);!c&&a.source!=="inferred"&&i.push({code:"UNREGISTERED_NODE_TYPE",message:`Node type "${a.primaryType}" is not registered`,elementId:s.id,suggestion:"Register the type with registerNodeType()"}),c?.deprecated&&i.push({code:"DEPRECATED_NODE_TYPE",message:`Node uses deprecated type "${a.primaryType}"`,elementId:s.id,suggestion:"Migrate to a non-deprecated type"})}else i.push({code:"MISSING_NODE_TYPE",message:"Node has no type information",elementId:s.id,suggestion:"Add exo:Instance_class or rdf:type to the node"})}for(let s of t){let a=s.predicate??s.type,c=this.edgeTypes.get(a);if(c?.domain&&c.domain.length>0){let l=e.find(u=>u.id===s.source);if(l){let u=this.resolveNodeType(l);c.domain.some(d=>u.types.includes(d))||r.push({code:"DOMAIN_VIOLATION",message:"Edge source does not match expected domain",elementId:s.id,expected:c.domain,actual:u.types})}}if(c?.range&&c.range.length>0){let l=e.find(u=>u.id===s.target);if(l){let u=this.resolveNodeType(l);c.range.some(d=>u.types.includes(d))||r.push({code:"RANGE_VIOLATION",message:"Edge target does not match expected range",elementId:s.id,expected:c.range,actual:u.types})}}}return{valid:r.length===0,errors:r,warnings:i}}async discoverTypes(){if(!this.tripleStore||this.discoveryComplete)return;let e=await this.tripleStore.match(void 0,new ls.IRI(ht.RDF_TYPE_PREDICATES.RDF_TYPE),void 0);for(let r of e){let i=this.getObjectValue(r.object);if(i&&(0,ht.isClassType)(i)){let s=this.getSubjectValue(r.subject);s&&await this.discoverNodeType(s)}}let t=await this.tripleStore.match(void 0,new ls.IRI(ht.RDF_TYPE_PREDICATES.RDFS_SUBCLASS_OF),void 0);for(let r of t){let i=this.getSubjectValue(r.subject),s=this.getObjectValue(r.object);if(i&&s){let a=this.typeHierarchy.get(i)??[];if(!a.includes(s)){a.push(s),this.typeHierarchy.set(i,a);let c=this.nodeTypes.get(i);c&&(c.parentTypes=a)}}}this.discoveryComplete=!0,this.emit({type:"hierarchy-updated",rootTypes:this.getRootTypes()})}subscribe(e){return this.subscribers.add(e),()=>this.subscribers.delete(e)}clear(){this.nodeTypes.clear(),this.edgeTypes.clear(),this.typeHierarchy.clear(),this.discoveryComplete=!1,this.config.includeBuiltInStyles&&this.registerBuiltInTypes()}registerBuiltInTypes(){for(let[e,t]of Object.entries(ht.BUILT_IN_NODE_STYLES))this.nodeTypes.set(e,{uri:e,label:(0,ht.extractLocalName)(e),source:"custom",style:(0,ht.mergeNodeStyles)(ht.DEFAULT_NODE_STYLE,t),priority:1});for(let[e,t]of Object.entries(ht.BUILT_IN_EDGE_STYLES))this.edgeTypes.set(e,{uri:e,label:(0,ht.extractLocalName)(e),source:"custom",style:(0,ht.mergeEdgeStyles)(ht.DEFAULT_EDGE_STYLE,t),priority:1})}async discoverNodeType(e){if(this.nodeTypes.has(e)||!this.tripleStore)return;let t=await this.tripleStore.match(new ls.IRI(e),new ls.IRI(ht.RDF_TYPE_PREDICATES.RDFS_LABEL),void 0),r=await this.tripleStore.match(new ls.IRI(e),new ls.IRI(ht.RDF_TYPE_PREDICATES.RDFS_COMMENT),void 0),i=t.length>0?this.getObjectValue(t[0].object)??(0,ht.extractLocalName)(e):(0,ht.extractLocalName)(e),s=r.length>0?this.getObjectValue(r[0].object):void 0,a="rdfs:Class",c=await this.tripleStore.match(new ls.IRI(e),new ls.IRI(ht.RDF_TYPE_PREDICATES.RDF_TYPE),void 0);for(let f of c)if(this.getObjectValue(f.object)===ht.RDF_TYPE_PREDICATES.OWL_CLASS){a="owl:Class";break}let l=ht.BUILT_IN_NODE_STYLES[e]??ht.BUILT_IN_NODE_STYLES[(0,ht.extractLocalName)(e)],u={uri:e,label:i,description:s,source:a,style:(0,ht.mergeNodeStyles)(ht.DEFAULT_NODE_STYLE,l??{}),priority:1};this.registerNodeType(u)}normalizeTypeUri(e){let t=e.match(/^\[\[(.+?)\]\]$/);return t?t[1]:e}getSubjectValue(e){if(e instanceof ls.IRI)return e.value;if(e instanceof zA.BlankNode)return`_:${e.id}`;if(typeof e=="object"&&e!==null&&"termType"in e)return e.toString()}getObjectValue(e){if(e instanceof p7.Literal||e instanceof ls.IRI)return e.value;if(e instanceof zA.BlankNode)return`_:${e.id}`}getRootTypes(){let e=new Set;for(let r of this.typeHierarchy.values())for(let i of r)e.add(i);let t=[];for(let r of this.nodeTypes.keys()){let i=this.typeHierarchy.get(r);(!i||i.length===0)&&e.has(r)&&t.push(r)}return t}emit(e){for(let t of this.subscribers)try{t(e)}catch(r){m7.LoggingService.error("TypeRegistry: error in subscriber callback",r instanceof Error?r:new Error(String(r)))}}};Zs.TypeRegistry=nb;Zs.TypeRegistry=nb=f7([(0,h7.injectable)(),d7("design:paramtypes",[Object,Object])],nb)});var ib=S($=>{"use strict";Object.defineProperty($,"__esModule",{value:!0});$.SPARQL_TEMPLATES=$.KNOWN_CLASSES=$.KNOWN_PROTOTYPES=$.EFFORT_STATUSES=$.ASSET_CLASSES=$.PREDICATES=$.SPARQL_PREFIXES=void 0;$.findClassByTerm=g7;$.getTemplateByName=y7;$.findMatchingTemplates=_7;$.fillTemplate=S7;$.validateParameters=b7;$.SPARQL_PREFIXES=`PREFIX exo: <https://exocortex.my/ontology/exo#>
|
|
217
|
+
---`)}};Ai.AssetConversionService=WS;Ai.AssetConversionService=WS=P6([(0,D3.injectable)(),D6(0,(0,D3.inject)(L6.DI_TOKENS.IVaultAdapter)),F6("design:paramtypes",[Object])],WS)});var QS=S(xi=>{"use strict";var k6=xi&&xi.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},M6=xi&&xi.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},L3=xi&&xi.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(xi,"__esModule",{value:!0});xi.SessionEventService=void 0;var zS=le(),j6=Sn(),k3=Pn(),$6=qr(),B6=as(),M3=wt(),HS=class{static{o(this,"SessionEventService")}constructor(e,t){this.vault=e,this.vaultSettings=t,this.folderPathCache=null}async createSessionStartEvent(e){return this.createSessionEvent(e,k3.AssetClass.SESSION_START_EVENT)}async createSessionEndEvent(e){return this.createSessionEvent(e,k3.AssetClass.SESSION_END_EVENT)}getSessionEventFolder(){if(this.folderPathCache!==null)return this.folderPathCache;let e=this.vault.getDefaultNewFileParent();return this.folderPathCache=e?.path||"",this.folderPathCache}async createSessionEvent(e,t){let r=(0,j6.v4)(),i=$6.DateFormatter.toLocalTimestamp(new Date),s={exo__Asset_uid:r,exo__Asset_createdAt:i,exo__Asset_isDefinedBy:this.vaultSettings.getOwnerIdentity(),exo__Instance_class:[`"[[${t}]]"`],ems__SessionEvent_timestamp:i,ems__Session_area:`"[[${e}]]"`},a=B6.MetadataHelpers.buildFileContent(s),c=this.getSessionEventFolder();c&&!await this.vault.exists(c)&&await this.vault.createFolder(c);let l=c?`${c}/${r}.md`:`${r}.md`;return await this.vault.create(l,a)}};xi.SessionEventService=HS;xi.SessionEventService=HS=k6([(0,zS.injectable)(),L3(0,(0,zS.inject)(M3.DI_TOKENS.IVaultAdapter)),L3(1,(0,zS.inject)(M3.DI_TOKENS.IVaultSettings)),M6("design:paramtypes",[Object,Object])],HS)});var XS=S(Ci=>{"use strict";var V6=Ci&&Ci.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},U6=Ci&&Ci.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},j3=Ci&&Ci.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(Ci,"__esModule",{value:!0});Ci.URIConstructionService=void 0;var YS=le(),$3=wt(),q6=bc(),KS=class{static{o(this,"URIConstructionService")}constructor(e,t=q6.NullLogger){this.fileSystem=e,this.logger=t,this.defaultOntologyURL="https://exocortex.my/default/",this.strictValidation=!0}configure(e){e?.defaultOntologyURL&&(this.defaultOntologyURL=e.defaultOntologyURL),e?.strictValidation!==void 0&&(this.strictValidation=e.strictValidation)}async constructAssetURI(e){let t=this.extractUID(e);if(!t){if(this.strictValidation)throw new Error(`Asset missing exo__Asset_uid: ${e.path}`);return this.logger.warn(`Asset ${e.path} missing UID, using filename fallback`),this.constructFallbackURI(e)}let r=await this.resolveOntologyURL(e);if(!this.validateOntologyURL(r))throw new Error(`Invalid ontology URL: ${r}`);return`${r.endsWith("/")?r:`${r}/`}${t}`}validateOntologyURL(e){if(!e)return!1;try{let t=new URL(e);return t.protocol==="http:"||t.protocol==="https:"}catch{return!1}}async resolveOntologyURL(e){let t=e.frontmatter?.exo__Asset_isDefinedBy;if(!t||typeof t!="string")return this.defaultOntologyURL;let r=this.extractWikiLink(t),i=r,s=await this.fileSystem.fileExists(r);return!s&&!r.endsWith(".md")&&(i=`${r}.md`,s=await this.fileSystem.fileExists(i)),s?(await this.fileSystem.getFileMetadata(i))?.exo__Ontology_url||this.defaultOntologyURL:(this.logger.warn(`Ontology file not found: ${r}, using default`),this.defaultOntologyURL)}extractUID(e){let t=e.frontmatter?.exo__Asset_uid;return typeof t=="string"?t:null}extractWikiLink(e){return e.replace(/^\[\[|\]\]$/g,"")}constructFallbackURI(e){let t=e.path.split("/").pop()?.replace(".md","")||"unknown";return`${this.defaultOntologyURL}${t}`}};Ci.URIConstructionService=KS;Ci.URIConstructionService=KS=V6([(0,YS.injectable)(),j3(0,(0,YS.inject)($3.DI_TOKENS.IFileSystemAdapter)),j3(1,(0,YS.inject)($3.DI_TOKENS.ILogger)),U6("design:paramtypes",[Object,Object])],KS)});var ZS=S(Ii=>{"use strict";var W6=Ii&&Ii.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},G6=Ii&&Ii.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},z6=Ii&&Ii.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(Ii,"__esModule",{value:!0});Ii.GenericAssetCreationService=void 0;var B3=le(),H6=Sn(),Ju=qr(),Q6=as(),Y6=wt(),os=fh(),JS=class{static{o(this,"GenericAssetCreationService")}constructor(e){this.vault=e}async createAsset(e,t){let r=(0,H6.v4)(),i=`${r}.md`,s=this.generateFrontmatter(e,t||[],r),a=Q6.MetadataHelpers.buildFileContent(s),c=e.folderPath||this.getDefaultFolderPath(e);this.vault.getAbstractFileByPath(c)||await this.vault.createFolder(c);let u=c?`${c}/${i}`:i;return await this.vault.create(u,a)}generateFrontmatter(e,t,r){let i=new Date,s={},a=new Map;for(let c of t)a.set(c.name,c.fieldType);if(s.exo__Asset_uid=r,s.exo__Asset_createdAt=Ju.DateFormatter.toLocalTimestamp(i),s.exo__Instance_class=[this.formatWikilink(e.className)],e.label&&e.label.trim()!==""){let c=e.label.trim();s.exo__Asset_label=c,s.aliases=[c]}if(e.parentFile&&e.parentMetadata&&this.inheritParentContext(s,e),e.propertyValues)for(let[c,l]of Object.entries(e.propertyValues)){if(c==="exo__Asset_uid"||c==="exo__Asset_createdAt"||c==="exo__Instance_class"||c==="exo__Asset_label"||c==="aliases"||l==null)continue;let u=a.get(c);s[c]=this.formatValue(l,u)}return s}inheritParentContext(e,t){let r=t.parentMetadata||{},i=t.parentFile?.basename;if(t.className==="ems__Task"||t.className.startsWith("ems__Task")){let s=r.exo__Instance_class,c=this.isAreaClass(s)?"ems__Effort_area":"ems__Effort_parent";e[c]=i?this.formatWikilink(i):null}if(t.className==="ems__Project"||t.className.startsWith("ems__Project")){let s=r.exo__Instance_class,c=this.isAreaClass(s)?"ems__Effort_area":"ems__Effort_parent";e[c]=i?this.formatWikilink(i):null}if(r.exo__Asset_isDefinedBy){let s=r.exo__Asset_isDefinedBy;e.exo__Asset_isDefinedBy=typeof s=="string"?this.formatWikilink(s):s}}isAreaClass(e){return e?(Array.isArray(e)?e:[e]).some(r=>String(r).includes("Area")||String(r).includes("ems__Area")):!1}getDefaultFolderPath(e){if(e.parentFile?.parent?.path)return e.parentFile.parent.path;let t={ems__Task:"tasks",ems__Project:"projects",ems__Area:"areas",ems__Meeting:"meetings",exo__Event:"events",ims__Concept:"concepts"};if(t[e.className])return t[e.className];for(let[r,i]of Object.entries(t))if(e.className.startsWith(r))return i;return"assets"}formatValue(e,t){if(e==null)return null;if(!t)return this.formatInferredValue(e);switch(t){case os.PropertyFieldType.Text:return String(e);case os.PropertyFieldType.Wikilink:case os.PropertyFieldType.Reference:case os.PropertyFieldType.StatusSelect:case os.PropertyFieldType.SizeSelect:return this.formatWikilink(String(e));case os.PropertyFieldType.Number:return typeof e=="number"?e:Number(e)||0;case os.PropertyFieldType.Boolean:return this.formatBoolean(e);case os.PropertyFieldType.Date:case os.PropertyFieldType.DateTime:case os.PropertyFieldType.Timestamp:return this.formatTimestamp(e);default:return String(e)}}formatInferredValue(e){return typeof e=="boolean"||typeof e=="number"?e:e instanceof Date?Ju.DateFormatter.toLocalTimestamp(e):typeof e=="string"?e.startsWith("[[")||e.startsWith('"[[')?this.formatWikilink(e):e:String(e)}formatWikilink(e){return e.startsWith('"[[')&&e.endsWith(']]"')?e:e.startsWith("[[")&&e.endsWith("]]")?`"${e}"`:`"[[${e}]]"`}formatBoolean(e){if(typeof e=="boolean")return e;if(typeof e=="string"){let t=e.toLowerCase().trim();return t==="true"||t==="yes"||t==="1"}return typeof e=="number"?e!==0:!!e}formatTimestamp(e){if(e instanceof Date)return Ju.DateFormatter.toLocalTimestamp(e);if(typeof e=="string"){if(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$/.test(e))return e;if(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$/.test(e))return e.replace("Z","");let t=new Date(e);return isNaN(t.getTime())?e:Ju.DateFormatter.toLocalTimestamp(t)}if(typeof e=="number"){let t=new Date(e);if(!isNaN(t.getTime()))return Ju.DateFormatter.toLocalTimestamp(t)}return String(e)}};Ii.GenericAssetCreationService=JS;Ii.GenericAssetCreationService=JS=W6([(0,B3.injectable)(),z6(0,(0,B3.inject)(Y6.DI_TOKENS.IVaultAdapter)),G6("design:paramtypes",[Object])],JS)});var U3=S(Ri=>{"use strict";var K6=Ri&&Ri.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},X6=Ri&&Ri.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},J6=Ri&&Ri.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(Ri,"__esModule",{value:!0});Ri.ArchiveAssetService=void 0;var V3=le(),Z6=wt(),e7=Gn(),eb=class{static{o(this,"ArchiveAssetService")}constructor(e){this.vault=e,this.frontmatterService=new e7.FrontmatterService}async archiveAsset(e){let t=await this.vault.read(e),r=this.frontmatterService.updateProperty(t,"archived","true");r=this.frontmatterService.removeProperty(r,"aliases"),r!==t&&await this.vault.modify(e,r)}};Ri.ArchiveAssetService=eb;Ri.ArchiveAssetService=eb=K6([(0,V3.injectable)(),J6(0,(0,V3.inject)(Z6.DI_TOKENS.IVaultAdapter)),X6("design:paramtypes",[Object])],eb)});var W3=S(Oi=>{"use strict";var t7=Oi&&Oi.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},r7=Oi&&Oi.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},n7=Oi&&Oi.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(Oi,"__esModule",{value:!0});Oi.FixMissingLabelService=void 0;var q3=le(),i7=wt(),s7=Gn(),tb=class{static{o(this,"FixMissingLabelService")}constructor(e){this.vault=e,this.frontmatterService=new s7.FrontmatterService}async fixMissingLabel(e){let t=await this.vault.read(e);if(this.hasNonEmptyLabel(t))return;let r=this.frontmatterService.updateProperty(t,"exo__Asset_label",e.basename);r!==t&&await this.vault.modify(e,r)}hasNonEmptyLabel(e){let t=this.frontmatterService.parse(e);if(!t.exists)return!1;let r=t.content.match(/^exo__Asset_label:\s*(.*)$/m);if(!r)return!1;let i=r[1].trim();return!(i===""||i==='""'||i==="''")}};Oi.FixMissingLabelService=tb;Oi.FixMissingLabelService=tb=t7([(0,q3.injectable)(),n7(0,(0,q3.inject)(i7.DI_TOKENS.IVaultAdapter)),r7("design:paramtypes",[Object])],tb)});var G3=S(Js=>{"use strict";var a7=Js&&Js.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},o7=Js&&Js.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)};Object.defineProperty(Js,"__esModule",{value:!0});Js.GraphQueryService=void 0;var c7=le(),Zu=xe(),l7=Ve(),Ra=Ir(),u7=Hy(),cs={INSTANCE_CLASS:Ra.Namespace.EXO.term("Instance_class"),ASSET_LABEL:Ra.Namespace.EXO.term("Asset_label"),ASSET_PROTOTYPE:Ra.Namespace.EXO.term("Asset_prototype"),ASSET_IS_ARCHIVED:Ra.Namespace.EXO.term("Asset_isArchived"),EFFORT_PARENT:Ra.Namespace.EMS.term("Effort_parent"),REFERENCES:Ra.Namespace.EXO.term("references"),REFERENCED_BY:Ra.Namespace.EXO.term("referencedBy"),RDF_TYPE:Ra.Namespace.RDF.term("type")},rb=class{static{o(this,"GraphQueryService")}constructor(e,t={},r){this.subscribers=new Set,this.nodeCache=new Map,this.lastCacheUpdate=0,this.tripleStore=e,this.logger=r,this.config={defaultLimit:t.defaultLimit??100,maxLimit:t.maxLimit??1e4,defaultDepth:t.defaultDepth??2,maxDepth:t.maxDepth??10,includeArchivedByDefault:t.includeArchivedByDefault??!1,cacheTTL:t.cacheTTL??3e4}}async loadGraphData(e={}){let t=Date.now(),r=await this.loadNodes(e),i=await this.loadEdges(r,e),s=this.computeStats(r,i),a=Date.now()-t;return a>100&&r.length>0&&this.logger?.debug(`GraphQueryService: loaded ${r.length} nodes in ${a}ms (${(a/r.length).toFixed(2)}ms/node)`),{nodes:r,edges:i,stats:s,lastUpdated:Date.now(),version:1}}async loadNodesIncremental(e={}){let t=Math.min(e.limit??this.config.defaultLimit,this.config.maxLimit),r=e.offset??0,i=await this.loadNodes({...e,limit:t+1,offset:r}),s=i.length>t,a=s?i.slice(0,t):i,c=await this.loadEdges(a,e);return{nodes:a,edges:c,hasMore:s,totalCount:void 0,cursor:s?String(r+t):void 0}}async loadConnectedNodes(e,t={}){let r=Math.min(t.depth??this.config.defaultDepth,this.config.maxDepth),i=Math.min(t.limit??this.config.maxLimit,this.config.maxLimit),s=new Set,a=[{id:e,currentDepth:0}],c=[];for(;a.length>0&&c.length<i;){let u=a.shift();if(!u)break;let{id:f,currentDepth:d}=u;if(s.has(f))continue;s.add(f);let h=await this.getNodeById(f,t);if(h&&(c.push(h),d<r)){let p=await this.getConnectedNodeIds(f);for(let _ of p)s.has(_)||a.push({id:_,currentDepth:d+1})}}let l=await this.loadEdges(c,t);return{nodes:c,edges:l,hasMore:a.length>0,totalCount:s.size+a.length}}async getNodeById(e,t={}){let r=this.getCachedNode(e);if(r)return{...r};let i=this.idToIRI(e),s=await this.tripleStore.match(i,void 0,void 0);if(s.length===0)return null;let a=this.triplesToNode(e,s,t);return a&&this.cacheNode(a),a}subscribe(e){return this.subscribers.add(e),{unsubscribe:o(()=>{this.subscribers.delete(e)},"unsubscribe")}}notifyChange(e){for(let t of this.subscribers)try{t(e)}catch(r){this.logger?.error("GraphQueryService: error in subscriber callback",r instanceof Error?r:new Error(String(r)))}this.invalidateCache()}async getStats(){let e=await this.loadNodes({includeArchived:!0}),t=await this.loadEdges(e,{});return this.computeStats(e,t)}clearCache(){this.nodeCache.clear(),this.lastCacheUpdate=0}async loadNodes(e){let t=e.includeArchived??this.config.includeArchivedByDefault,r=e.limit??this.config.maxLimit,i=e.offset??0,s=await this.tripleStore.match(void 0,cs.INSTANCE_CLASS,void 0),a=s;if(e.classes&&e.classes.length>0){let p=new Set(e.classes);a=s.filter(_=>{let b=this.getObjectValue(_.object);return b&&p.has(b)})}let c=new Set;for(let p of a)c.add(this.subjectToId(p.subject));let f=Array.from(c).slice(i,i+r).map(p=>this.getNodeById(p,e));return(await Promise.all(f)).filter(p=>!(!p||!t&&p.isArchived))}async loadEdges(e,t){let r=new Set(e.map(a=>a.id)),i=[],s=new Set;for(let a of e){let c=this.idToIRI(a.id),l=await this.tripleStore.match(c,void 0,void 0);for(let u of l){let f=this.tripleToEdge(a.id,u,r);f&&f.id&&!s.has(f.id)&&(!t.edgeTypes||t.edgeTypes.includes(f.type))&&(s.add(f.id),i.push(f))}}return i}async getConnectedNodeIds(e){let t=this.idToIRI(e),r=[],i=await this.tripleStore.match(t,void 0,void 0);for(let a of i){let c=this.objectToId(a.object);c&&r.push(c)}let s=await this.tripleStore.match(void 0,void 0,t);for(let a of s)r.push(this.subjectToId(a.subject));return[...new Set(r)]}triplesToNode(e,t,r){let i={},s,a,c,l,u=!1;for(let h of t){let p=h.predicate.value,_=this.getObjectValue(h.object);if(p===cs.INSTANCE_CLASS.value)s=_;else if(p===cs.ASSET_LABEL.value)a=_;else if(p===cs.ASSET_PROTOTYPE.value)c=this.objectToId(h.object)??_;else if(p===cs.EFFORT_PARENT.value)l=this.objectToId(h.object)??_;else if(p===cs.ASSET_IS_ARCHIVED.value)u=_==="true"||_==="1";else{let b=this.predicateToPropertyName(p);b&&(i[b]=_)}}if(u&&!(r.includeArchived??this.config.includeArchivedByDefault))return null;let f=this.idToPath(e),d=a??this.pathToTitle(f);return{id:e,path:f,title:d,label:d,assetClass:s,isArchived:u,uri:e.startsWith("http")?e:void 0,prototype:c,parent:l,properties:Object.keys(i).length>0?i:void 0}}tripleToEdge(e,t,r){let i=t.predicate.value,s=this.objectToId(t.object);if(!s||!r.has(s)||s===e)return null;let a=this.predicateToEdgeType(i);if(!a)return null;let c=(0,u7.createEdgeId)(e,s,a,i),l=this.predicateToLabel(i);return{id:c,source:e,target:s,type:a,predicate:i,label:l}}predicateToEdgeType(e){return e===cs.EFFORT_PARENT.value?"hierarchy":e===cs.ASSET_PROTOTYPE.value?"prototype":e===cs.REFERENCES.value?"forward-link":e===cs.REFERENCED_BY.value?"backlink":e.includes("Asset_")||e.includes("Instance_")?null:"semantic"}predicateToLabel(e){let t=e.lastIndexOf("#"),r=e.lastIndexOf("/"),i=Math.max(t,r);return i>=0?e.substring(i+1):e}predicateToPropertyName(e){return this.predicateToLabel(e).replace(/_/g,"__").replace(/#/g,"_")}computeStats(e,t){let r={},i={backlink:0,"forward-link":0,hierarchy:0,prototype:0,semantic:0,reference:0};for(let c of e){let l=c.assetClass??"unknown";r[l]=(r[l]??0)+1}for(let c of t)i[c.type]=(i[c.type]??0)+1;let s=new Map,a=new Map;for(let c of t)a.set(c.source,(a.get(c.source)??0)+1),s.set(c.target,(s.get(c.target)??0)+1);for(let c of e)c.inDegree=s.get(c.id)??0,c.outDegree=a.get(c.id)??0,c.weight=c.inDegree+c.outDegree;return{nodeCount:e.length,edgeCount:t.length,nodesByClass:r,edgesByType:i,computedAt:Date.now()}}idToIRI(e){return e.startsWith("http://")||e.startsWith("https://")?new Zu.IRI(e):new Zu.IRI(`obsidian://vault/${encodeURIComponent(e)}`)}subjectToId(e){if(e instanceof Zu.IRI){let t=e.value;return t.startsWith("obsidian://vault/")?decodeURIComponent(t.replace("obsidian://vault/","")):t}return e.toString()}objectToId(e){if(e instanceof Zu.IRI){let t=e.value;return t.startsWith("obsidian://vault/")?decodeURIComponent(t.replace("obsidian://vault/","")):t}return null}getObjectValue(e){if(e instanceof l7.Literal||e instanceof Zu.IRI)return e.value}idToPath(e){if(e.startsWith("obsidian://vault/"))return decodeURIComponent(e.replace("obsidian://vault/",""));if(e.startsWith("http://")||e.startsWith("https://")){let t=e.match(/\/([^/]+\.md)$/);if(t)return t[1]}return e}pathToTitle(e){return(e.split("/").pop()??e).replace(/\.md$/,"")}getCachedNode(e){return Date.now()-this.lastCacheUpdate>this.config.cacheTTL?(this.clearCache(),null):this.nodeCache.get(e)??null}cacheNode(e){this.nodeCache.set(e.id,e),this.lastCacheUpdate===0&&(this.lastCacheUpdate=Date.now())}invalidateCache(){this.clearCache()}};Js.GraphQueryService=rb;Js.GraphQueryService=rb=a7([(0,c7.injectable)(),o7("design:paramtypes",[Object,Object,Object])],rb)});var H3=S(Zs=>{"use strict";var f7=Zs&&Zs.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},d7=Zs&&Zs.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)};Object.defineProperty(Zs,"__esModule",{value:!0});Zs.TypeRegistry=void 0;var h7=le(),ls=xe(),z3=qt(),p7=Ve(),m7=xa(),ht=Qy(),nb=class{static{o(this,"TypeRegistry")}constructor(e=null,t={}){this.nodeTypes=new Map,this.edgeTypes=new Map,this.typeHierarchy=new Map,this.subscribers=new Set,this.discoveryComplete=!1,this.tripleStore=e,this.config={autoDiscoverTypes:t.autoDiscoverTypes??!0,includeBuiltInStyles:t.includeBuiltInStyles??!0,styleResolution:t.styleResolution??{mergeStyles:!0,inheritParentStyles:!0,defaultNodeStyle:ht.DEFAULT_NODE_STYLE,defaultEdgeStyle:ht.DEFAULT_EDGE_STYLE},maxInheritanceDepth:t.maxInheritanceDepth??10},this.config.includeBuiltInStyles&&this.registerBuiltInTypes()}registerNodeType(e){let r=this.nodeTypes.get(e.uri)?"type-updated":"type-added";this.nodeTypes.set(e.uri,e),e.parentTypes&&e.parentTypes.length>0&&this.typeHierarchy.set(e.uri,e.parentTypes),this.emit({type:r,typeUri:e.uri,definition:e})}registerEdgeType(e){let r=this.edgeTypes.get(e.uri)?"type-updated":"type-added";this.edgeTypes.set(e.uri,e),this.emit({type:r,typeUri:e.uri,definition:e})}unregisterType(e){let t=this.nodeTypes.delete(e),r=this.edgeTypes.delete(e);this.typeHierarchy.delete(e),(t||r)&&this.emit({type:"type-removed",typeUri:e})}getNodeType(e){return this.nodeTypes.get(e)}getEdgeType(e){return this.edgeTypes.get(e)}getAllNodeTypes(){return Array.from(this.nodeTypes.values())}getAllEdgeTypes(){return Array.from(this.edgeTypes.values())}getParentTypes(e,t=this.config.maxInheritanceDepth){let r=[],i=new Set,s=[{uri:e,currentDepth:0}];for(;s.length>0;){let a=s.shift();if(!a)break;let{uri:c,currentDepth:l}=a;if(i.has(c)||(i.add(c),l>=t))continue;let u=this.typeHierarchy.get(c)??[];for(let f of u)i.has(f)||(r.push(f),s.push({uri:f,currentDepth:l+1}))}return r}getChildTypes(e){let t=[];for(let[r,i]of this.typeHierarchy)i.includes(e)&&t.push(r);return t}isSubtypeOf(e,t){return e===t?!0:this.getParentTypes(e).includes(t)}resolveNodeType(e){let t=[],r="unknown",i="custom";if(e.assetClass){let c=this.normalizeTypeUri(e.assetClass);t.push(c),r=c,i="exo:Instance_class"}let s=e.properties?.[ht.RDF_TYPE_PREDICATES.RDF_TYPE];s&&!t.includes(s)&&(t.push(s),r==="unknown"&&(r=s,i="rdf:type"));for(let c of[...t]){let l=this.getParentTypes(c);for(let u of l)t.includes(u)||t.push(u)}let a=this.resolveNodeStyle(t);return{primaryType:r,types:t,resolvedStyle:a,source:i}}resolveEdgeType(e){let t=e.predicate??e.type,r=e.predicate?"rdf:type":"custom",i=this.resolveEdgeStyle(t);return{primaryType:t,resolvedStyle:i,source:r}}resolveNodeStyle(e){let{mergeStyles:t,defaultNodeStyle:r}=this.config.styleResolution,i={...r},s=[];for(let a of e){let c=this.nodeTypes.get(a);c&&s.push(c)}if(s.sort((a,c)=>a.priority-c.priority),t)for(let a of s)i=(0,ht.mergeNodeStyles)(i,a.style);else if(s.length>0){let a=s[s.length-1];i=(0,ht.mergeNodeStyles)(i,a.style)}return i}resolveEdgeStyle(e){let{defaultEdgeStyle:t}=this.config.styleResolution,r={...t},i=this.edgeTypes.get(e);return i&&(r=(0,ht.mergeEdgeStyles)(r,i.style)),r}filterNodes(e,t){return e.filter(r=>{let i=this.resolveNodeType(r);return!(t.includeNodeTypes&&t.includeNodeTypes.length>0&&!t.includeNodeTypes.some(a=>i.types.includes(a)||t.includeInferred&&this.isSubtypeOf(i.primaryType,a))||t.excludeNodeTypes&&t.excludeNodeTypes.length>0&&t.excludeNodeTypes.some(a=>i.types.includes(a)||t.includeInferred&&this.isSubtypeOf(i.primaryType,a))||!t.includeDeprecated&&this.nodeTypes.get(i.primaryType)?.deprecated)})}filterEdges(e,t){return e.filter(r=>{let i=r.predicate??r.type;return!(t.includeEdgeTypes&&t.includeEdgeTypes.length>0&&!t.includeEdgeTypes.includes(i)||t.excludeEdgeTypes&&t.excludeEdgeTypes.length>0&&t.excludeEdgeTypes.includes(i))})}groupNodesByType(e,t,r={}){let{groupByNodeType:i=!0,groupByParentType:s=!1,groupLevel:a=0,maxGroups:c=20,customGroupFn:l}=r,u=new Map;for(let h of e){let p=this.resolveNodeType(h),_;if(l?_=l(p.types):s&&p.types.length>a?_=p.types[a]??p.primaryType:i?_=p.primaryType:_="all",!u.has(_)){let v=this.nodeTypes.get(_)?.label??(0,ht.extractLocalName)(_);u.set(_,{nodeIds:new Set,label:v})}let b=u.get(_);b&&b.nodeIds.add(h.id)}let f=Array.from(u.entries()).map(([h,p])=>({id:h,label:p.label,nodeIds:Array.from(p.nodeIds)}));if(f.length>c){f.sort((_,b)=>b.nodeIds.length-_.nodeIds.length);let h=f.slice(0,c-1),p=f.slice(c-1).flatMap(_=>_.nodeIds);h.push({id:"other",label:"Other",nodeIds:p}),f=h}let d=new Map;for(let h of f)for(let p of h.nodeIds)d.set(p,h.id);return f.map((h,p)=>{let _=new Set(h.nodeIds),b=[],E=[];for(let R of t){let B=_.has(R.source),W=_.has(R.target);B&&W?R.id&&b.push(R.id):(B||W)&&R.id&&E.push(R.id)}let A=`hsl(${p*137.5%360}, 70%, 50%)`;return{id:h.id,label:h.label,nodeIds:h.nodeIds,internalEdgeIds:b,externalEdgeIds:E,color:A,stats:{nodeCount:h.nodeIds.length,internalEdgeCount:b.length,externalEdgeCount:E.length}}})}validateTypes(e,t){let r=[],i=[];for(let s of e){let a=this.resolveNodeType(s);if(a.primaryType!=="unknown"){let c=this.nodeTypes.get(a.primaryType);!c&&a.source!=="inferred"&&i.push({code:"UNREGISTERED_NODE_TYPE",message:`Node type "${a.primaryType}" is not registered`,elementId:s.id,suggestion:"Register the type with registerNodeType()"}),c?.deprecated&&i.push({code:"DEPRECATED_NODE_TYPE",message:`Node uses deprecated type "${a.primaryType}"`,elementId:s.id,suggestion:"Migrate to a non-deprecated type"})}else i.push({code:"MISSING_NODE_TYPE",message:"Node has no type information",elementId:s.id,suggestion:"Add exo:Instance_class or rdf:type to the node"})}for(let s of t){let a=s.predicate??s.type,c=this.edgeTypes.get(a);if(c?.domain&&c.domain.length>0){let l=e.find(u=>u.id===s.source);if(l){let u=this.resolveNodeType(l);c.domain.some(d=>u.types.includes(d))||r.push({code:"DOMAIN_VIOLATION",message:"Edge source does not match expected domain",elementId:s.id,expected:c.domain,actual:u.types})}}if(c?.range&&c.range.length>0){let l=e.find(u=>u.id===s.target);if(l){let u=this.resolveNodeType(l);c.range.some(d=>u.types.includes(d))||r.push({code:"RANGE_VIOLATION",message:"Edge target does not match expected range",elementId:s.id,expected:c.range,actual:u.types})}}}return{valid:r.length===0,errors:r,warnings:i}}async discoverTypes(){if(!this.tripleStore||this.discoveryComplete)return;let e=await this.tripleStore.match(void 0,new ls.IRI(ht.RDF_TYPE_PREDICATES.RDF_TYPE),void 0);for(let r of e){let i=this.getObjectValue(r.object);if(i&&(0,ht.isClassType)(i)){let s=this.getSubjectValue(r.subject);s&&await this.discoverNodeType(s)}}let t=await this.tripleStore.match(void 0,new ls.IRI(ht.RDF_TYPE_PREDICATES.RDFS_SUBCLASS_OF),void 0);for(let r of t){let i=this.getSubjectValue(r.subject),s=this.getObjectValue(r.object);if(i&&s){let a=this.typeHierarchy.get(i)??[];if(!a.includes(s)){a.push(s),this.typeHierarchy.set(i,a);let c=this.nodeTypes.get(i);c&&(c.parentTypes=a)}}}this.discoveryComplete=!0,this.emit({type:"hierarchy-updated",rootTypes:this.getRootTypes()})}subscribe(e){return this.subscribers.add(e),()=>this.subscribers.delete(e)}clear(){this.nodeTypes.clear(),this.edgeTypes.clear(),this.typeHierarchy.clear(),this.discoveryComplete=!1,this.config.includeBuiltInStyles&&this.registerBuiltInTypes()}registerBuiltInTypes(){for(let[e,t]of Object.entries(ht.BUILT_IN_NODE_STYLES))this.nodeTypes.set(e,{uri:e,label:(0,ht.extractLocalName)(e),source:"custom",style:(0,ht.mergeNodeStyles)(ht.DEFAULT_NODE_STYLE,t),priority:1});for(let[e,t]of Object.entries(ht.BUILT_IN_EDGE_STYLES))this.edgeTypes.set(e,{uri:e,label:(0,ht.extractLocalName)(e),source:"custom",style:(0,ht.mergeEdgeStyles)(ht.DEFAULT_EDGE_STYLE,t),priority:1})}async discoverNodeType(e){if(this.nodeTypes.has(e)||!this.tripleStore)return;let t=await this.tripleStore.match(new ls.IRI(e),new ls.IRI(ht.RDF_TYPE_PREDICATES.RDFS_LABEL),void 0),r=await this.tripleStore.match(new ls.IRI(e),new ls.IRI(ht.RDF_TYPE_PREDICATES.RDFS_COMMENT),void 0),i=t.length>0?this.getObjectValue(t[0].object)??(0,ht.extractLocalName)(e):(0,ht.extractLocalName)(e),s=r.length>0?this.getObjectValue(r[0].object):void 0,a="rdfs:Class",c=await this.tripleStore.match(new ls.IRI(e),new ls.IRI(ht.RDF_TYPE_PREDICATES.RDF_TYPE),void 0);for(let f of c)if(this.getObjectValue(f.object)===ht.RDF_TYPE_PREDICATES.OWL_CLASS){a="owl:Class";break}let l=ht.BUILT_IN_NODE_STYLES[e]??ht.BUILT_IN_NODE_STYLES[(0,ht.extractLocalName)(e)],u={uri:e,label:i,description:s,source:a,style:(0,ht.mergeNodeStyles)(ht.DEFAULT_NODE_STYLE,l??{}),priority:1};this.registerNodeType(u)}normalizeTypeUri(e){let t=e.match(/^\[\[(.+?)\]\]$/);return t?t[1]:e}getSubjectValue(e){if(e instanceof ls.IRI)return e.value;if(e instanceof z3.BlankNode)return`_:${e.id}`;if(typeof e=="object"&&e!==null&&"termType"in e)return e.toString()}getObjectValue(e){if(e instanceof p7.Literal||e instanceof ls.IRI)return e.value;if(e instanceof z3.BlankNode)return`_:${e.id}`}getRootTypes(){let e=new Set;for(let r of this.typeHierarchy.values())for(let i of r)e.add(i);let t=[];for(let r of this.nodeTypes.keys()){let i=this.typeHierarchy.get(r);(!i||i.length===0)&&e.has(r)&&t.push(r)}return t}emit(e){for(let t of this.subscribers)try{t(e)}catch(r){m7.LoggingService.error("TypeRegistry: error in subscriber callback",r instanceof Error?r:new Error(String(r)))}}};Zs.TypeRegistry=nb;Zs.TypeRegistry=nb=f7([(0,h7.injectable)(),d7("design:paramtypes",[Object,Object])],nb)});var ib=S($=>{"use strict";Object.defineProperty($,"__esModule",{value:!0});$.SPARQL_TEMPLATES=$.KNOWN_CLASSES=$.KNOWN_PROTOTYPES=$.EFFORT_STATUSES=$.ASSET_CLASSES=$.PREDICATES=$.SPARQL_PREFIXES=void 0;$.findClassByTerm=g7;$.getTemplateByName=y7;$.findMatchingTemplates=_7;$.fillTemplate=S7;$.validateParameters=b7;$.SPARQL_PREFIXES=`PREFIX exo: <https://exocortex.my/ontology/exo#>
|
|
218
218
|
PREFIX ems: <https://exocortex.my/ontology/ems#>
|
|
219
219
|
PREFIX ims: <https://exocortex.my/ontology/ims#>
|
|
220
220
|
PREFIX gtd: <https://exocortex.my/ontology/gtd#>
|
|
@@ -358,7 +358,7 @@ WHERE {
|
|
|
358
358
|
?person ${$.PREDICATES.INSTANCE_CLASS} "[[${$.ASSET_CLASSES.PERSON}]]" .
|
|
359
359
|
?person ${$.PREDICATES.ASSET_LABEL} ?label .
|
|
360
360
|
}
|
|
361
|
-
ORDER BY ?label`,parameters:[],examples:["\u0432\u0441\u0435 \u043B\u044E\u0434\u0438","\u043A\u043E\u043D\u0442\u0430\u043A\u0442\u044B","persons"],keywords:["\u043B\u044E\u0434\u0438","\u043A\u043E\u043D\u0442\u0430\u043A\u0442\u044B","\u043F\u0435\u0440\u0441\u043E\u043D","\u043F\u0435\u0440\u0441\u043E\u043D\u044B","\u043F\u0435\u0440\u0441\u043E\u043D\u0430","persons","person"]}];function y7(n){return $.SPARQL_TEMPLATES.find(e=>e.name===n)}o(y7,"getTemplateByName");function _7(n,e=3){let t=n.toLowerCase(),r=new Map;for(let i of $.SPARQL_TEMPLATES){let s=0;for(let a of i.keywords)t.includes(a.toLowerCase())&&(s+=2);for(let a of i.examples){let c=a.toLowerCase().split(/\s+/),l=t.split(/\s+/),u=c.filter(f=>l.some(d=>d.includes(f)||f.includes(d)));s+=u.length*.5}s>0&&r.set(i,s)}return Array.from(r.entries()).sort((i,s)=>s[1]-i[1]).slice(0,e).map(([i])=>i)}o(_7,"findMatchingTemplates");function S7(n,e){let t=n.template;for(let r of n.parameters)!r.required&&!e[r.name]&&r.name==="limit"&&(e[r.name]="100");for(let[r,i]of Object.entries(e))t=t.replace(new RegExp(`\\{\\{${r}\\}\\}`,"g"),i);return t}o(S7,"fillTemplate");function b7(n,e){let t=[];for(let r of n.parameters)r.required&&!e[r.name]&&t.push(r.name);return{valid:t.length===0,missing:t}}o(b7,"validateParameters")});var QA=S(zn=>{"use strict";var v7=zn&&zn.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},w7=zn&&zn.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)};Object.defineProperty(zn,"__esModule",{value:!0});zn.NLToSPARQLService=zn.DEFAULT_NL_TO_SPARQL_CONFIG=void 0;var E7=le(),T7=xa(),Et=ib();zn.DEFAULT_NL_TO_SPARQL_CONFIG={defaultLimit:100,includeExplanation:!0,confidenceThreshold:.3};var sb=class{static{o(this,"NLToSPARQLService")}constructor(e={}){this.uuidPattern=/\b([0-9a-f]{8}[-]?[0-9a-f]{4}[-]?[0-9a-f]{4}[-]?[0-9a-f]{4}[-]?[0-9a-f]{12})\b/i,this.datePattern=/\b(20\d{2}[-]?\d{2}(?:[-]?\d{2})?)\b/,this.monthNames={\u044F\u043D\u0432\u0430\u0440:"01",\u0444\u0435\u0432\u0440\u0430\u043B:"02",\u043C\u0430\u0440\u0442:"03",\u0430\u043F\u0440\u0435\u043B:"04",\u043C\u0430\u0439:"05",\u0438\u044E\u043D:"06",\u0438\u044E\u043B:"07",\u0430\u0432\u0433\u0443\u0441\u0442:"08",\u0441\u0435\u043D\u0442\u044F\u0431\u0440:"09",\u043E\u043A\u0442\u044F\u0431\u0440:"10",\u043D\u043E\u044F\u0431\u0440:"11",\u0434\u0435\u043A\u0430\u0431\u0440:"12",january:"01",february:"02",march:"03",april:"04",may:"05",june:"06",july:"07",august:"08",september:"09",october:"10",november:"11",december:"12"},this.activityPatterns={\u0434\u0443\u0448:"\u0434\u0443\u0448","morning shower":"\u0434\u0443\u0448","\u0443\u0442\u0440\u0435\u043D\u043D\u0438\u0439 \u0434\u0443\u0448":"\u0434\u0443\u0448",\u0441\u043E\u043D:"\u041F\u043E\u0441\u043F\u0430\u0442\u044C",\u0441\u043F\u0430\u0442\u044C:"\u041F\u043E\u0441\u043F\u0430\u0442\u044C",\u043F\u043E\u0441\u043F\u0430\u0442\u044C:"\u041F\u043E\u0441\u043F\u0430\u0442\u044C",sleep:"\u041F\u043E\u0441\u043F\u0430\u0442\u044C",\u0439\u043E\u0433\u0430:"\u0439\u043E\u0433",yoga:"\u0439\u043E\u0433",\u043F\u0440\u0435\u0441\u0441:"\u041F\u0440\u0435\u0441\u0441","wim hof":"Wim Hof",\u043C\u043E\u0447\u0438:"\u041C\u041E\u0427\u0418"},this.prototypeMapping={\u0434\u0443\u0448:Et.KNOWN_PROTOTYPES.MORNING_SHOWER,"\u0443\u0442\u0440\u0435\u043D\u043D\u0438\u0439 \u0434\u0443\u0448":Et.KNOWN_PROTOTYPES.MORNING_SHOWER,"morning shower":Et.KNOWN_PROTOTYPES.MORNING_SHOWER,\u043D\u043E\u0433\u0442\u0438:Et.KNOWN_PROTOTYPES.CUT_NAILS,"\u043F\u043E\u0434\u0441\u0442\u0440\u0438\u0447\u044C \u043D\u043E\u0433\u0442\u0438":Et.KNOWN_PROTOTYPES.CUT_NAILS},this.config={...zn.DEFAULT_NL_TO_SPARQL_CONFIG,...e}}convert(e){let t=e.trim().toLowerCase(),r=t.match(this.uuidPattern);if(r)return this.handleUuidQuery(t,r[1]);let i=(0,Et.findClassByTerm)(t),s=(0,Et.findMatchingTemplates)(t,3),a=new Set(["active_projects","projects_without_tasks","areas","persons","find_prototype","sleep_analysis","recent_activities"]);if(s.length>0){let l=s[0];if(a.has(l.name)){let u=t.split(/\s+/);if(l.keywords.some(d=>u.includes(d.toLowerCase())))return this.buildTemplateResult(t,l,s)}}if(i)return this.handleClassQuery(t,i);if(s.length===0)return this.createFallbackQuery(t);let c=s[0];return this.buildTemplateResult(t,c,s)}buildTemplateResult(e,t,r){let i=this.extractParameters(e,t),s=(0,Et.validateParameters)(t,i);if(!s.valid){for(let f of s.missing){let d=this.inferParameter(e,f,t);d&&(i[f]=d)}let u=(0,Et.validateParameters)(t,i);if(!u.valid){let f=(0,Et.findClassByTerm)(e);return f?this.handleClassQuery(e,f):this.createFallbackQuery(e,{template:t,missingParams:u.missing})}}let a=(0,Et.fillTemplate)(t,i),c=this.calculateConfidence(e,t,i),l=r.slice(1).map(u=>{let f=this.extractParameters(e,u);return(0,Et.fillTemplate)(u,f)}).filter(u=>u!==a);return{query:a,templateName:t.name,parameters:i,confidence:c,explanation:this.generateExplanation(t,i),isFallback:!1,alternatives:l}}handleUuidQuery(e,t){if(e.includes("\u043F\u0440\u043E\u0442\u043E\u0442\u0438\u043F")||e.includes("prototype")||e.includes("\u0438\u043D\u0441\u0442\u0430\u043D\u0441")){let s=(0,Et.getTemplateByName)("find_by_prototype_uuid");if(!s)throw new Error("Template find_by_prototype_uuid not found");let a={prototypeUuid:t,limit:"100"};return{query:(0,Et.fillTemplate)(s,a),templateName:s.name,parameters:a,confidence:.9,explanation:`\u041F\u043E\u0438\u0441\u043A \u0438\u043D\u0441\u0442\u0430\u043D\u0441\u043E\u0432 \u043F\u0440\u043E\u0442\u043E\u0442\u0438\u043F\u0430 \u0441 UUID ${t}`,isFallback:!1,alternatives:[]}}let r=(0,Et.getTemplateByName)("properties_by_uuid");if(!r)throw new Error("Template properties_by_uuid not found");let i={uuid:t};return{query:(0,Et.fillTemplate)(r,i),templateName:r.name,parameters:i,confidence:.9,explanation:`\u041F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u0435 \u0441\u0432\u043E\u0439\u0441\u0442\u0432 \u0441\u0443\u0449\u043D\u043E\u0441\u0442\u0438 \u0441 UUID ${t}`,isFallback:!1,alternatives:[]}}handleClassQuery(e,t){let r=this.extractSearchTerms(e,t);if(r.length>0){let a=(0,Et.getTemplateByName)("find_by_class_and_keyword");if(!a)throw new Error("Template find_by_class_and_keyword not found");let c=r.join("|"),l={classMatch:t.match,regexPattern:c,limit:this.extractLimit(e)};return{query:(0,Et.fillTemplate)(a,l),templateName:a.name,parameters:l,confidence:.85,explanation:`\u041F\u043E\u0438\u0441\u043A ${t.label} \u043F\u043E \u043F\u0430\u0442\u0442\u0435\u0440\u043D\u0443 "${c}"`,isFallback:!1,alternatives:[]}}let i=(0,Et.getTemplateByName)("find_by_class");if(!i)throw new Error("Template find_by_class not found");let s={classMatch:t.match,limit:this.extractLimit(e)};return{query:(0,Et.fillTemplate)(i,s),templateName:i.name,parameters:s,confidence:.8,explanation:`\u0421\u043F\u0438\u0441\u043E\u043A \u0432\u0441\u0435\u0445 ${t.label}`,isFallback:!1,alternatives:[]}}extractSearchTerms(e,t){let r=e.toLowerCase().split(/\s+/),i=new Set([...t.terms,"\u0432\u0441\u0435","\u0432\u0441\u0435\u0445","\u0432\u0441\u044E","\u0432\u0435\u0441\u044C","\u043D\u0430\u0439\u0434\u0438","\u043D\u0430\u0439\u0442\u0438","\u043F\u043E\u043A\u0430\u0436\u0438","\u043F\u043E\u043A\u0430\u0436\u0435\u0448\u044C","\u0441\u043F\u0438\u0441\u043E\u043A","\u0441\u0432\u044F\u0437\u0430\u043D\u043D\u044B\u0435","\u0441\u0432\u044F\u0437\u0430\u043D\u043D\u044B\u0445","\u0441\u0432\u044F\u0437\u0430\u043D\u043D\u044B\u0439","\u043F\u0440\u043E","\u0441\u043E\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0435","\u0441\u043E","\u0441\u043B\u043E\u0432\u043E\u043C","\u0438\u043B\u0438","\u0438","and","or","\u0441","\u043D\u0430","\u043F\u043E","\u0434\u043B\u044F","\u0432","\u0437\u0430","\u043E\u0442","\u043A","\u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0435","\u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0445","\u043C\u043E\u0438","\u043C\u043E\u0438\u0445","\u043C\u043E\u0439","\u043C\u043E\u044F","\u043A\u0430\u043A\u0438\u0435","\u043A\u0430\u043A\u043E\u0439","\u043A\u0430\u043A\u0430\u044F","\u043A\u0430\u043A\u043E\u0433\u043E","\u0447\u0442\u043E","\u0433\u0434\u0435","\u043A\u0430\u043A","\u043A\u0442\u043E"]);return r.filter(a=>a.length>=2&&!i.has(a)&&!/^\d+$/.test(a))}extractParameters(e,t){let r={};for(let i of t.parameters)switch(i.name){case"keyword":case"pattern":case"taskLabel":case"entityLabel":r[i.name]=this.extractKeyword(e,t);break;case"prototypeUuid":r[i.name]=this.extractPrototypeUuid(e);break;case"yearMonth":r[i.name]=this.extractYearMonth(e);break;case"limit":r[i.name]=this.extractLimit(e);break;case"uuid":{let s=e.match(this.uuidPattern);s&&(r[i.name]=s[1]);break}}return r}extractKeyword(e,t){for(let[a,c]of Object.entries(this.activityPatterns))if(e.includes(a))return c;let r=e.match(/["'«»]([^"'«»]+)["'«»]/);if(r)return r[1];let i=e.replace(/^(найди|найти|покажи|покажешь|какие|какой|сколько|где|как|что|все|всех|мои|моих|за|в|по|для|который|которые)\s+/gi,"").replace(/\s+(за|в|по|для|с|на|от)\s+\d+.*$/gi,"").trim(),s=i.split(/\s+/);return s.length>0?s.slice(0,2).join(" "):i||e}extractPrototypeUuid(e){let t=e.match(this.uuidPattern);if(t)return t[1];for(let[r,i]of Object.entries(this.prototypeMapping))if(e.includes(r))return i;return""}extractYearMonth(e){let t=e.match(this.datePattern);if(t)return t[1].replace(/(\d{4})(\d{2})/,"$1-$2");for(let[r,i]of Object.entries(this.monthNames))if(e.includes(r)){let s=e.match(/\b(20\d{2})\b/);return`${s?s[1]:new Date().getFullYear()}-${i}`}return""}extractLimit(e){let t=e.match(/(?:первые|последние|топ|limit|лимит)\s*(\d+)/i);if(t)return t[1];let r=e.match(/\b(\d{1,3})\b/);return r&&parseInt(r[1])<=500?r[1]:String(this.config.defaultLimit)}inferParameter(e,t,r){switch(t){case"prototypeUuid":for(let[i,s]of Object.entries(this.prototypeMapping))if(e.includes(i))return s;break;case"keyword":case"pattern":for(let[i,s]of Object.entries(this.activityPatterns))if(e.includes(i))return s;break}return null}createFallbackQuery(e,t){let r=this.extractKeyword(e,Et.SPARQL_TEMPLATES[0]),i=`${Et.SPARQL_PREFIXES}
|
|
361
|
+
ORDER BY ?label`,parameters:[],examples:["\u0432\u0441\u0435 \u043B\u044E\u0434\u0438","\u043A\u043E\u043D\u0442\u0430\u043A\u0442\u044B","persons"],keywords:["\u043B\u044E\u0434\u0438","\u043A\u043E\u043D\u0442\u0430\u043A\u0442\u044B","\u043F\u0435\u0440\u0441\u043E\u043D","\u043F\u0435\u0440\u0441\u043E\u043D\u044B","\u043F\u0435\u0440\u0441\u043E\u043D\u0430","persons","person"]}];function y7(n){return $.SPARQL_TEMPLATES.find(e=>e.name===n)}o(y7,"getTemplateByName");function _7(n,e=3){let t=n.toLowerCase(),r=new Map;for(let i of $.SPARQL_TEMPLATES){let s=0;for(let a of i.keywords)t.includes(a.toLowerCase())&&(s+=2);for(let a of i.examples){let c=a.toLowerCase().split(/\s+/),l=t.split(/\s+/),u=c.filter(f=>l.some(d=>d.includes(f)||f.includes(d)));s+=u.length*.5}s>0&&r.set(i,s)}return Array.from(r.entries()).sort((i,s)=>s[1]-i[1]).slice(0,e).map(([i])=>i)}o(_7,"findMatchingTemplates");function S7(n,e){let t=n.template;for(let r of n.parameters)!r.required&&!e[r.name]&&r.name==="limit"&&(e[r.name]="100");for(let[r,i]of Object.entries(e))t=t.replace(new RegExp(`\\{\\{${r}\\}\\}`,"g"),i);return t}o(S7,"fillTemplate");function b7(n,e){let t=[];for(let r of n.parameters)r.required&&!e[r.name]&&t.push(r.name);return{valid:t.length===0,missing:t}}o(b7,"validateParameters")});var Q3=S(zn=>{"use strict";var v7=zn&&zn.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},w7=zn&&zn.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)};Object.defineProperty(zn,"__esModule",{value:!0});zn.NLToSPARQLService=zn.DEFAULT_NL_TO_SPARQL_CONFIG=void 0;var E7=le(),T7=xa(),Et=ib();zn.DEFAULT_NL_TO_SPARQL_CONFIG={defaultLimit:100,includeExplanation:!0,confidenceThreshold:.3};var sb=class{static{o(this,"NLToSPARQLService")}constructor(e={}){this.uuidPattern=/\b([0-9a-f]{8}[-]?[0-9a-f]{4}[-]?[0-9a-f]{4}[-]?[0-9a-f]{4}[-]?[0-9a-f]{12})\b/i,this.datePattern=/\b(20\d{2}[-]?\d{2}(?:[-]?\d{2})?)\b/,this.monthNames={\u044F\u043D\u0432\u0430\u0440:"01",\u0444\u0435\u0432\u0440\u0430\u043B:"02",\u043C\u0430\u0440\u0442:"03",\u0430\u043F\u0440\u0435\u043B:"04",\u043C\u0430\u0439:"05",\u0438\u044E\u043D:"06",\u0438\u044E\u043B:"07",\u0430\u0432\u0433\u0443\u0441\u0442:"08",\u0441\u0435\u043D\u0442\u044F\u0431\u0440:"09",\u043E\u043A\u0442\u044F\u0431\u0440:"10",\u043D\u043E\u044F\u0431\u0440:"11",\u0434\u0435\u043A\u0430\u0431\u0440:"12",january:"01",february:"02",march:"03",april:"04",may:"05",june:"06",july:"07",august:"08",september:"09",october:"10",november:"11",december:"12"},this.activityPatterns={\u0434\u0443\u0448:"\u0434\u0443\u0448","morning shower":"\u0434\u0443\u0448","\u0443\u0442\u0440\u0435\u043D\u043D\u0438\u0439 \u0434\u0443\u0448":"\u0434\u0443\u0448",\u0441\u043E\u043D:"\u041F\u043E\u0441\u043F\u0430\u0442\u044C",\u0441\u043F\u0430\u0442\u044C:"\u041F\u043E\u0441\u043F\u0430\u0442\u044C",\u043F\u043E\u0441\u043F\u0430\u0442\u044C:"\u041F\u043E\u0441\u043F\u0430\u0442\u044C",sleep:"\u041F\u043E\u0441\u043F\u0430\u0442\u044C",\u0439\u043E\u0433\u0430:"\u0439\u043E\u0433",yoga:"\u0439\u043E\u0433",\u043F\u0440\u0435\u0441\u0441:"\u041F\u0440\u0435\u0441\u0441","wim hof":"Wim Hof",\u043C\u043E\u0447\u0438:"\u041C\u041E\u0427\u0418"},this.prototypeMapping={\u0434\u0443\u0448:Et.KNOWN_PROTOTYPES.MORNING_SHOWER,"\u0443\u0442\u0440\u0435\u043D\u043D\u0438\u0439 \u0434\u0443\u0448":Et.KNOWN_PROTOTYPES.MORNING_SHOWER,"morning shower":Et.KNOWN_PROTOTYPES.MORNING_SHOWER,\u043D\u043E\u0433\u0442\u0438:Et.KNOWN_PROTOTYPES.CUT_NAILS,"\u043F\u043E\u0434\u0441\u0442\u0440\u0438\u0447\u044C \u043D\u043E\u0433\u0442\u0438":Et.KNOWN_PROTOTYPES.CUT_NAILS},this.config={...zn.DEFAULT_NL_TO_SPARQL_CONFIG,...e}}convert(e){let t=e.trim().toLowerCase(),r=t.match(this.uuidPattern);if(r)return this.handleUuidQuery(t,r[1]);let i=(0,Et.findClassByTerm)(t),s=(0,Et.findMatchingTemplates)(t,3),a=new Set(["active_projects","projects_without_tasks","areas","persons","find_prototype","sleep_analysis","recent_activities"]);if(s.length>0){let l=s[0];if(a.has(l.name)){let u=t.split(/\s+/);if(l.keywords.some(d=>u.includes(d.toLowerCase())))return this.buildTemplateResult(t,l,s)}}if(i)return this.handleClassQuery(t,i);if(s.length===0)return this.createFallbackQuery(t);let c=s[0];return this.buildTemplateResult(t,c,s)}buildTemplateResult(e,t,r){let i=this.extractParameters(e,t),s=(0,Et.validateParameters)(t,i);if(!s.valid){for(let f of s.missing){let d=this.inferParameter(e,f,t);d&&(i[f]=d)}let u=(0,Et.validateParameters)(t,i);if(!u.valid){let f=(0,Et.findClassByTerm)(e);return f?this.handleClassQuery(e,f):this.createFallbackQuery(e,{template:t,missingParams:u.missing})}}let a=(0,Et.fillTemplate)(t,i),c=this.calculateConfidence(e,t,i),l=r.slice(1).map(u=>{let f=this.extractParameters(e,u);return(0,Et.fillTemplate)(u,f)}).filter(u=>u!==a);return{query:a,templateName:t.name,parameters:i,confidence:c,explanation:this.generateExplanation(t,i),isFallback:!1,alternatives:l}}handleUuidQuery(e,t){if(e.includes("\u043F\u0440\u043E\u0442\u043E\u0442\u0438\u043F")||e.includes("prototype")||e.includes("\u0438\u043D\u0441\u0442\u0430\u043D\u0441")){let s=(0,Et.getTemplateByName)("find_by_prototype_uuid");if(!s)throw new Error("Template find_by_prototype_uuid not found");let a={prototypeUuid:t,limit:"100"};return{query:(0,Et.fillTemplate)(s,a),templateName:s.name,parameters:a,confidence:.9,explanation:`\u041F\u043E\u0438\u0441\u043A \u0438\u043D\u0441\u0442\u0430\u043D\u0441\u043E\u0432 \u043F\u0440\u043E\u0442\u043E\u0442\u0438\u043F\u0430 \u0441 UUID ${t}`,isFallback:!1,alternatives:[]}}let r=(0,Et.getTemplateByName)("properties_by_uuid");if(!r)throw new Error("Template properties_by_uuid not found");let i={uuid:t};return{query:(0,Et.fillTemplate)(r,i),templateName:r.name,parameters:i,confidence:.9,explanation:`\u041F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u0435 \u0441\u0432\u043E\u0439\u0441\u0442\u0432 \u0441\u0443\u0449\u043D\u043E\u0441\u0442\u0438 \u0441 UUID ${t}`,isFallback:!1,alternatives:[]}}handleClassQuery(e,t){let r=this.extractSearchTerms(e,t);if(r.length>0){let a=(0,Et.getTemplateByName)("find_by_class_and_keyword");if(!a)throw new Error("Template find_by_class_and_keyword not found");let c=r.join("|"),l={classMatch:t.match,regexPattern:c,limit:this.extractLimit(e)};return{query:(0,Et.fillTemplate)(a,l),templateName:a.name,parameters:l,confidence:.85,explanation:`\u041F\u043E\u0438\u0441\u043A ${t.label} \u043F\u043E \u043F\u0430\u0442\u0442\u0435\u0440\u043D\u0443 "${c}"`,isFallback:!1,alternatives:[]}}let i=(0,Et.getTemplateByName)("find_by_class");if(!i)throw new Error("Template find_by_class not found");let s={classMatch:t.match,limit:this.extractLimit(e)};return{query:(0,Et.fillTemplate)(i,s),templateName:i.name,parameters:s,confidence:.8,explanation:`\u0421\u043F\u0438\u0441\u043E\u043A \u0432\u0441\u0435\u0445 ${t.label}`,isFallback:!1,alternatives:[]}}extractSearchTerms(e,t){let r=e.toLowerCase().split(/\s+/),i=new Set([...t.terms,"\u0432\u0441\u0435","\u0432\u0441\u0435\u0445","\u0432\u0441\u044E","\u0432\u0435\u0441\u044C","\u043D\u0430\u0439\u0434\u0438","\u043D\u0430\u0439\u0442\u0438","\u043F\u043E\u043A\u0430\u0436\u0438","\u043F\u043E\u043A\u0430\u0436\u0435\u0448\u044C","\u0441\u043F\u0438\u0441\u043E\u043A","\u0441\u0432\u044F\u0437\u0430\u043D\u043D\u044B\u0435","\u0441\u0432\u044F\u0437\u0430\u043D\u043D\u044B\u0445","\u0441\u0432\u044F\u0437\u0430\u043D\u043D\u044B\u0439","\u043F\u0440\u043E","\u0441\u043E\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0435","\u0441\u043E","\u0441\u043B\u043E\u0432\u043E\u043C","\u0438\u043B\u0438","\u0438","and","or","\u0441","\u043D\u0430","\u043F\u043E","\u0434\u043B\u044F","\u0432","\u0437\u0430","\u043E\u0442","\u043A","\u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0435","\u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0445","\u043C\u043E\u0438","\u043C\u043E\u0438\u0445","\u043C\u043E\u0439","\u043C\u043E\u044F","\u043A\u0430\u043A\u0438\u0435","\u043A\u0430\u043A\u043E\u0439","\u043A\u0430\u043A\u0430\u044F","\u043A\u0430\u043A\u043E\u0433\u043E","\u0447\u0442\u043E","\u0433\u0434\u0435","\u043A\u0430\u043A","\u043A\u0442\u043E"]);return r.filter(a=>a.length>=2&&!i.has(a)&&!/^\d+$/.test(a))}extractParameters(e,t){let r={};for(let i of t.parameters)switch(i.name){case"keyword":case"pattern":case"taskLabel":case"entityLabel":r[i.name]=this.extractKeyword(e,t);break;case"prototypeUuid":r[i.name]=this.extractPrototypeUuid(e);break;case"yearMonth":r[i.name]=this.extractYearMonth(e);break;case"limit":r[i.name]=this.extractLimit(e);break;case"uuid":{let s=e.match(this.uuidPattern);s&&(r[i.name]=s[1]);break}}return r}extractKeyword(e,t){for(let[a,c]of Object.entries(this.activityPatterns))if(e.includes(a))return c;let r=e.match(/["'«»]([^"'«»]+)["'«»]/);if(r)return r[1];let i=e.replace(/^(найди|найти|покажи|покажешь|какие|какой|сколько|где|как|что|все|всех|мои|моих|за|в|по|для|который|которые)\s+/gi,"").replace(/\s+(за|в|по|для|с|на|от)\s+\d+.*$/gi,"").trim(),s=i.split(/\s+/);return s.length>0?s.slice(0,2).join(" "):i||e}extractPrototypeUuid(e){let t=e.match(this.uuidPattern);if(t)return t[1];for(let[r,i]of Object.entries(this.prototypeMapping))if(e.includes(r))return i;return""}extractYearMonth(e){let t=e.match(this.datePattern);if(t)return t[1].replace(/(\d{4})(\d{2})/,"$1-$2");for(let[r,i]of Object.entries(this.monthNames))if(e.includes(r)){let s=e.match(/\b(20\d{2})\b/);return`${s?s[1]:new Date().getFullYear()}-${i}`}return""}extractLimit(e){let t=e.match(/(?:первые|последние|топ|limit|лимит)\s*(\d+)/i);if(t)return t[1];let r=e.match(/\b(\d{1,3})\b/);return r&&parseInt(r[1])<=500?r[1]:String(this.config.defaultLimit)}inferParameter(e,t,r){switch(t){case"prototypeUuid":for(let[i,s]of Object.entries(this.prototypeMapping))if(e.includes(i))return s;break;case"keyword":case"pattern":for(let[i,s]of Object.entries(this.activityPatterns))if(e.includes(i))return s;break}return null}createFallbackQuery(e,t){let r=this.extractKeyword(e,Et.SPARQL_TEMPLATES[0]),i=`${Et.SPARQL_PREFIXES}
|
|
362
362
|
|
|
363
363
|
SELECT ?s ?label ?class WHERE {
|
|
364
364
|
?s ${Et.PREDICATES.ASSET_LABEL} ?label .
|
|
@@ -367,14 +367,14 @@ SELECT ?s ?label ?class WHERE {
|
|
|
367
367
|
FILTER NOT EXISTS { ?s exo:Asset_deprecatedBy ?newer }
|
|
368
368
|
}
|
|
369
369
|
ORDER BY ?label
|
|
370
|
-
LIMIT ${this.config.defaultLimit}`,s="\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0442\u043E\u0447\u043D\u043E \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0438\u0442\u044C \u0442\u0438\u043F \u0437\u0430\u043F\u0440\u043E\u0441\u0430. \u0412\u044B\u043F\u043E\u043B\u043D\u044F\u0435\u0442\u0441\u044F \u043F\u043E\u0438\u0441\u043A \u043F\u043E \u043A\u043B\u044E\u0447\u0435\u0432\u043E\u043C\u0443 \u0441\u043B\u043E\u0432\u0443.";return t?.template&&t?.missingParams&&(s+=` \u0414\u043B\u044F \u0448\u0430\u0431\u043B\u043E\u043D\u0430 "${t.template.name}" \u043D\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u043E\u0432: ${t.missingParams.join(", ")}.`),{query:i,templateName:null,parameters:{keyword:r},confidence:.3,explanation:s,isFallback:!0,alternatives:[]}}calculateConfidence(e,t,r){let i=.5;for(let c of t.keywords)e.includes(c.toLowerCase())&&(i+=.1);let s=t.parameters.filter(c=>c.required),a=s.filter(c=>r[c.name]&&r[c.name].length>0);s.length>0?i+=a.length/s.length*.2:i+=.2;for(let[c]of Object.entries(this.prototypeMapping))if(e.includes(c)){i+=.1;break}return Math.min(i,1)}generateExplanation(e,t){let r=e.description;return Object.keys(t).length>0&&(r+=". \u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B: ",r+=Object.entries(t).filter(([,i])=>i&&i.length>0).map(([i,s])=>`${i}="${s}"`).join(", ")),r}getAvailableTemplates(){return[...Et.SPARQL_TEMPLATES]}getTemplate(e){return(0,Et.getTemplateByName)(e)}setConfig(e){this.config={...this.config,...e}}getConfig(){return{...this.config}}addTemplate(e){Et.SPARQL_TEMPLATES.push(e),T7.LoggingService.debug(`Added custom template: ${e.name}`)}getSuggestions(e){let t=[];return(e.includes("\u0441\u043A\u043E\u043B\u044C\u043A\u043E")||e.includes("\u0441\u0440\u0435\u0434\u043D")||e.includes("\u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043A"))&&!e.match(/\b20\d{2}\b/)&&!this.containsMonth(e)&&t.push("\u0414\u043E\u0431\u0430\u0432\u044C\u0442\u0435 \u043F\u0435\u0440\u0438\u043E\u0434 \u0432\u0440\u0435\u043C\u0435\u043D\u0438 (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440: '\u0437\u0430 \u0434\u0435\u043A\u0430\u0431\u0440\u044C' \u0438\u043B\u0438 '\u0437\u0430 2025-12')"),(e.includes("\u0437\u0430\u0434\u0430\u0447")||e.includes("\u0430\u043A\u0442\u0438\u0432\u043D\u043E\u0441\u0442"))&&t.push("\u0414\u043B\u044F \u0442\u043E\u0447\u043D\u043E\u0433\u043E \u043F\u043E\u0438\u0441\u043A\u0430 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 UUID \u043F\u0440\u043E\u0442\u043E\u0442\u0438\u043F\u0430 \u0432\u043C\u0435\u0441\u0442\u043E \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F"),e.length<10&&t.push("\u0423\u0442\u043E\u0447\u043D\u0438\u0442\u0435 \u0437\u0430\u043F\u0440\u043E\u0441: \u0434\u043E\u0431\u0430\u0432\u044C\u0442\u0435 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0430\u043A\u0442\u0438\u0432\u043D\u043E\u0441\u0442\u0438 \u0438\u043B\u0438 \u0442\u0438\u043F \u0434\u0430\u043D\u043D\u044B\u0445"),t}containsMonth(e){return Object.keys(this.monthNames).some(t=>e.includes(t))}};zn.NLToSPARQLService=sb;zn.NLToSPARQLService=sb=v7([(0,E7.injectable)(),w7("design:paramtypes",[Object])],sb)});var
|
|
371
|
-
`).filter(s=>s.trim()).map(s=>this.cleanWikiLink(s.replace(/^\s*-\s*/,"").trim()));let r=this.frontmatterService.getPropertyValue(e,"exo__Instance_class");return r?this.cleanWikiLink(r):null}cleanWikiLink(e){return e.replace(/^\[\[/,"").replace(/\]\]$/,"").replace(/^"/,"").replace(/"$/,"")}parseTimestamp(e){if(!e)return null;let t=e.replace(/^"/,"").replace(/"$/,""),r=new Date(t);return isNaN(r.getTime())?null:r}calculateDurationStats(e){let t=e.filter(f=>f.startTimestamp&&f.endTimestamp).map(f=>(f.endTimestamp.getTime()-f.startTimestamp.getTime())/6e4).filter(f=>f>0);if(t.length===0)return{count:0,totalMinutes:0,averageMinutes:0,minMinutes:0,maxMinutes:0,stdDevMinutes:0};let r=t.reduce((f,d)=>f+d,0),i=r/t.length,s=Math.min(...t),a=Math.max(...t),l=t.map(f=>Math.pow(f-i,2)).reduce((f,d)=>f+d,0)/t.length,u=Math.sqrt(l);return{count:t.length,totalMinutes:Math.round(r),averageMinutes:Math.round(i*10)/10,minMinutes:Math.round(s),maxMinutes:Math.round(a),stdDevMinutes:Math.round(u*10)/10}}calculateDailyAggregates(e){let t=new Map;for(let r of e){if(!r.startTimestamp)continue;let i=R7.DateFormatter.toDateString(r.startTimestamp);t.has(i)||t.set(i,{count:0,totalMinutes:0});let s=t.get(i);if(s.count++,r.endTimestamp){let a=r.endTimestamp.getTime()-r.startTimestamp.getTime();s.totalMinutes+=a/6e4}}return Array.from(t.entries()).map(([r,i])=>({date:r,count:i.count,totalMinutes:Math.round(i.totalMinutes),averageMinutes:i.count>0?Math.round(i.totalMinutes/i.count*10)/10:0})).sort((r,i)=>r.date.localeCompare(i.date))}calculateHourlyDistribution(e){let t=new Array(24).fill(0);for(let i of e){if(!i.startTimestamp)continue;let s=i.startTimestamp.getHours();t[s]++}let r=t.reduce((i,s)=>i+s,0);return t.map((i,s)=>({hour:s,count:i,percentage:r>0?Math.round(i/r*1e3)/10:0}))}calculateWeekdayDistribution(e){let t=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],r=new Array(7).fill(0);for(let s of e){if(!s.startTimestamp)continue;let a=s.startTimestamp.getDay();r[a]++}let i=r.reduce((s,a)=>s+a,0);return r.map((s,a)=>({dayOfWeek:a,dayName:t[a],count:s,percentage:i>0?Math.round(s/i*1e3)/10:0}))}async analyzeSleep(e=this.getDefaultPeriod()){let t=await this.getEffortsInPeriod(e,{labelContains:"\u041F\u043E\u0441\u043F\u0430\u0442\u044C"}),r=this.calculateDurationStats(t),i=this.calculateDailyAggregates(t),s=[],a=[];for(let d of t){if(d.startTimestamp){let h=d.startTimestamp.getHours()*60+d.startTimestamp.getMinutes();s.push(h<360?h+1440:h)}if(d.endTimestamp){let h=d.endTimestamp.getHours()*60+d.endTimestamp.getMinutes();a.push(h)}}let c=s.length>0?s.reduce((d,h)=>d+h,0)/s.length:0,l=a.length>0?a.reduce((d,h)=>d+h,0)/a.length:0,u=s.length>1?Math.sqrt(s.map(d=>Math.pow(d-c,2)).reduce((d,h)=>d+h,0)/s.length):0,f=a.length>1?Math.sqrt(a.map(d=>Math.pow(d-l,2)).reduce((d,h)=>d+h,0)/a.length):0;return{period:e,stats:r,dailyData:i,averageBedtime:this.minutesToTimeString(c%1440),averageWakeTime:this.minutesToTimeString(l),bedtimeVariabilityMinutes:Math.round(u),wakeTimeVariabilityMinutes:Math.round(f)}}minutesToTimeString(e){let t=Math.floor(e/60),r=Math.round(e%60);return`${String(t).padStart(2,"0")}:${String(r).padStart(2,"0")}`}async analyzeTaskCompletion(e=this.getDefaultPeriod()){let r=(await this.getEffortsInPeriod(e)).filter(u=>Array.isArray(u.instanceClass)?u.instanceClass.some(f=>f.includes("ems__Task")):u.instanceClass?.includes("ems__Task")??!1),i=r.filter(u=>u.status?.includes("ems__EffortStatusDone")),s=r.filter(u=>u.status?.includes("ems__EffortStatusTrashed")),a=i.filter(u=>u.startTimestamp&&u.endTimestamp).map(u=>(u.endTimestamp.getTime()-u.startTimestamp.getTime())/6e4),c=a.length>0?a.reduce((u,f)=>u+f,0)/a.length:0,l=this.calculateDailyAggregates(i);return{period:e,totalTasks:r.length,completedTasks:i.length,trashedTasks:s.length,completionRate:r.length>0?Math.round(i.length/r.length*1e3)/10:0,averageCompletionTimeMinutes:Math.round(c*10)/10,dailyCompletions:l}}async analyzeActivityFrequency(e,t=this.getDefaultPeriod()){let r=await this.getEffortsInPeriod(t,{labelContains:e}),i=this.calculateDurationStats(r),s=this.calculateDailyAggregates(r),a=this.calculateHourlyDistribution(r),c=this.calculateWeekdayDistribution(r);return{activityLabel:e,period:t,stats:i,dailyData:s,hourlyDistribution:a,weekdayDistribution:c}}async getActivitySummary(e=this.getDefaultPeriod()){let t=await this.getEffortsInPeriod(e),r=new Map;for(let s of t){let a=s.label.split(" ")[0];r.has(a)||r.set(a,[]),r.get(a).push(s)}let i=new Map;for(let[s,a]of r)i.set(s,this.calculateDurationStats(a));return i}};Pi.AnalyticsService=ab;Pi.AnalyticsService=ab=A7([(0,YA.injectable)(),C7(0,(0,YA.inject)(I7.DI_TOKENS.IVaultAdapter)),x7("design:paramtypes",[Object])],ab)});var XA=S(Fo=>{"use strict";var P7=Fo&&Fo.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};Object.defineProperty(Fo,"__esModule",{value:!0});Fo.TrendDetectionService=void 0;var F7=le(),ob=class{static{o(this,"TrendDetectionService")}constructor(){this.TREND_THRESHOLD=.05,this.ANOMALY_THRESHOLD_STD=2,this.STRONG_CORRELATION_THRESHOLD=.7,this.MODERATE_CORRELATION_THRESHOLD=.4}analyzeTrend(e,t="averageMinutes"){if(e.length<3)return{direction:"stable",strength:"none",slope:0,rSquared:0,changePercentage:0,insight:"Insufficient data for trend analysis (need at least 3 data points)"};let r=e.map(h=>h[t]),{slope:i,rSquared:s}=this.linearRegression(r),a=r[0]||1,l=((r[r.length-1]||0)-a)/a*100,u;Math.abs(l)<this.TREND_THRESHOLD*100?u="stable":i>0?u="increasing":u="decreasing";let f;s>=.7?f="strong":s>=.4?f="moderate":s>=.2?f="weak":f="none";let d=this.generateTrendInsight(u,f,l);return{direction:u,strength:f,slope:Math.round(i*100)/100,rSquared:Math.round(s*100)/100,changePercentage:Math.round(l*10)/10,insight:d}}linearRegression(e){let t=e.length;if(t===0)return{slope:0,intercept:0,rSquared:0};let r=(t-1)/2,i=e.reduce((h,p)=>h+p,0)/t,s=0,a=0;for(let h=0;h<t;h++)s+=(h-r)*(e[h]-i),a+=Math.pow(h-r,2);let c=a!==0?s/a:0,l=i-c*r,u=0,f=0;for(let h=0;h<t;h++){let p=l+c*h;u+=Math.pow(e[h]-p,2),f+=Math.pow(e[h]-i,2)}let d=f!==0?1-u/f:0;return{slope:c,intercept:l,rSquared:Math.max(0,d)}}generateTrendInsight(e,t,r){if(t==="none"||e==="stable")return"Metric is relatively stable with no significant trend.";let i=t==="strong"?"clearly":t==="moderate"?"moderately":"slightly",s=e==="increasing"?"increasing":"decreasing",a=`${Math.abs(Math.round(r))}%`;return`Metric is ${i} ${s} (${a} change over the period).`}detectAnomalies(e,t="averageMinutes"){if(e.length<5)return[];let r=e.map(c=>c[t]),{mean:i,stdDev:s}=this.calculateStats(r),a=[];for(let c=0;c<e.length;c++){let l=r[c],u=(l-i)/(s||1);if(Math.abs(u)>=this.ANOMALY_THRESHOLD_STD){let f=this.determineAnomalySeverity(u),d=this.determineAnomalyType(u,l,i);a.push({date:e[c].date,value:l,expectedValue:Math.round(i*10)/10,deviation:Math.round(u*100)/100,severity:f,type:d,description:this.generateAnomalyDescription(d,f,u,l,i)})}}return a}calculateStats(e){if(e.length===0)return{mean:0,stdDev:0};let t=e.reduce((a,c)=>a+c,0)/e.length,i=e.map(a=>Math.pow(a-t,2)).reduce((a,c)=>a+c,0)/e.length,s=Math.sqrt(i);return{mean:t,stdDev:s}}determineAnomalySeverity(e){let t=Math.abs(e);return t>=3?"critical":t>=2.5?"warning":"info"}determineAnomalyType(e,t,r){return t>r&&e>0?"spike":t<r&&e<0?"drop":"outlier"}generateAnomalyDescription(e,t,r,i,s){let a=t==="critical"?"Significant":t==="warning"?"Notable":"Minor",c=e==="spike"?"spike":e==="drop"?"drop":"unusual value",l=Math.round((i-s)/s*100);return`${a} ${c} detected: ${Math.round(i)} (${l>0?"+":""}${l}% from average of ${Math.round(s)}, ${r.toFixed(1)}\u03C3 from mean).`}calculateCorrelation(e,t,r,i){let s=Math.min(e.length,t.length);if(s<5)return{metric1:r,metric2:i,coefficient:0,strength:"none",direction:"none",insight:"Insufficient data for correlation analysis."};let{mean:a,stdDev:c}=this.calculateStats(e.slice(0,s)),{mean:l,stdDev:u}=this.calculateStats(t.slice(0,s));if(c===0||u===0)return{metric1:r,metric2:i,coefficient:0,strength:"none",direction:"none",insight:"One or both metrics have no variation."};let f=0;for(let E=0;E<s;E++)f+=(e[E]-a)/c*((t[E]-l)/u);let d=f/s,h=Math.abs(d),p;h>=this.STRONG_CORRELATION_THRESHOLD?p="strong":h>=this.MODERATE_CORRELATION_THRESHOLD?p="moderate":h>=.2?p="weak":p="none";let _=p==="none"?"none":d>0?"positive":"negative",b=this.generateCorrelationInsight(r,i,d,p,_);return{metric1:r,metric2:i,coefficient:Math.round(d*100)/100,strength:p,direction:_,insight:b}}generateCorrelationInsight(e,t,r,i,s){if(i==="none")return`No significant correlation found between ${e} and ${t}.`;let a=i==="strong"?"strongly":i==="moderate"?"moderately":"weakly",c=s==="positive"?"When one increases, the other tends to increase":"When one increases, the other tends to decrease";return`${e} and ${t} are ${a} ${s}ly correlated (r=${r.toFixed(2)}). ${c}.`}analyzeWeeklyPattern(e,t="averageMinutes"){let r=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],i={};for(let l of e){let f=new Date(l.date).getDay();i[f]||(i[f]=[]),i[f].push(l[t])}let s=[],a=0,c=1/0;for(let l=0;l<7;l++){let u=i[l]||[],{mean:f,stdDev:d}=this.calculateStats(u);f>a&&(a=f),f<c&&u.length>0&&(c=f),s.push({dayOfWeek:l,dayName:r[l],averageValue:Math.round(f*10)/10,deviation:Math.round(d*10)/10,isHighPoint:!1,isLowPoint:!1})}for(let l of s)l.averageValue===a&&a>0&&(l.isHighPoint=!0),l.averageValue===c&&c!==1/0&&(l.isLowPoint=!0);return s}generateInsights(e,t,r,i,s){let a=[];t.strength!=="none"&&t.direction!=="stable"&&a.push({type:"trend",severity:t.direction==="decreasing"?"warning":"info",title:`${s} is ${t.direction}`,description:t.insight,metric:s,value:t.changePercentage,actionable:t.direction==="decreasing"});let c=r.filter(f=>f.severity==="critical");if(c.length>0)for(let f of c)a.push({type:"anomaly",severity:"critical",title:`Unusual ${f.type} detected on ${f.date}`,description:f.description,metric:s,value:f.value,actionable:!0});let l=i.filter(f=>f.isHighPoint).map(f=>f.dayName),u=i.filter(f=>f.isLowPoint).map(f=>f.dayName);return l.length>0&&u.length>0&&a.push({type:"pattern",severity:"info",title:"Weekly pattern detected",description:`${s} tends to be highest on ${l.join(", ")} and lowest on ${u.join(", ")}.`,metric:s,actionable:!1}),e.stdDevMinutes>e.averageMinutes*.5&&a.push({type:"recommendation",severity:"warning",title:"High variability detected",description:`${s} shows high variability (std dev: ${e.stdDevMinutes} min). Consider maintaining a more consistent schedule.`,metric:s,value:e.stdDevMinutes,actionable:!0}),a}detectSuddenChanges(e,t="averageMinutes",r=50){let i=[];for(let s=1;s<e.length;s++){let a=e[s-1][t],c=e[s][t];if(a===0)continue;let l=(c-a)/a*100;Math.abs(l)>=r&&i.push({date:e[s].date,previousValue:a,currentValue:c,changePercent:Math.round(l*10)/10})}return i}};Fo.TrendDetectionService=ob;Fo.TrendDetectionService=ob=P7([(0,F7.injectable)()],ob)});var ZA=S(Hn=>{"use strict";var D7=Hn&&Hn.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},N7=Hn&&Hn.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)};Object.defineProperty(Hn,"__esModule",{value:!0});Hn.AutocompleteService=Hn.DEFAULT_AUTOCOMPLETE_CONFIG=void 0;var L7=le(),Qp=Ir(),ef=xe(),JA=Ve();Hn.DEFAULT_AUTOCOMPLETE_CONFIG={limit:10,activeBoost:20,recencyBoost:10,recencyDays:7};var cb=class{static{o(this,"AutocompleteService")}constructor(e,t){this.tripleStore=e,this.config={...Hn.DEFAULT_AUTOCOMPLETE_CONFIG,...t}}async getSuggestions(e,t,r){let i={...this.config,...r},s=await this.getPropertyRange(e);if(s.length===0){let l=this.inferClassFromProperty(e);l&&s.push(l)}let a=[];for(let l of s){let u=await this.getAssetsOfClass(l);a.push(...u)}return a.map(l=>({...l,matchScore:this.calculateMatchScore(l,t,i)})).filter(l=>l.matchScore>0).sort((l,u)=>u.matchScore-l.matchScore).slice(0,i.limit)}async getSuggestionsByClass(e,t,r){let i={...this.config,...r},s=[];for(let c of e){let l=await this.getAssetsOfClass(c);s.push(...l)}return s.map(c=>({...c,matchScore:this.calculateMatchScore(c,t,i)})).filter(c=>c.matchScore>0).sort((c,l)=>l.matchScore-c.matchScore).slice(0,i.limit)}async getPropertyRange(e){let t=this.toFullIri(e),r=[],i=await this.tripleStore.match(new ef.IRI(t),Qp.Namespace.RDFS.term("range"),void 0);for(let s of i)if(s.object instanceof ef.IRI){let a=this.toClassName(s.object.value);a&&r.push(a)}return r}async getAssetsOfClass(e){let t=this.toFullIri(e),r=[],i=await this.tripleStore.match(void 0,Qp.Namespace.RDF.term("type"),new ef.IRI(t));for(let s of i)if(s.subject instanceof ef.IRI){let a=await this.buildSuggestion(s.subject,e);a&&r.push(a)}return r}async buildSuggestion(e,t){let r=await this.tripleStore.match(e,Qp.Namespace.EXO.term("Asset_label"),void 0),i="";for(let c of r)if(c.object instanceof JA.Literal){i=c.object.value;break}if(i||(i=this.extractLabelFromUri(e.value)),!i)return null;let s=await this.checkIfActive(e),a=this.extractPathFromUri(e.value);return{label:i,uri:e.value,path:a,assetClass:t,isActive:s,matchScore:0}}async checkIfActive(e){let t=await this.tripleStore.match(e,Qp.Namespace.EMS.term("Effort_status"),void 0);for(let r of t){let i=r.object instanceof JA.Literal||r.object instanceof ef.IRI?r.object.value:"";if(i.includes("Active")||i.includes("EffortStatus_Active"))return!0}return!1}calculateMatchScore(e,t,r){if(!t||t.length===0)return e.isActive?100+r.activeBoost:100;let i=e.label.toLowerCase(),s=t.toLowerCase(),a=0;if(i===s)a=100;else if(i.startsWith(s))a=80;else if(i.includes(s))a=60;else if(this.fuzzyMatch(s,i))a=40;else return 0;if(e.isActive&&(a+=r.activeBoost),e.lastModified){let c=(Date.now()-e.lastModified)/864e5;c<=r.recencyDays&&(a+=r.recencyBoost*(1-c/r.recencyDays))}return a}fuzzyMatch(e,t){let r=0;for(let i=0;i<t.length&&r<e.length;i++)t[i]===e[r]&&r++;return r===e.length}inferClassFromProperty(e){let t=e.toLowerCase();return t.includes("project")?"ems__Project":t.includes("area")?"ems__Area":t.includes("task")?"ems__Task":t.includes("effort")?"ems__Effort":null}toFullIri(e){if(e.startsWith("http://")||e.startsWith("https://"))return e;let t=e.match(/^([a-z]+)__(.+)$/);if(t){let[,r,i]=t;switch(r){case"ems":return`https://exocortex.my/ontology/ems#${i}`;case"exo":return`https://exocortex.my/ontology/exo#${i}`;default:return`https://exocortex.my/ontology/${r}#${i}`}}return e}toClassName(e){let t=e.match(/https:\/\/exocortex\.my\/ontology\/([a-z]+)#(.+)$/);if(t){let[,r,i]=t;return`${r}__${i}`}return null}extractLabelFromUri(e){if(e.startsWith("obsidian://")){let r=decodeURIComponent(e),i=r.lastIndexOf("/");if(i>=0){let s=r.substring(i+1);return s.endsWith(".md")&&(s=s.substring(0,s.length-3)),s}}let t=e.lastIndexOf("/");if(t>=0){let r=e.substring(t+1);return r.endsWith(".md")&&(r=r.substring(0,r.length-3)),r}return""}extractPathFromUri(e){if(e.startsWith("obsidian://vault/")){let t=decodeURIComponent(e.substring(17)),r=t.indexOf("/");return r>=0?t.substring(r+1):t}return e}};Hn.AutocompleteService=cb;Hn.AutocompleteService=cb=D7([(0,L7.injectable)(),N7("design:paramtypes",[Object,Object])],cb)});var tx=S(Fi=>{"use strict";var k7=Fi&&Fi.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},M7=Fi&&Fi.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},j7=Fi&&Fi.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(Fi,"__esModule",{value:!0});Fi.DailyReviewService=void 0;var ex=le(),$7=wt(),nl=qr(),B7=Gn(),V7=Sn(),lb=class{static{o(this,"DailyReviewService")}constructor(e){this.vault=e,this.frontmatterService=new B7.FrontmatterService}async getPractices(){let e=this.vault.getAllFiles(),t=[],r=nl.DateFormatter.toDateString(new Date);for(let i of e)if(i.path.endsWith(".md"))try{let s=await this.vault.read(i),a=this.frontmatterService.parse(s);if(!a.exists)continue;let c=this.frontmatterService.getPropertyValue(a.content,"exo__Instance_class");if(!this.isTaskPrototype(c))continue;let l=this.frontmatterService.getPropertyValue(a.content,"exo__Asset_uid");if(!l)continue;let u=l.replace(/"/g,""),f=this.frontmatterService.getPropertyValue(a.content,"exo__Asset_label");if(!f)continue;let d=f.replace(/"/g,""),p=this.frontmatterService.getPropertyValue(a.content,"ems__Recurring_rule")?.replace(/"/g,"")||null,_=this.frontmatterService.getPropertyValue(a.content,"ems__Task_estimatedDuration"),b=null;if(_){let v=parseInt(_,10);isNaN(v)||(b=v)}let E=await this.findTodayInstance(u,r);t.push({uid:u,label:d,path:i.path,recurringRule:p,estimatedDuration:b,doneToday:E?.status==="done",inProgressToday:E?.status==="doing",todayInstancePath:E?.path||null})}catch{continue}return t.sort((i,s)=>i.label.localeCompare(s.label))}async getDailyReviewSummary(e){let t=e||new Date,r=nl.DateFormatter.toDateString(t),i=new Date(t);i.setHours(0,0,0,0);let s=new Date(t);s.setHours(23,59,59,999);let a=this.vault.getAllFiles(),c=0,l=0,u=0,f=0;for(let _ of a)if(_.path.endsWith(".md"))try{let b=await this.vault.read(_),E=this.frontmatterService.parse(b);if(!E.exists)continue;let v=this.frontmatterService.getPropertyValue(E.content,"exo__Instance_class");if(!this.isTask(v))continue;let A=this.frontmatterService.getPropertyValue(E.content,"ems__Effort_plannedStartTimestamp"),R=this.frontmatterService.getPropertyValue(E.content,"ems__Effort_startTimestamp"),B=R?new Date(R):null,W=A?new Date(A):null;if(!(W&&W>=i&&W<=s||B&&B>=i&&B<=s))continue;c++;let z=this.frontmatterService.getPropertyValue(E.content,"ems__Effort_status");if(this.isDoneStatus(z)){l++;let G=this.frontmatterService.getPropertyValue(E.content,"ems__Effort_endTimestamp");if(R&&G){let F=this.calculateDurationMinutes(R,G);f+=F}}else this.isDoingStatus(z)&&u++}catch{continue}let h=(await this.getPractices()).filter(_=>!_.doneToday&&_.recurringRule),p=c>0?Math.round(l/c*100):0;return{date:r,plannedCount:c,completedCount:l,inProgressCount:u,practicesDue:h,completionPercentage:p,totalTimeMinutes:Math.round(f)}}async quickCapture(e,t=!0,r){let i=(0,V7.v4)(),s=nl.DateFormatter.toISOTimestamp(new Date),a=`${i}.md`,c="03 Knowledge/kitelev",l=["---",`exo__Asset_uid: "${i}"`,`exo__Asset_label: "${e}"`,'exo__Instance_class: "[[ems__Task]]"'];if(r?.prototypeUid){let d=this.buildPrototypeUri(r.prototypeUid);l.push(`exo__Asset_prototype: "${d}"`)}if(r?.areaUid){let d=this.buildAssetUri(r.areaUid);l.push(`ems__Effort_area: "${d}"`)}if(r?.parentUid){let d=this.buildAssetUri(r.parentUid);l.push(`ems__Effort_parent: "${d}"`)}t?(l.push('ems__Effort_status: "[[ems__EffortStatusDoing]]"'),l.push(`ems__Effort_startTimestamp: ${s}`)):l.push('ems__Effort_status: "[[ems__EffortStatusBacklog]]"'),l.push("---","","");let u=l.join(`
|
|
370
|
+
LIMIT ${this.config.defaultLimit}`,s="\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0442\u043E\u0447\u043D\u043E \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0438\u0442\u044C \u0442\u0438\u043F \u0437\u0430\u043F\u0440\u043E\u0441\u0430. \u0412\u044B\u043F\u043E\u043B\u043D\u044F\u0435\u0442\u0441\u044F \u043F\u043E\u0438\u0441\u043A \u043F\u043E \u043A\u043B\u044E\u0447\u0435\u0432\u043E\u043C\u0443 \u0441\u043B\u043E\u0432\u0443.";return t?.template&&t?.missingParams&&(s+=` \u0414\u043B\u044F \u0448\u0430\u0431\u043B\u043E\u043D\u0430 "${t.template.name}" \u043D\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u043E\u0432: ${t.missingParams.join(", ")}.`),{query:i,templateName:null,parameters:{keyword:r},confidence:.3,explanation:s,isFallback:!0,alternatives:[]}}calculateConfidence(e,t,r){let i=.5;for(let c of t.keywords)e.includes(c.toLowerCase())&&(i+=.1);let s=t.parameters.filter(c=>c.required),a=s.filter(c=>r[c.name]&&r[c.name].length>0);s.length>0?i+=a.length/s.length*.2:i+=.2;for(let[c]of Object.entries(this.prototypeMapping))if(e.includes(c)){i+=.1;break}return Math.min(i,1)}generateExplanation(e,t){let r=e.description;return Object.keys(t).length>0&&(r+=". \u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B: ",r+=Object.entries(t).filter(([,i])=>i&&i.length>0).map(([i,s])=>`${i}="${s}"`).join(", ")),r}getAvailableTemplates(){return[...Et.SPARQL_TEMPLATES]}getTemplate(e){return(0,Et.getTemplateByName)(e)}setConfig(e){this.config={...this.config,...e}}getConfig(){return{...this.config}}addTemplate(e){Et.SPARQL_TEMPLATES.push(e),T7.LoggingService.debug(`Added custom template: ${e.name}`)}getSuggestions(e){let t=[];return(e.includes("\u0441\u043A\u043E\u043B\u044C\u043A\u043E")||e.includes("\u0441\u0440\u0435\u0434\u043D")||e.includes("\u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043A"))&&!e.match(/\b20\d{2}\b/)&&!this.containsMonth(e)&&t.push("\u0414\u043E\u0431\u0430\u0432\u044C\u0442\u0435 \u043F\u0435\u0440\u0438\u043E\u0434 \u0432\u0440\u0435\u043C\u0435\u043D\u0438 (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440: '\u0437\u0430 \u0434\u0435\u043A\u0430\u0431\u0440\u044C' \u0438\u043B\u0438 '\u0437\u0430 2025-12')"),(e.includes("\u0437\u0430\u0434\u0430\u0447")||e.includes("\u0430\u043A\u0442\u0438\u0432\u043D\u043E\u0441\u0442"))&&t.push("\u0414\u043B\u044F \u0442\u043E\u0447\u043D\u043E\u0433\u043E \u043F\u043E\u0438\u0441\u043A\u0430 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 UUID \u043F\u0440\u043E\u0442\u043E\u0442\u0438\u043F\u0430 \u0432\u043C\u0435\u0441\u0442\u043E \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u044F"),e.length<10&&t.push("\u0423\u0442\u043E\u0447\u043D\u0438\u0442\u0435 \u0437\u0430\u043F\u0440\u043E\u0441: \u0434\u043E\u0431\u0430\u0432\u044C\u0442\u0435 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0430\u043A\u0442\u0438\u0432\u043D\u043E\u0441\u0442\u0438 \u0438\u043B\u0438 \u0442\u0438\u043F \u0434\u0430\u043D\u043D\u044B\u0445"),t}containsMonth(e){return Object.keys(this.monthNames).some(t=>e.includes(t))}};zn.NLToSPARQLService=sb;zn.NLToSPARQLService=sb=v7([(0,E7.injectable)(),w7("design:paramtypes",[Object])],sb)});var K3=S(Pi=>{"use strict";var A7=Pi&&Pi.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},x7=Pi&&Pi.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},C7=Pi&&Pi.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(Pi,"__esModule",{value:!0});Pi.AnalyticsService=void 0;var Y3=le(),I7=wt(),R7=qr(),O7=Gn(),ab=class{static{o(this,"AnalyticsService")}constructor(e){this.vault=e,this.frontmatterService=new O7.FrontmatterService}getDefaultPeriod(){let e=new Date,t=new Date;return t.setDate(t.getDate()-30),{startDate:t,endDate:e}}async getEffortsInPeriod(e,t){let i=this.vault.getAllFiles().filter(a=>a.path.endsWith(".md")),s=[];for(let a of i)try{let c=await this.vault.read(a),l=this.extractEffortData(a,c);if(!l)continue;if(l.startTimestamp){if(l.startTimestamp<e.startDate||l.startTimestamp>e.endDate)continue}else continue;if(t?.prototypeUri&&l.prototypeUri!==t.prototypeUri||t?.labelContains&&!l.label.toLowerCase().includes(t.labelContains.toLowerCase())||t?.status&&l.status&&!t.status.includes(l.status))continue;s.push(l)}catch{continue}return s}extractEffortData(e,t){let r=this.frontmatterService.parse(t);if(!r.exists)return null;let i=this.frontmatterService.getPropertyValue(r.content,"exo__Asset_label");if(!i)return null;let s=this.frontmatterService.getPropertyValue(r.content,"ems__Effort_status"),a=this.frontmatterService.getPropertyValue(r.content,"ems__Effort_startTimestamp"),c=this.frontmatterService.getPropertyValue(r.content,"ems__Effort_endTimestamp"),l=this.frontmatterService.getPropertyValue(r.content,"exo__Asset_prototype"),u=this.extractInstanceClass(r.content);return{path:e.path,label:this.cleanWikiLink(i),status:s?this.cleanWikiLink(s):null,startTimestamp:a?this.parseTimestamp(a):null,endTimestamp:c?this.parseTimestamp(c):null,prototypeUri:l?this.cleanWikiLink(l):null,instanceClass:u}}extractInstanceClass(e){let t=e.match(/exo__Instance_class:\s*\n((?:\s*-\s*.*\n?)+)/);if(t)return t[1].split(`
|
|
371
|
+
`).filter(s=>s.trim()).map(s=>this.cleanWikiLink(s.replace(/^\s*-\s*/,"").trim()));let r=this.frontmatterService.getPropertyValue(e,"exo__Instance_class");return r?this.cleanWikiLink(r):null}cleanWikiLink(e){return e.replace(/^\[\[/,"").replace(/\]\]$/,"").replace(/^"/,"").replace(/"$/,"")}parseTimestamp(e){if(!e)return null;let t=e.replace(/^"/,"").replace(/"$/,""),r=new Date(t);return isNaN(r.getTime())?null:r}calculateDurationStats(e){let t=e.filter(f=>f.startTimestamp&&f.endTimestamp).map(f=>(f.endTimestamp.getTime()-f.startTimestamp.getTime())/6e4).filter(f=>f>0);if(t.length===0)return{count:0,totalMinutes:0,averageMinutes:0,minMinutes:0,maxMinutes:0,stdDevMinutes:0};let r=t.reduce((f,d)=>f+d,0),i=r/t.length,s=Math.min(...t),a=Math.max(...t),l=t.map(f=>Math.pow(f-i,2)).reduce((f,d)=>f+d,0)/t.length,u=Math.sqrt(l);return{count:t.length,totalMinutes:Math.round(r),averageMinutes:Math.round(i*10)/10,minMinutes:Math.round(s),maxMinutes:Math.round(a),stdDevMinutes:Math.round(u*10)/10}}calculateDailyAggregates(e){let t=new Map;for(let r of e){if(!r.startTimestamp)continue;let i=R7.DateFormatter.toDateString(r.startTimestamp);t.has(i)||t.set(i,{count:0,totalMinutes:0});let s=t.get(i);if(s.count++,r.endTimestamp){let a=r.endTimestamp.getTime()-r.startTimestamp.getTime();s.totalMinutes+=a/6e4}}return Array.from(t.entries()).map(([r,i])=>({date:r,count:i.count,totalMinutes:Math.round(i.totalMinutes),averageMinutes:i.count>0?Math.round(i.totalMinutes/i.count*10)/10:0})).sort((r,i)=>r.date.localeCompare(i.date))}calculateHourlyDistribution(e){let t=new Array(24).fill(0);for(let i of e){if(!i.startTimestamp)continue;let s=i.startTimestamp.getHours();t[s]++}let r=t.reduce((i,s)=>i+s,0);return t.map((i,s)=>({hour:s,count:i,percentage:r>0?Math.round(i/r*1e3)/10:0}))}calculateWeekdayDistribution(e){let t=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],r=new Array(7).fill(0);for(let s of e){if(!s.startTimestamp)continue;let a=s.startTimestamp.getDay();r[a]++}let i=r.reduce((s,a)=>s+a,0);return r.map((s,a)=>({dayOfWeek:a,dayName:t[a],count:s,percentage:i>0?Math.round(s/i*1e3)/10:0}))}async analyzeSleep(e=this.getDefaultPeriod()){let t=await this.getEffortsInPeriod(e,{labelContains:"\u041F\u043E\u0441\u043F\u0430\u0442\u044C"}),r=this.calculateDurationStats(t),i=this.calculateDailyAggregates(t),s=[],a=[];for(let d of t){if(d.startTimestamp){let h=d.startTimestamp.getHours()*60+d.startTimestamp.getMinutes();s.push(h<360?h+1440:h)}if(d.endTimestamp){let h=d.endTimestamp.getHours()*60+d.endTimestamp.getMinutes();a.push(h)}}let c=s.length>0?s.reduce((d,h)=>d+h,0)/s.length:0,l=a.length>0?a.reduce((d,h)=>d+h,0)/a.length:0,u=s.length>1?Math.sqrt(s.map(d=>Math.pow(d-c,2)).reduce((d,h)=>d+h,0)/s.length):0,f=a.length>1?Math.sqrt(a.map(d=>Math.pow(d-l,2)).reduce((d,h)=>d+h,0)/a.length):0;return{period:e,stats:r,dailyData:i,averageBedtime:this.minutesToTimeString(c%1440),averageWakeTime:this.minutesToTimeString(l),bedtimeVariabilityMinutes:Math.round(u),wakeTimeVariabilityMinutes:Math.round(f)}}minutesToTimeString(e){let t=Math.floor(e/60),r=Math.round(e%60);return`${String(t).padStart(2,"0")}:${String(r).padStart(2,"0")}`}async analyzeTaskCompletion(e=this.getDefaultPeriod()){let r=(await this.getEffortsInPeriod(e)).filter(u=>Array.isArray(u.instanceClass)?u.instanceClass.some(f=>f.includes("ems__Task")):u.instanceClass?.includes("ems__Task")??!1),i=r.filter(u=>u.status?.includes("ems__EffortStatusDone")),s=r.filter(u=>u.status?.includes("ems__EffortStatusTrashed")),a=i.filter(u=>u.startTimestamp&&u.endTimestamp).map(u=>(u.endTimestamp.getTime()-u.startTimestamp.getTime())/6e4),c=a.length>0?a.reduce((u,f)=>u+f,0)/a.length:0,l=this.calculateDailyAggregates(i);return{period:e,totalTasks:r.length,completedTasks:i.length,trashedTasks:s.length,completionRate:r.length>0?Math.round(i.length/r.length*1e3)/10:0,averageCompletionTimeMinutes:Math.round(c*10)/10,dailyCompletions:l}}async analyzeActivityFrequency(e,t=this.getDefaultPeriod()){let r=await this.getEffortsInPeriod(t,{labelContains:e}),i=this.calculateDurationStats(r),s=this.calculateDailyAggregates(r),a=this.calculateHourlyDistribution(r),c=this.calculateWeekdayDistribution(r);return{activityLabel:e,period:t,stats:i,dailyData:s,hourlyDistribution:a,weekdayDistribution:c}}async getActivitySummary(e=this.getDefaultPeriod()){let t=await this.getEffortsInPeriod(e),r=new Map;for(let s of t){let a=s.label.split(" ")[0];r.has(a)||r.set(a,[]),r.get(a).push(s)}let i=new Map;for(let[s,a]of r)i.set(s,this.calculateDurationStats(a));return i}};Pi.AnalyticsService=ab;Pi.AnalyticsService=ab=A7([(0,Y3.injectable)(),C7(0,(0,Y3.inject)(I7.DI_TOKENS.IVaultAdapter)),x7("design:paramtypes",[Object])],ab)});var X3=S(Fo=>{"use strict";var P7=Fo&&Fo.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};Object.defineProperty(Fo,"__esModule",{value:!0});Fo.TrendDetectionService=void 0;var F7=le(),ob=class{static{o(this,"TrendDetectionService")}constructor(){this.TREND_THRESHOLD=.05,this.ANOMALY_THRESHOLD_STD=2,this.STRONG_CORRELATION_THRESHOLD=.7,this.MODERATE_CORRELATION_THRESHOLD=.4}analyzeTrend(e,t="averageMinutes"){if(e.length<3)return{direction:"stable",strength:"none",slope:0,rSquared:0,changePercentage:0,insight:"Insufficient data for trend analysis (need at least 3 data points)"};let r=e.map(h=>h[t]),{slope:i,rSquared:s}=this.linearRegression(r),a=r[0]||1,l=((r[r.length-1]||0)-a)/a*100,u;Math.abs(l)<this.TREND_THRESHOLD*100?u="stable":i>0?u="increasing":u="decreasing";let f;s>=.7?f="strong":s>=.4?f="moderate":s>=.2?f="weak":f="none";let d=this.generateTrendInsight(u,f,l);return{direction:u,strength:f,slope:Math.round(i*100)/100,rSquared:Math.round(s*100)/100,changePercentage:Math.round(l*10)/10,insight:d}}linearRegression(e){let t=e.length;if(t===0)return{slope:0,intercept:0,rSquared:0};let r=(t-1)/2,i=e.reduce((h,p)=>h+p,0)/t,s=0,a=0;for(let h=0;h<t;h++)s+=(h-r)*(e[h]-i),a+=Math.pow(h-r,2);let c=a!==0?s/a:0,l=i-c*r,u=0,f=0;for(let h=0;h<t;h++){let p=l+c*h;u+=Math.pow(e[h]-p,2),f+=Math.pow(e[h]-i,2)}let d=f!==0?1-u/f:0;return{slope:c,intercept:l,rSquared:Math.max(0,d)}}generateTrendInsight(e,t,r){if(t==="none"||e==="stable")return"Metric is relatively stable with no significant trend.";let i=t==="strong"?"clearly":t==="moderate"?"moderately":"slightly",s=e==="increasing"?"increasing":"decreasing",a=`${Math.abs(Math.round(r))}%`;return`Metric is ${i} ${s} (${a} change over the period).`}detectAnomalies(e,t="averageMinutes"){if(e.length<5)return[];let r=e.map(c=>c[t]),{mean:i,stdDev:s}=this.calculateStats(r),a=[];for(let c=0;c<e.length;c++){let l=r[c],u=(l-i)/(s||1);if(Math.abs(u)>=this.ANOMALY_THRESHOLD_STD){let f=this.determineAnomalySeverity(u),d=this.determineAnomalyType(u,l,i);a.push({date:e[c].date,value:l,expectedValue:Math.round(i*10)/10,deviation:Math.round(u*100)/100,severity:f,type:d,description:this.generateAnomalyDescription(d,f,u,l,i)})}}return a}calculateStats(e){if(e.length===0)return{mean:0,stdDev:0};let t=e.reduce((a,c)=>a+c,0)/e.length,i=e.map(a=>Math.pow(a-t,2)).reduce((a,c)=>a+c,0)/e.length,s=Math.sqrt(i);return{mean:t,stdDev:s}}determineAnomalySeverity(e){let t=Math.abs(e);return t>=3?"critical":t>=2.5?"warning":"info"}determineAnomalyType(e,t,r){return t>r&&e>0?"spike":t<r&&e<0?"drop":"outlier"}generateAnomalyDescription(e,t,r,i,s){let a=t==="critical"?"Significant":t==="warning"?"Notable":"Minor",c=e==="spike"?"spike":e==="drop"?"drop":"unusual value",l=Math.round((i-s)/s*100);return`${a} ${c} detected: ${Math.round(i)} (${l>0?"+":""}${l}% from average of ${Math.round(s)}, ${r.toFixed(1)}\u03C3 from mean).`}calculateCorrelation(e,t,r,i){let s=Math.min(e.length,t.length);if(s<5)return{metric1:r,metric2:i,coefficient:0,strength:"none",direction:"none",insight:"Insufficient data for correlation analysis."};let{mean:a,stdDev:c}=this.calculateStats(e.slice(0,s)),{mean:l,stdDev:u}=this.calculateStats(t.slice(0,s));if(c===0||u===0)return{metric1:r,metric2:i,coefficient:0,strength:"none",direction:"none",insight:"One or both metrics have no variation."};let f=0;for(let E=0;E<s;E++)f+=(e[E]-a)/c*((t[E]-l)/u);let d=f/s,h=Math.abs(d),p;h>=this.STRONG_CORRELATION_THRESHOLD?p="strong":h>=this.MODERATE_CORRELATION_THRESHOLD?p="moderate":h>=.2?p="weak":p="none";let _=p==="none"?"none":d>0?"positive":"negative",b=this.generateCorrelationInsight(r,i,d,p,_);return{metric1:r,metric2:i,coefficient:Math.round(d*100)/100,strength:p,direction:_,insight:b}}generateCorrelationInsight(e,t,r,i,s){if(i==="none")return`No significant correlation found between ${e} and ${t}.`;let a=i==="strong"?"strongly":i==="moderate"?"moderately":"weakly",c=s==="positive"?"When one increases, the other tends to increase":"When one increases, the other tends to decrease";return`${e} and ${t} are ${a} ${s}ly correlated (r=${r.toFixed(2)}). ${c}.`}analyzeWeeklyPattern(e,t="averageMinutes"){let r=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],i={};for(let l of e){let f=new Date(l.date).getDay();i[f]||(i[f]=[]),i[f].push(l[t])}let s=[],a=0,c=1/0;for(let l=0;l<7;l++){let u=i[l]||[],{mean:f,stdDev:d}=this.calculateStats(u);f>a&&(a=f),f<c&&u.length>0&&(c=f),s.push({dayOfWeek:l,dayName:r[l],averageValue:Math.round(f*10)/10,deviation:Math.round(d*10)/10,isHighPoint:!1,isLowPoint:!1})}for(let l of s)l.averageValue===a&&a>0&&(l.isHighPoint=!0),l.averageValue===c&&c!==1/0&&(l.isLowPoint=!0);return s}generateInsights(e,t,r,i,s){let a=[];t.strength!=="none"&&t.direction!=="stable"&&a.push({type:"trend",severity:t.direction==="decreasing"?"warning":"info",title:`${s} is ${t.direction}`,description:t.insight,metric:s,value:t.changePercentage,actionable:t.direction==="decreasing"});let c=r.filter(f=>f.severity==="critical");if(c.length>0)for(let f of c)a.push({type:"anomaly",severity:"critical",title:`Unusual ${f.type} detected on ${f.date}`,description:f.description,metric:s,value:f.value,actionable:!0});let l=i.filter(f=>f.isHighPoint).map(f=>f.dayName),u=i.filter(f=>f.isLowPoint).map(f=>f.dayName);return l.length>0&&u.length>0&&a.push({type:"pattern",severity:"info",title:"Weekly pattern detected",description:`${s} tends to be highest on ${l.join(", ")} and lowest on ${u.join(", ")}.`,metric:s,actionable:!1}),e.stdDevMinutes>e.averageMinutes*.5&&a.push({type:"recommendation",severity:"warning",title:"High variability detected",description:`${s} shows high variability (std dev: ${e.stdDevMinutes} min). Consider maintaining a more consistent schedule.`,metric:s,value:e.stdDevMinutes,actionable:!0}),a}detectSuddenChanges(e,t="averageMinutes",r=50){let i=[];for(let s=1;s<e.length;s++){let a=e[s-1][t],c=e[s][t];if(a===0)continue;let l=(c-a)/a*100;Math.abs(l)>=r&&i.push({date:e[s].date,previousValue:a,currentValue:c,changePercent:Math.round(l*10)/10})}return i}};Fo.TrendDetectionService=ob;Fo.TrendDetectionService=ob=P7([(0,F7.injectable)()],ob)});var Z3=S(Hn=>{"use strict";var D7=Hn&&Hn.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},N7=Hn&&Hn.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)};Object.defineProperty(Hn,"__esModule",{value:!0});Hn.AutocompleteService=Hn.DEFAULT_AUTOCOMPLETE_CONFIG=void 0;var L7=le(),Qp=Ir(),ef=xe(),J3=Ve();Hn.DEFAULT_AUTOCOMPLETE_CONFIG={limit:10,activeBoost:20,recencyBoost:10,recencyDays:7};var cb=class{static{o(this,"AutocompleteService")}constructor(e,t){this.tripleStore=e,this.config={...Hn.DEFAULT_AUTOCOMPLETE_CONFIG,...t}}async getSuggestions(e,t,r){let i={...this.config,...r},s=await this.getPropertyRange(e);if(s.length===0){let l=this.inferClassFromProperty(e);l&&s.push(l)}let a=[];for(let l of s){let u=await this.getAssetsOfClass(l);a.push(...u)}return a.map(l=>({...l,matchScore:this.calculateMatchScore(l,t,i)})).filter(l=>l.matchScore>0).sort((l,u)=>u.matchScore-l.matchScore).slice(0,i.limit)}async getSuggestionsByClass(e,t,r){let i={...this.config,...r},s=[];for(let c of e){let l=await this.getAssetsOfClass(c);s.push(...l)}return s.map(c=>({...c,matchScore:this.calculateMatchScore(c,t,i)})).filter(c=>c.matchScore>0).sort((c,l)=>l.matchScore-c.matchScore).slice(0,i.limit)}async getPropertyRange(e){let t=this.toFullIri(e),r=[],i=await this.tripleStore.match(new ef.IRI(t),Qp.Namespace.RDFS.term("range"),void 0);for(let s of i)if(s.object instanceof ef.IRI){let a=this.toClassName(s.object.value);a&&r.push(a)}return r}async getAssetsOfClass(e){let t=this.toFullIri(e),r=[],i=await this.tripleStore.match(void 0,Qp.Namespace.RDF.term("type"),new ef.IRI(t));for(let s of i)if(s.subject instanceof ef.IRI){let a=await this.buildSuggestion(s.subject,e);a&&r.push(a)}return r}async buildSuggestion(e,t){let r=await this.tripleStore.match(e,Qp.Namespace.EXO.term("Asset_label"),void 0),i="";for(let c of r)if(c.object instanceof J3.Literal){i=c.object.value;break}if(i||(i=this.extractLabelFromUri(e.value)),!i)return null;let s=await this.checkIfActive(e),a=this.extractPathFromUri(e.value);return{label:i,uri:e.value,path:a,assetClass:t,isActive:s,matchScore:0}}async checkIfActive(e){let t=await this.tripleStore.match(e,Qp.Namespace.EMS.term("Effort_status"),void 0);for(let r of t){let i=r.object instanceof J3.Literal||r.object instanceof ef.IRI?r.object.value:"";if(i.includes("Active")||i.includes("EffortStatus_Active"))return!0}return!1}calculateMatchScore(e,t,r){if(!t||t.length===0)return e.isActive?100+r.activeBoost:100;let i=e.label.toLowerCase(),s=t.toLowerCase(),a=0;if(i===s)a=100;else if(i.startsWith(s))a=80;else if(i.includes(s))a=60;else if(this.fuzzyMatch(s,i))a=40;else return 0;if(e.isActive&&(a+=r.activeBoost),e.lastModified){let c=(Date.now()-e.lastModified)/864e5;c<=r.recencyDays&&(a+=r.recencyBoost*(1-c/r.recencyDays))}return a}fuzzyMatch(e,t){let r=0;for(let i=0;i<t.length&&r<e.length;i++)t[i]===e[r]&&r++;return r===e.length}inferClassFromProperty(e){let t=e.toLowerCase();return t.includes("project")?"ems__Project":t.includes("area")?"ems__Area":t.includes("task")?"ems__Task":t.includes("effort")?"ems__Effort":null}toFullIri(e){if(e.startsWith("http://")||e.startsWith("https://"))return e;let t=e.match(/^([a-z]+)__(.+)$/);if(t){let[,r,i]=t;switch(r){case"ems":return`https://exocortex.my/ontology/ems#${i}`;case"exo":return`https://exocortex.my/ontology/exo#${i}`;default:return`https://exocortex.my/ontology/${r}#${i}`}}return e}toClassName(e){let t=e.match(/https:\/\/exocortex\.my\/ontology\/([a-z]+)#(.+)$/);if(t){let[,r,i]=t;return`${r}__${i}`}return null}extractLabelFromUri(e){if(e.startsWith("obsidian://")){let r=decodeURIComponent(e),i=r.lastIndexOf("/");if(i>=0){let s=r.substring(i+1);return s.endsWith(".md")&&(s=s.substring(0,s.length-3)),s}}let t=e.lastIndexOf("/");if(t>=0){let r=e.substring(t+1);return r.endsWith(".md")&&(r=r.substring(0,r.length-3)),r}return""}extractPathFromUri(e){if(e.startsWith("obsidian://vault/")){let t=decodeURIComponent(e.substring(17)),r=t.indexOf("/");return r>=0?t.substring(r+1):t}return e}};Hn.AutocompleteService=cb;Hn.AutocompleteService=cb=D7([(0,L7.injectable)(),N7("design:paramtypes",[Object,Object])],cb)});var tx=S(Fi=>{"use strict";var k7=Fi&&Fi.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},M7=Fi&&Fi.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},j7=Fi&&Fi.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(Fi,"__esModule",{value:!0});Fi.DailyReviewService=void 0;var ex=le(),$7=wt(),nl=qr(),B7=Gn(),V7=Sn(),lb=class{static{o(this,"DailyReviewService")}constructor(e){this.vault=e,this.frontmatterService=new B7.FrontmatterService}async getPractices(){let e=this.vault.getAllFiles(),t=[],r=nl.DateFormatter.toDateString(new Date);for(let i of e)if(i.path.endsWith(".md"))try{let s=await this.vault.read(i),a=this.frontmatterService.parse(s);if(!a.exists)continue;let c=this.frontmatterService.getPropertyValue(a.content,"exo__Instance_class");if(!this.isTaskPrototype(c))continue;let l=this.frontmatterService.getPropertyValue(a.content,"exo__Asset_uid");if(!l)continue;let u=l.replace(/"/g,""),f=this.frontmatterService.getPropertyValue(a.content,"exo__Asset_label");if(!f)continue;let d=f.replace(/"/g,""),p=this.frontmatterService.getPropertyValue(a.content,"ems__Recurring_rule")?.replace(/"/g,"")||null,_=this.frontmatterService.getPropertyValue(a.content,"ems__Task_estimatedDuration"),b=null;if(_){let v=parseInt(_,10);isNaN(v)||(b=v)}let E=await this.findTodayInstance(u,r);t.push({uid:u,label:d,path:i.path,recurringRule:p,estimatedDuration:b,doneToday:E?.status==="done",inProgressToday:E?.status==="doing",todayInstancePath:E?.path||null})}catch{continue}return t.sort((i,s)=>i.label.localeCompare(s.label))}async getDailyReviewSummary(e){let t=e||new Date,r=nl.DateFormatter.toDateString(t),i=new Date(t);i.setHours(0,0,0,0);let s=new Date(t);s.setHours(23,59,59,999);let a=this.vault.getAllFiles(),c=0,l=0,u=0,f=0;for(let _ of a)if(_.path.endsWith(".md"))try{let b=await this.vault.read(_),E=this.frontmatterService.parse(b);if(!E.exists)continue;let v=this.frontmatterService.getPropertyValue(E.content,"exo__Instance_class");if(!this.isTask(v))continue;let A=this.frontmatterService.getPropertyValue(E.content,"ems__Effort_plannedStartTimestamp"),R=this.frontmatterService.getPropertyValue(E.content,"ems__Effort_startTimestamp"),B=R?new Date(R):null,W=A?new Date(A):null;if(!(W&&W>=i&&W<=s||B&&B>=i&&B<=s))continue;c++;let z=this.frontmatterService.getPropertyValue(E.content,"ems__Effort_status");if(this.isDoneStatus(z)){l++;let G=this.frontmatterService.getPropertyValue(E.content,"ems__Effort_endTimestamp");if(R&&G){let F=this.calculateDurationMinutes(R,G);f+=F}}else this.isDoingStatus(z)&&u++}catch{continue}let h=(await this.getPractices()).filter(_=>!_.doneToday&&_.recurringRule),p=c>0?Math.round(l/c*100):0;return{date:r,plannedCount:c,completedCount:l,inProgressCount:u,practicesDue:h,completionPercentage:p,totalTimeMinutes:Math.round(f)}}async quickCapture(e,t=!0,r){let i=(0,V7.v4)(),s=nl.DateFormatter.toISOTimestamp(new Date),a=`${i}.md`,c="03 Knowledge/kitelev",l=["---",`exo__Asset_uid: "${i}"`,`exo__Asset_label: "${e}"`,'exo__Instance_class: "[[ems__Task]]"'];if(r?.prototypeUid){let d=this.buildPrototypeUri(r.prototypeUid);l.push(`exo__Asset_prototype: "${d}"`)}if(r?.areaUid){let d=this.buildAssetUri(r.areaUid);l.push(`ems__Effort_area: "${d}"`)}if(r?.parentUid){let d=this.buildAssetUri(r.parentUid);l.push(`ems__Effort_parent: "${d}"`)}t?(l.push('ems__Effort_status: "[[ems__EffortStatusDoing]]"'),l.push(`ems__Effort_startTimestamp: ${s}`)):l.push('ems__Effort_status: "[[ems__EffortStatusBacklog]]"'),l.push("---","","");let u=l.join(`
|
|
372
372
|
`),f=`${c}/${a}`;return await this.vault.create(f,u),{path:f,uid:i,label:e,started:t}}async createFromPractice(e){let r=(await this.getPractices()).find(a=>a.uid===e.prototypeUid);if(!r)throw new Error(`Practice not found: ${e.prototypeUid}`);if(r.doneToday)throw new Error(`Practice "${r.label}" already completed today`);if(r.inProgressToday&&r.todayInstancePath)return{path:r.todayInstancePath,uid:e.prototypeUid,label:r.label,started:!0};let i=nl.DateFormatter.toDateString(new Date),s=e.label||`${r.label} ${i}`;return this.quickCapture(s,e.startImmediately??!0,{prototypeUid:e.prototypeUid,areaUid:e.areaUid,parentUid:e.parentUid})}async markPracticeDone(e){let r=(await this.getPractices()).find(u=>u.uid===e);if(!r)throw new Error(`Practice not found: ${e}`);if(r.doneToday)return;if(!r.todayInstancePath)throw new Error(`No active instance for practice "${r.label}" today`);let i=this.vault.getAbstractFileByPath(r.todayInstancePath);if(!i||!("basename"in i))throw new Error(`File not found: ${r.todayInstancePath}`);let s=i,a=await this.vault.read(s),c=nl.DateFormatter.toISOTimestamp(new Date),l=this.frontmatterService.updateProperty(a,"ems__Effort_status",'"[[ems__EffortStatusDone]]"');l=this.frontmatterService.updateProperty(l,"ems__Effort_endTimestamp",c),l=this.frontmatterService.updateProperty(l,"ems__Effort_resolutionTimestamp",c),await this.vault.modify(s,l)}async findTodayInstance(e,t){let r=this.vault.getAllFiles();for(let i of r)if(i.path.endsWith(".md"))try{let s=await this.vault.read(i),a=this.frontmatterService.parse(s);if(!a.exists)continue;let c=this.frontmatterService.getPropertyValue(a.content,"exo__Asset_prototype");if(!c||!c.includes(e))continue;let l=this.frontmatterService.getPropertyValue(a.content,"exo__Asset_label"),u=this.frontmatterService.getPropertyValue(a.content,"ems__Effort_startTimestamp"),f=l?.includes(t),d=u?new Date(u):null,h=d&&nl.DateFormatter.toDateString(d)===t;if(!f&&!h)continue;let p=this.frontmatterService.getPropertyValue(a.content,"ems__Effort_status");return this.isDoneStatus(p)?{path:i.path,status:"done"}:this.isDoingStatus(p)?{path:i.path,status:"doing"}:{path:i.path,status:"other"}}catch{continue}return null}isTaskPrototype(e){return e?e.includes("ems__TaskPrototype")||e.includes("TaskPrototype"):!1}isTask(e){return e?(e.includes("ems__Task")||e.includes("[[ems__Task]]"))&&!e.includes("Prototype"):!1}isDoneStatus(e){return e?e.includes("Done")||e.includes("EffortStatusDone"):!1}isDoingStatus(e){return e?e.includes("Doing")||e.includes("EffortStatusDoing"):!1}calculateDurationMinutes(e,t){let r=new Date(e);return(new Date(t).getTime()-r.getTime())/1e3/60}buildPrototypeUri(e){return`obsidian://vault/03%20Knowledge%2Fkitelev%2F${e}.md`}buildAssetUri(e){return`obsidian://vault/03%20Knowledge%2Fkitelev%2F${e}.md`}};Fi.DailyReviewService=lb;Fi.DailyReviewService=lb=k7([(0,ex.injectable)(),j7(0,(0,ex.inject)($7.DI_TOKENS.IVaultAdapter)),M7("design:paramtypes",[Object])],lb)});var fb=S(Gr=>{"use strict";var U7=Gr&&Gr.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},q7=Gr&&Gr.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},W7=Gr&&Gr.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(Gr,"__esModule",{value:!0});Gr.CriticalityZoneService=Gr.CriticalityZoneUUIDs=void 0;var rx=le(),G7=Gn(),z7=wt();Gr.CriticalityZoneUUIDs={TODAY:"e266a2e9-9eb0-431d-b1fe-b95b9d3e9a3f",THIS_WEEK:"c7f1a968-0959-4ac7-ac82-31b0cdc2aba7",SOMEDAY:"6968a0fc-7a41-4393-82b1-17d767c7ad7c"};var ub=class{static{o(this,"CriticalityZoneService")}constructor(e){this.vault=e,this.frontmatterService=new G7.FrontmatterService}async setZoneToday(e){await this.setZone(e,Gr.CriticalityZoneUUIDs.TODAY)}async setZoneThisWeek(e){await this.setZone(e,Gr.CriticalityZoneUUIDs.THIS_WEEK)}async setZoneSomeday(e){await this.setZone(e,Gr.CriticalityZoneUUIDs.SOMEDAY)}async setZone(e,t){let r=await this.vault.read(e),i=this.frontmatterService.updateProperty(r,"ems__Task_zone",`"[[${t}]]"`);await this.vault.modify(e,i)}};Gr.CriticalityZoneService=ub;Gr.CriticalityZoneService=ub=U7([(0,rx.injectable)(),W7(0,(0,rx.inject)(z7.DI_TOKENS.IVaultAdapter)),q7("design:paramtypes",[Object])],ub)});var nx=S(Yp=>{"use strict";Object.defineProperty(Yp,"__esModule",{value:!0});Yp.EffortSortingHelpers=void 0;var db=class n{static{o(this,"EffortSortingHelpers")}static getTimeFromTimestamp(e){if(!e)return"00:00:00";let t=new Date(e);if(isNaN(t.getTime()))return"00:00:00";let r=String(t.getHours()).padStart(2,"0"),i=String(t.getMinutes()).padStart(2,"0"),s=String(t.getSeconds()).padStart(2,"0");return`${r}:${i}:${s}`}static sortByStartTime(e,t){let r=n.getTimeFromTimestamp(e.startTimestamp),i=n.getTimeFromTimestamp(t.startTimestamp),s=r==="00:00:00",a=i==="00:00:00";return s&&!a?1:!s&&a?-1:r.localeCompare(i)}static sortByPriority(e,t){if(e.isTrashed!==t.isTrashed)return e.isTrashed?1:-1;if(e.isDone!==t.isDone)return e.isDone?1:-1;let r=typeof e.metadata.ems__Effort_votes=="number"?e.metadata.ems__Effort_votes:0,i=typeof t.metadata.ems__Effort_votes=="number"?t.metadata.ems__Effort_votes:0;return r!==i?i-r:e.startTime&&t.startTime?e.startTime.localeCompare(t.startTime):e.startTime?-1:t.startTime?1:0}};Yp.EffortSortingHelpers=db});var ix=S(Kp=>{"use strict";Object.defineProperty(Kp,"__esModule",{value:!0});Kp.FilenameValidator=void 0;var Do=class{static{o(this,"FilenameValidator")}static validate(e,t={}){let{maxLength:r=this.DEFAULT_MAX_LENGTH,replacementChar:i=this.DEFAULT_REPLACEMENT,allowEmpty:s=!1}=t,a=[];if(!e||e.trim().length===0)return s||a.push("Filename cannot be empty"),{valid:a.length===0,sanitized:"",errors:a};e.endsWith(" ")&&a.push("Filename should not end with a space");let c=e.trim();this.INVALID_CHARS_PATTERN.test(c)&&a.push('Filename contains invalid characters: / \\ : * ? " < > |');let l=this.getBaseName(c);this.RESERVED_NAMES.has(l.toUpperCase())&&a.push(`"${l}" is a reserved filename on Windows`),c.length>r&&a.push(`Filename exceeds maximum length of ${r} characters`),c.startsWith(".")&&a.push("Filename should not start with a dot"),c.endsWith(".")&&a.push("Filename should not end with a dot");let u=this.sanitize(e,{maxLength:r,replacementChar:i});return{valid:a.length===0,sanitized:u,errors:a}}static sanitize(e,t={}){let{maxLength:r=this.DEFAULT_MAX_LENGTH,replacementChar:i=this.DEFAULT_REPLACEMENT}=t;if(!e||e.trim().length===0)return"";let s=e.trim();for(s=s.replace(this.INVALID_CHARS_PATTERN,i);s.startsWith(".")&&s.length>1;)s=s.substring(1);for(;s.length>0&&(s.endsWith(".")||s.endsWith(" "));)s=s.slice(0,-1);for(s.includes(i)&&(s=s.split(i).filter(u=>u!=="").join(i));s.startsWith(i);)s=s.slice(i.length);for(;s.endsWith(i);)s=s.slice(0,-i.length);let a=this.getBaseName(s);if(this.RESERVED_NAMES.has(a.toUpperCase())){let c=this.getExtension(s);s=a+i+c}if(s.length>r)for(s=s.slice(0,r);s.endsWith(i);)s=s.slice(0,-i.length);return s}static hasInvalidChars(e){return this.INVALID_CHARS_PATTERN.test(e)}static getInvalidChars(e){let t=e.match(this.INVALID_CHARS_PATTERN);return t?[...new Set(t)]:[]}static getBaseName(e){let t=e.lastIndexOf(".");return t===-1||t===0?e:e.substring(0,t)}static getExtension(e){let t=e.lastIndexOf(".");return t===-1||t===0?"":e.substring(t)}};Kp.FilenameValidator=Do;Do.INVALID_CHARS_PATTERN=/[/\\:*?"<>|\x00-\x1F]/g;Do.RESERVED_NAMES=new Set(["CON","PRN","AUX","NUL","COM1","COM2","COM3","COM4","COM5","COM6","COM7","COM8","COM9","LPT1","LPT2","LPT3","LPT4","LPT5","LPT6","LPT7","LPT8","LPT9"]);Do.DEFAULT_MAX_LENGTH=200;Do.DEFAULT_REPLACEMENT="_"});var pb=S(Xp=>{"use strict";Object.defineProperty(Xp,"__esModule",{value:!0});Xp.NTriplesSerializer=void 0;var hb=class{static{o(this,"NTriplesSerializer")}serialize(e,t={}){let r=t.newline??`
|
|
373
373
|
`;return e.length===0?"":e.map(i=>i.toString()).join(r)+r}serializeChunk(e,t){return e.length===0?"":e.map(r=>r.toString()).join(t)+t}};Xp.NTriplesSerializer=hb});var sx=S(Jp=>{"use strict";Object.defineProperty(Jp,"__esModule",{value:!0});Jp.TurtleSerializer=void 0;var il=Ir(),H7=pb(),Q7={rdf:il.Namespace.RDF.iri.value,rdfs:il.Namespace.RDFS.iri.value,owl:il.Namespace.OWL.iri.value,xsd:il.Namespace.XSD.iri.value,exo:il.Namespace.EXO.iri.value,ems:il.Namespace.EMS.iri.value},mb=class{static{o(this,"TurtleSerializer")}constructor(){this.nTriplesSerializer=new H7.NTriplesSerializer}serialize(e,t={}){let r=t.newline??`
|
|
374
374
|
`,i=this.composePrefixes(t),s=this.serializePrefixes(i,r),a=this.nTriplesSerializer.serialize(e,{newline:r}).trimEnd();return s?a?`${s}${r}${r}${a}${r}`:`${s}${r}`:a?`${a}${r}`:""}serializePrefixes(e,t){let r=Object.entries(e);return r.length===0?"":r.map(([i,s])=>`@prefix ${i}: <${s}> .`).join(t)}composePrefixes(e){return e.includeDefaultPrefixes??!0?{...Q7,...e.prefixes??{}}:{...e.prefixes??{}}}serializeTriplesOnly(e,t){return this.nTriplesSerializer.serializeChunk(e,t).trimEnd()}};Jp.TurtleSerializer=mb});var cx=S(Zp=>{"use strict";Object.defineProperty(Zp,"__esModule",{value:!0});Zp.JSONLDSerializer=void 0;var ax=xe(),ox=qt(),Y7=Ve(),sl=Ir(),K7={rdf:sl.Namespace.RDF.iri.value,rdfs:sl.Namespace.RDFS.iri.value,owl:sl.Namespace.OWL.iri.value,xsd:sl.Namespace.XSD.iri.value,exo:sl.Namespace.EXO.iri.value,ems:sl.Namespace.EMS.iri.value},gb=class{static{o(this,"JSONLDSerializer")}toDocument(e,t={}){let r={...K7,...t.context??{}},i=new Map;for(let s of e){let a=this.subjectToId(s.subject),c=this.compactIri(s.predicate.value,r),l=this.objectToJSONLD(s.object,r),u=i.get(a)??{"@id":a},f=u[c];f===void 0?u[c]=l:Array.isArray(f)?f.push(l):u[c]=[f,l],i.set(a,u)}return{"@context":r,"@graph":Array.from(i.values())}}serialize(e,t={}){let r=this.toDocument(e,t),i=t.pretty?t.indent??2:void 0;return JSON.stringify(r,null,i)}subjectToId(e){return e instanceof ax.IRI?e.value:e instanceof ox.BlankNode?`_:${e.id}`:String(e)}compactIri(e,t){for(let[r,i]of Object.entries(t))if(e.startsWith(i)){let s=e.slice(i.length);if(s.length>0)return`${r}:${s}`}return e}objectToJSONLD(e,t){if(e instanceof ax.IRI)return{"@id":e.value};if(e instanceof ox.BlankNode)return{"@id":`_:${e.id}`};if(e instanceof Y7.Literal){let r={"@value":e.value};return e.datatype?r["@type"]=this.compactIri(e.datatype.value,t):e.language&&(r["@language"]=e.language,e.hasDirection()&&e.direction&&(r["@direction"]=e.direction)),r}return e}};Zp.JSONLDSerializer=gb});var Sb=S(em=>{"use strict";Object.defineProperty(em,"__esModule",{value:!0});em.NTriplesParser=void 0;var X7=ii(),lx=xe(),yb=Ve(),J7=qt(),al=Ir(),Z7={rdf:al.Namespace.RDF.iri.value,rdfs:al.Namespace.RDFS.iri.value,owl:al.Namespace.OWL.iri.value,xsd:al.Namespace.XSD.iri.value,exo:al.Namespace.EXO.iri.value,ems:al.Namespace.EMS.iri.value},_b=class{static{o(this,"NTriplesParser")}parse(e,t={}){let r={prefixes:{...Z7,...t.prefixes??{}},strict:t.strict??!1},i=[];return e.split(/\r?\n/).forEach((a,c)=>{let l=a.trim();!l||l.startsWith("#")||i.push(this.parseLine(l,c+1,r))}),i}parseLine(e,t,r){if(!e.endsWith("."))throw new Error(`Invalid RDF statement at line ${t}: missing '.' terminator`);let s=e.slice(0,-1).trim(),a=this.parseSubject(s,t,r);s=a.rest.trim();let c=this.parsePredicate(s,t,r);s=c.rest.trim();let l=this.parseObject(s,t,r);if(s=l.rest.trim(),s.length>0)throw new Error(`Unexpected tokens after object at line ${t}`);return new X7.Triple(a.node,c.node,l.node)}parseSubject(e,t,r){return e.startsWith("<")?this.consumeIRI(e,t,r):e.startsWith("_:")?this.consumeBlankNode(e,t):this.consumePrefixedName(e,t,r)}parsePredicate(e,t,r){return e.startsWith("<")?this.consumeIRI(e,t,r):this.consumePrefixedName(e,t,r)}parseObject(e,t,r){return e.startsWith("<")?this.consumeIRI(e,t,r):e.startsWith("_:")?this.consumeBlankNode(e,t):e.startsWith('"')?this.consumeLiteral(e,t,r):this.consumePrefixedName(e,t,r)}consumePrefixedName(e,t,r){let i=e.match(/^([a-zA-Z_][\w-]*):([^\s]+)(?:\s+(.*))?$/);if(!i)throw new Error(`Invalid token at line ${t}: ${e}`);let[,s,a,c]=i,l=r.prefixes[s];if(!l)throw new Error(`Unknown prefix "${s}" at line ${t}`);return{node:new lx.IRI(`${l}${a}`),rest:(c??"").trimStart()}}consumeIRI(e,t,r){let i=this.findClosingBracket(e,"<",">");if(i===-1)throw new Error(`Invalid IRI at line ${t}`);let s=e.slice(1,i),a=new lx.IRI(s),c=e.slice(i+1).trimStart();return{node:a,rest:c}}consumeBlankNode(e,t){let r=e.match(/^_:(\w+)(?:\s+(.*))?$/);if(!r)throw new Error(`Invalid blank node identifier at line ${t}`);let[,i,s]=r;return{node:new J7.BlankNode(i),rest:(s??"").trimStart()}}consumeLiteral(e,t,r){let{value:i,rest:s}=this.consumeQuotedString(e,t),a=s.trimStart();if(a.startsWith("^^")){a=a.slice(2).trimStart();let c=a.startsWith("<")?this.consumeIRI(a,t,r):this.consumePrefixedName(a,t,r);return{node:new yb.Literal(i,c.node),rest:c.rest}}if(a.startsWith("@")){let c=a.match(/^@([a-zA-Z-]+)(?:\s+(.*))?$/);if(!c)throw new Error(`Invalid language tag at line ${t}`);let[,l,u]=c;return{node:new yb.Literal(i,void 0,l),rest:(u??"").trimStart()}}return{node:new yb.Literal(i),rest:a}}consumeQuotedString(e,t){if(!e.startsWith('"'))throw new Error(`Expected quoted string at line ${t}`);let r="";for(let i=1;i<e.length;i++){let s=e[i];if(s==="\\"){if(i+1>=e.length)throw new Error(`Invalid escape sequence at line ${t}`);let a=e[i+1];switch(a){case"t":r+=" ",i+=1;break;case"b":r+="\b",i+=1;break;case"n":r+=`
|
|
375
375
|
`,i+=1;break;case"r":r+="\r",i+=1;break;case"f":r+="\f",i+=1;break;case'"':r+='"',i+=1;break;case"\\":r+="\\",i+=1;break;case"u":{let c=e.slice(i+2,i+6);if(c.length!==4||!/^[0-9a-fA-F]{4}$/.test(c))throw new Error(`Invalid \\u escape at line ${t}`);r+=String.fromCharCode(parseInt(c,16)),i+=5;break}case"U":{let c=e.slice(i+2,i+10);if(c.length!==8||!/^[0-9a-fA-F]{8}$/.test(c))throw new Error(`Invalid \\U escape at line ${t}`);r+=String.fromCodePoint(parseInt(c,16)),i+=9;break}default:throw new Error(`Unknown escape sequence \\${a} at line ${t}`)}continue}if(s==='"'){let a=e.slice(i+1);return{value:r,rest:a}}r+=s}throw new Error(`Unterminated string literal at line ${t}`)}findClosingBracket(e,t,r){let i=0;for(let s=0;s<e.length;s++){let a=e[s];if(a===t){i++;continue}if(a===r&&(i--,i===0))return s}return-1}};em.NTriplesParser=_b});var ux=S(tm=>{"use strict";Object.defineProperty(tm,"__esModule",{value:!0});tm.TurtleParser=void 0;var ol=Ir(),e8=Sb(),t8={rdf:ol.Namespace.RDF.iri.value,rdfs:ol.Namespace.RDFS.iri.value,owl:ol.Namespace.OWL.iri.value,xsd:ol.Namespace.XSD.iri.value,exo:ol.Namespace.EXO.iri.value,ems:ol.Namespace.EMS.iri.value},r8=/^@prefix\s+([a-zA-Z_][\w-]*):\s*<([^>]+)>\s*\.$/,bb=class{static{o(this,"TurtleParser")}constructor(){this.nTriplesParser=new e8.NTriplesParser}parse(e,t={}){let r={...t8,...t.prefixes??{}},i=this.collectStatements(e),s=[];return i.forEach(({statement:a,lineNumber:c})=>{if(this.isPrefixStatement(a)){let u=a.match(r8);if(!u)throw new Error(`Invalid prefix declaration at line ${c}`);let[,f,d]=u;r[f]=d;return}if(a.includes(";")||a.includes(","))throw new Error(`Complex Turtle statements with ';' or ',' are not supported (line ${c})`);let l=this.normalizeShortcuts(a);s.push(this.nTriplesParser.parseLine(l,c,{prefixes:r,strict:!1}))}),s}collectStatements(e){let t=e.split(/\r?\n/),r=[],i="",s=0;if(t.forEach((a,c)=>{let l=a.trim();!l||l.startsWith("#")||(i||(s=c+1),i=i?`${i} ${l}`:l,l.endsWith(".")&&(r.push({statement:i,lineNumber:s}),i=""))}),i)throw new Error(`Unterminated Turtle statement near line ${s}`);return r}isPrefixStatement(e){return e.startsWith("@prefix")}normalizeShortcuts(e){return e.includes(" a ")?e.replace(/\sa\s/g," rdf:type "):e}};tm.TurtleParser=bb});var fx=S(rm=>{"use strict";Object.defineProperty(rm,"__esModule",{value:!0});rm.RDFSerializer=void 0;var cl=ii(),No=xe(),Lo=Ve(),vb=qt(),us=Ir(),n8=sx(),i8=pb(),s8=cx(),a8=ux(),o8=Sb(),c8=1024,l8=`
|
|
376
376
|
`,u8={rdf:us.Namespace.RDF.iri.value,rdfs:us.Namespace.RDFS.iri.value,owl:us.Namespace.OWL.iri.value,xsd:us.Namespace.XSD.iri.value,exo:us.Namespace.EXO.iri.value,ems:us.Namespace.EMS.iri.value},wb=class{static{o(this,"RDFSerializer")}constructor(e){this.store=e,this.turtleSerializer=new n8.TurtleSerializer,this.nTriplesSerializer=new i8.NTriplesSerializer,this.jsonldSerializer=new s8.JSONLDSerializer,this.turtleParser=new a8.TurtleParser,this.nTriplesParser=new o8.NTriplesParser}async serialize(e,t={}){let r=await this.store.match();return this.serializeTriples(r,e,t)}serializeTriples(e,t,r={}){switch(t){case"turtle":return this.turtleSerializer.serialize(e,{prefixes:r.prefixes,includeDefaultPrefixes:r.includeDefaultPrefixes,newline:r.newline});case"n-triples":return this.nTriplesSerializer.serialize(e,{newline:r.newline});case"json-ld":return this.jsonldSerializer.serialize(e,{context:r.prefixes,pretty:r.pretty,indent:r.indent});default:throw new Error(`Unsupported serialization format: ${t}`)}}stream(e,t={}){let r=t.newline??l8,i=t.batchSize??c8,s=t.includeDefaultPrefixes,a=t.prefixes,c=this,l=!1,u=[],f=[],d=0,h=o(async()=>{if(!l){if(f=await c.store.match(),e==="json-ld"){let _=c.jsonldSerializer.toDocument(f,{context:a,pretty:!1});u.push(...c.buildJsonLdChunks(_))}else if(e==="turtle"){let _=c.turtleSerializer.serializePrefixes(c.composePrefixes(a,s),r);_&&u.push(`${_}${r}${r}`)}l=!0}},"ensureInitialized");return{async next(){if(await h(),u.length>0)return{value:u.shift(),done:!1};if(e==="json-ld")return{value:void 0,done:!0};if(d>=f.length)return{value:void 0,done:!0};let _=f.slice(d,d+i);d+=_.length;let b="";if(e==="turtle"){let E=c.turtleSerializer.serializeTriplesOnly(_,r);E&&(b=`${E}${r}`)}else e==="n-triples"&&(b=c.nTriplesSerializer.serializeChunk(_,r));return b?{value:b,done:!1}:this.next()},async return(){return u=[],f=[],d=0,{value:void 0,done:!0}},[Symbol.asyncIterator](){return this}}}async load(e,t,r={}){let i=this.parse(e,t,r);return r.mode!=="append"&&await this.store.clear(),await this.store.addAll(i),i.length}parse(e,t,r={}){switch(t){case"turtle":return this.turtleParser.parse(e,this.buildTurtleParseOptions(r));case"n-triples":return this.nTriplesParser.parse(e,this.buildNTriplesParseOptions(r));case"json-ld":return this.parseJsonLd(e,r);default:throw new Error(`Unsupported serialization format: ${t}`)}}buildTurtleParseOptions(e){return{prefixes:this.composePrefixes(e.prefixes,!0),strict:e.strict}}buildNTriplesParseOptions(e){return{prefixes:this.composePrefixes(e.prefixes,!0),strict:e.strict}}composePrefixes(e,t){return t??!0?{...u8,...e??{}}:{...e??{}}}parseJsonLd(e,t){let r;try{r=JSON.parse(e)}catch(u){throw new Error(`Invalid JSON-LD document: ${u.message}`)}let i=this.composePrefixes(t.prefixes,!0),s=this.extractContext(r),a={...i,...s},c=this.extractGraph(r),l=[];return c.forEach((u,f)=>{if(!u||typeof u!="object"||Array.isArray(u))throw new Error(`Invalid JSON-LD node at index ${f}`);let d=this.parseSubjectFromNode(u,a,f),h=Object.entries(u);for(let[p,_]of h){if(p==="@id"||p==="@context")continue;if(p==="@type"){this.collectTypeTriples(d,_,l,a);continue}let b=this.expandTerm(p,a),E=new No.IRI(b);this.collectTriplesForValue(d,E,_,l,a)}}),l}extractContext(e){if(!e||typeof e!="object"||Array.isArray(e))return{};let t=e["@context"];if(!t||typeof t!="object"||Array.isArray(t))return{};let r={};return Object.entries(t).forEach(([i,s])=>{typeof s=="string"&&(r[i]=s)}),r}extractGraph(e){if(Array.isArray(e))return e;if(!e||typeof e!="object")return[];let t=e["@graph"];return Array.isArray(t)?t:[e]}parseSubjectFromNode(e,t,r){let i=e["@id"];if(typeof i=="string"){if(i.startsWith("_:"))return new vb.BlankNode(i.slice(2));if(this.isAbsoluteIri(i))return new No.IRI(i);let s=this.expandTerm(i,t);return new No.IRI(s)}return new vb.BlankNode(`jsonld_${r}`)}collectTypeTriples(e,t,r,i){let s=us.Namespace.RDF.term("type");(Array.isArray(t)?t:[t]).forEach(c=>{if(typeof c!="string")throw new Error("Invalid @type value in JSON-LD node");let l=this.expandTerm(c,i);r.push(new cl.Triple(e,s,new No.IRI(l)))})}collectTriplesForValue(e,t,r,i,s){if(r!=null){if(Array.isArray(r)){r.forEach(a=>this.collectTriplesForValue(e,t,a,i,s));return}if(typeof r=="object"){let a=r;if(typeof a["@id"]=="string"){let c=this.parseIdNode(a["@id"],s);i.push(new cl.Triple(e,t,c));return}if(a["@value"]!==void 0){let c=this.parseLiteralObject(a,s);i.push(new cl.Triple(e,t,c));return}}if(typeof r=="string"){i.push(new cl.Triple(e,t,new Lo.Literal(r)));return}if(typeof r=="number"){let a=Number.isInteger(r)?us.Namespace.XSD.term("integer"):us.Namespace.XSD.term("decimal");i.push(new cl.Triple(e,t,new Lo.Literal(r.toString(),a)));return}if(typeof r=="boolean"){let a=us.Namespace.XSD.term("boolean");i.push(new cl.Triple(e,t,new Lo.Literal(r.toString(),a)));return}throw new Error("Unsupported JSON-LD value encountered")}}parseIdNode(e,t){if(e.startsWith("_:"))return new vb.BlankNode(e.slice(2));if(this.isAbsoluteIri(e))return new No.IRI(e);let r=this.expandTerm(e,t);return new No.IRI(r)}parseLiteralObject(e,t){let r=e["@value"];if(typeof r!="string")throw new Error("JSON-LD literal values must be strings");if(typeof e["@language"]=="string"){let i=e["@direction"];return i==="ltr"||i==="rtl"?new Lo.Literal(r,void 0,e["@language"],i):new Lo.Literal(r,void 0,e["@language"])}if(typeof e["@type"]=="string"){let i=this.expandTerm(e["@type"],t);return new Lo.Literal(r,new No.IRI(i))}return new Lo.Literal(r)}expandTerm(e,t){if(this.isAbsoluteIri(e))return e;let r=e.indexOf(":");if(r>0){let s=e.slice(0,r),a=e.slice(r+1),c=t[s];if(!c)throw new Error(`Unknown prefix "${s}" in JSON-LD document`);return`${c}${a}`}let i=t["@vocab"];if(i)return`${i}${e}`;throw new Error(`Unable to expand JSON-LD term "${e}"`)}isAbsoluteIri(e){return/^[a-z][a-z0-9+.-]*:/i.test(e)}buildJsonLdChunks(e){let t=[],r=JSON.stringify(e["@context"]);return t.push(`{"@context":${r},"@graph":[`),e["@graph"].forEach((i,s)=>{let a=JSON.stringify(i);s>0?t.push(`,${a}`):t.push(a)}),t.push(`]}
|
|
377
|
-
`),t}};rm.RDFSerializer=wb});var Tb=S(nm=>{"use strict";Object.defineProperty(nm,"__esModule",{value:!0});nm.RDFVocabularyMapper=void 0;var Jt=ii(),dx=xe(),X=Ir(),Eb=class{static{o(this,"RDFVocabularyMapper")}constructor(){this.propertyMappings=new Map([["exo__Instance_class",X.Namespace.RDF.term("type")],["exo__Asset_isDefinedBy",X.Namespace.RDFS.term("isDefinedBy")],["exo__Class_superClass",X.Namespace.RDFS.term("subClassOf")],["exo__Property_range",X.Namespace.RDFS.term("range")],["exo__Property_domain",X.Namespace.RDFS.term("domain")],["exo__Property_superProperty",X.Namespace.RDFS.term("subPropertyOf")]])}generateClassHierarchyTriples(){let e=[];return e.push(new Jt.Triple(X.Namespace.EXO.term("Asset"),X.Namespace.RDFS.term("subClassOf"),X.Namespace.RDFS.term("Resource"))),e.push(new Jt.Triple(X.Namespace.EXO.term("Class"),X.Namespace.RDFS.term("subClassOf"),X.Namespace.RDFS.term("Class"))),e.push(new Jt.Triple(X.Namespace.EXO.term("Property"),X.Namespace.RDFS.term("subClassOf"),X.Namespace.RDF.term("Property"))),e.push(new Jt.Triple(X.Namespace.EMS.term("Task"),X.Namespace.RDFS.term("subClassOf"),X.Namespace.EXO.term("Asset"))),e.push(new Jt.Triple(X.Namespace.EMS.term("Project"),X.Namespace.RDFS.term("subClassOf"),X.Namespace.EXO.term("Asset"))),e.push(new Jt.Triple(X.Namespace.EMS.term("Area"),X.Namespace.RDFS.term("subClassOf"),X.Namespace.EXO.term("Asset"))),e.push(new Jt.Triple(X.Namespace.EMS.term("Workflow"),X.Namespace.RDFS.term("subClassOf"),X.Namespace.EXO.term("Asset"))),e.push(new Jt.Triple(X.Namespace.EMS.term("WorkflowState"),X.Namespace.RDFS.term("subClassOf"),X.Namespace.EXO.term("Asset"))),e.push(new Jt.Triple(X.Namespace.EMS.term("WorkflowTransition"),X.Namespace.RDFS.term("subClassOf"),X.Namespace.EXO.term("Asset"))),e.push(new Jt.Triple(X.Namespace.EXOCMD.term("Command"),X.Namespace.RDFS.term("subClassOf"),X.Namespace.EXO.term("Asset"))),e.push(new Jt.Triple(X.Namespace.EXOCMD.term("Precondition"),X.Namespace.RDFS.term("subClassOf"),X.Namespace.EXO.term("Asset"))),e.push(new Jt.Triple(X.Namespace.EXOCMD.term("Grounding"),X.Namespace.RDFS.term("subClassOf"),X.Namespace.EXO.term("Asset"))),e.push(new Jt.Triple(X.Namespace.EXOCMD.term("CommandBinding"),X.Namespace.RDFS.term("subClassOf"),X.Namespace.EXO.term("Asset"))),e}generatePropertyHierarchyTriples(){let e=[];return e.push(new Jt.Triple(X.Namespace.EXO.term("Instance_class"),X.Namespace.RDFS.term("subPropertyOf"),X.Namespace.RDF.term("type"))),e.push(new Jt.Triple(X.Namespace.EXO.term("Asset_isDefinedBy"),X.Namespace.RDFS.term("subPropertyOf"),X.Namespace.RDFS.term("isDefinedBy"))),e.push(new Jt.Triple(X.Namespace.EXO.term("Class_superClass"),X.Namespace.RDFS.term("subPropertyOf"),X.Namespace.RDFS.term("subClassOf"))),e.push(new Jt.Triple(X.Namespace.EXO.term("Property_range"),X.Namespace.RDFS.term("subPropertyOf"),X.Namespace.RDFS.term("range"))),e.push(new Jt.Triple(X.Namespace.EXO.term("Property_domain"),X.Namespace.RDFS.term("subPropertyOf"),X.Namespace.RDFS.term("domain"))),e.push(new Jt.Triple(X.Namespace.EXO.term("Property_superProperty"),X.Namespace.RDFS.term("subPropertyOf"),X.Namespace.RDFS.term("subPropertyOf"))),e}generateMappedTriple(e,t,r){let i=this.propertyMappings.get(t);if(!i)return null;let s;if(r instanceof dx.IRI)s=r;else{let a=r.match(/^(ems|exo|exocmd)__(.+)$/);if(a){let[,c,l]=a;s=(c==="ems"?X.Namespace.EMS:c==="exocmd"?X.Namespace.EXOCMD:X.Namespace.EXO).term(l)}else s=new dx.IRI(r)}return new Jt.Triple(e,i,s)}hasMappingFor(e){return this.propertyMappings.has(e)}};nm.RDFVocabularyMapper=Eb});var hx=S(sm=>{"use strict";Object.defineProperty(sm,"__esModule",{value:!0});sm.RDFSInferenceEngine=void 0;var f8=ii(),im=xe(),Ab=class{static{o(this,"RDFSInferenceEngine")}async materialize(e){let t=await e.predicates(),r=t.find(d=>d.value.includes("Class_superClass")),i=t.find(d=>d.value.includes("Instance_class"));if(!r||!i)return 0;let s=await this.buildDirectParentMap(e,r);if(s.size===0)return 0;let a=this.computeAllAncestors(s),c=await e.count(),l=await e.match(void 0,i),u=[];for(let d of l)if(d.object instanceof im.IRI){let h=a.get(d.object.value);if(h)for(let p of h)u.push(new f8.Triple(d.subject,i,new im.IRI(p)))}return u.length>0&&await e.addAll(u),await e.count()-c}async buildDirectParentMap(e,t){let r=await e.match(void 0,t),i=new Map;for(let s of r)if(s.subject instanceof im.IRI&&s.object instanceof im.IRI){let a=s.subject.value,c=s.object.value;i.has(a)||i.set(a,new Set),i.get(a).add(c)}return i}computeAllAncestors(e){let t=new Map;for(let r of e.keys())t.has(r)||t.set(r,this.computeAncestorsBFS(r,e));return t}computeAncestorsBFS(e,t){let r=new Set,i=new Set,s=[],a=t.get(e);if(a)for(let c of a)s.push(c);for(;s.length>0;){let c=s.shift();if(i.has(c))continue;i.add(c),r.add(c);let l=t.get(c);if(l)for(let u of l)i.has(u)||s.push(u)}return r}};sm.RDFSInferenceEngine=Ab});var Ib=S(ko=>{"use strict";var d8=ko&&ko.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};Object.defineProperty(ko,"__esModule",{value:!0});ko.NonInheritablePropertyRegistry=void 0;var h8=le(),px=xe(),mx=Ve(),xb=Ir(),Cb=class{static{o(this,"NonInheritablePropertyRegistry")}constructor(){this.nonInheritableIRIs=new Set,this.initialized=!1}async initialize(e){this.nonInheritableIRIs.clear();try{let t=await e.predicates(),r=t.find(c=>c.value.includes("Instance_class"));if(!r){this.initialized=!0;return}let i=await this.findNonInheritableClassIRI(e,t);if(!i){this.initialized=!0;return}let s=await e.match(void 0,r,i);if(s.length===0){this.initialized=!0;return}let a=t.find(c=>c.value.includes("Asset_label"));if(!a){this.initialized=!0;return}for(let c of s){let l=await e.match(c.subject,a,void 0);for(let u of l)if(u.object instanceof mx.Literal){let f=u.object.value,d=this.propertyKeyToIRI(f);d&&this.nonInheritableIRIs.add(d)}}}catch{}this.initialized=!0}isNonInheritable(e){return this.nonInheritableIRIs.has(e)}get size(){return this.nonInheritableIRIs.size}get isInitialized(){return this.initialized}async findNonInheritableClassIRI(e,t){let r=t.find(a=>a.value.includes("Asset_label"));if(!r)return null;let i=await e.match(void 0,r,new mx.Literal("exo__NonInheritableProperty"));if(i.length>0&&i[0].subject instanceof px.IRI)return i[0].subject;let s=t.find(a=>a.value.includes("Instance_class"));if(s){let a=await e.match(void 0,s,void 0);for(let c of a)if(c.object instanceof px.IRI&&c.object.value.includes("NonInheritableProperty"))return c.object}return null}propertyKeyToIRI(e){return e.startsWith("exo__")?xb.Namespace.EXO.term(e.substring(5)).value:e.startsWith("ems__")?xb.Namespace.EMS.term(e.substring(5)).value:e.startsWith("exocmd__")?xb.Namespace.EXOCMD.term(e.substring(8)).value:null}};ko.NonInheritablePropertyRegistry=Cb;ko.NonInheritablePropertyRegistry=Cb=d8([(0,h8.injectable)()],Cb)});var Pb=S(Mo=>{"use strict";var p8=Mo&&Mo.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};Object.defineProperty(Mo,"__esModule",{value:!0});Mo.PropertyCardinalityRegistry=void 0;var m8=le(),gx=xe(),yx=Ve(),Rb=Ir(),Ob=class{static{o(this,"PropertyCardinalityRegistry")}constructor(){this.multiValuedIRIs=new Set,this.initialized=!1}async initialize(e){this.multiValuedIRIs.clear();try{let t=await e.predicates(),r=t.find(c=>c.value.includes("Property_cardinality"));if(!r){this.initialized=!0;return}let i=await this.findMultipleCardinalityIRI(e,t);if(!i){this.initialized=!0;return}let s=await e.match(void 0,r,i);if(s.length===0){this.initialized=!0;return}let a=t.find(c=>c.value.includes("Asset_label"));if(!a){this.initialized=!0;return}for(let c of s){let l=await e.match(c.subject,a,void 0);for(let u of l)if(u.object instanceof yx.Literal){let f=u.object.value,d=this.propertyKeyToIRI(f);d&&this.multiValuedIRIs.add(d)}}}catch{}this.initialized=!0}isMultiValued(e){return this.multiValuedIRIs.has(e)}get size(){return this.multiValuedIRIs.size}get isInitialized(){return this.initialized}async findMultipleCardinalityIRI(e,t){let r=t.find(a=>a.value.includes("Asset_label"));if(!r)return null;let i=await e.match(void 0,r,new yx.Literal("exo__PropertyCardinalityMultiple"));if(i.length>0&&i[0].subject instanceof gx.IRI)return i[0].subject;let s=t.find(a=>a.value.includes("Instance_class"));if(s){let a=await e.match(void 0,s,void 0);for(let c of a)if(c.object instanceof gx.IRI&&c.object.value.includes("PropertyCardinalityMultiple"))return c.object}return null}propertyKeyToIRI(e){return e.startsWith("exo__")?Rb.Namespace.EXO.term(e.substring(5)).value:e.startsWith("ems__")?Rb.Namespace.EMS.term(e.substring(5)).value:e.startsWith("exocmd__")?Rb.Namespace.EXOCMD.term(e.substring(8)).value:null}};Mo.PropertyCardinalityRegistry=Ob;Mo.PropertyCardinalityRegistry=Ob=p8([(0,m8.injectable)()],Ob)});var Nb=S(pr=>{"use strict";var g8=pr&&pr.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},y8=pr&&pr.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)};Object.defineProperty(pr,"__esModule",{value:!0});pr.PrototypeChainMaterializer=pr.MAX_PROTOTYPE_DEPTH=pr.INFERRED_GRAPH=void 0;pr.inferredGraphForDepth=Fb;var _8=le(),_x=ii(),Oa=xe(),S8=Ib(),b8=Pb();pr.INFERRED_GRAPH=new Oa.IRI("https://exocortex.my/ontology/exo#inferred");var v8="https://exocortex.my/ontology/exo#inferred/";function Fb(n){return new Oa.IRI(`${v8}${n}`)}o(Fb,"inferredGraphForDepth");pr.MAX_PROTOTYPE_DEPTH=10;var Db=class{static{o(this,"PrototypeChainMaterializer")}constructor(e,t){this.registry=e,this.cardinalityRegistry=t??null}async materialize(e){let r=(await e.predicates()).find(c=>c.value.includes("Asset_prototype"));if(!r)return 0;let i=await e.match(void 0,r,void 0);if(i.length===0)return 0;let s=new Map;for(let c of i)if(c.subject instanceof Oa.IRI&&c.object instanceof Oa.IRI){let l=c.subject.value,u=c.object.value;l!==u&&s.set(l,c.object)}if(s.size===0)return 0;let a=0;for(let[c]of s){let l=new Oa.IRI(c),u=this.resolveChain(c,s);if(u.length===0)continue;let f=await e.match(l,void 0,void 0),d=new Set,h=new Map;for(let p of f)if(d.add(p.predicate.value),this.isMultiValued(p.predicate.value)){let _=p.object instanceof Oa.IRI?p.object.value:String(p.object),b=h.get(p.predicate.value);b||(b=new Set,h.set(p.predicate.value,b)),b.add(_)}for(let p=0;p<u.length;p++){let _=u[p],b=p+1,E=new Oa.IRI(_),v=await e.match(E,void 0,void 0),A=new Set;if(e.matchInGraph){let R=await e.matchInGraph(E,void 0,void 0,pr.INFERRED_GRAPH);for(let B of R)A.add(B.predicate.value)}for(let R of v){let B=R.predicate.value;if(this.registry.isNonInheritable(B)||A.has(B))continue;if(d.has(B)&&this.isMultiValued(B)){let we=R.object instanceof Oa.IRI?R.object.value:String(R.object);if(h.get(B)?.has(we))continue;let G=h.get(B);G||(G=new Set,h.set(B,G)),G.add(we);let F=new _x.Triple(l,R.predicate,R.object);await e.add(F),e.addToGraph&&(await e.addToGraph(F,pr.INFERRED_GRAPH),await e.addToGraph(F,Fb(b))),a++;continue}if(d.has(B))continue;let W=new _x.Triple(l,R.predicate,R.object);await e.add(W),e.addToGraph&&(await e.addToGraph(W,pr.INFERRED_GRAPH),await e.addToGraph(W,Fb(b))),d.add(B),a++}}}return a}isMultiValued(e){return this.cardinalityRegistry?this.cardinalityRegistry.isMultiValued(e):!1}resolveChain(e,t){let r=[],i=new Set;i.add(e);let s=[],a=t.get(e);for(a&&s.push(a.value);s.length>0&&r.length<pr.MAX_PROTOTYPE_DEPTH;){let c=s.shift();if(c===void 0)break;if(i.has(c))continue;i.add(c),r.push(c);let l=t.get(c);l&&!i.has(l.value)&&s.push(l.value)}return r}};pr.PrototypeChainMaterializer=Db;pr.PrototypeChainMaterializer=Db=g8([(0,_8.injectable)(),y8("design:paramtypes",[S8.NonInheritablePropertyRegistry,b8.PropertyCardinalityRegistry])],Db)});var kb=S(or=>{"use strict";var w8=or&&or.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},E8=or&&or.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)};Object.defineProperty(or,"__esModule",{value:!0});or.SourceAnnotator=or.DEPTH_VARIABLE=or.SOURCE_VARIABLE=void 0;var T8=le(),ll=Ve(),A8=xe(),am=Nb();or.SOURCE_VARIABLE="_source";or.DEPTH_VARIABLE="_depth";var Lb=class{static{o(this,"SourceAnnotator")}constructor(e){this.tripleStore=e}async annotate(e,t,r,i){if(!this.tripleStore.matchInGraph)return e.map(a=>{let c=a.clone();return c.set(or.SOURCE_VARIABLE,new ll.Literal("own")),c});let s=[];for(let a of e){let c=a.get(t),l=a.get(r),u=a.get(i),f=a.clone();if(!c||!l||!u)f.set(or.SOURCE_VARIABLE,new ll.Literal("own"));else{let d=await this.determineSource(c,l,u);f.set(or.SOURCE_VARIABLE,new ll.Literal(d))}s.push(f)}return s}async annotateSingle(e,t,r,i){return(await this.annotate([e],t,r,i))[0]}async determineSource(e,t,r){return this.tripleStore.matchInGraph&&(await this.tripleStore.matchInGraph(e,t,r,am.INFERRED_GRAPH)).length>0?"inherited":"own"}async getInheritanceDepth(e,t,r){if(!this.tripleStore.matchInGraph)return 0;for(let i=1;i<=am.MAX_PROTOTYPE_DEPTH;i++){let s=(0,am.inferredGraphForDepth)(i);if((await this.tripleStore.matchInGraph(e,t,r,s)).length>0)return i}return 0}async annotateBySubject(e,t){if(!this.tripleStore.matchInGraph)return e.map(s=>{let a=s.clone();return a.set(or.SOURCE_VARIABLE,new ll.Literal("own")),a});let r=[],i=new Map;for(let s of e){let a=s.get(t),c=s.clone();if(!a||!(a instanceof A8.IRI))c.set(or.SOURCE_VARIABLE,new ll.Literal("own"));else{let l=a.value;if(!i.has(l)){let f=await this.tripleStore.matchInGraph(a,void 0,void 0,am.INFERRED_GRAPH);i.set(l,f.length>0?"inherited":"own")}let u=i.get(l)??"own";c.set(or.SOURCE_VARIABLE,new ll.Literal(u))}r.push(c)}return r}};or.SourceAnnotator=Lb;or.SourceAnnotator=Lb=w8([(0,T8.injectable)(),E8("design:paramtypes",[Object])],Lb)});var jb=S(Di=>{"use strict";var x8=Di&&Di.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},C8=Di&&Di.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},Sx=Di&&Di.__param||function(n,e){return function(t,r){e(t,r,n)}},ul;Object.defineProperty(Di,"__esModule",{value:!0});Di.NoteToRDFConverter=void 0;var Mb=le(),ln=ii(),jo=xe(),Tn=Ve(),bx=qt(),Wt=Ir(),vx=wt(),I8=Tb(),R8=bc(),An=R0(),$o=ul=class{static{o(this,"NoteToRDFConverter")}constructor(e,t=R8.NullLogger){this.vault=e,this.logger=t,this.OBSIDIAN_VAULT_SCHEME="obsidian://vault/",this.BODY_WIKILINK_PATTERN=/(?<!!)\[\[([^\]|]+)(?:\|[^\]]+)?\]\]/g,this.vocabularyMapper=new I8.RDFVocabularyMapper}async convertNote(e){let t=this.vault.getFrontmatter(e);return t?An.Exo003Parser.isExo003Format(t)?this.convertExo003Note(e,t):this.convertLegacyNote(e,t):[]}async convertLegacyNote(e,t){let r=[],i=this.notePathToIRI(e.path),s=Wt.Namespace.EXO.term("Asset_fileName");r.push(new ln.Triple(i,s,new Tn.Literal(e.basename)));for(let[c,l]of Object.entries(t)){if(!this.isExocortexProperty(c))continue;let u=this.propertyKeyToIRI(c),f=Array.isArray(l)?l:[l];for(let d of f)if(c==="exo__Instance_class"){let h=this.valueToClassURI(d);r.push(new ln.Triple(i,u,h))}else{let h=await this.valueToRDFObject(d,e);for(let p of h)if(r.push(new ln.Triple(i,u,p)),this.vocabularyMapper.hasMappingFor(c)&&p instanceof jo.IRI){let _=this.vocabularyMapper.generateMappedTriple(i,c,p);_&&r.push(_)}}if(c==="exo__Instance_class")for(let d of f){let h=this.valueToClassURI(d);if(h instanceof jo.IRI){let p=Wt.Namespace.RDF.term("type");r.push(new ln.Triple(i,p,h))}}if(c==="exo__Asset_label"){let d=Wt.Namespace.RDFS.term("label");for(let h of f)typeof h=="string"&&h.length>0&&r.push(new ln.Triple(i,d,new Tn.Literal(h)))}}let a=await this.convertBodyWikilinks(e,i);return r.push(...a),r}async convertExo003Note(e,t){let r=An.Exo003Parser.parse(t);if(!r.success||!r.metadata)return[];let i=r.metadata,s=[];switch(i.metadata){case An.Exo003MetadataType.Namespace:break;case An.Exo003MetadataType.Anchor:s.push(...this.convertExo003Anchor(e,i));break;case An.Exo003MetadataType.BlankNode:s.push(...this.convertExo003BlankNode(e,i));break;case An.Exo003MetadataType.Statement:s.push(...this.convertExo003Statement(e,i));break;case An.Exo003MetadataType.Body:s.push(...await this.convertExo003Body(e,i));break}return s}convertExo003Anchor(e,t){let r=this.notePathToIRI(e.path),i=new jo.IRI(t.uri);return[new ln.Triple(r,Wt.Namespace.OWL.term("sameAs"),i),new ln.Triple(i,Wt.Namespace.OWL.term("sameAs"),r)]}convertExo003BlankNode(e,t){let r=this.notePathToIRI(e.path),i=t.uri.replace(/[^a-zA-Z0-9_-]/g,"_");return[new ln.Triple(r,Wt.Namespace.OWL.term("sameAs"),new bx.BlankNode(i))]}convertExo003Statement(e,t){let r=[];try{let i=this.createExo003ReferenceResolver(e),s=An.Exo003Parser.toTriple(t,i);r.push(s);let a=this.notePathToIRI(e.path);r.push(new ln.Triple(a,Wt.Namespace.RDF.term("value"),s.subject))}catch{}return r}async convertExo003Body(e,t){let r=[];try{let i=await this.vault.read(e),s=this.extractBodyContent(i),a=this.createExo003ReferenceResolver(e),c=a(t.subject),l=a(t.predicate);if(c.type==="literal")throw new Error("Body subject cannot be a literal");if(l.type!=="iri")throw new Error("Body predicate must be an IRI");let u=c.type==="iri"?new jo.IRI(c.value):new bx.BlankNode(c.value),f=new jo.IRI(l.value),d=An.Exo003Parser.toLiteral(t,s.trim());r.push(new ln.Triple(u,f,d));let h=this.notePathToIRI(e.path);r.push(new ln.Triple(h,Wt.Namespace.RDF.term("value"),u))}catch{}return r}createExo003ReferenceResolver(e){return t=>{let r=this.extractWikilink(t),i=r||t,s=this.vault.getFirstLinkpathDest(i,e.path);if(s){let a=this.vault.getFrontmatter(s);if(a&&An.Exo003Parser.isExo003Format(a)){let c=An.Exo003Parser.parse(a);if(c.success&&c.metadata){let l=c.metadata;if(l.metadata===An.Exo003MetadataType.Anchor||l.metadata===An.Exo003MetadataType.Namespace)return{type:"iri",value:l.uri};if(l.metadata===An.Exo003MetadataType.BlankNode)return{type:"blank",value:l.uri.replace(/[^a-zA-Z0-9_-]/g,"_")}}}return{type:"iri",value:this.notePathToIRI(s.path).value}}return!r&&t.includes("://")?{type:"iri",value:t}:{type:"literal",value:t}}}async convertVault(){return(await this.convertVaultWithValidation({strict:!1})).triples}async convertVaultWithValidation(e={}){let t=this.vault.getAllFiles(),r=[],i=[],s=e.strict??!1;for(let a of t)try{let c=await this.convertNote(a);r.push(...c)}catch(c){let l=c instanceof Error?c.message:String(c);if(s)throw new Error(`Invalid IRI for file "${a.path}": ${l}`);i.push({path:a.path,reason:`Invalid IRI: ${l}`}),this.logger.warn(`Skipping file with invalid IRI: ${a.path}`,{reason:l})}return{triples:r,skippedFiles:i,summary:{total:t.length,indexed:t.length-i.length,skipped:i.length}}}async validateVault(){let e=this.vault.getAllFiles(),t=[];for(let r of e){let i=encodeURI(r.path),s=`${this.OBSIDIAN_VAULT_SCHEME}${i}`;jo.IRI.isValidIRI(s)||t.push({path:r.path,reason:`Path "${r.path}" cannot be converted to a valid IRI`})}return t}notePathToIRI(e){let t=encodeURI(e);return new jo.IRI(`${this.OBSIDIAN_VAULT_SCHEME}${t}`)}isExocortexProperty(e){return ul.NAMESPACE_MAP.some(([t])=>e.startsWith(t))}propertyKeyToIRI(e){for(let[t,r]of ul.NAMESPACE_MAP)if(e.startsWith(t))return r.term(e.substring(t.length));throw new Error(`Invalid property key: ${e}`)}async valueToRDFObject(e,t){if(typeof e=="string"){let r=this.removeQuotes(e),i=this.extractWikilink(r);if(i){let s=this.vault.getFirstLinkpathDest(i,t.path);if(s){let a=this.notePathToIRI(s.path),c=i.includes("|")?i.split("|")[0]:i;if(this.isUUID(c)){let u=new Tn.Literal(c),f=this.expandClassValue(s.basename);if(f)return[f];let d=this.vault.getFrontmatter(s);if(d){let h=d.exo__Asset_label;if(typeof h=="string"){let p=this.expandClassValue(h);if(p)return[p]}}return[a,u]}let l=this.expandClassValue(s.basename);return l?[l]:[a]}if(this.isClassReference(i)){let a=this.expandClassValue(i);if(a)return[a]}return[new Tn.Literal(r)]}if(this.isClassReference(r)){let s=this.expandClassValue(r);if(s)return[s]}return this.isISO8601DateTime(r)?[new Tn.Literal(r,Wt.Namespace.XSD.term("dateTime"))]:[new Tn.Literal(r)]}return typeof e=="boolean"?[new Tn.Literal(e.toString())]:typeof e=="number"?[new Tn.Literal(e.toString(),Wt.Namespace.XSD.term("decimal"))]:e instanceof Date?[new Tn.Literal(e.toISOString(),Wt.Namespace.XSD.term("dateTime"))]:[new Tn.Literal(String(e))]}isISO8601DateTime(e){return/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,3})?(Z|[+-]\d{2}:\d{2})?$/.test(e)}removeQuotes(e){let t=e.trim();return t.startsWith('"')&&t.endsWith('"')||t.startsWith("'")&&t.endsWith("'")?t.substring(1,t.length-1):e}extractWikilink(e){let t=e.match(/^\[\[([^\]]+)\]\]$/);if(!t)return null;let r=t[1];return r.includes("|")?r.split("|")[0]:r}extractWikilinkAlias(e){let t=e.match(/^\[\[([^\]]+)\]\]$/);if(!t)return null;let r=t[1],i=r.indexOf("|");return i>=0?r.substring(i+1).trim():null}valueToClassURI(e){if(typeof e!="string")return new Tn.Literal(String(e));let t=this.removeQuotes(e),i=this.extractWikilink(t)||t,s=this.expandClassValue(i);if(s)return s;let a=this.extractWikilinkAlias(t);if(a){let c=this.expandClassValue(a);if(c)return c}if(this.isUUID(i)){let c=this.vault.getFirstLinkpathDest(i,"");if(c){let l=this.expandClassValue(c.basename);if(l)return l;let u=this.vault.getFrontmatter(c);if(u){let f=u.exo__Asset_label;if(typeof f=="string"){let d=this.expandClassValue(f);if(d)return d}}}}return new Tn.Literal(t)}isClassReference(e){return ul.NAMESPACE_MAP.some(([t])=>e.startsWith(t))&&!/\s/.test(e)}isUUID(e){return/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)}expandClassValue(e){let t=this.removeQuotes(e);for(let[r,i]of ul.NAMESPACE_MAP)if(t.startsWith(r))return i.term(t.substring(r.length));return null}extractBodyContent(e){let t=/^---\r?\n[\s\S]*?\r?\n---\r?\n?/;return e.replace(t,"")}extractBodyWikilinks(e){let t=new Set,r,i=new RegExp(this.BODY_WIKILINK_PATTERN.source,"g");for(;(r=i.exec(e))!==null;)r[1]&&t.add(r[1]);return Array.from(t)}async convertBodyWikilinks(e,t){let r=[];try{let i=await this.vault.read(e),s=this.extractBodyContent(i),a=this.extractBodyWikilinks(s),c=Wt.Namespace.EXO.term("Asset_bodyLink");for(let l of a){let u=this.vault.getFirstLinkpathDest(l,e.path);if(u){let f=this.notePathToIRI(u.path);r.push(new ln.Triple(t,c,f))}else if(this.isClassReference(l)){let f=this.expandClassValue(l);f?r.push(new ln.Triple(t,c,f)):r.push(new ln.Triple(t,c,new Tn.Literal(l)))}else r.push(new ln.Triple(t,c,new Tn.Literal(l)))}}catch{}return r}};Di.NoteToRDFConverter=$o;$o.SkippedFileInfo=class{constructor(n,e){this.path=n,this.reason=e}};$o.VaultValidationResult=class{constructor(n,e,t){this.triples=n,this.skippedFiles=e,this.summary=t}};$o.VaultValidationOptions=class{constructor(n=!1){this.strict=n}};$o.NAMESPACE_MAP=[["exo__",Wt.Namespace.EXO],["ems__",Wt.Namespace.EMS],["exocmd__",Wt.Namespace.EXOCMD],["ims__",Wt.Namespace.IMS],["ztlk__",Wt.Namespace.ZTLK],["ptms__",Wt.Namespace.PTMS],["lit__",Wt.Namespace.LIT],["inbox__",Wt.Namespace.INBOX],["pmbok__",Wt.Namespace.PMBOK]];Di.NoteToRDFConverter=$o=ul=x8([(0,Mb.injectable)(),Sx(0,(0,Mb.inject)(vx.DI_TOKENS.IVaultAdapter)),Sx(1,(0,Mb.inject)(vx.DI_TOKENS.ILogger)),C8("design:paramtypes",[Object,Object])],$o)});var Bb=S(om=>{"use strict";Object.defineProperty(om,"__esModule",{value:!0});om.FilterContainsOptimizer=void 0;var O8=xe(),P8=/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i,$b=class{static{o(this,"FilterContainsOptimizer")}constructor(){this.tripleStore=null,this.lastOptimizationHints=[]}setTripleStore(e){this.tripleStore=e}getLastOptimizationHints(){return this.lastOptimizationHints}clearHints(){this.lastOptimizationHints=[]}async optimize(e){return this.clearHints(),this.optimizeRecursive(e)}optimizeSync(e,t){return this.clearHints(),this.optimizeSyncRecursive(e,t)}async optimizeRecursive(e){return e.type==="filter"?this.optimizeFilter(e):e.type==="join"?{type:"join",left:await this.optimizeRecursive(e.left),right:await this.optimizeRecursive(e.right)}:e.type==="leftjoin"?{...e,left:await this.optimizeRecursive(e.left),right:await this.optimizeRecursive(e.right)}:e.type==="union"?{type:"union",left:await this.optimizeRecursive(e.left),right:await this.optimizeRecursive(e.right)}:e.type==="minus"?{...e,left:await this.optimizeRecursive(e.left),right:await this.optimizeRecursive(e.right)}:e.type==="project"?{...e,input:await this.optimizeRecursive(e.input)}:e.type==="orderby"?{...e,input:await this.optimizeRecursive(e.input)}:e.type==="slice"?{...e,input:await this.optimizeRecursive(e.input)}:e.type==="distinct"?{...e,input:await this.optimizeRecursive(e.input)}:e.type==="reduced"?{...e,input:await this.optimizeRecursive(e.input)}:e.type==="group"?{...e,input:await this.optimizeRecursive(e.input)}:e.type==="extend"?{...e,input:await this.optimizeRecursive(e.input)}:e}optimizeSyncRecursive(e,t){return e.type==="filter"?this.optimizeFilterSync(e,t):e.type==="join"?{type:"join",left:this.optimizeSyncRecursive(e.left,t),right:this.optimizeSyncRecursive(e.right,t)}:e.type==="leftjoin"?{...e,left:this.optimizeSyncRecursive(e.left,t),right:this.optimizeSyncRecursive(e.right,t)}:e.type==="union"?{type:"union",left:this.optimizeSyncRecursive(e.left,t),right:this.optimizeSyncRecursive(e.right,t)}:e.type==="minus"?{...e,left:this.optimizeSyncRecursive(e.left,t),right:this.optimizeSyncRecursive(e.right,t)}:e.type==="project"?{...e,input:this.optimizeSyncRecursive(e.input,t)}:e.type==="orderby"?{...e,input:this.optimizeSyncRecursive(e.input,t)}:e.type==="slice"?{...e,input:this.optimizeSyncRecursive(e.input,t)}:e.type==="distinct"?{...e,input:this.optimizeSyncRecursive(e.input,t)}:e.type==="reduced"?{...e,input:this.optimizeSyncRecursive(e.input,t)}:e.type==="group"?{...e,input:this.optimizeSyncRecursive(e.input,t)}:e.type==="extend"?{...e,input:this.optimizeSyncRecursive(e.input,t)}:e}async optimizeFilter(e){let t=this.detectContainsUUIDPattern(e.expression);if(!t)return{type:"filter",expression:e.expression,input:await this.optimizeRecursive(e.input)};let r=[];return this.tripleStore&&(r=await this.findSubjectsContainingUUID(t.uuid)),this.rewriteFilter(e,t,r)}optimizeFilterSync(e,t){let r=this.detectContainsUUIDPattern(e.expression);if(!r)return{type:"filter",expression:e.expression,input:this.optimizeSyncRecursive(e.input,t)};let i=t?t.filter(s=>s.includes(r.uuid)):[];return this.rewriteFilter(e,r,i)}rewriteFilter(e,t,r){if(this.lastOptimizationHints.push({type:"uuid-index-lookup",originalPattern:`FILTER(CONTAINS(STR(?${t.variable}), "${t.uuid}"))`,suggestedRewrite:r.length===1?`VALUES ?${t.variable} { <${r[0]}> }`:r.length>1?`VALUES ?${t.variable} { ${r.map(i=>`<${i}>`).join(" ")} }`:"No matching URIs found for UUID",estimatedSpeedup:r.length>0?"O(n) \u2192 O(1)":"N/A",matchedUri:r.length===1?r[0]:void 0}),r.length===0)return{type:"filter",expression:e.expression,input:this.optimizeSyncRecursive(e.input)};if(r.length===1){let i=this.injectSubjectConstraint(e.input,t.variable,r[0]);if(i!==e.input)return i}return this.createValuesJoin(e,t,r)}detectContainsUUIDPattern(e){if(e.type==="function"||e.type==="functionCall"){let t=e;if((typeof t.function=="string"?t.function.toLowerCase():t.function?.value?.toLowerCase()??"")==="contains"&&t.args.length===2)return this.analyzeContainsArgs(t.args[0],t.args[1],e)}if(e.type==="logical"&&e.operator==="&&")for(let t of e.operands){let r=this.detectContainsUUIDPattern(t);if(r)return r}return null}analyzeContainsArgs(e,t,r){let i=null;if(e.type==="function"||e.type==="functionCall"){let s=e;if((typeof s.function=="string"?s.function.toLowerCase():s.function?.value?.toLowerCase()??"")==="str"&&s.args.length===1){let c=s.args[0];c.type==="variable"&&(i=c.name)}}if(!i&&e.type==="variable"&&(i=e.name),!i)return null;if(t.type==="literal"){let c=String(t.value).match(P8);if(c)return{variable:i,uuid:c[0].toLowerCase(),originalExpression:r}}return null}async findSubjectsContainingUUID(e){if(!this.tripleStore)return[];if(this.tripleStore.findSubjectsByUUID)return(await this.tripleStore.findSubjectsByUUID(e)).map(s=>s.value);let t=await this.tripleStore.subjects(),r=[];for(let i of t)i instanceof O8.IRI&&i.value.toLowerCase().includes(e.toLowerCase())&&r.push(i.value);return r}injectSubjectConstraint(e,t,r){if(e.type==="bgp"){let i=e.triples.map(a=>a.subject.type==="variable"&&a.subject.value===t?{...a,subject:{type:"iri",value:r}}:a);if(i.some((a,c)=>a.subject!==e.triples[c].subject))return{type:"bgp",triples:i}}if(e.type==="join"){let i=this.injectSubjectConstraint(e.left,t,r),s=this.injectSubjectConstraint(e.right,t,r);if(i!==e.left||s!==e.right)return{type:"join",left:i,right:s}}if(e.type==="filter"){let i=this.injectSubjectConstraint(e.input,t,r);if(i!==e.input)return{...e,input:i}}return e}createValuesJoin(e,t,r){return{type:"join",left:{type:"values",variables:[t.variable],bindings:r.map(a=>({[t.variable]:{type:"iri",value:a}}))},right:this.optimizeSyncRecursive(e.input)}}analyzeQuery(e){let t=[];return this.analyzeRecursive(e,t),t}analyzeRecursive(e,t){if(e.type==="filter"){let r=this.detectContainsUUIDPattern(e.expression);r&&t.push({type:"uuid-index-lookup",originalPattern:`FILTER(CONTAINS(STR(?${r.variable}), "${r.uuid}"))`,suggestedRewrite:`Use --optimize flag or rewrite as VALUES ?${r.variable} { <uri-containing-uuid> }`,estimatedSpeedup:"O(n) \u2192 O(1) with UUID index lookup"}),this.analyzeRecursive(e.input,t);return}e.type==="join"?(this.analyzeRecursive(e.left,t),this.analyzeRecursive(e.right,t)):e.type==="leftjoin"?(this.analyzeRecursive(e.left,t),this.analyzeRecursive(e.right,t)):e.type==="union"?(this.analyzeRecursive(e.left,t),this.analyzeRecursive(e.right,t)):e.type==="minus"?(this.analyzeRecursive(e.left,t),this.analyzeRecursive(e.right,t)):e.type==="project"?this.analyzeRecursive(e.input,t):e.type==="orderby"?this.analyzeRecursive(e.input,t):e.type==="slice"?this.analyzeRecursive(e.input,t):e.type==="distinct"?this.analyzeRecursive(e.input,t):e.type==="reduced"?this.analyzeRecursive(e.input,t):e.type==="group"?this.analyzeRecursive(e.input,t):e.type==="extend"&&this.analyzeRecursive(e.input,t)}};om.FilterContainsOptimizer=$b});var wx=S(cm=>{"use strict";Object.defineProperty(cm,"__esModule",{value:!0});cm.AlgebraOptimizer=void 0;var F8=Bb(),Vb=class{static{o(this,"AlgebraOptimizer")}constructor(){this.stats=new Map,this.tripleStore=null,this.filterContainsOptimizer=new F8.FilterContainsOptimizer}setTripleStore(e){this.tripleStore=e,this.filterContainsOptimizer.setTripleStore(e)}getOptimizationHints(){return this.filterContainsOptimizer.getLastOptimizationHints()}analyzeQuery(e){return this.filterContainsOptimizer.analyzeQuery(e)}optimize(e){let t=e;return t=this.eliminateEmptyBGPInFilterJoin(t),t=this.filterPushDown(t),t=this.joinReordering(t),t}async optimizeAsync(e){let t=e;return t=this.eliminateEmptyBGPInFilterJoin(t),this.tripleStore&&(t=await this.filterContainsOptimizer.optimize(t)),t=this.filterPushDown(t),t=this.joinReordering(t),t}optimizeWithSubjects(e,t){let r=e;return r=this.eliminateEmptyBGPInFilterJoin(r),r=this.filterContainsOptimizer.optimizeSync(r,t),r=this.filterPushDown(r),r=this.joinReordering(r),r}eliminateEmptyBGPInFilterJoin(e){if(e.type==="join"){if(e.left.type==="filter"){let t=e.left;if(t.input.type==="bgp"&&t.input.triples.length===0)return{type:"filter",expression:t.expression,input:this.eliminateEmptyBGPInFilterJoin(e.right)}}if(e.right.type==="filter"){let t=e.right;if(t.input.type==="bgp"&&t.input.triples.length===0)return{type:"filter",expression:t.expression,input:this.eliminateEmptyBGPInFilterJoin(e.left)}}return{type:"join",left:this.eliminateEmptyBGPInFilterJoin(e.left),right:this.eliminateEmptyBGPInFilterJoin(e.right)}}return e.type==="filter"?{...e,input:this.eliminateEmptyBGPInFilterJoin(e.input)}:e.type==="leftjoin"?{...e,left:this.eliminateEmptyBGPInFilterJoin(e.left),right:this.eliminateEmptyBGPInFilterJoin(e.right)}:e.type==="union"?{...e,left:this.eliminateEmptyBGPInFilterJoin(e.left),right:this.eliminateEmptyBGPInFilterJoin(e.right)}:e.type==="minus"?{...e,left:this.eliminateEmptyBGPInFilterJoin(e.left),right:this.eliminateEmptyBGPInFilterJoin(e.right)}:e.type==="project"?{...e,input:this.eliminateEmptyBGPInFilterJoin(e.input)}:e.type==="orderby"?{...e,input:this.eliminateEmptyBGPInFilterJoin(e.input)}:e.type==="slice"?{...e,input:this.eliminateEmptyBGPInFilterJoin(e.input)}:e.type==="distinct"?{...e,input:this.eliminateEmptyBGPInFilterJoin(e.input)}:e}filterPushDown(e){return e.type==="filter"?this.pushDownFilter(e):e.type==="join"?{type:"join",left:this.filterPushDown(e.left),right:this.filterPushDown(e.right)}:e.type==="leftjoin"?{...e,left:this.filterPushDown(e.left),right:this.filterPushDown(e.right)}:e.type==="union"?{type:"union",left:this.filterPushDown(e.left),right:this.filterPushDown(e.right)}:e.type==="minus"?{...e,left:this.filterPushDown(e.left),right:this.filterPushDown(e.right)}:e.type==="project"?{...e,input:this.filterPushDown(e.input)}:e.type==="orderby"?{...e,input:this.filterPushDown(e.input)}:e.type==="slice"?{...e,input:this.filterPushDown(e.input)}:e.type==="distinct"?{...e,input:this.filterPushDown(e.input)}:e}pushDownFilter(e){let t=e.input;if(t.type==="join"){let r=this.getFilterVariables(e.expression),i=this.getOperationVariables(t.left),s=this.getOperationVariables(t.right),a=r.every(l=>i.has(l)),c=r.every(l=>s.has(l));return a&&!c?{type:"join",left:{type:"filter",expression:e.expression,input:this.filterPushDown(t.left)},right:this.filterPushDown(t.right)}:c&&!a?{type:"join",left:this.filterPushDown(t.left),right:{type:"filter",expression:e.expression,input:this.filterPushDown(t.right)}}:{type:"filter",expression:e.expression,input:{type:"join",left:this.filterPushDown(t.left),right:this.filterPushDown(t.right)}}}return t.type==="union"?{type:"union",left:{type:"filter",expression:e.expression,input:this.filterPushDown(t.left)},right:{type:"filter",expression:e.expression,input:this.filterPushDown(t.right)}}:{type:"filter",expression:e.expression,input:this.filterPushDown(t)}}getFilterVariables(e){let t=[];if(e.type==="variable")t.push(e.name);else if(e.type==="comparison")t.push(...this.getFilterVariables(e.left)),t.push(...this.getFilterVariables(e.right));else if(e.type==="logical")for(let r of e.operands)t.push(...this.getFilterVariables(r));else if(e.type==="function")for(let r of e.args)t.push(...this.getFilterVariables(r));return Array.from(new Set(t))}getOperationVariables(e){let t=new Set;if(e.type==="bgp")for(let r of e.triples)r.subject.type==="variable"&&t.add(r.subject.value),r.predicate.type==="variable"&&t.add(r.predicate.value),r.object.type==="variable"&&t.add(r.object.value);else if(e.type==="join"){let r=this.getOperationVariables(e.left),i=this.getOperationVariables(e.right);return new Set([...r,...i])}else{if(e.type==="filter")return this.getOperationVariables(e.input);if(e.type==="leftjoin"){let r=this.getOperationVariables(e.left),i=this.getOperationVariables(e.right);return new Set([...r,...i])}else if(e.type==="union"){let r=this.getOperationVariables(e.left),i=this.getOperationVariables(e.right);return new Set([...r,...i])}else{if(e.type==="minus")return this.getOperationVariables(e.left);if(e.type==="project")return new Set(e.variables)}}return t}joinReordering(e){return e.type==="join"?this.reorderJoin(e):e.type==="filter"?{...e,input:this.joinReordering(e.input)}:e.type==="leftjoin"?{...e,left:this.joinReordering(e.left),right:this.joinReordering(e.right)}:e.type==="union"?{...e,left:this.joinReordering(e.left),right:this.joinReordering(e.right)}:e.type==="minus"?{...e,left:this.joinReordering(e.left),right:this.joinReordering(e.right)}:e.type==="project"?{...e,input:this.joinReordering(e.input)}:e.type==="orderby"?{...e,input:this.joinReordering(e.input)}:e.type==="slice"?{...e,input:this.joinReordering(e.input)}:e.type==="distinct"?{...e,input:this.joinReordering(e.input)}:e}reorderJoin(e){let t=this.isConstrained(e.left),r=this.isConstrained(e.right);if(r&&!t)return{type:"join",left:this.joinReordering(e.right),right:this.joinReordering(e.left)};if(t&&!r)return{type:"join",left:this.joinReordering(e.left),right:this.joinReordering(e.right)};let i=this.estimateCost(e.left);return this.estimateCost(e.right)<i?{type:"join",left:this.joinReordering(e.right),right:this.joinReordering(e.left)}:{type:"join",left:this.joinReordering(e.left),right:this.joinReordering(e.right)}}isConstrained(e){return e.type==="values"?!0:e.type==="bgp"?e.triples.some(t=>t.object.type!=="variable"||t.subject.type!=="variable"):e.type==="filter"?this.isConstrained(e.input):e.type==="join"?this.isConstrained(e.left)||this.isConstrained(e.right):e.type==="union"?this.isConstrained(e.left)&&this.isConstrained(e.right):!1}estimateCost(e){if(e.type==="bgp"){let t=0;for(let r of e.triples){let i=10;r.subject.type==="variable"&&(i*=10),r.predicate.type==="variable"&&(i*=20),r.object.type==="variable"&&(i*=5),t+=i}return t}if(e.type==="filter")return this.estimateCost(e.input)*.3;if(e.type==="join"){let t=this.estimateCost(e.left),r=this.estimateCost(e.right);return e.left.type==="values"||e.right.type==="values"?Math.min(t,r)*2:t*r}if(e.type==="leftjoin")return this.estimateCost(e.left)+this.estimateCost(e.right)*.5;if(e.type==="union")return this.estimateCost(e.left)+this.estimateCost(e.right);if(e.type==="values"){let t=e.bindings;return Array.isArray(t)?t.length*5:10}return e.type==="minus"?this.estimateCost(e.left)+this.estimateCost(e.right)*.3:100}setStatistics(e,t){this.stats.set(e,t)}getStatistics(e){return this.stats.get(e)}};cm.AlgebraOptimizer=Vb});var Ex=S(lm=>{"use strict";Object.defineProperty(lm,"__esModule",{value:!0});lm.AlgebraSerializer=void 0;var Ub=class{static{o(this,"AlgebraSerializer")}toString(e,t=0){let r=" ".repeat(t);switch(e.type){case"bgp":return`${r}BGP [
|
|
377
|
+
`),t}};rm.RDFSerializer=wb});var Tb=S(nm=>{"use strict";Object.defineProperty(nm,"__esModule",{value:!0});nm.RDFVocabularyMapper=void 0;var Jt=ii(),dx=xe(),X=Ir(),Eb=class{static{o(this,"RDFVocabularyMapper")}constructor(){this.propertyMappings=new Map([["exo__Instance_class",X.Namespace.RDF.term("type")],["exo__Asset_isDefinedBy",X.Namespace.RDFS.term("isDefinedBy")],["exo__Class_superClass",X.Namespace.RDFS.term("subClassOf")],["exo__Property_range",X.Namespace.RDFS.term("range")],["exo__Property_domain",X.Namespace.RDFS.term("domain")],["exo__Property_superProperty",X.Namespace.RDFS.term("subPropertyOf")]])}generateClassHierarchyTriples(){let e=[];return e.push(new Jt.Triple(X.Namespace.EXO.term("Asset"),X.Namespace.RDFS.term("subClassOf"),X.Namespace.RDFS.term("Resource"))),e.push(new Jt.Triple(X.Namespace.EXO.term("Class"),X.Namespace.RDFS.term("subClassOf"),X.Namespace.RDFS.term("Class"))),e.push(new Jt.Triple(X.Namespace.EXO.term("Property"),X.Namespace.RDFS.term("subClassOf"),X.Namespace.RDF.term("Property"))),e.push(new Jt.Triple(X.Namespace.EMS.term("Task"),X.Namespace.RDFS.term("subClassOf"),X.Namespace.EXO.term("Asset"))),e.push(new Jt.Triple(X.Namespace.EMS.term("Project"),X.Namespace.RDFS.term("subClassOf"),X.Namespace.EXO.term("Asset"))),e.push(new Jt.Triple(X.Namespace.EMS.term("Area"),X.Namespace.RDFS.term("subClassOf"),X.Namespace.EXO.term("Asset"))),e.push(new Jt.Triple(X.Namespace.EMS.term("Workflow"),X.Namespace.RDFS.term("subClassOf"),X.Namespace.EXO.term("Asset"))),e.push(new Jt.Triple(X.Namespace.EMS.term("WorkflowState"),X.Namespace.RDFS.term("subClassOf"),X.Namespace.EXO.term("Asset"))),e.push(new Jt.Triple(X.Namespace.EMS.term("WorkflowTransition"),X.Namespace.RDFS.term("subClassOf"),X.Namespace.EXO.term("Asset"))),e.push(new Jt.Triple(X.Namespace.EXOCMD.term("Command"),X.Namespace.RDFS.term("subClassOf"),X.Namespace.EXO.term("Asset"))),e.push(new Jt.Triple(X.Namespace.EXOCMD.term("Precondition"),X.Namespace.RDFS.term("subClassOf"),X.Namespace.EXO.term("Asset"))),e.push(new Jt.Triple(X.Namespace.EXOCMD.term("Grounding"),X.Namespace.RDFS.term("subClassOf"),X.Namespace.EXO.term("Asset"))),e.push(new Jt.Triple(X.Namespace.EXOCMD.term("CommandBinding"),X.Namespace.RDFS.term("subClassOf"),X.Namespace.EXO.term("Asset"))),e}generatePropertyHierarchyTriples(){let e=[];return e.push(new Jt.Triple(X.Namespace.EXO.term("Instance_class"),X.Namespace.RDFS.term("subPropertyOf"),X.Namespace.RDF.term("type"))),e.push(new Jt.Triple(X.Namespace.EXO.term("Asset_isDefinedBy"),X.Namespace.RDFS.term("subPropertyOf"),X.Namespace.RDFS.term("isDefinedBy"))),e.push(new Jt.Triple(X.Namespace.EXO.term("Class_superClass"),X.Namespace.RDFS.term("subPropertyOf"),X.Namespace.RDFS.term("subClassOf"))),e.push(new Jt.Triple(X.Namespace.EXO.term("Property_range"),X.Namespace.RDFS.term("subPropertyOf"),X.Namespace.RDFS.term("range"))),e.push(new Jt.Triple(X.Namespace.EXO.term("Property_domain"),X.Namespace.RDFS.term("subPropertyOf"),X.Namespace.RDFS.term("domain"))),e.push(new Jt.Triple(X.Namespace.EXO.term("Property_superProperty"),X.Namespace.RDFS.term("subPropertyOf"),X.Namespace.RDFS.term("subPropertyOf"))),e}generateMappedTriple(e,t,r){let i=this.propertyMappings.get(t);if(!i)return null;let s;if(r instanceof dx.IRI)s=r;else{let a=r.match(/^(ems|exo|exocmd)__(.+)$/);if(a){let[,c,l]=a;s=(c==="ems"?X.Namespace.EMS:c==="exocmd"?X.Namespace.EXOCMD:X.Namespace.EXO).term(l)}else s=new dx.IRI(r)}return new Jt.Triple(e,i,s)}hasMappingFor(e){return this.propertyMappings.has(e)}};nm.RDFVocabularyMapper=Eb});var hx=S(sm=>{"use strict";Object.defineProperty(sm,"__esModule",{value:!0});sm.RDFSInferenceEngine=void 0;var f8=ii(),im=xe(),Ab=class{static{o(this,"RDFSInferenceEngine")}async materialize(e){let t=await e.predicates(),r=t.find(d=>d.value.includes("Class_superClass")),i=t.find(d=>d.value.includes("Instance_class"));if(!r||!i)return 0;let s=await this.buildDirectParentMap(e,r);if(s.size===0)return 0;let a=this.computeAllAncestors(s),c=await e.count(),l=await e.match(void 0,i),u=[];for(let d of l)if(d.object instanceof im.IRI){let h=a.get(d.object.value);if(h)for(let p of h)u.push(new f8.Triple(d.subject,i,new im.IRI(p)))}return u.length>0&&await e.addAll(u),await e.count()-c}async buildDirectParentMap(e,t){let r=await e.match(void 0,t),i=new Map;for(let s of r)if(s.subject instanceof im.IRI&&s.object instanceof im.IRI){let a=s.subject.value,c=s.object.value;i.has(a)||i.set(a,new Set),i.get(a).add(c)}return i}computeAllAncestors(e){let t=new Map;for(let r of e.keys())t.has(r)||t.set(r,this.computeAncestorsBFS(r,e));return t}computeAncestorsBFS(e,t){let r=new Set,i=new Set,s=[],a=t.get(e);if(a)for(let c of a)s.push(c);for(;s.length>0;){let c=s.shift();if(i.has(c))continue;i.add(c),r.add(c);let l=t.get(c);if(l)for(let u of l)i.has(u)||s.push(u)}return r}};sm.RDFSInferenceEngine=Ab});var Ib=S(ko=>{"use strict";var d8=ko&&ko.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};Object.defineProperty(ko,"__esModule",{value:!0});ko.NonInheritablePropertyRegistry=void 0;var h8=le(),px=xe(),mx=Ve(),xb=Ir(),Cb=class{static{o(this,"NonInheritablePropertyRegistry")}constructor(){this.nonInheritableIRIs=new Set,this.initialized=!1}async initialize(e){this.nonInheritableIRIs.clear();try{let t=await e.predicates(),r=t.find(c=>c.value.includes("Instance_class"));if(!r){this.initialized=!0;return}let i=await this.findNonInheritableClassIRI(e,t);if(!i){this.initialized=!0;return}let s=await e.match(void 0,r,i);if(s.length===0){this.initialized=!0;return}let a=t.find(c=>c.value.includes("Asset_label"));if(!a){this.initialized=!0;return}for(let c of s){let l=await e.match(c.subject,a,void 0);for(let u of l)if(u.object instanceof mx.Literal){let f=u.object.value,d=this.propertyKeyToIRI(f);d&&this.nonInheritableIRIs.add(d)}}}catch{}this.initialized=!0}isNonInheritable(e){return this.nonInheritableIRIs.has(e)}get size(){return this.nonInheritableIRIs.size}get isInitialized(){return this.initialized}async findNonInheritableClassIRI(e,t){let r=t.find(a=>a.value.includes("Asset_label"));if(!r)return null;let i=await e.match(void 0,r,new mx.Literal("exo__NonInheritableProperty"));if(i.length>0&&i[0].subject instanceof px.IRI)return i[0].subject;let s=t.find(a=>a.value.includes("Instance_class"));if(s){let a=await e.match(void 0,s,void 0);for(let c of a)if(c.object instanceof px.IRI&&c.object.value.includes("NonInheritableProperty"))return c.object}return null}propertyKeyToIRI(e){return e.startsWith("exo__")?xb.Namespace.EXO.term(e.substring(5)).value:e.startsWith("ems__")?xb.Namespace.EMS.term(e.substring(5)).value:e.startsWith("exocmd__")?xb.Namespace.EXOCMD.term(e.substring(8)).value:null}};ko.NonInheritablePropertyRegistry=Cb;ko.NonInheritablePropertyRegistry=Cb=d8([(0,h8.injectable)()],Cb)});var Pb=S(Mo=>{"use strict";var p8=Mo&&Mo.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s};Object.defineProperty(Mo,"__esModule",{value:!0});Mo.PropertyCardinalityRegistry=void 0;var m8=le(),gx=xe(),yx=Ve(),Rb=Ir(),Ob=class{static{o(this,"PropertyCardinalityRegistry")}constructor(){this.multiValuedIRIs=new Set,this.initialized=!1}async initialize(e){this.multiValuedIRIs.clear();try{let t=await e.predicates(),r=t.find(c=>c.value.includes("Property_cardinality"));if(!r){this.initialized=!0;return}let i=await this.findMultipleCardinalityIRI(e,t);if(!i){this.initialized=!0;return}let s=await e.match(void 0,r,i);if(s.length===0){this.initialized=!0;return}let a=t.find(c=>c.value.includes("Asset_label"));if(!a){this.initialized=!0;return}for(let c of s){let l=await e.match(c.subject,a,void 0);for(let u of l)if(u.object instanceof yx.Literal){let f=u.object.value,d=this.propertyKeyToIRI(f);d&&this.multiValuedIRIs.add(d)}}}catch{}this.initialized=!0}isMultiValued(e){return this.multiValuedIRIs.has(e)}get size(){return this.multiValuedIRIs.size}get isInitialized(){return this.initialized}async findMultipleCardinalityIRI(e,t){let r=t.find(a=>a.value.includes("Asset_label"));if(!r)return null;let i=await e.match(void 0,r,new yx.Literal("exo__PropertyCardinalityMultiple"));if(i.length>0&&i[0].subject instanceof gx.IRI)return i[0].subject;let s=t.find(a=>a.value.includes("Instance_class"));if(s){let a=await e.match(void 0,s,void 0);for(let c of a)if(c.object instanceof gx.IRI&&c.object.value.includes("PropertyCardinalityMultiple"))return c.object}return null}propertyKeyToIRI(e){return e.startsWith("exo__")?Rb.Namespace.EXO.term(e.substring(5)).value:e.startsWith("ems__")?Rb.Namespace.EMS.term(e.substring(5)).value:e.startsWith("exocmd__")?Rb.Namespace.EXOCMD.term(e.substring(8)).value:null}};Mo.PropertyCardinalityRegistry=Ob;Mo.PropertyCardinalityRegistry=Ob=p8([(0,m8.injectable)()],Ob)});var Nb=S(pr=>{"use strict";var g8=pr&&pr.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},y8=pr&&pr.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)};Object.defineProperty(pr,"__esModule",{value:!0});pr.PrototypeChainMaterializer=pr.MAX_PROTOTYPE_DEPTH=pr.INFERRED_GRAPH=void 0;pr.inferredGraphForDepth=Fb;var _8=le(),_x=ii(),Oa=xe(),S8=Ib(),b8=Pb();pr.INFERRED_GRAPH=new Oa.IRI("https://exocortex.my/ontology/exo#inferred");var v8="https://exocortex.my/ontology/exo#inferred/";function Fb(n){return new Oa.IRI(`${v8}${n}`)}o(Fb,"inferredGraphForDepth");pr.MAX_PROTOTYPE_DEPTH=10;var Db=class{static{o(this,"PrototypeChainMaterializer")}constructor(e,t){this.registry=e,this.cardinalityRegistry=t??null}async materialize(e){let r=(await e.predicates()).find(c=>c.value.includes("Asset_prototype"));if(!r)return 0;let i=await e.match(void 0,r,void 0);if(i.length===0)return 0;let s=new Map;for(let c of i)if(c.subject instanceof Oa.IRI&&c.object instanceof Oa.IRI){let l=c.subject.value,u=c.object.value;l!==u&&s.set(l,c.object)}if(s.size===0)return 0;let a=0;for(let[c]of s){let l=new Oa.IRI(c),u=this.resolveChain(c,s);if(u.length===0)continue;let f=await e.match(l,void 0,void 0),d=new Set,h=new Map;for(let p of f)if(d.add(p.predicate.value),this.isMultiValued(p.predicate.value)){let _=p.object instanceof Oa.IRI?p.object.value:String(p.object),b=h.get(p.predicate.value);b||(b=new Set,h.set(p.predicate.value,b)),b.add(_)}for(let p=0;p<u.length;p++){let _=u[p],b=p+1,E=new Oa.IRI(_),v=await e.match(E,void 0,void 0),A=new Set;if(e.matchInGraph){let R=await e.matchInGraph(E,void 0,void 0,pr.INFERRED_GRAPH);for(let B of R)A.add(B.predicate.value)}for(let R of v){let B=R.predicate.value;if(this.registry.isNonInheritable(B)||A.has(B))continue;if(d.has(B)&&this.isMultiValued(B)){let we=R.object instanceof Oa.IRI?R.object.value:String(R.object);if(h.get(B)?.has(we))continue;let G=h.get(B);G||(G=new Set,h.set(B,G)),G.add(we);let F=new _x.Triple(l,R.predicate,R.object);await e.add(F),e.addToGraph&&(await e.addToGraph(F,pr.INFERRED_GRAPH),await e.addToGraph(F,Fb(b))),a++;continue}if(d.has(B))continue;let W=new _x.Triple(l,R.predicate,R.object);await e.add(W),e.addToGraph&&(await e.addToGraph(W,pr.INFERRED_GRAPH),await e.addToGraph(W,Fb(b))),d.add(B),a++}}}return a}isMultiValued(e){return this.cardinalityRegistry?this.cardinalityRegistry.isMultiValued(e):!1}resolveChain(e,t){let r=[],i=new Set;i.add(e);let s=[],a=t.get(e);for(a&&s.push(a.value);s.length>0&&r.length<pr.MAX_PROTOTYPE_DEPTH;){let c=s.shift();if(c===void 0)break;if(i.has(c))continue;i.add(c),r.push(c);let l=t.get(c);l&&!i.has(l.value)&&s.push(l.value)}return r}};pr.PrototypeChainMaterializer=Db;pr.PrototypeChainMaterializer=Db=g8([(0,_8.injectable)(),y8("design:paramtypes",[S8.NonInheritablePropertyRegistry,b8.PropertyCardinalityRegistry])],Db)});var kb=S(or=>{"use strict";var w8=or&&or.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},E8=or&&or.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)};Object.defineProperty(or,"__esModule",{value:!0});or.SourceAnnotator=or.DEPTH_VARIABLE=or.SOURCE_VARIABLE=void 0;var T8=le(),ll=Ve(),A8=xe(),am=Nb();or.SOURCE_VARIABLE="_source";or.DEPTH_VARIABLE="_depth";var Lb=class{static{o(this,"SourceAnnotator")}constructor(e){this.tripleStore=e}async annotate(e,t,r,i){if(!this.tripleStore.matchInGraph)return e.map(a=>{let c=a.clone();return c.set(or.SOURCE_VARIABLE,new ll.Literal("own")),c});let s=[];for(let a of e){let c=a.get(t),l=a.get(r),u=a.get(i),f=a.clone();if(!c||!l||!u)f.set(or.SOURCE_VARIABLE,new ll.Literal("own"));else{let d=await this.determineSource(c,l,u);f.set(or.SOURCE_VARIABLE,new ll.Literal(d))}s.push(f)}return s}async annotateSingle(e,t,r,i){return(await this.annotate([e],t,r,i))[0]}async determineSource(e,t,r){return this.tripleStore.matchInGraph&&(await this.tripleStore.matchInGraph(e,t,r,am.INFERRED_GRAPH)).length>0?"inherited":"own"}async getInheritanceDepth(e,t,r){if(!this.tripleStore.matchInGraph)return 0;for(let i=1;i<=am.MAX_PROTOTYPE_DEPTH;i++){let s=(0,am.inferredGraphForDepth)(i);if((await this.tripleStore.matchInGraph(e,t,r,s)).length>0)return i}return 0}async annotateBySubject(e,t){if(!this.tripleStore.matchInGraph)return e.map(s=>{let a=s.clone();return a.set(or.SOURCE_VARIABLE,new ll.Literal("own")),a});let r=[],i=new Map;for(let s of e){let a=s.get(t),c=s.clone();if(!a||!(a instanceof A8.IRI))c.set(or.SOURCE_VARIABLE,new ll.Literal("own"));else{let l=a.value;if(!i.has(l)){let f=await this.tripleStore.matchInGraph(a,void 0,void 0,am.INFERRED_GRAPH);i.set(l,f.length>0?"inherited":"own")}let u=i.get(l)??"own";c.set(or.SOURCE_VARIABLE,new ll.Literal(u))}r.push(c)}return r}};or.SourceAnnotator=Lb;or.SourceAnnotator=Lb=w8([(0,T8.injectable)(),E8("design:paramtypes",[Object])],Lb)});var jb=S(Di=>{"use strict";var x8=Di&&Di.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},C8=Di&&Di.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},Sx=Di&&Di.__param||function(n,e){return function(t,r){e(t,r,n)}},ul;Object.defineProperty(Di,"__esModule",{value:!0});Di.NoteToRDFConverter=void 0;var Mb=le(),ln=ii(),jo=xe(),Tn=Ve(),bx=qt(),Wt=Ir(),vx=wt(),I8=Tb(),R8=bc(),An=R0(),$o=ul=class{static{o(this,"NoteToRDFConverter")}constructor(e,t=R8.NullLogger){this.vault=e,this.logger=t,this.OBSIDIAN_VAULT_SCHEME="obsidian://vault/",this.BODY_WIKILINK_PATTERN=/(?<!!)\[\[([^\]|]+)(?:\|[^\]]+)?\]\]/g,this.vocabularyMapper=new I8.RDFVocabularyMapper}async convertNote(e){let t=this.vault.getFrontmatter(e);return t?An.Exo003Parser.isExo003Format(t)?this.convertExo003Note(e,t):this.convertLegacyNote(e,t):[]}async convertLegacyNote(e,t){let r=[],i=this.notePathToIRI(e.path),s=Wt.Namespace.EXO.term("Asset_fileName");r.push(new ln.Triple(i,s,new Tn.Literal(e.basename)));for(let[c,l]of Object.entries(t)){if(!this.isExocortexProperty(c))continue;let u=this.propertyKeyToIRI(c),f=Array.isArray(l)?l:[l];for(let d of f)if(c==="exo__Instance_class"){let h=this.valueToClassURI(d);r.push(new ln.Triple(i,u,h))}else{let h=await this.valueToRDFObject(d,e);for(let p of h)if(r.push(new ln.Triple(i,u,p)),this.vocabularyMapper.hasMappingFor(c)&&p instanceof jo.IRI){let _=this.vocabularyMapper.generateMappedTriple(i,c,p);_&&r.push(_)}}if(c==="exo__Instance_class")for(let d of f){let h=this.valueToClassURI(d);if(h instanceof jo.IRI){let p=Wt.Namespace.RDF.term("type");r.push(new ln.Triple(i,p,h))}}if(c==="exo__Asset_label"){let d=Wt.Namespace.RDFS.term("label");for(let h of f)typeof h=="string"&&h.length>0&&r.push(new ln.Triple(i,d,new Tn.Literal(h)))}}let a=await this.convertBodyWikilinks(e,i);return r.push(...a),r}async convertExo003Note(e,t){let r=An.Exo003Parser.parse(t);if(!r.success||!r.metadata)return[];let i=r.metadata,s=[];switch(i.metadata){case An.Exo003MetadataType.Namespace:break;case An.Exo003MetadataType.Anchor:s.push(...this.convertExo003Anchor(e,i));break;case An.Exo003MetadataType.BlankNode:s.push(...this.convertExo003BlankNode(e,i));break;case An.Exo003MetadataType.Statement:s.push(...this.convertExo003Statement(e,i));break;case An.Exo003MetadataType.Body:s.push(...await this.convertExo003Body(e,i));break}return s}convertExo003Anchor(e,t){let r=this.notePathToIRI(e.path),i=new jo.IRI(t.uri);return[new ln.Triple(r,Wt.Namespace.OWL.term("sameAs"),i),new ln.Triple(i,Wt.Namespace.OWL.term("sameAs"),r)]}convertExo003BlankNode(e,t){let r=this.notePathToIRI(e.path),i=t.uri.replace(/[^a-zA-Z0-9_-]/g,"_");return[new ln.Triple(r,Wt.Namespace.OWL.term("sameAs"),new bx.BlankNode(i))]}convertExo003Statement(e,t){let r=[];try{let i=this.createExo003ReferenceResolver(e),s=An.Exo003Parser.toTriple(t,i);r.push(s);let a=this.notePathToIRI(e.path);r.push(new ln.Triple(a,Wt.Namespace.RDF.term("value"),s.subject))}catch{}return r}async convertExo003Body(e,t){let r=[];try{let i=await this.vault.read(e),s=this.extractBodyContent(i),a=this.createExo003ReferenceResolver(e),c=a(t.subject),l=a(t.predicate);if(c.type==="literal")throw new Error("Body subject cannot be a literal");if(l.type!=="iri")throw new Error("Body predicate must be an IRI");let u=c.type==="iri"?new jo.IRI(c.value):new bx.BlankNode(c.value),f=new jo.IRI(l.value),d=An.Exo003Parser.toLiteral(t,s.trim());r.push(new ln.Triple(u,f,d));let h=this.notePathToIRI(e.path);r.push(new ln.Triple(h,Wt.Namespace.RDF.term("value"),u))}catch{}return r}createExo003ReferenceResolver(e){return t=>{let r=this.extractWikilink(t),i=r||t,s=this.vault.getFirstLinkpathDest(i,e.path);if(s){let a=this.vault.getFrontmatter(s);if(a&&An.Exo003Parser.isExo003Format(a)){let c=An.Exo003Parser.parse(a);if(c.success&&c.metadata){let l=c.metadata;if(l.metadata===An.Exo003MetadataType.Anchor||l.metadata===An.Exo003MetadataType.Namespace)return{type:"iri",value:l.uri};if(l.metadata===An.Exo003MetadataType.BlankNode)return{type:"blank",value:l.uri.replace(/[^a-zA-Z0-9_-]/g,"_")}}}return{type:"iri",value:this.notePathToIRI(s.path).value}}return!r&&t.includes("://")?{type:"iri",value:t}:{type:"literal",value:t}}}async convertVault(){return(await this.convertVaultWithValidation({strict:!1})).triples}async convertVaultWithValidation(e={}){let t=this.vault.getAllFiles(),r=[],i=[],s=e.strict??!1;for(let a of t)try{let c=this.vault.getFrontmatter(a),l=c?this.validateExocortexAsset(c):null;if(l){if(s)throw new Error(`Invariant violation in "${a.path}": ${l.message}`);i.push({path:a.path,reason:`Invariant violation: ${l.message}`}),this.logger.warn(`Skipping file with invariant violation: ${a.path}`,{code:l.code,property:l.property,reason:l.message});continue}let u=await this.convertNote(a);r.push(...u)}catch(c){let l=c instanceof Error?c.message:String(c);if(s)throw new Error(`Invalid IRI for file "${a.path}": ${l}`);i.push({path:a.path,reason:`Invalid IRI: ${l}`}),this.logger.warn(`Skipping file with invalid IRI: ${a.path}`,{reason:l})}return{triples:r,skippedFiles:i,summary:{total:t.length,indexed:t.length-i.length,skipped:i.length}}}validateExocortexAsset(e){let t=o(l=>l==null?!0:typeof l=="string"?l.trim()==="":Array.isArray(l)?l.length===0||l.every(t):!1,"isEmpty");if(!("exo__Instance_class"in e||"exo__Asset_uid"in e))return null;let i=["exo__Asset_uid","exo__Asset_isDefinedBy","exo__Asset_label","exo__Instance_class"];for(let l of i){if(!(l in e))return{code:"MISSING_PROPERTY",property:l,message:`Required property "${l}" is missing`};if(t(e[l]))return{code:"EMPTY_PROPERTY",property:l,message:`Required property "${l}" is empty`}}let s=["ems__Effort_status","ems__Effort_parent","ems__Effort_lockedBy","ems__Effort_lockExpires","exo__Asset_updatedAt","ems__Effort_startTimestamp"];for(let l of s)if(l in e&&t(e[l]))return{code:"EMPTY_OPTIONAL_PROPERTY",property:l,message:`Optional property "${l}" is present but empty`};let a=e.exo__Instance_class,c=Array.isArray(a)?a:[a];for(let l of c){if(typeof l!="string")continue;let u=this.removeQuotes(l),d=(this.extractWikilink(u)??u).trim();if(/^[a-z][a-zA-Z0-9]*__/.test(d)&&/[\s()]/.test(d))return{code:"INVALID_INSTANCE_CLASS_IRI",property:"exo__Instance_class",message:`Invalid Instance_class IRI: "${l}"`}}return null}async validateVault(){let e=this.vault.getAllFiles(),t=[];for(let r of e){let i=encodeURI(r.path),s=`${this.OBSIDIAN_VAULT_SCHEME}${i}`;jo.IRI.isValidIRI(s)||t.push({path:r.path,reason:`Path "${r.path}" cannot be converted to a valid IRI`})}return t}notePathToIRI(e){let t=encodeURI(e);return new jo.IRI(`${this.OBSIDIAN_VAULT_SCHEME}${t}`)}isExocortexProperty(e){return ul.NAMESPACE_MAP.some(([t])=>e.startsWith(t))}propertyKeyToIRI(e){for(let[t,r]of ul.NAMESPACE_MAP)if(e.startsWith(t))return r.term(e.substring(t.length));throw new Error(`Invalid property key: ${e}`)}async valueToRDFObject(e,t){if(typeof e=="string"){let r=this.removeQuotes(e),i=this.extractWikilink(r);if(i){let s=this.vault.getFirstLinkpathDest(i,t.path);if(s){let a=this.notePathToIRI(s.path),c=i.includes("|")?i.split("|")[0]:i;if(this.isUUID(c)){let u=new Tn.Literal(c),f=this.expandClassValue(s.basename);if(f)return[f];let d=this.vault.getFrontmatter(s);if(d){let h=d.exo__Asset_label;if(typeof h=="string"){let p=this.expandClassValue(h);if(p)return[p]}}return[a,u]}let l=this.expandClassValue(s.basename);return l?[l]:[a]}if(this.isClassReference(i)){let a=this.expandClassValue(i);if(a)return[a]}return[new Tn.Literal(r)]}if(this.isClassReference(r)){let s=this.expandClassValue(r);if(s)return[s]}return this.isISO8601DateTime(r)?[new Tn.Literal(r,Wt.Namespace.XSD.term("dateTime"))]:[new Tn.Literal(r)]}return typeof e=="boolean"?[new Tn.Literal(e.toString())]:typeof e=="number"?[new Tn.Literal(e.toString(),Wt.Namespace.XSD.term("decimal"))]:e instanceof Date?[new Tn.Literal(e.toISOString(),Wt.Namespace.XSD.term("dateTime"))]:[new Tn.Literal(String(e))]}isISO8601DateTime(e){return/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,3})?(Z|[+-]\d{2}:\d{2})?$/.test(e)}removeQuotes(e){let t=e.trim();return t.startsWith('"')&&t.endsWith('"')||t.startsWith("'")&&t.endsWith("'")?t.substring(1,t.length-1):e}extractWikilink(e){let t=e.match(/^\[\[([^\]]+)\]\]$/);if(!t)return null;let r=t[1];return r.includes("|")?r.split("|")[0]:r}extractWikilinkAlias(e){let t=e.match(/^\[\[([^\]]+)\]\]$/);if(!t)return null;let r=t[1],i=r.indexOf("|");return i>=0?r.substring(i+1).trim():null}valueToClassURI(e){if(typeof e!="string")return new Tn.Literal(String(e));let t=this.removeQuotes(e),i=this.extractWikilink(t)||t,s=this.expandClassValue(i);if(s)return s;let a=this.extractWikilinkAlias(t);if(a){let c=this.expandClassValue(a);if(c)return c}if(this.isUUID(i)){let c=this.vault.getFirstLinkpathDest(i,"");if(c){let l=this.expandClassValue(c.basename);if(l)return l;let u=this.vault.getFrontmatter(c);if(u){let f=u.exo__Asset_label;if(typeof f=="string"){let d=this.expandClassValue(f);if(d)return d}}}}return new Tn.Literal(t)}isClassReference(e){return ul.NAMESPACE_MAP.some(([t])=>e.startsWith(t))&&!/\s/.test(e)}isUUID(e){return/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)}expandClassValue(e){let t=this.removeQuotes(e);for(let[r,i]of ul.NAMESPACE_MAP)if(t.startsWith(r))return i.term(t.substring(r.length));return null}extractBodyContent(e){let t=/^---\r?\n[\s\S]*?\r?\n---\r?\n?/;return e.replace(t,"")}extractBodyWikilinks(e){let t=new Set,r,i=new RegExp(this.BODY_WIKILINK_PATTERN.source,"g");for(;(r=i.exec(e))!==null;)r[1]&&t.add(r[1]);return Array.from(t)}async convertBodyWikilinks(e,t){let r=[];try{let i=await this.vault.read(e),s=this.extractBodyContent(i),a=this.extractBodyWikilinks(s),c=Wt.Namespace.EXO.term("Asset_bodyLink");for(let l of a){let u=this.vault.getFirstLinkpathDest(l,e.path);if(u){let f=this.notePathToIRI(u.path);r.push(new ln.Triple(t,c,f))}else if(this.isClassReference(l)){let f=this.expandClassValue(l);f?r.push(new ln.Triple(t,c,f)):r.push(new ln.Triple(t,c,new Tn.Literal(l)))}else r.push(new ln.Triple(t,c,new Tn.Literal(l)))}}catch{}return r}};Di.NoteToRDFConverter=$o;$o.SkippedFileInfo=class{constructor(n,e){this.path=n,this.reason=e}};$o.VaultValidationResult=class{constructor(n,e,t){this.triples=n,this.skippedFiles=e,this.summary=t}};$o.VaultValidationOptions=class{constructor(n=!1){this.strict=n}};$o.NAMESPACE_MAP=[["exo__",Wt.Namespace.EXO],["ems__",Wt.Namespace.EMS],["exocmd__",Wt.Namespace.EXOCMD],["ims__",Wt.Namespace.IMS],["ztlk__",Wt.Namespace.ZTLK],["ptms__",Wt.Namespace.PTMS],["lit__",Wt.Namespace.LIT],["inbox__",Wt.Namespace.INBOX],["pmbok__",Wt.Namespace.PMBOK]];Di.NoteToRDFConverter=$o=ul=x8([(0,Mb.injectable)(),Sx(0,(0,Mb.inject)(vx.DI_TOKENS.IVaultAdapter)),Sx(1,(0,Mb.inject)(vx.DI_TOKENS.ILogger)),C8("design:paramtypes",[Object,Object])],$o)});var Bb=S(om=>{"use strict";Object.defineProperty(om,"__esModule",{value:!0});om.FilterContainsOptimizer=void 0;var O8=xe(),P8=/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i,$b=class{static{o(this,"FilterContainsOptimizer")}constructor(){this.tripleStore=null,this.lastOptimizationHints=[]}setTripleStore(e){this.tripleStore=e}getLastOptimizationHints(){return this.lastOptimizationHints}clearHints(){this.lastOptimizationHints=[]}async optimize(e){return this.clearHints(),this.optimizeRecursive(e)}optimizeSync(e,t){return this.clearHints(),this.optimizeSyncRecursive(e,t)}async optimizeRecursive(e){return e.type==="filter"?this.optimizeFilter(e):e.type==="join"?{type:"join",left:await this.optimizeRecursive(e.left),right:await this.optimizeRecursive(e.right)}:e.type==="leftjoin"?{...e,left:await this.optimizeRecursive(e.left),right:await this.optimizeRecursive(e.right)}:e.type==="union"?{type:"union",left:await this.optimizeRecursive(e.left),right:await this.optimizeRecursive(e.right)}:e.type==="minus"?{...e,left:await this.optimizeRecursive(e.left),right:await this.optimizeRecursive(e.right)}:e.type==="project"?{...e,input:await this.optimizeRecursive(e.input)}:e.type==="orderby"?{...e,input:await this.optimizeRecursive(e.input)}:e.type==="slice"?{...e,input:await this.optimizeRecursive(e.input)}:e.type==="distinct"?{...e,input:await this.optimizeRecursive(e.input)}:e.type==="reduced"?{...e,input:await this.optimizeRecursive(e.input)}:e.type==="group"?{...e,input:await this.optimizeRecursive(e.input)}:e.type==="extend"?{...e,input:await this.optimizeRecursive(e.input)}:e}optimizeSyncRecursive(e,t){return e.type==="filter"?this.optimizeFilterSync(e,t):e.type==="join"?{type:"join",left:this.optimizeSyncRecursive(e.left,t),right:this.optimizeSyncRecursive(e.right,t)}:e.type==="leftjoin"?{...e,left:this.optimizeSyncRecursive(e.left,t),right:this.optimizeSyncRecursive(e.right,t)}:e.type==="union"?{type:"union",left:this.optimizeSyncRecursive(e.left,t),right:this.optimizeSyncRecursive(e.right,t)}:e.type==="minus"?{...e,left:this.optimizeSyncRecursive(e.left,t),right:this.optimizeSyncRecursive(e.right,t)}:e.type==="project"?{...e,input:this.optimizeSyncRecursive(e.input,t)}:e.type==="orderby"?{...e,input:this.optimizeSyncRecursive(e.input,t)}:e.type==="slice"?{...e,input:this.optimizeSyncRecursive(e.input,t)}:e.type==="distinct"?{...e,input:this.optimizeSyncRecursive(e.input,t)}:e.type==="reduced"?{...e,input:this.optimizeSyncRecursive(e.input,t)}:e.type==="group"?{...e,input:this.optimizeSyncRecursive(e.input,t)}:e.type==="extend"?{...e,input:this.optimizeSyncRecursive(e.input,t)}:e}async optimizeFilter(e){let t=this.detectContainsUUIDPattern(e.expression);if(!t)return{type:"filter",expression:e.expression,input:await this.optimizeRecursive(e.input)};let r=[];return this.tripleStore&&(r=await this.findSubjectsContainingUUID(t.uuid)),this.rewriteFilter(e,t,r)}optimizeFilterSync(e,t){let r=this.detectContainsUUIDPattern(e.expression);if(!r)return{type:"filter",expression:e.expression,input:this.optimizeSyncRecursive(e.input,t)};let i=t?t.filter(s=>s.includes(r.uuid)):[];return this.rewriteFilter(e,r,i)}rewriteFilter(e,t,r){if(this.lastOptimizationHints.push({type:"uuid-index-lookup",originalPattern:`FILTER(CONTAINS(STR(?${t.variable}), "${t.uuid}"))`,suggestedRewrite:r.length===1?`VALUES ?${t.variable} { <${r[0]}> }`:r.length>1?`VALUES ?${t.variable} { ${r.map(i=>`<${i}>`).join(" ")} }`:"No matching URIs found for UUID",estimatedSpeedup:r.length>0?"O(n) \u2192 O(1)":"N/A",matchedUri:r.length===1?r[0]:void 0}),r.length===0)return{type:"filter",expression:e.expression,input:this.optimizeSyncRecursive(e.input)};if(r.length===1){let i=this.injectSubjectConstraint(e.input,t.variable,r[0]);if(i!==e.input)return i}return this.createValuesJoin(e,t,r)}detectContainsUUIDPattern(e){if(e.type==="function"||e.type==="functionCall"){let t=e;if((typeof t.function=="string"?t.function.toLowerCase():t.function?.value?.toLowerCase()??"")==="contains"&&t.args.length===2)return this.analyzeContainsArgs(t.args[0],t.args[1],e)}if(e.type==="logical"&&e.operator==="&&")for(let t of e.operands){let r=this.detectContainsUUIDPattern(t);if(r)return r}return null}analyzeContainsArgs(e,t,r){let i=null;if(e.type==="function"||e.type==="functionCall"){let s=e;if((typeof s.function=="string"?s.function.toLowerCase():s.function?.value?.toLowerCase()??"")==="str"&&s.args.length===1){let c=s.args[0];c.type==="variable"&&(i=c.name)}}if(!i&&e.type==="variable"&&(i=e.name),!i)return null;if(t.type==="literal"){let c=String(t.value).match(P8);if(c)return{variable:i,uuid:c[0].toLowerCase(),originalExpression:r}}return null}async findSubjectsContainingUUID(e){if(!this.tripleStore)return[];if(this.tripleStore.findSubjectsByUUID)return(await this.tripleStore.findSubjectsByUUID(e)).map(s=>s.value);let t=await this.tripleStore.subjects(),r=[];for(let i of t)i instanceof O8.IRI&&i.value.toLowerCase().includes(e.toLowerCase())&&r.push(i.value);return r}injectSubjectConstraint(e,t,r){if(e.type==="bgp"){let i=e.triples.map(a=>a.subject.type==="variable"&&a.subject.value===t?{...a,subject:{type:"iri",value:r}}:a);if(i.some((a,c)=>a.subject!==e.triples[c].subject))return{type:"bgp",triples:i}}if(e.type==="join"){let i=this.injectSubjectConstraint(e.left,t,r),s=this.injectSubjectConstraint(e.right,t,r);if(i!==e.left||s!==e.right)return{type:"join",left:i,right:s}}if(e.type==="filter"){let i=this.injectSubjectConstraint(e.input,t,r);if(i!==e.input)return{...e,input:i}}return e}createValuesJoin(e,t,r){return{type:"join",left:{type:"values",variables:[t.variable],bindings:r.map(a=>({[t.variable]:{type:"iri",value:a}}))},right:this.optimizeSyncRecursive(e.input)}}analyzeQuery(e){let t=[];return this.analyzeRecursive(e,t),t}analyzeRecursive(e,t){if(e.type==="filter"){let r=this.detectContainsUUIDPattern(e.expression);r&&t.push({type:"uuid-index-lookup",originalPattern:`FILTER(CONTAINS(STR(?${r.variable}), "${r.uuid}"))`,suggestedRewrite:`Use --optimize flag or rewrite as VALUES ?${r.variable} { <uri-containing-uuid> }`,estimatedSpeedup:"O(n) \u2192 O(1) with UUID index lookup"}),this.analyzeRecursive(e.input,t);return}e.type==="join"?(this.analyzeRecursive(e.left,t),this.analyzeRecursive(e.right,t)):e.type==="leftjoin"?(this.analyzeRecursive(e.left,t),this.analyzeRecursive(e.right,t)):e.type==="union"?(this.analyzeRecursive(e.left,t),this.analyzeRecursive(e.right,t)):e.type==="minus"?(this.analyzeRecursive(e.left,t),this.analyzeRecursive(e.right,t)):e.type==="project"?this.analyzeRecursive(e.input,t):e.type==="orderby"?this.analyzeRecursive(e.input,t):e.type==="slice"?this.analyzeRecursive(e.input,t):e.type==="distinct"?this.analyzeRecursive(e.input,t):e.type==="reduced"?this.analyzeRecursive(e.input,t):e.type==="group"?this.analyzeRecursive(e.input,t):e.type==="extend"&&this.analyzeRecursive(e.input,t)}};om.FilterContainsOptimizer=$b});var wx=S(cm=>{"use strict";Object.defineProperty(cm,"__esModule",{value:!0});cm.AlgebraOptimizer=void 0;var F8=Bb(),Vb=class{static{o(this,"AlgebraOptimizer")}constructor(){this.stats=new Map,this.tripleStore=null,this.filterContainsOptimizer=new F8.FilterContainsOptimizer}setTripleStore(e){this.tripleStore=e,this.filterContainsOptimizer.setTripleStore(e)}getOptimizationHints(){return this.filterContainsOptimizer.getLastOptimizationHints()}analyzeQuery(e){return this.filterContainsOptimizer.analyzeQuery(e)}optimize(e){let t=e;return t=this.eliminateEmptyBGPInFilterJoin(t),t=this.filterPushDown(t),t=this.joinReordering(t),t}async optimizeAsync(e){let t=e;return t=this.eliminateEmptyBGPInFilterJoin(t),this.tripleStore&&(t=await this.filterContainsOptimizer.optimize(t)),t=this.filterPushDown(t),t=this.joinReordering(t),t}optimizeWithSubjects(e,t){let r=e;return r=this.eliminateEmptyBGPInFilterJoin(r),r=this.filterContainsOptimizer.optimizeSync(r,t),r=this.filterPushDown(r),r=this.joinReordering(r),r}eliminateEmptyBGPInFilterJoin(e){if(e.type==="join"){if(e.left.type==="filter"){let t=e.left;if(t.input.type==="bgp"&&t.input.triples.length===0)return{type:"filter",expression:t.expression,input:this.eliminateEmptyBGPInFilterJoin(e.right)}}if(e.right.type==="filter"){let t=e.right;if(t.input.type==="bgp"&&t.input.triples.length===0)return{type:"filter",expression:t.expression,input:this.eliminateEmptyBGPInFilterJoin(e.left)}}return{type:"join",left:this.eliminateEmptyBGPInFilterJoin(e.left),right:this.eliminateEmptyBGPInFilterJoin(e.right)}}return e.type==="filter"?{...e,input:this.eliminateEmptyBGPInFilterJoin(e.input)}:e.type==="leftjoin"?{...e,left:this.eliminateEmptyBGPInFilterJoin(e.left),right:this.eliminateEmptyBGPInFilterJoin(e.right)}:e.type==="union"?{...e,left:this.eliminateEmptyBGPInFilterJoin(e.left),right:this.eliminateEmptyBGPInFilterJoin(e.right)}:e.type==="minus"?{...e,left:this.eliminateEmptyBGPInFilterJoin(e.left),right:this.eliminateEmptyBGPInFilterJoin(e.right)}:e.type==="project"?{...e,input:this.eliminateEmptyBGPInFilterJoin(e.input)}:e.type==="orderby"?{...e,input:this.eliminateEmptyBGPInFilterJoin(e.input)}:e.type==="slice"?{...e,input:this.eliminateEmptyBGPInFilterJoin(e.input)}:e.type==="distinct"?{...e,input:this.eliminateEmptyBGPInFilterJoin(e.input)}:e}filterPushDown(e){return e.type==="filter"?this.pushDownFilter(e):e.type==="join"?{type:"join",left:this.filterPushDown(e.left),right:this.filterPushDown(e.right)}:e.type==="leftjoin"?{...e,left:this.filterPushDown(e.left),right:this.filterPushDown(e.right)}:e.type==="union"?{type:"union",left:this.filterPushDown(e.left),right:this.filterPushDown(e.right)}:e.type==="minus"?{...e,left:this.filterPushDown(e.left),right:this.filterPushDown(e.right)}:e.type==="project"?{...e,input:this.filterPushDown(e.input)}:e.type==="orderby"?{...e,input:this.filterPushDown(e.input)}:e.type==="slice"?{...e,input:this.filterPushDown(e.input)}:e.type==="distinct"?{...e,input:this.filterPushDown(e.input)}:e}pushDownFilter(e){let t=e.input;if(t.type==="join"){let r=this.getFilterVariables(e.expression),i=this.getOperationVariables(t.left),s=this.getOperationVariables(t.right),a=r.every(l=>i.has(l)),c=r.every(l=>s.has(l));return a&&!c?{type:"join",left:{type:"filter",expression:e.expression,input:this.filterPushDown(t.left)},right:this.filterPushDown(t.right)}:c&&!a?{type:"join",left:this.filterPushDown(t.left),right:{type:"filter",expression:e.expression,input:this.filterPushDown(t.right)}}:{type:"filter",expression:e.expression,input:{type:"join",left:this.filterPushDown(t.left),right:this.filterPushDown(t.right)}}}return t.type==="union"?{type:"union",left:{type:"filter",expression:e.expression,input:this.filterPushDown(t.left)},right:{type:"filter",expression:e.expression,input:this.filterPushDown(t.right)}}:{type:"filter",expression:e.expression,input:this.filterPushDown(t)}}getFilterVariables(e){let t=[];if(e.type==="variable")t.push(e.name);else if(e.type==="comparison")t.push(...this.getFilterVariables(e.left)),t.push(...this.getFilterVariables(e.right));else if(e.type==="logical")for(let r of e.operands)t.push(...this.getFilterVariables(r));else if(e.type==="function")for(let r of e.args)t.push(...this.getFilterVariables(r));return Array.from(new Set(t))}getOperationVariables(e){let t=new Set;if(e.type==="bgp")for(let r of e.triples)r.subject.type==="variable"&&t.add(r.subject.value),r.predicate.type==="variable"&&t.add(r.predicate.value),r.object.type==="variable"&&t.add(r.object.value);else if(e.type==="join"){let r=this.getOperationVariables(e.left),i=this.getOperationVariables(e.right);return new Set([...r,...i])}else{if(e.type==="filter")return this.getOperationVariables(e.input);if(e.type==="leftjoin"){let r=this.getOperationVariables(e.left),i=this.getOperationVariables(e.right);return new Set([...r,...i])}else if(e.type==="union"){let r=this.getOperationVariables(e.left),i=this.getOperationVariables(e.right);return new Set([...r,...i])}else{if(e.type==="minus")return this.getOperationVariables(e.left);if(e.type==="project")return new Set(e.variables)}}return t}joinReordering(e){return e.type==="join"?this.reorderJoin(e):e.type==="filter"?{...e,input:this.joinReordering(e.input)}:e.type==="leftjoin"?{...e,left:this.joinReordering(e.left),right:this.joinReordering(e.right)}:e.type==="union"?{...e,left:this.joinReordering(e.left),right:this.joinReordering(e.right)}:e.type==="minus"?{...e,left:this.joinReordering(e.left),right:this.joinReordering(e.right)}:e.type==="project"?{...e,input:this.joinReordering(e.input)}:e.type==="orderby"?{...e,input:this.joinReordering(e.input)}:e.type==="slice"?{...e,input:this.joinReordering(e.input)}:e.type==="distinct"?{...e,input:this.joinReordering(e.input)}:e}reorderJoin(e){let t=this.isConstrained(e.left),r=this.isConstrained(e.right);if(r&&!t)return{type:"join",left:this.joinReordering(e.right),right:this.joinReordering(e.left)};if(t&&!r)return{type:"join",left:this.joinReordering(e.left),right:this.joinReordering(e.right)};let i=this.estimateCost(e.left);return this.estimateCost(e.right)<i?{type:"join",left:this.joinReordering(e.right),right:this.joinReordering(e.left)}:{type:"join",left:this.joinReordering(e.left),right:this.joinReordering(e.right)}}isConstrained(e){return e.type==="values"?!0:e.type==="bgp"?e.triples.some(t=>t.object.type!=="variable"||t.subject.type!=="variable"):e.type==="filter"?this.isConstrained(e.input):e.type==="join"?this.isConstrained(e.left)||this.isConstrained(e.right):e.type==="union"?this.isConstrained(e.left)&&this.isConstrained(e.right):!1}estimateCost(e){if(e.type==="bgp"){let t=0;for(let r of e.triples){let i=10;r.subject.type==="variable"&&(i*=10),r.predicate.type==="variable"&&(i*=20),r.object.type==="variable"&&(i*=5),t+=i}return t}if(e.type==="filter")return this.estimateCost(e.input)*.3;if(e.type==="join"){let t=this.estimateCost(e.left),r=this.estimateCost(e.right);return e.left.type==="values"||e.right.type==="values"?Math.min(t,r)*2:t*r}if(e.type==="leftjoin")return this.estimateCost(e.left)+this.estimateCost(e.right)*.5;if(e.type==="union")return this.estimateCost(e.left)+this.estimateCost(e.right);if(e.type==="values"){let t=e.bindings;return Array.isArray(t)?t.length*5:10}return e.type==="minus"?this.estimateCost(e.left)+this.estimateCost(e.right)*.3:100}setStatistics(e,t){this.stats.set(e,t)}getStatistics(e){return this.stats.get(e)}};cm.AlgebraOptimizer=Vb});var Ex=S(lm=>{"use strict";Object.defineProperty(lm,"__esModule",{value:!0});lm.AlgebraSerializer=void 0;var Ub=class{static{o(this,"AlgebraSerializer")}toString(e,t=0){let r=" ".repeat(t);switch(e.type){case"bgp":return`${r}BGP [
|
|
378
378
|
${e.triples.map(u=>`${r} ${this.tripleToString(u)}`).join(`
|
|
379
379
|
`)}
|
|
380
380
|
${r}]`;case"filter":return`${r}Filter(
|
|
@@ -452,7 +452,7 @@ To resolve:
|
|
|
452
452
|
\u2022 Verify all required dependencies are available
|
|
453
453
|
\u2022 Review service logs for detailed error information
|
|
454
454
|
\u2022 Contact support if the issue persists`}};km.ServiceError=vv});var cC=S(tr=>{"use strict";Object.defineProperty(tr,"__esModule",{value:!0});tr.ServiceError=tr.ResourceExhaustedError=tr.NotFoundError=tr.PermissionError=tr.StateTransitionError=tr.NetworkError=tr.ValidationError=tr.ApplicationError=tr.ErrorCode=void 0;var SB=fs();Object.defineProperty(tr,"ErrorCode",{enumerable:!0,get:o(function(){return SB.ErrorCode},"get")});var bB=ds();Object.defineProperty(tr,"ApplicationError",{enumerable:!0,get:o(function(){return bB.ApplicationError},"get")});var vB=tC();Object.defineProperty(tr,"ValidationError",{enumerable:!0,get:o(function(){return vB.ValidationError},"get")});var wB=rC();Object.defineProperty(tr,"NetworkError",{enumerable:!0,get:o(function(){return wB.NetworkError},"get")});var EB=nC();Object.defineProperty(tr,"StateTransitionError",{enumerable:!0,get:o(function(){return EB.StateTransitionError},"get")});var TB=iC();Object.defineProperty(tr,"PermissionError",{enumerable:!0,get:o(function(){return TB.PermissionError},"get")});var AB=sC();Object.defineProperty(tr,"NotFoundError",{enumerable:!0,get:o(function(){return AB.NotFoundError},"get")});var xB=aC();Object.defineProperty(tr,"ResourceExhaustedError",{enumerable:!0,get:o(function(){return xB.ResourceExhaustedError},"get")});var CB=oC();Object.defineProperty(tr,"ServiceError",{enumerable:!0,get:o(function(){return CB.ServiceError},"get")})});var lC=S(Mm=>{"use strict";Object.defineProperty(Mm,"__esModule",{value:!0});Mm.ApplicationErrorHandler=void 0;var wv=ds(),IB=fs(),RB=xa(),Ev=class{static{o(this,"ApplicationErrorHandler")}constructor(e={},t,r){this.logger=t,this.notifier=r,this.telemetryHooks=new Set,this.retryConfig={maxRetries:e.maxRetries??3,initialDelayMs:e.initialDelayMs??1e3,backoffMultiplier:e.backoffMultiplier??2,maxDelayMs:e.maxDelayMs??1e4}}handle(e,t){let r=this.ensureApplicationError(e,t);return this.notifier&&this.notifier.error(r.message),this.callTelemetryHooks("onError",r,t),this.formatError(r)}async executeWithRetry(e,t){let r,i=0;for(;i<=this.retryConfig.maxRetries;)try{return await e()}catch(s){if(r=this.ensureApplicationError(s,t),!r.retriable||i>=this.retryConfig.maxRetries)throw this.callTelemetryHooks("onError",r,t),i>=this.retryConfig.maxRetries&&r.retriable&&this.callTelemetryHooks("onRetryExhausted",r,i+1),r;let a=this.calculateDelay(i);this.callTelemetryHooks("onRetry",r,i+1,a),this.logger?.debug(`Retrying after ${a}ms (attempt ${i+1}/${this.retryConfig.maxRetries})`),await this.sleep(a),i++}throw r}registerTelemetryHook(e){this.telemetryHooks.add(e)}unregisterTelemetryHook(e){this.telemetryHooks.delete(e)}ensureApplicationError(e,t){if(e instanceof wv.ApplicationError){if(t){let i=e,s={...e.context,...t};return new class extends wv.ApplicationError{constructor(){super(...arguments),this.code=i.code,this.retriable=i.retriable,this.guidance=i.guidance}}(e.message,s)}return e}return new class extends wv.ApplicationError{static{o(this,"UnknownError")}constructor(s,a){super(s,{originalError:a.name,...t}),this.code=IB.ErrorCode.UNKNOWN_ERROR,this.retriable=!1,this.guidance="An unexpected error occurred"}}(e.message,e)}formatError(e){let t=[];return t.push(`\u274C ${e.name}: ${e.message}`),e.guidance&&t.push(`\u{1F4A1} ${e.guidance}`),e.context&&Object.keys(e.context).length>0&&t.push(`Context: ${JSON.stringify(e.context,null,2)}`),t.join(`
|
|
455
|
-
`)}calculateDelay(e){let t=this.retryConfig.initialDelayMs*Math.pow(this.retryConfig.backoffMultiplier,e);return Math.min(t,this.retryConfig.maxDelayMs)}sleep(e){return new Promise(t=>setTimeout(t,e))}callTelemetryHooks(e,...t){for(let r of this.telemetryHooks)try{let i=r[e];i&&i.apply(r,t)}catch(i){RB.LoggingService.error("Error in telemetry hook",i instanceof Error?i:new Error(String(i)))}}};Mm.ApplicationErrorHandler=Ev});var uC=S(jm=>{"use strict";Object.defineProperty(jm,"__esModule",{value:!0});jm.ApplicationErrorHandler=void 0;var OB=lC();Object.defineProperty(jm,"ApplicationErrorHandler",{enumerable:!0,get:o(function(){return OB.ApplicationErrorHandler},"get")})});var Gt=S(m=>{"use strict";var PB=m&&m.__createBinding||(Object.create?(function(n,e,t,r){r===void 0&&(r=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:o(function(){return e[t]},"get")}),Object.defineProperty(n,r,i)}):(function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]})),Yn=m&&m.__exportStar||function(n,e){for(var t in n)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&PB(e,n,t)};Object.defineProperty(m,"__esModule",{value:!0});m.RenameToUidService=m.PropertyCleanupService=m.LoggingService=m.LabelToAliasService=m.FolderRepairService=m.EffortVotingService=m.WorkflowCommandAdapter=m.VisibilityGenerator=m.InstantiationRuleResolver=m.WorkflowResolver=m.WorkflowEngine=m.EffortStatusWorkflow=m.ConceptCreationService=m.ClassCreationService=m.AreaHierarchyBuilder=m.AreaCreationService=m.TaskStatusService=m.ServiceRegistry=m.GroundingExecutor=m.PreconditionEvaluator=m.CommandResolver=m.extractPropertyLabel=m.uriToPropertyName=m.propertyNameToUri=m.rangeToFieldType=m.PropertyFieldType=m.isCommandBindingFrontmatter=m.isGroundingFrontmatter=m.isPreconditionFrontmatter=m.isCommandFrontmatter=m.isStyleSource=m.isLabelClass=m.isCommandVariant=m.STYLE_SOURCE_VALUES=m.LABEL_CLASS_VALUES=m.COMMAND_VARIANT_VALUES=m.CommandBindingStyleProperty=m.CommandBindingProperty=m.GroundingProperty=m.PreconditionProperty=m.CommandProperty=m.GroundingType=m.getEffortStatusLabel=m.isTrashedStatus=m.isDoneStatus=m.normalizeEffortStatus=m.EFFORT_STATUS_OPTIONS=m.STATUS_NAME_TO_WIKILINK=m.STATUS_NAME_TO_ENUM=m.EFFORT_STATUS_CONFIG=void 0;m.RDFSInferenceEngine=m.RDFVocabularyMapper=m.InMemoryTripleStore=m.NullLogger=m.RDFSerializer=m.FilenameValidator=m.EffortSortingHelpers=m.MetadataExtractor=m.MetadataHelpers=m.WikiLinkHelpers=m.DateFormatter=m.FrontmatterService=m.CriticalityZoneUUIDs=m.CriticalityZoneService=m.DailyReviewService=m.DEFAULT_AUTOCOMPLETE_CONFIG=m.AutocompleteService=m.TrendDetectionService=m.AnalyticsService=m.getTemplateByName=m.validateParameters=m.fillTemplate=m.findMatchingTemplates=m.findClassByTerm=m.KNOWN_CLASSES=m.KNOWN_PROTOTYPES=m.EFFORT_STATUSES=m.ASSET_CLASSES=m.PREDICATES=m.SPARQL_PREFIXES=m.SPARQL_TEMPLATES=m.DEFAULT_NL_TO_SPARQL_CONFIG=m.NLToSPARQLService=m.TypeRegistry=m.GraphQueryService=m.FixMissingLabelService=m.ArchiveAssetService=m.GenericAssetCreationService=m.URIConstructionService=m.SessionEventService=m.AssetConversionService=m.EnumValueResolver=m.ClassHierarchyResolver=m.PropertySchemaResolver=m.PlanningService=m.AlgorithmExtractor=m.DynamicFrontmatterGenerator=m.FleetingNoteCreationService=m.SupervisionCreationService=m.StatusTimestampService=void 0;m.VaultPrefixTransformer=m.CaseWhenTransformerError=m.CaseWhenTransformer=m.ResultSerializer=m.createIncrementalIndexer=m.IncrementalIndexer=m.createSPARQLResultCache=m.SPARQLResultCache=m.QueryPlanCache=m.createDoubleLiteral=m.createDecimalLiteral=m.getNumericValue=m.createPercentileAggregate=m.modeAggregate=m.stddevAggregate=m.varianceAggregate=m.medianAggregate=m.EXO_AGGREGATE_NS=m.BUILT_IN_AGGREGATES=m.CustomAggregateError=m.CustomAggregateRegistry=m.AggregateFunctions=m.BuiltInFunctions=m.SolutionMapping=m.UpdateExecutorError=m.UpdateExecutor=m.QueryExecutor=m.ExoQLQueryExecutor=m.DescribeExecutor=m.ConstructExecutor=m.UnionExecutor=m.OptionalExecutor=m.FilterExecutor=m.BGPExecutor=m.AlgebraSerializer=m.AlgebraOptimizer=m.AlgebraTranslator=m.ExoQLAlgebraTranslator=m.DescribeOptionsTransformerError=m.DescribeOptionsTransformer=m.SPARQLParseError=m.SPARQLParser=m.ExoQLParser=m.NoteToRDFConverter=m.SOURCE_VARIABLE=m.SourceAnnotator=m.INFERRED_GRAPH=m.PrototypeChainMaterializer=m.PropertyCardinalityRegistry=m.NonInheritablePropertyRegistry=void 0;m.selectByPriority=m.LayoutSelector=m.isPropertiesBlock=m.isLayoutBlockFrontmatter=m.isBacklinksTableBlock=m.createLayoutBlockFromFrontmatter=m.PROPERTIES_BLOCK_CLASS_UID=m.PROPERTIES_BLOCK_CLASS_IRI=m.BACKLINKS_TABLE_BLOCK_CLASS_UID=m.BACKLINKS_TABLE_BLOCK_CLASS_IRI=m.isLayoutFrontmatter=m.isLayout=m.createLayoutFromFrontmatter=m.LAYOUT_CLASS_UID=m.LAYOUT_CLASS_IRI=m.RelationColumnSetResolver=m.normalizeRelationColumnSetRef=m.isRelationColumnSetFrontmatter=m.isRelationColumnSet=m.createRelationColumnSetFromFrontmatter=m.RELATION_COLUMN_SET_CLASS_UID=m.RELATION_COLUMN_SET_CLASS_IRI=m.ExoQLError=m.ExoQL=m.createStreamingSource=m.StreamingLoader=m.resetGlobalPool=m.getGlobalPool=m.MemoryPool=m.CompactGraphStore=m.StringTable=m.DEFAULT_COLORS=m.NODE_FLAGS=m.container=m.resetContainer=m.getContainer=m.createChildContainer=m.registerCoreServices=m.DI_TOKENS=m.DEFAULT_FLEETING_NOTE_CLASS_UID=m.DEFAULT_INBOX_FOLDER=m.DEFAULT_OWNER_IDENTITY=m.VaultSettings=m.TransactionError=m.TripleNotFoundError=m.TripleAlreadyExistsError=m.FileAlreadyExistsError=m.FileNotFoundError=m.FilterContainsOptimizer=void 0;Yn(_u(),m);Yn(hc(),m);var Da=Wy();Object.defineProperty(m,"EFFORT_STATUS_CONFIG",{enumerable:!0,get:o(function(){return Da.EFFORT_STATUS_CONFIG},"get")});Object.defineProperty(m,"STATUS_NAME_TO_ENUM",{enumerable:!0,get:o(function(){return Da.STATUS_NAME_TO_ENUM},"get")});Object.defineProperty(m,"STATUS_NAME_TO_WIKILINK",{enumerable:!0,get:o(function(){return Da.STATUS_NAME_TO_WIKILINK},"get")});Object.defineProperty(m,"EFFORT_STATUS_OPTIONS",{enumerable:!0,get:o(function(){return Da.EFFORT_STATUS_OPTIONS},"get")});Object.defineProperty(m,"normalizeEffortStatus",{enumerable:!0,get:o(function(){return Da.normalizeEffortStatus},"get")});Object.defineProperty(m,"isDoneStatus",{enumerable:!0,get:o(function(){return Da.isDoneStatus},"get")});Object.defineProperty(m,"isTrashedStatus",{enumerable:!0,get:o(function(){return Da.isTrashedStatus},"get")});Object.defineProperty(m,"getEffortStatusLabel",{enumerable:!0,get:o(function(){return Da.getEffortStatusLabel},"get")});var FB=pc();Object.defineProperty(m,"GroundingType",{enumerable:!0,get:o(function(){return FB.GroundingType},"get")});var uf=Gy();Object.defineProperty(m,"CommandProperty",{enumerable:!0,get:o(function(){return uf.CommandProperty},"get")});Object.defineProperty(m,"PreconditionProperty",{enumerable:!0,get:o(function(){return uf.PreconditionProperty},"get")});Object.defineProperty(m,"GroundingProperty",{enumerable:!0,get:o(function(){return uf.GroundingProperty},"get")});Object.defineProperty(m,"CommandBindingProperty",{enumerable:!0,get:o(function(){return uf.CommandBindingProperty},"get")});Object.defineProperty(m,"CommandBindingStyleProperty",{enumerable:!0,get:o(function(){return uf.CommandBindingStyleProperty},"get")});var _l=zy();Object.defineProperty(m,"COMMAND_VARIANT_VALUES",{enumerable:!0,get:o(function(){return _l.COMMAND_VARIANT_VALUES},"get")});Object.defineProperty(m,"LABEL_CLASS_VALUES",{enumerable:!0,get:o(function(){return _l.LABEL_CLASS_VALUES},"get")});Object.defineProperty(m,"STYLE_SOURCE_VALUES",{enumerable:!0,get:o(function(){return _l.STYLE_SOURCE_VALUES},"get")});Object.defineProperty(m,"isCommandVariant",{enumerable:!0,get:o(function(){return _l.isCommandVariant},"get")});Object.defineProperty(m,"isLabelClass",{enumerable:!0,get:o(function(){return _l.isLabelClass},"get")});Object.defineProperty(m,"isStyleSource",{enumerable:!0,get:o(function(){return _l.isStyleSource},"get")});var $m=C2();Object.defineProperty(m,"isCommandFrontmatter",{enumerable:!0,get:o(function(){return $m.isCommandFrontmatter},"get")});Object.defineProperty(m,"isPreconditionFrontmatter",{enumerable:!0,get:o(function(){return $m.isPreconditionFrontmatter},"get")});Object.defineProperty(m,"isGroundingFrontmatter",{enumerable:!0,get:o(function(){return $m.isGroundingFrontmatter},"get")});Object.defineProperty(m,"isCommandBindingFrontmatter",{enumerable:!0,get:o(function(){return $m.isCommandBindingFrontmatter},"get")});Yn(I2(),m);Yn(R2(),m);Yn(Hy(),m);Yn(Qy(),m);Yn(P2(),m);Yn(N2(),m);Yn(R0(),m);Yn(wT(),m);var fC=fh();Object.defineProperty(m,"PropertyFieldType",{enumerable:!0,get:o(function(){return fC.PropertyFieldType},"get")});Object.defineProperty(m,"rangeToFieldType",{enumerable:!0,get:o(function(){return fC.rangeToFieldType},"get")});var Tv=D0();Object.defineProperty(m,"propertyNameToUri",{enumerable:!0,get:o(function(){return Tv.propertyNameToUri},"get")});Object.defineProperty(m,"uriToPropertyName",{enumerable:!0,get:o(function(){return Tv.uriToPropertyName},"get")});Object.defineProperty(m,"extractPropertyLabel",{enumerable:!0,get:o(function(){return Tv.extractPropertyLabel},"get")});var DB=X3();Object.defineProperty(m,"CommandResolver",{enumerable:!0,get:o(function(){return DB.CommandResolver},"get")});var NB=Z3();Object.defineProperty(m,"PreconditionEvaluator",{enumerable:!0,get:o(function(){return NB.PreconditionEvaluator},"get")});var dC=tA();Object.defineProperty(m,"GroundingExecutor",{enumerable:!0,get:o(function(){return dC.GroundingExecutor},"get")});Object.defineProperty(m,"ServiceRegistry",{enumerable:!0,get:o(function(){return dC.ServiceRegistry},"get")});var LB=rS();Object.defineProperty(m,"TaskStatusService",{enumerable:!0,get:o(function(){return LB.TaskStatusService},"get")});var kB=aS();Object.defineProperty(m,"AreaCreationService",{enumerable:!0,get:o(function(){return kB.AreaCreationService},"get")});var MB=cS();Object.defineProperty(m,"AreaHierarchyBuilder",{enumerable:!0,get:o(function(){return MB.AreaHierarchyBuilder},"get")});var jB=uS();Object.defineProperty(m,"ClassCreationService",{enumerable:!0,get:o(function(){return jB.ClassCreationService},"get")});var $B=dS();Object.defineProperty(m,"ConceptCreationService",{enumerable:!0,get:o(function(){return $B.ConceptCreationService},"get")});var BB=Up();Object.defineProperty(m,"EffortStatusWorkflow",{enumerable:!0,get:o(function(){return BB.EffortStatusWorkflow},"get")});var VB=Qu();Object.defineProperty(m,"WorkflowEngine",{enumerable:!0,get:o(function(){return VB.WorkflowEngine},"get")});var UB=W1();Object.defineProperty(m,"WorkflowResolver",{enumerable:!0,get:o(function(){return UB.WorkflowResolver},"get")});var qB=mA();Object.defineProperty(m,"InstantiationRuleResolver",{enumerable:!0,get:o(function(){return qB.InstantiationRuleResolver},"get")});var WB=gA();Object.defineProperty(m,"VisibilityGenerator",{enumerable:!0,get:o(function(){return WB.VisibilityGenerator},"get")});var GB=yA();Object.defineProperty(m,"WorkflowCommandAdapter",{enumerable:!0,get:o(function(){return GB.WorkflowCommandAdapter},"get")});var zB=SS();Object.defineProperty(m,"EffortVotingService",{enumerable:!0,get:o(function(){return zB.EffortVotingService},"get")});var HB=vS();Object.defineProperty(m,"FolderRepairService",{enumerable:!0,get:o(function(){return HB.FolderRepairService},"get")});var QB=ES();Object.defineProperty(m,"LabelToAliasService",{enumerable:!0,get:o(function(){return QB.LabelToAliasService},"get")});var YB=xa();Object.defineProperty(m,"LoggingService",{enumerable:!0,get:o(function(){return YB.LoggingService},"get")});var KB=xS();Object.defineProperty(m,"PropertyCleanupService",{enumerable:!0,get:o(function(){return KB.PropertyCleanupService},"get")});var XB=IS();Object.defineProperty(m,"RenameToUidService",{enumerable:!0,get:o(function(){return XB.RenameToUidService},"get")});var JB=Wp();Object.defineProperty(m,"StatusTimestampService",{enumerable:!0,get:o(function(){return JB.StatusTimestampService},"get")});var ZB=PS();Object.defineProperty(m,"SupervisionCreationService",{enumerable:!0,get:o(function(){return ZB.SupervisionCreationService},"get")});var eV=NS();Object.defineProperty(m,"FleetingNoteCreationService",{enumerable:!0,get:o(function(){return eV.FleetingNoteCreationService},"get")});var tV=kS();Object.defineProperty(m,"DynamicFrontmatterGenerator",{enumerable:!0,get:o(function(){return tV.DynamicFrontmatterGenerator},"get")});var rV=jS();Object.defineProperty(m,"AlgorithmExtractor",{enumerable:!0,get:o(function(){return rV.AlgorithmExtractor},"get")});var nV=BS();Object.defineProperty(m,"PlanningService",{enumerable:!0,get:o(function(){return nV.PlanningService},"get")});var iV=OA();Object.defineProperty(m,"PropertySchemaResolver",{enumerable:!0,get:o(function(){return iV.PropertySchemaResolver},"get")});var sV=PA();Object.defineProperty(m,"ClassHierarchyResolver",{enumerable:!0,get:o(function(){return sV.ClassHierarchyResolver},"get")});var aV=FA();Object.defineProperty(m,"EnumValueResolver",{enumerable:!0,get:o(function(){return aV.EnumValueResolver},"get")});var oV=GS();Object.defineProperty(m,"AssetConversionService",{enumerable:!0,get:o(function(){return oV.AssetConversionService},"get")});var cV=QS();Object.defineProperty(m,"SessionEventService",{enumerable:!0,get:o(function(){return cV.SessionEventService},"get")});var lV=XS();Object.defineProperty(m,"URIConstructionService",{enumerable:!0,get:o(function(){return lV.URIConstructionService},"get")});var uV=ZS();Object.defineProperty(m,"GenericAssetCreationService",{enumerable:!0,get:o(function(){return uV.GenericAssetCreationService},"get")});var fV=UA();Object.defineProperty(m,"ArchiveAssetService",{enumerable:!0,get:o(function(){return fV.ArchiveAssetService},"get")});var dV=WA();Object.defineProperty(m,"FixMissingLabelService",{enumerable:!0,get:o(function(){return dV.FixMissingLabelService},"get")});var hV=GA();Object.defineProperty(m,"GraphQueryService",{enumerable:!0,get:o(function(){return hV.GraphQueryService},"get")});var pV=HA();Object.defineProperty(m,"TypeRegistry",{enumerable:!0,get:o(function(){return pV.TypeRegistry},"get")});var hC=QA();Object.defineProperty(m,"NLToSPARQLService",{enumerable:!0,get:o(function(){return hC.NLToSPARQLService},"get")});Object.defineProperty(m,"DEFAULT_NL_TO_SPARQL_CONFIG",{enumerable:!0,get:o(function(){return hC.DEFAULT_NL_TO_SPARQL_CONFIG},"get")});var Kn=ib();Object.defineProperty(m,"SPARQL_TEMPLATES",{enumerable:!0,get:o(function(){return Kn.SPARQL_TEMPLATES},"get")});Object.defineProperty(m,"SPARQL_PREFIXES",{enumerable:!0,get:o(function(){return Kn.SPARQL_PREFIXES},"get")});Object.defineProperty(m,"PREDICATES",{enumerable:!0,get:o(function(){return Kn.PREDICATES},"get")});Object.defineProperty(m,"ASSET_CLASSES",{enumerable:!0,get:o(function(){return Kn.ASSET_CLASSES},"get")});Object.defineProperty(m,"EFFORT_STATUSES",{enumerable:!0,get:o(function(){return Kn.EFFORT_STATUSES},"get")});Object.defineProperty(m,"KNOWN_PROTOTYPES",{enumerable:!0,get:o(function(){return Kn.KNOWN_PROTOTYPES},"get")});Object.defineProperty(m,"KNOWN_CLASSES",{enumerable:!0,get:o(function(){return Kn.KNOWN_CLASSES},"get")});Object.defineProperty(m,"findClassByTerm",{enumerable:!0,get:o(function(){return Kn.findClassByTerm},"get")});Object.defineProperty(m,"findMatchingTemplates",{enumerable:!0,get:o(function(){return Kn.findMatchingTemplates},"get")});Object.defineProperty(m,"fillTemplate",{enumerable:!0,get:o(function(){return Kn.fillTemplate},"get")});Object.defineProperty(m,"validateParameters",{enumerable:!0,get:o(function(){return Kn.validateParameters},"get")});Object.defineProperty(m,"getTemplateByName",{enumerable:!0,get:o(function(){return Kn.getTemplateByName},"get")});var mV=KA();Object.defineProperty(m,"AnalyticsService",{enumerable:!0,get:o(function(){return mV.AnalyticsService},"get")});var gV=XA();Object.defineProperty(m,"TrendDetectionService",{enumerable:!0,get:o(function(){return gV.TrendDetectionService},"get")});var pC=ZA();Object.defineProperty(m,"AutocompleteService",{enumerable:!0,get:o(function(){return pC.AutocompleteService},"get")});Object.defineProperty(m,"DEFAULT_AUTOCOMPLETE_CONFIG",{enumerable:!0,get:o(function(){return pC.DEFAULT_AUTOCOMPLETE_CONFIG},"get")});var yV=tx();Object.defineProperty(m,"DailyReviewService",{enumerable:!0,get:o(function(){return yV.DailyReviewService},"get")});var mC=fb();Object.defineProperty(m,"CriticalityZoneService",{enumerable:!0,get:o(function(){return mC.CriticalityZoneService},"get")});Object.defineProperty(m,"CriticalityZoneUUIDs",{enumerable:!0,get:o(function(){return mC.CriticalityZoneUUIDs},"get")});var _V=Gn();Object.defineProperty(m,"FrontmatterService",{enumerable:!0,get:o(function(){return _V.FrontmatterService},"get")});var SV=qr();Object.defineProperty(m,"DateFormatter",{enumerable:!0,get:o(function(){return SV.DateFormatter},"get")});var bV=Ns();Object.defineProperty(m,"WikiLinkHelpers",{enumerable:!0,get:o(function(){return bV.WikiLinkHelpers},"get")});var vV=as();Object.defineProperty(m,"MetadataHelpers",{enumerable:!0,get:o(function(){return vV.MetadataHelpers},"get")});var wV=iS();Object.defineProperty(m,"MetadataExtractor",{enumerable:!0,get:o(function(){return wV.MetadataExtractor},"get")});var EV=nx();Object.defineProperty(m,"EffortSortingHelpers",{enumerable:!0,get:o(function(){return EV.EffortSortingHelpers},"get")});var TV=ix();Object.defineProperty(m,"FilenameValidator",{enumerable:!0,get:o(function(){return TV.FilenameValidator},"get")});var AV=fx();Object.defineProperty(m,"RDFSerializer",{enumerable:!0,get:o(function(){return AV.RDFSerializer},"get")});var xV=bc();Object.defineProperty(m,"NullLogger",{enumerable:!0,get:o(function(){return xV.NullLogger},"get")});var CV=J1();Object.defineProperty(m,"InMemoryTripleStore",{enumerable:!0,get:o(function(){return CV.InMemoryTripleStore},"get")});var IV=Tb();Object.defineProperty(m,"RDFVocabularyMapper",{enumerable:!0,get:o(function(){return IV.RDFVocabularyMapper},"get")});var RV=hx();Object.defineProperty(m,"RDFSInferenceEngine",{enumerable:!0,get:o(function(){return RV.RDFSInferenceEngine},"get")});var OV=Ib();Object.defineProperty(m,"NonInheritablePropertyRegistry",{enumerable:!0,get:o(function(){return OV.NonInheritablePropertyRegistry},"get")});var PV=Pb();Object.defineProperty(m,"PropertyCardinalityRegistry",{enumerable:!0,get:o(function(){return PV.PropertyCardinalityRegistry},"get")});var gC=Nb();Object.defineProperty(m,"PrototypeChainMaterializer",{enumerable:!0,get:o(function(){return gC.PrototypeChainMaterializer},"get")});Object.defineProperty(m,"INFERRED_GRAPH",{enumerable:!0,get:o(function(){return gC.INFERRED_GRAPH},"get")});var yC=kb();Object.defineProperty(m,"SourceAnnotator",{enumerable:!0,get:o(function(){return yC.SourceAnnotator},"get")});Object.defineProperty(m,"SOURCE_VARIABLE",{enumerable:!0,get:o(function(){return yC.SOURCE_VARIABLE},"get")});var FV=jb();Object.defineProperty(m,"NoteToRDFConverter",{enumerable:!0,get:o(function(){return FV.NoteToRDFConverter},"get")});var Av=Oc();Object.defineProperty(m,"ExoQLParser",{enumerable:!0,get:o(function(){return Av.ExoQLParser},"get")});Object.defineProperty(m,"SPARQLParser",{enumerable:!0,get:o(function(){return Av.SPARQLParser},"get")});Object.defineProperty(m,"SPARQLParseError",{enumerable:!0,get:o(function(){return Av.SPARQLParseError},"get")});var _C=P_();Object.defineProperty(m,"DescribeOptionsTransformer",{enumerable:!0,get:o(function(){return _C.DescribeOptionsTransformer},"get")});Object.defineProperty(m,"DescribeOptionsTransformerError",{enumerable:!0,get:o(function(){return _C.DescribeOptionsTransformerError},"get")});var SC=Fc();Object.defineProperty(m,"ExoQLAlgebraTranslator",{enumerable:!0,get:o(function(){return SC.ExoQLAlgebraTranslator},"get")});Object.defineProperty(m,"AlgebraTranslator",{enumerable:!0,get:o(function(){return SC.AlgebraTranslator},"get")});var DV=wx();Object.defineProperty(m,"AlgebraOptimizer",{enumerable:!0,get:o(function(){return DV.AlgebraOptimizer},"get")});var NV=Ex();Object.defineProperty(m,"AlgebraSerializer",{enumerable:!0,get:o(function(){return NV.AlgebraSerializer},"get")});var LV=Y_();Object.defineProperty(m,"BGPExecutor",{enumerable:!0,get:o(function(){return LV.BGPExecutor},"get")});var kV=_p();Object.defineProperty(m,"FilterExecutor",{enumerable:!0,get:o(function(){return kV.FilterExecutor},"get")});var MV=p1();Object.defineProperty(m,"OptionalExecutor",{enumerable:!0,get:o(function(){return MV.OptionalExecutor},"get")});var jV=g1();Object.defineProperty(m,"UnionExecutor",{enumerable:!0,get:o(function(){return jV.UnionExecutor},"get")});var $V=x1();Object.defineProperty(m,"ConstructExecutor",{enumerable:!0,get:o(function(){return $V.ConstructExecutor},"get")});var BV=Ax();Object.defineProperty(m,"DescribeExecutor",{enumerable:!0,get:o(function(){return BV.DescribeExecutor},"get")});var bC=Jc();Object.defineProperty(m,"ExoQLQueryExecutor",{enumerable:!0,get:o(function(){return bC.ExoQLQueryExecutor},"get")});Object.defineProperty(m,"QueryExecutor",{enumerable:!0,get:o(function(){return bC.QueryExecutor},"get")});var vC=Cx();Object.defineProperty(m,"UpdateExecutor",{enumerable:!0,get:o(function(){return vC.UpdateExecutor},"get")});Object.defineProperty(m,"UpdateExecutorError",{enumerable:!0,get:o(function(){return vC.UpdateExecutorError},"get")});var VV=rs();Object.defineProperty(m,"SolutionMapping",{enumerable:!0,get:o(function(){return VV.SolutionMapping},"get")});var UV=yp();Object.defineProperty(m,"BuiltInFunctions",{enumerable:!0,get:o(function(){return UV.BuiltInFunctions},"get")});var qV=Rx();Object.defineProperty(m,"AggregateFunctions",{enumerable:!0,get:o(function(){return qV.AggregateFunctions},"get")});var wC=S1();Object.defineProperty(m,"CustomAggregateRegistry",{enumerable:!0,get:o(function(){return wC.CustomAggregateRegistry},"get")});Object.defineProperty(m,"CustomAggregateError",{enumerable:!0,get:o(function(){return wC.CustomAggregateError},"get")});var hs=b1();Object.defineProperty(m,"BUILT_IN_AGGREGATES",{enumerable:!0,get:o(function(){return hs.BUILT_IN_AGGREGATES},"get")});Object.defineProperty(m,"EXO_AGGREGATE_NS",{enumerable:!0,get:o(function(){return hs.EXO_AGGREGATE_NS},"get")});Object.defineProperty(m,"medianAggregate",{enumerable:!0,get:o(function(){return hs.medianAggregate},"get")});Object.defineProperty(m,"varianceAggregate",{enumerable:!0,get:o(function(){return hs.varianceAggregate},"get")});Object.defineProperty(m,"stddevAggregate",{enumerable:!0,get:o(function(){return hs.stddevAggregate},"get")});Object.defineProperty(m,"modeAggregate",{enumerable:!0,get:o(function(){return hs.modeAggregate},"get")});Object.defineProperty(m,"createPercentileAggregate",{enumerable:!0,get:o(function(){return hs.createPercentileAggregate},"get")});Object.defineProperty(m,"getNumericValue",{enumerable:!0,get:o(function(){return hs.getNumericValue},"get")});Object.defineProperty(m,"createDecimalLiteral",{enumerable:!0,get:o(function(){return hs.createDecimalLiteral},"get")});Object.defineProperty(m,"createDoubleLiteral",{enumerable:!0,get:o(function(){return hs.createDoubleLiteral},"get")});var WV=Ox();Object.defineProperty(m,"QueryPlanCache",{enumerable:!0,get:o(function(){return WV.QueryPlanCache},"get")});var EC=Px();Object.defineProperty(m,"SPARQLResultCache",{enumerable:!0,get:o(function(){return EC.SPARQLResultCache},"get")});Object.defineProperty(m,"createSPARQLResultCache",{enumerable:!0,get:o(function(){return EC.createSPARQLResultCache},"get")});var TC=Fx();Object.defineProperty(m,"IncrementalIndexer",{enumerable:!0,get:o(function(){return TC.IncrementalIndexer},"get")});Object.defineProperty(m,"createIncrementalIndexer",{enumerable:!0,get:o(function(){return TC.createIncrementalIndexer},"get")});var GV=Dx();Object.defineProperty(m,"ResultSerializer",{enumerable:!0,get:o(function(){return GV.ResultSerializer},"get")});var AC=I_();Object.defineProperty(m,"CaseWhenTransformer",{enumerable:!0,get:o(function(){return AC.CaseWhenTransformer},"get")});Object.defineProperty(m,"CaseWhenTransformerError",{enumerable:!0,get:o(function(){return AC.CaseWhenTransformerError},"get")});var zV=L_();Object.defineProperty(m,"VaultPrefixTransformer",{enumerable:!0,get:o(function(){return zV.VaultPrefixTransformer},"get")});var HV=Bb();Object.defineProperty(m,"FilterContainsOptimizer",{enumerable:!0,get:o(function(){return HV.FilterContainsOptimizer},"get")});var xC=Nx();Object.defineProperty(m,"FileNotFoundError",{enumerable:!0,get:o(function(){return xC.FileNotFoundError},"get")});Object.defineProperty(m,"FileAlreadyExistsError",{enumerable:!0,get:o(function(){return xC.FileAlreadyExistsError},"get")});var xv=Q1();Object.defineProperty(m,"TripleAlreadyExistsError",{enumerable:!0,get:o(function(){return xv.TripleAlreadyExistsError},"get")});Object.defineProperty(m,"TripleNotFoundError",{enumerable:!0,get:o(function(){return xv.TripleNotFoundError},"get")});Object.defineProperty(m,"TransactionError",{enumerable:!0,get:o(function(){return xv.TransactionError},"get")});var Bm=Zb();Object.defineProperty(m,"VaultSettings",{enumerable:!0,get:o(function(){return Bm.VaultSettings},"get")});Object.defineProperty(m,"DEFAULT_OWNER_IDENTITY",{enumerable:!0,get:o(function(){return Bm.DEFAULT_OWNER_IDENTITY},"get")});Object.defineProperty(m,"DEFAULT_INBOX_FOLDER",{enumerable:!0,get:o(function(){return Bm.DEFAULT_INBOX_FOLDER},"get")});Object.defineProperty(m,"DEFAULT_FLEETING_NOTE_CLASS_UID",{enumerable:!0,get:o(function(){return Bm.DEFAULT_FLEETING_NOTE_CLASS_UID},"get")});var QV=wt();Object.defineProperty(m,"DI_TOKENS",{enumerable:!0,get:o(function(){return QV.DI_TOKENS},"get")});var ff=Lx();Object.defineProperty(m,"registerCoreServices",{enumerable:!0,get:o(function(){return ff.registerCoreServices},"get")});Object.defineProperty(m,"createChildContainer",{enumerable:!0,get:o(function(){return ff.createChildContainer},"get")});Object.defineProperty(m,"getContainer",{enumerable:!0,get:o(function(){return ff.getContainer},"get")});Object.defineProperty(m,"resetContainer",{enumerable:!0,get:o(function(){return ff.resetContainer},"get")});Object.defineProperty(m,"container",{enumerable:!0,get:o(function(){return ff.container},"get")});var ea=Vx();Object.defineProperty(m,"NODE_FLAGS",{enumerable:!0,get:o(function(){return ea.NODE_FLAGS},"get")});Object.defineProperty(m,"DEFAULT_COLORS",{enumerable:!0,get:o(function(){return ea.DEFAULT_COLORS},"get")});Object.defineProperty(m,"StringTable",{enumerable:!0,get:o(function(){return ea.StringTable},"get")});Object.defineProperty(m,"CompactGraphStore",{enumerable:!0,get:o(function(){return ea.CompactGraphStore},"get")});Object.defineProperty(m,"MemoryPool",{enumerable:!0,get:o(function(){return ea.MemoryPool},"get")});Object.defineProperty(m,"getGlobalPool",{enumerable:!0,get:o(function(){return ea.getGlobalPool},"get")});Object.defineProperty(m,"resetGlobalPool",{enumerable:!0,get:o(function(){return ea.resetGlobalPool},"get")});Object.defineProperty(m,"StreamingLoader",{enumerable:!0,get:o(function(){return ea.StreamingLoader},"get")});Object.defineProperty(m,"createStreamingSource",{enumerable:!0,get:o(function(){return ea.createStreamingSource},"get")});var CC=Ux();Object.defineProperty(m,"ExoQL",{enumerable:!0,get:o(function(){return CC.ExoQL},"get")});Object.defineProperty(m,"ExoQLError",{enumerable:!0,get:o(function(){return CC.ExoQLError},"get")});var Sl=Am();Object.defineProperty(m,"RELATION_COLUMN_SET_CLASS_IRI",{enumerable:!0,get:o(function(){return Sl.RELATION_COLUMN_SET_CLASS_IRI},"get")});Object.defineProperty(m,"RELATION_COLUMN_SET_CLASS_UID",{enumerable:!0,get:o(function(){return Sl.RELATION_COLUMN_SET_CLASS_UID},"get")});Object.defineProperty(m,"createRelationColumnSetFromFrontmatter",{enumerable:!0,get:o(function(){return Sl.createRelationColumnSetFromFrontmatter},"get")});Object.defineProperty(m,"isRelationColumnSet",{enumerable:!0,get:o(function(){return Sl.isRelationColumnSet},"get")});Object.defineProperty(m,"isRelationColumnSetFrontmatter",{enumerable:!0,get:o(function(){return Sl.isRelationColumnSetFrontmatter},"get")});Object.defineProperty(m,"normalizeRelationColumnSetRef",{enumerable:!0,get:o(function(){return Sl.normalizeRef},"get")});var YV=Xx();Object.defineProperty(m,"RelationColumnSetResolver",{enumerable:!0,get:o(function(){return YV.RelationColumnSetResolver},"get")});var df=Am();Object.defineProperty(m,"LAYOUT_CLASS_IRI",{enumerable:!0,get:o(function(){return df.LAYOUT_CLASS_IRI},"get")});Object.defineProperty(m,"LAYOUT_CLASS_UID",{enumerable:!0,get:o(function(){return df.LAYOUT_CLASS_UID},"get")});Object.defineProperty(m,"createLayoutFromFrontmatter",{enumerable:!0,get:o(function(){return df.createLayoutFromFrontmatter},"get")});Object.defineProperty(m,"isLayout",{enumerable:!0,get:o(function(){return df.isLayout},"get")});Object.defineProperty(m,"isLayoutFrontmatter",{enumerable:!0,get:o(function(){return df.isLayoutFrontmatter},"get")});var Na=Am();Object.defineProperty(m,"BACKLINKS_TABLE_BLOCK_CLASS_IRI",{enumerable:!0,get:o(function(){return Na.BACKLINKS_TABLE_BLOCK_CLASS_IRI},"get")});Object.defineProperty(m,"BACKLINKS_TABLE_BLOCK_CLASS_UID",{enumerable:!0,get:o(function(){return Na.BACKLINKS_TABLE_BLOCK_CLASS_UID},"get")});Object.defineProperty(m,"PROPERTIES_BLOCK_CLASS_IRI",{enumerable:!0,get:o(function(){return Na.PROPERTIES_BLOCK_CLASS_IRI},"get")});Object.defineProperty(m,"PROPERTIES_BLOCK_CLASS_UID",{enumerable:!0,get:o(function(){return Na.PROPERTIES_BLOCK_CLASS_UID},"get")});Object.defineProperty(m,"createLayoutBlockFromFrontmatter",{enumerable:!0,get:o(function(){return Na.createLayoutBlockFromFrontmatter},"get")});Object.defineProperty(m,"isBacklinksTableBlock",{enumerable:!0,get:o(function(){return Na.isBacklinksTableBlock},"get")});Object.defineProperty(m,"isLayoutBlockFrontmatter",{enumerable:!0,get:o(function(){return Na.isLayoutBlockFrontmatter},"get")});Object.defineProperty(m,"isPropertiesBlock",{enumerable:!0,get:o(function(){return Na.isPropertiesBlock},"get")});var IC=Zx();Object.defineProperty(m,"LayoutSelector",{enumerable:!0,get:o(function(){return IC.LayoutSelector},"get")});Object.defineProperty(m,"selectByPriority",{enumerable:!0,get:o(function(){return IC.selectByPriority},"get")});Yn(cC(),m);Yn(uC(),m)});var gr=S(Cv=>{"use strict";Cv.fromCallback=function(n){return Object.defineProperty(function(...e){if(typeof e[e.length-1]=="function")n.apply(this,e);else return new Promise((t,r)=>{e.push((i,s)=>i!=null?r(i):t(s)),n.apply(this,e)})},"name",{value:n.name})};Cv.fromPromise=function(n){return Object.defineProperty(function(...e){let t=e[e.length-1];if(typeof t!="function")return n.apply(this,e);e.pop(),n.apply(this,e).then(r=>t(null,r),t)},"name",{value:n.name})}});var OC=S((qae,RC)=>{var La=require("constants"),KV=process.cwd,Vm=null,XV=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){return Vm||(Vm=KV.call(process)),Vm};try{process.cwd()}catch{}typeof process.chdir=="function"&&(Iv=process.chdir,process.chdir=function(n){Vm=null,Iv.call(process,n)},Object.setPrototypeOf&&Object.setPrototypeOf(process.chdir,Iv));var Iv;RC.exports=JV;function JV(n){La.hasOwnProperty("O_SYMLINK")&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)&&e(n),n.lutimes||t(n),n.chown=s(n.chown),n.fchown=s(n.fchown),n.lchown=s(n.lchown),n.chmod=r(n.chmod),n.fchmod=r(n.fchmod),n.lchmod=r(n.lchmod),n.chownSync=a(n.chownSync),n.fchownSync=a(n.fchownSync),n.lchownSync=a(n.lchownSync),n.chmodSync=i(n.chmodSync),n.fchmodSync=i(n.fchmodSync),n.lchmodSync=i(n.lchmodSync),n.stat=c(n.stat),n.fstat=c(n.fstat),n.lstat=c(n.lstat),n.statSync=l(n.statSync),n.fstatSync=l(n.fstatSync),n.lstatSync=l(n.lstatSync),n.chmod&&!n.lchmod&&(n.lchmod=function(f,d,h){h&&process.nextTick(h)},n.lchmodSync=function(){}),n.chown&&!n.lchown&&(n.lchown=function(f,d,h,p){p&&process.nextTick(p)},n.lchownSync=function(){}),XV==="win32"&&(n.rename=typeof n.rename!="function"?n.rename:(function(f){function d(h,p,_){var b=Date.now(),E=0;f(h,p,o(function v(A){if(A&&(A.code==="EACCES"||A.code==="EPERM"||A.code==="EBUSY")&&Date.now()-b<6e4){setTimeout(function(){n.stat(p,function(R,B){R&&R.code==="ENOENT"?f(h,p,v):_(A)})},E),E<100&&(E+=10);return}_&&_(A)},"CB"))}return o(d,"rename"),Object.setPrototypeOf&&Object.setPrototypeOf(d,f),d})(n.rename)),n.read=typeof n.read!="function"?n.read:(function(f){function d(h,p,_,b,E,v){var A;if(v&&typeof v=="function"){var R=0;A=o(function(B,W,we){if(B&&B.code==="EAGAIN"&&R<10)return R++,f.call(n,h,p,_,b,E,A);v.apply(this,arguments)},"callback")}return f.call(n,h,p,_,b,E,A)}return o(d,"read"),Object.setPrototypeOf&&Object.setPrototypeOf(d,f),d})(n.read),n.readSync=typeof n.readSync!="function"?n.readSync:(function(f){return function(d,h,p,_,b){for(var E=0;;)try{return f.call(n,d,h,p,_,b)}catch(v){if(v.code==="EAGAIN"&&E<10){E++;continue}throw v}}})(n.readSync);function e(f){f.lchmod=function(d,h,p){f.open(d,La.O_WRONLY|La.O_SYMLINK,h,function(_,b){if(_){p&&p(_);return}f.fchmod(b,h,function(E){f.close(b,function(v){p&&p(E||v)})})})},f.lchmodSync=function(d,h){var p=f.openSync(d,La.O_WRONLY|La.O_SYMLINK,h),_=!0,b;try{b=f.fchmodSync(p,h),_=!1}finally{if(_)try{f.closeSync(p)}catch{}else f.closeSync(p)}return b}}o(e,"patchLchmod");function t(f){La.hasOwnProperty("O_SYMLINK")&&f.futimes?(f.lutimes=function(d,h,p,_){f.open(d,La.O_SYMLINK,function(b,E){if(b){_&&_(b);return}f.futimes(E,h,p,function(v){f.close(E,function(A){_&&_(v||A)})})})},f.lutimesSync=function(d,h,p){var _=f.openSync(d,La.O_SYMLINK),b,E=!0;try{b=f.futimesSync(_,h,p),E=!1}finally{if(E)try{f.closeSync(_)}catch{}else f.closeSync(_)}return b}):f.futimes&&(f.lutimes=function(d,h,p,_){_&&process.nextTick(_)},f.lutimesSync=function(){})}o(t,"patchLutimes");function r(f){return f&&function(d,h,p){return f.call(n,d,h,function(_){u(_)&&(_=null),p&&p.apply(this,arguments)})}}o(r,"chmodFix");function i(f){return f&&function(d,h){try{return f.call(n,d,h)}catch(p){if(!u(p))throw p}}}o(i,"chmodFixSync");function s(f){return f&&function(d,h,p,_){return f.call(n,d,h,p,function(b){u(b)&&(b=null),_&&_.apply(this,arguments)})}}o(s,"chownFix");function a(f){return f&&function(d,h,p){try{return f.call(n,d,h,p)}catch(_){if(!u(_))throw _}}}o(a,"chownFixSync");function c(f){return f&&function(d,h,p){typeof h=="function"&&(p=h,h=null);function _(b,E){E&&(E.uid<0&&(E.uid+=4294967296),E.gid<0&&(E.gid+=4294967296)),p&&p.apply(this,arguments)}return o(_,"callback"),h?f.call(n,d,h,_):f.call(n,d,_)}}o(c,"statFix");function l(f){return f&&function(d,h){var p=h?f.call(n,d,h):f.call(n,d);return p&&(p.uid<0&&(p.uid+=4294967296),p.gid<0&&(p.gid+=4294967296)),p}}o(l,"statFixSync");function u(f){if(!f||f.code==="ENOSYS")return!0;var d=!process.getuid||process.getuid()!==0;return!!(d&&(f.code==="EINVAL"||f.code==="EPERM"))}o(u,"chownErOk")}o(JV,"patch")});var DC=S((Gae,FC)=>{var PC=require("stream").Stream;FC.exports=ZV;function ZV(n){return{ReadStream:e,WriteStream:t};function e(r,i){if(!(this instanceof e))return new e(r,i);PC.call(this);var s=this;this.path=r,this.fd=null,this.readable=!0,this.paused=!1,this.flags="r",this.mode=438,this.bufferSize=64*1024,i=i||{};for(var a=Object.keys(i),c=0,l=a.length;c<l;c++){var u=a[c];this[u]=i[u]}if(this.encoding&&this.setEncoding(this.encoding),this.start!==void 0){if(typeof this.start!="number")throw TypeError("start must be a Number");if(this.end===void 0)this.end=1/0;else if(typeof this.end!="number")throw TypeError("end must be a Number");if(this.start>this.end)throw new Error("start must be <= end");this.pos=this.start}if(this.fd!==null){process.nextTick(function(){s._read()});return}n.open(this.path,this.flags,this.mode,function(f,d){if(f){s.emit("error",f),s.readable=!1;return}s.fd=d,s.emit("open",d),s._read()})}function t(r,i){if(!(this instanceof t))return new t(r,i);PC.call(this),this.path=r,this.fd=null,this.writable=!0,this.flags="w",this.encoding="binary",this.mode=438,this.bytesWritten=0,i=i||{};for(var s=Object.keys(i),a=0,c=s.length;a<c;a++){var l=s[a];this[l]=i[l]}if(this.start!==void 0){if(typeof this.start!="number")throw TypeError("start must be a Number");if(this.start<0)throw new Error("start must be >= zero");this.pos=this.start}this.busy=!1,this._queue=[],this.fd===null&&(this._open=n.open,this._queue.push([this._open,this.path,this.flags,this.mode,void 0]),this.flush())}}o(ZV,"legacy")});var LC=S((Hae,NC)=>{"use strict";NC.exports=tU;var eU=Object.getPrototypeOf||function(n){return n.__proto__};function tU(n){if(n===null||typeof n!="object")return n;if(n instanceof Object)var e={__proto__:eU(n)};else var e=Object.create(null);return Object.getOwnPropertyNames(n).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}),e}o(tU,"clone")});var vl=S((Yae,Pv)=>{var kt=require("fs"),rU=OC(),nU=DC(),iU=LC(),Um=require("util"),Dr,Wm;typeof Symbol=="function"&&typeof Symbol.for=="function"?(Dr=Symbol.for("graceful-fs.queue"),Wm=Symbol.for("graceful-fs.previous")):(Dr="___graceful-fs.queue",Wm="___graceful-fs.previous");function sU(){}o(sU,"noop");function jC(n,e){Object.defineProperty(n,Dr,{get:o(function(){return e},"get")})}o(jC,"publishQueue");var Bo=sU;Um.debuglog?Bo=Um.debuglog("gfs4"):/\bgfs4\b/i.test(process.env.NODE_DEBUG||"")&&(Bo=o(function(){var n=Um.format.apply(Um,arguments);n="GFS4: "+n.split(/\n/).join(`
|
|
455
|
+
`)}calculateDelay(e){let t=this.retryConfig.initialDelayMs*Math.pow(this.retryConfig.backoffMultiplier,e);return Math.min(t,this.retryConfig.maxDelayMs)}sleep(e){return new Promise(t=>setTimeout(t,e))}callTelemetryHooks(e,...t){for(let r of this.telemetryHooks)try{let i=r[e];i&&i.apply(r,t)}catch(i){RB.LoggingService.error("Error in telemetry hook",i instanceof Error?i:new Error(String(i)))}}};Mm.ApplicationErrorHandler=Ev});var uC=S(jm=>{"use strict";Object.defineProperty(jm,"__esModule",{value:!0});jm.ApplicationErrorHandler=void 0;var OB=lC();Object.defineProperty(jm,"ApplicationErrorHandler",{enumerable:!0,get:o(function(){return OB.ApplicationErrorHandler},"get")})});var Gt=S(m=>{"use strict";var PB=m&&m.__createBinding||(Object.create?(function(n,e,t,r){r===void 0&&(r=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:o(function(){return e[t]},"get")}),Object.defineProperty(n,r,i)}):(function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]})),Yn=m&&m.__exportStar||function(n,e){for(var t in n)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&PB(e,n,t)};Object.defineProperty(m,"__esModule",{value:!0});m.RenameToUidService=m.PropertyCleanupService=m.LoggingService=m.LabelToAliasService=m.FolderRepairService=m.EffortVotingService=m.WorkflowCommandAdapter=m.VisibilityGenerator=m.InstantiationRuleResolver=m.WorkflowResolver=m.WorkflowEngine=m.EffortStatusWorkflow=m.ConceptCreationService=m.ClassCreationService=m.AreaHierarchyBuilder=m.AreaCreationService=m.TaskStatusService=m.ServiceRegistry=m.GroundingExecutor=m.PreconditionEvaluator=m.CommandResolver=m.extractPropertyLabel=m.uriToPropertyName=m.propertyNameToUri=m.rangeToFieldType=m.PropertyFieldType=m.isCommandBindingFrontmatter=m.isGroundingFrontmatter=m.isPreconditionFrontmatter=m.isCommandFrontmatter=m.isStyleSource=m.isLabelClass=m.isCommandVariant=m.STYLE_SOURCE_VALUES=m.LABEL_CLASS_VALUES=m.COMMAND_VARIANT_VALUES=m.CommandBindingStyleProperty=m.CommandBindingProperty=m.GroundingProperty=m.PreconditionProperty=m.CommandProperty=m.GroundingType=m.getEffortStatusLabel=m.isTrashedStatus=m.isDoneStatus=m.normalizeEffortStatus=m.EFFORT_STATUS_OPTIONS=m.STATUS_NAME_TO_WIKILINK=m.STATUS_NAME_TO_ENUM=m.EFFORT_STATUS_CONFIG=void 0;m.RDFSInferenceEngine=m.RDFVocabularyMapper=m.InMemoryTripleStore=m.NullLogger=m.RDFSerializer=m.FilenameValidator=m.EffortSortingHelpers=m.MetadataExtractor=m.MetadataHelpers=m.WikiLinkHelpers=m.DateFormatter=m.FrontmatterService=m.CriticalityZoneUUIDs=m.CriticalityZoneService=m.DailyReviewService=m.DEFAULT_AUTOCOMPLETE_CONFIG=m.AutocompleteService=m.TrendDetectionService=m.AnalyticsService=m.getTemplateByName=m.validateParameters=m.fillTemplate=m.findMatchingTemplates=m.findClassByTerm=m.KNOWN_CLASSES=m.KNOWN_PROTOTYPES=m.EFFORT_STATUSES=m.ASSET_CLASSES=m.PREDICATES=m.SPARQL_PREFIXES=m.SPARQL_TEMPLATES=m.DEFAULT_NL_TO_SPARQL_CONFIG=m.NLToSPARQLService=m.TypeRegistry=m.GraphQueryService=m.FixMissingLabelService=m.ArchiveAssetService=m.GenericAssetCreationService=m.URIConstructionService=m.SessionEventService=m.AssetConversionService=m.EnumValueResolver=m.ClassHierarchyResolver=m.PropertySchemaResolver=m.PlanningService=m.AlgorithmExtractor=m.DynamicFrontmatterGenerator=m.FleetingNoteCreationService=m.SupervisionCreationService=m.StatusTimestampService=void 0;m.VaultPrefixTransformer=m.CaseWhenTransformerError=m.CaseWhenTransformer=m.ResultSerializer=m.createIncrementalIndexer=m.IncrementalIndexer=m.createSPARQLResultCache=m.SPARQLResultCache=m.QueryPlanCache=m.createDoubleLiteral=m.createDecimalLiteral=m.getNumericValue=m.createPercentileAggregate=m.modeAggregate=m.stddevAggregate=m.varianceAggregate=m.medianAggregate=m.EXO_AGGREGATE_NS=m.BUILT_IN_AGGREGATES=m.CustomAggregateError=m.CustomAggregateRegistry=m.AggregateFunctions=m.BuiltInFunctions=m.SolutionMapping=m.UpdateExecutorError=m.UpdateExecutor=m.QueryExecutor=m.ExoQLQueryExecutor=m.DescribeExecutor=m.ConstructExecutor=m.UnionExecutor=m.OptionalExecutor=m.FilterExecutor=m.BGPExecutor=m.AlgebraSerializer=m.AlgebraOptimizer=m.AlgebraTranslator=m.ExoQLAlgebraTranslator=m.DescribeOptionsTransformerError=m.DescribeOptionsTransformer=m.SPARQLParseError=m.SPARQLParser=m.ExoQLParser=m.NoteToRDFConverter=m.SOURCE_VARIABLE=m.SourceAnnotator=m.INFERRED_GRAPH=m.PrototypeChainMaterializer=m.PropertyCardinalityRegistry=m.NonInheritablePropertyRegistry=void 0;m.selectByPriority=m.LayoutSelector=m.isPropertiesBlock=m.isLayoutBlockFrontmatter=m.isBacklinksTableBlock=m.createLayoutBlockFromFrontmatter=m.PROPERTIES_BLOCK_CLASS_UID=m.PROPERTIES_BLOCK_CLASS_IRI=m.BACKLINKS_TABLE_BLOCK_CLASS_UID=m.BACKLINKS_TABLE_BLOCK_CLASS_IRI=m.isLayoutFrontmatter=m.isLayout=m.createLayoutFromFrontmatter=m.LAYOUT_CLASS_UID=m.LAYOUT_CLASS_IRI=m.RelationColumnSetResolver=m.normalizeRelationColumnSetRef=m.isRelationColumnSetFrontmatter=m.isRelationColumnSet=m.createRelationColumnSetFromFrontmatter=m.RELATION_COLUMN_SET_CLASS_UID=m.RELATION_COLUMN_SET_CLASS_IRI=m.ExoQLError=m.ExoQL=m.createStreamingSource=m.StreamingLoader=m.resetGlobalPool=m.getGlobalPool=m.MemoryPool=m.CompactGraphStore=m.StringTable=m.DEFAULT_COLORS=m.NODE_FLAGS=m.container=m.resetContainer=m.getContainer=m.createChildContainer=m.registerCoreServices=m.DI_TOKENS=m.DEFAULT_FLEETING_NOTE_CLASS_UID=m.DEFAULT_INBOX_FOLDER=m.DEFAULT_OWNER_IDENTITY=m.VaultSettings=m.TransactionError=m.TripleNotFoundError=m.TripleAlreadyExistsError=m.FileAlreadyExistsError=m.FileNotFoundError=m.FilterContainsOptimizer=void 0;Yn(_u(),m);Yn(hc(),m);var Da=Wy();Object.defineProperty(m,"EFFORT_STATUS_CONFIG",{enumerable:!0,get:o(function(){return Da.EFFORT_STATUS_CONFIG},"get")});Object.defineProperty(m,"STATUS_NAME_TO_ENUM",{enumerable:!0,get:o(function(){return Da.STATUS_NAME_TO_ENUM},"get")});Object.defineProperty(m,"STATUS_NAME_TO_WIKILINK",{enumerable:!0,get:o(function(){return Da.STATUS_NAME_TO_WIKILINK},"get")});Object.defineProperty(m,"EFFORT_STATUS_OPTIONS",{enumerable:!0,get:o(function(){return Da.EFFORT_STATUS_OPTIONS},"get")});Object.defineProperty(m,"normalizeEffortStatus",{enumerable:!0,get:o(function(){return Da.normalizeEffortStatus},"get")});Object.defineProperty(m,"isDoneStatus",{enumerable:!0,get:o(function(){return Da.isDoneStatus},"get")});Object.defineProperty(m,"isTrashedStatus",{enumerable:!0,get:o(function(){return Da.isTrashedStatus},"get")});Object.defineProperty(m,"getEffortStatusLabel",{enumerable:!0,get:o(function(){return Da.getEffortStatusLabel},"get")});var FB=pc();Object.defineProperty(m,"GroundingType",{enumerable:!0,get:o(function(){return FB.GroundingType},"get")});var uf=Gy();Object.defineProperty(m,"CommandProperty",{enumerable:!0,get:o(function(){return uf.CommandProperty},"get")});Object.defineProperty(m,"PreconditionProperty",{enumerable:!0,get:o(function(){return uf.PreconditionProperty},"get")});Object.defineProperty(m,"GroundingProperty",{enumerable:!0,get:o(function(){return uf.GroundingProperty},"get")});Object.defineProperty(m,"CommandBindingProperty",{enumerable:!0,get:o(function(){return uf.CommandBindingProperty},"get")});Object.defineProperty(m,"CommandBindingStyleProperty",{enumerable:!0,get:o(function(){return uf.CommandBindingStyleProperty},"get")});var _l=zy();Object.defineProperty(m,"COMMAND_VARIANT_VALUES",{enumerable:!0,get:o(function(){return _l.COMMAND_VARIANT_VALUES},"get")});Object.defineProperty(m,"LABEL_CLASS_VALUES",{enumerable:!0,get:o(function(){return _l.LABEL_CLASS_VALUES},"get")});Object.defineProperty(m,"STYLE_SOURCE_VALUES",{enumerable:!0,get:o(function(){return _l.STYLE_SOURCE_VALUES},"get")});Object.defineProperty(m,"isCommandVariant",{enumerable:!0,get:o(function(){return _l.isCommandVariant},"get")});Object.defineProperty(m,"isLabelClass",{enumerable:!0,get:o(function(){return _l.isLabelClass},"get")});Object.defineProperty(m,"isStyleSource",{enumerable:!0,get:o(function(){return _l.isStyleSource},"get")});var $m=C2();Object.defineProperty(m,"isCommandFrontmatter",{enumerable:!0,get:o(function(){return $m.isCommandFrontmatter},"get")});Object.defineProperty(m,"isPreconditionFrontmatter",{enumerable:!0,get:o(function(){return $m.isPreconditionFrontmatter},"get")});Object.defineProperty(m,"isGroundingFrontmatter",{enumerable:!0,get:o(function(){return $m.isGroundingFrontmatter},"get")});Object.defineProperty(m,"isCommandBindingFrontmatter",{enumerable:!0,get:o(function(){return $m.isCommandBindingFrontmatter},"get")});Yn(I2(),m);Yn(R2(),m);Yn(Hy(),m);Yn(Qy(),m);Yn(P2(),m);Yn(N2(),m);Yn(R0(),m);Yn(wT(),m);var fC=fh();Object.defineProperty(m,"PropertyFieldType",{enumerable:!0,get:o(function(){return fC.PropertyFieldType},"get")});Object.defineProperty(m,"rangeToFieldType",{enumerable:!0,get:o(function(){return fC.rangeToFieldType},"get")});var Tv=D0();Object.defineProperty(m,"propertyNameToUri",{enumerable:!0,get:o(function(){return Tv.propertyNameToUri},"get")});Object.defineProperty(m,"uriToPropertyName",{enumerable:!0,get:o(function(){return Tv.uriToPropertyName},"get")});Object.defineProperty(m,"extractPropertyLabel",{enumerable:!0,get:o(function(){return Tv.extractPropertyLabel},"get")});var DB=XA();Object.defineProperty(m,"CommandResolver",{enumerable:!0,get:o(function(){return DB.CommandResolver},"get")});var NB=ZA();Object.defineProperty(m,"PreconditionEvaluator",{enumerable:!0,get:o(function(){return NB.PreconditionEvaluator},"get")});var dC=t3();Object.defineProperty(m,"GroundingExecutor",{enumerable:!0,get:o(function(){return dC.GroundingExecutor},"get")});Object.defineProperty(m,"ServiceRegistry",{enumerable:!0,get:o(function(){return dC.ServiceRegistry},"get")});var LB=rS();Object.defineProperty(m,"TaskStatusService",{enumerable:!0,get:o(function(){return LB.TaskStatusService},"get")});var kB=aS();Object.defineProperty(m,"AreaCreationService",{enumerable:!0,get:o(function(){return kB.AreaCreationService},"get")});var MB=cS();Object.defineProperty(m,"AreaHierarchyBuilder",{enumerable:!0,get:o(function(){return MB.AreaHierarchyBuilder},"get")});var jB=uS();Object.defineProperty(m,"ClassCreationService",{enumerable:!0,get:o(function(){return jB.ClassCreationService},"get")});var $B=dS();Object.defineProperty(m,"ConceptCreationService",{enumerable:!0,get:o(function(){return $B.ConceptCreationService},"get")});var BB=Up();Object.defineProperty(m,"EffortStatusWorkflow",{enumerable:!0,get:o(function(){return BB.EffortStatusWorkflow},"get")});var VB=Qu();Object.defineProperty(m,"WorkflowEngine",{enumerable:!0,get:o(function(){return VB.WorkflowEngine},"get")});var UB=W1();Object.defineProperty(m,"WorkflowResolver",{enumerable:!0,get:o(function(){return UB.WorkflowResolver},"get")});var qB=m3();Object.defineProperty(m,"InstantiationRuleResolver",{enumerable:!0,get:o(function(){return qB.InstantiationRuleResolver},"get")});var WB=g3();Object.defineProperty(m,"VisibilityGenerator",{enumerable:!0,get:o(function(){return WB.VisibilityGenerator},"get")});var GB=y3();Object.defineProperty(m,"WorkflowCommandAdapter",{enumerable:!0,get:o(function(){return GB.WorkflowCommandAdapter},"get")});var zB=SS();Object.defineProperty(m,"EffortVotingService",{enumerable:!0,get:o(function(){return zB.EffortVotingService},"get")});var HB=vS();Object.defineProperty(m,"FolderRepairService",{enumerable:!0,get:o(function(){return HB.FolderRepairService},"get")});var QB=ES();Object.defineProperty(m,"LabelToAliasService",{enumerable:!0,get:o(function(){return QB.LabelToAliasService},"get")});var YB=xa();Object.defineProperty(m,"LoggingService",{enumerable:!0,get:o(function(){return YB.LoggingService},"get")});var KB=xS();Object.defineProperty(m,"PropertyCleanupService",{enumerable:!0,get:o(function(){return KB.PropertyCleanupService},"get")});var XB=IS();Object.defineProperty(m,"RenameToUidService",{enumerable:!0,get:o(function(){return XB.RenameToUidService},"get")});var JB=Wp();Object.defineProperty(m,"StatusTimestampService",{enumerable:!0,get:o(function(){return JB.StatusTimestampService},"get")});var ZB=PS();Object.defineProperty(m,"SupervisionCreationService",{enumerable:!0,get:o(function(){return ZB.SupervisionCreationService},"get")});var eV=NS();Object.defineProperty(m,"FleetingNoteCreationService",{enumerable:!0,get:o(function(){return eV.FleetingNoteCreationService},"get")});var tV=kS();Object.defineProperty(m,"DynamicFrontmatterGenerator",{enumerable:!0,get:o(function(){return tV.DynamicFrontmatterGenerator},"get")});var rV=jS();Object.defineProperty(m,"AlgorithmExtractor",{enumerable:!0,get:o(function(){return rV.AlgorithmExtractor},"get")});var nV=BS();Object.defineProperty(m,"PlanningService",{enumerable:!0,get:o(function(){return nV.PlanningService},"get")});var iV=O3();Object.defineProperty(m,"PropertySchemaResolver",{enumerable:!0,get:o(function(){return iV.PropertySchemaResolver},"get")});var sV=P3();Object.defineProperty(m,"ClassHierarchyResolver",{enumerable:!0,get:o(function(){return sV.ClassHierarchyResolver},"get")});var aV=F3();Object.defineProperty(m,"EnumValueResolver",{enumerable:!0,get:o(function(){return aV.EnumValueResolver},"get")});var oV=GS();Object.defineProperty(m,"AssetConversionService",{enumerable:!0,get:o(function(){return oV.AssetConversionService},"get")});var cV=QS();Object.defineProperty(m,"SessionEventService",{enumerable:!0,get:o(function(){return cV.SessionEventService},"get")});var lV=XS();Object.defineProperty(m,"URIConstructionService",{enumerable:!0,get:o(function(){return lV.URIConstructionService},"get")});var uV=ZS();Object.defineProperty(m,"GenericAssetCreationService",{enumerable:!0,get:o(function(){return uV.GenericAssetCreationService},"get")});var fV=U3();Object.defineProperty(m,"ArchiveAssetService",{enumerable:!0,get:o(function(){return fV.ArchiveAssetService},"get")});var dV=W3();Object.defineProperty(m,"FixMissingLabelService",{enumerable:!0,get:o(function(){return dV.FixMissingLabelService},"get")});var hV=G3();Object.defineProperty(m,"GraphQueryService",{enumerable:!0,get:o(function(){return hV.GraphQueryService},"get")});var pV=H3();Object.defineProperty(m,"TypeRegistry",{enumerable:!0,get:o(function(){return pV.TypeRegistry},"get")});var hC=Q3();Object.defineProperty(m,"NLToSPARQLService",{enumerable:!0,get:o(function(){return hC.NLToSPARQLService},"get")});Object.defineProperty(m,"DEFAULT_NL_TO_SPARQL_CONFIG",{enumerable:!0,get:o(function(){return hC.DEFAULT_NL_TO_SPARQL_CONFIG},"get")});var Kn=ib();Object.defineProperty(m,"SPARQL_TEMPLATES",{enumerable:!0,get:o(function(){return Kn.SPARQL_TEMPLATES},"get")});Object.defineProperty(m,"SPARQL_PREFIXES",{enumerable:!0,get:o(function(){return Kn.SPARQL_PREFIXES},"get")});Object.defineProperty(m,"PREDICATES",{enumerable:!0,get:o(function(){return Kn.PREDICATES},"get")});Object.defineProperty(m,"ASSET_CLASSES",{enumerable:!0,get:o(function(){return Kn.ASSET_CLASSES},"get")});Object.defineProperty(m,"EFFORT_STATUSES",{enumerable:!0,get:o(function(){return Kn.EFFORT_STATUSES},"get")});Object.defineProperty(m,"KNOWN_PROTOTYPES",{enumerable:!0,get:o(function(){return Kn.KNOWN_PROTOTYPES},"get")});Object.defineProperty(m,"KNOWN_CLASSES",{enumerable:!0,get:o(function(){return Kn.KNOWN_CLASSES},"get")});Object.defineProperty(m,"findClassByTerm",{enumerable:!0,get:o(function(){return Kn.findClassByTerm},"get")});Object.defineProperty(m,"findMatchingTemplates",{enumerable:!0,get:o(function(){return Kn.findMatchingTemplates},"get")});Object.defineProperty(m,"fillTemplate",{enumerable:!0,get:o(function(){return Kn.fillTemplate},"get")});Object.defineProperty(m,"validateParameters",{enumerable:!0,get:o(function(){return Kn.validateParameters},"get")});Object.defineProperty(m,"getTemplateByName",{enumerable:!0,get:o(function(){return Kn.getTemplateByName},"get")});var mV=K3();Object.defineProperty(m,"AnalyticsService",{enumerable:!0,get:o(function(){return mV.AnalyticsService},"get")});var gV=X3();Object.defineProperty(m,"TrendDetectionService",{enumerable:!0,get:o(function(){return gV.TrendDetectionService},"get")});var pC=Z3();Object.defineProperty(m,"AutocompleteService",{enumerable:!0,get:o(function(){return pC.AutocompleteService},"get")});Object.defineProperty(m,"DEFAULT_AUTOCOMPLETE_CONFIG",{enumerable:!0,get:o(function(){return pC.DEFAULT_AUTOCOMPLETE_CONFIG},"get")});var yV=tx();Object.defineProperty(m,"DailyReviewService",{enumerable:!0,get:o(function(){return yV.DailyReviewService},"get")});var mC=fb();Object.defineProperty(m,"CriticalityZoneService",{enumerable:!0,get:o(function(){return mC.CriticalityZoneService},"get")});Object.defineProperty(m,"CriticalityZoneUUIDs",{enumerable:!0,get:o(function(){return mC.CriticalityZoneUUIDs},"get")});var _V=Gn();Object.defineProperty(m,"FrontmatterService",{enumerable:!0,get:o(function(){return _V.FrontmatterService},"get")});var SV=qr();Object.defineProperty(m,"DateFormatter",{enumerable:!0,get:o(function(){return SV.DateFormatter},"get")});var bV=Ns();Object.defineProperty(m,"WikiLinkHelpers",{enumerable:!0,get:o(function(){return bV.WikiLinkHelpers},"get")});var vV=as();Object.defineProperty(m,"MetadataHelpers",{enumerable:!0,get:o(function(){return vV.MetadataHelpers},"get")});var wV=iS();Object.defineProperty(m,"MetadataExtractor",{enumerable:!0,get:o(function(){return wV.MetadataExtractor},"get")});var EV=nx();Object.defineProperty(m,"EffortSortingHelpers",{enumerable:!0,get:o(function(){return EV.EffortSortingHelpers},"get")});var TV=ix();Object.defineProperty(m,"FilenameValidator",{enumerable:!0,get:o(function(){return TV.FilenameValidator},"get")});var AV=fx();Object.defineProperty(m,"RDFSerializer",{enumerable:!0,get:o(function(){return AV.RDFSerializer},"get")});var xV=bc();Object.defineProperty(m,"NullLogger",{enumerable:!0,get:o(function(){return xV.NullLogger},"get")});var CV=J1();Object.defineProperty(m,"InMemoryTripleStore",{enumerable:!0,get:o(function(){return CV.InMemoryTripleStore},"get")});var IV=Tb();Object.defineProperty(m,"RDFVocabularyMapper",{enumerable:!0,get:o(function(){return IV.RDFVocabularyMapper},"get")});var RV=hx();Object.defineProperty(m,"RDFSInferenceEngine",{enumerable:!0,get:o(function(){return RV.RDFSInferenceEngine},"get")});var OV=Ib();Object.defineProperty(m,"NonInheritablePropertyRegistry",{enumerable:!0,get:o(function(){return OV.NonInheritablePropertyRegistry},"get")});var PV=Pb();Object.defineProperty(m,"PropertyCardinalityRegistry",{enumerable:!0,get:o(function(){return PV.PropertyCardinalityRegistry},"get")});var gC=Nb();Object.defineProperty(m,"PrototypeChainMaterializer",{enumerable:!0,get:o(function(){return gC.PrototypeChainMaterializer},"get")});Object.defineProperty(m,"INFERRED_GRAPH",{enumerable:!0,get:o(function(){return gC.INFERRED_GRAPH},"get")});var yC=kb();Object.defineProperty(m,"SourceAnnotator",{enumerable:!0,get:o(function(){return yC.SourceAnnotator},"get")});Object.defineProperty(m,"SOURCE_VARIABLE",{enumerable:!0,get:o(function(){return yC.SOURCE_VARIABLE},"get")});var FV=jb();Object.defineProperty(m,"NoteToRDFConverter",{enumerable:!0,get:o(function(){return FV.NoteToRDFConverter},"get")});var Av=Oc();Object.defineProperty(m,"ExoQLParser",{enumerable:!0,get:o(function(){return Av.ExoQLParser},"get")});Object.defineProperty(m,"SPARQLParser",{enumerable:!0,get:o(function(){return Av.SPARQLParser},"get")});Object.defineProperty(m,"SPARQLParseError",{enumerable:!0,get:o(function(){return Av.SPARQLParseError},"get")});var _C=P_();Object.defineProperty(m,"DescribeOptionsTransformer",{enumerable:!0,get:o(function(){return _C.DescribeOptionsTransformer},"get")});Object.defineProperty(m,"DescribeOptionsTransformerError",{enumerable:!0,get:o(function(){return _C.DescribeOptionsTransformerError},"get")});var SC=Fc();Object.defineProperty(m,"ExoQLAlgebraTranslator",{enumerable:!0,get:o(function(){return SC.ExoQLAlgebraTranslator},"get")});Object.defineProperty(m,"AlgebraTranslator",{enumerable:!0,get:o(function(){return SC.AlgebraTranslator},"get")});var DV=wx();Object.defineProperty(m,"AlgebraOptimizer",{enumerable:!0,get:o(function(){return DV.AlgebraOptimizer},"get")});var NV=Ex();Object.defineProperty(m,"AlgebraSerializer",{enumerable:!0,get:o(function(){return NV.AlgebraSerializer},"get")});var LV=Y_();Object.defineProperty(m,"BGPExecutor",{enumerable:!0,get:o(function(){return LV.BGPExecutor},"get")});var kV=_p();Object.defineProperty(m,"FilterExecutor",{enumerable:!0,get:o(function(){return kV.FilterExecutor},"get")});var MV=p1();Object.defineProperty(m,"OptionalExecutor",{enumerable:!0,get:o(function(){return MV.OptionalExecutor},"get")});var jV=g1();Object.defineProperty(m,"UnionExecutor",{enumerable:!0,get:o(function(){return jV.UnionExecutor},"get")});var $V=x1();Object.defineProperty(m,"ConstructExecutor",{enumerable:!0,get:o(function(){return $V.ConstructExecutor},"get")});var BV=Ax();Object.defineProperty(m,"DescribeExecutor",{enumerable:!0,get:o(function(){return BV.DescribeExecutor},"get")});var bC=Jc();Object.defineProperty(m,"ExoQLQueryExecutor",{enumerable:!0,get:o(function(){return bC.ExoQLQueryExecutor},"get")});Object.defineProperty(m,"QueryExecutor",{enumerable:!0,get:o(function(){return bC.QueryExecutor},"get")});var vC=Cx();Object.defineProperty(m,"UpdateExecutor",{enumerable:!0,get:o(function(){return vC.UpdateExecutor},"get")});Object.defineProperty(m,"UpdateExecutorError",{enumerable:!0,get:o(function(){return vC.UpdateExecutorError},"get")});var VV=rs();Object.defineProperty(m,"SolutionMapping",{enumerable:!0,get:o(function(){return VV.SolutionMapping},"get")});var UV=yp();Object.defineProperty(m,"BuiltInFunctions",{enumerable:!0,get:o(function(){return UV.BuiltInFunctions},"get")});var qV=Rx();Object.defineProperty(m,"AggregateFunctions",{enumerable:!0,get:o(function(){return qV.AggregateFunctions},"get")});var wC=S1();Object.defineProperty(m,"CustomAggregateRegistry",{enumerable:!0,get:o(function(){return wC.CustomAggregateRegistry},"get")});Object.defineProperty(m,"CustomAggregateError",{enumerable:!0,get:o(function(){return wC.CustomAggregateError},"get")});var hs=b1();Object.defineProperty(m,"BUILT_IN_AGGREGATES",{enumerable:!0,get:o(function(){return hs.BUILT_IN_AGGREGATES},"get")});Object.defineProperty(m,"EXO_AGGREGATE_NS",{enumerable:!0,get:o(function(){return hs.EXO_AGGREGATE_NS},"get")});Object.defineProperty(m,"medianAggregate",{enumerable:!0,get:o(function(){return hs.medianAggregate},"get")});Object.defineProperty(m,"varianceAggregate",{enumerable:!0,get:o(function(){return hs.varianceAggregate},"get")});Object.defineProperty(m,"stddevAggregate",{enumerable:!0,get:o(function(){return hs.stddevAggregate},"get")});Object.defineProperty(m,"modeAggregate",{enumerable:!0,get:o(function(){return hs.modeAggregate},"get")});Object.defineProperty(m,"createPercentileAggregate",{enumerable:!0,get:o(function(){return hs.createPercentileAggregate},"get")});Object.defineProperty(m,"getNumericValue",{enumerable:!0,get:o(function(){return hs.getNumericValue},"get")});Object.defineProperty(m,"createDecimalLiteral",{enumerable:!0,get:o(function(){return hs.createDecimalLiteral},"get")});Object.defineProperty(m,"createDoubleLiteral",{enumerable:!0,get:o(function(){return hs.createDoubleLiteral},"get")});var WV=Ox();Object.defineProperty(m,"QueryPlanCache",{enumerable:!0,get:o(function(){return WV.QueryPlanCache},"get")});var EC=Px();Object.defineProperty(m,"SPARQLResultCache",{enumerable:!0,get:o(function(){return EC.SPARQLResultCache},"get")});Object.defineProperty(m,"createSPARQLResultCache",{enumerable:!0,get:o(function(){return EC.createSPARQLResultCache},"get")});var TC=Fx();Object.defineProperty(m,"IncrementalIndexer",{enumerable:!0,get:o(function(){return TC.IncrementalIndexer},"get")});Object.defineProperty(m,"createIncrementalIndexer",{enumerable:!0,get:o(function(){return TC.createIncrementalIndexer},"get")});var GV=Dx();Object.defineProperty(m,"ResultSerializer",{enumerable:!0,get:o(function(){return GV.ResultSerializer},"get")});var AC=I_();Object.defineProperty(m,"CaseWhenTransformer",{enumerable:!0,get:o(function(){return AC.CaseWhenTransformer},"get")});Object.defineProperty(m,"CaseWhenTransformerError",{enumerable:!0,get:o(function(){return AC.CaseWhenTransformerError},"get")});var zV=L_();Object.defineProperty(m,"VaultPrefixTransformer",{enumerable:!0,get:o(function(){return zV.VaultPrefixTransformer},"get")});var HV=Bb();Object.defineProperty(m,"FilterContainsOptimizer",{enumerable:!0,get:o(function(){return HV.FilterContainsOptimizer},"get")});var xC=Nx();Object.defineProperty(m,"FileNotFoundError",{enumerable:!0,get:o(function(){return xC.FileNotFoundError},"get")});Object.defineProperty(m,"FileAlreadyExistsError",{enumerable:!0,get:o(function(){return xC.FileAlreadyExistsError},"get")});var xv=Q1();Object.defineProperty(m,"TripleAlreadyExistsError",{enumerable:!0,get:o(function(){return xv.TripleAlreadyExistsError},"get")});Object.defineProperty(m,"TripleNotFoundError",{enumerable:!0,get:o(function(){return xv.TripleNotFoundError},"get")});Object.defineProperty(m,"TransactionError",{enumerable:!0,get:o(function(){return xv.TransactionError},"get")});var Bm=Zb();Object.defineProperty(m,"VaultSettings",{enumerable:!0,get:o(function(){return Bm.VaultSettings},"get")});Object.defineProperty(m,"DEFAULT_OWNER_IDENTITY",{enumerable:!0,get:o(function(){return Bm.DEFAULT_OWNER_IDENTITY},"get")});Object.defineProperty(m,"DEFAULT_INBOX_FOLDER",{enumerable:!0,get:o(function(){return Bm.DEFAULT_INBOX_FOLDER},"get")});Object.defineProperty(m,"DEFAULT_FLEETING_NOTE_CLASS_UID",{enumerable:!0,get:o(function(){return Bm.DEFAULT_FLEETING_NOTE_CLASS_UID},"get")});var QV=wt();Object.defineProperty(m,"DI_TOKENS",{enumerable:!0,get:o(function(){return QV.DI_TOKENS},"get")});var ff=Lx();Object.defineProperty(m,"registerCoreServices",{enumerable:!0,get:o(function(){return ff.registerCoreServices},"get")});Object.defineProperty(m,"createChildContainer",{enumerable:!0,get:o(function(){return ff.createChildContainer},"get")});Object.defineProperty(m,"getContainer",{enumerable:!0,get:o(function(){return ff.getContainer},"get")});Object.defineProperty(m,"resetContainer",{enumerable:!0,get:o(function(){return ff.resetContainer},"get")});Object.defineProperty(m,"container",{enumerable:!0,get:o(function(){return ff.container},"get")});var ea=Vx();Object.defineProperty(m,"NODE_FLAGS",{enumerable:!0,get:o(function(){return ea.NODE_FLAGS},"get")});Object.defineProperty(m,"DEFAULT_COLORS",{enumerable:!0,get:o(function(){return ea.DEFAULT_COLORS},"get")});Object.defineProperty(m,"StringTable",{enumerable:!0,get:o(function(){return ea.StringTable},"get")});Object.defineProperty(m,"CompactGraphStore",{enumerable:!0,get:o(function(){return ea.CompactGraphStore},"get")});Object.defineProperty(m,"MemoryPool",{enumerable:!0,get:o(function(){return ea.MemoryPool},"get")});Object.defineProperty(m,"getGlobalPool",{enumerable:!0,get:o(function(){return ea.getGlobalPool},"get")});Object.defineProperty(m,"resetGlobalPool",{enumerable:!0,get:o(function(){return ea.resetGlobalPool},"get")});Object.defineProperty(m,"StreamingLoader",{enumerable:!0,get:o(function(){return ea.StreamingLoader},"get")});Object.defineProperty(m,"createStreamingSource",{enumerable:!0,get:o(function(){return ea.createStreamingSource},"get")});var CC=Ux();Object.defineProperty(m,"ExoQL",{enumerable:!0,get:o(function(){return CC.ExoQL},"get")});Object.defineProperty(m,"ExoQLError",{enumerable:!0,get:o(function(){return CC.ExoQLError},"get")});var Sl=Am();Object.defineProperty(m,"RELATION_COLUMN_SET_CLASS_IRI",{enumerable:!0,get:o(function(){return Sl.RELATION_COLUMN_SET_CLASS_IRI},"get")});Object.defineProperty(m,"RELATION_COLUMN_SET_CLASS_UID",{enumerable:!0,get:o(function(){return Sl.RELATION_COLUMN_SET_CLASS_UID},"get")});Object.defineProperty(m,"createRelationColumnSetFromFrontmatter",{enumerable:!0,get:o(function(){return Sl.createRelationColumnSetFromFrontmatter},"get")});Object.defineProperty(m,"isRelationColumnSet",{enumerable:!0,get:o(function(){return Sl.isRelationColumnSet},"get")});Object.defineProperty(m,"isRelationColumnSetFrontmatter",{enumerable:!0,get:o(function(){return Sl.isRelationColumnSetFrontmatter},"get")});Object.defineProperty(m,"normalizeRelationColumnSetRef",{enumerable:!0,get:o(function(){return Sl.normalizeRef},"get")});var YV=Xx();Object.defineProperty(m,"RelationColumnSetResolver",{enumerable:!0,get:o(function(){return YV.RelationColumnSetResolver},"get")});var df=Am();Object.defineProperty(m,"LAYOUT_CLASS_IRI",{enumerable:!0,get:o(function(){return df.LAYOUT_CLASS_IRI},"get")});Object.defineProperty(m,"LAYOUT_CLASS_UID",{enumerable:!0,get:o(function(){return df.LAYOUT_CLASS_UID},"get")});Object.defineProperty(m,"createLayoutFromFrontmatter",{enumerable:!0,get:o(function(){return df.createLayoutFromFrontmatter},"get")});Object.defineProperty(m,"isLayout",{enumerable:!0,get:o(function(){return df.isLayout},"get")});Object.defineProperty(m,"isLayoutFrontmatter",{enumerable:!0,get:o(function(){return df.isLayoutFrontmatter},"get")});var Na=Am();Object.defineProperty(m,"BACKLINKS_TABLE_BLOCK_CLASS_IRI",{enumerable:!0,get:o(function(){return Na.BACKLINKS_TABLE_BLOCK_CLASS_IRI},"get")});Object.defineProperty(m,"BACKLINKS_TABLE_BLOCK_CLASS_UID",{enumerable:!0,get:o(function(){return Na.BACKLINKS_TABLE_BLOCK_CLASS_UID},"get")});Object.defineProperty(m,"PROPERTIES_BLOCK_CLASS_IRI",{enumerable:!0,get:o(function(){return Na.PROPERTIES_BLOCK_CLASS_IRI},"get")});Object.defineProperty(m,"PROPERTIES_BLOCK_CLASS_UID",{enumerable:!0,get:o(function(){return Na.PROPERTIES_BLOCK_CLASS_UID},"get")});Object.defineProperty(m,"createLayoutBlockFromFrontmatter",{enumerable:!0,get:o(function(){return Na.createLayoutBlockFromFrontmatter},"get")});Object.defineProperty(m,"isBacklinksTableBlock",{enumerable:!0,get:o(function(){return Na.isBacklinksTableBlock},"get")});Object.defineProperty(m,"isLayoutBlockFrontmatter",{enumerable:!0,get:o(function(){return Na.isLayoutBlockFrontmatter},"get")});Object.defineProperty(m,"isPropertiesBlock",{enumerable:!0,get:o(function(){return Na.isPropertiesBlock},"get")});var IC=Zx();Object.defineProperty(m,"LayoutSelector",{enumerable:!0,get:o(function(){return IC.LayoutSelector},"get")});Object.defineProperty(m,"selectByPriority",{enumerable:!0,get:o(function(){return IC.selectByPriority},"get")});Yn(cC(),m);Yn(uC(),m)});var gr=S(Cv=>{"use strict";Cv.fromCallback=function(n){return Object.defineProperty(function(...e){if(typeof e[e.length-1]=="function")n.apply(this,e);else return new Promise((t,r)=>{e.push((i,s)=>i!=null?r(i):t(s)),n.apply(this,e)})},"name",{value:n.name})};Cv.fromPromise=function(n){return Object.defineProperty(function(...e){let t=e[e.length-1];if(typeof t!="function")return n.apply(this,e);e.pop(),n.apply(this,e).then(r=>t(null,r),t)},"name",{value:n.name})}});var OC=S((qae,RC)=>{var La=require("constants"),KV=process.cwd,Vm=null,XV=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){return Vm||(Vm=KV.call(process)),Vm};try{process.cwd()}catch{}typeof process.chdir=="function"&&(Iv=process.chdir,process.chdir=function(n){Vm=null,Iv.call(process,n)},Object.setPrototypeOf&&Object.setPrototypeOf(process.chdir,Iv));var Iv;RC.exports=JV;function JV(n){La.hasOwnProperty("O_SYMLINK")&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)&&e(n),n.lutimes||t(n),n.chown=s(n.chown),n.fchown=s(n.fchown),n.lchown=s(n.lchown),n.chmod=r(n.chmod),n.fchmod=r(n.fchmod),n.lchmod=r(n.lchmod),n.chownSync=a(n.chownSync),n.fchownSync=a(n.fchownSync),n.lchownSync=a(n.lchownSync),n.chmodSync=i(n.chmodSync),n.fchmodSync=i(n.fchmodSync),n.lchmodSync=i(n.lchmodSync),n.stat=c(n.stat),n.fstat=c(n.fstat),n.lstat=c(n.lstat),n.statSync=l(n.statSync),n.fstatSync=l(n.fstatSync),n.lstatSync=l(n.lstatSync),n.chmod&&!n.lchmod&&(n.lchmod=function(f,d,h){h&&process.nextTick(h)},n.lchmodSync=function(){}),n.chown&&!n.lchown&&(n.lchown=function(f,d,h,p){p&&process.nextTick(p)},n.lchownSync=function(){}),XV==="win32"&&(n.rename=typeof n.rename!="function"?n.rename:(function(f){function d(h,p,_){var b=Date.now(),E=0;f(h,p,o(function v(A){if(A&&(A.code==="EACCES"||A.code==="EPERM"||A.code==="EBUSY")&&Date.now()-b<6e4){setTimeout(function(){n.stat(p,function(R,B){R&&R.code==="ENOENT"?f(h,p,v):_(A)})},E),E<100&&(E+=10);return}_&&_(A)},"CB"))}return o(d,"rename"),Object.setPrototypeOf&&Object.setPrototypeOf(d,f),d})(n.rename)),n.read=typeof n.read!="function"?n.read:(function(f){function d(h,p,_,b,E,v){var A;if(v&&typeof v=="function"){var R=0;A=o(function(B,W,we){if(B&&B.code==="EAGAIN"&&R<10)return R++,f.call(n,h,p,_,b,E,A);v.apply(this,arguments)},"callback")}return f.call(n,h,p,_,b,E,A)}return o(d,"read"),Object.setPrototypeOf&&Object.setPrototypeOf(d,f),d})(n.read),n.readSync=typeof n.readSync!="function"?n.readSync:(function(f){return function(d,h,p,_,b){for(var E=0;;)try{return f.call(n,d,h,p,_,b)}catch(v){if(v.code==="EAGAIN"&&E<10){E++;continue}throw v}}})(n.readSync);function e(f){f.lchmod=function(d,h,p){f.open(d,La.O_WRONLY|La.O_SYMLINK,h,function(_,b){if(_){p&&p(_);return}f.fchmod(b,h,function(E){f.close(b,function(v){p&&p(E||v)})})})},f.lchmodSync=function(d,h){var p=f.openSync(d,La.O_WRONLY|La.O_SYMLINK,h),_=!0,b;try{b=f.fchmodSync(p,h),_=!1}finally{if(_)try{f.closeSync(p)}catch{}else f.closeSync(p)}return b}}o(e,"patchLchmod");function t(f){La.hasOwnProperty("O_SYMLINK")&&f.futimes?(f.lutimes=function(d,h,p,_){f.open(d,La.O_SYMLINK,function(b,E){if(b){_&&_(b);return}f.futimes(E,h,p,function(v){f.close(E,function(A){_&&_(v||A)})})})},f.lutimesSync=function(d,h,p){var _=f.openSync(d,La.O_SYMLINK),b,E=!0;try{b=f.futimesSync(_,h,p),E=!1}finally{if(E)try{f.closeSync(_)}catch{}else f.closeSync(_)}return b}):f.futimes&&(f.lutimes=function(d,h,p,_){_&&process.nextTick(_)},f.lutimesSync=function(){})}o(t,"patchLutimes");function r(f){return f&&function(d,h,p){return f.call(n,d,h,function(_){u(_)&&(_=null),p&&p.apply(this,arguments)})}}o(r,"chmodFix");function i(f){return f&&function(d,h){try{return f.call(n,d,h)}catch(p){if(!u(p))throw p}}}o(i,"chmodFixSync");function s(f){return f&&function(d,h,p,_){return f.call(n,d,h,p,function(b){u(b)&&(b=null),_&&_.apply(this,arguments)})}}o(s,"chownFix");function a(f){return f&&function(d,h,p){try{return f.call(n,d,h,p)}catch(_){if(!u(_))throw _}}}o(a,"chownFixSync");function c(f){return f&&function(d,h,p){typeof h=="function"&&(p=h,h=null);function _(b,E){E&&(E.uid<0&&(E.uid+=4294967296),E.gid<0&&(E.gid+=4294967296)),p&&p.apply(this,arguments)}return o(_,"callback"),h?f.call(n,d,h,_):f.call(n,d,_)}}o(c,"statFix");function l(f){return f&&function(d,h){var p=h?f.call(n,d,h):f.call(n,d);return p&&(p.uid<0&&(p.uid+=4294967296),p.gid<0&&(p.gid+=4294967296)),p}}o(l,"statFixSync");function u(f){if(!f||f.code==="ENOSYS")return!0;var d=!process.getuid||process.getuid()!==0;return!!(d&&(f.code==="EINVAL"||f.code==="EPERM"))}o(u,"chownErOk")}o(JV,"patch")});var DC=S((Gae,FC)=>{var PC=require("stream").Stream;FC.exports=ZV;function ZV(n){return{ReadStream:e,WriteStream:t};function e(r,i){if(!(this instanceof e))return new e(r,i);PC.call(this);var s=this;this.path=r,this.fd=null,this.readable=!0,this.paused=!1,this.flags="r",this.mode=438,this.bufferSize=64*1024,i=i||{};for(var a=Object.keys(i),c=0,l=a.length;c<l;c++){var u=a[c];this[u]=i[u]}if(this.encoding&&this.setEncoding(this.encoding),this.start!==void 0){if(typeof this.start!="number")throw TypeError("start must be a Number");if(this.end===void 0)this.end=1/0;else if(typeof this.end!="number")throw TypeError("end must be a Number");if(this.start>this.end)throw new Error("start must be <= end");this.pos=this.start}if(this.fd!==null){process.nextTick(function(){s._read()});return}n.open(this.path,this.flags,this.mode,function(f,d){if(f){s.emit("error",f),s.readable=!1;return}s.fd=d,s.emit("open",d),s._read()})}function t(r,i){if(!(this instanceof t))return new t(r,i);PC.call(this),this.path=r,this.fd=null,this.writable=!0,this.flags="w",this.encoding="binary",this.mode=438,this.bytesWritten=0,i=i||{};for(var s=Object.keys(i),a=0,c=s.length;a<c;a++){var l=s[a];this[l]=i[l]}if(this.start!==void 0){if(typeof this.start!="number")throw TypeError("start must be a Number");if(this.start<0)throw new Error("start must be >= zero");this.pos=this.start}this.busy=!1,this._queue=[],this.fd===null&&(this._open=n.open,this._queue.push([this._open,this.path,this.flags,this.mode,void 0]),this.flush())}}o(ZV,"legacy")});var LC=S((Hae,NC)=>{"use strict";NC.exports=tU;var eU=Object.getPrototypeOf||function(n){return n.__proto__};function tU(n){if(n===null||typeof n!="object")return n;if(n instanceof Object)var e={__proto__:eU(n)};else var e=Object.create(null);return Object.getOwnPropertyNames(n).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}),e}o(tU,"clone")});var vl=S((Yae,Pv)=>{var kt=require("fs"),rU=OC(),nU=DC(),iU=LC(),Um=require("util"),Dr,Wm;typeof Symbol=="function"&&typeof Symbol.for=="function"?(Dr=Symbol.for("graceful-fs.queue"),Wm=Symbol.for("graceful-fs.previous")):(Dr="___graceful-fs.queue",Wm="___graceful-fs.previous");function sU(){}o(sU,"noop");function jC(n,e){Object.defineProperty(n,Dr,{get:o(function(){return e},"get")})}o(jC,"publishQueue");var Bo=sU;Um.debuglog?Bo=Um.debuglog("gfs4"):/\bgfs4\b/i.test(process.env.NODE_DEBUG||"")&&(Bo=o(function(){var n=Um.format.apply(Um,arguments);n="GFS4: "+n.split(/\n/).join(`
|
|
456
456
|
GFS4: `),console.error(n)},"debug"));kt[Dr]||(kC=global[Dr]||[],jC(kt,kC),kt.close=(function(n){function e(t,r){return n.call(kt,t,function(i){i||MC(),typeof r=="function"&&r.apply(this,arguments)})}return o(e,"close"),Object.defineProperty(e,Wm,{value:n}),e})(kt.close),kt.closeSync=(function(n){function e(t){n.apply(kt,arguments),MC()}return o(e,"closeSync"),Object.defineProperty(e,Wm,{value:n}),e})(kt.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||"")&&process.on("exit",function(){Bo(kt[Dr]),require("assert").equal(kt[Dr].length,0)}));var kC;global[Dr]||jC(global,kt[Dr]);Pv.exports=Rv(iU(kt));process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!kt.__patched&&(Pv.exports=Rv(kt),kt.__patched=!0);function Rv(n){rU(n),n.gracefulify=Rv,n.createReadStream=W,n.createWriteStream=we;var e=n.readFile;n.readFile=t;function t(F,j,te){return typeof j=="function"&&(te=j,j=null),Ye(F,j,te);function Ye(st,Rt,at,ct){return e(st,Rt,function(Ke){Ke&&(Ke.code==="EMFILE"||Ke.code==="ENFILE")?bl([Ye,[st,Rt,at],Ke,ct||Date.now(),Date.now()]):typeof at=="function"&&at.apply(this,arguments)})}o(Ye,"go$readFile")}o(t,"readFile");var r=n.writeFile;n.writeFile=i;function i(F,j,te,Ye){return typeof te=="function"&&(Ye=te,te=null),st(F,j,te,Ye);function st(Rt,at,ct,Ke,ie){return r(Rt,at,ct,function(V){V&&(V.code==="EMFILE"||V.code==="ENFILE")?bl([st,[Rt,at,ct,Ke],V,ie||Date.now(),Date.now()]):typeof Ke=="function"&&Ke.apply(this,arguments)})}o(st,"go$writeFile")}o(i,"writeFile");var s=n.appendFile;s&&(n.appendFile=a);function a(F,j,te,Ye){return typeof te=="function"&&(Ye=te,te=null),st(F,j,te,Ye);function st(Rt,at,ct,Ke,ie){return s(Rt,at,ct,function(V){V&&(V.code==="EMFILE"||V.code==="ENFILE")?bl([st,[Rt,at,ct,Ke],V,ie||Date.now(),Date.now()]):typeof Ke=="function"&&Ke.apply(this,arguments)})}o(st,"go$appendFile")}o(a,"appendFile");var c=n.copyFile;c&&(n.copyFile=l);function l(F,j,te,Ye){return typeof te=="function"&&(Ye=te,te=0),st(F,j,te,Ye);function st(Rt,at,ct,Ke,ie){return c(Rt,at,ct,function(V){V&&(V.code==="EMFILE"||V.code==="ENFILE")?bl([st,[Rt,at,ct,Ke],V,ie||Date.now(),Date.now()]):typeof Ke=="function"&&Ke.apply(this,arguments)})}o(st,"go$copyFile")}o(l,"copyFile");var u=n.readdir;n.readdir=d;var f=/^v[0-5]\./;function d(F,j,te){typeof j=="function"&&(te=j,j=null);var Ye=f.test(process.version)?o(function(at,ct,Ke,ie){return u(at,st(at,ct,Ke,ie))},"go$readdir"):o(function(at,ct,Ke,ie){return u(at,ct,st(at,ct,Ke,ie))},"go$readdir");return Ye(F,j,te);function st(Rt,at,ct,Ke){return function(ie,V){ie&&(ie.code==="EMFILE"||ie.code==="ENFILE")?bl([Ye,[Rt,at,ct],ie,Ke||Date.now(),Date.now()]):(V&&V.sort&&V.sort(),typeof ct=="function"&&ct.call(this,ie,V))}}}if(o(d,"readdir"),process.version.substr(0,4)==="v0.8"){var h=nU(n);v=h.ReadStream,R=h.WriteStream}var p=n.ReadStream;p&&(v.prototype=Object.create(p.prototype),v.prototype.open=A);var _=n.WriteStream;_&&(R.prototype=Object.create(_.prototype),R.prototype.open=B),Object.defineProperty(n,"ReadStream",{get:o(function(){return v},"get"),set:o(function(F){v=F},"set"),enumerable:!0,configurable:!0}),Object.defineProperty(n,"WriteStream",{get:o(function(){return R},"get"),set:o(function(F){R=F},"set"),enumerable:!0,configurable:!0});var b=v;Object.defineProperty(n,"FileReadStream",{get:o(function(){return b},"get"),set:o(function(F){b=F},"set"),enumerable:!0,configurable:!0});var E=R;Object.defineProperty(n,"FileWriteStream",{get:o(function(){return E},"get"),set:o(function(F){E=F},"set"),enumerable:!0,configurable:!0});function v(F,j){return this instanceof v?(p.apply(this,arguments),this):v.apply(Object.create(v.prototype),arguments)}o(v,"ReadStream");function A(){var F=this;G(F.path,F.flags,F.mode,function(j,te){j?(F.autoClose&&F.destroy(),F.emit("error",j)):(F.fd=te,F.emit("open",te),F.read())})}o(A,"ReadStream$open");function R(F,j){return this instanceof R?(_.apply(this,arguments),this):R.apply(Object.create(R.prototype),arguments)}o(R,"WriteStream");function B(){var F=this;G(F.path,F.flags,F.mode,function(j,te){j?(F.destroy(),F.emit("error",j)):(F.fd=te,F.emit("open",te))})}o(B,"WriteStream$open");function W(F,j){return new n.ReadStream(F,j)}o(W,"createReadStream");function we(F,j){return new n.WriteStream(F,j)}o(we,"createWriteStream");var z=n.open;n.open=G;function G(F,j,te,Ye){return typeof te=="function"&&(Ye=te,te=null),st(F,j,te,Ye);function st(Rt,at,ct,Ke,ie){return z(Rt,at,ct,function(V,lt){V&&(V.code==="EMFILE"||V.code==="ENFILE")?bl([st,[Rt,at,ct,Ke],V,ie||Date.now(),Date.now()]):typeof Ke=="function"&&Ke.apply(this,arguments)})}o(st,"go$open")}return o(G,"open"),n}o(Rv,"patch");function bl(n){Bo("ENQUEUE",n[0].name,n[1]),kt[Dr].push(n),Ov()}o(bl,"enqueue");var qm;function MC(){for(var n=Date.now(),e=0;e<kt[Dr].length;++e)kt[Dr][e].length>2&&(kt[Dr][e][3]=n,kt[Dr][e][4]=n);Ov()}o(MC,"resetQueue");function Ov(){if(clearTimeout(qm),qm=void 0,kt[Dr].length!==0){var n=kt[Dr].shift(),e=n[0],t=n[1],r=n[2],i=n[3],s=n[4];if(i===void 0)Bo("RETRY",e.name,t),e.apply(null,t);else if(Date.now()-i>=6e4){Bo("TIMEOUT",e.name,t);var a=t.pop();typeof a=="function"&&a.call(null,r)}else{var c=Date.now()-s,l=Math.max(s-i,1),u=Math.min(l*1.2,100);c>=u?(Bo("RETRY",e.name,t),e.apply(null,t.concat([i]))):kt[Dr].push(n)}qm===void 0&&(qm=setTimeout(Ov,0))}}o(Ov,"retry")});var fn=S(ta=>{"use strict";var $C=gr().fromCallback,un=vl(),aU=["access","appendFile","chmod","chown","close","copyFile","cp","fchmod","fchown","fdatasync","fstat","fsync","ftruncate","futimes","glob","lchmod","lchown","lutimes","link","lstat","mkdir","mkdtemp","open","opendir","readdir","readFile","readlink","realpath","rename","rm","rmdir","stat","statfs","symlink","truncate","unlink","utimes","writeFile"].filter(n=>typeof un[n]=="function");Object.assign(ta,un);aU.forEach(n=>{ta[n]=$C(un[n])});ta.exists=function(n,e){return typeof e=="function"?un.exists(n,e):new Promise(t=>un.exists(n,t))};ta.read=function(n,e,t,r,i,s){return typeof s=="function"?un.read(n,e,t,r,i,s):new Promise((a,c)=>{un.read(n,e,t,r,i,(l,u,f)=>{if(l)return c(l);a({bytesRead:u,buffer:f})})})};ta.write=function(n,e,...t){return typeof t[t.length-1]=="function"?un.write(n,e,...t):new Promise((r,i)=>{un.write(n,e,...t,(s,a,c)=>{if(s)return i(s);r({bytesWritten:a,buffer:c})})})};ta.readv=function(n,e,...t){return typeof t[t.length-1]=="function"?un.readv(n,e,...t):new Promise((r,i)=>{un.readv(n,e,...t,(s,a,c)=>{if(s)return i(s);r({bytesRead:a,buffers:c})})})};ta.writev=function(n,e,...t){return typeof t[t.length-1]=="function"?un.writev(n,e,...t):new Promise((r,i)=>{un.writev(n,e,...t,(s,a,c)=>{if(s)return i(s);r({bytesWritten:a,buffers:c})})})};typeof un.realpath.native=="function"?ta.realpath.native=$C(un.realpath.native):process.emitWarning("fs.realpath.native is not a function. Is fs being monkey-patched?","Warning","fs-extra-WARN0003")});var VC=S((Jae,BC)=>{"use strict";var oU=require("path");BC.exports.checkPath=o(function(e){if(process.platform==="win32"&&/[<>:"|?*]/.test(e.replace(oU.parse(e).root,""))){let r=new Error(`Path contains invalid characters: ${e}`);throw r.code="EINVAL",r}},"checkPath")});var GC=S((eoe,Fv)=>{"use strict";var UC=fn(),{checkPath:qC}=VC(),WC=o(n=>{let e={mode:511};return typeof n=="number"?n:{...e,...n}.mode},"getMode");Fv.exports.makeDir=async(n,e)=>(qC(n),UC.mkdir(n,{mode:WC(e),recursive:!0}));Fv.exports.makeDirSync=(n,e)=>(qC(n),UC.mkdirSync(n,{mode:WC(e),recursive:!0}))});var Li=S((roe,zC)=>{"use strict";var cU=gr().fromPromise,{makeDir:lU,makeDirSync:Dv}=GC(),Nv=cU(lU);zC.exports={mkdirs:Nv,mkdirsSync:Dv,mkdirp:Nv,mkdirpSync:Dv,ensureDir:Nv,ensureDirSync:Dv}});var ka=S((noe,QC)=>{"use strict";var uU=gr().fromPromise,HC=fn();function fU(n){return HC.access(n).then(()=>!0).catch(()=>!1)}o(fU,"pathExists");QC.exports={pathExists:uU(fU),pathExistsSync:HC.existsSync}});var Lv=S((soe,YC)=>{"use strict";var wl=fn(),dU=gr().fromPromise;async function hU(n,e,t){let r=await wl.open(n,"r+"),i=null;try{await wl.futimes(r,e,t)}finally{try{await wl.close(r)}catch(s){i=s}}if(i)throw i}o(hU,"utimesMillis");function pU(n,e,t){let r=wl.openSync(n,"r+");return wl.futimesSync(r,e,t),wl.closeSync(r)}o(pU,"utimesMillisSync");YC.exports={utimesMillis:dU(hU),utimesMillisSync:pU}});var Vo=S((ooe,ZC)=>{"use strict";var El=fn(),yr=require("path"),KC=gr().fromPromise;function mU(n,e,t){let r=t.dereference?i=>El.stat(i,{bigint:!0}):i=>El.lstat(i,{bigint:!0});return Promise.all([r(n),r(e).catch(i=>{if(i.code==="ENOENT")return null;throw i})]).then(([i,s])=>({srcStat:i,destStat:s}))}o(mU,"getStats");function gU(n,e,t){let r,i=t.dereference?a=>El.statSync(a,{bigint:!0}):a=>El.lstatSync(a,{bigint:!0}),s=i(n);try{r=i(e)}catch(a){if(a.code==="ENOENT")return{srcStat:s,destStat:null};throw a}return{srcStat:s,destStat:r}}o(gU,"getStatsSync");async function yU(n,e,t,r){let{srcStat:i,destStat:s}=await mU(n,e,r);if(s){if(hf(i,s)){let a=yr.basename(n),c=yr.basename(e);if(t==="move"&&a!==c&&a.toLowerCase()===c.toLowerCase())return{srcStat:i,destStat:s,isChangingCase:!0};throw new Error("Source and destination must not be the same.")}if(i.isDirectory()&&!s.isDirectory())throw new Error(`Cannot overwrite non-directory '${e}' with directory '${n}'.`);if(!i.isDirectory()&&s.isDirectory())throw new Error(`Cannot overwrite directory '${e}' with non-directory '${n}'.`)}if(i.isDirectory()&&kv(n,e))throw new Error(Gm(n,e,t));return{srcStat:i,destStat:s}}o(yU,"checkPaths");function _U(n,e,t,r){let{srcStat:i,destStat:s}=gU(n,e,r);if(s){if(hf(i,s)){let a=yr.basename(n),c=yr.basename(e);if(t==="move"&&a!==c&&a.toLowerCase()===c.toLowerCase())return{srcStat:i,destStat:s,isChangingCase:!0};throw new Error("Source and destination must not be the same.")}if(i.isDirectory()&&!s.isDirectory())throw new Error(`Cannot overwrite non-directory '${e}' with directory '${n}'.`);if(!i.isDirectory()&&s.isDirectory())throw new Error(`Cannot overwrite directory '${e}' with non-directory '${n}'.`)}if(i.isDirectory()&&kv(n,e))throw new Error(Gm(n,e,t));return{srcStat:i,destStat:s}}o(_U,"checkPathsSync");async function XC(n,e,t,r){let i=yr.resolve(yr.dirname(n)),s=yr.resolve(yr.dirname(t));if(s===i||s===yr.parse(s).root)return;let a;try{a=await El.stat(s,{bigint:!0})}catch(c){if(c.code==="ENOENT")return;throw c}if(hf(e,a))throw new Error(Gm(n,t,r));return XC(n,e,s,r)}o(XC,"checkParentPaths");function JC(n,e,t,r){let i=yr.resolve(yr.dirname(n)),s=yr.resolve(yr.dirname(t));if(s===i||s===yr.parse(s).root)return;let a;try{a=El.statSync(s,{bigint:!0})}catch(c){if(c.code==="ENOENT")return;throw c}if(hf(e,a))throw new Error(Gm(n,t,r));return JC(n,e,s,r)}o(JC,"checkParentPathsSync");function hf(n,e){return e.ino!==void 0&&e.dev!==void 0&&e.ino===n.ino&&e.dev===n.dev}o(hf,"areIdentical");function kv(n,e){let t=yr.resolve(n).split(yr.sep).filter(i=>i),r=yr.resolve(e).split(yr.sep).filter(i=>i);return t.every((i,s)=>r[s]===i)}o(kv,"isSrcSubdir");function Gm(n,e,t){return`Cannot ${t} '${n}' to a subdirectory of itself, '${e}'.`}o(Gm,"errMsg");ZC.exports={checkPaths:KC(yU),checkPathsSync:_U,checkParentPaths:KC(XC),checkParentPathsSync:JC,isSrcSubdir:kv,areIdentical:hf}});var tI=S((loe,eI)=>{"use strict";async function SU(n,e){let t=[];for await(let r of n)t.push(e(r).then(()=>null,i=>i??new Error("unknown error")));await Promise.all(t.map(r=>r.then(i=>{if(i!==null)throw i})))}o(SU,"asyncIteratorConcurrentProcess");eI.exports={asyncIteratorConcurrentProcess:SU}});var aI=S((foe,sI)=>{"use strict";var Hr=fn(),pf=require("path"),{mkdirs:bU}=Li(),{pathExists:vU}=ka(),{utimesMillis:wU}=Lv(),mf=Vo(),{asyncIteratorConcurrentProcess:EU}=tI();async function TU(n,e,t={}){typeof t=="function"&&(t={filter:t}),t.clobber="clobber"in t?!!t.clobber:!0,t.overwrite="overwrite"in t?!!t.overwrite:t.clobber,t.preserveTimestamps&&process.arch==="ia32"&&process.emitWarning(`Using the preserveTimestamps option in 32-bit node is not recommended;
|
|
457
457
|
|
|
458
458
|
see https://github.com/jprichardson/node-fs-extra/issues/269`,"Warning","fs-extra-WARN0001");let{srcStat:r,destStat:i}=await mf.checkPaths(n,e,"copy",t);if(await mf.checkParentPaths(n,r,e,"copy"),!await nI(n,e,t))return;let a=pf.dirname(e);await vU(a)||await bU(a),await iI(i,n,e,t)}o(TU,"copy");async function nI(n,e,t){return t.filter?t.filter(n,e):!0}o(nI,"runFilter");async function iI(n,e,t,r){let s=await(r.dereference?Hr.stat:Hr.lstat)(e);if(s.isDirectory())return IU(s,n,e,t,r);if(s.isFile()||s.isCharacterDevice()||s.isBlockDevice())return AU(s,n,e,t,r);if(s.isSymbolicLink())return RU(n,e,t,r);throw s.isSocket()?new Error(`Cannot copy a socket file: ${e}`):s.isFIFO()?new Error(`Cannot copy a FIFO pipe: ${e}`):new Error(`Unknown file: ${e}`)}o(iI,"getStatsAndPerformCopy");async function AU(n,e,t,r,i){if(!e)return rI(n,t,r,i);if(i.overwrite)return await Hr.unlink(r),rI(n,t,r,i);if(i.errorOnExist)throw new Error(`'${r}' already exists`)}o(AU,"onFile");async function rI(n,e,t,r){if(await Hr.copyFile(e,t),r.preserveTimestamps){xU(n.mode)&&await CU(t,n.mode);let i=await Hr.stat(e);await wU(t,i.atime,i.mtime)}return Hr.chmod(t,n.mode)}o(rI,"copyFile");function xU(n){return(n&128)===0}o(xU,"fileIsNotWritable");function CU(n,e){return Hr.chmod(n,e|128)}o(CU,"makeFileWritable");async function IU(n,e,t,r,i){e||await Hr.mkdir(r),await EU(await Hr.opendir(t),async s=>{let a=pf.join(t,s.name),c=pf.join(r,s.name);if(await nI(a,c,i)){let{destStat:u}=await mf.checkPaths(a,c,"copy",i);await iI(u,a,c,i)}}),e||await Hr.chmod(r,n.mode)}o(IU,"onDir");async function RU(n,e,t,r){let i=await Hr.readlink(e);if(r.dereference&&(i=pf.resolve(process.cwd(),i)),!n)return Hr.symlink(i,t);let s=null;try{s=await Hr.readlink(t)}catch(a){if(a.code==="EINVAL"||a.code==="UNKNOWN")return Hr.symlink(i,t);throw a}if(r.dereference&&(s=pf.resolve(process.cwd(),s)),mf.isSrcSubdir(i,s))throw new Error(`Cannot copy '${i}' to a subdirectory of itself, '${s}'.`);if(mf.isSrcSubdir(s,i))throw new Error(`Cannot overwrite '${s}' with '${i}'.`);return await Hr.unlink(t),Hr.symlink(i,t)}o(RU,"onLink");sI.exports=TU});var fI=S((hoe,uI)=>{"use strict";var dn=vl(),gf=require("path"),OU=Li().mkdirsSync,PU=Lv().utimesMillisSync,yf=Vo();function FU(n,e,t){typeof t=="function"&&(t={filter:t}),t=t||{},t.clobber="clobber"in t?!!t.clobber:!0,t.overwrite="overwrite"in t?!!t.overwrite:t.clobber,t.preserveTimestamps&&process.arch==="ia32"&&process.emitWarning(`Using the preserveTimestamps option in 32-bit node is not recommended;
|
|
@@ -790,7 +790,7 @@ exo__BacklinksTableBlock_columns:${f==="[]"?" []":f}
|
|
|
790
790
|
--- END PREVIEW ---
|
|
791
791
|
`)}o(YY,"printDryRunReport");function KY(n,e){let r=[`--- MIGRATION ${e.apply?"APPLY":"DRY RUN"} ---`,`Migrated pairs: ${n.pairs.length}`,`Skipped configs: ${n.skipped.length}`];e.apply&&(r.push(`Files written to: ${e.outDir}/ (relative to vault root)`),r.push(`Total files written: ${n.pairs.length*2} (${n.pairs.length} Layout + ${n.pairs.length} Block)`));for(let i of n.skipped)r.push(` SKIPPED: ${i.sourcePath} \u2014 ${i.reason}`);return r.push(`--- END SUMMARY ---
|
|
792
792
|
`),r.join(`
|
|
793
|
-
`)}o(KY,"formatSummary");function XY(n,e){return{mode:e.apply?"apply":"dry-run",outDir:e.outDir,pairsCount:n.pairs.length,skippedCount:n.skipped.length,pairs:n.pairs.map(t=>({sourceUid:t.sourceUid,sourcePath:t.sourcePath,layoutUid:t.layout.uid,blockUid:t.block.uid,warnings:t.warnings})),skipped:n.skipped}}o(XY,"summariseResult");function bD(n){n.addCommand(sP()),n.addCommand(lP()),n.addCommand(uP())}o(bD,"addQuerySubcommands");function vD(n){let e=new Ie;e.name("exocortex").description("CLI tool for Exocortex knowledge management system").version(n??"15.141.
|
|
793
|
+
`)}o(KY,"formatSummary");function XY(n,e){return{mode:e.apply?"apply":"dry-run",outDir:e.outDir,pairsCount:n.pairs.length,skippedCount:n.skipped.length,pairs:n.pairs.map(t=>({sourceUid:t.sourceUid,sourcePath:t.sourcePath,layoutUid:t.layout.uid,blockUid:t.block.uid,warnings:t.warnings})),skipped:n.skipped}}o(XY,"summariseResult");function bD(n){n.addCommand(sP()),n.addCommand(lP()),n.addCommand(uP())}o(bD,"addQuerySubcommands");function vD(n){let e=new Ie;e.name("exocortex").description("CLI tool for Exocortex knowledge management system").version(n??"15.141.3");let t=e.command("exoql").description("ExoQL query execution and cache management");bD(t);let r=e.command("sparql").description("(deprecated) Use 'exoql' instead");return bD(r),r.hook("preAction",()=>{console.error('\u26A0\uFE0F "sparql" is deprecated. Use "exoql" instead.')}),e.addCommand(_F()),e.addCommand(vF()),e.addCommand(wF()),e.addCommand(TF()),e.addCommand(AF()),e.addCommand(OF()),e.addCommand(NF()),e.addCommand(UF()),e.addCommand(GF()),e.addCommand(KF()),e.addCommand(ZF()),e.addCommand(eD()),e.addCommand(rD()),e.addCommand(cD()),e.addCommand(dD()),e.addCommand(SD()),e}o(vD,"createProgram");vD().parse();0&&(module.exports={createProgram});
|
|
794
794
|
/*! Bundled license information:
|
|
795
795
|
|
|
796
796
|
reflect-metadata/Reflect.js:
|