@lovrabet/dataset-mcp-server 1.3.8-beta.0 → 1.3.8
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/api/cache.js +1 -1
- package/dist/api/dev-api-client.js +1 -1
- package/dist/auth/constants.js +1 -1
- package/dist/auth/cookie-manager.js +1 -1
- package/dist/auth/session-validator.js +1 -1
- package/dist/config/env.js +1 -1
- package/dist/index.js +1 -1
- package/dist/server.js +1 -1
- package/dist/tools/execute-custom-sql.js +1 -1
- package/dist/tools/generate-sdk-code.js +1 -1
- package/dist/tools/generate-sql-code.js +1 -1
- package/dist/tools/get-bff-script-info.js +1 -1
- package/dist/tools/get-dataset-detail.js +1 -1
- package/dist/tools/get-operation-detail.js +1 -1
- package/dist/tools/get-operations.js +1 -1
- package/dist/tools/index.js +1 -1
- package/dist/tools/list-bff-scripts.js +1 -1
- package/dist/tools/list-datasets.js +1 -1
- package/dist/tools/list-sql-queries.js +1 -1
- package/dist/tools/login.js +1 -1
- package/dist/tools/save-or-update-bff-script.js +1 -1
- package/dist/tools/save-or-update-custom-sql.js +1 -1
- package/dist/tools/search-datasets.js +1 -1
- package/dist/tools/validate-sql-content.js +1 -1
- package/dist/types/index.js +1 -1
- package/dist/types/mcp-types.js +1 -1
- package/dist/utils/rate-limiter.js +1 -1
- package/dist/utils/relations.js +1 -1
- package/dist/utils/sql-parser.js +1 -1
- package/package.json +3 -3
package/dist/api/cache.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a0_0x29e596=a0_0x4a5d;function a0_0x4a5d(_0x535a09,_0x444786){_0x535a09=_0x535a09-0xf6;const _0x2f895b=a0_0x2f89();let _0x4a5da3=_0x2f895b[_0x535a09];return _0x4a5da3;}(function(_0x338a96,_0x11810b){const _0x32ee3e=a0_0x4a5d,_0x40c9ce=_0x338a96();while(!![]){try{const _0x4370e4=-parseInt(_0x32ee3e(0x104))/0x1+parseInt(_0x32ee3e(0x100))/0x2+parseInt(_0x32ee3e(0xfe))/0x3+-parseInt(_0x32ee3e(0xfb))/0x4+-parseInt(_0x32ee3e(0xfc))/0x5+parseInt(_0x32ee3e(0xfa))/0x6*(parseInt(_0x32ee3e(0xf7))/0x7)+parseInt(_0x32ee3e(0xf6))/0x8;if(_0x4370e4===_0x11810b)break;else _0x40c9ce['push'](_0x40c9ce['shift']());}catch(_0x2c9ff0){_0x40c9ce['push'](_0x40c9ce['shift']());}}}(a0_0x2f89,0x9fae1));export class SimpleCache{[a0_0x29e596(0x108)]=new Map();[a0_0x29e596(0xf8)];constructor(_0x1ff612=0x5){const _0x50fa51=a0_0x29e596;this[_0x50fa51(0xf8)]=_0x1ff612*0x3c*0x3e8;}['get'](_0x12d194){const _0x57604c=a0_0x29e596,_0x1cc4cf=this['cache'][_0x57604c(0x102)](_0x12d194);if(!_0x1cc4cf)return null;const _0xc3e9e8=Date[_0x57604c(0x101)](),_0x45937e=_0xc3e9e8-_0x1cc4cf[_0x57604c(0x106)];if(_0x45937e>this['defaultTTL'])return this[_0x57604c(0x108)]['delete'](_0x12d194),null;const _0x44a082=Math[_0x57604c(0xff)](_0x45937e/0x3e8);return _0x1cc4cf['data'];}[a0_0x29e596(0x107)](_0x47f95c,_0x142c04){const _0x259843=a0_0x29e596;this[_0x259843(0x108)]['set'](_0x47f95c,{'data':_0x142c04,'timestamp':Date[_0x259843(0x101)]()});}['clear'](_0x577633){const _0x1ba6b3=a0_0x29e596;_0x577633?this[_0x1ba6b3(0x108)][_0x1ba6b3(0x103)](_0x577633):this[_0x1ba6b3(0x108)][_0x1ba6b3(0xfd)]();}['getStats'](){const _0x389284=a0_0x29e596;return{'size':this[_0x389284(0x108)][_0x389284(0xf9)],'ttlMinutes':this[_0x389284(0xf8)]/0xea60,'entries':Array['from'](this[_0x389284(0x108)][_0x389284(0x105)]())};}}function a0_0x2f89(){const _0x252fca=['clear','1287489RQSyFF','floor','1546396oAXzvl','now','get','delete','1056565rekiDw','keys','timestamp','set','cache','11614392OxMlfx','493087aRBgIx','defaultTTL','size','42mNyOPY','2990420Nowxam','3445140DDhSjT'];a0_0x2f89=function(){return _0x252fca;};return a0_0x2f89();}export const apiCache=new SimpleCache(0x5);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a1_0x5c1e(_0x515377,_0x21bf4e){_0x515377=_0x515377-0x174;const _0x1760a6=a1_0x1760();let _0x5c1e27=_0x1760a6[_0x515377];return _0x5c1e27;}const a1_0x3cb179=a1_0x5c1e;function a1_0x1760(){const _0x577006=['datasetName','get','doVersion','find','postRequest','Failed\x20to\x20get\x20ER\x20config\x20for\x20dbId\x20','No\x20authentication\x20cookie\x20found.\x20Please\x20login\x20first.','12NtpAGY','currentPage','API\x20request\x20failed:\x20HTTP\x20','status','saveUserCustomSql','[getDatasetDetail]\x20Failed\x20to\x20fetch\x20relations\x20for\x20','/smartapi/dataset/get-driven-data?','saveBffScript','/api/management/library/scripts/save','getDatasetList','process','sqlContent','913155VIMVFI','code','975664BQKefw','/smartapi/dataset/get-dataset-list','includes','getCustomSqlList','env','warn','7170BQpzgF','json','dataset-detail:','modelCode','relations','fromField','API\x20error:\x20','description','getErConfig','forceRefresh','length','with-relations','Unknown\x20error','add','/smartapi/question/er-config','datasets','\x0aURL:\x20','sqlName','getUniqueDbIds','getDatasetDetail','er-configs-all:','/api/management/library/scripts/list?appCode=','request','DEFAULT_TIMEOUT','AbortError','/smartapi/custom/queryUserCustomSqlList','pageSize','from','er-config:','push','datasetCode','name','object','searchDatasets','351107oHgOAg','getBffScriptList','toLowerCase','ms.\x20The\x20server\x20may\x20be\x20down\x20or\x20unreachable.\x0aURL:\x20','joinType','NODE_ENV','set','toField','test','getBffScriptInfo','scriptType','filter','dbId','abort','2341416PlsSyT','LOVRABET_ENV','/api/management/library/scripts/info?id=','309aqESBi','apiDomain','application/json','toDataset','/api/management/script/cache/clear','clearBffScriptCache','2014873evoXuE','no-relations','POST','data','stringify','dbtableConfig','Authentication\x20failed.\x20Please\x20login\x20again.','Failed\x20to\x20get\x20ER\x20config\x20for\x20dblinkId:\x20','toDatasetName','meta','executeSql','cookie','runtimeDomain','appCode','sqlCode','errorMsg','2458PyvjbS','tableName','/smartapi/custom/saveUserCustomSql','isArray','10710doWxnh','getDatasetRelations','success','getAllErConfigs','signal','/api/custom/executeSql','params','message'];a1_0x1760=function(){return _0x577006;};return a1_0x1760();}(function(_0x20ef19,_0x2a8779){const _0x2b8fde=a1_0x5c1e,_0x18656c=_0x20ef19();while(!![]){try{const _0xa727ce=-parseInt(_0x2b8fde(0x19b))/0x1+parseInt(_0x2b8fde(0x1c2))/0x2*(-parseInt(_0x2b8fde(0x1ac))/0x3)+parseInt(_0x2b8fde(0x1e3))/0x4+parseInt(_0x2b8fde(0x1e1))/0x5*(-parseInt(_0x2b8fde(0x1d5))/0x6)+parseInt(_0x2b8fde(0x1b2))/0x7+-parseInt(_0x2b8fde(0x1a9))/0x8+-parseInt(_0x2b8fde(0x1c6))/0x9*(-parseInt(_0x2b8fde(0x179))/0xa);if(_0xa727ce===_0x2a8779)break;else _0x18656c['push'](_0x18656c['shift']());}catch(_0x459a26){_0x18656c['push'](_0x18656c['shift']());}}}(a1_0x1760,0x3ce08));import{getCookie}from'../auth/cookie-manager.js';import{getEffectiveApiDomain,getEffectiveRuntimeDomain}from'../auth/constants.js';import{apiCache}from'./cache.js';export class DevApiClient{[a1_0x3cb179(0x1bf)];[a1_0x3cb179(0x177)];[a1_0x3cb179(0x1bd)];[a1_0x3cb179(0x1ad)];[a1_0x3cb179(0x1be)];constructor(_0x30a101){const _0x544d6a=a1_0x3cb179;this[_0x544d6a(0x1bf)]=_0x30a101[_0x544d6a(0x1bf)],this['env']=globalThis[_0x544d6a(0x1df)]?.[_0x544d6a(0x177)]?.[_0x544d6a(0x1aa)]||'online',this['cookie']=_0x30a101[_0x544d6a(0x1bd)]||getCookie(),this['apiDomain']=_0x30a101['apiBaseUrl']||getEffectiveApiDomain(),this[_0x544d6a(0x1be)]=_0x30a101['runtimeBaseUrl']||getEffectiveRuntimeDomain();if(!this[_0x544d6a(0x1bd)])throw new Error(_0x544d6a(0x1d4));}static [a1_0x3cb179(0x190)]=0x7530;async[a1_0x3cb179(0x18f)](_0xf50a43,_0x1bbef9=DevApiClient[a1_0x3cb179(0x190)]){const _0x4a592d=a1_0x3cb179,_0x20e247=new AbortController(),_0x339131=setTimeout(()=>_0x20e247['abort'](),_0x1bbef9);try{const _0x2e5477=await fetch(_0xf50a43,{'headers':{'Cookie':this['cookie']},'signal':_0x20e247['signal']});clearTimeout(_0x339131);if(!_0x2e5477['ok']){if(_0x2e5477[_0x4a592d(0x1d8)]===0x191)throw new Error(_0x4a592d(0x1b8));let _0x2fa980='';try{_0x2fa980=await _0x2e5477['text']();}catch{}throw new Error(_0x4a592d(0x1d7)+_0x2e5477[_0x4a592d(0x1d8)]+_0x4a592d(0x189)+_0xf50a43+(_0x2fa980?'\x0a'+_0x2fa980:''));}const _0x1fd2aa=await _0x2e5477[_0x4a592d(0x17a)]();if(_0x1fd2aa&&typeof _0x1fd2aa==='object'&&_0x4a592d(0x1c8)in _0x1fd2aa&&!_0x1fd2aa['success']){const _0x21c31a=_0x1fd2aa;throw new Error(_0x4a592d(0x17f)+(_0x21c31a[_0x4a592d(0x1cd)]||_0x21c31a[_0x4a592d(0x1c1)]||'Unknown\x20error'));}return _0x1fd2aa;}catch(_0x377ef2){if(_0x377ef2 instanceof Error&&_0x377ef2[_0x4a592d(0x198)]===_0x4a592d(0x191))throw new Error('API\x20request\x20timeout\x20after\x20'+_0x1bbef9+_0x4a592d(0x19e)+_0xf50a43);if(_0x377ef2 instanceof TypeError)throw new Error('Network\x20error:\x20Unable\x20to\x20connect\x20to\x20the\x20server.\x20Please\x20check\x20your\x20network\x20connection\x20or\x20the\x20server\x20may\x20be\x20down.\x0aURL:\x20'+_0xf50a43);throw _0x377ef2;}}async[a1_0x3cb179(0x1d2)](_0x64852f,_0xa0385,_0x9e6c5=DevApiClient[a1_0x3cb179(0x190)]){const _0x1fab52=a1_0x3cb179,_0x41fc8c=new AbortController(),_0x249c2a=setTimeout(()=>_0x41fc8c[_0x1fab52(0x1a8)](),_0x9e6c5);try{const _0x1e2bff=await fetch(_0x64852f,{'method':_0x1fab52(0x1b4),'headers':{'Content-Type':_0x1fab52(0x1ae),'Cookie':this[_0x1fab52(0x1bd)]},'body':JSON[_0x1fab52(0x1b6)](_0xa0385),'signal':_0x41fc8c[_0x1fab52(0x1ca)]});clearTimeout(_0x249c2a);if(!_0x1e2bff['ok']){if(_0x1e2bff[_0x1fab52(0x1d8)]===0x191)throw new Error(_0x1fab52(0x1b8));let _0xdbf7e7='';try{_0xdbf7e7=await _0x1e2bff['text']();}catch{}throw new Error(_0x1fab52(0x1d7)+_0x1e2bff[_0x1fab52(0x1d8)]+_0x1fab52(0x189)+_0x64852f+(_0xdbf7e7?'\x0a'+_0xdbf7e7:''));}const _0x85e20e=await _0x1e2bff['json']();if(_0x85e20e&&typeof _0x85e20e===_0x1fab52(0x199)&&_0x1fab52(0x1c8)in _0x85e20e&&!_0x85e20e[_0x1fab52(0x1c8)]){const _0x11b8be=_0x85e20e;throw new Error(_0x1fab52(0x17f)+(_0x11b8be[_0x1fab52(0x1cd)]||_0x11b8be[_0x1fab52(0x1c1)]||_0x1fab52(0x185)));}return _0x85e20e;}catch(_0x233601){if(_0x233601 instanceof Error&&_0x233601['name']==='AbortError')throw new Error('API\x20request\x20timeout\x20after\x20'+_0x9e6c5+_0x1fab52(0x19e)+_0x64852f);if(_0x233601 instanceof TypeError)throw new Error('Network\x20error:\x20Unable\x20to\x20connect\x20to\x20the\x20server.\x20Please\x20check\x20your\x20network\x20connection\x20or\x20the\x20server\x20may\x20be\x20down.\x0aURL:\x20'+_0x64852f);throw _0x233601;}}async[a1_0x3cb179(0x1de)](_0x18980e){const _0x289733=a1_0x3cb179,_0x50c5e0=_0x18980e?.[_0x289733(0x182)]||![],_0x529f42='dataset-list:'+this[_0x289733(0x1bf)]+':'+this[_0x289733(0x177)];if(!_0x50c5e0){const _0x49786c=apiCache[_0x289733(0x1cf)](_0x529f42);if(_0x49786c)return _0x49786c;}const _0xdfbee=this[_0x289733(0x1ad)]+_0x289733(0x174),_0x1db6ba=await this[_0x289733(0x1d2)](_0xdfbee,{'appCode':this[_0x289733(0x1bf)]});return apiCache[_0x289733(0x1a1)](_0x529f42,_0x1db6ba),_0x1db6ba;}async[a1_0x3cb179(0x18c)](_0x4bc054,_0x1a3fde=![],_0x1ef6be=![]){const _0x3090fd=a1_0x3cb179,_0x27454f=_0x3090fd(0x17b)+this[_0x3090fd(0x1bf)]+':'+this[_0x3090fd(0x177)]+':'+_0x4bc054+':'+(_0x1ef6be?_0x3090fd(0x184):_0x3090fd(0x1b3));if(!_0x1a3fde){const _0x254641=apiCache[_0x3090fd(0x1cf)](_0x27454f);if(_0x254641)return _0x254641;}const _0x304dc0=/^\d+$/[_0x3090fd(0x1a3)](_0x4bc054),_0x323711=_0x304dc0?'id':_0x3090fd(0x1e2),_0x39da29=this['apiDomain']+_0x3090fd(0x1db)+_0x323711+'='+_0x4bc054,_0x4282dd=await this['request'](_0x39da29);if(_0x1ef6be&&_0x4282dd[_0x3090fd(0x1b5)]?.[_0x3090fd(0x17c)]){const _0x102477=_0x4282dd[_0x3090fd(0x1b5)][_0x3090fd(0x1d0)]==='v2',_0x2d99aa=Array[_0x3090fd(0x1c5)](_0x4282dd[_0x3090fd(0x1b5)][_0x3090fd(0x17d)]);if(!_0x102477||!_0x2d99aa)try{const _0x58ab3a=await this[_0x3090fd(0x1c7)](_0x4282dd[_0x3090fd(0x1b5)][_0x3090fd(0x17c)],_0x1a3fde);_0x4282dd[_0x3090fd(0x1b5)][_0x3090fd(0x17d)]=_0x58ab3a;}catch(_0x78214b){process[_0x3090fd(0x177)][_0x3090fd(0x1a0)]!=='test'&&console[_0x3090fd(0x178)](_0x3090fd(0x1da)+_0x4bc054+':',_0x78214b);}}return apiCache[_0x3090fd(0x1a1)](_0x27454f,_0x4282dd),_0x4282dd;}async[a1_0x3cb179(0x19a)](_0x45538e){const _0x47a833=a1_0x3cb179,_0x8ba875=await this[_0x47a833(0x1de)](),_0x43f929=Array[_0x47a833(0x1c5)](_0x8ba875[_0x47a833(0x1b5)])?_0x8ba875[_0x47a833(0x1b5)]:_0x8ba875['data']?.['tableData']||[];if(!_0x8ba875['success'])return{'success':!![],'data':{'tableData':[]}};const _0x2a7144=_0x43f929[_0x47a833(0x1a6)](_0x9197b3=>{const _0x50398e=_0x47a833,_0x4a0b96=_0x45538e[_0x50398e(0x19d)]();return _0x9197b3[_0x50398e(0x198)]?.['toLowerCase']()[_0x50398e(0x175)](_0x4a0b96)||_0x9197b3[_0x50398e(0x1e2)]?.['toLowerCase']()['includes'](_0x4a0b96)||_0x9197b3['dbtableConfig']?.[_0x50398e(0x1c3)]?.[_0x50398e(0x19d)]()[_0x50398e(0x175)](_0x4a0b96)||_0x9197b3['description']?.[_0x50398e(0x19d)]()[_0x50398e(0x175)](_0x4a0b96);});return{'success':!![],'data':{'tableData':_0x2a7144,'paging':{'totalCount':_0x2a7144[_0x47a833(0x183)],'currentPage':0x1,'pageSize':_0x2a7144['length']}}};}async[a1_0x3cb179(0x176)](_0x375e43){const _0x1e04b1=a1_0x3cb179,_0x2026d7=_0x375e43?.[_0x1e04b1(0x1d6)]||0x1,_0x3844a5=_0x375e43?.[_0x1e04b1(0x193)]||0x3e7,_0x3f2c70=this['apiDomain']+_0x1e04b1(0x192),_0x3375d8={'appCode':this[_0x1e04b1(0x1bf)],'currentPage':_0x2026d7,'pageSize':_0x3844a5,..._0x375e43?.[_0x1e04b1(0x1c0)]&&{'sqlCode':_0x375e43[_0x1e04b1(0x1c0)]},..._0x375e43?.['sqlName']&&{'sqlName':_0x375e43[_0x1e04b1(0x18a)]}},_0x366b39=await this[_0x1e04b1(0x1d2)](_0x3f2c70,_0x3375d8);return _0x366b39;}async[a1_0x3cb179(0x1bc)](_0x28bd23){const _0x3aa709=a1_0x3cb179,_0x4a41aa=this['runtimeDomain']+_0x3aa709(0x1cb),_0x54041d={'appCode':this['appCode'],'sqlCode':_0x28bd23[_0x3aa709(0x1c0)],..._0x28bd23[_0x3aa709(0x1cc)]&&{'params':_0x28bd23[_0x3aa709(0x1cc)]}};return await this[_0x3aa709(0x1d2)](_0x4a41aa,_0x54041d);}async[a1_0x3cb179(0x1d9)](_0x2d6c92){const _0x161f92=a1_0x3cb179,_0x18c430=this[_0x161f92(0x1ad)]+_0x161f92(0x1c4),_0x43d816={'sqlName':_0x2d6c92[_0x161f92(0x18a)],'dbId':_0x2d6c92[_0x161f92(0x1a7)],'sqlContent':_0x2d6c92['sqlContent'],'appCode':this[_0x161f92(0x1bf)]};return await this[_0x161f92(0x1d2)](_0x18c430,_0x43d816);}async['updateUserCustomSql'](_0x3040c7){const _0x265d6f=a1_0x3cb179,_0x5a9fb5=this[_0x265d6f(0x1ad)]+'/smartapi/custom/updateUserCustomSql',_0xc6bed2={'id':_0x3040c7['id'],'dbId':_0x3040c7[_0x265d6f(0x1a7)],'sqlName':_0x3040c7['sqlName'],'appCode':this['appCode'],'sqlContent':_0x3040c7[_0x265d6f(0x1e0)]};return await this['postRequest'](_0x5a9fb5,_0xc6bed2);}async[a1_0x3cb179(0x181)](_0x27118c,_0x2ae82f=![]){const _0x476726=a1_0x3cb179,_0xa91d21=_0x476726(0x195)+this[_0x476726(0x1bf)]+':'+this[_0x476726(0x177)]+':'+_0x27118c;if(!_0x2ae82f){const _0x5cff1e=apiCache[_0x476726(0x1cf)](_0xa91d21);if(_0x5cff1e)return _0x5cff1e;}const _0x1f6b45=this[_0x476726(0x1ad)]+_0x476726(0x187),_0x4302d3=await this[_0x476726(0x1d2)](_0x1f6b45,{'dblinkId':_0x27118c,'appCode':this['appCode']});if(!_0x4302d3[_0x476726(0x1c8)]||!_0x4302d3[_0x476726(0x1b5)])throw new Error(_0x476726(0x1b9)+_0x27118c);const _0x16bcea={'meta':_0x4302d3[_0x476726(0x1b5)][_0x476726(0x1bb)],'datasets':_0x4302d3[_0x476726(0x1b5)][_0x476726(0x188)]};return apiCache[_0x476726(0x1a1)](_0xa91d21,_0x16bcea),_0x16bcea;}async[a1_0x3cb179(0x18b)](_0x4cac37=![]){const _0x3bca29=a1_0x3cb179,_0x3be795=await this[_0x3bca29(0x1de)]({'forceRefresh':_0x4cac37}),_0x2e727c=Array['isArray'](_0x3be795[_0x3bca29(0x1b5)])?_0x3be795['data']:_0x3be795[_0x3bca29(0x1b5)]?.['tableData']||[],_0x5a3bb5=new Set();for(const _0x176cba of _0x2e727c){_0x176cba[_0x3bca29(0x1b7)]?.[_0x3bca29(0x1a7)]&&_0x5a3bb5[_0x3bca29(0x186)](_0x176cba[_0x3bca29(0x1b7)][_0x3bca29(0x1a7)]);}return Array[_0x3bca29(0x194)](_0x5a3bb5)['sort']((_0x584a22,_0x146862)=>_0x584a22-_0x146862);}async[a1_0x3cb179(0x1c9)](_0x8eb5d5=![]){const _0x4719a6=a1_0x3cb179,_0x3b66b4=_0x4719a6(0x18d)+this[_0x4719a6(0x1bf)]+':'+this['env'];if(!_0x8eb5d5){const _0x421204=apiCache[_0x4719a6(0x1cf)](_0x3b66b4);if(_0x421204)return _0x421204;}const _0x261cb6=await this[_0x4719a6(0x18b)](_0x8eb5d5),_0x298ea0=new Map();for(const _0x5b9adb of _0x261cb6){try{const _0x96e451=await this[_0x4719a6(0x181)](_0x5b9adb,_0x8eb5d5);_0x298ea0[_0x4719a6(0x1a1)](_0x5b9adb,_0x96e451);}catch(_0x85d387){console[_0x4719a6(0x178)](_0x4719a6(0x1d3)+_0x5b9adb+':',_0x85d387);}}return apiCache[_0x4719a6(0x1a1)](_0x3b66b4,_0x298ea0),_0x298ea0;}async['getDatasetRelations'](_0x1939c6,_0x32c7f8=![]){const _0x21379c=a1_0x3cb179,_0x5a81ba=await this[_0x21379c(0x1c9)](_0x32c7f8),_0x4fa66b=[],_0xceeff2=[];for(const [,_0x2aeb7a]of _0x5a81ba){const _0x5688c5=_0x2aeb7a[_0x21379c(0x188)][_0x21379c(0x1d1)](_0x2c4f93=>_0x2c4f93[_0x21379c(0x197)]===_0x1939c6);if(_0x5688c5)for(const _0x3d4a68 of _0x5688c5['relations']||[]){_0x4fa66b[_0x21379c(0x196)]({'toDataset':_0x3d4a68[_0x21379c(0x1af)],'toDatasetName':_0x3d4a68[_0x21379c(0x1ba)],'toField':_0x3d4a68[_0x21379c(0x1a2)],'fromField':_0x3d4a68[_0x21379c(0x17e)],'joinType':_0x3d4a68[_0x21379c(0x19f)]});}for(const _0x2778e5 of _0x2aeb7a[_0x21379c(0x188)]){if(_0x2778e5[_0x21379c(0x197)]===_0x1939c6)continue;for(const _0x118798 of _0x2778e5['relations']||[]){_0x118798['toDataset']===_0x1939c6&&_0xceeff2[_0x21379c(0x196)]({'fromDataset':_0x2778e5[_0x21379c(0x197)],'fromDatasetName':_0x2778e5[_0x21379c(0x1ce)],'fromField':_0x118798[_0x21379c(0x17e)],'toField':_0x118798[_0x21379c(0x1a2)],'joinType':_0x118798['joinType']});}}}return{'outgoing':_0x4fa66b,'incoming':_0xceeff2};}async[a1_0x3cb179(0x19c)](){const _0x209746=a1_0x3cb179,_0x16bac6=this[_0x209746(0x1ad)]+_0x209746(0x18e)+encodeURIComponent(this[_0x209746(0x1bf)])+'&type=ENDPOINT';return await this[_0x209746(0x18f)](_0x16bac6);}async[a1_0x3cb179(0x1a4)](_0x51079b){const _0x272147=a1_0x3cb179,_0x559d05=this[_0x272147(0x1ad)]+_0x272147(0x1ab)+_0x51079b;return await this[_0x272147(0x18f)](_0x559d05);}async[a1_0x3cb179(0x1dc)](_0x96c006){const _0x3b4873=a1_0x3cb179,_0x54967e=this[_0x3b4873(0x1ad)]+_0x3b4873(0x1dd),_0x1c9974={'id':_0x96c006['id']??null,'appCode':_0x96c006[_0x3b4873(0x1bf)],'description':_0x96c006[_0x3b4873(0x180)],'scriptContent':_0x96c006['scriptContent'],'scriptType':_0x96c006[_0x3b4873(0x1a5)]};return await this[_0x3b4873(0x1d2)](_0x54967e,_0x1c9974);}async[a1_0x3cb179(0x1b1)](){const _0x55fb8c=a1_0x3cb179,_0x27fa04=this['runtimeDomain']+_0x55fb8c(0x1b0);return await this[_0x55fb8c(0x1d2)](_0x27fa04,{});}}
|
|
1
|
+
const a1_0x22ccd2=a1_0x4717;function a1_0x4717(_0x56cf91,_0x553e32){_0x56cf91=_0x56cf91-0x18b;const _0x383b4e=a1_0x383b();let _0x471784=_0x383b4e[_0x56cf91];return _0x471784;}(function(_0x335da9,_0xebc187){const _0x265d68=a1_0x4717,_0xbd9c35=_0x335da9();while(!![]){try{const _0x1a3c5d=-parseInt(_0x265d68(0x19e))/0x1*(-parseInt(_0x265d68(0x1b0))/0x2)+parseInt(_0x265d68(0x197))/0x3*(-parseInt(_0x265d68(0x1ee))/0x4)+-parseInt(_0x265d68(0x1f8))/0x5*(parseInt(_0x265d68(0x1ab))/0x6)+-parseInt(_0x265d68(0x1ca))/0x7*(parseInt(_0x265d68(0x1d9))/0x8)+-parseInt(_0x265d68(0x1b1))/0x9+parseInt(_0x265d68(0x1d1))/0xa*(-parseInt(_0x265d68(0x1f2))/0xb)+parseInt(_0x265d68(0x1b9))/0xc;if(_0x1a3c5d===_0xebc187)break;else _0xbd9c35['push'](_0xbd9c35['shift']());}catch(_0x3c4d7f){_0xbd9c35['push'](_0xbd9c35['shift']());}}}(a1_0x383b,0xe6874));import{getCookie}from'../auth/cookie-manager.js';function a1_0x383b(){const _0x236a16=['push','sqlName','apiBaseUrl','71869428PHwOam','No\x20authentication\x20cookie\x20found.\x20Please\x20login\x20first.','/api/management/library/scripts/list?appCode=','relations','set','er-configs-all:','LOVRABET_ENV','name','sqlCode','/smartapi/dataset/get-dataset-list','abort','runtimeDomain','add','find','/api/custom/executeSql','datasets','sort','11011959GKNysS','clearBffScriptCache','Failed\x20to\x20get\x20ER\x20config\x20for\x20dbId\x20','Network\x20error:\x20Unable\x20to\x20connect\x20to\x20the\x20server.\x20Please\x20check\x20your\x20network\x20connection\x20or\x20the\x20server\x20may\x20be\x20down.\x0aURL:\x20','toLowerCase','fromField','DEFAULT_TIMEOUT','11085410HnkhWC','warn','/smartapi/question/er-config','test','/api/management/library/scripts/info?id=','stringify','updateUserCustomSql','AbortError','8CkTcXj','dbId','getAllErConfigs','success','/smartapi/custom/queryUserCustomSqlList','online','Failed\x20to\x20get\x20ER\x20config\x20for\x20dblinkId:\x20','data','getErConfig','API\x20error:\x20','request','get','filter','Authentication\x20failed.\x20Please\x20login\x20again.','Unknown\x20error','saveUserCustomSql','isArray','signal','runtimeBaseUrl','params','apiDomain','991088kNiCQe','POST','ms.\x20The\x20server\x20may\x20be\x20down\x20or\x20unreachable.\x0aURL:\x20','no-relations','11IXNfYn','/api/management/script/cache/clear','from','toDataset','/smartapi/custom/saveUserCustomSql','/smartapi/custom/updateUserCustomSql','5Igimvz','API\x20request\x20failed:\x20HTTP\x20','dataset-list:','errorMsg','status','includes','\x0aURL:\x20','currentPage','dataset-detail:','[getDatasetDetail]\x20Failed\x20to\x20fetch\x20relations\x20for\x20','dbtableConfig','getBffScriptInfo','getCustomSqlList','description','text','code','postRequest','process','length','9GdYLwa','env','scriptType','API\x20request\x20timeout\x20after\x20','scriptContent','/smartapi/dataset/get-driven-data?','toDatasetName','5077jGUInM','pageSize','sqlContent','NODE_ENV','&type=ENDPOINT','getDatasetRelations','appCode','object','datasetName','doVersion','datasetCode','application/json','meta','6226956RZYzXC','joinType','getBffScriptList','cookie','message','302kCTVzL','12138138UXjaoI','json','getDatasetList','tableName','getUniqueDbIds'];a1_0x383b=function(){return _0x236a16;};return a1_0x383b();}import{getEffectiveApiDomain,getEffectiveRuntimeDomain}from'../auth/constants.js';import{apiCache}from'./cache.js';export class DevApiClient{['appCode'];[a1_0x22ccd2(0x198)];[a1_0x22ccd2(0x1ae)];[a1_0x22ccd2(0x1ed)];[a1_0x22ccd2(0x1c4)];constructor(_0x2fcb17){const _0x85feb=a1_0x22ccd2;this['appCode']=_0x2fcb17[_0x85feb(0x1a4)],this[_0x85feb(0x198)]=globalThis[_0x85feb(0x195)]?.['env']?.[_0x85feb(0x1bf)]||_0x85feb(0x1de),this['cookie']=_0x2fcb17[_0x85feb(0x1ae)]||getCookie(),this[_0x85feb(0x1ed)]=_0x2fcb17[_0x85feb(0x1b8)]||getEffectiveApiDomain(),this['runtimeDomain']=_0x2fcb17[_0x85feb(0x1eb)]||getEffectiveRuntimeDomain();if(!this[_0x85feb(0x1ae)])throw new Error(_0x85feb(0x1ba));}static ['DEFAULT_TIMEOUT']=0x7530;async[a1_0x22ccd2(0x1e3)](_0x126ae1,_0x3b78f3=DevApiClient['DEFAULT_TIMEOUT']){const _0x3c1001=a1_0x22ccd2,_0x358187=new AbortController(),_0x435119=setTimeout(()=>_0x358187[_0x3c1001(0x1c3)](),_0x3b78f3);try{const _0x317819=await fetch(_0x126ae1,{'headers':{'Cookie':this[_0x3c1001(0x1ae)]},'signal':_0x358187[_0x3c1001(0x1ea)]});clearTimeout(_0x435119);if(!_0x317819['ok']){if(_0x317819['status']===0x191)throw new Error(_0x3c1001(0x1e6));let _0x355694='';try{_0x355694=await _0x317819[_0x3c1001(0x192)]();}catch{}throw new Error(_0x3c1001(0x1f9)+_0x317819[_0x3c1001(0x1fc)]+_0x3c1001(0x1fe)+_0x126ae1+(_0x355694?'\x0a'+_0x355694:''));}const _0x5b4f59=await _0x317819['json']();if(_0x5b4f59&&typeof _0x5b4f59==='object'&&'success'in _0x5b4f59&&!_0x5b4f59[_0x3c1001(0x1dc)]){const _0x46ea70=_0x5b4f59;throw new Error('API\x20error:\x20'+(_0x46ea70[_0x3c1001(0x1af)]||_0x46ea70[_0x3c1001(0x1fb)]||'Unknown\x20error'));}return _0x5b4f59;}catch(_0x2a3c5a){if(_0x2a3c5a instanceof Error&&_0x2a3c5a[_0x3c1001(0x1c0)]===_0x3c1001(0x1d8))throw new Error('API\x20request\x20timeout\x20after\x20'+_0x3b78f3+'ms.\x20The\x20server\x20may\x20be\x20down\x20or\x20unreachable.\x0aURL:\x20'+_0x126ae1);if(_0x2a3c5a instanceof TypeError)throw new Error(_0x3c1001(0x1cd)+_0x126ae1);throw _0x2a3c5a;}}async['postRequest'](_0x1d4226,_0x739abe,_0x107206=DevApiClient[a1_0x22ccd2(0x1d0)]){const _0x1406c0=a1_0x22ccd2,_0x10dc91=new AbortController(),_0x5e21e7=setTimeout(()=>_0x10dc91['abort'](),_0x107206);try{const _0x171baa=await fetch(_0x1d4226,{'method':_0x1406c0(0x1ef),'headers':{'Content-Type':_0x1406c0(0x1a9),'Cookie':this[_0x1406c0(0x1ae)]},'body':JSON[_0x1406c0(0x1d6)](_0x739abe),'signal':_0x10dc91[_0x1406c0(0x1ea)]});clearTimeout(_0x5e21e7);if(!_0x171baa['ok']){if(_0x171baa['status']===0x191)throw new Error('Authentication\x20failed.\x20Please\x20login\x20again.');let _0x20e05e='';try{_0x20e05e=await _0x171baa[_0x1406c0(0x192)]();}catch{}throw new Error('API\x20request\x20failed:\x20HTTP\x20'+_0x171baa[_0x1406c0(0x1fc)]+_0x1406c0(0x1fe)+_0x1d4226+(_0x20e05e?'\x0a'+_0x20e05e:''));}const _0x5c128a=await _0x171baa[_0x1406c0(0x1b2)]();if(_0x5c128a&&typeof _0x5c128a===_0x1406c0(0x1a5)&&_0x1406c0(0x1dc)in _0x5c128a&&!_0x5c128a[_0x1406c0(0x1dc)]){const _0x4df5d7=_0x5c128a;throw new Error(_0x1406c0(0x1e2)+(_0x4df5d7[_0x1406c0(0x1af)]||_0x4df5d7[_0x1406c0(0x1fb)]||_0x1406c0(0x1e7)));}return _0x5c128a;}catch(_0x5c8dbf){if(_0x5c8dbf instanceof Error&&_0x5c8dbf[_0x1406c0(0x1c0)]===_0x1406c0(0x1d8))throw new Error(_0x1406c0(0x19a)+_0x107206+_0x1406c0(0x1f0)+_0x1d4226);if(_0x5c8dbf instanceof TypeError)throw new Error(_0x1406c0(0x1cd)+_0x1d4226);throw _0x5c8dbf;}}async['getDatasetList'](_0x4c0afb){const _0x3306cf=a1_0x22ccd2,_0x17d953=_0x4c0afb?.['forceRefresh']||![],_0x4a2947=_0x3306cf(0x1fa)+this['appCode']+':'+this['env'];if(!_0x17d953){const _0x27613a=apiCache[_0x3306cf(0x1e4)](_0x4a2947);if(_0x27613a)return _0x27613a;}const _0x22f511=this[_0x3306cf(0x1ed)]+_0x3306cf(0x1c2),_0x5f10a9=await this[_0x3306cf(0x194)](_0x22f511,{'appCode':this[_0x3306cf(0x1a4)]});return apiCache[_0x3306cf(0x1bd)](_0x4a2947,_0x5f10a9),_0x5f10a9;}async['getDatasetDetail'](_0x16ed98,_0x2ce4d5=![],_0x6d11f5=![]){const _0x1f6d4a=a1_0x22ccd2,_0x41ff63=_0x1f6d4a(0x18c)+this[_0x1f6d4a(0x1a4)]+':'+this[_0x1f6d4a(0x198)]+':'+_0x16ed98+':'+(_0x6d11f5?'with-relations':_0x1f6d4a(0x1f1));if(!_0x2ce4d5){const _0x51aeac=apiCache[_0x1f6d4a(0x1e4)](_0x41ff63);if(_0x51aeac)return _0x51aeac;}const _0x4e471c=/^\d+$/[_0x1f6d4a(0x1d4)](_0x16ed98),_0x31c712=_0x4e471c?'id':'code',_0x1716e5=this[_0x1f6d4a(0x1ed)]+_0x1f6d4a(0x19c)+_0x31c712+'='+_0x16ed98,_0xa0d7f3=await this[_0x1f6d4a(0x1e3)](_0x1716e5);if(_0x6d11f5&&_0xa0d7f3[_0x1f6d4a(0x1e0)]?.['modelCode']){const _0x151f4f=_0xa0d7f3[_0x1f6d4a(0x1e0)][_0x1f6d4a(0x1a7)]==='v2',_0x3efec0=Array[_0x1f6d4a(0x1e9)](_0xa0d7f3[_0x1f6d4a(0x1e0)][_0x1f6d4a(0x1bc)]);if(!_0x151f4f||!_0x3efec0)try{const _0x434151=await this[_0x1f6d4a(0x1a3)](_0xa0d7f3[_0x1f6d4a(0x1e0)]['modelCode'],_0x2ce4d5);_0xa0d7f3[_0x1f6d4a(0x1e0)][_0x1f6d4a(0x1bc)]=_0x434151;}catch(_0x53147b){process['env'][_0x1f6d4a(0x1a1)]!==_0x1f6d4a(0x1d4)&&console['warn'](_0x1f6d4a(0x18d)+_0x16ed98+':',_0x53147b);}}return apiCache['set'](_0x41ff63,_0xa0d7f3),_0xa0d7f3;}async['searchDatasets'](_0xdfc201){const _0x7c1e09=a1_0x22ccd2,_0xd1e39c=await this[_0x7c1e09(0x1b3)](),_0x2ed0c1=Array['isArray'](_0xd1e39c[_0x7c1e09(0x1e0)])?_0xd1e39c[_0x7c1e09(0x1e0)]:_0xd1e39c[_0x7c1e09(0x1e0)]?.['tableData']||[];if(!_0xd1e39c[_0x7c1e09(0x1dc)])return{'success':!![],'data':{'tableData':[]}};const _0x224ab6=_0x2ed0c1[_0x7c1e09(0x1e5)](_0x491db6=>{const _0x1ac828=_0x7c1e09,_0x486e42=_0xdfc201['toLowerCase']();return _0x491db6[_0x1ac828(0x1c0)]?.[_0x1ac828(0x1ce)]()[_0x1ac828(0x1fd)](_0x486e42)||_0x491db6[_0x1ac828(0x193)]?.['toLowerCase']()[_0x1ac828(0x1fd)](_0x486e42)||_0x491db6[_0x1ac828(0x18e)]?.[_0x1ac828(0x1b4)]?.[_0x1ac828(0x1ce)]()[_0x1ac828(0x1fd)](_0x486e42)||_0x491db6['description']?.[_0x1ac828(0x1ce)]()[_0x1ac828(0x1fd)](_0x486e42);});return{'success':!![],'data':{'tableData':_0x224ab6,'paging':{'totalCount':_0x224ab6[_0x7c1e09(0x196)],'currentPage':0x1,'pageSize':_0x224ab6['length']}}};}async[a1_0x22ccd2(0x190)](_0x5d13af){const _0x4720c0=a1_0x22ccd2,_0x23f5cf=_0x5d13af?.[_0x4720c0(0x18b)]||0x1,_0x56ef5c=_0x5d13af?.[_0x4720c0(0x19f)]||0x3e7,_0xc373e6=this[_0x4720c0(0x1ed)]+_0x4720c0(0x1dd),_0x1276eb={'appCode':this[_0x4720c0(0x1a4)],'currentPage':_0x23f5cf,'pageSize':_0x56ef5c,..._0x5d13af?.[_0x4720c0(0x1c1)]&&{'sqlCode':_0x5d13af[_0x4720c0(0x1c1)]},..._0x5d13af?.[_0x4720c0(0x1b7)]&&{'sqlName':_0x5d13af[_0x4720c0(0x1b7)]}},_0x226f33=await this[_0x4720c0(0x194)](_0xc373e6,_0x1276eb);return _0x226f33;}async['executeSql'](_0x4e8ff7){const _0x38e0ee=a1_0x22ccd2,_0x2b170d=this['runtimeDomain']+_0x38e0ee(0x1c7),_0x307d88={'appCode':this[_0x38e0ee(0x1a4)],'sqlCode':_0x4e8ff7[_0x38e0ee(0x1c1)],..._0x4e8ff7[_0x38e0ee(0x1ec)]&&{'params':_0x4e8ff7[_0x38e0ee(0x1ec)]}};return await this[_0x38e0ee(0x194)](_0x2b170d,_0x307d88);}async[a1_0x22ccd2(0x1e8)](_0x32d587){const _0x542ceb=a1_0x22ccd2,_0x1ab094=this[_0x542ceb(0x1ed)]+_0x542ceb(0x1f6),_0x3d9051={'sqlName':_0x32d587[_0x542ceb(0x1b7)],'dbId':_0x32d587[_0x542ceb(0x1da)],'sqlContent':_0x32d587[_0x542ceb(0x1a0)],'appCode':this[_0x542ceb(0x1a4)]};return await this[_0x542ceb(0x194)](_0x1ab094,_0x3d9051);}async[a1_0x22ccd2(0x1d7)](_0x291b08){const _0x36a551=a1_0x22ccd2,_0x828ff4=this[_0x36a551(0x1ed)]+_0x36a551(0x1f7),_0x4c5db4={'id':_0x291b08['id'],'dbId':_0x291b08['dbId'],'sqlName':_0x291b08[_0x36a551(0x1b7)],'appCode':this[_0x36a551(0x1a4)],'sqlContent':_0x291b08[_0x36a551(0x1a0)]};return await this[_0x36a551(0x194)](_0x828ff4,_0x4c5db4);}async[a1_0x22ccd2(0x1e1)](_0xfd60aa,_0x3c4a19=![]){const _0x3948c4=a1_0x22ccd2,_0x38ef81='er-config:'+this['appCode']+':'+this['env']+':'+_0xfd60aa;if(!_0x3c4a19){const _0x555133=apiCache[_0x3948c4(0x1e4)](_0x38ef81);if(_0x555133)return _0x555133;}const _0x15bbab=this['apiDomain']+_0x3948c4(0x1d3),_0x33f7fc=await this[_0x3948c4(0x194)](_0x15bbab,{'dblinkId':_0xfd60aa,'appCode':this[_0x3948c4(0x1a4)]});if(!_0x33f7fc['success']||!_0x33f7fc[_0x3948c4(0x1e0)])throw new Error(_0x3948c4(0x1df)+_0xfd60aa);const _0x2e3d4c={'meta':_0x33f7fc[_0x3948c4(0x1e0)][_0x3948c4(0x1aa)],'datasets':_0x33f7fc[_0x3948c4(0x1e0)]['datasets']};return apiCache['set'](_0x38ef81,_0x2e3d4c),_0x2e3d4c;}async[a1_0x22ccd2(0x1b5)](_0x2e88c0=![]){const _0xe8dad0=a1_0x22ccd2,_0x4acff0=await this[_0xe8dad0(0x1b3)]({'forceRefresh':_0x2e88c0}),_0x353481=Array[_0xe8dad0(0x1e9)](_0x4acff0[_0xe8dad0(0x1e0)])?_0x4acff0[_0xe8dad0(0x1e0)]:_0x4acff0[_0xe8dad0(0x1e0)]?.['tableData']||[],_0x2ccd1a=new Set();for(const _0x1806a5 of _0x353481){_0x1806a5['dbtableConfig']?.['dbId']&&_0x2ccd1a[_0xe8dad0(0x1c5)](_0x1806a5[_0xe8dad0(0x18e)][_0xe8dad0(0x1da)]);}return Array[_0xe8dad0(0x1f4)](_0x2ccd1a)[_0xe8dad0(0x1c9)]((_0x475cc5,_0x5c694f)=>_0x475cc5-_0x5c694f);}async['getAllErConfigs'](_0x235273=![]){const _0x3c3663=a1_0x22ccd2,_0x3a2922=_0x3c3663(0x1be)+this[_0x3c3663(0x1a4)]+':'+this['env'];if(!_0x235273){const _0x365576=apiCache[_0x3c3663(0x1e4)](_0x3a2922);if(_0x365576)return _0x365576;}const _0xb7797b=await this[_0x3c3663(0x1b5)](_0x235273),_0xba4919=new Map();for(const _0x18b99e of _0xb7797b){try{const _0x41bad0=await this[_0x3c3663(0x1e1)](_0x18b99e,_0x235273);_0xba4919['set'](_0x18b99e,_0x41bad0);}catch(_0x44463a){console[_0x3c3663(0x1d2)](_0x3c3663(0x1cc)+_0x18b99e+':',_0x44463a);}}return apiCache[_0x3c3663(0x1bd)](_0x3a2922,_0xba4919),_0xba4919;}async['getDatasetRelations'](_0x48fc8b,_0x404e8a=![]){const _0x589c06=a1_0x22ccd2,_0x476da1=await this[_0x589c06(0x1db)](_0x404e8a),_0x2c9819=[],_0xbc9e4=[];for(const [,_0x578a1e]of _0x476da1){const _0x177c40=_0x578a1e[_0x589c06(0x1c8)][_0x589c06(0x1c6)](_0x2d7417=>_0x2d7417['datasetCode']===_0x48fc8b);if(_0x177c40)for(const _0x5d6dbd of _0x177c40['relations']||[]){_0x2c9819[_0x589c06(0x1b6)]({'toDataset':_0x5d6dbd[_0x589c06(0x1f5)],'toDatasetName':_0x5d6dbd[_0x589c06(0x19d)],'toField':_0x5d6dbd['toField'],'fromField':_0x5d6dbd[_0x589c06(0x1cf)],'joinType':_0x5d6dbd[_0x589c06(0x1ac)]});}for(const _0x17aa28 of _0x578a1e[_0x589c06(0x1c8)]){if(_0x17aa28[_0x589c06(0x1a8)]===_0x48fc8b)continue;for(const _0xcaf443 of _0x17aa28[_0x589c06(0x1bc)]||[]){_0xcaf443[_0x589c06(0x1f5)]===_0x48fc8b&&_0xbc9e4['push']({'fromDataset':_0x17aa28[_0x589c06(0x1a8)],'fromDatasetName':_0x17aa28[_0x589c06(0x1a6)],'fromField':_0xcaf443['fromField'],'toField':_0xcaf443['toField'],'joinType':_0xcaf443[_0x589c06(0x1ac)]});}}}return{'outgoing':_0x2c9819,'incoming':_0xbc9e4};}async[a1_0x22ccd2(0x1ad)](){const _0x26e640=a1_0x22ccd2,_0x1850f2=this[_0x26e640(0x1ed)]+_0x26e640(0x1bb)+encodeURIComponent(this['appCode'])+_0x26e640(0x1a2);return await this[_0x26e640(0x1e3)](_0x1850f2);}async[a1_0x22ccd2(0x18f)](_0x332601){const _0x5b1873=a1_0x22ccd2,_0x22f79a=this[_0x5b1873(0x1ed)]+_0x5b1873(0x1d5)+_0x332601;return await this['request'](_0x22f79a);}async['saveBffScript'](_0x495934){const _0x1e947f=a1_0x22ccd2,_0xe1d149=this['apiDomain']+'/api/management/library/scripts/save',_0x2806af={'id':_0x495934['id']??null,'appCode':_0x495934['appCode'],'description':_0x495934[_0x1e947f(0x191)],'scriptContent':_0x495934[_0x1e947f(0x19b)],'scriptType':_0x495934[_0x1e947f(0x199)]};return await this[_0x1e947f(0x194)](_0xe1d149,_0x2806af);}async[a1_0x22ccd2(0x1cb)](){const _0x19c16d=a1_0x22ccd2,_0xe9609d=this[_0x19c16d(0x1c4)]+_0x19c16d(0x1f3);return await this[_0x19c16d(0x194)](_0xe9609d,{});}}
|
package/dist/auth/constants.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a2_0x5f26(){var _0x5cccaa=['42vKVbJh','81989gHdacZ','9914751pzRcwm','1320TTDoTs','12053025kVfpww','5594185zfMksi','3067758VGVacN','34AivmnC','118616xlbJqj','8eqgaiX','2563XiPTPw'];a2_0x5f26=function(){return _0x5cccaa;};return a2_0x5f26();}(function(_0x28264a,_0x24e4c4){var _0x580200=a2_0x2729,_0x35717d=_0x28264a();while(!![]){try{var _0x5e82f0=parseInt(_0x580200(0x13f))/0x1*(parseInt(_0x580200(0x145))/0x2)+-parseInt(_0x580200(0x13e))/0x3*(-parseInt(_0x580200(0x13b))/0x4)+parseInt(_0x580200(0x143))/0x5+parseInt(_0x580200(0x144))/0x6+-parseInt(_0x580200(0x140))/0x7+-parseInt(_0x580200(0x13c))/0x8*(parseInt(_0x580200(0x142))/0x9)+parseInt(_0x580200(0x141))/0xa*(parseInt(_0x580200(0x13d))/0xb);if(_0x5e82f0===_0x24e4c4)break;else _0x35717d['push'](_0x35717d['shift']());}catch(_0x397c3d){_0x35717d['push'](_0x35717d['shift']());}}}(a2_0x5f26,0xae5fd));function a2_0x2729(_0x24448a,_0x59f180){_0x24448a=_0x24448a-0x13b;var _0x5f26c5=a2_0x5f26();var _0x272927=_0x5f26c5[_0x24448a];return _0x272927;}export{getEnvAppCode,getEnvironment,getEnvApiBaseUrl,getEnvRuntimeBaseUrl,getEnvUserBaseUrl,getEnvAuthCookie,configDir,cookieFile,defaultConfig,getEnvAppCodeWithFallback,getApiDomain,getUserDomain,getRuntimeDomain,getEffectiveApiDomain,getEffectiveRuntimeDomain,getEffectiveUserDomain}from'../config/env.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x3fb0ee,_0x3b4a96){const _0x227299=a3_0x30a8,_0x4c8940=_0x3fb0ee();while(!![]){try{const _0x24407b=-parseInt(_0x227299(0x1ae))/0x1*(-parseInt(_0x227299(0x1ab))/0x2)+parseInt(_0x227299(0x1af))/0x3+parseInt(_0x227299(0x1b0))/0x4*(-parseInt(_0x227299(0x1b2))/0x5)+parseInt(_0x227299(0x1b5))/0x6*(parseInt(_0x227299(0x1b1))/0x7)+parseInt(_0x227299(0x1a9))/0x8+parseInt(_0x227299(0x1a8))/0x9+-parseInt(_0x227299(0x1aa))/0xa;if(_0x24407b===_0x3b4a96)break;else _0x4c8940['push'](_0x4c8940['shift']());}catch(_0x8cf4e8){_0x4c8940['push'](_0x4c8940['shift']());}}}(a3_0x29e5,0xb6794));import{readFileSync,writeFileSync}from'node:fs';import{getEnvAuthCookie,cookieFile}from'../config/env.js';export function getCookie(){const _0x10a1b1=a3_0x30a8,_0x5b9d6c=getEnvAuthCookie();if(_0x5b9d6c)return _0x5b9d6c;try{return readFileSync(cookieFile,_0x10a1b1(0x1ac))[_0x10a1b1(0x1b6)]();}catch{return'';}}export function saveCookie(_0x323562){const _0x4dca93=a3_0x30a8;try{writeFileSync(cookieFile,_0x323562,_0x4dca93(0x1ac));}catch(_0x108a9d){throw new Error(_0x4dca93(0x1b4)+cookieFile+':\x20'+_0x108a9d[_0x4dca93(0x1ad)]);}}function a3_0x30a8(_0x15fec8,_0x547403){_0x15fec8=_0x15fec8-0x1a8;const _0x29e538=a3_0x29e5();let _0x30a873=_0x29e538[_0x15fec8];return _0x30a873;}export function hasCookie(){const _0x523bcd=a3_0x30a8,_0x4c048d=getCookie();return _0x4c048d[_0x523bcd(0x1b3)]>0x0;}export function clearCookie(){const _0x565145=a3_0x30a8;try{writeFileSync(cookieFile,'',_0x565145(0x1ac));}catch{}}function a3_0x29e5(){const _0x4a97fc=['3419352JBvkFr','trim','2170710ovuoQY','6797192CfnLzG','25686280MkOksE','790IUfCbM','utf-8','message','796pvUGLP','3301833lXeOUa','1318456eRUDzs','14oOMzTg','5gHdUfC','length','Failed\x20to\x20save\x20cookie\x20to\x20'];a3_0x29e5=function(){return _0x4a97fc;};return a3_0x29e5();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a4_0x532b(){const _0x1d04b7=['27WSznlQ','52876nkpZBB','192574KIkHHS','10134750oYTNVU','1198688ttCxBX','445025slQpxI','json','10101150qQKprc','session','40yZTBYd','6821454YVJXkV','35wRLcsQ'];a4_0x532b=function(){return _0x1d04b7;};return a4_0x532b();}function a4_0x371f(_0x3f67e4,_0x3969de){_0x3f67e4=_0x3f67e4-0xc3;const _0x532b09=a4_0x532b();let _0x371ff8=_0x532b09[_0x3f67e4];return _0x371ff8;}(function(_0x396d65,_0x148a1a){const _0x2a4d0b=a4_0x371f,_0xa82bd8=_0x396d65();while(!![]){try{const _0x1e1798=-parseInt(_0x2a4d0b(0xce))/0x1+-parseInt(_0x2a4d0b(0xcc))/0x2*(-parseInt(_0x2a4d0b(0xca))/0x3)+parseInt(_0x2a4d0b(0xcb))/0x4*(parseInt(_0x2a4d0b(0xc9))/0x5)+parseInt(_0x2a4d0b(0xc8))/0x6+-parseInt(_0x2a4d0b(0xc3))/0x7*(parseInt(_0x2a4d0b(0xc7))/0x8)+parseInt(_0x2a4d0b(0xc5))/0x9+-parseInt(_0x2a4d0b(0xcd))/0xa;if(_0x1e1798===_0x148a1a)break;else _0xa82bd8['push'](_0xa82bd8['shift']());}catch(_0x20f31b){_0xa82bd8['push'](_0xa82bd8['shift']());}}}(a4_0x532b,0xa80d1));import{getCookie}from'./cookie-manager.js';import{getUserDomain}from'../config/env.js';export async function isSessionValid(){const _0x3165d7=a4_0x371f,_0x44598d=getCookie();if(!_0x44598d)return![];try{const _0x25c928=await fetch(getUserDomain()+'/api/auth/get-session',{'headers':{'cookie':_0x44598d}});if(!_0x25c928['ok'])return![];const _0xa1f021=await _0x25c928[_0x3165d7(0xc4)]();return!!(_0xa1f021?.[_0x3165d7(0xc6)]&&_0xa1f021?.['user']);}catch{return![];}}
|
package/dist/config/env.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
const a5_0x44301f=a5_0x5907;(function(_0x466e5d,_0x21a947){const _0x4a9d8b=a5_0x5907,_0x5ac3c3=_0x466e5d();while(!![]){try{const _0x1ac7ee=parseInt(_0x4a9d8b(0xe5))/0x1*(-parseInt(_0x4a9d8b(0xdb))/0x2)+parseInt(_0x4a9d8b(0xf2))/0x3+-parseInt(_0x4a9d8b(0xea))/0x4*(parseInt(_0x4a9d8b(0xeb))/0x5)+parseInt(_0x4a9d8b(0xde))/0x6*(-parseInt(_0x4a9d8b(0xf4))/0x7)+-parseInt(_0x4a9d8b(0xed))/0x8+-parseInt(_0x4a9d8b(0xe2))/0x9*(parseInt(_0x4a9d8b(0xf1))/0xa)+parseInt(_0x4a9d8b(0xe0))/0xb;if(_0x1ac7ee===_0x21a947)break;else _0x5ac3c3['push'](_0x5ac3c3['shift']());}catch(_0x1896df){_0x5ac3c3['push'](_0x5ac3c3['shift']());}}}(a5_0x23f6,0xe556b));import{mkdirSync}from'node:fs';import{homedir}from'node:os';function a5_0x5907(_0x16f74e,_0x4e3062){_0x16f74e=_0x16f74e-0xda;const _0x23f662=a5_0x23f6();let _0x59074c=_0x23f662[_0x16f74e];return _0x59074c;}export function getEnvAppCode(){const _0x54622a=a5_0x5907;return process[_0x54622a(0xe3)][_0x54622a(0xe7)];}export function getEnvironment(){const _0x31540f=a5_0x5907;return process[_0x31540f(0xe3)][_0x31540f(0xec)]||_0x31540f(0xf3);}export function getEnvApiBaseUrl(){const _0x5460cd=a5_0x5907;return process[_0x5460cd(0xe3)][_0x5460cd(0xe4)];}export function getEnvRuntimeBaseUrl(){const _0x44dd4c=a5_0x5907;return process['env'][_0x44dd4c(0xe1)];}export function getEnvUserBaseUrl(){const _0x518466=a5_0x5907;return process[_0x518466(0xe3)][_0x518466(0xdd)];}export function getEnvAuthCookie(){const _0x1dff77=a5_0x5907;return process[_0x1dff77(0xe3)]['LOVRABET_AUTH_COOKIE']?.['trim']();}export function isTestEnv(){const _0xb8c8c9=a5_0x5907;return process[_0xb8c8c9(0xe3)][_0xb8c8c9(0xda)]===_0xb8c8c9(0xef);}export function isProductionEnv(){const _0xed0e3c=a5_0x5907;return process['env'][_0xed0e3c(0xda)]===_0xed0e3c(0xe6);}function a5_0x23f6(){const _0x317858=['2156kjyaAZ','12010jMTCoG','LOVRABET_ENV','6387800VtPmNi','daily','test','https://api.lovrabet.com','1390xjaatt','1937064IUgTdm','online','7USPakU','NODE_ENV','10486AcpDpG','/.lovrabet','LOVRABET_USER_BASEURL','3238644iznlmW','development','60045150qanDBX','LOVRABET_RUNTIME_BASEURL','90279iZUVcn','env','LOVRABET_API_BASEURL','217uFhdXU','production','LOVRABET_APP_CODE','https://user.lovrabet.com','https://daily-api.lovrabet.com'];a5_0x23f6=function(){return _0x317858;};return a5_0x23f6();}export function isDevelopmentEnv(){const _0x59b2a9=a5_0x5907;return process[_0x59b2a9(0xe3)][_0x59b2a9(0xda)]===_0x59b2a9(0xdf);}export function shouldLog(){const _0x1758b1=a5_0x5907,_0x36e89=process[_0x1758b1(0xe3)][_0x1758b1(0xda)];return _0x36e89===_0x1758b1(0xdf)||_0x36e89===_0x1758b1(0xee);}export const configDir=homedir()+a5_0x44301f(0xdc);export const cookieFile=configDir+'/cookie';mkdirSync(configDir,{'recursive':!![]});export const defaultConfig={'appCode':getEnvAppCode(),'env':getEnvironment()};export function getEnvAppCodeWithFallback(_0x48cab3){return getEnvAppCode()||_0x48cab3;}export function getApiDomain(){const _0x297af0=a5_0x44301f,_0x508243=getEnvironment();return _0x508243==='online'?_0x297af0(0xf0):_0x297af0(0xe9);}export function getUserDomain(){const _0x4ba8af=a5_0x44301f,_0xf64d4a=getEnvironment();return _0xf64d4a===_0x4ba8af(0xf3)?_0x4ba8af(0xe8):'https://user-daily.lovrabet.com';}export function getRuntimeDomain(){const _0x543982=getEnvironment();return _0x543982==='online'?'https://runtime.lovrabet.com':'https://daily-runtime.lovrabet.com';}export function getEffectiveApiDomain(){return getEnvApiBaseUrl()||getApiDomain();}export function getEffectiveRuntimeDomain(){return getEnvRuntimeBaseUrl()||getRuntimeDomain();}export function getEffectiveUserDomain(){return getEnvUserBaseUrl()||getUserDomain();}
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
2
|
+
const a6_0x3c25ff=a6_0x41b4;(function(_0x82fa3c,_0x5874d5){const _0x3123e2=a6_0x41b4,_0x5716e0=_0x82fa3c();while(!![]){try{const _0x21444a=-parseInt(_0x3123e2(0x7c))/0x1+-parseInt(_0x3123e2(0x88))/0x2+-parseInt(_0x3123e2(0x7b))/0x3*(parseInt(_0x3123e2(0x7f))/0x4)+-parseInt(_0x3123e2(0x7d))/0x5+parseInt(_0x3123e2(0x7e))/0x6*(parseInt(_0x3123e2(0x80))/0x7)+-parseInt(_0x3123e2(0x86))/0x8*(parseInt(_0x3123e2(0x75))/0x9)+parseInt(_0x3123e2(0x83))/0xa;if(_0x21444a===_0x5874d5)break;else _0x5716e0['push'](_0x5716e0['shift']());}catch(_0x4dc43d){_0x5716e0['push'](_0x5716e0['shift']());}}}(a6_0x3621,0xba308));function a6_0x3621(){const _0x3576f3=['4192955WjFMFR','78dwApdc','344sISGZm','357wxGiGT','MCP_DEBUG','Failed\x20to\x20start\x20Lovrabet\x20Dataset\x20MCP\x20Server:','46408250BgEGeW','catch','includes','5384rbjFVo','exit','2644916KRRWOO','logInfo','--dangerously-bff-save','connect','error','1494UZchBw','Shutting\x20down\x20Lovrabet\x20Dataset\x20MCP\x20Server...','env','log','argv','SIGINT','12729cwqtLj','1241191aOLkXp'];a6_0x3621=function(){return _0x3576f3;};return a6_0x3621();}import{StdioServerTransport}from'@modelcontextprotocol/sdk/server/stdio.js';import{createServer}from'./server.js';function a6_0x41b4(_0x1e25bd,_0x337ad8){_0x1e25bd=_0x1e25bd-0x75;const _0x362174=a6_0x3621();let _0x41b4f1=_0x362174[_0x1e25bd];return _0x41b4f1;}function parseArgs(){const _0x33ae4d=a6_0x41b4,_0xe51840=process[_0x33ae4d(0x79)]['slice'](0x2),_0x3260fc=_0xe51840[_0x33ae4d(0x85)](_0x33ae4d(0x8a));return{'bffAutosave':_0x3260fc};}async function main(){const _0x46ff74=a6_0x41b4;try{const {bffAutosave:_0x3b2a36}=parseArgs(),_0x24858c=createServer({'bffAutosave':_0x3b2a36}),_0x5c677f=new StdioServerTransport();_0x24858c[_0x46ff74(0x89)](),await _0x24858c[_0x46ff74(0x8b)](_0x5c677f),process['on'](_0x46ff74(0x7a),async()=>{const _0x1d336c=_0x46ff74;process[_0x1d336c(0x77)][_0x1d336c(0x81)]&&console[_0x1d336c(0x78)](_0x1d336c(0x76)),process[_0x1d336c(0x87)](0x0);}),process['on']('SIGTERM',async()=>{const _0x3e3d2b=_0x46ff74;process[_0x3e3d2b(0x77)][_0x3e3d2b(0x81)]&&console['log'](_0x3e3d2b(0x76)),process[_0x3e3d2b(0x87)](0x0);});}catch(_0x28505d){console[_0x46ff74(0x8c)](_0x46ff74(0x82),_0x28505d),process[_0x46ff74(0x87)](0x1);}}main()[a6_0x3c25ff(0x84)](_0x4c7a10=>{const _0x587a0b=a6_0x3c25ff;console[_0x587a0b(0x8c)]('Unhandled\x20error:',_0x4c7a10),process['exit'](0x1);});
|
package/dist/server.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a7_0x29ab48=a7_0x59b8;(function(_0x744f9b,_0x40b03d){const _0x195d89=a7_0x59b8,_0x2dc8b5=_0x744f9b();while(!![]){try{const _0x3cd1a5=-parseInt(_0x195d89(0xae))/0x1*(parseInt(_0x195d89(0xcf))/0x2)+-parseInt(_0x195d89(0xa5))/0x3*(-parseInt(_0x195d89(0x93))/0x4)+-parseInt(_0x195d89(0xb1))/0x5+-parseInt(_0x195d89(0x95))/0x6*(-parseInt(_0x195d89(0x7f))/0x7)+parseInt(_0x195d89(0xb2))/0x8*(parseInt(_0x195d89(0xd3))/0x9)+-parseInt(_0x195d89(0xe3))/0xa+-parseInt(_0x195d89(0xd9))/0xb;if(_0x3cd1a5===_0x40b03d)break;else _0x2dc8b5['push'](_0x2dc8b5['shift']());}catch(_0xe37761){_0x2dc8b5['push'](_0x2dc8b5['shift']());}}}(a7_0x28ed,0x9d39d));function a7_0x59b8(_0x218ea7,_0x46dca5){_0x218ea7=_0x218ea7-0x7e;const _0x28ed79=a7_0x28ed();let _0x59b8cc=_0x28ed79[_0x218ea7];return _0x59b8cc;}import{McpServer}from'@modelcontextprotocol/sdk/server/mcp.js';import{z}from'zod';import{createRequire}from'module';import{login,listDatasets,getDatasetDetail,getDatasetOperations,getOperationDetail,generateSDKCode,searchDatasets,listSqlQueries,saveOrUpdateCustomSql,executeCustomSql,generateSqlCode,validateSqlContent,listBffScripts,getBffScriptInfo,saveOrUpdateBffScript}from'./tools/index.js';const require=createRequire(import.meta.url),packageJson=require(a7_0x29ab48(0x83)),authSchema={'appCode':z[a7_0x29ab48(0xc5)]()[a7_0x29ab48(0x80)]()[a7_0x29ab48(0xda)](a7_0x29ab48(0xc1)),'cookie':z[a7_0x29ab48(0xc5)]()[a7_0x29ab48(0x80)]()[a7_0x29ab48(0xda)](a7_0x29ab48(0xca))};function registerToolWithOptions(_0x527f62,_0x43353c,_0x41882a,_0x5d3f7d){const _0x340f76=a7_0x29ab48;_0x527f62[_0x340f76(0xb4)](_0x43353c,_0x41882a,_0x5d3f7d);}function wrapHandler(_0xbe49ed){return async _0xc3e9d0=>{const _0x3b8e56=a7_0x59b8;try{const _0x444bc4=await _0xbe49ed(_0xc3e9d0);return{'content':[{'type':'text','text':JSON['stringify'](_0x444bc4,null,0x2)}]};}catch(_0x24f001){return{'content':[{'type':'text','text':JSON[_0x3b8e56(0x8f)]({'error':!![],'message':_0x24f001[_0x3b8e56(0x7e)]||_0x3b8e56(0x98)},null,0x2)}],'isError':!![]};}};}export class LovrabetDatasetMCPServer{[a7_0x29ab48(0xa1)];[a7_0x29ab48(0xd4)];constructor(_0x1763d1={}){const _0x7c8806=a7_0x29ab48;this['options']=_0x1763d1,this[_0x7c8806(0xa1)]=new McpServer({'name':'lovrabet-dataset-mcp','version':packageJson[_0x7c8806(0x96)]},{'capabilities':{'tools':{}},'instructions':buildInstructions(_0x1763d1)}),this['registerAllTools']();}[a7_0x29ab48(0xab)](){const _0x2cad19=a7_0x29ab48;registerToolWithOptions(this[_0x2cad19(0xa1)],'login',{'title':_0x2cad19(0x8b),'description':_0x2cad19(0x88),'inputSchema':{'env':z[_0x2cad19(0x85)]([_0x2cad19(0xa3),_0x2cad19(0xd7)])[_0x2cad19(0x80)]()[_0x2cad19(0xda)]('Environment\x20(optional,\x20uses\x20LOVRABET_ENV\x20or\x20defaults\x20to\x20online)')},'annotations':{'readOnlyHint':![],'destructiveHint':![],'idempotentHint':!![]}},wrapHandler(login)),registerToolWithOptions(this[_0x2cad19(0xa1)],'list_datasets',{'title':_0x2cad19(0x9b),'description':_0x2cad19(0xac),'inputSchema':{...authSchema,'forceRefresh':z['boolean']()[_0x2cad19(0x80)]()[_0x2cad19(0xda)](_0x2cad19(0xd1)),'includeRelations':z[_0x2cad19(0xc0)]()[_0x2cad19(0x80)]()[_0x2cad19(0xda)](_0x2cad19(0xb3))},'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![]}},wrapHandler(listDatasets)),registerToolWithOptions(this[_0x2cad19(0xa1)],_0x2cad19(0xaf),{'title':_0x2cad19(0xc3),'description':_0x2cad19(0xe7),'inputSchema':{...authSchema,'keyword':z[_0x2cad19(0xc5)]()['describe']('Search\x20keyword')},'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![]}},wrapHandler(searchDatasets)),registerToolWithOptions(this[_0x2cad19(0xa1)],_0x2cad19(0xe5),{'title':_0x2cad19(0xc4),'description':_0x2cad19(0x94),'inputSchema':{...authSchema,'datasetCode':z['string']()[_0x2cad19(0xda)](_0x2cad19(0xd0)),'forceRefresh':z[_0x2cad19(0xc0)]()[_0x2cad19(0x80)]()[_0x2cad19(0xda)](_0x2cad19(0xd1)),'includeRelations':z['boolean']()[_0x2cad19(0x80)]()['describe'](_0x2cad19(0xb3))},'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![]}},wrapHandler(getDatasetDetail)),registerToolWithOptions(this[_0x2cad19(0xa1)],_0x2cad19(0xa8),{'title':_0x2cad19(0xa7),'description':_0x2cad19(0x8d),'inputSchema':{...authSchema,'datasetCode':z[_0x2cad19(0xc5)]()[_0x2cad19(0xda)](_0x2cad19(0xd0))},'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![]}},wrapHandler(getDatasetOperations)),registerToolWithOptions(this[_0x2cad19(0xa1)],_0x2cad19(0xbe),{'title':_0x2cad19(0xd2),'description':_0x2cad19(0xcb),'inputSchema':{...authSchema,'datasetCode':z[_0x2cad19(0xc5)]()[_0x2cad19(0xda)]('Dataset\x20code/ID'),'operationName':z['string']()[_0x2cad19(0xda)](_0x2cad19(0x9c))},'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![]}},wrapHandler(getOperationDetail)),registerToolWithOptions(this[_0x2cad19(0xa1)],_0x2cad19(0x8a),{'title':_0x2cad19(0x9f),'description':'Generate\x20TypeScript\x20SDK\x20code\x20for\x20a\x20dataset\x20operation,\x20including\x20field\x20metadata.\x20Check\x20user\x27s\x20@lovrabet/sdk\x20version\x20in\x20package.json\x20first.','inputSchema':{...authSchema,'datasetCode':z[_0x2cad19(0xc5)]()[_0x2cad19(0xda)](_0x2cad19(0xc6)),'operationName':z[_0x2cad19(0xc5)]()[_0x2cad19(0xda)]('Operation\x20name\x20(e.g.,\x20filter,\x20getOne,\x20create,\x20update)'),'includeImports':z['boolean']()['optional']()[_0x2cad19(0xda)]('Include\x20import\x20statements\x20(default:\x20true)'),'useAlias':z['boolean']()[_0x2cad19(0x80)]()['describe'](_0x2cad19(0xd5))},'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![]}},wrapHandler(generateSDKCode)),registerToolWithOptions(this[_0x2cad19(0xa1)],'list_sql_queries',{'title':_0x2cad19(0xce),'description':_0x2cad19(0x99),'inputSchema':{...authSchema,'keyword':z['string']()['optional']()[_0x2cad19(0xda)]('Client-side\x20filter\x20by\x20name/description/content'),'category':z[_0x2cad19(0xc5)]()[_0x2cad19(0x80)]()[_0x2cad19(0xda)]('Client-side\x20filter\x20by\x20category'),'sqlCode':z[_0x2cad19(0xc5)]()[_0x2cad19(0x80)]()['describe']('Server-side\x20fuzzy\x20match\x20by\x20sqlCode'),'sqlName':z[_0x2cad19(0xc5)]()[_0x2cad19(0x80)]()[_0x2cad19(0xda)](_0x2cad19(0xb9)),'pageSize':z[_0x2cad19(0xc7)]()[_0x2cad19(0x80)]()[_0x2cad19(0xda)](_0x2cad19(0xbf)),'currentPage':z['number']()[_0x2cad19(0x80)]()['describe']('Page\x20number\x20(default:\x201)')},'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![]}},wrapHandler(listSqlQueries)),registerToolWithOptions(this[_0x2cad19(0xa1)],_0x2cad19(0x9e),{'title':_0x2cad19(0xcd),'description':_0x2cad19(0xe4),'inputSchema':{...authSchema,'sqlCode':z[_0x2cad19(0xc5)]()[_0x2cad19(0x9a)](0x1)[_0x2cad19(0xda)](_0x2cad19(0xa0)),'params':z[_0x2cad19(0xc9)](z[_0x2cad19(0xa9)]([z[_0x2cad19(0xc5)](),z[_0x2cad19(0xc7)]()]))['optional']()[_0x2cad19(0xda)](_0x2cad19(0x9d))},'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![]}},wrapHandler(executeCustomSql)),registerToolWithOptions(this[_0x2cad19(0xa1)],_0x2cad19(0xbb),{'title':'Generate\x20SQL\x20Code','description':_0x2cad19(0xba),'inputSchema':{...authSchema,'sqlCode':z[_0x2cad19(0xc5)]()[_0x2cad19(0x9a)](0x1)[_0x2cad19(0xda)]('SQL\x20code\x20from\x20list_sql_queries\x20(must\x20exist)'),'params':z[_0x2cad19(0xc9)](z['union']([z[_0x2cad19(0xc5)](),z[_0x2cad19(0xc7)]()]))[_0x2cad19(0x80)]()[_0x2cad19(0xda)](_0x2cad19(0xe0)),'includeImports':z['boolean']()[_0x2cad19(0x80)]()['describe'](_0x2cad19(0xcc)),'target':z[_0x2cad19(0x85)]([_0x2cad19(0xe6),_0x2cad19(0xde)])['optional']()[_0x2cad19(0xda)](_0x2cad19(0x89))},'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![]}},wrapHandler(generateSqlCode)),registerToolWithOptions(this[_0x2cad19(0xa1)],_0x2cad19(0xa6),{'title':_0x2cad19(0xad),'description':_0x2cad19(0xb0),'inputSchema':{...authSchema,'sqlContent':z[_0x2cad19(0xc5)]()[_0x2cad19(0x9a)](0x1)[_0x2cad19(0xda)](_0x2cad19(0xaa)),'dbId':z['number']()[_0x2cad19(0x80)]()['describe'](_0x2cad19(0x84)),'validateSchemas':z[_0x2cad19(0x86)](z[_0x2cad19(0xc5)]())['optional']()[_0x2cad19(0xda)](_0x2cad19(0x8e))},'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![]}},wrapHandler(validateSqlContent)),registerToolWithOptions(this[_0x2cad19(0xa1)],_0x2cad19(0xb7),{'title':_0x2cad19(0x90),'description':_0x2cad19(0xdf),'inputSchema':{...authSchema,'sqlName':z[_0x2cad19(0xc5)]()[_0x2cad19(0x9a)](0x1)['describe']('SQL\x20name/label'),'dbId':z['number']()[_0x2cad19(0xda)](_0x2cad19(0xdb)),'sqlContent':z[_0x2cad19(0xc5)]()[_0x2cad19(0x9a)](0x1)[_0x2cad19(0xda)](_0x2cad19(0x81)),'id':z[_0x2cad19(0xc7)]()['optional']()[_0x2cad19(0xda)](_0x2cad19(0xc2))},'annotations':{'readOnlyHint':![],'destructiveHint':![],'idempotentHint':![]}},wrapHandler(saveOrUpdateCustomSql)),this[_0x2cad19(0xd4)][_0x2cad19(0xdc)]&&(registerToolWithOptions(this[_0x2cad19(0xa1)],'list_bff_scripts',{'title':_0x2cad19(0xa2),'description':_0x2cad19(0xbc),'inputSchema':{...authSchema},'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![]}},wrapHandler(listBffScripts)),registerToolWithOptions(this[_0x2cad19(0xa1)],'get_bff_script_info',{'title':_0x2cad19(0xb8),'description':_0x2cad19(0xa4),'inputSchema':{...authSchema,'id':z['number']()[_0x2cad19(0xda)]('Backend\x20Function\x20ID\x20(from\x20list_bff_scripts)')},'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![]}},wrapHandler(getBffScriptInfo)),registerToolWithOptions(this[_0x2cad19(0xa1)],_0x2cad19(0xd6),{'title':_0x2cad19(0x82),'description':_0x2cad19(0x92),'inputSchema':{...authSchema,'id':z[_0x2cad19(0xc7)]()[_0x2cad19(0x80)]()[_0x2cad19(0xda)]('Backend\x20Function\x20ID\x20(for\x20updating)'),'description':z[_0x2cad19(0xc5)]()[_0x2cad19(0x9a)](0x1)[_0x2cad19(0xda)](_0x2cad19(0xdd)),'scriptContent':z['string']()[_0x2cad19(0x9a)](0x1)['describe']('JavaScript/TypeScript\x20code\x20with\x20default\x20export')},'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':![]}},wrapHandler(saveOrUpdateBffScript)));}get[a7_0x29ab48(0xb6)](){const _0x41b756=a7_0x29ab48;return this[_0x41b756(0xa1)];}async['connect'](_0x2e76c1){const _0x548fd9=a7_0x29ab48;await this['mcpServer'][_0x548fd9(0xd8)](_0x2e76c1);}async[a7_0x29ab48(0x91)](){const _0x2db059=a7_0x29ab48;await this[_0x2db059(0xa1)][_0x2db059(0x91)]();}[a7_0x29ab48(0xe1)](){const _0x507f2a=a7_0x29ab48;if(!process[_0x507f2a(0x97)][_0x507f2a(0xb5)])return;console[_0x507f2a(0xe2)](_0x507f2a(0xc8)),console[_0x507f2a(0xe2)]('Version:\x20'+packageJson['version']),console[_0x507f2a(0xe2)](_0x507f2a(0xbd)),this['options']['bffAutosave']&&console['log'](_0x507f2a(0x87));}}function a7_0x28ed(){const _0x1b6616=['Execute\x20Custom\x20SQL','List\x20SQL\x20Queries','2RmETxM','Dataset\x20ID\x20(numeric)\x20or\x20code\x20(UUID)','Bypass\x20cache\x20(default:\x20false)','Get\x20Operation\x20Detail','2126637EhuLsQ','options','Use\x20camelCase\x20alias\x20instead\x20of\x20dataset_[code]\x20pattern\x20(default:\x20false)','save_or_update_bff_script','daily','connect','3312518UJRdZK','describe','Database\x20ID\x20from\x20get_dataset_detail','bffAutosave','Function\x20description','bff','Save\x20or\x20update\x20a\x20custom\x20SQL\x20query.\x20Only\x20SELECT\x20queries\x20are\x20auto-saved;\x20non-SELECT\x20are\x20blocked\x20for\x20safety.\x20Supports\x20MyBatis\x20syntax.\x20Get\x20dbId\x20from\x20get_dataset_detail.','Example\x20parameter\x20values','logInfo','log','11248610clQmWd','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode.\x20Get\x20sqlCode\x20from\x20list_sql_queries\x20first.','get_dataset_detail','sdk','Search\x20datasets\x20by\x20keyword\x20(searches\x20in\x20name,\x20table\x20name,\x20code,\x20and\x20description).','message','2076410tyBirT','optional','SQL\x20SELECT\x20statement\x20(supports\x20MyBatis\x20syntax)','Save\x20or\x20Update\x20Backend\x20Function','../package.json','Database\x20ID\x20(optional)','enum','array','Backend\x20Function\x20tools\x20enabled\x20(--dangerously-bff-save)','Login\x20to\x20Lovrabet\x20to\x20authenticate\x20for\x20dataset\x20queries.','Target\x20context:\x20\x22sdk\x22\x20(Frontend\x20SDK,\x20default)\x20or\x20\x22bff\x22\x20(Backend\x20Function).\x20SDK\x20returns\x20{execSuccess,\x20execResult}\x20wrapper;\x20BFF\x20returns\x20rows\x20directly.','generate_sdk_code','Login','You\x20are\x20an\x20AI\x20assistant\x20helping\x20developers\x20work\x20with\x20the\x20Lovrabet\x20data\x20platform.\x0a\x0a##\x20Two\x20Runtime\x20Contexts:\x20Frontend\x20SDK\x20vs\x20Backend\x20Function\x20(BFF)\x0a\x0aLovrabet\x20has\x20two\x20code\x20execution\x20contexts\x20with\x20**identical\x20calling\x20methods\x20but\x20different\x20return\x20structures**:\x0a\x0a###\x20Frontend\x20TypeScript\x20SDK\x20(`@lovrabet/sdk`)\x0a-\x20Runs\x20in\x20browser/Node.js,\x20imported\x20via\x20`import\x20{\x20LovrabetClient\x20}\x20from\x20\x27@lovrabet/sdk\x27`\x0a-\x20Model\x20operations\x20return\x20unwrapped\x20data\x20on\x20success,\x20throw\x20LovrabetError\x20on\x20error\x0a-\x20SQL\x20execution\x20returns\x20wrapper:\x20`{\x20execSuccess,\x20execResult\x20}`\x0a\x0a###\x20Backend\x20Function\x20(BFF)\x0a-\x20Runs\x20on\x20Lovrabet\x20server,\x20function\x20signature:\x20`export\x20default\x20async\x20function(params,\x20context)\x20{\x20...\x20}`\x0a-\x20Use\x20`context.client`\x20to\x20access\x20the\x20same\x20SDK\x20methods\x0a-\x20Model\x20operations\x20behave\x20the\x20same\x20as\x20SDK\x0a-\x20**SQL\x20execution\x20returns\x20direct\x20array**\x20`T[]`,\x20errors\x20throw\x20exceptions\x20(no\x20wrapper)\x0a\x0a>\x20**CRITICAL**:\x20Always\x20ask\x20or\x20determine\x20which\x20context\x20the\x20user\x20is\x20working\x20in\x20before\x20generating\x20code.\x0a\x0a##\x20SDK\x20Usage\x20Patterns\x0a\x0a###\x20Model\x20Access\x20(SDK\x20>=\x201.2.0)\x0a-\x20Default:\x20`client.models.dataset_[code].filter()`\x0a-\x20Alias:\x20`client.models.[alias].filter()`\x20(check\x20user\x27s\x20createClient/registerModels\x20config\x20for\x20actual\x20alias)\x0a-\x20For\x20SDK\x20<\x201.2.0:\x20only\x20`client.models.[key]`\x20where\x20key\x20is\x20defined\x20in\x20createClient/registerModels\x0a\x0a###\x20SDK\x20Return\x20Value\x20Behavior\x0a-\x20**On\x20Success**:\x20Returns\x20ONLY\x20the\x20\x27data\x27\x20field\x20content\x20(e.g.,\x20`{\x20id:\x20123,\x20name:\x20\x22...\x22\x20}`)\x0a-\x20**On\x20Error**:\x20Throws\x20LovrabetError\x20with\x20`{\x20message,\x20status,\x20code,\x20data\x20}`\x0a-\x20**Always\x20use\x20try-catch**\x20when\x20calling\x20SDK\x20methods\x0a\x0a###\x20Data\x20Query\x20Best\x20Practices\x0a-\x20**filter**:\x20Most\x20flexible,\x20supports\x20complex\x20WHERE\x20conditions,\x20pagination,\x20sorting\x20—\x20use\x20this\x20for\x20queries\x0a-\x20**getOne**:\x20Single\x20record\x20by\x20primary\x20key\x20ID\x20only\x0a-\x20**getList**:\x20Simple\x20unfiltered\x20listing\x20(rarely\x20needed)\x0a\x0a##\x20Custom\x20SQL\x20Execution\x0a\x0a###\x20Frontend\x20SDK\x0a```typescript\x0aconst\x20data\x20=\x20await\x20client.sql.execute({\x20sqlCode:\x20\x27xxx\x27,\x20params:\x20{\x20key:\x20\x27value\x27\x20}\x20});\x0aif\x20(!data.execSuccess)\x20throw\x20new\x20Error(\x27SQL\x20execution\x20failed\x27);\x0aconst\x20results\x20=\x20data.execResult\x20||\x20[];\x0a```\x0a\x0a###\x20Backend\x20Function\x20(BFF)\x0a```javascript\x0a//\x20context.client.sql.execute\x20returns\x20rows\x20directly\x20—\x20NO\x20wrapper\x20object\x0aconst\x20rows\x20=\x20await\x20context.client.sql.execute({\x20sqlCode:\x20\x27xxx\x27,\x20params:\x20{\x20key:\x20\x27value\x27\x20}\x20});\x0a//\x20rows\x20is\x20T[]\x20directly,\x20errors\x20throw\x20exceptions\x0a```\x0a\x0a>\x20Note:\x20`client.api.executeSql()`\x20is\x20deprecated.\x20Use\x20`client.sql.execute()`.\x0a\x0a##\x20MyBatis\x20Dynamic\x20SQL\x0aSQL\x20content\x20supports\x20MyBatis\x20syntax:\x20`#{param}`,\x20`<if\x20test=\x22\x22>`,\x20`<where>`,\x20`<foreach>`.\x0aUse\x20`<\x20>\x20&`\x20for\x20<\x20>\x20&\x20in\x20SQL\x20content\x20(not\x20in\x20`<if\x20test=\x22\x22>`\x20attributes).\x0a\x0a##\x20Workflow\x20Tips\x0a-\x20Use\x20list_datasets\x20to\x20discover\x20available\x20datasets\x0a-\x20Use\x20get_dataset_detail\x20to\x20see\x20fields,\x20operations,\x20and\x20database\x20info\x20(dbId)\x0a-\x20Use\x20generate_sdk_code\x20to\x20get\x20ready-to-use\x20TypeScript\x20code\x0a-\x20Use\x20list_sql_queries\x20to\x20find\x20existing\x20custom\x20SQLs\x20before\x20creating\x20new\x20ones\x0a-\x20validate_sql_content\x20before\x20save_or_update_custom_sql\x0a-\x20generate_sql_code\x20supports\x20target=\x27sdk\x27\x20(default)\x20or\x20target=\x27bff\x27\x20for\x20context-appropriate\x20code','Get\x20list\x20of\x20all\x20API\x20operations\x20for\x20a\x20dataset.\x20Prefer\x20\x22filter\x22\x20for\x20queries,\x20\x22getOne\x22\x20for\x20single\x20record\x20by\x20ID.','Dataset\x20codes\x20to\x20validate\x20against','stringify','Save\x20or\x20Update\x20Custom\x20SQL','close','Save\x20or\x20update\x20a\x20Backend\x20Function\x20script.\x20Provide\x20id\x20for\x20updates,\x20omit\x20for\x20new.\x20Runtime\x20cache\x20is\x20automatically\x20cleared\x20after\x20save.','2669028KzcTAG','Get\x20detailed\x20dataset\x20information\x20including\x20fields,\x20operations,\x20and\x20relations.\x20Supports\x20both\x20dataset\x20ID\x20(numeric)\x20and\x20code\x20(UUID).','24HcQiij','version','env','Unknown\x20error\x20occurred','List\x20all\x20available\x20custom\x20SQL\x20queries\x20with\x20metadata\x20and\x20parameters.','min','List\x20Datasets','Operation\x20name\x20(e.g.,\x20filter,\x20getOne,\x20create,\x20update)','SQL\x20parameters','execute_custom_sql','Generate\x20SDK\x20Code','SQL\x20code\x20from\x20list_sql_queries\x20->\x20sqlCode','mcpServer','List\x20Backend\x20Functions','online','Get\x20detailed\x20Backend\x20Function\x20script\x20including\x20full\x20source\x20code.','3UTXRMM','validate_sql_content','Get\x20Operations','get_dataset_operations','union','SQL\x20content\x20to\x20validate','registerAllTools','Get\x20list\x20of\x20all\x20datasets\x20with\x20metadata\x20and\x20table\x20relations\x20(ER\x20Config).\x20Use\x20includeRelations:\x20false\x20for\x20faster\x20response.','Validate\x20SQL\x20Content','69541GahqVn','search_datasets','Validate\x20SQL\x20content\x20without\x20saving.\x20Detects\x20SQL\x20type\x20(SELECT/INSERT/UPDATE/DELETE/DDL)\x20and\x20validates\x20table/column\x20existence.\x20Supports\x20MyBatis\x20syntax.','3297060RThcwr','32xaubhA','Include\x20table\x20relations\x20(default:\x20true)','registerTool','MCP_DEBUG','server','save_or_update_custom_sql','Get\x20Backend\x20Function\x20Info','Server-side\x20fuzzy\x20match\x20by\x20sqlName','Generate\x20code\x20for\x20a\x20custom\x20SQL\x20query.\x20Validates\x20sqlCode\x20exists\x20first.\x20Use\x20target\x20to\x20switch\x20between\x20Frontend\x20SDK\x20and\x20Backend\x20Function\x20code\x20patterns.','generate_sql_code','List\x20all\x20Backend\x20Function\x20(ENDPOINT\x20type)\x20scripts.','Server\x20started\x20successfully','get_operation_detail','Items\x20per\x20page\x20(default:\x20999)','boolean','Application\x20code\x20(optional\x20if\x20LOVRABET_APP_CODE\x20env\x20var\x20is\x20set)','SQL\x20ID\x20(for\x20updating\x20existing\x20SQL)','Search\x20Datasets','Get\x20Dataset\x20Detail','string','Dataset\x20code/ID','number','Lovrabet\x20Dataset\x20MCP\x20Server','record','Authentication\x20cookie\x20(optional,\x20uses\x20stored\x20cookie\x20from\x20login\x20if\x20not\x20provided)','Get\x20detailed\x20operation\x20information\x20including\x20request/response\x20examples.','Include\x20import\x20statements\x20(default:\x20true)'];a7_0x28ed=function(){return _0x1b6616;};return a7_0x28ed();}function buildInstructions(_0x275947){const _0x462cea=a7_0x29ab48,_0x484725=_0x275947['bffAutosave']===!![],_0x4928f8=_0x484725?'\x0a-\x20Use\x20list_bff_scripts\x20/\x20get_bff_script_info\x20to\x20browse\x20and\x20read\x20Backend\x20Function\x20scripts\x0a-\x20save_or_update_bff_script\x20saves\x20script\x20and\x20automatically\x20clears\x20runtime\x20cache':'';return _0x462cea(0x8c)+_0x4928f8+'\x0a';}export function createServer(_0x19f231){return new LovrabetDatasetMCPServer(_0x19f231);}
|
|
1
|
+
const a7_0x57b955=a7_0x48b4;(function(_0x21fe21,_0x7eb565){const _0x52f780=a7_0x48b4,_0x56c51e=_0x21fe21();while(!![]){try{const _0x441660=-parseInt(_0x52f780(0x126))/0x1*(parseInt(_0x52f780(0xf9))/0x2)+parseInt(_0x52f780(0xfa))/0x3*(-parseInt(_0x52f780(0x111))/0x4)+parseInt(_0x52f780(0x113))/0x5+parseInt(_0x52f780(0x12a))/0x6+parseInt(_0x52f780(0x14e))/0x7*(-parseInt(_0x52f780(0x158))/0x8)+parseInt(_0x52f780(0x133))/0x9+-parseInt(_0x52f780(0x157))/0xa*(-parseInt(_0x52f780(0x124))/0xb);if(_0x441660===_0x7eb565)break;else _0x56c51e['push'](_0x56c51e['shift']());}catch(_0xda6a5f){_0x56c51e['push'](_0x56c51e['shift']());}}}(a7_0x1222,0x4ff22));import{McpServer}from'@modelcontextprotocol/sdk/server/mcp.js';import{z}from'zod';import{createRequire}from'module';function a7_0x1222(){const _0x326015=['SQL\x20ID\x20(for\x20updating\x20existing\x20SQL)','Client-side\x20filter\x20by\x20name/description/content','record','Get\x20detailed\x20Backend\x20Function\x20script\x20including\x20full\x20source\x20code.','Include\x20import\x20statements\x20(default:\x20true)','Unknown\x20error\x20occurred','List\x20all\x20Backend\x20Function\x20(ENDPOINT\x20type)\x20scripts.','Save\x20or\x20update\x20a\x20custom\x20SQL\x20query.\x20Only\x20SELECT\x20queries\x20are\x20auto-saved;\x20non-SELECT\x20are\x20blocked\x20for\x20safety.\x20Supports\x20MyBatis\x20syntax.\x20Get\x20dbId\x20from\x20get_dataset_detail.','get_dataset_detail','message','Backend\x20Function\x20tools\x20enabled\x20(--dangerously-bff-save)','2020777qOwNJq','env','922WvhgDI','string','Include\x20table\x20relations\x20(default:\x20true)','Get\x20list\x20of\x20all\x20datasets\x20with\x20metadata\x20and\x20table\x20relations\x20(ER\x20Config).\x20Use\x20includeRelations:\x20false\x20for\x20faster\x20response.','1532322awqGuR','text','SQL\x20name/label','Use\x20camelCase\x20alias\x20instead\x20of\x20dataset_[code]\x20pattern\x20(default:\x20false)','Login\x20to\x20Lovrabet\x20to\x20authenticate\x20for\x20dataset\x20queries.','version','List\x20Datasets','sdk','list_sql_queries','1358199WlCtsp','\x0a-\x20Use\x20list_bff_scripts\x20/\x20get_bff_script_info\x20to\x20browse\x20and\x20read\x20Backend\x20Function\x20scripts\x0a-\x20save_or_update_bff_script\x20saves\x20script\x20and\x20automatically\x20clears\x20runtime\x20cache','Operation\x20name\x20(e.g.,\x20filter,\x20getOne,\x20create,\x20update)','Get\x20Operation\x20Detail','bff','boolean','registerAllTools','List\x20Backend\x20Functions','Search\x20keyword','Backend\x20Function\x20ID\x20(for\x20updating)','Save\x20or\x20update\x20a\x20Backend\x20Function\x20script.\x20Provide\x20id\x20for\x20updates,\x20omit\x20for\x20new.\x20Runtime\x20cache\x20is\x20automatically\x20cleared\x20after\x20save.','SQL\x20SELECT\x20statement\x20(supports\x20MyBatis\x20syntax)','You\x20are\x20an\x20AI\x20assistant\x20helping\x20developers\x20work\x20with\x20the\x20Lovrabet\x20data\x20platform.\x0a\x0a##\x20Two\x20Runtime\x20Contexts:\x20Frontend\x20SDK\x20vs\x20Backend\x20Function\x20(BFF)\x0a\x0aLovrabet\x20has\x20two\x20code\x20execution\x20contexts\x20with\x20**identical\x20calling\x20methods\x20but\x20different\x20return\x20structures**:\x0a\x0a###\x20Frontend\x20TypeScript\x20SDK\x20(`@lovrabet/sdk`)\x0a-\x20Runs\x20in\x20browser/Node.js,\x20imported\x20via\x20`import\x20{\x20LovrabetClient\x20}\x20from\x20\x27@lovrabet/sdk\x27`\x0a-\x20Model\x20operations\x20return\x20unwrapped\x20data\x20on\x20success,\x20throw\x20LovrabetError\x20on\x20error\x0a-\x20SQL\x20execution\x20returns\x20wrapper:\x20`{\x20execSuccess,\x20execResult\x20}`\x0a\x0a###\x20Backend\x20Function\x20(BFF)\x0a-\x20Runs\x20on\x20Lovrabet\x20server,\x20function\x20signature:\x20`export\x20default\x20async\x20function(params,\x20context)\x20{\x20...\x20}`\x0a-\x20Use\x20`context.client`\x20to\x20access\x20the\x20same\x20SDK\x20methods\x0a-\x20Model\x20operations\x20behave\x20the\x20same\x20as\x20SDK\x0a-\x20**SQL\x20execution\x20returns\x20direct\x20array**\x20`T[]`,\x20errors\x20throw\x20exceptions\x20(no\x20wrapper)\x0a\x0a>\x20**CRITICAL**:\x20Always\x20ask\x20or\x20determine\x20which\x20context\x20the\x20user\x20is\x20working\x20in\x20before\x20generating\x20code.\x0a\x0a##\x20SDK\x20Usage\x20Patterns\x0a\x0a###\x20Model\x20Access\x20(SDK\x20>=\x201.2.0)\x0a-\x20Default:\x20`client.models.dataset_[code].filter()`\x0a-\x20Alias:\x20`client.models.[alias].filter()`\x20(check\x20user\x27s\x20createClient/registerModels\x20config\x20for\x20actual\x20alias)\x0a-\x20For\x20SDK\x20<\x201.2.0:\x20only\x20`client.models.[key]`\x20where\x20key\x20is\x20defined\x20in\x20createClient/registerModels\x0a\x0a###\x20SDK\x20Return\x20Value\x20Behavior\x0a-\x20**On\x20Success**:\x20Returns\x20ONLY\x20the\x20\x27data\x27\x20field\x20content\x20(e.g.,\x20`{\x20id:\x20123,\x20name:\x20\x22...\x22\x20}`)\x0a-\x20**On\x20Error**:\x20Throws\x20LovrabetError\x20with\x20`{\x20message,\x20status,\x20code,\x20data\x20}`\x0a-\x20**Always\x20use\x20try-catch**\x20when\x20calling\x20SDK\x20methods\x0a\x0a###\x20Data\x20Query\x20Best\x20Practices\x0a-\x20**filter**:\x20Most\x20flexible,\x20supports\x20complex\x20WHERE\x20conditions,\x20pagination,\x20sorting\x20—\x20use\x20this\x20for\x20queries\x0a-\x20**getOne**:\x20Single\x20record\x20by\x20primary\x20key\x20ID\x20only\x0a-\x20**getList**:\x20Simple\x20unfiltered\x20listing\x20(rarely\x20needed)\x0a\x0a##\x20Custom\x20SQL\x20Execution\x0a\x0a###\x20Frontend\x20SDK\x0a```typescript\x0aconst\x20data\x20=\x20await\x20client.sql.execute({\x20sqlCode:\x20\x27xxx\x27,\x20params:\x20{\x20key:\x20\x27value\x27\x20}\x20});\x0aif\x20(!data.execSuccess)\x20throw\x20new\x20Error(\x27SQL\x20execution\x20failed\x27);\x0aconst\x20results\x20=\x20data.execResult\x20||\x20[];\x0a```\x0a\x0a###\x20Backend\x20Function\x20(BFF)\x0a```javascript\x0a//\x20context.client.sql.execute\x20returns\x20rows\x20directly\x20—\x20NO\x20wrapper\x20object\x0aconst\x20rows\x20=\x20await\x20context.client.sql.execute({\x20sqlCode:\x20\x27xxx\x27,\x20params:\x20{\x20key:\x20\x27value\x27\x20}\x20});\x0a//\x20rows\x20is\x20T[]\x20directly,\x20errors\x20throw\x20exceptions\x0a```\x0a\x0a>\x20Note:\x20`client.api.executeSql()`\x20is\x20deprecated.\x20Use\x20`client.sql.execute()`.\x0a\x0a##\x20MyBatis\x20Dynamic\x20SQL\x0aSQL\x20content\x20supports\x20MyBatis\x20syntax:\x20`#{param}`,\x20`<if\x20test=\x22\x22>`,\x20`<where>`,\x20`<foreach>`.\x0aUse\x20`<\x20>\x20&`\x20for\x20<\x20>\x20&\x20in\x20SQL\x20content\x20(not\x20in\x20`<if\x20test=\x22\x22>`\x20attributes).\x0a\x0a##\x20Workflow\x20Tips\x0a-\x20Use\x20list_datasets\x20to\x20discover\x20available\x20datasets\x0a-\x20Use\x20get_dataset_detail\x20to\x20see\x20fields,\x20operations,\x20and\x20database\x20info\x20(dbId)\x0a-\x20Use\x20generate_sdk_code\x20to\x20get\x20ready-to-use\x20TypeScript\x20code\x0a-\x20Use\x20list_sql_queries\x20to\x20find\x20existing\x20custom\x20SQLs\x20before\x20creating\x20new\x20ones\x0a-\x20validate_sql_content\x20before\x20save_or_update_custom_sql\x0a-\x20generate_sql_code\x20supports\x20target=\x27sdk\x27\x20(default)\x20or\x20target=\x27bff\x27\x20for\x20context-appropriate\x20code','Items\x20per\x20page\x20(default:\x20999)','log','Function\x20description','array','Version:\x20','Validate\x20SQL\x20content\x20without\x20saving.\x20Detects\x20SQL\x20type\x20(SELECT/INSERT/UPDATE/DELETE/DDL)\x20and\x20validates\x20table/column\x20existence.\x20Supports\x20MyBatis\x20syntax.','search_datasets','options','logInfo','bffAutosave','Get\x20detailed\x20operation\x20information\x20including\x20request/response\x20examples.','List\x20SQL\x20Queries','mcpServer','Generate\x20code\x20for\x20a\x20custom\x20SQL\x20query.\x20Validates\x20sqlCode\x20exists\x20first.\x20Use\x20target\x20to\x20switch\x20between\x20Frontend\x20SDK\x20and\x20Backend\x20Function\x20code\x20patterns.','14BPzqwk','execute_custom_sql','number','Environment\x20(optional,\x20uses\x20LOVRABET_ENV\x20or\x20defaults\x20to\x20online)','JavaScript/TypeScript\x20code\x20with\x20default\x20export','Client-side\x20filter\x20by\x20category','Target\x20context:\x20\x22sdk\x22\x20(Frontend\x20SDK,\x20default)\x20or\x20\x22bff\x22\x20(Backend\x20Function).\x20SDK\x20returns\x20{execSuccess,\x20execResult}\x20wrapper;\x20BFF\x20returns\x20rows\x20directly.','Server\x20started\x20successfully','get_dataset_operations','30BSdgMw','548776NXraIj','min','Get\x20list\x20of\x20all\x20API\x20operations\x20for\x20a\x20dataset.\x20Prefer\x20\x22filter\x22\x20for\x20queries,\x20\x22getOne\x22\x20for\x20single\x20record\x20by\x20ID.','Bypass\x20cache\x20(default:\x20false)','List\x20all\x20available\x20custom\x20SQL\x20queries\x20with\x20metadata\x20and\x20parameters.','Validate\x20SQL\x20Content','Save\x20or\x20Update\x20Backend\x20Function','registerTool','Server-side\x20fuzzy\x20match\x20by\x20sqlCode','describe','Generate\x20TypeScript\x20SDK\x20code\x20for\x20a\x20dataset\x20operation,\x20including\x20field\x20metadata.\x20Check\x20user\x27s\x20@lovrabet/sdk\x20version\x20in\x20package.json\x20first.','Database\x20ID\x20(optional)','1284AZWHdC','141129XFGtYP','save_or_update_custom_sql','optional','SQL\x20code\x20from\x20list_sql_queries\x20(must\x20exist)','Dataset\x20code/ID','daily','connect','MCP_DEBUG','Get\x20Backend\x20Function\x20Info','stringify','Login','SQL\x20parameters','Dataset\x20ID\x20(numeric)\x20or\x20code\x20(UUID)','enum','Server-side\x20fuzzy\x20match\x20by\x20sqlName','close','generate_sql_code','Execute\x20Custom\x20SQL','Database\x20ID\x20from\x20get_dataset_detail','Lovrabet\x20Dataset\x20MCP\x20Server','Authentication\x20cookie\x20(optional,\x20uses\x20stored\x20cookie\x20from\x20login\x20if\x20not\x20provided)','Application\x20code\x20(optional\x20if\x20LOVRABET_APP_CODE\x20env\x20var\x20is\x20set)','get_operation_detail','32vphIpH','Example\x20parameter\x20values','2377505NbkaSJ','../package.json','Backend\x20Function\x20ID\x20(from\x20list_bff_scripts)','SQL\x20content\x20to\x20validate','validate_sql_content','login'];a7_0x1222=function(){return _0x326015;};return a7_0x1222();}import{login,listDatasets,getDatasetDetail,getDatasetOperations,getOperationDetail,generateSDKCode,searchDatasets,listSqlQueries,saveOrUpdateCustomSql,executeCustomSql,generateSqlCode,validateSqlContent,listBffScripts,getBffScriptInfo,saveOrUpdateBffScript}from'./tools/index.js';const require=createRequire(import.meta.url),packageJson=require(a7_0x57b955(0x114)),authSchema={'appCode':z[a7_0x57b955(0x127)]()[a7_0x57b955(0xfc)]()[a7_0x57b955(0xf6)](a7_0x57b955(0x10f)),'cookie':z[a7_0x57b955(0x127)]()[a7_0x57b955(0xfc)]()[a7_0x57b955(0xf6)](a7_0x57b955(0x10e))};function a7_0x48b4(_0x3fdd87,_0x33fdce){_0x3fdd87=_0x3fdd87-0xf1;const _0x1222bb=a7_0x1222();let _0x48b400=_0x1222bb[_0x3fdd87];return _0x48b400;}function registerToolWithOptions(_0x48bfd2,_0x5f8609,_0x2893ac,_0x5a1a64){const _0x46dddb=a7_0x57b955;_0x48bfd2[_0x46dddb(0xf4)](_0x5f8609,_0x2893ac,_0x5a1a64);}function wrapHandler(_0x5ed7ec){return async _0x543b2a=>{const _0x1fb778=a7_0x48b4;try{const _0x53204e=await _0x5ed7ec(_0x543b2a);return{'content':[{'type':_0x1fb778(0x12b),'text':JSON[_0x1fb778(0x103)](_0x53204e,null,0x2)}]};}catch(_0x15eb88){return{'content':[{'type':_0x1fb778(0x12b),'text':JSON['stringify']({'error':!![],'message':_0x15eb88[_0x1fb778(0x122)]||_0x1fb778(0x11e)},null,0x2)}],'isError':!![]};}};}export class LovrabetDatasetMCPServer{[a7_0x57b955(0x14c)];[a7_0x57b955(0x147)];constructor(_0x10fef4={}){const _0x1ec5fe=a7_0x57b955;this[_0x1ec5fe(0x147)]=_0x10fef4,this[_0x1ec5fe(0x14c)]=new McpServer({'name':'lovrabet-dataset-mcp','version':packageJson[_0x1ec5fe(0x12f)]},{'capabilities':{'tools':{}},'instructions':buildInstructions(_0x10fef4)}),this['registerAllTools']();}[a7_0x57b955(0x139)](){const _0x140705=a7_0x57b955;registerToolWithOptions(this['mcpServer'],_0x140705(0x118),{'title':_0x140705(0x104),'description':_0x140705(0x12e),'inputSchema':{'env':z['enum'](['online',_0x140705(0xff)])[_0x140705(0xfc)]()[_0x140705(0xf6)](_0x140705(0x151))},'annotations':{'readOnlyHint':![],'destructiveHint':![],'idempotentHint':!![]}},wrapHandler(login)),registerToolWithOptions(this[_0x140705(0x14c)],'list_datasets',{'title':_0x140705(0x130),'description':_0x140705(0x129),'inputSchema':{...authSchema,'forceRefresh':z[_0x140705(0x138)]()[_0x140705(0xfc)]()[_0x140705(0xf6)](_0x140705(0x15b)),'includeRelations':z[_0x140705(0x138)]()[_0x140705(0xfc)]()['describe'](_0x140705(0x128))},'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![]}},wrapHandler(listDatasets)),registerToolWithOptions(this[_0x140705(0x14c)],_0x140705(0x146),{'title':'Search\x20Datasets','description':'Search\x20datasets\x20by\x20keyword\x20(searches\x20in\x20name,\x20table\x20name,\x20code,\x20and\x20description).','inputSchema':{...authSchema,'keyword':z[_0x140705(0x127)]()[_0x140705(0xf6)](_0x140705(0x13b))},'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![]}},wrapHandler(searchDatasets)),registerToolWithOptions(this['mcpServer'],_0x140705(0x121),{'title':'Get\x20Dataset\x20Detail','description':'Get\x20detailed\x20dataset\x20information\x20including\x20fields,\x20operations,\x20and\x20relations.\x20Supports\x20both\x20dataset\x20ID\x20(numeric)\x20and\x20code\x20(UUID).','inputSchema':{...authSchema,'datasetCode':z[_0x140705(0x127)]()['describe']('Dataset\x20ID\x20(numeric)\x20or\x20code\x20(UUID)'),'forceRefresh':z[_0x140705(0x138)]()[_0x140705(0xfc)]()[_0x140705(0xf6)](_0x140705(0x15b)),'includeRelations':z[_0x140705(0x138)]()[_0x140705(0xfc)]()['describe'](_0x140705(0x128))},'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![]}},wrapHandler(getDatasetDetail)),registerToolWithOptions(this[_0x140705(0x14c)],_0x140705(0x156),{'title':'Get\x20Operations','description':_0x140705(0x15a),'inputSchema':{...authSchema,'datasetCode':z['string']()[_0x140705(0xf6)](_0x140705(0x106))},'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![]}},wrapHandler(getDatasetOperations)),registerToolWithOptions(this[_0x140705(0x14c)],_0x140705(0x110),{'title':_0x140705(0x136),'description':_0x140705(0x14a),'inputSchema':{...authSchema,'datasetCode':z['string']()['describe'](_0x140705(0xfe)),'operationName':z['string']()['describe'](_0x140705(0x135))},'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![]}},wrapHandler(getOperationDetail)),registerToolWithOptions(this[_0x140705(0x14c)],'generate_sdk_code',{'title':'Generate\x20SDK\x20Code','description':_0x140705(0xf7),'inputSchema':{...authSchema,'datasetCode':z['string']()['describe'](_0x140705(0xfe)),'operationName':z[_0x140705(0x127)]()[_0x140705(0xf6)](_0x140705(0x135)),'includeImports':z[_0x140705(0x138)]()[_0x140705(0xfc)]()[_0x140705(0xf6)](_0x140705(0x11d)),'useAlias':z['boolean']()[_0x140705(0xfc)]()['describe'](_0x140705(0x12d))},'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![]}},wrapHandler(generateSDKCode)),registerToolWithOptions(this[_0x140705(0x14c)],_0x140705(0x132),{'title':_0x140705(0x14b),'description':_0x140705(0xf1),'inputSchema':{...authSchema,'keyword':z[_0x140705(0x127)]()[_0x140705(0xfc)]()[_0x140705(0xf6)](_0x140705(0x11a)),'category':z['string']()[_0x140705(0xfc)]()[_0x140705(0xf6)](_0x140705(0x153)),'sqlCode':z[_0x140705(0x127)]()[_0x140705(0xfc)]()[_0x140705(0xf6)](_0x140705(0xf5)),'sqlName':z[_0x140705(0x127)]()[_0x140705(0xfc)]()['describe'](_0x140705(0x108)),'pageSize':z[_0x140705(0x150)]()[_0x140705(0xfc)]()[_0x140705(0xf6)](_0x140705(0x140)),'currentPage':z['number']()[_0x140705(0xfc)]()[_0x140705(0xf6)]('Page\x20number\x20(default:\x201)')},'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![]}},wrapHandler(listSqlQueries)),registerToolWithOptions(this['mcpServer'],_0x140705(0x14f),{'title':_0x140705(0x10b),'description':'Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode.\x20Get\x20sqlCode\x20from\x20list_sql_queries\x20first.','inputSchema':{...authSchema,'sqlCode':z[_0x140705(0x127)]()['min'](0x1)[_0x140705(0xf6)]('SQL\x20code\x20from\x20list_sql_queries\x20->\x20sqlCode'),'params':z[_0x140705(0x11b)](z['union']([z['string'](),z[_0x140705(0x150)]()]))[_0x140705(0xfc)]()[_0x140705(0xf6)](_0x140705(0x105))},'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![]}},wrapHandler(executeCustomSql)),registerToolWithOptions(this[_0x140705(0x14c)],_0x140705(0x10a),{'title':'Generate\x20SQL\x20Code','description':_0x140705(0x14d),'inputSchema':{...authSchema,'sqlCode':z[_0x140705(0x127)]()[_0x140705(0x159)](0x1)[_0x140705(0xf6)](_0x140705(0xfd)),'params':z[_0x140705(0x11b)](z['union']([z[_0x140705(0x127)](),z[_0x140705(0x150)]()]))[_0x140705(0xfc)]()[_0x140705(0xf6)](_0x140705(0x112)),'includeImports':z['boolean']()['optional']()['describe'](_0x140705(0x11d)),'target':z[_0x140705(0x107)]([_0x140705(0x131),_0x140705(0x137)])[_0x140705(0xfc)]()[_0x140705(0xf6)](_0x140705(0x154))},'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![]}},wrapHandler(generateSqlCode)),registerToolWithOptions(this['mcpServer'],_0x140705(0x117),{'title':_0x140705(0xf2),'description':_0x140705(0x145),'inputSchema':{...authSchema,'sqlContent':z[_0x140705(0x127)]()[_0x140705(0x159)](0x1)[_0x140705(0xf6)](_0x140705(0x116)),'dbId':z[_0x140705(0x150)]()[_0x140705(0xfc)]()[_0x140705(0xf6)](_0x140705(0xf8)),'validateSchemas':z[_0x140705(0x143)](z[_0x140705(0x127)]())[_0x140705(0xfc)]()[_0x140705(0xf6)]('Dataset\x20codes\x20to\x20validate\x20against')},'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![]}},wrapHandler(validateSqlContent)),registerToolWithOptions(this[_0x140705(0x14c)],_0x140705(0xfb),{'title':'Save\x20or\x20Update\x20Custom\x20SQL','description':_0x140705(0x120),'inputSchema':{...authSchema,'sqlName':z[_0x140705(0x127)]()[_0x140705(0x159)](0x1)[_0x140705(0xf6)](_0x140705(0x12c)),'dbId':z['number']()['describe'](_0x140705(0x10c)),'sqlContent':z['string']()['min'](0x1)['describe'](_0x140705(0x13e)),'id':z[_0x140705(0x150)]()['optional']()[_0x140705(0xf6)](_0x140705(0x119))},'annotations':{'readOnlyHint':![],'destructiveHint':![],'idempotentHint':![]}},wrapHandler(saveOrUpdateCustomSql)),this[_0x140705(0x147)][_0x140705(0x149)]&&(registerToolWithOptions(this[_0x140705(0x14c)],'list_bff_scripts',{'title':_0x140705(0x13a),'description':_0x140705(0x11f),'inputSchema':{...authSchema},'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![]}},wrapHandler(listBffScripts)),registerToolWithOptions(this[_0x140705(0x14c)],'get_bff_script_info',{'title':_0x140705(0x102),'description':_0x140705(0x11c),'inputSchema':{...authSchema,'id':z[_0x140705(0x150)]()[_0x140705(0xf6)](_0x140705(0x115))},'annotations':{'readOnlyHint':!![],'destructiveHint':![],'idempotentHint':!![]}},wrapHandler(getBffScriptInfo)),registerToolWithOptions(this[_0x140705(0x14c)],'save_or_update_bff_script',{'title':_0x140705(0xf3),'description':_0x140705(0x13d),'inputSchema':{...authSchema,'id':z[_0x140705(0x150)]()['optional']()[_0x140705(0xf6)](_0x140705(0x13c)),'description':z['string']()['min'](0x1)[_0x140705(0xf6)](_0x140705(0x142)),'scriptContent':z[_0x140705(0x127)]()[_0x140705(0x159)](0x1)[_0x140705(0xf6)](_0x140705(0x152))},'annotations':{'readOnlyHint':![],'destructiveHint':!![],'idempotentHint':![]}},wrapHandler(saveOrUpdateBffScript)));}get['server'](){const _0x39e02b=a7_0x57b955;return this[_0x39e02b(0x14c)];}async[a7_0x57b955(0x100)](_0x59039e){const _0x4c41a3=a7_0x57b955;await this[_0x4c41a3(0x14c)]['connect'](_0x59039e);}async[a7_0x57b955(0x109)](){const _0x1879f4=a7_0x57b955;await this[_0x1879f4(0x14c)][_0x1879f4(0x109)]();}[a7_0x57b955(0x148)](){const _0x591226=a7_0x57b955;if(!process[_0x591226(0x125)][_0x591226(0x101)])return;console[_0x591226(0x141)](_0x591226(0x10d)),console[_0x591226(0x141)](_0x591226(0x144)+packageJson['version']),console['log'](_0x591226(0x155)),this[_0x591226(0x147)][_0x591226(0x149)]&&console['log'](_0x591226(0x123));}}function buildInstructions(_0x2a89b2){const _0xfd4867=a7_0x57b955,_0x134acc=_0x2a89b2['bffAutosave']===!![],_0x4384b7=_0x134acc?_0xfd4867(0x134):'';return _0xfd4867(0x13f)+_0x4384b7+'\x0a';}export function createServer(_0x58bbbb){return new LovrabetDatasetMCPServer(_0x58bbbb);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x106cfa,_0x31d32a){const _0x542a0f=a8_0x1761,_0x189635=_0x106cfa();while(!![]){try{const _0x16b109=parseInt(_0x542a0f(0x1dc))/0x1*(-parseInt(_0x542a0f(0x1cf))/0x2)+-parseInt(_0x542a0f(0x1d3))/0x3+-parseInt(_0x542a0f(0x1d0))/0x4*(parseInt(_0x542a0f(0x1c3))/0x5)+parseInt(_0x542a0f(0x1c7))/0x6+-parseInt(_0x542a0f(0x1d5))/0x7+-parseInt(_0x542a0f(0x1d7))/0x8+parseInt(_0x542a0f(0x1cc))/0x9*(parseInt(_0x542a0f(0x1cb))/0xa);if(_0x16b109===_0x31d32a)break;else _0x189635['push'](_0x189635['shift']());}catch(_0x24277a){_0x189635['push'](_0x189635['shift']());}}}(a8_0x18aa,0x777f9));function a8_0x1761(_0x558672,_0x20d997){_0x558672=_0x558672-0x1c0;const _0x18aa72=a8_0x18aa();let _0x176160=_0x18aa72[_0x558672];return _0x176160;}function a8_0x18aa(){const _0x31d3ec=['SQL\x20executed\x20successfully.\x20Returned\x20','3783486ZANgoj','errorMsg','keys','API\x20call\x20failed:\x20','9392500zybjjJ','27vJzVcK','\x20row(s).','execError','123110uvDJBP','4552yCBBCm','success','execSuccess','1931589hYQyns','sqlCode\x20is\x20required.\x20Get\x20it\x20from\x20list_sql_queries\x20->\x20sqlCode','2357985qAXIQP','UNKNOWN','5920072rLjnXx','message','Unknown\x20error','now','trim','11rqkSCL','data','executeSql','length','ERR','2465DJHJZL','appCode\x20is\x20required.\x20Provide\x20it\x20as\x20parameter\x20or\x20set\x20LOVRABET_APP_CODE\x20environment\x20variable.','errorCode'];a8_0x18aa=function(){return _0x31d3ec;};return a8_0x18aa();}import{DevApiClient}from'../api/dev-api-client.js';import{getEnvAppCode}from'../config/env.js';export async function executeCustomSql(_0x121094){const _0x27af57=a8_0x1761,_0x3ab99e=Date[_0x27af57(0x1da)](),{appCode:appCode=getEnvAppCode(),cookie:_0x34f53c,sqlCode:_0x120331,params:_0x225775}=_0x121094;if(!appCode)throw new Error(_0x27af57(0x1c4));if(!_0x120331||_0x120331[_0x27af57(0x1db)]()==='')throw new Error(_0x27af57(0x1d4));const _0xd0a6b0=new DevApiClient({'appCode':appCode,'cookie':_0x34f53c}),_0x47aa9f=_0x225775&&Object['keys'](_0x225775)[_0x27af57(0x1c1)]>0x0,_0x5729e5=_0x47aa9f?Object[_0x27af57(0x1c9)](_0x225775):[],_0x213818={'sqlCode':_0x120331,'hasParams':_0x47aa9f||![],'paramNames':_0x5729e5||[]};try{const _0x5b0757=await _0xd0a6b0[_0x27af57(0x1c0)]({'sqlCode':_0x120331[_0x27af57(0x1db)](),'params':_0x225775}),_0x22a375=Date[_0x27af57(0x1da)]()-_0x3ab99e,_0x137937=_0x5b0757[_0x27af57(0x1d1)]??![],_0xb81553=_0x5b0757[_0x27af57(0x1c5)];if(!_0x137937){const _0x271874=_0x5b0757[_0x27af57(0x1c8)]||_0x5b0757['msg']||_0x27af57(0x1d9);return{'success':![],'execSuccess':![],'execError':_0x271874,'errorCode':_0xb81553||_0x27af57(0x1d6),'message':'SQL\x20execution\x20failed\x20['+(_0xb81553||_0x27af57(0x1c2))+']:\x20'+_0x271874,'executionTime':_0x22a375,'sqlInfo':_0x213818};}const _0x24eed9=_0x5b0757[_0x27af57(0x1dd)]||_0x5b0757,_0x394036=_0x24eed9[_0x27af57(0x1d2)]??_0x24eed9['success']??!![],_0x5cec0f=_0x24eed9['execResult']||_0x24eed9[_0x27af57(0x1dd)],_0x26aa51=_0x24eed9[_0x27af57(0x1ce)]||_0x24eed9[_0x27af57(0x1c8)];if(_0x394036){const _0x1a5979=Array['isArray'](_0x5cec0f)?_0x5cec0f[_0x27af57(0x1c1)]:0x0;return{'success':!![],'execSuccess':!![],'execResult':_0x5cec0f||[],'rowCount':_0x1a5979,'message':_0x27af57(0x1c6)+_0x1a5979+_0x27af57(0x1cd),'executionTime':_0x22a375,'sqlInfo':_0x213818};}return{'success':!![],'execSuccess':![],'execError':_0x26aa51||'SQL\x20execution\x20failed\x20without\x20error\x20message','message':'SQL\x20execution\x20failed:\x20'+(_0x26aa51||_0x27af57(0x1d9)),'executionTime':_0x22a375,'sqlInfo':_0x213818};}catch(_0xee62){const _0x5271ef=Date[_0x27af57(0x1da)]()-_0x3ab99e;return{'success':![],'execSuccess':![],'execError':_0xee62[_0x27af57(0x1d8)]||_0x27af57(0x1d9),'message':_0x27af57(0x1ca)+(_0xee62['message']||_0x27af57(0x1d9)),'executionTime':_0x5271ef,'sqlInfo':_0x213818};}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x4c472d,_0x44539c){const _0xbec19a=a9_0x4033,_0x5bcfb3=_0x4c472d();while(!![]){try{const _0xb88c04=-parseInt(_0xbec19a(0x167))/0x1+-parseInt(_0xbec19a(0x169))/0x2*(-parseInt(_0xbec19a(0x15e))/0x3)+parseInt(_0xbec19a(0x166))/0x4+-parseInt(_0xbec19a(0x164))/0x5*(parseInt(_0xbec19a(0x16b))/0x6)+parseInt(_0xbec19a(0x171))/0x7*(parseInt(_0xbec19a(0x157))/0x8)+-parseInt(_0xbec19a(0x16d))/0x9*(-parseInt(_0xbec19a(0x160))/0xa)+-parseInt(_0xbec19a(0x161))/0xb;if(_0xb88c04===_0x44539c)break;else _0x5bcfb3['push'](_0x5bcfb3['shift']());}catch(_0x1b1ceb){_0x5bcfb3['push'](_0x5bcfb3['shift']());}}}(a9_0x597b,0x622a5));import{DevApiClient}from'../api/dev-api-client.js';function a9_0x4033(_0x5f22e3,_0xb4d5b3){_0x5f22e3=_0x5f22e3-0x154;const _0x597bb6=a9_0x597b();let _0x40330d=_0x597bb6[_0x5f22e3];return _0x40330d;}import{DrivenDataDetailPlus}from'@lovrabet/dsparser';import{getEnvAppCode,getEnvironment}from'../config/env.js';import{buildFieldRelationsMap,enrichFieldsWithRelations}from'../utils/relations.js';function a9_0x597b(){const _0x4733d9=['getOperationDocMeta','datasetCode\x20is\x20required','getTableName','Cannot\x20generate\x20SDK\x20code\x20for\x20operation\x20\x27','9yzgWDT','//\x20数据集:\x20','30UNGpvO','2789215OEwWhy','toJSON','\x20|\x20数据表:\x20','5SBVlwh','generateFullSDKExample','20300KenMRd','100447QEaFIj','requestExample','394894PPcpFU','operationName\x20is\x20required','3215562Cuuuuh','getTableKey','585387laIeRA','datasetCode','sdkCall','usageExample','10563aXDGLf','getModelAlias','\x27\x20in\x20dataset\x20\x27','replace','2648PHIFXT','getFieldList','generateAliasExplanation'];a9_0x597b=function(){return _0x4733d9;};return a9_0x597b();}export async function generateSDKCode(_0x1dd176){const _0x243097=a9_0x4033,{appCode:appCode=getEnvAppCode(),cookie:_0x1d09d6,datasetCode:_0x242295,operationName:_0x41a0ef,includeImports:includeImports=!![],useAlias:useAlias=![]}=_0x1dd176;if(!appCode)throw new Error('appCode\x20is\x20required.\x20Provide\x20it\x20as\x20parameter\x20or\x20set\x20LOVRABET_APP_CODE\x20environment\x20variable.');if(!_0x242295)throw new Error(_0x243097(0x15b));if(!_0x41a0ef)throw new Error(_0x243097(0x16a));const _0x1c6188=new DevApiClient({'appCode':appCode,'cookie':_0x1d09d6}),_0x3c8121=getEnvironment(),_0x5d31de=await _0x1c6188['getDatasetDetail'](_0x242295),_0x15e980=_0x5d31de['data']||_0x5d31de,_0x5a895e=new DrivenDataDetailPlus(_0x15e980),_0x438674=_0x5a895e[_0x243097(0x15a)](_0x41a0ef);if(!_0x438674)throw new Error(_0x243097(0x15d)+_0x41a0ef+_0x243097(0x155)+_0x242295+'\x27');const _0x3954d8=_0x5a895e['getDatasetSDKKey'](),_0x55f2f2=_0x5a895e[_0x243097(0x154)](),_0x323799=_0x5a895e[_0x243097(0x16c)](),_0x4f8aff=_0x5a895e[_0x243097(0x15c)](),_0x20fd3b=_0x5a895e['name'],_0x3a05cd=_0x5a895e[_0x243097(0x158)](),_0xd91a6=_0x3a05cd?.[_0x243097(0x162)]?.()||[],_0x4b58d9=buildFieldRelationsMap(_0x5d31de),_0xae89d9=enrichFieldsWithRelations(_0xd91a6,_0x4b58d9),_0x3995b2=_0x5a895e[_0x243097(0x165)](_0x41a0ef,appCode),_0x5974f6=_0x5a895e['getOperationAnalysis'](_0x41a0ef);let _0x468f17=_0x438674[_0x243097(0x16f)]['code'],_0x238ec2=_0x3995b2||undefined;useAlias&&(_0x468f17=_0x468f17[_0x243097(0x156)](new RegExp(_0x3954d8,'g'),_0x55f2f2),_0x238ec2&&(_0x238ec2=_0x238ec2['replace'](new RegExp(_0x3954d8,'g'),_0x55f2f2)));const _0x5d5acf=_0x243097(0x15f)+_0x20fd3b+_0x243097(0x163)+_0x4f8aff+'\x0a',_0x240b0f=_0x5d5acf+_0x468f17,_0x5f029d=_0x238ec2?_0x243097(0x15f)+_0x20fd3b+_0x243097(0x163)+_0x4f8aff+'\x0a'+_0x238ec2:undefined;return{'appCode':appCode,'env':_0x3c8121,'datasetName':_0x20fd3b,'language':'typescript','code':_0x240b0f,'fullExample':includeImports?_0x5f029d:undefined,'sdkCallInfo':{'modelName':_0x55f2f2,'tableName':_0x4f8aff,'tableKey':_0x323799,'datasetCode':_0x5a895e[_0x243097(0x16e)],'operationName':_0x41a0ef},'fields':_0xae89d9,'requestExample':_0x5974f6?.[_0x243097(0x168)],'responseExample':_0x5974f6?.['responseExample'],'sdkInitCode':_0x5a895e['generateSDKInitCode'](_0x323799),'usageExample':_0x438674[_0x243097(0x170)],'aliasExplanation':useAlias?_0x5a895e[_0x243097(0x159)]():undefined,'aliasHint':{'defaultAlias':_0x55f2f2,'datasetSDKKey':_0x3954d8}};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a10_0x323b(){const _0x39a5be=['\x27,\x0a});\x0a\x0a//\x20Execute\x20SQL:\x20','date','6393501aYWHZm','search','SQL\x20code\x20\x22','sqlCode','8528400eODDxv','10118qSGPif','Failed\x20to\x20verify\x20SQL\x20code:\x20','14415379qULFnv','Check\x20the\x20sqlCode\x20from\x20list_sql_queries\x20result\x20and\x20use\x20the\x20exact\x20value.','toLowerCase','530435qFkDjY','16FCdDGq','sqlContent','\x22\x20not\x20found\x20in\x20the\x20application.','\x22\x20does\x20not\x20exist.\x20Use\x20list_sql_queries\x20to\x20find\x20valid\x20SQL\x20codes.','2024-01-01','example','sqlId','sdk','find','\x22\x0aexport\x20default\x20async\x20function(params,\x20context)\x20{\x0a\x20\x20const\x20rows\x20=\x20await\x20context.client.sql.execute(','appCode\x20is\x20required.\x20Provide\x20it\x20as\x20parameter\x20or\x20set\x20LOVRABET_APP_CODE\x20environment\x20variable.','time','match','tableData','bff','name','//\x20Initialize\x20the\x20SDK\x20client\x0aconst\x20client\x20=\x20new\x20LovrabetClient({\x0a\x20\x20appCode:\x20\x27','BFF\x20context.client.sql.execute()\x20returns\x20rows\x20T[]\x20directly\x20—\x20no\x20wrapper\x20object','//\x20Backend\x20Function:\x20Execute\x20SQL\x20\x22','includes','285448aruoKP','This\x20SQL\x20requires\x20parameters:\x20','map','\x27,\x0a\x20\x20params:\x20','getCustomSqlList','39ooSybA','limit',');\x0a\x0a//\x20IMPORTANT:\x20SDK\x20returns\x20wrapper\x20—\x20check\x20execSuccess\x20before\x20using\x20results\x0aif\x20(!data.execSuccess)\x20{\x0a\x20\x20throw\x20new\x20Error(\x27SQL\x20execution\x20failed\x27);\x0a}\x0a\x0a//\x20Process\x20the\x20results\x0aconst\x20results\x20=\x20data.execResult\x20||\x20[];\x0aconsole.log(`Retrieved\x20${results.length}\x20rows`);\x0a\x0a//\x20Use\x20the\x20data\x0aresults.forEach((row:\x20any)\x20=>\x20{\x0a\x20\x20console.log(row);\x0a});','trim','8vuGICw','\x27\x20}','stringify','On\x20HTTP\x20error,\x20SDK\x20throws\x20LovrabetError\x20—\x20use\x20try-catch','246vVlJNE','page','message','sqlCode\x20is\x20required','size','14672ioJndd','keyword','Generated\x20',',\x0a}','entries','Use\x20list_sql_queries\x20to\x20see\x20all\x20available\x20SQLs.'];a10_0x323b=function(){return _0x39a5be;};return a10_0x323b();}(function(_0x446726,_0x389b4d){const _0x31f88f=a10_0x202c,_0x5a7afb=_0x446726();while(!![]){try{const _0x57cd93=-parseInt(_0x31f88f(0x136))/0x1+parseInt(_0x31f88f(0x155))/0x2*(parseInt(_0x31f88f(0x13b))/0x3)+-parseInt(_0x31f88f(0x15b))/0x4*(parseInt(_0x31f88f(0x15a))/0x5)+-parseInt(_0x31f88f(0x143))/0x6*(parseInt(_0x31f88f(0x148))/0x7)+-parseInt(_0x31f88f(0x13f))/0x8*(-parseInt(_0x31f88f(0x150))/0x9)+-parseInt(_0x31f88f(0x154))/0xa+parseInt(_0x31f88f(0x157))/0xb;if(_0x57cd93===_0x389b4d)break;else _0x5a7afb['push'](_0x5a7afb['shift']());}catch(_0x2b2cf4){_0x5a7afb['push'](_0x5a7afb['shift']());}}}(a10_0x323b,0x6af39));function a10_0x202c(_0x4e2f46,_0x42b82a){_0x4e2f46=_0x4e2f46-0x133;const _0x323bb8=a10_0x323b();let _0x202c7a=_0x323bb8[_0x4e2f46];return _0x202c7a;}import{DevApiClient}from'../api/dev-api-client.js';import{getEnvAppCode,getEnvironment}from'../config/env.js';export async function generateSqlCode(_0x356e83){const _0x211fe6=a10_0x202c,{appCode:appCode=getEnvAppCode(),cookie:_0x25416a,sqlCode:_0xe096d0,params:_0x4500aa,includeImports:includeImports=!![],target:target=_0x211fe6(0x162)}=_0x356e83;if(!appCode)throw new Error(_0x211fe6(0x165));if(!_0xe096d0||_0xe096d0[_0x211fe6(0x13e)]()==='')return{'success':![],'sqlCode':'','sqlName':'','sqlExists':![],'code':'','usage':{'description':'','important':[]},'error':_0x211fe6(0x146)};const _0x380aab=_0xe096d0[_0x211fe6(0x13e)](),_0x4c9bec=new DevApiClient({'appCode':appCode,'cookie':_0x25416a}),_0x90e132=getEnvironment();try{const _0x301120=await _0x4c9bec[_0x211fe6(0x13a)]({'pageSize':0x3e7,'currentPage':0x1,'sqlCode':_0x380aab}),_0x598251=_0x301120['data']?.[_0x211fe6(0x168)]||[],_0x1b1f45=_0x598251[_0x211fe6(0x163)](_0x32ba49=>_0x32ba49[_0x211fe6(0x153)]===_0x380aab||_0x32ba49[_0x211fe6(0x153)]?.[_0x211fe6(0x135)](_0x380aab)||_0x380aab[_0x211fe6(0x135)](_0x32ba49[_0x211fe6(0x153)]));if(!_0x1b1f45)return{'success':![],'sqlCode':_0x380aab,'sqlName':'','sqlExists':![],'code':'','usage':{'description':'','important':[_0x211fe6(0x152)+_0x380aab+_0x211fe6(0x15d),_0x211fe6(0x14d),_0x211fe6(0x158)]},'error':'SQL\x20code\x20\x22'+_0x380aab+_0x211fe6(0x15e)};const _0x46d938=_0x1b1f45[_0x211fe6(0x153)],_0x2bcd6a=_0x1b1f45['sqlName']||_0x1b1f45['name']||'SQL-'+(_0x1b1f45[_0x211fe6(0x161)]||_0x1b1f45['id']),_0x3b31b0=_0x1b1f45[_0x211fe6(0x15c)]||_0x1b1f45['sql']||'',_0xd12525=_0x3b31b0[_0x211fe6(0x167)](/[:$]\{?(\w+)\}?/g);let _0x401cf3,_0x4e1f0a;if(_0xd12525){const _0x9d5ab=Array['from'](new Set(_0xd12525[_0x211fe6(0x138)](_0x237a8c=>_0x237a8c['replace'](/[:${}]/g,''))));_0x401cf3=_0x9d5ab[_0x211fe6(0x138)](_0x226669=>{const _0x22db82=_0x4500aa?.[_0x226669]??getDefaultExample(_0x226669);return{'name':_0x226669,'example':_0x22db82};}),_0x4e1f0a=_0x401cf3['reduce']((_0x46f69c,_0x1e7944)=>({..._0x46f69c,[_0x1e7944[_0x211fe6(0x16a)]]:_0x1e7944[_0x211fe6(0x160)]}),{});}else _0x4500aa&&(_0x401cf3=Object[_0x211fe6(0x14c)](_0x4500aa)[_0x211fe6(0x138)](([_0x2dea23,_0x32e714])=>({'name':_0x2dea23,'example':_0x32e714})),_0x4e1f0a=_0x4500aa);const _0xef65ab=_0x401cf3&&_0x401cf3['length']>0x0,_0xd7d2ac=_0xef65ab?JSON[_0x211fe6(0x141)](_0x4e1f0a,null,0x2):'',_0x2ea999=_0xef65ab?'{\x0a\x20\x20sqlCode:\x20\x27'+_0x46d938+_0x211fe6(0x139)+_0xd7d2ac+_0x211fe6(0x14b):'{\x20sqlCode:\x20\x27'+_0x46d938+_0x211fe6(0x140);let _0x2e990f;target===_0x211fe6(0x169)?_0x2e990f=_0x211fe6(0x134)+_0x2bcd6a+_0x211fe6(0x164)+_0x2ea999+');\x0a\x0a\x20\x20//\x20rows\x20is\x20T[]\x20directly\x20—\x20no\x20wrapper,\x20errors\x20throw\x20exceptions\x0a\x20\x20console.log(`Retrieved\x20${rows.length}\x20rows`);\x0a\x0a\x20\x20return\x20{\x20data:\x20rows\x20};\x0a}':_0x2e990f=(includeImports?'import\x20{\x20LovrabetClient\x20}\x20from\x20\x27@lovrabet/sdk\x27;\x0a\x0a':'')+_0x211fe6(0x16b)+appCode+'\x27,\x0a\x20\x20env:\x20\x27'+_0x90e132+_0x211fe6(0x14e)+_0x2bcd6a+'\x0aconst\x20data\x20=\x20await\x20client.sql.execute('+_0x2ea999+_0x211fe6(0x13d);const _0x505dd7=target==='bff';return{'success':!![],'sqlCode':_0x46d938,'sqlName':_0x2bcd6a,'sqlExists':!![],'code':_0x2e990f,'parameters':_0x401cf3,'usage':{'description':_0x211fe6(0x14a)+(_0x505dd7?'Backend\x20Function':'Frontend\x20SDK')+'\x20code\x20for\x20SQL:\x20'+_0x2bcd6a,'important':[_0x211fe6(0x152)+_0x46d938+'\x22\x20exists\x20and\x20is\x20valid.',_0x505dd7?_0x211fe6(0x133):'SDK\x20client.sql.execute()\x20returns\x20{\x20execSuccess,\x20execResult\x20}\x20—\x20always\x20check\x20execSuccess',_0x505dd7?'Errors\x20throw\x20exceptions\x20—\x20use\x20try-catch':_0x211fe6(0x142),_0xef65ab?_0x211fe6(0x137)+_0x401cf3[_0x211fe6(0x138)](_0x269afb=>_0x269afb[_0x211fe6(0x16a)])['join'](',\x20'):'This\x20SQL\x20does\x20not\x20require\x20any\x20parameters','Note:\x20client.api.executeSql()\x20is\x20deprecated.\x20Use\x20client.sql.execute()\x20instead.']}};}catch(_0x12a08e){return{'success':![],'sqlCode':_0x380aab,'sqlName':'','sqlExists':![],'code':'','usage':{'description':'','important':[_0x211fe6(0x156)+_0x12a08e[_0x211fe6(0x145)],_0x211fe6(0x14d)]},'error':_0x211fe6(0x156)+_0x12a08e[_0x211fe6(0x145)]};}}function getDefaultExample(_0x20a9a1){const _0x5f22f4=a10_0x202c,_0x1ee856=_0x20a9a1[_0x5f22f4(0x159)]();if(_0x1ee856[_0x5f22f4(0x135)](_0x5f22f4(0x14f))||_0x1ee856[_0x5f22f4(0x135)](_0x5f22f4(0x166)))return _0x5f22f4(0x15f);if(_0x1ee856['includes']('id'))return 0x7b;if(_0x1ee856[_0x5f22f4(0x135)](_0x5f22f4(0x13c))||_0x1ee856[_0x5f22f4(0x135)]('count')||_0x1ee856[_0x5f22f4(0x135)](_0x5f22f4(0x147)))return 0xa;if(_0x1ee856[_0x5f22f4(0x135)](_0x5f22f4(0x144)))return 0x1;if(_0x1ee856[_0x5f22f4(0x135)](_0x5f22f4(0x149))||_0x1ee856[_0x5f22f4(0x135)](_0x5f22f4(0x151))||_0x1ee856[_0x5f22f4(0x135)](_0x5f22f4(0x16a)))return'example';if(_0x1ee856['includes']('status'))return 0x1;return'value';}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a11_0x1d48(){const _0xa9a2df=['5098TOLNfN','149636TMbtiW','id\x20is\x20required\x20and\x20must\x20be\x20a\x20positive\x20number.\x20Get\x20it\x20from\x20list_bff_scripts.','2547Koxpnw','getBffScriptInfo','7150aeqtdN','87NmHWFV','1221857nDuebM','data','success','45008PkcvcR','appCode\x20is\x20required.\x20Provide\x20it\x20as\x20parameter\x20or\x20set\x20LOVRABET_APP_CODE\x20environment\x20variable.','1514056LfIRPc','1242294dxsKsk','5Tbhnqh','Failed\x20to\x20fetch\x20Backend\x20Function\x20script\x20info\x20for\x20id:\x20'];a11_0x1d48=function(){return _0xa9a2df;};return a11_0x1d48();}function a11_0x5563(_0x2ec1ef,_0x1fa88b){_0x2ec1ef=_0x2ec1ef-0x1c8;const _0x1d4827=a11_0x1d48();let _0x556384=_0x1d4827[_0x2ec1ef];return _0x556384;}(function(_0xe54589,_0x3364a7){const _0x9a3f92=a11_0x5563,_0x3765fd=_0xe54589();while(!![]){try{const _0x442b8f=parseInt(_0x9a3f92(0x1cc))/0x1+-parseInt(_0x9a3f92(0x1d2))/0x2*(-parseInt(_0x9a3f92(0x1c8))/0x3)+-parseInt(_0x9a3f92(0x1d3))/0x4*(-parseInt(_0x9a3f92(0x1d0))/0x5)+-parseInt(_0x9a3f92(0x1cf))/0x6+parseInt(_0x9a3f92(0x1c9))/0x7+-parseInt(_0x9a3f92(0x1ce))/0x8+parseInt(_0x9a3f92(0x1d5))/0x9*(parseInt(_0x9a3f92(0x1d7))/0xa);if(_0x442b8f===_0x3364a7)break;else _0x3765fd['push'](_0x3765fd['shift']());}catch(_0x5de9e4){_0x3765fd['push'](_0x3765fd['shift']());}}}(a11_0x1d48,0x216e0));import{DevApiClient}from'../api/dev-api-client.js';import{getEnvAppCode}from'../config/env.js';export async function getBffScriptInfo(_0x4ef8bc){const _0x2d8dde=a11_0x5563,{appCode:appCode=getEnvAppCode(),cookie:_0x439e5a,id:_0x240e74}=_0x4ef8bc;if(!appCode)throw new Error(_0x2d8dde(0x1cd));if(!_0x240e74||_0x240e74<=0x0)throw new Error(_0x2d8dde(0x1d4));const _0x5ed56e=new DevApiClient({'appCode':appCode,'cookie':_0x439e5a}),_0x3aee3e=await _0x5ed56e[_0x2d8dde(0x1d6)](_0x240e74);if(!_0x3aee3e[_0x2d8dde(0x1cb)]||!_0x3aee3e['data'])return{'success':![],'message':_0x2d8dde(0x1d1)+_0x240e74};return{'success':!![],'script':_0x3aee3e[_0x2d8dde(0x1ca)]};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0xd8fd55,_0x51bdf8){const _0x50f6f9=a12_0x4e0b,_0x18439b=_0xd8fd55();while(!![]){try{const _0x3d9882=-parseInt(_0x50f6f9(0x1b8))/0x1*(parseInt(_0x50f6f9(0x1ca))/0x2)+parseInt(_0x50f6f9(0x1c2))/0x3*(parseInt(_0x50f6f9(0x1bb))/0x4)+-parseInt(_0x50f6f9(0x1c4))/0x5*(parseInt(_0x50f6f9(0x1cb))/0x6)+-parseInt(_0x50f6f9(0x1b0))/0x7+parseInt(_0x50f6f9(0x1c9))/0x8+-parseInt(_0x50f6f9(0x1bf))/0x9*(-parseInt(_0x50f6f9(0x1bd))/0xa)+parseInt(_0x50f6f9(0x1c1))/0xb*(parseInt(_0x50f6f9(0x1b5))/0xc);if(_0x3d9882===_0x51bdf8)break;else _0x18439b['push'](_0x18439b['shift']());}catch(_0x2cd467){_0x18439b['push'](_0x18439b['shift']());}}}(a12_0x29ba,0xa3180));function a12_0x4e0b(_0x18caf8,_0x445243){_0x18caf8=_0x18caf8-0x1aa;const _0x29ba06=a12_0x29ba();let _0x4e0bc7=_0x29ba06[_0x18caf8];return _0x4e0bc7;}import{DevApiClient}from'../api/dev-api-client.js';import{DrivenDataDetailPlus}from'@lovrabet/dsparser';import{getEnvAppCode,getEnvironment}from'../config/env.js';function a12_0x29ba(){const _0x189876=['120142UgGytx','24081PSybIW','toField','15FvAiBQ','data','getFieldCount','References\x20','fromField','4002072YnsOpn','10lMWTRv','1675302bOexUn','getEnabledOperationAnalyses','getTableName','api','getOperationCount','unknown','fromDataset','toTableName','getDatasetDetail','MANY_TO_ONE','length','datasetCode\x20is\x20required','joinType','8389899WwUARq','\x20=\x20',')\x20via\x20','Referenced\x20by\x20','appCode\x20is\x20required.\x20Provide\x20it\x20as\x20parameter\x20or\x20set\x20LOVRABET_APP_CODE\x20environment\x20variable.','2580snUull','toDataset','push','211483NXAGFi','isArray','relations','448rqvaOs','hasRelations','141420XfWpgU','toDatasetName','9nHqUEn','fromTableName'];a12_0x29ba=function(){return _0x189876;};return a12_0x29ba();}import{rateLimiters}from'../utils/rate-limiter.js';export async function getDatasetDetail(_0x20b9e8){const _0x89ecc3=a12_0x4e0b,{appCode:appCode=getEnvAppCode(),cookie:_0x34492d,datasetCode:_0x52de11,forceRefresh:forceRefresh=![],includeRelations:includeRelations=!![]}=_0x20b9e8;if(!appCode)throw new Error(_0x89ecc3(0x1b4));if(!_0x52de11)throw new Error(_0x89ecc3(0x1ae));const _0x2b4e7e=new DevApiClient({'appCode':appCode,'cookie':_0x34492d}),_0x265bec=getEnvironment(),_0x462786=forceRefresh?await rateLimiters[_0x89ecc3(0x1ce)]['throttle'](()=>_0x2b4e7e['getDatasetDetail'](_0x52de11,forceRefresh,includeRelations)):await _0x2b4e7e[_0x89ecc3(0x1ab)](_0x52de11,forceRefresh,includeRelations),_0x16bad5=_0x462786[_0x89ecc3(0x1c5)]||_0x462786,_0x415c7d=new DrivenDataDetailPlus(_0x16bad5),_0x14d73e={'fieldCount':_0x415c7d[_0x89ecc3(0x1c6)](),'operationCount':_0x415c7d[_0x89ecc3(0x1cf)](),'enabledOperationCount':_0x415c7d[_0x89ecc3(0x1cc)]()?.[_0x89ecc3(0x1ad)]||0x0,'hasRelations':![]},_0x22f944=_0x16bad5[_0x89ecc3(0x1ba)];_0x14d73e[_0x89ecc3(0x1bc)]=Array[_0x89ecc3(0x1b9)](_0x22f944)&&_0x22f944['length']>0x0;let _0x5aa4e1;if(_0x14d73e[_0x89ecc3(0x1bc)]&&includeRelations){const _0x187be3=[],_0x3565a5=_0x415c7d[_0x89ecc3(0x1cd)]();for(const _0x5610ef of _0x22f944){const _0x101cfb=_0x5610ef[_0x89ecc3(0x1be)]||_0x5610ef[_0x89ecc3(0x1b6)]||_0x89ecc3(0x1d0),_0x1b1831=_0x5610ef[_0x89ecc3(0x1c8)],_0x5b3794=_0x5610ef[_0x89ecc3(0x1c3)],_0x445c62=_0x5610ef[_0x89ecc3(0x1aa)]||_0x5610ef[_0x89ecc3(0x1b6)]||_0x89ecc3(0x1d0),_0x2b8be4=_0x5610ef[_0x89ecc3(0x1af)]||_0x89ecc3(0x1ac);if(_0x5610ef[_0x89ecc3(0x1d1)]&&_0x5610ef[_0x89ecc3(0x1d1)]!==_0x52de11){const _0x2c81f2=_0x5610ef[_0x89ecc3(0x1c0)]||_0x5610ef[_0x89ecc3(0x1d1)]||_0x89ecc3(0x1d0);_0x187be3[_0x89ecc3(0x1b7)](_0x89ecc3(0x1b3)+_0x101cfb+'('+_0x2b8be4+_0x89ecc3(0x1b2)+_0x2c81f2+'.'+_0x1b1831+_0x89ecc3(0x1b1)+_0x3565a5+'.'+_0x5b3794);}else _0x187be3[_0x89ecc3(0x1b7)](_0x89ecc3(0x1c7)+_0x101cfb+'('+_0x2b8be4+_0x89ecc3(0x1b2)+_0x3565a5+'.'+_0x1b1831+_0x89ecc3(0x1b1)+_0x445c62+'.'+_0x5b3794);}_0x187be3['length']>0x0&&(_0x5aa4e1=_0x187be3['join'](';\x20'));}return{'appCode':appCode,'env':_0x265bec,'data':_0x16bad5,'_stats':_0x14d73e,'_relationsSummary':_0x5aa4e1};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x4c80bf,_0x6a3b17){const _0x493290=a13_0x79cc,_0x33367e=_0x4c80bf();while(!![]){try{const _0x2ba73f=-parseInt(_0x493290(0x126))/0x1+parseInt(_0x493290(0x121))/0x2*(parseInt(_0x493290(0x136))/0x3)+parseInt(_0x493290(0x12e))/0x4+-parseInt(_0x493290(0x12b))/0x5*(parseInt(_0x493290(0x11e))/0x6)+parseInt(_0x493290(0x12c))/0x7*(parseInt(_0x493290(0x11d))/0x8)+parseInt(_0x493290(0x132))/0x9+parseInt(_0x493290(0x123))/0xa*(parseInt(_0x493290(0x120))/0xb);if(_0x2ba73f===_0x6a3b17)break;else _0x33367e['push'](_0x33367e['shift']());}catch(_0x3b4810){_0x33367e['push'](_0x33367e['shift']());}}}(a13_0x4d44,0x4f3d1));import{DevApiClient}from'../api/dev-api-client.js';function a13_0x79cc(_0x238939,_0xedf9de){_0x238939=_0x238939-0x11d;const _0x4d4421=a13_0x4d44();let _0x79ccb4=_0x4d4421[_0x238939];return _0x79ccb4;}import{DrivenDataDetailPlus}from'@lovrabet/dsparser';import{getEnvAppCode,getEnvironment}from'../config/env.js';export async function getOperationDetail(_0x4445c2){const _0x28dc3d=a13_0x79cc,{appCode:appCode=getEnvAppCode(),cookie:_0x2a6067,datasetCode:_0x4a312f,operationName:_0x5aa622}=_0x4445c2;if(!appCode)throw new Error(_0x28dc3d(0x11f));if(!_0x4a312f)throw new Error(_0x28dc3d(0x124));if(!_0x5aa622)throw new Error(_0x28dc3d(0x12d));const _0x1d3fe5=new DevApiClient({'appCode':appCode,'cookie':_0x2a6067}),_0x35df8c=getEnvironment(),_0x5f11b8=/^\d+$/[_0x28dc3d(0x122)](_0x4a312f);let _0x46efbf;if(_0x5f11b8)_0x46efbf=_0x4a312f;else{let _0x4395d4;_0x4395d4=await _0x1d3fe5[_0x28dc3d(0x127)]();let _0x24ca0d=_0x4395d4[_0x28dc3d(0x125)];_0x24ca0d&&!Array['isArray'](_0x24ca0d)&&(_0x24ca0d=_0x24ca0d[_0x28dc3d(0x12f)]||_0x4395d4[_0x28dc3d(0x12f)]);!Array[_0x28dc3d(0x133)](_0x24ca0d)&&(_0x24ca0d=[]);const _0x3ef3ef=_0x24ca0d[_0x28dc3d(0x129)](_0x194128=>_0x194128['code']===_0x4a312f||_0x194128[_0x28dc3d(0x131)]===_0x4a312f);if(!_0x3ef3ef)throw new Error(_0x28dc3d(0x134)+_0x4a312f);_0x46efbf=String(_0x3ef3ef['id']);}const _0x39fbe6=await _0x1d3fe5['getDatasetDetail'](_0x46efbf),_0x220246=_0x39fbe6[_0x28dc3d(0x125)]||_0x39fbe6,_0x4b0e1d=new DrivenDataDetailPlus(_0x220246),_0x4beb8a=_0x4b0e1d[_0x28dc3d(0x135)](_0x5aa622);if(!_0x4beb8a)throw new Error(_0x28dc3d(0x130)+_0x5aa622+_0x28dc3d(0x12a)+_0x4a312f+'\x27');return{'appCode':appCode,'env':_0x35df8c,'datasetName':_0x4b0e1d[_0x28dc3d(0x128)],'operation':_0x4beb8a};}function a13_0x4d44(){const _0x488a29=['Operation\x20\x27','datasetCode','1931328ZhPysl','isArray','Dataset\x20not\x20found\x20with\x20code:\x20','getOperationAnalysis','723dTcmQs','497224QasLIf','42PfMBvc','appCode\x20is\x20required.\x20Provide\x20it\x20as\x20parameter\x20or\x20set\x20LOVRABET_APP_CODE\x20environment\x20variable.','1667149Ftljjw','2524ppWXAB','test','20rIlWeq','datasetCode\x20is\x20required','data','283144ikGTkR','getDatasetList','name','find','\x27\x20not\x20found\x20in\x20dataset\x20\x27','401485ylXviK','35Ubkcbo','operationName\x20is\x20required','148668PFquyZ','tableData'];a13_0x4d44=function(){return _0x488a29;};return a13_0x4d44();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4fb650,_0x4dd20d){const _0x2d8e73=a14_0x48d0,_0x5c7494=_0x4fb650();while(!![]){try{const _0x30f582=parseInt(_0x2d8e73(0xe8))/0x1+parseInt(_0x2d8e73(0xe6))/0x2*(-parseInt(_0x2d8e73(0xe4))/0x3)+parseInt(_0x2d8e73(0xf2))/0x4*(parseInt(_0x2d8e73(0xf1))/0x5)+-parseInt(_0x2d8e73(0xe2))/0x6*(parseInt(_0x2d8e73(0xe9))/0x7)+-parseInt(_0x2d8e73(0xe7))/0x8+parseInt(_0x2d8e73(0xe3))/0x9*(parseInt(_0x2d8e73(0xeb))/0xa)+-parseInt(_0x2d8e73(0xf0))/0xb*(-parseInt(_0x2d8e73(0xee))/0xc);if(_0x30f582===_0x4dd20d)break;else _0x5c7494['push'](_0x5c7494['shift']());}catch(_0x2c249d){_0x5c7494['push'](_0x5c7494['shift']());}}}(a14_0x466e,0x33705));import{DevApiClient}from'../api/dev-api-client.js';function a14_0x48d0(_0x3b76b0,_0x2e0fbd){_0x3b76b0=_0x3b76b0-0xde;const _0x466e8a=a14_0x466e();let _0x48d0b1=_0x466e8a[_0x3b76b0];return _0x48d0b1;}import{DrivenDataDetailPlus}from'@lovrabet/dsparser';function a14_0x466e(){const _0x508a16=['enabled','1236PDeFVT','type','21923iJQtaG','522755PiToeF','12CEcWhS','length','requestFields','method','name','31236WEdrkw','3123DuROed','6Uuwhwg','datasetCode\x20is\x20required','330364ehsutF','1171704ZQBbjO','154434XKECVJ','511VycAsP','displayName','11360kOQKEw','getOperationCount'];a14_0x466e=function(){return _0x508a16;};return a14_0x466e();}import{getEnvAppCode,getEnvironment}from'../config/env.js';export async function getDatasetOperations(_0x1ba1d2){const _0x447b4d=a14_0x48d0,{appCode:appCode=getEnvAppCode(),cookie:_0x550b42,datasetCode:_0x1d8137}=_0x1ba1d2;if(!appCode)throw new Error('appCode\x20is\x20required.\x20Provide\x20it\x20as\x20parameter\x20or\x20set\x20LOVRABET_APP_CODE\x20environment\x20variable.');if(!_0x1d8137)throw new Error(_0x447b4d(0xe5));const _0x3cbb63=new DevApiClient({'appCode':appCode,'cookie':_0x550b42}),_0x4dbe6b=getEnvironment(),_0x4bf0fc=await _0x3cbb63['getDatasetDetail'](_0x1d8137),_0x5e5bc0=_0x4bf0fc['data']||_0x4bf0fc,_0x299f9b=new DrivenDataDetailPlus(_0x5e5bc0),_0x3ef217=_0x299f9b['getEnabledOperationAnalyses']()||[];return{'appCode':appCode,'env':_0x4dbe6b,'datasetName':_0x299f9b[_0x447b4d(0xe1)],'tableName':_0x299f9b['getTableName'](),'operations':_0x3ef217['map'](_0x1a6b9a=>({'name':_0x1a6b9a['name'],'displayName':_0x1a6b9a[_0x447b4d(0xea)],'type':_0x1a6b9a[_0x447b4d(0xef)],'method':_0x1a6b9a[_0x447b4d(0xe0)],'path':_0x1a6b9a['path'],'requestFieldsCount':_0x1a6b9a[_0x447b4d(0xdf)][_0x447b4d(0xde)],'enabled':_0x1a6b9a[_0x447b4d(0xed)]})),'stats':{'total':_0x299f9b[_0x447b4d(0xec)](),'enabled':_0x3ef217[_0x447b4d(0xde)],'supportsCRUD':_0x299f9b['supportsCRUD']()}};}
|
package/dist/tools/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x5e0328,_0x167212){var _0x2188bf=a15_0x5aa1,_0x1c52ad=_0x5e0328();while(!![]){try{var _0x1f1b25=-parseInt(_0x2188bf(0xed))/0x1+parseInt(_0x2188bf(0xf5))/0x2*(-parseInt(_0x2188bf(0xf7))/0x3)+-parseInt(_0x2188bf(0xef))/0x4*(-parseInt(_0x2188bf(0xf0))/0x5)+-parseInt(_0x2188bf(0xf8))/0x6*(parseInt(_0x2188bf(0xf6))/0x7)+parseInt(_0x2188bf(0xf2))/0x8+-parseInt(_0x2188bf(0xf3))/0x9*(-parseInt(_0x2188bf(0xf1))/0xa)+-parseInt(_0x2188bf(0xf4))/0xb*(-parseInt(_0x2188bf(0xee))/0xc);if(_0x1f1b25===_0x167212)break;else _0x1c52ad['push'](_0x1c52ad['shift']());}catch(_0x416020){_0x1c52ad['push'](_0x1c52ad['shift']());}}}(a15_0x49ad,0x7ba91));export{login}from'./login.js';export{listDatasets}from'./list-datasets.js';export{getDatasetDetail}from'./get-dataset-detail.js';export{getDatasetOperations}from'./get-operations.js';function a15_0x49ad(){var _0x53b945=['200884CnmclT','40AEhDBo','1116230HIJtOm','3961688YOyiEj','9obWDol','3586GxeksX','394BbROKS','14pUVeYK','13719fJPtTP','401856UcmBsw','276062CytDin','29772aVKQuU'];a15_0x49ad=function(){return _0x53b945;};return a15_0x49ad();}export{getOperationDetail}from'./get-operation-detail.js';export{generateSDKCode}from'./generate-sdk-code.js';export{searchDatasets}from'./search-datasets.js';export{listSqlQueries}from'./list-sql-queries.js';export{saveOrUpdateCustomSql}from'./save-or-update-custom-sql.js';export{executeCustomSql}from'./execute-custom-sql.js';export{generateSqlCode}from'./generate-sql-code.js';export{validateSqlContent}from'./validate-sql-content.js';export{listBffScripts}from'./list-bff-scripts.js';export{getBffScriptInfo}from'./get-bff-script-info.js';function a15_0x5aa1(_0x5c6d76,_0x43748b){_0x5c6d76=_0x5c6d76-0xed;var _0x49ade3=a15_0x49ad();var _0x5aa177=_0x49ade3[_0x5c6d76];return _0x5aa177;}export{saveOrUpdateBffScript}from'./save-or-update-bff-script.js';
|