@kitelev/exocortex-cli 15.26.2 → 15.26.4
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 +3 -3
- 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.26.
|
|
2
|
+
// @kitelev/exocortex-cli v15.26.4
|
|
3
3
|
// CLI tool for Exocortex knowledge management system - SPARQL queries, task management, and more
|
|
4
4
|
// License: MIT
|
|
5
5
|
|
|
@@ -251,7 +251,7 @@ WHERE {
|
|
|
251
251
|
?person ${M.PREDICATES.INSTANCE_CLASS} "[[${M.ASSET_CLASSES.PERSON}]]" .
|
|
252
252
|
?person ${M.PREDICATES.ASSET_LABEL} ?label .
|
|
253
253
|
}
|
|
254
|
-
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","persons","person"]}];function u4(n){return M.SPARQL_TEMPLATES.find(e=>e.name===n)}o(u4,"getTemplateByName");function f4(n,e=3){let t=n.toLowerCase(),r=new Map;for(let i of M.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(h=>h.includes(f)||f.includes(h)));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(f4,"findMatchingTemplates");function h4(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(h4,"fillTemplate");function d4(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(d4,"validateParameters")});var _b=v(Sn=>{"use strict";var p4=Sn&&Sn.__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},m4=Sn&&Sn.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)};Object.defineProperty(Sn,"__esModule",{value:!0});Sn.NLToSPARQLService=Sn.DEFAULT_NL_TO_SPARQL_CONFIG=void 0;var g4=Ve(),y4=la(),lt=b0();Sn.DEFAULT_NL_TO_SPARQL_CONFIG={defaultLimit:100,includeExplanation:!0,confidenceThreshold:.3};var w0=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:lt.KNOWN_PROTOTYPES.MORNING_SHOWER,"\u0443\u0442\u0440\u0435\u043D\u043D\u0438\u0439 \u0434\u0443\u0448":lt.KNOWN_PROTOTYPES.MORNING_SHOWER,"morning shower":lt.KNOWN_PROTOTYPES.MORNING_SHOWER,\u043D\u043E\u0433\u0442\u0438:lt.KNOWN_PROTOTYPES.CUT_NAILS,"\u043F\u043E\u0434\u0441\u0442\u0440\u0438\u0447\u044C \u043D\u043E\u0433\u0442\u0438":lt.KNOWN_PROTOTYPES.CUT_NAILS},this.config={...Sn.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,lt.findClassByTerm)(t),s=(0,lt.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))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,lt.validateParameters)(t,i);if(!s.valid){for(let f of s.missing){let h=this.inferParameter(e,f,t);h&&(i[f]=h)}let u=(0,lt.validateParameters)(t,i);if(!u.valid){let f=(0,lt.findClassByTerm)(e);return f?this.handleClassQuery(e,f):this.createFallbackQuery(e,{template:t,missingParams:u.missing})}}let a=(0,lt.fillTemplate)(t,i),c=this.calculateConfidence(e,t,i),l=r.slice(1).map(u=>{let f=this.extractParameters(e,u);return(0,lt.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,lt.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,lt.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,lt.getTemplateByName)("properties_by_uuid");if(!r)throw new Error("Template properties_by_uuid not found");let i={uuid:t};return{query:(0,lt.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,lt.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,lt.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,lt.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,lt.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,lt.SPARQL_TEMPLATES[0]),i=`${lt.SPARQL_PREFIXES}
|
|
254
|
+
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 u4(n){return M.SPARQL_TEMPLATES.find(e=>e.name===n)}o(u4,"getTemplateByName");function f4(n,e=3){let t=n.toLowerCase(),r=new Map;for(let i of M.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(h=>h.includes(f)||f.includes(h)));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(f4,"findMatchingTemplates");function h4(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(h4,"fillTemplate");function d4(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(d4,"validateParameters")});var _b=v(Sn=>{"use strict";var p4=Sn&&Sn.__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},m4=Sn&&Sn.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)};Object.defineProperty(Sn,"__esModule",{value:!0});Sn.NLToSPARQLService=Sn.DEFAULT_NL_TO_SPARQL_CONFIG=void 0;var g4=Ve(),y4=la(),lt=b0();Sn.DEFAULT_NL_TO_SPARQL_CONFIG={defaultLimit:100,includeExplanation:!0,confidenceThreshold:.3};var w0=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:lt.KNOWN_PROTOTYPES.MORNING_SHOWER,"\u0443\u0442\u0440\u0435\u043D\u043D\u0438\u0439 \u0434\u0443\u0448":lt.KNOWN_PROTOTYPES.MORNING_SHOWER,"morning shower":lt.KNOWN_PROTOTYPES.MORNING_SHOWER,\u043D\u043E\u0433\u0442\u0438:lt.KNOWN_PROTOTYPES.CUT_NAILS,"\u043F\u043E\u0434\u0441\u0442\u0440\u0438\u0447\u044C \u043D\u043E\u0433\u0442\u0438":lt.KNOWN_PROTOTYPES.CUT_NAILS},this.config={...Sn.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,lt.findClassByTerm)(t),s=(0,lt.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(h=>u.includes(h.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,lt.validateParameters)(t,i);if(!s.valid){for(let f of s.missing){let h=this.inferParameter(e,f,t);h&&(i[f]=h)}let u=(0,lt.validateParameters)(t,i);if(!u.valid){let f=(0,lt.findClassByTerm)(e);return f?this.handleClassQuery(e,f):this.createFallbackQuery(e,{template:t,missingParams:u.missing})}}let a=(0,lt.fillTemplate)(t,i),c=this.calculateConfidence(e,t,i),l=r.slice(1).map(u=>{let f=this.extractParameters(e,u);return(0,lt.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,lt.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,lt.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,lt.getTemplateByName)("properties_by_uuid");if(!r)throw new Error("Template properties_by_uuid not found");let i={uuid:t};return{query:(0,lt.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,lt.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,lt.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,lt.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,lt.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,lt.SPARQL_TEMPLATES[0]),i=`${lt.SPARQL_PREFIXES}
|
|
255
255
|
|
|
256
256
|
SELECT ?s ?label ?class WHERE {
|
|
257
257
|
?s ${lt.PREDICATES.ASSET_LABEL} ?label .
|
|
@@ -594,7 +594,7 @@ Continue? (y/n): `,s=>{r.close(),i(s.toLowerCase()==="y"||s.toLowerCase()==="yes
|
|
|
594
594
|
ORDER BY DESC(?usageCount)
|
|
595
595
|
`;a=s.parse(p),c=new Xt.AlgebraTranslator,l=c.translate(a),u=new Xt.AlgebraOptimizer,l=u.optimize(l);let S=(await f.executeAll(l)).map(A=>{let C=A.get("property"),k=A.get("usageCount");return{name:C?kC(C.toString()):"unknown",usageCount:k?parseInt(k.toString(),10):0}}),E={name:e,instanceCount:d,properties:S};if(r==="json"||t.format==="json"){let A=_e.success(E);console.log(JSON.stringify(A,null,2))}else{if(console.log(`\u{1F4CB} Class: ${e}
|
|
596
596
|
`),console.log(` Instances: ${d}`),console.log(` Properties: ${S.length}
|
|
597
|
-
`),S.length===0){console.log(" No properties found.");return}let A=Math.max(...S.map(C=>C.name.length),10);console.log(" \u250C"+"\u2500".repeat(A+2)+"\u252C"+"\u2500".repeat(10)+"\u2510"),console.log(" \u2502 "+"Property".padEnd(A)+" \u2502 "+"Usage".padEnd(8)+" \u2502"),console.log(" \u251C"+"\u2500".repeat(A+2)+"\u253C"+"\u2500".repeat(10)+"\u2524");for(let C of S)console.log(" \u2502 "+C.name.padEnd(A)+" \u2502 "+C.usageCount.toString().padStart(8)+" \u2502");console.log(" \u2514"+"\u2500".repeat(A+2)+"\u2534"+"\u2500".repeat(10)+"\u2518")}}o(HV,"showClassDetails");function kC(n){let e=n.replace(/^<|>$/g,""),t=e.lastIndexOf("#");if(t!==-1)return e.substring(t+1);let r=e.lastIndexOf("/");return r!==-1?e.substring(r+1):e}o(kC,"extractLocalName");var Pn=new ut;Pn.name("exocortex").description("CLI tool for Exocortex knowledge management system").version("15.26.
|
|
597
|
+
`),S.length===0){console.log(" No properties found.");return}let A=Math.max(...S.map(C=>C.name.length),10);console.log(" \u250C"+"\u2500".repeat(A+2)+"\u252C"+"\u2500".repeat(10)+"\u2510"),console.log(" \u2502 "+"Property".padEnd(A)+" \u2502 "+"Usage".padEnd(8)+" \u2502"),console.log(" \u251C"+"\u2500".repeat(A+2)+"\u253C"+"\u2500".repeat(10)+"\u2524");for(let C of S)console.log(" \u2502 "+C.name.padEnd(A)+" \u2502 "+C.usageCount.toString().padStart(8)+" \u2502");console.log(" \u2514"+"\u2500".repeat(A+2)+"\u2534"+"\u2500".repeat(10)+"\u2518")}}o(HV,"showClassDetails");function kC(n){let e=n.replace(/^<|>$/g,""),t=e.lastIndexOf("#");if(t!==-1)return e.substring(t+1);let r=e.lastIndexOf("/");return r!==-1?e.substring(r+1):e}o(kC,"extractLocalName");var Pn=new ut;Pn.name("exocortex").description("CLI tool for Exocortex knowledge management system").version("15.26.4");var sv=Pn.command("sparql").description("SPARQL query execution and cache management");sv.addCommand(rA());sv.addCommand(sA());sv.addCommand(aA());Pn.addCommand(pC());Pn.addCommand(yC());Pn.addCommand(vC());Pn.addCommand(SC());Pn.addCommand(bC());Pn.addCommand(AC());Pn.addCommand(PC());Pn.addCommand(DC());Pn.addCommand(MC());Pn.parse();
|
|
598
598
|
/*! Bundled license information:
|
|
599
599
|
|
|
600
600
|
reflect-metadata/Reflect.js:
|