@lovrabet/lovrabet-cli 2.1.3 → 2.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cli.js +1 -1
- package/lib/commands/api-doc/index.js +1 -1
- package/lib/commands/app/cache.js +1 -1
- package/lib/commands/app/definitions.js +1 -1
- package/lib/commands/app/eligibility.js +1 -1
- package/lib/commands/app/mock-loader.js +1 -1
- package/lib/commands/app/remote-source.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/artifact/index.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/auth/prompt.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/exec.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/common/config-policy.js +1 -1
- package/lib/commands/common/constraints.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/config/definitions.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/sdk-doc.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/init.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/personal-bff/index.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/service/dynamic.js +1 -1
- package/lib/commands/service/index.js +1 -1
- package/lib/commands/service/registry.js +1 -1
- package/lib/commands/skill/commands/create.js +1 -1
- package/lib/commands/skill/commands/install.js +1 -1
- package/lib/commands/skill/commands/list.js +1 -1
- package/lib/commands/skill/commands/push.js +1 -1
- package/lib/commands/skill/commands/validate.js +1 -1
- package/lib/commands/skill/flags.js +1 -1
- package/lib/commands/skill/index.js +1 -1
- package/lib/commands/skill/manifest-helpers.js +1 -1
- package/lib/commands/skill/scopes.js +1 -1
- package/lib/commands/skill/summary.js +1 -1
- package/lib/commands/skill/templates.js +1 -1
- package/lib/commands/skill/validate.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/update.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/app.js +1 -1
- package/lib/constant/auth-mode.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/distribution.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/product.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/url.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/sdk-client.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/dryrun.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/preparse.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-confirmation.js +1 -1
- package/lib/framework/runner-error.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/runtime-skill-sync/constants.js +1 -1
- package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
- package/lib/skills/runtime-skill-sync/hashing.js +1 -1
- package/lib/skills/runtime-skill-sync/links.js +1 -1
- package/lib/skills/runtime-skill-sync/list-local.js +1 -1
- package/lib/skills/runtime-skill-sync/local-files.js +1 -1
- package/lib/skills/runtime-skill-sync/materialize.js +1 -1
- package/lib/skills/runtime-skill-sync/metadata.js +1 -1
- package/lib/skills/runtime-skill-sync/paths.js +1 -1
- package/lib/skills/runtime-skill-sync/push.js +1 -1
- package/lib/skills/runtime-skill-sync/scopes.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
- package/lib/skills/runtime-skill-sync.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a28_0x1d98a2=a28_0x2226;(function(_0x4e2e4e,_0x4ce2d9){const _0x307408=a28_0x2226,_0x141e3e=_0x4e2e4e();while(!![]){try{const _0x2d6378=parseInt(_0x307408(0xf2))/0x1*(-parseInt(_0x307408(0xed))/0x2)+parseInt(_0x307408(0xe9))/0x3*(parseInt(_0x307408(0xf9))/0x4)+-parseInt(_0x307408(0xe5))/0x5*(-parseInt(_0x307408(0xe7))/0x6)+-parseInt(_0x307408(0xff))/0x7+parseInt(_0x307408(0xe3))/0x8+parseInt(_0x307408(0x101))/0x9*(parseInt(_0x307408(0xfa))/0xa)+-parseInt(_0x307408(0xfd))/0xb;if(_0x2d6378===_0x4ce2d9)break;else _0x141e3e['push'](_0x141e3e['shift']());}catch(_0x3c44fc){_0x141e3e['push'](_0x141e3e['shift']());}}}(a28_0x30b2,0x4de73));function a28_0x2226(_0xb5a1ed,_0x426ad9){_0xb5a1ed=_0xb5a1ed-0xe1;const _0x30b2a9=a28_0x30b2();let _0x2226ad=_0x30b2a9[_0xb5a1ed];return _0x2226ad;}import{logger}from'../../utils/logger.js';import{CLI_DISPLAY_NAME}from'../../constant/cli.js';function printLogs(_0x95c350){const _0x2b1e12=a28_0x2226;if(_0x95c350[_0x2b1e12(0xea)]===0x0){console['log'](_0x2b1e12(0xf1));return;}console[_0x2b1e12(0xf3)]('*\x20'+CLI_DISPLAY_NAME+_0x2b1e12(0xef)),_0x95c350[_0x2b1e12(0xec)]((_0x2b6f73,_0x100d7e)=>{const _0x476310=_0x2b1e12,_0x13208e=new Date(_0x2b6f73[_0x476310(0xfb)])[_0x476310(0xe2)](_0x476310(0xf6)),_0x451135=_0x2b6f73['level']==='success'?'√':_0x2b6f73[_0x476310(0x102)]==='error'?'×':_0x2b6f73[_0x476310(0x102)]===_0x476310(0xfe)?'!':'i';console['log'](_0x100d7e+0x1+'.\x20'+_0x451135+'\x20['+_0x2b6f73['command']+']\x20'+_0x2b6f73[_0x476310(0xf4)]),console[_0x476310(0xf3)](_0x476310(0x100)+_0x13208e),_0x2b6f73['duration']&&console['log'](_0x476310(0xf5)+_0x2b6f73['duration']+'ms'),_0x2b6f73['details']&&Object[_0x476310(0xf7)](_0x2b6f73[_0x476310(0xe4)])[_0x476310(0xea)]>0x0&&console[_0x476310(0xf3)](_0x476310(0xeb)+JSON[_0x476310(0xe1)](_0x2b6f73[_0x476310(0xe4)],null,0x2)),console[_0x476310(0xf3)]('');});}function a28_0x30b2(){const _0x5472f1=['timestamp','logs','3234242jbrsBE','warn','4316725EeWFdl','\x20\x20\x20Time:\x20','725121sQjZQN','level','View\x20command\x20history\x20logs','stringify','toLocaleString','2265696kjuJkZ','details','5MYxiQr','show','2209806vLbqtj','*\x20Logs\x20cleared','47571uoUcku','length','\x20\x20\x20Details:\x20','forEach','1049692rIMAQS','clear','\x20logs:\x0a','clearLogs','*\x20No\x20logs\x20found','1TGEpgT','log','message','\x20\x20\x20Duration:\x20','en-US','keys','Clear\x20command\x20history\x20logs','136aSJzti','70DMYaHB'];a28_0x30b2=function(){return _0x5472f1;};return a28_0x30b2();}export const logsDefinitions=[{'service':a28_0x1d98a2(0xfc),'command':a28_0x1d98a2(0xe6),'description':a28_0x1d98a2(0x103),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x4bb35){return printLogs(logger['readLogs']()),{'ok':!![]};}},{'service':'logs','command':a28_0x1d98a2(0xee),'description':a28_0x1d98a2(0xf8),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x36f658){const _0x44a9d3=a28_0x1d98a2;return logger[_0x44a9d3(0xf0)](),console['log'](_0x44a9d3(0xe8)),{'ok':!![]};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a29_0xaa7b58=a29_0xb807;(function(_0x30599a,_0x571529){const _0x25990b=a29_0xb807,_0x28f272=_0x30599a();while(!![]){try{const _0x1c71ed=-parseInt(_0x25990b(0x195))/0x1*(-parseInt(_0x25990b(0x1b2))/0x2)+parseInt(_0x25990b(0x1c7))/0x3*(parseInt(_0x25990b(0x1b5))/0x4)+parseInt(_0x25990b(0x1d0))/0x5*(parseInt(_0x25990b(0x1c9))/0x6)+parseInt(_0x25990b(0x1c8))/0x7+parseInt(_0x25990b(0x1c0))/0x8*(-parseInt(_0x25990b(0x1af))/0x9)+-parseInt(_0x25990b(0x1c3))/0xa+-parseInt(_0x25990b(0x1ad))/0xb*(parseInt(_0x25990b(0x1a4))/0xc);if(_0x1c71ed===_0x571529)break;else _0x28f272['push'](_0x28f272['shift']());}catch(_0x1b4487){_0x28f272['push'](_0x28f272['shift']());}}}(a29_0x4f1e,0x7f1c8));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalBff,executePersonalBff,getPersonalBff,listPersonalBffs,updatePersonalBff}from'../../core/api-client.js';import{ID_FLAG,PARAMS_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{parseJsonParams}from'../../utils/params.js';const FUNCTION_NAME_PATTERN=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,FILE_FLAG={'name':a29_0xaa7b58(0x1a9),'type':a29_0xaa7b58(0x1a7),'description':a29_0xaa7b58(0x192)},FUNCTION_NAME_FLAG={'name':'name','type':a29_0xaa7b58(0x1a7),'required':!![],'description':a29_0xaa7b58(0x1c4)},DESCRIPTION_FLAG={'name':a29_0xaa7b58(0x191),'type':a29_0xaa7b58(0x1a7),'description':'Personal\x20BFF\x20description'},SOURCE_SESSION_FLAG={'name':a29_0xaa7b58(0x1b0),'type':'string','description':a29_0xaa7b58(0x1b7)};function normalizeFunctionName(_0x4bed62){const _0x47305b=a29_0xaa7b58,_0x4c4829=String(_0x4bed62||'')[_0x47305b(0x19a)]();if(!_0x4c4829||!FUNCTION_NAME_PATTERN[_0x47305b(0x1b3)](_0x4c4829))throw CliErrors['validation']('--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.');return _0x4c4829;}function a29_0x4f1e(){const _0xd33ccc=['4357jOzTvo','createUserId','bool','personal-bff','gmtCreate','trim','functionName','write','validation','Personal\x20BFF\x20script\x20ID','createTime','POST','File\x20is\x20not\x20a\x20regular\x20file:\x20','body','flag','12zJAOzd','Updated\x20personal\x20BFF\x20','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.','string','num','file','Update\x20a\x20personal\x20BFF\x20by\x20id','File\x20path\x20is\x20required.','detail','5702356DewfIj','isArray','3779262HjoXdh','source-session-id','Show\x20one\x20personal\x20BFF\x20by\x20id','378vkYslJ','test','config','296084XoCPBt','Personal\x20BFF\x20script\x20file\x20is\x20blank.','Optional\x20source\x20RuntimeAgent\x20session\x20id','length','/update','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','scriptType','Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','scriptContent','read','updateTime','8LPCQlP','isFile','name','8521360yaDWpn','Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders','update','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','42xeWZUs','1278284uVnLLS','3366eUmZKX','Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','version','high-risk-write','str','utf8','Preview:\x20update\x20personal\x20BFF\x20','2395VIftlN','Preview:\x20create\x20personal\x20BFF\x20','appCode','list','build','File\x20not\x20found:\x20','description','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','gmtModified','map'];a29_0x4f1e=function(){return _0xd33ccc;};return a29_0x4f1e();}function readScriptFile(_0x5e08ec){const _0x23c3f0=a29_0xaa7b58;if(!_0x5e08ec)throw CliErrors[_0x23c3f0(0x19d)](_0x23c3f0(0x1ab));if(!existsSync(_0x5e08ec))throw CliErrors[_0x23c3f0(0x19d)](_0x23c3f0(0x190)+_0x5e08ec);if(!statSync(_0x5e08ec)[_0x23c3f0(0x1c1)]())throw CliErrors[_0x23c3f0(0x19d)](_0x23c3f0(0x1a1)+_0x5e08ec);const _0x5a0965=readFileSync(_0x5e08ec,_0x23c3f0(0x1ce));if(!_0x5a0965[_0x23c3f0(0x19a)]())throw CliErrors['validation'](_0x23c3f0(0x1b6));return _0x5a0965;}function optionalTrimmed(_0x15580d){const _0x947a73=String(_0x15580d||'')['trim']();return _0x947a73||undefined;}function summarizeBff(_0xa40f77){const _0xf89077=a29_0xaa7b58;return{'id':_0xa40f77['id'],'appCode':_0xa40f77[_0xf89077(0x1d2)],'functionName':_0xa40f77[_0xf89077(0x19b)],'description':_0xa40f77['description'],'scriptType':_0xa40f77['scriptType'],'version':_0xa40f77[_0xf89077(0x1cb)],'gmtModified':_0xa40f77[_0xf89077(0x193)],'updateTime':_0xa40f77[_0xf89077(0x1bf)]};}function detailBff(_0xfb5207){const _0x4f5dee=a29_0xaa7b58;return{'id':_0xfb5207['id'],'appCode':_0xfb5207[_0x4f5dee(0x1d2)],'functionName':_0xfb5207['functionName'],'description':_0xfb5207[_0x4f5dee(0x191)],'scriptType':_0xfb5207[_0x4f5dee(0x1bb)],'scriptContent':_0xfb5207[_0x4f5dee(0x1bd)]??'','config':_0xfb5207[_0x4f5dee(0x1b4)],'version':_0xfb5207[_0x4f5dee(0x1cb)],'createUserId':_0xfb5207[_0x4f5dee(0x196)],'gmtCreate':_0xfb5207[_0x4f5dee(0x199)],'gmtModified':_0xfb5207['gmtModified'],'createTime':_0xfb5207[_0x4f5dee(0x19f)],'updateTime':_0xfb5207[_0x4f5dee(0x1bf)]};}function a29_0xb807(_0xb4a7b8,_0x2b1cb2){_0xb4a7b8=_0xb4a7b8-0x18e;const _0x4f1ee0=a29_0x4f1e();let _0xb8079=_0x4f1ee0[_0xb4a7b8];return _0xb8079;}function buildCreateInput(_0x2d3283){const _0x2a58e8=a29_0xaa7b58;return{'functionName':normalizeFunctionName(_0x2d3283[_0x2a58e8(0x1cd)]('name')),...optionalTrimmed(_0x2d3283[_0x2a58e8(0x1cd)](_0x2a58e8(0x191)))?{'description':optionalTrimmed(_0x2d3283[_0x2a58e8(0x1cd)](_0x2a58e8(0x191)))}:{},'scriptContent':readScriptFile(_0x2d3283[_0x2a58e8(0x1cd)](_0x2a58e8(0x1a9))),...optionalTrimmed(_0x2d3283[_0x2a58e8(0x1cd)](_0x2a58e8(0x1b0)))?{'sourceSessionId':optionalTrimmed(_0x2d3283[_0x2a58e8(0x1cd)](_0x2a58e8(0x1b0)))}:{}};}function buildUpdateInput(_0x42caa4){const _0x23de11=a29_0xaa7b58,_0xf1228f={};optionalTrimmed(_0x42caa4[_0x23de11(0x1cd)](_0x23de11(0x1c2)))&&(_0xf1228f[_0x23de11(0x19b)]=normalizeFunctionName(_0x42caa4[_0x23de11(0x1cd)](_0x23de11(0x1c2))));_0x42caa4[_0x23de11(0x1a3)](_0x23de11(0x191))!==undefined&&(_0xf1228f[_0x23de11(0x191)]=_0x42caa4[_0x23de11(0x1cd)](_0x23de11(0x191)));optionalTrimmed(_0x42caa4[_0x23de11(0x1cd)](_0x23de11(0x1a9)))&&(_0xf1228f[_0x23de11(0x1bd)]=readScriptFile(_0x42caa4['str'](_0x23de11(0x1a9))));_0x42caa4[_0x23de11(0x1a3)](_0x23de11(0x1b0))!==undefined&&(_0xf1228f['sourceSessionId']=_0x42caa4['str']('source-session-id'));if(Object['keys'](_0xf1228f)[_0x23de11(0x1b8)]===0x0)throw CliErrors['validation'](_0x23de11(0x1a6));return _0xf1228f;}function parseExecParams(_0x3f775d){const _0x3e3afc=a29_0xaa7b58,_0x2fcf88=parseJsonParams(_0x3f775d)??{};if(Array[_0x3e3afc(0x1ae)](_0x2fcf88))throw CliErrors[_0x3e3afc(0x19d)]('--params\x20must\x20be\x20a\x20JSON\x20object.');return _0x2fcf88;}const personalBffList={'service':'personal-bff','command':a29_0xaa7b58(0x18e),'description':a29_0xaa7b58(0x1ba),'risk':a29_0xaa7b58(0x1be),'flags':[VERBOSE_FLAG],async 'execute'(_0x485e15){const _0x19d0e0=a29_0xaa7b58,_0x2015b1=await listPersonalBffs(_0x485e15[_0x19d0e0(0x1d2)]);return{'ok':!![],'data':{'total':_0x2015b1[_0x19d0e0(0x1b8)],'items':_0x485e15[_0x19d0e0(0x197)]('verbose')?_0x2015b1:_0x2015b1[_0x19d0e0(0x194)](summarizeBff)}};}},personalBffDetail={'service':'personal-bff','command':a29_0xaa7b58(0x1ac),'description':a29_0xaa7b58(0x1b1),'risk':a29_0xaa7b58(0x1be),'flags':[{...ID_FLAG,'description':a29_0xaa7b58(0x19e)}],async 'execute'(_0x1744d1){const _0x33d30c=a29_0xaa7b58,_0x4e6da0=await getPersonalBff(_0x1744d1[_0x33d30c(0x1a8)]('id'),_0x1744d1[_0x33d30c(0x1d2)]);return{'ok':!![],'data':detailBff(_0x4e6da0)};}},personalBffCreate={'service':a29_0xaa7b58(0x198),'command':'create','description':a29_0xaa7b58(0x1ca),'risk':a29_0xaa7b58(0x19c),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x3fe109){const _0x223130=a29_0xaa7b58,_0x53a160=buildCreateInput(_0x3fe109),_0x5d2aa1=await createPersonalBff(_0x3fe109[_0x223130(0x1d2)],_0x53a160);return{'ok':!![],'data':detailBff(_0x5d2aa1),'message':'Created\x20personal\x20BFF\x20'+_0x5d2aa1['id']+(_0x5d2aa1[_0x223130(0x19b)]?'\x20('+_0x5d2aa1[_0x223130(0x19b)]+')':'')};},async 'dryRun'(_0x488204){const _0x1d4866=a29_0xaa7b58,_0x490302=buildCreateInput(_0x488204);return dryRun('POST','/client/runtime-bff/personal/create')[_0x1d4866(0x1a2)]({'appCode':_0x488204[_0x1d4866(0x1d2)],..._0x490302})[_0x1d4866(0x191)](_0x1d4866(0x1d1)+_0x490302['functionName'])['build']();}},personalBffUpdate={'service':a29_0xaa7b58(0x198),'command':a29_0xaa7b58(0x1c5),'description':a29_0xaa7b58(0x1aa),'risk':a29_0xaa7b58(0x19c),'flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x35a5fb){const _0x3682e2=a29_0xaa7b58,_0x3fdc4f=_0x35a5fb['num']('id'),_0x3a9100=buildUpdateInput(_0x35a5fb),_0x4d579f=await updatePersonalBff(_0x3fdc4f,_0x35a5fb[_0x3682e2(0x1d2)],_0x3a9100);return{'ok':!![],'data':detailBff(_0x4d579f),'message':_0x3682e2(0x1a5)+_0x4d579f['id']+(_0x4d579f['functionName']?'\x20('+_0x4d579f['functionName']+')':'')};},async 'dryRun'(_0x2e4e89){const _0x56a865=a29_0xaa7b58,_0x46d53b=_0x2e4e89[_0x56a865(0x1a8)]('id'),_0x402f14=buildUpdateInput(_0x2e4e89);return dryRun(_0x56a865(0x1a0),'/client/runtime-bff/personal/'+_0x46d53b+_0x56a865(0x1b9))[_0x56a865(0x1a2)]({'appCode':_0x2e4e89[_0x56a865(0x1d2)],..._0x402f14})['description'](_0x56a865(0x1cf)+_0x46d53b)[_0x56a865(0x18f)]();}},personalBffExec={'service':a29_0xaa7b58(0x198),'command':'exec','description':a29_0xaa7b58(0x1bc),'risk':a29_0xaa7b58(0x1cc),'flags':[{...ID_FLAG,'description':a29_0xaa7b58(0x19e)},{...PARAMS_FLAG,'description':a29_0xaa7b58(0x1c6)}],async 'validate'(_0x2882b8){const _0x1c359e=a29_0xaa7b58;parseExecParams(_0x2882b8[_0x1c359e(0x1cd)]('params'));},async 'execute'(_0x1d94d9){const _0x523564=a29_0xaa7b58,_0x29f537=_0x1d94d9['num']('id'),_0x2491f0=parseExecParams(_0x1d94d9[_0x523564(0x1cd)]('params')),_0x24787c=await executePersonalBff(_0x29f537,_0x1d94d9['appCode'],_0x2491f0);return{'ok':!![],'data':{'result':_0x24787c},'message':'Executed\x20personal\x20BFF\x20'+_0x29f537};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
|
|
1
|
+
const a29_0x23c852=a29_0x43e5;(function(_0x82594b,_0x474b01){const _0x2756a0=a29_0x43e5,_0x316c6a=_0x82594b();while(!![]){try{const _0x261b5c=-parseInt(_0x2756a0(0x96))/0x1*(parseInt(_0x2756a0(0xab))/0x2)+-parseInt(_0x2756a0(0xba))/0x3*(-parseInt(_0x2756a0(0xa6))/0x4)+-parseInt(_0x2756a0(0xa8))/0x5+parseInt(_0x2756a0(0x8b))/0x6*(-parseInt(_0x2756a0(0xc0))/0x7)+parseInt(_0x2756a0(0x99))/0x8+parseInt(_0x2756a0(0xc2))/0x9*(-parseInt(_0x2756a0(0xc5))/0xa)+parseInt(_0x2756a0(0x8c))/0xb*(parseInt(_0x2756a0(0xb3))/0xc);if(_0x261b5c===_0x474b01)break;else _0x316c6a['push'](_0x316c6a['shift']());}catch(_0x1c6598){_0x316c6a['push'](_0x316c6a['shift']());}}}(a29_0x5dde,0xb4476));import{existsSync,readFileSync,statSync}from'node:fs';function a29_0x43e5(_0xb12520,_0x57bc29){_0xb12520=_0xb12520-0x87;const _0x5dde64=a29_0x5dde();let _0x43e5fe=_0x5dde64[_0xb12520];return _0x43e5fe;}import{createPersonalBff,executePersonalBff,getPersonalBff,listPersonalBffs,updatePersonalBff}from'../../core/api-client.js';import{ID_FLAG,PARAMS_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{parseJsonParams}from'../../utils/params.js';const FUNCTION_NAME_PATTERN=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,FILE_FLAG={'name':a29_0x23c852(0xc6),'type':a29_0x23c852(0xbd),'description':a29_0x23c852(0x87)},FUNCTION_NAME_FLAG={'name':a29_0x23c852(0xa1),'type':a29_0x23c852(0xbd),'required':!![],'description':a29_0x23c852(0xa3)},DESCRIPTION_FLAG={'name':'description','type':a29_0x23c852(0xbd),'description':'Personal\x20BFF\x20description'},SOURCE_SESSION_FLAG={'name':a29_0x23c852(0x97),'type':a29_0x23c852(0xbd),'description':'Optional\x20source\x20RuntimeAgent\x20session\x20id'};function normalizeFunctionName(_0xb9f766){const _0x22cc2f=a29_0x23c852,_0xdad058=String(_0xb9f766||'')['trim']();if(!_0xdad058||!FUNCTION_NAME_PATTERN[_0x22cc2f(0x9d)](_0xdad058))throw CliErrors[_0x22cc2f(0xae)]('--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.');return _0xdad058;}function readScriptFile(_0x3740fd){const _0x5aa3eb=a29_0x23c852;if(!_0x3740fd)throw CliErrors[_0x5aa3eb(0xae)](_0x5aa3eb(0xb4));if(!existsSync(_0x3740fd))throw CliErrors['validation'](_0x5aa3eb(0xa4)+_0x3740fd);if(!statSync(_0x3740fd)['isFile']())throw CliErrors[_0x5aa3eb(0xae)](_0x5aa3eb(0xb1)+_0x3740fd);const _0x5d5f69=readFileSync(_0x3740fd,_0x5aa3eb(0x94));if(!_0x5d5f69[_0x5aa3eb(0xa9)]())throw CliErrors[_0x5aa3eb(0xae)](_0x5aa3eb(0xb8));return _0x5d5f69;}function a29_0x5dde(){const _0x4fc1f8=['Updated\x20personal\x20BFF\x20','--params\x20must\x20be\x20a\x20JSON\x20object.','2759085pMTXwP','version','13833KGNqya','Preview:\x20create\x20personal\x20BFF\x20','bool','3630NanDgw','file','Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','createTime','scriptContent','exec','6LjvMAt','28869467tttWVr','list','read','str','updateTime','config','build','appCode','utf8','personal-bff','925928qhSGiH','source-session-id','length','9149632xdaEld','update','num','scriptType','test','params','Created\x20personal\x20BFF\x20','/update','name','write','Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders','File\x20not\x20found:\x20','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','4tbNGuc','gmtCreate','6150395DLPniO','trim','gmtModified','2XnfcSl','high-risk-write','functionName','validation','flag','Executed\x20personal\x20BFF\x20','File\x20is\x20not\x20a\x20regular\x20file:\x20','Show\x20one\x20personal\x20BFF\x20by\x20id','12TCbIiZ','File\x20path\x20is\x20required.','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.','Personal\x20BFF\x20script\x20ID','verbose','Personal\x20BFF\x20script\x20file\x20is\x20blank.','/client/runtime-bff/personal/','234942VCiDVK','description','body','string'];a29_0x5dde=function(){return _0x4fc1f8;};return a29_0x5dde();}function optionalTrimmed(_0x2bf487){const _0x13bd59=a29_0x23c852,_0x3022a4=String(_0x2bf487||'')[_0x13bd59(0xa9)]();return _0x3022a4||undefined;}function summarizeBff(_0x201a6c){const _0x2238b7=a29_0x23c852;return{'id':_0x201a6c['id'],'appCode':_0x201a6c[_0x2238b7(0x93)],'functionName':_0x201a6c[_0x2238b7(0xad)],'description':_0x201a6c['description'],'scriptType':_0x201a6c[_0x2238b7(0x9c)],'version':_0x201a6c['version'],'gmtModified':_0x201a6c[_0x2238b7(0xaa)],'updateTime':_0x201a6c['updateTime']};}function detailBff(_0x2b52c6){const _0x1a9358=a29_0x23c852;return{'id':_0x2b52c6['id'],'appCode':_0x2b52c6[_0x1a9358(0x93)],'functionName':_0x2b52c6[_0x1a9358(0xad)],'description':_0x2b52c6[_0x1a9358(0xbb)],'scriptType':_0x2b52c6[_0x1a9358(0x9c)],'scriptContent':_0x2b52c6[_0x1a9358(0x89)]??'','config':_0x2b52c6[_0x1a9358(0x91)],'version':_0x2b52c6[_0x1a9358(0xc1)],'createUserId':_0x2b52c6['createUserId'],'gmtCreate':_0x2b52c6[_0x1a9358(0xa7)],'gmtModified':_0x2b52c6[_0x1a9358(0xaa)],'createTime':_0x2b52c6[_0x1a9358(0x88)],'updateTime':_0x2b52c6[_0x1a9358(0x90)]};}function buildCreateInput(_0x228bf4){const _0x28d1ec=a29_0x23c852;return{'functionName':normalizeFunctionName(_0x228bf4[_0x28d1ec(0x8f)]('name')),...optionalTrimmed(_0x228bf4[_0x28d1ec(0x8f)]('description'))?{'description':optionalTrimmed(_0x228bf4[_0x28d1ec(0x8f)](_0x28d1ec(0xbb)))}:{},'scriptContent':readScriptFile(_0x228bf4[_0x28d1ec(0x8f)](_0x28d1ec(0xc6))),...optionalTrimmed(_0x228bf4[_0x28d1ec(0x8f)]('source-session-id'))?{'sourceSessionId':optionalTrimmed(_0x228bf4[_0x28d1ec(0x8f)]('source-session-id'))}:{}};}function buildUpdateInput(_0x200593){const _0x48a980=a29_0x23c852,_0x424618={};optionalTrimmed(_0x200593['str'](_0x48a980(0xa1)))&&(_0x424618['functionName']=normalizeFunctionName(_0x200593['str'](_0x48a980(0xa1))));_0x200593[_0x48a980(0xaf)](_0x48a980(0xbb))!==undefined&&(_0x424618[_0x48a980(0xbb)]=_0x200593['str'](_0x48a980(0xbb)));optionalTrimmed(_0x200593[_0x48a980(0x8f)]('file'))&&(_0x424618[_0x48a980(0x89)]=readScriptFile(_0x200593[_0x48a980(0x8f)](_0x48a980(0xc6))));_0x200593[_0x48a980(0xaf)](_0x48a980(0x97))!==undefined&&(_0x424618['sourceSessionId']=_0x200593[_0x48a980(0x8f)](_0x48a980(0x97)));if(Object['keys'](_0x424618)['length']===0x0)throw CliErrors[_0x48a980(0xae)](_0x48a980(0xb5));return _0x424618;}function parseExecParams(_0x7bd15b){const _0x129afb=a29_0x23c852,_0x135eed=parseJsonParams(_0x7bd15b)??{};if(Array['isArray'](_0x135eed))throw CliErrors[_0x129afb(0xae)](_0x129afb(0xbf));return _0x135eed;}const personalBffList={'service':a29_0x23c852(0x95),'command':a29_0x23c852(0x8d),'description':'List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','risk':a29_0x23c852(0x8e),'flags':[VERBOSE_FLAG],async 'execute'(_0x2ccad7){const _0x5bb95b=a29_0x23c852,_0x4219ae=await listPersonalBffs(_0x2ccad7['appCode']);return{'ok':!![],'data':{'total':_0x4219ae[_0x5bb95b(0x98)],'items':_0x2ccad7[_0x5bb95b(0xc4)](_0x5bb95b(0xb7))?_0x4219ae:_0x4219ae['map'](summarizeBff)}};}},personalBffDetail={'service':a29_0x23c852(0x95),'command':'detail','description':a29_0x23c852(0xb2),'risk':a29_0x23c852(0x8e),'flags':[{...ID_FLAG,'description':a29_0x23c852(0xb6)}],async 'execute'(_0xfd6dbe){const _0x487a8c=a29_0x23c852,_0x1487dc=await getPersonalBff(_0xfd6dbe[_0x487a8c(0x9b)]('id'),_0xfd6dbe[_0x487a8c(0x93)]);return{'ok':!![],'data':detailBff(_0x1487dc)};}},personalBffCreate={'service':a29_0x23c852(0x95),'command':'create','description':'Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','risk':a29_0x23c852(0xa2),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x2153a9){const _0x519820=a29_0x23c852,_0x398247=buildCreateInput(_0x2153a9),_0x1eb259=await createPersonalBff(_0x2153a9['appCode'],_0x398247);return{'ok':!![],'data':detailBff(_0x1eb259),'message':_0x519820(0x9f)+_0x1eb259['id']+(_0x1eb259[_0x519820(0xad)]?'\x20('+_0x1eb259[_0x519820(0xad)]+')':'')};},async 'dryRun'(_0x1c8a93){const _0x46e002=a29_0x23c852,_0x115d64=buildCreateInput(_0x1c8a93);return dryRun('POST','/client/runtime-bff/personal/create')[_0x46e002(0xbc)]({'appCode':_0x1c8a93['appCode'],..._0x115d64})['description'](_0x46e002(0xc3)+_0x115d64[_0x46e002(0xad)])['build']();}},personalBffUpdate={'service':a29_0x23c852(0x95),'command':a29_0x23c852(0x9a),'description':'Update\x20a\x20personal\x20BFF\x20by\x20id','risk':a29_0x23c852(0xa2),'flags':[{...ID_FLAG,'description':a29_0x23c852(0xb6)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x51ccbd){const _0x8e85eb=a29_0x23c852,_0x1f8d07=_0x51ccbd[_0x8e85eb(0x9b)]('id'),_0x59197f=buildUpdateInput(_0x51ccbd),_0x1ae279=await updatePersonalBff(_0x1f8d07,_0x51ccbd[_0x8e85eb(0x93)],_0x59197f);return{'ok':!![],'data':detailBff(_0x1ae279),'message':_0x8e85eb(0xbe)+_0x1ae279['id']+(_0x1ae279['functionName']?'\x20('+_0x1ae279[_0x8e85eb(0xad)]+')':'')};},async 'dryRun'(_0x2e9bab){const _0x1500db=a29_0x23c852,_0x343e53=_0x2e9bab[_0x1500db(0x9b)]('id'),_0x4e6317=buildUpdateInput(_0x2e9bab);return dryRun('POST',_0x1500db(0xb9)+_0x343e53+_0x1500db(0xa0))[_0x1500db(0xbc)]({'appCode':_0x2e9bab['appCode'],..._0x4e6317})['description']('Preview:\x20update\x20personal\x20BFF\x20'+_0x343e53)[_0x1500db(0x92)]();}},personalBffExec={'service':a29_0x23c852(0x95),'command':a29_0x23c852(0x8a),'description':a29_0x23c852(0xc7),'risk':a29_0x23c852(0xac),'flags':[{...ID_FLAG,'description':a29_0x23c852(0xb6)},{...PARAMS_FLAG,'description':a29_0x23c852(0xa5)}],async 'validate'(_0x4fc40f){const _0x3a571b=a29_0x23c852;parseExecParams(_0x4fc40f[_0x3a571b(0x8f)]('params'));},async 'execute'(_0x2d9b45){const _0x8a16fb=a29_0x23c852,_0x205b06=_0x2d9b45[_0x8a16fb(0x9b)]('id'),_0x367640=parseExecParams(_0x2d9b45[_0x8a16fb(0x8f)](_0x8a16fb(0x9e))),_0x242339=await executePersonalBff(_0x205b06,_0x2d9b45['appCode'],_0x367640);return{'ok':!![],'data':{'result':_0x242339},'message':_0x8a16fb(0xb0)+_0x205b06};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
|
package/lib/commands/registry.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a30_0x2e8088=a30_0xcfad;function a30_0x27d3(){const _0x2d6e1b=['risk','get','Authentication','SQL\x20Queries','Personal\x20BFF','1NBhgkj','run','1219883MRVpUq','show','set','Service\x20Tree','337142fhonbu','Configuration','Skills','install','760mqsgjL','read','Instant\x20API','Self\x20Update','838878tZxwVE','\x20\x20[write]','defaultCommand','BFF\x20Scripts','has','service','values','description','38855NCAOZe','2317940HBApPb','list','22vyDRsg','push','command','map','Datasets','404984fAmBsH','Logs','App\x20Management','Diagnostics','24741MNGkYK','API\x20Documentation','\x20\x20[high-risk-write]','Workspace','162OJAOAd'];a30_0x27d3=function(){return _0x2d6e1b;};return a30_0x27d3();}function a30_0xcfad(_0x3525d9,_0xb0b22b){_0x3525d9=_0x3525d9-0x141;const _0x27d3ff=a30_0x27d3();let _0xcfadd1=_0x27d3ff[_0x3525d9];return _0xcfadd1;}(function(_0x9aba3c,_0x32a37f){const _0x1bf196=a30_0xcfad,_0x149275=_0x9aba3c();while(!![]){try{const _0x533965=-parseInt(_0x1bf196(0x149))/0x1*(-parseInt(_0x1bf196(0x14f))/0x2)+parseInt(_0x1bf196(0x157))/0x3+-parseInt(_0x1bf196(0x167))/0x4+-parseInt(_0x1bf196(0x15f))/0x5*(parseInt(_0x1bf196(0x143))/0x6)+-parseInt(_0x1bf196(0x14b))/0x7+-parseInt(_0x1bf196(0x153))/0x8*(parseInt(_0x1bf196(0x16b))/0x9)+parseInt(_0x1bf196(0x160))/0xa*(parseInt(_0x1bf196(0x162))/0xb);if(_0x533965===_0x32a37f)break;else _0x149275['push'](_0x149275['shift']());}catch(_0x3098dc){_0x149275['push'](_0x149275['shift']());}}}(a30_0x27d3,0x285b2));import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{skillDefinitions}from'../commands/skill/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{serviceDefinitions}from'../commands/service/index.js';import{updateDefinition}from'../commands/update.js';import{doctorDefinition}from'../commands/doctor.js';import{schemaDefinition}from'../commands/schema.js';import{appDefinitions}from'../commands/app/definitions.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/definitions.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{dataDefinitions}from'../commands/data/index.js';import{kbDefinitions}from'../commands/kb/index.js';import{artifactDefinitions}from'../commands/artifact/index.js';import{personalBffDefinitions}from'../commands/personal-bff/index.js';import{apiDocDefinitions}from'../commands/api-doc/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x176a1f){const _0x544304=a30_0xcfad;for(const _0x12970d of _0x176a1f){definitions['set'](_0x12970d['service']+':'+_0x12970d[_0x544304(0x164)],_0x12970d);let _0x47d5bd=serviceGroups[_0x544304(0x145)](_0x12970d[_0x544304(0x15c)]);!_0x47d5bd&&(_0x47d5bd=[],serviceGroups[_0x544304(0x14d)](_0x12970d[_0x544304(0x15c)],_0x47d5bd)),_0x47d5bd[_0x544304(0x163)](_0x12970d);}}function registerService(_0x4c1549,_0x2a43f7,_0xd5c8ba){const _0x361085=a30_0xcfad;registerDefinitions(_0x2a43f7);const _0x410f36=_0x4da195=>_0x4da195===_0x361085(0x154)?'':_0x4da195==='write'?_0x361085(0x158):_0x361085(0x141),_0x2b5ab5={'service':_0x2a43f7[0x0][_0x361085(0x15c)],'label':_0x4c1549,'commands':_0x2a43f7[_0x361085(0x165)](_0x3dab80=>({'command':_0x3dab80['command'],'description':_0x3dab80[_0x361085(0x15e)],'tag':_0x410f36(_0x3dab80[_0x361085(0x144)])})),'defaultCommand':_0xd5c8ba?.[_0x361085(0x159)]??(_0xd5c8ba?.['isSingleCommand']?_0x2a43f7[0x0][_0x361085(0x164)]:undefined),'isSingleCommand':_0xd5c8ba?.['isSingleCommand']};serviceRegistry['push'](_0x2b5ab5),serviceByName[_0x361085(0x14d)](_0x2b5ab5[_0x361085(0x15c)],_0x2b5ab5);}registerService(a30_0x2e8088(0x146),authDefinitions,{'defaultCommand':'login'}),registerService(a30_0x2e8088(0x16c),apiDocDefinitions),registerService(a30_0x2e8088(0x166),datasetDefinitions),registerService(a30_0x2e8088(0x155),dataDefinitions),registerService(a30_0x2e8088(0x147),sqlDefinitions),registerService(a30_0x2e8088(0x15a),bffDefinitions),registerService(a30_0x2e8088(0x148),personalBffDefinitions),registerService('Artifacts',artifactDefinitions),registerService('Knowledge\x20Base',kbDefinitions),registerService(a30_0x2e8088(0x169),appDefinitions,{'defaultCommand':a30_0x2e8088(0x161)}),registerService(a30_0x2e8088(0x142),workspaceDefinitions),registerService(a30_0x2e8088(0x150),configDefinitions,{'defaultCommand':a30_0x2e8088(0x161)}),registerService(a30_0x2e8088(0x14e),serviceDefinitions,{'defaultCommand':a30_0x2e8088(0x161)}),registerService(a30_0x2e8088(0x151),skillDefinitions,{'defaultCommand':a30_0x2e8088(0x152)}),registerService('CLI\x20Built-in\x20Skill',cliSkillDefinitions,{'defaultCommand':a30_0x2e8088(0x152)}),registerService(a30_0x2e8088(0x156),[updateDefinition],{'defaultCommand':a30_0x2e8088(0x14a),'isSingleCommand':!![]}),registerService(a30_0x2e8088(0x16a),[doctorDefinition],{'isSingleCommand':!![]}),registerService('Schema',[schemaDefinition],{'isSingleCommand':!![]}),registerService(a30_0x2e8088(0x168),logsDefinitions,{'defaultCommand':a30_0x2e8088(0x14c)});export function findDefinition(_0x4d0af2,_0x5b752e){const _0x34c854=a30_0x2e8088;return definitions[_0x34c854(0x145)](_0x4d0af2+':'+_0x5b752e);}export function isKnownService(_0x355833){const _0x136ff4=a30_0x2e8088;return serviceByName[_0x136ff4(0x15b)](_0x355833);}export function getServiceEntry(_0xc842f4){const _0x2a6542=a30_0x2e8088;return serviceByName[_0x2a6542(0x145)](_0xc842f4);}export function getAllDefinitions(){const _0x50b05c=a30_0x2e8088;return Array['from'](definitions[_0x50b05c(0x15d)]());}
|
package/lib/commands/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a31_0x1420(_0x59c954,_0x29dced){_0x59c954=_0x59c954-0xf3;const _0x2dd7e4=a31_0x2dd7();let _0x142021=_0x2dd7e4[_0x59c954];return _0x142021;}const a31_0x5f513d=a31_0x1420;(function(_0x43aae1,_0x9277b3){const _0x109b68=a31_0x1420,_0x224f26=_0x43aae1();while(!![]){try{const _0x3d8fc8=parseInt(_0x109b68(0xfa))/0x1+-parseInt(_0x109b68(0xfd))/0x2+-parseInt(_0x109b68(0xf7))/0x3*(parseInt(_0x109b68(0xfe))/0x4)+-parseInt(_0x109b68(0xf4))/0x5*(parseInt(_0x109b68(0xff))/0x6)+parseInt(_0x109b68(0xf3))/0x7*(-parseInt(_0x109b68(0xf6))/0x8)+parseInt(_0x109b68(0xf8))/0x9+-parseInt(_0x109b68(0x100))/0xa*(-parseInt(_0x109b68(0xfb))/0xb);if(_0x3d8fc8===_0x9277b3)break;else _0x224f26['push'](_0x224f26['shift']());}catch(_0x2278d2){_0x224f26['push'](_0x224f26['shift']());}}}(a31_0x2dd7,0xcbbd7));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x30e012){const _0x42535d=await buildSchemaPayload();return{'ok':!![],'data':_0x42535d};}export const schemaDefinition={'service':a31_0x5f513d(0xf5),'command':a31_0x5f513d(0xf9),'description':'Export\x20machine-readable\x20command\x20schema\x20(JSON)','risk':a31_0x5f513d(0xfc),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};function a31_0x2dd7(){const _0x221287=['5QMQGYG','schema','141928vYyEso','771lvGxvc','5850513QqgYVX','export','542859EQfPRf','44UaGxQJ','read','2590690CwOuyK','2300MYaujW','7296690GrIhTL','6905260iFKCHF','182WzWqiR'];a31_0x2dd7=function(){return _0x221287;};return a31_0x2dd7();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x5df7f1,_0x6d69e7){const _0x4a245a=a32_0x41da,_0x59a8d7=_0x5df7f1();while(!![]){try{const _0x5eacfe=-parseInt(_0x4a245a(0x14d))/0x1+parseInt(_0x4a245a(0x167))/0x2*(parseInt(_0x4a245a(0x151))/0x3)+parseInt(_0x4a245a(0x139))/0x4*(-parseInt(_0x4a245a(0x15f))/0x5)+parseInt(_0x4a245a(0x13c))/0x6+parseInt(_0x4a245a(0x150))/0x7+parseInt(_0x4a245a(0x144))/0x8*(parseInt(_0x4a245a(0x148))/0x9)+parseInt(_0x4a245a(0x13b))/0xa;if(_0x5eacfe===_0x6d69e7)break;else _0x59a8d7['push'](_0x59a8d7['shift']());}catch(_0x4e9b93){_0x59a8d7['push'](_0x59a8d7['shift']());}}}(a32_0x4f10,0xa768c));import{compileServiceTreeCommand,matchServiceTreeCommand}from'@lovrabet/cli-framework';import{getLoginUserInfo,listDatasets}from'../../core/api-client.js';import{executeData,executeSdkBff,executeSdkSql}from'../../core/sdk-client.js';import{CliErrors}from'../../errors.js';function a32_0x4f10(){const _0x4b2393=['description','sql','now','app','5369932FOtmnd','sqlCode','9616300XnTcKk','2602182CVuJXB','target','fromEntries','datasetCode','scriptName','service','name','source','8KqvYDN','tree','normalizedManifest','join','1912509TrdCkm','cliName','\x20<command>\x20[flags]','find','appCode','1269613IjjLRq','required','params','4407816VhFlHK','12gXDKIQ','kind','json','string','\x20\x20\x20\x20command:\x20','\x20service\x20detail\x20--service\x20','userName','number','data','flags','appcode','entries','bffCode','startsWith','5WCjPWI','\x20\x20\x20\x20sqlCode:\x20','padEnd','datatable','flatMap','\x20requires\x20target.sqlCode.','Use\x20`','risk','530144flNKcs','tenantCode','Run\x20service\x20command\x20','args','tableName','command','appBindings','\x20requires\x20target.scriptName.','default','context.','\x20\x20MAP\x20TO','code','const','loginName','\x20\x20\x20\x20','SERVICE_TREE','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','\x20completed\x20in\x20','bffId','commands','slice','username','rawFlags','Unknown\x20appRef\x20\x22','mapTo','fullPath','Service\x20command\x20','\x20\x20SERVICE\x20TREE\x20TARGET','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','cliPath','push','bff','remainingArgs','trim','ctx.','envName','operator','map','filter','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','\x20\x20[','nickname','type','appRef','validation','env','\x22\x20in\x20service\x20command\x20','length','some','Cannot\x20resolve\x20datatable\x20\x22','employeeId'];a32_0x4f10=function(){return _0x4b2393;};return a32_0x4f10();}import{listLocalServices,listLocalServiceTrees}from'../../commands/service/registry.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0x4f47b3,_0x2a28cb){const _0x1daccb=a32_0x41da,_0x50828d=listLocalServiceTrees();let _0x29b749;for(const _0x29c975 of _0x50828d){const _0x378572=matchServiceTreeCommand(_0x29c975,_0x4f47b3);if(!_0x378572)continue;(!_0x29b749||_0x378572[_0x1daccb(0x16c)]['fullPath'][_0x1daccb(0x196)]>_0x29b749[_0x1daccb(0x16c)][_0x1daccb(0x180)][_0x1daccb(0x196)])&&(_0x29b749={'tree':_0x29c975,'command':_0x378572[_0x1daccb(0x16c)],'remainingArgs':_0x378572[_0x1daccb(0x187)]});}if(!_0x29b749)return undefined;const _0x3cf737={..._0x2a28cb};return applyAppBinding(_0x29b749[_0x1daccb(0x145)],_0x29b749[_0x1daccb(0x16c)],_0x3cf737),{'definition':buildDynamicCommandDefinition(_0x29b749[_0x1daccb(0x145)],_0x29b749[_0x1daccb(0x16c)]),'args':_0x29b749['remainingArgs'],'flags':_0x3cf737,'tree':_0x29b749[_0x1daccb(0x145)],'command':_0x29b749[_0x1daccb(0x16c)]};}export function generateDynamicServiceHelp(_0x225c42){const _0xc9121c=a32_0x41da,_0x1e1ca4=listLocalServiceTrees()[_0xc9121c(0x14b)](_0x343ac0=>_0x343ac0[_0xc9121c(0x141)][_0xc9121c(0x172)]===_0x225c42);if(!_0x1e1ca4)return undefined;const _0x49ba67=[CLI_BIN_NAME+'\x20'+_0x225c42+_0xc9121c(0x14a),'',_0x1e1ca4['service'][_0xc9121c(0x142)]||_0x225c42,_0x1e1ca4['service']['description']?'\x20\x20'+_0x1e1ca4[_0xc9121c(0x141)][_0xc9121c(0x135)]:'','','Commands:',..._0x1e1ca4[_0xc9121c(0x17a)][_0xc9121c(0x18c)](_0x4a2479=>{const _0x3f4c88=_0xc9121c,_0x477e64=_0x4a2479[_0x3f4c88(0x180)][_0x3f4c88(0x17b)](0x1)[_0x3f4c88(0x147)]('\x20'),_0x48e6d8=_0x4a2479[_0x3f4c88(0x166)]==='read'?'':'\x20['+_0x4a2479[_0x3f4c88(0x166)]+']';return'\x20\x20'+_0x477e64[_0x3f4c88(0x161)](0x18)+'\x20'+(_0x4a2479['description']||'')+_0x48e6d8;}),'',_0xc9121c(0x165)+CLI_BIN_NAME+_0xc9121c(0x156)+_0x225c42+'`\x20to\x20inspect\x20the\x20manifest.'][_0xc9121c(0x18d)](Boolean);return _0x49ba67[_0xc9121c(0x147)]('\x0a');}export function listDynamicServiceEntries(){const _0x35fdf6=a32_0x41da;return listLocalServices()[_0x35fdf6(0x18c)](_0x5b2bc2=>{const _0xae617f=_0x35fdf6,_0x2ded60=_0x5b2bc2[_0xae617f(0x146)];return{'service':_0x2ded60[_0xae617f(0x141)][_0xae617f(0x172)],'label':_0x2ded60[_0xae617f(0x141)][_0xae617f(0x142)]||_0x2ded60[_0xae617f(0x141)][_0xae617f(0x172)],'commands':_0x2ded60[_0xae617f(0x17a)]['map'](_0x490563=>({'command':dynamicCommandName(_0x490563),'description':_0x490563[_0xae617f(0x135)]||_0xae617f(0x169)+_0x490563[_0xae617f(0x184)],'tag':riskTag(_0x490563[_0xae617f(0x166)])}))};});}export function getDynamicServiceEntry(_0x420056){const _0x56dcf3=a32_0x41da;return listDynamicServiceEntries()['find'](_0x1da6a4=>_0x1da6a4[_0x56dcf3(0x141)]===_0x420056);}export function listDynamicServiceDefinitions(_0x93e1ad){const _0x1fe908=a32_0x41da;return listLocalServiceTrees()['filter'](_0x170a28=>!_0x93e1ad||_0x170a28[_0x1fe908(0x141)]['code']===_0x93e1ad)[_0x1fe908(0x163)](_0x105846=>_0x105846[_0x1fe908(0x17a)][_0x1fe908(0x18c)](_0x3476a7=>buildDynamicCommandDefinition(_0x105846,_0x3476a7)));}export function getDynamicServiceDefinitions(_0x516404){const _0x20e790=a32_0x41da,_0x3884ed=listDynamicServiceDefinitions(_0x516404);return _0x3884ed[_0x20e790(0x196)]>0x0?_0x3884ed:undefined;}export function findDynamicServiceDefinition(_0x3eaff4,_0xedf5c3){const _0x360a3f=a32_0x41da;return listDynamicServiceDefinitions(_0x3eaff4)[_0x360a3f(0x14b)](_0x5aa327=>_0x5aa327[_0x360a3f(0x16c)]===_0xedf5c3);}export function buildDynamicCommandDefinition(_0x2e5579,_0xe39fba){const _0x4f67ff=a32_0x41da;return{'service':_0x2e5579[_0x4f67ff(0x141)]['code'],'command':dynamicCommandName(_0xe39fba),'description':_0xe39fba[_0x4f67ff(0x135)]||_0x4f67ff(0x169)+_0xe39fba[_0x4f67ff(0x184)],'risk':_0xe39fba[_0x4f67ff(0x166)],'requiresAuth':!![],'requiresAppCode':!![],'args':_0xe39fba[_0x4f67ff(0x16a)][_0x4f67ff(0x18c)](_0x305d1a=>({'name':_0x305d1a[_0x4f67ff(0x142)],'description':_0x305d1a[_0x4f67ff(0x135)]||_0x305d1a[_0x4f67ff(0x142)],'required':_0x305d1a[_0x4f67ff(0x14e)]})),'flags':_0xe39fba[_0x4f67ff(0x15a)][_0x4f67ff(0x18c)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0xe39fba),async 'dryRun'(_0x438cd9){const _0x1a3ed4=_0x4f67ff,_0x4e51ae=await compilePlan(_0xe39fba,_0x438cd9);return{'method':_0x1a3ed4(0x176),'url':_0xe39fba['cliPath'],'body':{'target':targetPreview(_0x4e51ae),'params':_0x4e51ae[_0x1a3ed4(0x14f)]},'description':'Preview\x20dynamic\x20service\x20command:\x20'+_0xe39fba[_0x1a3ed4(0x184)]};},async 'execute'(_0x48ec45){const _0x5720d8=_0x4f67ff,_0x3177d7=await compilePlan(_0xe39fba,_0x48ec45),_0x28bc18=Date[_0x5720d8(0x137)](),_0x389d49=await executePlan(_0x3177d7,_0xe39fba,_0x48ec45),_0x311cc0=Date[_0x5720d8(0x137)]()-_0x28bc18;return{'ok':!![],'data':{'service':_0x2e5579[_0x5720d8(0x141)],'command':_0xe39fba[_0x5720d8(0x184)],'target':targetPreview(_0x3177d7),'result':_0x389d49,'elapsed':_0x311cc0},'message':_0x5720d8(0x181)+_0xe39fba[_0x5720d8(0x184)]+_0x5720d8(0x178)+_0x311cc0+'ms'};}};}function dynamicCommandName(_0x26ff3b){const _0x4617e7=a32_0x41da;return _0x26ff3b['fullPath'][_0x4617e7(0x17b)](0x1)[_0x4617e7(0x147)]('\x20');}function riskTag(_0x409ddc){const _0x54eb43=a32_0x41da;return _0x409ddc==='read'?'':_0x54eb43(0x18f)+_0x409ddc+']';}function flagToCommandFlag(_0x56b2c8){const _0x2e54b5=a32_0x41da;return{'name':_0x56b2c8[_0x2e54b5(0x149)],'type':_0x56b2c8[_0x2e54b5(0x191)]===_0x2e54b5(0x153)?_0x2e54b5(0x154):_0x56b2c8[_0x2e54b5(0x191)],'description':_0x56b2c8[_0x2e54b5(0x135)]||_0x56b2c8['name'],'required':_0x56b2c8[_0x2e54b5(0x14e)],'default':isPrimitiveFlagDefault(_0x56b2c8[_0x2e54b5(0x16f)])?_0x56b2c8[_0x2e54b5(0x16f)]:undefined,'enum':_0x56b2c8['enum']};}async function compilePlan(_0x5b0041,_0x5f3ea7){const _0x158b4b=a32_0x41da;return compileServiceTreeCommand(_0x5b0041,{'flags':_0x5f3ea7[_0x158b4b(0x17d)],'args':_0x5f3ea7[_0x158b4b(0x16a)],'context':await buildServiceContext(_0x5b0041,_0x5f3ea7)});}async function buildServiceContext(_0x1ad2f0,_0x19a3a6){const _0x1bd87a=a32_0x41da,_0x3510a6={'appCode':_0x19a3a6[_0x1bd87a(0x14c)],'env':_0x19a3a6[_0x1bd87a(0x18a)],'envName':_0x19a3a6[_0x1bd87a(0x18a)]};if(!usesRuntimeContext(_0x1ad2f0))return _0x3510a6;const _0x1716c8=await getLoginUserInfo(),_0x3d10c8=pickFirst(_0x1716c8['userId'],_0x1716c8['id']);return{..._0x3510a6,'user':_0x1716c8,'userId':_0x3d10c8,'id':_0x1716c8['id'],'username':pickFirst(_0x1716c8[_0x1bd87a(0x17c)],_0x1716c8[_0x1bd87a(0x157)],_0x1716c8[_0x1bd87a(0x174)]),'userName':_0x1716c8[_0x1bd87a(0x157)],'nickname':pickFirst(_0x1716c8[_0x1bd87a(0x190)],_0x1716c8['nickName']),'nickName':_0x1716c8['nickName'],'tenantCode':_0x1716c8[_0x1bd87a(0x168)],'employeeId':_0x1716c8[_0x1bd87a(0x134)]};}function usesRuntimeContext(_0x3f0e51){const _0x45e0a5=a32_0x41da;return _0x3f0e51[_0x45e0a5(0x17f)][_0x45e0a5(0x132)](_0x6c0bda=>typeof _0x6c0bda['source']===_0x45e0a5(0x154)&&(_0x6c0bda['source'][_0x45e0a5(0x15e)](_0x45e0a5(0x170))||_0x6c0bda[_0x45e0a5(0x143)][_0x45e0a5(0x15e)](_0x45e0a5(0x189))));}function pickFirst(..._0x4b3f6d){const _0x140380=a32_0x41da;return _0x4b3f6d[_0x140380(0x14b)](_0x1b2fb0=>_0x1b2fb0!==undefined&&_0x1b2fb0!==null);}async function executePlan(_0x45cc15,_0x54519a,_0x14d192){const _0x4c317e=a32_0x41da;if(_0x45cc15['kind']===_0x4c317e(0x159)){const _0x37f411=await resolveDatasetCode(_0x45cc15,_0x54519a,_0x14d192);return executeData(_0x37f411,_0x45cc15['command'],_0x45cc15[_0x4c317e(0x14f)]);}if(_0x45cc15['kind']===_0x4c317e(0x136)){if(!_0x45cc15[_0x4c317e(0x13a)])throw CliErrors[_0x4c317e(0x193)]('Service\x20command\x20'+_0x54519a['cliPath']+_0x4c317e(0x164));return executeSdkSql(_0x45cc15[_0x4c317e(0x13a)],normalizeScalarParams(_0x45cc15[_0x4c317e(0x14f)]));}if(_0x45cc15[_0x4c317e(0x152)]===_0x4c317e(0x186)){const _0x5d9900=_0x45cc15[_0x4c317e(0x140)]||_0x45cc15[_0x4c317e(0x15d)]||(_0x45cc15[_0x4c317e(0x179)]==null?'':String(_0x45cc15[_0x4c317e(0x179)]));if(!_0x5d9900)throw CliErrors[_0x4c317e(0x193)](_0x4c317e(0x181)+_0x54519a[_0x4c317e(0x184)]+_0x4c317e(0x16e));return executeSdkBff(_0x5d9900,_0x45cc15[_0x4c317e(0x14f)]);}throw CliErrors['validation']('Unsupported\x20service\x20target\x20kind:\x20'+_0x45cc15[_0x4c317e(0x152)]);}async function resolveDatasetCode(_0x30904a,_0xef4d4a,_0x45bec7){const _0x5aa35b=a32_0x41da;if(_0x30904a[_0x5aa35b(0x13f)])return _0x30904a[_0x5aa35b(0x13f)];if(!_0x30904a[_0x5aa35b(0x162)])throw CliErrors[_0x5aa35b(0x193)](_0x5aa35b(0x181)+_0xef4d4a[_0x5aa35b(0x184)]+_0x5aa35b(0x183));const _0x3419d9=await listDatasets(_0x45bec7[_0x5aa35b(0x14c)]),_0x2aa257=_0x3419d9[_0x5aa35b(0x14b)](_0x27b72a=>_0x27b72a['dbtableConfig']?.[_0x5aa35b(0x16b)]===_0x30904a[_0x5aa35b(0x162)]);if(!_0x2aa257?.['code'])throw CliErrors[_0x5aa35b(0x193)](_0x5aa35b(0x133)+_0x30904a['datatable']+_0x5aa35b(0x177)+_0x45bec7[_0x5aa35b(0x14c)]+'.',_0x5aa35b(0x18e));return _0x2aa257[_0x5aa35b(0x172)];}function applyAppBinding(_0x514a7c,_0x30801d,_0x58f283){const _0x5f5908=a32_0x41da,_0x1c676a=_0x30801d[_0x5f5908(0x13d)][_0x5f5908(0x192)];if(!_0x1c676a)return;const _0x40965d=_0x514a7c[_0x5f5908(0x16d)][_0x1c676a];if(!_0x40965d)throw CliErrors[_0x5f5908(0x193)](_0x5f5908(0x17e)+_0x1c676a+_0x5f5908(0x195)+_0x30801d['cliPath']+'.','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.');const _0x59db86=_0x40965d[_0x5f5908(0x15b)]||_0x40965d[_0x5f5908(0x14c)];_0x59db86&&!hasText(_0x58f283[_0x5f5908(0x15b)])&&(_0x58f283[_0x5f5908(0x15b)]=_0x59db86),_0x40965d[_0x5f5908(0x138)]&&!hasText(_0x58f283[_0x5f5908(0x138)])&&!hasText(_0x58f283['appcode'])&&(_0x58f283['app']=_0x40965d[_0x5f5908(0x138)]),_0x40965d[_0x5f5908(0x194)]&&!hasText(_0x58f283[_0x5f5908(0x194)])&&(_0x58f283[_0x5f5908(0x194)]=_0x40965d[_0x5f5908(0x194)]);}function renderDynamicCommandHelp(_0x2d390d){const _0x316db7=a32_0x41da,_0x5dbb1e=[_0x316db7(0x182),'\x20\x20\x20\x20kind:\x20\x20\x20\x20'+_0x2d390d[_0x316db7(0x13d)][_0x316db7(0x152)],_0x316db7(0x155)+_0x2d390d[_0x316db7(0x13d)][_0x316db7(0x16c)]];if(_0x2d390d['target'][_0x316db7(0x13f)])_0x5dbb1e[_0x316db7(0x185)]('\x20\x20\x20\x20datasetCode:\x20'+_0x2d390d[_0x316db7(0x13d)][_0x316db7(0x13f)]);if(_0x2d390d['target']['datatable'])_0x5dbb1e[_0x316db7(0x185)]('\x20\x20\x20\x20datatable:\x20'+_0x2d390d[_0x316db7(0x13d)][_0x316db7(0x162)]);if(_0x2d390d[_0x316db7(0x13d)][_0x316db7(0x13a)])_0x5dbb1e[_0x316db7(0x185)](_0x316db7(0x160)+_0x2d390d['target'][_0x316db7(0x13a)]);if(_0x2d390d['target'][_0x316db7(0x140)])_0x5dbb1e[_0x316db7(0x185)]('\x20\x20\x20\x20scriptName:\x20'+_0x2d390d[_0x316db7(0x13d)][_0x316db7(0x140)]);if(_0x2d390d[_0x316db7(0x17f)][_0x316db7(0x196)]>0x0){_0x5dbb1e[_0x316db7(0x185)]('',_0x316db7(0x171));for(const _0x304330 of _0x2d390d['mapTo']){_0x5dbb1e[_0x316db7(0x185)](_0x316db7(0x175)+(_0x304330[_0x316db7(0x143)]||_0x316db7(0x173))+'\x20->\x20'+_0x304330['target']+(_0x304330[_0x316db7(0x18b)]?'.'+_0x304330[_0x316db7(0x18b)]:''));}}return _0x5dbb1e[_0x316db7(0x147)]('\x0a');}function targetPreview(_0x267909){const _0x47acb0=a32_0x41da;return{'kind':_0x267909[_0x47acb0(0x152)],'command':_0x267909[_0x47acb0(0x16c)],'appRef':_0x267909[_0x47acb0(0x192)],'datasetCode':_0x267909['datasetCode'],'datatable':_0x267909[_0x47acb0(0x162)],'sqlCode':_0x267909['sqlCode'],'bffCode':_0x267909[_0x47acb0(0x15d)],'bffId':_0x267909[_0x47acb0(0x179)],'scriptName':_0x267909[_0x47acb0(0x140)]};}function normalizeScalarParams(_0x156010){const _0x13b11c=a32_0x41da;return Object[_0x13b11c(0x13e)](Object[_0x13b11c(0x15c)](_0x156010)[_0x13b11c(0x18d)](([,_0x50cda6])=>typeof _0x50cda6===_0x13b11c(0x154)||typeof _0x50cda6===_0x13b11c(0x158)));}function a32_0x41da(_0x3bf4c8,_0x24be38){_0x3bf4c8=_0x3bf4c8-0x132;const _0x4f10f9=a32_0x4f10();let _0x41dac2=_0x4f10f9[_0x3bf4c8];return _0x41dac2;}function hasText(_0x2e062b){const _0x1826d4=a32_0x41da;return typeof _0x2e062b==='string'&&_0x2e062b[_0x1826d4(0x188)]()['length']>0x0;}function isPrimitiveFlagDefault(_0x5ae79d){const _0xd508f8=a32_0x41da;return _0x5ae79d===undefined||typeof _0x5ae79d===_0xd508f8(0x154)||typeof _0x5ae79d===_0xd508f8(0x158)||typeof _0x5ae79d==='boolean';}
|
|
1
|
+
function a32_0x4610(){const _0x200cbd=['service','198aqKjoz','datatable','sqlCode','required','tree','validation','tableName','now','10FYhkeN','userName','number','Service\x20command\x20','default','3465935oTCyUm','startsWith','name','cliName','target','description','userId','mapTo','appRef','flags','ctx.','username','SERVICE_TREE','\x20\x20\x20\x20scriptName:\x20','map','fromEntries','find','envName','datasetCode','\x20\x20\x20\x20sqlCode:\x20','bffId','2174460eDAyyy','\x20\x20\x20\x20datatable:\x20','normalizedManifest','loginName','appBindings','`\x20to\x20inspect\x20the\x20manifest.','context.','scriptName','bffCode','nickName','\x20->\x20','commands','2783193RLnoxN','source','length','\x20\x20MAP\x20TO','rawFlags','risk','filter','Use\x20`','153848wswuav','cliPath','enum','Run\x20service\x20command\x20','300mgkwKt','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','110881NRQBdL','dbtableConfig','env','appcode','\x20\x20\x20\x20datasetCode:\x20','type','\x20requires\x20target.scriptName.','command','8TaOEnX','sql','Unknown\x20appRef\x20\x22','const','kind','512303gGzNkk','some','operator','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','params','Unsupported\x20service\x20target\x20kind:\x20','\x20completed\x20in\x20','appCode','employeeId','flatMap','15645GzcVyT','join','app','fullPath','push','string','Cannot\x20resolve\x20datatable\x20\x22','\x20\x20\x20\x20','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','slice','remainingArgs','\x20\x20[','code'];a32_0x4610=function(){return _0x200cbd;};return a32_0x4610();}(function(_0x36c138,_0x45365f){const _0x2a7f7c=a32_0x13b7,_0xa7bba0=_0x36c138();while(!![]){try{const _0x2ba7a4=parseInt(_0x2a7f7c(0x1aa))/0x1*(parseInt(_0x2a7f7c(0x1b2))/0x2)+parseInt(_0x2a7f7c(0x1c1))/0x3*(-parseInt(_0x2a7f7c(0x1a8))/0x4)+parseInt(_0x2a7f7c(0x1dd))/0x5+-parseInt(_0x2a7f7c(0x1f2))/0x6+-parseInt(_0x2a7f7c(0x19c))/0x7+-parseInt(_0x2a7f7c(0x1a4))/0x8*(-parseInt(_0x2a7f7c(0x1d0))/0x9)+parseInt(_0x2a7f7c(0x1d8))/0xa*(-parseInt(_0x2a7f7c(0x1b7))/0xb);if(_0x2ba7a4===_0x45365f)break;else _0xa7bba0['push'](_0xa7bba0['shift']());}catch(_0x2c212a){_0xa7bba0['push'](_0xa7bba0['shift']());}}}(a32_0x4610,0x58666));import{compileServiceTreeCommand,matchServiceTreeCommand}from'@lovrabet/cli-framework';import{getLoginUserInfo,listDatasets}from'../../core/api-client.js';import{executeData,executeSdkBff,executeSdkSql}from'../../core/sdk-client.js';import{CliErrors}from'../../errors.js';function a32_0x13b7(_0x107e03,_0x3bc556){_0x107e03=_0x107e03-0x199;const _0x4610c6=a32_0x4610();let _0x13b750=_0x4610c6[_0x107e03];return _0x13b750;}import{listLocalServices,listLocalServiceTrees}from'../../commands/service/registry.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0x1aca6c,_0x598ffd){const _0x58e30b=a32_0x13b7,_0x4233e9=listLocalServiceTrees();let _0x505c93;for(const _0x5a4317 of _0x4233e9){const _0x176166=matchServiceTreeCommand(_0x5a4317,_0x1aca6c);if(!_0x176166)continue;(!_0x505c93||_0x176166['command'][_0x58e30b(0x1c4)][_0x58e30b(0x19e)]>_0x505c93[_0x58e30b(0x1b1)][_0x58e30b(0x1c4)][_0x58e30b(0x19e)])&&(_0x505c93={'tree':_0x5a4317,'command':_0x176166[_0x58e30b(0x1b1)],'remainingArgs':_0x176166[_0x58e30b(0x1cc)]});}if(!_0x505c93)return undefined;const _0x512942={..._0x598ffd};return applyAppBinding(_0x505c93[_0x58e30b(0x1d4)],_0x505c93[_0x58e30b(0x1b1)],_0x512942),{'definition':buildDynamicCommandDefinition(_0x505c93[_0x58e30b(0x1d4)],_0x505c93['command']),'args':_0x505c93[_0x58e30b(0x1cc)],'flags':_0x512942,'tree':_0x505c93[_0x58e30b(0x1d4)],'command':_0x505c93[_0x58e30b(0x1b1)]};}export function generateDynamicServiceHelp(_0x445244){const _0x4c00c1=a32_0x13b7,_0x1a3254=listLocalServiceTrees()[_0x4c00c1(0x1ed)](_0x5190ef=>_0x5190ef['service'][_0x4c00c1(0x1ce)]===_0x445244);if(!_0x1a3254)return undefined;const _0x1912f3=[CLI_BIN_NAME+'\x20'+_0x445244+'\x20<command>\x20[flags]','',_0x1a3254[_0x4c00c1(0x1cf)][_0x4c00c1(0x1df)]||_0x445244,_0x1a3254['service']['description']?'\x20\x20'+_0x1a3254[_0x4c00c1(0x1cf)][_0x4c00c1(0x1e2)]:'','','Commands:',..._0x1a3254[_0x4c00c1(0x19b)][_0x4c00c1(0x1eb)](_0x17f5f2=>{const _0xc38efc=_0x4c00c1,_0x5d313b=_0x17f5f2[_0xc38efc(0x1c4)][_0xc38efc(0x1cb)](0x1)[_0xc38efc(0x1c2)]('\x20'),_0x4a0139=_0x17f5f2['risk']==='read'?'':'\x20['+_0x17f5f2[_0xc38efc(0x1a1)]+']';return'\x20\x20'+_0x5d313b['padEnd'](0x18)+'\x20'+(_0x17f5f2['description']||'')+_0x4a0139;}),'',_0x4c00c1(0x1a3)+CLI_BIN_NAME+'\x20service\x20detail\x20--service\x20'+_0x445244+_0x4c00c1(0x1f7)]['filter'](Boolean);return _0x1912f3[_0x4c00c1(0x1c2)]('\x0a');}export function listDynamicServiceEntries(){const _0x1bf893=a32_0x13b7;return listLocalServices()[_0x1bf893(0x1eb)](_0x754e1a=>{const _0x50a112=_0x1bf893,_0xf23d88=_0x754e1a[_0x50a112(0x1f4)];return{'service':_0xf23d88[_0x50a112(0x1cf)][_0x50a112(0x1ce)],'label':_0xf23d88[_0x50a112(0x1cf)][_0x50a112(0x1df)]||_0xf23d88[_0x50a112(0x1cf)][_0x50a112(0x1ce)],'commands':_0xf23d88[_0x50a112(0x19b)][_0x50a112(0x1eb)](_0x16bbf0=>({'command':dynamicCommandName(_0x16bbf0),'description':_0x16bbf0[_0x50a112(0x1e2)]||_0x50a112(0x1a7)+_0x16bbf0[_0x50a112(0x1a5)],'tag':riskTag(_0x16bbf0[_0x50a112(0x1a1)])}))};});}export function getDynamicServiceEntry(_0xb15be){const _0xf71e2e=a32_0x13b7;return listDynamicServiceEntries()[_0xf71e2e(0x1ed)](_0x15a9bb=>_0x15a9bb[_0xf71e2e(0x1cf)]===_0xb15be);}export function listDynamicServiceDefinitions(_0x35efbc){const _0x1c12cc=a32_0x13b7;return listLocalServiceTrees()[_0x1c12cc(0x1a2)](_0x34ede7=>!_0x35efbc||_0x34ede7[_0x1c12cc(0x1cf)][_0x1c12cc(0x1ce)]===_0x35efbc)[_0x1c12cc(0x1c0)](_0xfa50e=>_0xfa50e[_0x1c12cc(0x19b)][_0x1c12cc(0x1eb)](_0x1af0d=>buildDynamicCommandDefinition(_0xfa50e,_0x1af0d)));}export function getDynamicServiceDefinitions(_0x4dd3f1){const _0x56e6cf=a32_0x13b7,_0x31610f=listDynamicServiceDefinitions(_0x4dd3f1);return _0x31610f[_0x56e6cf(0x19e)]>0x0?_0x31610f:undefined;}export function findDynamicServiceDefinition(_0x1c8c4b,_0x3b777c){const _0x59a5e4=a32_0x13b7;return listDynamicServiceDefinitions(_0x1c8c4b)[_0x59a5e4(0x1ed)](_0x1b876c=>_0x1b876c['command']===_0x3b777c);}export function buildDynamicCommandDefinition(_0x53f5f4,_0x115338){const _0x53a87f=a32_0x13b7;return{'service':_0x53f5f4[_0x53a87f(0x1cf)][_0x53a87f(0x1ce)],'command':dynamicCommandName(_0x115338),'description':_0x115338[_0x53a87f(0x1e2)]||'Run\x20service\x20command\x20'+_0x115338[_0x53a87f(0x1a5)],'risk':_0x115338[_0x53a87f(0x1a1)],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x115338['args'][_0x53a87f(0x1eb)](_0x4a0b44=>({'name':_0x4a0b44['name'],'description':_0x4a0b44[_0x53a87f(0x1e2)]||_0x4a0b44[_0x53a87f(0x1df)],'required':_0x4a0b44[_0x53a87f(0x1d3)]})),'flags':_0x115338[_0x53a87f(0x1e6)][_0x53a87f(0x1eb)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x115338),async 'dryRun'(_0x197009){const _0x54cc73=_0x53a87f,_0x232203=await compilePlan(_0x115338,_0x197009);return{'method':_0x54cc73(0x1e9),'url':_0x115338[_0x54cc73(0x1a5)],'body':{'target':targetPreview(_0x232203),'params':_0x232203[_0x54cc73(0x1bb)]},'description':'Preview\x20dynamic\x20service\x20command:\x20'+_0x115338[_0x54cc73(0x1a5)]};},async 'execute'(_0x2257e6){const _0x261d72=_0x53a87f,_0x53ed52=await compilePlan(_0x115338,_0x2257e6),_0x37be32=Date[_0x261d72(0x1d7)](),_0x4f18ea=await executePlan(_0x53ed52,_0x115338,_0x2257e6),_0x5ea5ee=Date[_0x261d72(0x1d7)]()-_0x37be32;return{'ok':!![],'data':{'service':_0x53f5f4[_0x261d72(0x1cf)],'command':_0x115338[_0x261d72(0x1a5)],'target':targetPreview(_0x53ed52),'result':_0x4f18ea,'elapsed':_0x5ea5ee},'message':'Service\x20command\x20'+_0x115338[_0x261d72(0x1a5)]+_0x261d72(0x1bd)+_0x5ea5ee+'ms'};}};}function dynamicCommandName(_0x4424b3){const _0x100eee=a32_0x13b7;return _0x4424b3[_0x100eee(0x1c4)][_0x100eee(0x1cb)](0x1)[_0x100eee(0x1c2)]('\x20');}function riskTag(_0xa16942){const _0x5f125f=a32_0x13b7;return _0xa16942==='read'?'':_0x5f125f(0x1cd)+_0xa16942+']';}function flagToCommandFlag(_0x3caa6d){const _0x57766a=a32_0x13b7;return{'name':_0x3caa6d[_0x57766a(0x1e0)],'type':_0x3caa6d[_0x57766a(0x1af)]==='json'?'string':_0x3caa6d[_0x57766a(0x1af)],'description':_0x3caa6d[_0x57766a(0x1e2)]||_0x3caa6d['name'],'required':_0x3caa6d['required'],'default':isPrimitiveFlagDefault(_0x3caa6d[_0x57766a(0x1dc)])?_0x3caa6d[_0x57766a(0x1dc)]:undefined,'enum':_0x3caa6d[_0x57766a(0x1a6)]};}async function compilePlan(_0x564392,_0x542c54){const _0x273c3a=a32_0x13b7;return compileServiceTreeCommand(_0x564392,{'flags':_0x542c54[_0x273c3a(0x1a0)],'args':_0x542c54['args'],'context':await buildServiceContext(_0x564392,_0x542c54)});}async function buildServiceContext(_0x3ee4fd,_0x2fc7b0){const _0x530574=a32_0x13b7,_0x2c7470={'appCode':_0x2fc7b0[_0x530574(0x1be)],'env':_0x2fc7b0[_0x530574(0x1ee)],'envName':_0x2fc7b0[_0x530574(0x1ee)]};if(!usesRuntimeContext(_0x3ee4fd))return _0x2c7470;const _0x37a5a7=await getLoginUserInfo(),_0x31a9c6=pickFirst(_0x37a5a7[_0x530574(0x1e3)],_0x37a5a7['id']);return{..._0x2c7470,'user':_0x37a5a7,'userId':_0x31a9c6,'id':_0x37a5a7['id'],'username':pickFirst(_0x37a5a7[_0x530574(0x1e8)],_0x37a5a7[_0x530574(0x1d9)],_0x37a5a7[_0x530574(0x1f5)]),'userName':_0x37a5a7[_0x530574(0x1d9)],'nickname':pickFirst(_0x37a5a7['nickname'],_0x37a5a7[_0x530574(0x199)]),'nickName':_0x37a5a7[_0x530574(0x199)],'tenantCode':_0x37a5a7['tenantCode'],'employeeId':_0x37a5a7[_0x530574(0x1bf)]};}function usesRuntimeContext(_0x672acd){const _0x4269f8=a32_0x13b7;return _0x672acd[_0x4269f8(0x1e4)][_0x4269f8(0x1b8)](_0x2df391=>typeof _0x2df391[_0x4269f8(0x19d)]===_0x4269f8(0x1c6)&&(_0x2df391[_0x4269f8(0x19d)][_0x4269f8(0x1de)](_0x4269f8(0x1f8))||_0x2df391[_0x4269f8(0x19d)][_0x4269f8(0x1de)](_0x4269f8(0x1e7))));}function pickFirst(..._0x4c5fb1){const _0xd21410=a32_0x13b7;return _0x4c5fb1[_0xd21410(0x1ed)](_0x55a1de=>_0x55a1de!==undefined&&_0x55a1de!==null);}async function executePlan(_0x4586f3,_0x2fda15,_0x1d94fd){const _0x395407=a32_0x13b7;if(_0x4586f3[_0x395407(0x1b6)]==='data'){const _0x1fe00d=await resolveDatasetCode(_0x4586f3,_0x2fda15,_0x1d94fd);return executeData(_0x1fe00d,_0x4586f3['command'],_0x4586f3[_0x395407(0x1bb)]);}if(_0x4586f3['kind']===_0x395407(0x1b3)){if(!_0x4586f3['sqlCode'])throw CliErrors[_0x395407(0x1d5)](_0x395407(0x1db)+_0x2fda15[_0x395407(0x1a5)]+'\x20requires\x20target.sqlCode.');return executeSdkSql(_0x4586f3[_0x395407(0x1d2)],normalizeScalarParams(_0x4586f3[_0x395407(0x1bb)]));}if(_0x4586f3[_0x395407(0x1b6)]==='bff'){const _0xa2d6cd=_0x4586f3[_0x395407(0x1f9)]||_0x4586f3[_0x395407(0x1fa)]||(_0x4586f3['bffId']==null?'':String(_0x4586f3[_0x395407(0x1f1)]));if(!_0xa2d6cd)throw CliErrors['validation'](_0x395407(0x1db)+_0x2fda15[_0x395407(0x1a5)]+_0x395407(0x1b0));return executeSdkBff(_0xa2d6cd,_0x4586f3[_0x395407(0x1bb)]);}throw CliErrors['validation'](_0x395407(0x1bc)+_0x4586f3[_0x395407(0x1b6)]);}async function resolveDatasetCode(_0x522092,_0x392e03,_0x5c0a11){const _0x43338e=a32_0x13b7;if(_0x522092[_0x43338e(0x1ef)])return _0x522092[_0x43338e(0x1ef)];if(!_0x522092[_0x43338e(0x1d1)])throw CliErrors[_0x43338e(0x1d5)]('Service\x20command\x20'+_0x392e03[_0x43338e(0x1a5)]+_0x43338e(0x1ba));const _0x44aeab=await listDatasets(_0x5c0a11[_0x43338e(0x1be)]),_0x925328=_0x44aeab['find'](_0xa1f00a=>_0xa1f00a[_0x43338e(0x1ab)]?.[_0x43338e(0x1d6)]===_0x522092[_0x43338e(0x1d1)]);if(!_0x925328?.[_0x43338e(0x1ce)])throw CliErrors[_0x43338e(0x1d5)](_0x43338e(0x1c7)+_0x522092[_0x43338e(0x1d1)]+_0x43338e(0x1ca)+_0x5c0a11[_0x43338e(0x1be)]+'.',_0x43338e(0x1c9));return _0x925328[_0x43338e(0x1ce)];}function applyAppBinding(_0x6cb89b,_0x560c81,_0x21bfa1){const _0x3a3ac8=a32_0x13b7,_0xaf5a2a=_0x560c81['target']['appRef'];if(!_0xaf5a2a)return;const _0x32e5ce=_0x6cb89b[_0x3a3ac8(0x1f6)][_0xaf5a2a];if(!_0x32e5ce)throw CliErrors[_0x3a3ac8(0x1d5)](_0x3a3ac8(0x1b4)+_0xaf5a2a+'\x22\x20in\x20service\x20command\x20'+_0x560c81[_0x3a3ac8(0x1a5)]+'.',_0x3a3ac8(0x1a9));const _0x62ea4f=_0x32e5ce['appcode']||_0x32e5ce[_0x3a3ac8(0x1be)];_0x62ea4f&&!hasText(_0x21bfa1[_0x3a3ac8(0x1ad)])&&(_0x21bfa1[_0x3a3ac8(0x1ad)]=_0x62ea4f),_0x32e5ce[_0x3a3ac8(0x1c3)]&&!hasText(_0x21bfa1[_0x3a3ac8(0x1c3)])&&!hasText(_0x21bfa1[_0x3a3ac8(0x1ad)])&&(_0x21bfa1[_0x3a3ac8(0x1c3)]=_0x32e5ce[_0x3a3ac8(0x1c3)]),_0x32e5ce[_0x3a3ac8(0x1ac)]&&!hasText(_0x21bfa1[_0x3a3ac8(0x1ac)])&&(_0x21bfa1[_0x3a3ac8(0x1ac)]=_0x32e5ce[_0x3a3ac8(0x1ac)]);}function renderDynamicCommandHelp(_0x5c32c5){const _0x42cb23=a32_0x13b7,_0x1007a4=['\x20\x20SERVICE\x20TREE\x20TARGET','\x20\x20\x20\x20kind:\x20\x20\x20\x20'+_0x5c32c5[_0x42cb23(0x1e1)][_0x42cb23(0x1b6)],'\x20\x20\x20\x20command:\x20'+_0x5c32c5[_0x42cb23(0x1e1)]['command']];if(_0x5c32c5[_0x42cb23(0x1e1)][_0x42cb23(0x1ef)])_0x1007a4[_0x42cb23(0x1c5)](_0x42cb23(0x1ae)+_0x5c32c5[_0x42cb23(0x1e1)][_0x42cb23(0x1ef)]);if(_0x5c32c5['target'][_0x42cb23(0x1d1)])_0x1007a4['push'](_0x42cb23(0x1f3)+_0x5c32c5[_0x42cb23(0x1e1)]['datatable']);if(_0x5c32c5[_0x42cb23(0x1e1)][_0x42cb23(0x1d2)])_0x1007a4[_0x42cb23(0x1c5)](_0x42cb23(0x1f0)+_0x5c32c5['target'][_0x42cb23(0x1d2)]);if(_0x5c32c5[_0x42cb23(0x1e1)][_0x42cb23(0x1f9)])_0x1007a4['push'](_0x42cb23(0x1ea)+_0x5c32c5[_0x42cb23(0x1e1)][_0x42cb23(0x1f9)]);if(_0x5c32c5[_0x42cb23(0x1e4)]['length']>0x0){_0x1007a4['push']('',_0x42cb23(0x19f));for(const _0x5adeb2 of _0x5c32c5[_0x42cb23(0x1e4)]){_0x1007a4['push'](_0x42cb23(0x1c8)+(_0x5adeb2[_0x42cb23(0x19d)]||_0x42cb23(0x1b5))+_0x42cb23(0x19a)+_0x5adeb2[_0x42cb23(0x1e1)]+(_0x5adeb2[_0x42cb23(0x1b9)]?'.'+_0x5adeb2[_0x42cb23(0x1b9)]:''));}}return _0x1007a4[_0x42cb23(0x1c2)]('\x0a');}function targetPreview(_0x1906df){const _0x7756dc=a32_0x13b7;return{'kind':_0x1906df[_0x7756dc(0x1b6)],'command':_0x1906df[_0x7756dc(0x1b1)],'appRef':_0x1906df[_0x7756dc(0x1e5)],'datasetCode':_0x1906df[_0x7756dc(0x1ef)],'datatable':_0x1906df['datatable'],'sqlCode':_0x1906df[_0x7756dc(0x1d2)],'bffCode':_0x1906df[_0x7756dc(0x1fa)],'bffId':_0x1906df[_0x7756dc(0x1f1)],'scriptName':_0x1906df[_0x7756dc(0x1f9)]};}function normalizeScalarParams(_0x3d522a){const _0x156dc1=a32_0x13b7;return Object[_0x156dc1(0x1ec)](Object['entries'](_0x3d522a)['filter'](([,_0x334b19])=>typeof _0x334b19===_0x156dc1(0x1c6)||typeof _0x334b19===_0x156dc1(0x1da)));}function hasText(_0x5ae155){const _0x3cd6d5=a32_0x13b7;return typeof _0x5ae155===_0x3cd6d5(0x1c6)&&_0x5ae155['trim']()[_0x3cd6d5(0x19e)]>0x0;}function isPrimitiveFlagDefault(_0x3f2a93){const _0x45687b=a32_0x13b7;return _0x3f2a93===undefined||typeof _0x3f2a93===_0x45687b(0x1c6)||typeof _0x3f2a93==='number'||typeof _0x3f2a93==='boolean';}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a33_0x1f70(){const _0x2e3550=['import','imported','version','8015892tyujjQ','175384fNoQsC','1762578KrtmyF','Imported\x20','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','filePath','reduce','entry','warnings','52685440WpZSZX','read','Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','string','registryPath','serviceCode','kind','Local\x20service\x20code,\x20for\x20example\x20crm','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','manifests','source','Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','3987QASmdH','updated','write','\x20service(s),\x20updated\x20','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','commands','name','Local\x20service\x20not\x20found:\x20','Imported','str','Exported\x20service\x20','registryServiceCode','importedAt','file','registryIndex','Removed\x20service\x20','65JNowTw','export','service','normalizedManifest','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','\x20service(s).','hash','description','list','lower\x20kebab-case\x20service\x20code','length','required','flags','7456Udrwow','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','3386061lvUKtR','Service\x20Tree\x20manifest\x20file\x20path','map','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','type','detail','cliName','errors','risk','Service\x20manifest\x20validation\x20passed.','7qDescJ','Updated','entries','registry','1289219eVRnJU','target','report','cliPath','WRITE','\x20service\x20'];a33_0x1f70=function(){return _0x2e3550;};return a33_0x1f70();}const a33_0x438299=a33_0x578c;(function(_0x497025,_0x73d592){const _0x5a28c5=a33_0x578c,_0x3568d4=_0x497025();while(!![]){try{const _0x47dfb8=-parseInt(_0x5a28c5(0x10a))/0x1+-parseInt(_0x5a28c5(0xc9))/0x2+-parseInt(_0x5a28c5(0xfc))/0x3+-parseInt(_0x5a28c5(0xc8))/0x4*(-parseInt(_0x5a28c5(0xec))/0x5)+-parseInt(_0x5a28c5(0xc7))/0x6*(parseInt(_0x5a28c5(0x106))/0x7)+-parseInt(_0x5a28c5(0xfa))/0x8*(parseInt(_0x5a28c5(0xdc))/0x9)+parseInt(_0x5a28c5(0xd0))/0xa;if(_0x47dfb8===_0x73d592)break;else _0x3568d4['push'](_0x3568d4['shift']());}catch(_0xc4b7dd){_0x3568d4['push'](_0x3568d4['shift']());}}}(a33_0x1f70,0xc0fd9));import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';const FILE_FLAG={'name':a33_0x438299(0xe9),'type':a33_0x438299(0xd3),'required':!![],'description':a33_0x438299(0xfd)},SERVICE_FLAG={'name':a33_0x438299(0xee),'type':a33_0x438299(0xd3),'required':!![],'description':a33_0x438299(0xd7),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a33_0x438299(0xf6)}};function summarizeService(_0x17a4c4){const _0xdc1eae=a33_0x438299;return{'serviceCode':_0x17a4c4[_0xdc1eae(0xd5)],'name':_0x17a4c4[_0xdc1eae(0xef)][_0xdc1eae(0xee)][_0xdc1eae(0xe2)],'version':_0x17a4c4[_0xdc1eae(0xc6)],'importedAt':_0x17a4c4[_0xdc1eae(0xe8)],'source':_0x17a4c4[_0xdc1eae(0xda)],'commandCount':_0x17a4c4[_0xdc1eae(0xef)][_0xdc1eae(0xe1)][_0xdc1eae(0xf7)],'commands':_0x17a4c4['normalizedManifest'][_0xdc1eae(0xe1)][_0xdc1eae(0xfe)](_0x16b37a=>({'path':_0x16b37a[_0xdc1eae(0x10d)],'description':_0x16b37a[_0xdc1eae(0xf4)],'risk':_0x16b37a[_0xdc1eae(0x104)],'target':_0x16b37a[_0xdc1eae(0x10b)],'flags':_0x16b37a[_0xdc1eae(0xf9)][_0xdc1eae(0xfe)](_0x2fd21c=>({'name':_0x2fd21c[_0xdc1eae(0xe2)],'cliName':_0x2fd21c[_0xdc1eae(0x102)],'type':_0x2fd21c[_0xdc1eae(0x100)],'required':_0x2fd21c[_0xdc1eae(0xf8)]===!![]}))}))};}function a33_0x578c(_0x50208d,_0xf327af){_0x50208d=_0x50208d-0xc5;const _0x1f7058=a33_0x1f70();let _0x578c89=_0x1f7058[_0x50208d];return _0x578c89;}function summarizeLoadedManifest(_0x46b9f9){const _0xe69684=a33_0x438299;return{'service':_0x46b9f9[_0xe69684(0xef)]?.['service'],'version':_0x46b9f9[_0xe69684(0xef)]?.[_0xe69684(0xc6)],'commandCount':_0x46b9f9[_0xe69684(0xef)]?.[_0xe69684(0xe1)][_0xe69684(0xf7)]??0x0,'commands':_0x46b9f9['normalizedManifest']?.['commands'][_0xe69684(0xfe)](_0x2198e7=>({'path':_0x2198e7[_0xe69684(0x10d)],'risk':_0x2198e7[_0xe69684(0x104)],'target':_0x2198e7[_0xe69684(0x10b)]}))??[],'registryIndex':_0x46b9f9[_0xe69684(0xea)],'registryServiceCode':_0x46b9f9[_0xe69684(0xe7)],'errors':_0x46b9f9['report'][_0xe69684(0x103)],'warnings':_0x46b9f9[_0xe69684(0x10c)][_0xe69684(0xcf)]};}export const serviceDefinitions=[{'service':'service','command':'validate','description':a33_0x438299(0xfb),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x15dc68){const _0x30179a=a33_0x438299,_0xd19422=loadServiceManifestFromFile(_0x15dc68[_0x30179a(0xe5)]('file'));if(!_0xd19422[_0x30179a(0x10c)]['ok'])return{'ok':![],'data':{'file':_0xd19422[_0x30179a(0xcc)],'hash':_0xd19422[_0x30179a(0xf3)],'kind':_0xd19422['kind'],'serviceCount':_0xd19422['manifests'][_0x30179a(0xf7)],'services':_0xd19422[_0x30179a(0xd9)][_0x30179a(0xfe)](summarizeLoadedManifest),'errors':_0xd19422[_0x30179a(0x10c)][_0x30179a(0x103)],'warnings':_0xd19422[_0x30179a(0x10c)][_0x30179a(0xcf)]},'message':formatValidationFailure(_0xd19422['report'])};if(_0xd19422[_0x30179a(0xd6)]===_0x30179a(0x109)||_0xd19422[_0x30179a(0xd9)][_0x30179a(0xf7)]!==0x1)return{'ok':!![],'data':{'file':_0xd19422['filePath'],'hash':_0xd19422[_0x30179a(0xf3)],'kind':_0xd19422[_0x30179a(0xd6)],'serviceCount':_0xd19422['manifests'][_0x30179a(0xf7)],'commandCount':_0xd19422[_0x30179a(0xd9)][_0x30179a(0xcd)]((_0x1602e5,_0x2ef4aa)=>_0x1602e5+(_0x2ef4aa[_0x30179a(0xef)]?.[_0x30179a(0xe1)][_0x30179a(0xf7)]??0x0),0x0),'services':_0xd19422['manifests'][_0x30179a(0xfe)](summarizeLoadedManifest),'warnings':_0xd19422[_0x30179a(0x10c)][_0x30179a(0xcf)]},'message':'Service\x20registry\x20validation\x20passed.'};return{'ok':!![],'data':{'file':_0xd19422[_0x30179a(0xcc)],'hash':_0xd19422[_0x30179a(0xf3)],'kind':_0xd19422[_0x30179a(0xd6)],'service':_0xd19422[_0x30179a(0xef)]?.[_0x30179a(0xee)],'version':_0xd19422[_0x30179a(0xef)]?.[_0x30179a(0xc6)],'commandCount':_0xd19422[_0x30179a(0xef)]?.[_0x30179a(0xe1)][_0x30179a(0xf7)]??0x0,'commands':_0xd19422[_0x30179a(0xef)]?.['commands'][_0x30179a(0xfe)](_0xb0f5f8=>({'path':_0xb0f5f8[_0x30179a(0x10d)],'risk':_0xb0f5f8['risk'],'target':_0xb0f5f8[_0x30179a(0x10b)]})),'warnings':_0xd19422['report']['warnings']},'message':_0x30179a(0x105)};}},{'service':a33_0x438299(0xee),'command':a33_0x438299(0x110),'description':a33_0x438299(0xf0),'risk':a33_0x438299(0xde),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x26d468){const _0x490bfd=a33_0x438299,_0x2d3d6c=loadServiceManifestFromFile(_0x26d468['str']('file'));return{'method':_0x490bfd(0x10e),'url':getServiceRegistryPath(),'body':{'file':_0x2d3d6c['filePath'],'hash':_0x2d3d6c['hash'],'kind':_0x2d3d6c[_0x490bfd(0xd6)],'ok':_0x2d3d6c[_0x490bfd(0x10c)]['ok'],'service':_0x2d3d6c['normalizedManifest']?.['service'],'version':_0x2d3d6c[_0x490bfd(0xef)]?.[_0x490bfd(0xc6)],'serviceCount':_0x2d3d6c['manifests'][_0x490bfd(0xf7)],'services':_0x2d3d6c[_0x490bfd(0xd9)][_0x490bfd(0xfe)](_0x2fafd8=>({'service':_0x2fafd8['normalizedManifest']?.[_0x490bfd(0xee)],'version':_0x2fafd8['normalizedManifest']?.[_0x490bfd(0xc6)],'commandCount':_0x2fafd8[_0x490bfd(0xef)]?.['commands'][_0x490bfd(0xf7)]??0x0,'errors':_0x2fafd8[_0x490bfd(0x10c)][_0x490bfd(0x103)]})),'errors':_0x2d3d6c[_0x490bfd(0x10c)]['errors'],'commandCount':_0x2d3d6c[_0x490bfd(0xef)]?.['commands']['length']??0x0},'description':_0x490bfd(0xd8)};},async 'execute'(_0x3bf1f7){const _0x5dccfe=a33_0x438299,_0x1fde7d=importServiceManifest(_0x3bf1f7[_0x5dccfe(0xe5)]('file'));if(_0x1fde7d[_0x5dccfe(0x108)][_0x5dccfe(0xf7)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x1fde7d['registryPath'],'imported':_0x1fde7d[_0x5dccfe(0xc5)],'updated':_0x1fde7d[_0x5dccfe(0xdd)],'serviceCount':_0x1fde7d['serviceCount'],'services':_0x1fde7d[_0x5dccfe(0x108)][_0x5dccfe(0xfe)](summarizeService)},'message':_0x5dccfe(0xca)+_0x1fde7d[_0x5dccfe(0xc5)]+_0x5dccfe(0xdf)+_0x1fde7d[_0x5dccfe(0xdd)]+_0x5dccfe(0xf2)};return{'ok':!![],'data':{'registryPath':_0x1fde7d[_0x5dccfe(0xd4)],'replaced':_0x1fde7d['replaced'],'imported':_0x1fde7d['imported'],'updated':_0x1fde7d[_0x5dccfe(0xdd)],'serviceCount':_0x1fde7d['serviceCount'],'service':summarizeService(_0x1fde7d[_0x5dccfe(0xce)])},'message':(_0x1fde7d['replaced']?_0x5dccfe(0x107):_0x5dccfe(0xe4))+_0x5dccfe(0x10f)+_0x1fde7d['entry'][_0x5dccfe(0xd5)]+'.'};}},{'service':a33_0x438299(0xee),'command':a33_0x438299(0xed),'description':a33_0x438299(0xdb),'risk':a33_0x438299(0xde),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x14950b){const _0x55be14=a33_0x438299,_0x492e41=getLocalServiceEntry(_0x14950b[_0x55be14(0xe5)]('service'));return{'method':'WRITE','url':_0x14950b[_0x55be14(0xe5)](_0x55be14(0xe9)),'body':{'service':_0x14950b['str'](_0x55be14(0xee)),'found':Boolean(_0x492e41),'version':_0x492e41?.['version'],'source':_0x492e41?.['source']},'description':_0x55be14(0xcb)};},async 'execute'(_0x1f69c9){const _0x5b5e6c=a33_0x438299,_0xb9ccc4=exportServiceManifest(_0x1f69c9[_0x5b5e6c(0xe5)](_0x5b5e6c(0xee)),_0x1f69c9['str']('file'));return{'ok':!![],'data':{'registryPath':_0xb9ccc4[_0x5b5e6c(0xd4)],'file':_0xb9ccc4[_0x5b5e6c(0xcc)],'service':summarizeService(_0xb9ccc4['entry'])},'message':_0x5b5e6c(0xe6)+_0xb9ccc4['entry'][_0x5b5e6c(0xd5)]+'.'};}},{'service':a33_0x438299(0xee),'command':a33_0x438299(0xf5),'description':a33_0x438299(0xf1),'risk':a33_0x438299(0xd1),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x4431a3=a33_0x438299,_0x382f12=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x382f12[_0x4431a3(0xf7)],'services':_0x382f12['map'](summarizeService)}};}},{'service':'service','command':'remove','description':a33_0x438299(0xd2),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x315024){const _0x4636fc=a33_0x438299,_0x491b2f=getLocalServiceEntry(_0x315024[_0x4636fc(0xe5)](_0x4636fc(0xee)));return{'method':_0x4636fc(0x10e),'url':getServiceRegistryPath(),'body':{'service':_0x315024[_0x4636fc(0xe5)](_0x4636fc(0xee)),'found':Boolean(_0x491b2f),'version':_0x491b2f?.['version'],'source':_0x491b2f?.[_0x4636fc(0xda)]},'description':_0x4636fc(0xff)};},async 'execute'(_0xd44d08){const _0x516cd2=a33_0x438299,_0x1e3ce9=removeServiceManifest(_0xd44d08[_0x516cd2(0xe5)]('service'));return{'ok':!![],'data':{'registryPath':_0x1e3ce9[_0x516cd2(0xd4)],'serviceCount':_0x1e3ce9['serviceCount'],'service':summarizeService(_0x1e3ce9[_0x516cd2(0xce)])},'message':_0x516cd2(0xeb)+_0x1e3ce9[_0x516cd2(0xce)][_0x516cd2(0xd5)]+'.'};}},{'service':a33_0x438299(0xee),'command':a33_0x438299(0x101),'description':a33_0x438299(0xe0),'risk':a33_0x438299(0xd1),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x4aee0a){const _0x10c1bf=a33_0x438299,_0x3a4017=getLocalServiceEntry(_0x4aee0a['str'](_0x10c1bf(0xee)));if(!_0x3a4017)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x4aee0a[_0x10c1bf(0xe5)](_0x10c1bf(0xee))},'message':_0x10c1bf(0xe3)+_0x4aee0a[_0x10c1bf(0xe5)]('service')};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x3a4017),'manifest':_0x3a4017['manifest'],'normalizedManifest':_0x3a4017['normalizedManifest']}};}}];
|
|
1
|
+
function a33_0xb088(_0x482309,_0x3207eb){_0x482309=_0x482309-0xfa;const _0x2cce63=a33_0x2cce();let _0xb0885c=_0x2cce63[_0x482309];return _0xb0885c;}const a33_0x936f75=a33_0xb088;(function(_0x1f1337,_0x1ee804){const _0x47b361=a33_0xb088,_0x4f8819=_0x1f1337();while(!![]){try{const _0x226b5e=-parseInt(_0x47b361(0x122))/0x1+parseInt(_0x47b361(0x10e))/0x2+parseInt(_0x47b361(0x124))/0x3*(-parseInt(_0x47b361(0x11d))/0x4)+parseInt(_0x47b361(0x10b))/0x5+parseInt(_0x47b361(0x134))/0x6+parseInt(_0x47b361(0xfb))/0x7*(parseInt(_0x47b361(0x129))/0x8)+-parseInt(_0x47b361(0x109))/0x9*(-parseInt(_0x47b361(0x133))/0xa);if(_0x226b5e===_0x1ee804)break;else _0x4f8819['push'](_0x4f8819['shift']());}catch(_0x680b46){_0x4f8819['push'](_0x4f8819['shift']());}}}(a33_0x2cce,0x6ea15));import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';const FILE_FLAG={'name':a33_0x936f75(0x132),'type':a33_0x936f75(0x12e),'required':!![],'description':'Service\x20Tree\x20manifest\x20file\x20path'},SERVICE_FLAG={'name':'service','type':a33_0x936f75(0x12e),'required':!![],'description':a33_0x936f75(0x10d),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a33_0x936f75(0x12f)}};function summarizeService(_0x334f3d){const _0xf7273=a33_0x936f75;return{'serviceCode':_0x334f3d[_0xf7273(0x114)],'name':_0x334f3d[_0xf7273(0x11e)][_0xf7273(0x12a)][_0xf7273(0x12b)],'version':_0x334f3d[_0xf7273(0xfe)],'importedAt':_0x334f3d['importedAt'],'source':_0x334f3d[_0xf7273(0x126)],'commandCount':_0x334f3d[_0xf7273(0x11e)][_0xf7273(0x111)]['length'],'commands':_0x334f3d[_0xf7273(0x11e)]['commands'][_0xf7273(0x10a)](_0x2ff901=>({'path':_0x2ff901[_0xf7273(0x101)],'description':_0x2ff901[_0xf7273(0xfd)],'risk':_0x2ff901[_0xf7273(0x104)],'target':_0x2ff901[_0xf7273(0x136)],'flags':_0x2ff901[_0xf7273(0x115)][_0xf7273(0x10a)](_0x89a43d=>({'name':_0x89a43d[_0xf7273(0x12b)],'cliName':_0x89a43d[_0xf7273(0xfc)],'type':_0x89a43d[_0xf7273(0x103)],'required':_0x89a43d['required']===!![]}))}))};}function a33_0x2cce(){const _0x22b778=['hash','Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','99315GIHdqS','map','1472930vGsTLk','manifests','Local\x20service\x20code,\x20for\x20example\x20crm','460278KSiKhF','entries','serviceCount','commands','Imported','reduce','serviceCode','flags','replaced','length','\x20service(s).','\x20service\x20','WRITE','report','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','1038992IvlPIR','normalizedManifest','registryServiceCode','imported','Removed\x20service\x20','740041GGrwqJ','registry','9hrXBaS','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','source','kind','filePath','2329376qArsNw','service','name','registryPath','Exported\x20service\x20','string','lower\x20kebab-case\x20service\x20code','updated','detail','file','490hnJlmQ','3694884deVeVz','read','target','manifest','entry','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','Service\x20manifest\x20validation\x20passed.','Updated','7gYsNMb','cliName','description','version','registryIndex','warnings','cliPath','str','type','risk','errors','Service\x20registry\x20validation\x20passed.'];a33_0x2cce=function(){return _0x22b778;};return a33_0x2cce();}function summarizeLoadedManifest(_0x54be89){const _0x1d0822=a33_0x936f75;return{'service':_0x54be89[_0x1d0822(0x11e)]?.[_0x1d0822(0x12a)],'version':_0x54be89[_0x1d0822(0x11e)]?.[_0x1d0822(0xfe)],'commandCount':_0x54be89[_0x1d0822(0x11e)]?.[_0x1d0822(0x111)][_0x1d0822(0x117)]??0x0,'commands':_0x54be89['normalizedManifest']?.[_0x1d0822(0x111)][_0x1d0822(0x10a)](_0x56d81b=>({'path':_0x56d81b[_0x1d0822(0x101)],'risk':_0x56d81b['risk'],'target':_0x56d81b[_0x1d0822(0x136)]}))??[],'registryIndex':_0x54be89[_0x1d0822(0xff)],'registryServiceCode':_0x54be89[_0x1d0822(0x11f)],'errors':_0x54be89['report'][_0x1d0822(0x105)],'warnings':_0x54be89['report'][_0x1d0822(0x100)]};}export const serviceDefinitions=[{'service':a33_0x936f75(0x12a),'command':'validate','description':a33_0x936f75(0x11c),'risk':a33_0x936f75(0x135),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x1a800a){const _0x20a608=a33_0x936f75,_0xa8210d=loadServiceManifestFromFile(_0x1a800a[_0x20a608(0x102)](_0x20a608(0x132)));if(!_0xa8210d['report']['ok'])return{'ok':![],'data':{'file':_0xa8210d[_0x20a608(0x128)],'hash':_0xa8210d[_0x20a608(0x107)],'kind':_0xa8210d[_0x20a608(0x127)],'serviceCount':_0xa8210d[_0x20a608(0x10c)][_0x20a608(0x117)],'services':_0xa8210d[_0x20a608(0x10c)][_0x20a608(0x10a)](summarizeLoadedManifest),'errors':_0xa8210d[_0x20a608(0x11b)][_0x20a608(0x105)],'warnings':_0xa8210d[_0x20a608(0x11b)][_0x20a608(0x100)]},'message':formatValidationFailure(_0xa8210d['report'])};if(_0xa8210d[_0x20a608(0x127)]===_0x20a608(0x123)||_0xa8210d[_0x20a608(0x10c)]['length']!==0x1)return{'ok':!![],'data':{'file':_0xa8210d[_0x20a608(0x128)],'hash':_0xa8210d[_0x20a608(0x107)],'kind':_0xa8210d[_0x20a608(0x127)],'serviceCount':_0xa8210d[_0x20a608(0x10c)][_0x20a608(0x117)],'commandCount':_0xa8210d[_0x20a608(0x10c)][_0x20a608(0x113)]((_0x263fc8,_0x125133)=>_0x263fc8+(_0x125133['normalizedManifest']?.[_0x20a608(0x111)][_0x20a608(0x117)]??0x0),0x0),'services':_0xa8210d[_0x20a608(0x10c)][_0x20a608(0x10a)](summarizeLoadedManifest),'warnings':_0xa8210d['report'][_0x20a608(0x100)]},'message':_0x20a608(0x106)};return{'ok':!![],'data':{'file':_0xa8210d[_0x20a608(0x128)],'hash':_0xa8210d['hash'],'kind':_0xa8210d[_0x20a608(0x127)],'service':_0xa8210d[_0x20a608(0x11e)]?.[_0x20a608(0x12a)],'version':_0xa8210d[_0x20a608(0x11e)]?.[_0x20a608(0xfe)],'commandCount':_0xa8210d[_0x20a608(0x11e)]?.[_0x20a608(0x111)][_0x20a608(0x117)]??0x0,'commands':_0xa8210d['normalizedManifest']?.[_0x20a608(0x111)][_0x20a608(0x10a)](_0x2feddf=>({'path':_0x2feddf['cliPath'],'risk':_0x2feddf['risk'],'target':_0x2feddf['target']})),'warnings':_0xa8210d['report'][_0x20a608(0x100)]},'message':_0x20a608(0x13a)};}},{'service':a33_0x936f75(0x12a),'command':'import','description':a33_0x936f75(0x139),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x34fdf8){const _0x701c1c=a33_0x936f75,_0x951b5c=loadServiceManifestFromFile(_0x34fdf8[_0x701c1c(0x102)]('file'));return{'method':_0x701c1c(0x11a),'url':getServiceRegistryPath(),'body':{'file':_0x951b5c[_0x701c1c(0x128)],'hash':_0x951b5c[_0x701c1c(0x107)],'kind':_0x951b5c[_0x701c1c(0x127)],'ok':_0x951b5c[_0x701c1c(0x11b)]['ok'],'service':_0x951b5c[_0x701c1c(0x11e)]?.[_0x701c1c(0x12a)],'version':_0x951b5c[_0x701c1c(0x11e)]?.[_0x701c1c(0xfe)],'serviceCount':_0x951b5c[_0x701c1c(0x10c)][_0x701c1c(0x117)],'services':_0x951b5c[_0x701c1c(0x10c)][_0x701c1c(0x10a)](_0x2e6826=>({'service':_0x2e6826[_0x701c1c(0x11e)]?.[_0x701c1c(0x12a)],'version':_0x2e6826[_0x701c1c(0x11e)]?.[_0x701c1c(0xfe)],'commandCount':_0x2e6826[_0x701c1c(0x11e)]?.[_0x701c1c(0x111)]['length']??0x0,'errors':_0x2e6826[_0x701c1c(0x11b)]['errors']})),'errors':_0x951b5c[_0x701c1c(0x11b)]['errors'],'commandCount':_0x951b5c['normalizedManifest']?.[_0x701c1c(0x111)][_0x701c1c(0x117)]??0x0},'description':'Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json'};},async 'execute'(_0x35caf7){const _0x3a9855=a33_0x936f75,_0x3aabc4=importServiceManifest(_0x35caf7[_0x3a9855(0x102)](_0x3a9855(0x132)));if(_0x3aabc4[_0x3a9855(0x10f)][_0x3a9855(0x117)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x3aabc4['registryPath'],'imported':_0x3aabc4[_0x3a9855(0x120)],'updated':_0x3aabc4[_0x3a9855(0x130)],'serviceCount':_0x3aabc4[_0x3a9855(0x110)],'services':_0x3aabc4[_0x3a9855(0x10f)][_0x3a9855(0x10a)](summarizeService)},'message':'Imported\x20'+_0x3aabc4[_0x3a9855(0x120)]+'\x20service(s),\x20updated\x20'+_0x3aabc4['updated']+_0x3a9855(0x118)};return{'ok':!![],'data':{'registryPath':_0x3aabc4[_0x3a9855(0x12c)],'replaced':_0x3aabc4[_0x3a9855(0x116)],'imported':_0x3aabc4[_0x3a9855(0x120)],'updated':_0x3aabc4[_0x3a9855(0x130)],'serviceCount':_0x3aabc4['serviceCount'],'service':summarizeService(_0x3aabc4['entry'])},'message':(_0x3aabc4['replaced']?_0x3a9855(0xfa):_0x3a9855(0x112))+_0x3a9855(0x119)+_0x3aabc4[_0x3a9855(0x138)][_0x3a9855(0x114)]+'.'};}},{'service':a33_0x936f75(0x12a),'command':'export','description':a33_0x936f75(0x108),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x44560a){const _0x1ab11e=a33_0x936f75,_0x3bc781=getLocalServiceEntry(_0x44560a['str'](_0x1ab11e(0x12a)));return{'method':_0x1ab11e(0x11a),'url':_0x44560a[_0x1ab11e(0x102)]('file'),'body':{'service':_0x44560a[_0x1ab11e(0x102)](_0x1ab11e(0x12a)),'found':Boolean(_0x3bc781),'version':_0x3bc781?.['version'],'source':_0x3bc781?.[_0x1ab11e(0x126)]},'description':_0x1ab11e(0x125)};},async 'execute'(_0x3855df){const _0x5ec83e=a33_0x936f75,_0x497967=exportServiceManifest(_0x3855df[_0x5ec83e(0x102)](_0x5ec83e(0x12a)),_0x3855df[_0x5ec83e(0x102)]('file'));return{'ok':!![],'data':{'registryPath':_0x497967[_0x5ec83e(0x12c)],'file':_0x497967['filePath'],'service':summarizeService(_0x497967[_0x5ec83e(0x138)])},'message':_0x5ec83e(0x12d)+_0x497967[_0x5ec83e(0x138)]['serviceCode']+'.'};}},{'service':a33_0x936f75(0x12a),'command':'list','description':'List\x20locally\x20imported\x20Service\x20Tree\x20manifests','risk':a33_0x936f75(0x135),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x4d9d58=a33_0x936f75,_0x3631db=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x3631db[_0x4d9d58(0x117)],'services':_0x3631db['map'](summarizeService)}};}},{'service':a33_0x936f75(0x12a),'command':'remove','description':'Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x11ecb5){const _0x4be4a2=a33_0x936f75,_0x52ebb2=getLocalServiceEntry(_0x11ecb5[_0x4be4a2(0x102)](_0x4be4a2(0x12a)));return{'method':'WRITE','url':getServiceRegistryPath(),'body':{'service':_0x11ecb5[_0x4be4a2(0x102)](_0x4be4a2(0x12a)),'found':Boolean(_0x52ebb2),'version':_0x52ebb2?.[_0x4be4a2(0xfe)],'source':_0x52ebb2?.[_0x4be4a2(0x126)]},'description':'Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0x3d9379){const _0x5ce5ab=a33_0x936f75,_0x53109d=removeServiceManifest(_0x3d9379[_0x5ce5ab(0x102)](_0x5ce5ab(0x12a)));return{'ok':!![],'data':{'registryPath':_0x53109d[_0x5ce5ab(0x12c)],'serviceCount':_0x53109d['serviceCount'],'service':summarizeService(_0x53109d['entry'])},'message':_0x5ce5ab(0x121)+_0x53109d[_0x5ce5ab(0x138)]['serviceCode']+'.'};}},{'service':a33_0x936f75(0x12a),'command':a33_0x936f75(0x131),'description':'Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x2ea49f){const _0x134e85=a33_0x936f75,_0x55fd68=getLocalServiceEntry(_0x2ea49f[_0x134e85(0x102)](_0x134e85(0x12a)));if(!_0x55fd68)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x2ea49f[_0x134e85(0x102)]('service')},'message':'Local\x20service\x20not\x20found:\x20'+_0x2ea49f[_0x134e85(0x102)](_0x134e85(0x12a))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x55fd68),'manifest':_0x55fd68[_0x134e85(0x137)],'normalizedManifest':_0x55fd68[_0x134e85(0x11e)]}};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a34_0x560471=a34_0x490f;(function(_0x3b2344,_0x4e411c){const _0x5c7db6=a34_0x490f,_0x264987=_0x3b2344();while(!![]){try{const _0x582791=-parseInt(_0x5c7db6(0x1d1))/0x1*(parseInt(_0x5c7db6(0x1ae))/0x2)+-parseInt(_0x5c7db6(0x1e3))/0x3*(parseInt(_0x5c7db6(0x1b5))/0x4)+-parseInt(_0x5c7db6(0x1b8))/0x5*(parseInt(_0x5c7db6(0x1b6))/0x6)+-parseInt(_0x5c7db6(0x1ee))/0x7*(parseInt(_0x5c7db6(0x1ef))/0x8)+parseInt(_0x5c7db6(0x1dc))/0x9*(-parseInt(_0x5c7db6(0x1ce))/0xa)+parseInt(_0x5c7db6(0x1cd))/0xb+parseInt(_0x5c7db6(0x1b7))/0xc;if(_0x582791===_0x4e411c)break;else _0x264987['push'](_0x264987['shift']());}catch(_0x355329){_0x264987['push'](_0x264987['shift']());}}}(a34_0x4d5d,0x54f92));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';function a34_0x4d5d(){const _0x3e7566=['length','target','invalid','manifest','sort','risk','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','1113ucZGbk','23656QEzFHX','path','stringify','message','startsWith','Invalid\x20service\x20manifest\x20JSON:\x20','map','].manifest','service','code','toISOString','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','localeCompare','serviceCode','ENOENT','file','Service\x20manifest\x20validation\x20failed:\x0a','Invalid\x20service\x20registry\x20JSON:\x20','homeDirName','importedAt','update','services\x20must\x20be\x20an\x20array','kind','object','Unsupported\x20service\x20registry\x20schemaVersion:\x20','empty','registryIndex','15284XTzcpb','cliPath','Service\x20manifest\x20file\x20not\x20found:\x20','$.services[','manifests','push','join','599300crQniF','2348328ToTQry','18533748ZuLZmU','5uGmHfr','trim','CliError','command','schemaVersion','Cannot\x20write\x20service\x20registry:\x20','sourceHash','slice','now','findIndex','utf8','normalizedManifest','homeDir','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','find','report','splice','errors','hex','validation','Remove\x20or\x20migrate\x20','1879405zTpSLz','425780RYOKfp','Local\x20service\x20not\x20found:\x20','warnings','2ktqeZd','flatMap','registry','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','].manifest.','.tmp','isArray','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','name','service.json','72lNwzjb','reduce','commandCount','services','filePath','missing','parse','3hNHmVO','version','updatedAt','description'];a34_0x4d5d=function(){return _0x3e7566;};return a34_0x4d5d();}import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{normalizeServiceTreeManifest,validateServiceTreeManifest}from'@lovrabet/cli-framework';import{PRODUCT_CONFIG}from'../../constant/product.js';import{CliErrors}from'../../errors.js';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;export const SERVICE_REGISTRY_FILE_NAME=a34_0x560471(0x1db);export function getServiceRegistryPath(_0x493843={}){const _0x12a588=a34_0x560471;return resolve(_0x493843[_0x12a588(0x1c4)]??homedir(),PRODUCT_CONFIG[_0x12a588(0x1a5)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x234bd0={}){const _0x2535fe=a34_0x560471,_0x1394e7=getServiceRegistryPath(_0x234bd0);if(!existsSync(_0x1394e7))return emptyServiceRegistry();try{const _0x3467fe=readFileSync(_0x1394e7,_0x2535fe(0x1c2));if(!_0x3467fe['trim']())return emptyServiceRegistry();const _0x38e7e3=JSON[_0x2535fe(0x1e2)](_0x3467fe);if(_0x38e7e3[_0x2535fe(0x1bc)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x2535fe(0x1cb)](_0x2535fe(0x1ab)+String(_0x38e7e3[_0x2535fe(0x1bc)]),_0x2535fe(0x1cc)+_0x1394e7+'.');if(!Array[_0x2535fe(0x1d7)](_0x38e7e3[_0x2535fe(0x1df)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x38e7e3['updatedAt'],'services':_0x38e7e3['services']};}catch(_0x16211f){if(_0x16211f instanceof Error&&_0x16211f[_0x2535fe(0x1da)]===_0x2535fe(0x1ba))throw _0x16211f;throw CliErrors[_0x2535fe(0x1cb)](_0x2535fe(0x1a4)+_0x1394e7,_0x2535fe(0x1d8));}}export function writeServiceRegistry(_0x19c3af,_0x1aa2b6={}){const _0x11ee2b=a34_0x560471,_0x4e3015=getServiceRegistryPath(_0x1aa2b6),_0x2215d8=dirname(_0x4e3015);!existsSync(_0x2215d8)&&mkdirSync(_0x2215d8,{'recursive':!![]});const _0x40837c=_0x4e3015+_0x11ee2b(0x1d6);try{writeFileSync(_0x40837c,JSON['stringify'](_0x19c3af,null,0x2)+'\x0a',{'encoding':_0x11ee2b(0x1c2),'mode':0x180}),renameSync(_0x40837c,_0x4e3015);}catch(_0x192a0c){try{unlinkSync(_0x40837c);}catch{}if(_0x192a0c?.['code']===_0x11ee2b(0x1a1))throw CliErrors[_0x11ee2b(0x1cb)](_0x11ee2b(0x1bd)+_0x4e3015);throw _0x192a0c;}return _0x4e3015;}export function loadServiceManifestFromFile(_0x31641e){const _0x5397fb=a34_0x560471,_0x277296=resolve(_0x31641e);if(!existsSync(_0x277296))throw CliErrors[_0x5397fb(0x1cb)](_0x5397fb(0x1b0)+_0x31641e);let _0x2fe0fc;const _0x52d4fe=readFileSync(_0x277296,_0x5397fb(0x1c2));try{_0x2fe0fc=JSON['parse'](_0x52d4fe);}catch{throw CliErrors[_0x5397fb(0x1cb)](_0x5397fb(0x198)+_0x31641e,_0x5397fb(0x1d9));}const _0x34c28e=sha256(_0x52d4fe),_0x103218=extractLoadedServiceManifests(_0x2fe0fc,_0x34c28e),_0x4132c4=aggregateValidationReports(_0x103218),_0x1f9b79=_0x103218[0x0];return{'filePath':_0x277296,'hash':_0x34c28e,'kind':isServiceRegistryLike(_0x2fe0fc)?_0x5397fb(0x1d3):_0x5397fb(0x1ea),'manifest':_0x1f9b79?.[_0x5397fb(0x1ea)]??_0x2fe0fc,'report':_0x4132c4,'normalizedManifest':_0x103218[_0x5397fb(0x1e7)]===0x1?_0x1f9b79?.[_0x5397fb(0x1c3)]:undefined,'manifests':_0x103218};}export function importServiceManifest(_0x351bf1,_0x388d27={}){const _0x12718e=a34_0x560471,_0x204d0c=loadServiceManifestFromFile(_0x351bf1);if(!_0x204d0c[_0x12718e(0x1c7)]['ok'])throw CliErrors['validation'](formatValidationFailure(_0x204d0c[_0x12718e(0x1c7)]),_0x12718e(0x1c5));if(_0x204d0c[_0x12718e(0x1b2)]['length']===0x0)throw CliErrors[_0x12718e(0x1cb)](_0x12718e(0x19e),_0x12718e(0x1ed));const _0x5a6b00=readServiceRegistry(_0x388d27),_0x58e7c9=(_0x388d27[_0x12718e(0x1c0)]??(()=>new Date()))()['toISOString'](),_0x11f9f2=[];let _0x4a4f0a=0x0,_0x14ab57=0x0;for(const _0x5d0a38 of _0x204d0c[_0x12718e(0x1b2)]){if(!_0x5d0a38[_0x12718e(0x1c3)])continue;const _0x2a3da5=_0x5d0a38[_0x12718e(0x1c3)][_0x12718e(0x19b)][_0x12718e(0x19c)],_0x4755ea={'serviceCode':_0x2a3da5,'version':_0x5d0a38[_0x12718e(0x1c3)]['version'],'importedAt':_0x58e7c9,'source':{'type':_0x12718e(0x1a2),'path':_0x204d0c[_0x12718e(0x1e0)],'hash':_0x5d0a38[_0x12718e(0x1be)]},'manifest':_0x5d0a38[_0x12718e(0x1ea)],'normalizedManifest':_0x5d0a38[_0x12718e(0x1c3)]},_0x41d0ce=_0x5a6b00['services'][_0x12718e(0x1c1)](_0x1b442b=>_0x1b442b[_0x12718e(0x1a0)]===_0x2a3da5);_0x41d0ce>=0x0?(_0x5a6b00[_0x12718e(0x1df)][_0x41d0ce]=_0x4755ea,_0x14ab57++):(_0x5a6b00['services'][_0x12718e(0x1b3)](_0x4755ea),_0x4a4f0a++),_0x11f9f2[_0x12718e(0x1b3)](_0x4755ea);}_0x5a6b00[_0x12718e(0x1df)][_0x12718e(0x1eb)]((_0x531853,_0x34b03c)=>_0x531853[_0x12718e(0x1a0)][_0x12718e(0x19f)](_0x34b03c[_0x12718e(0x1a0)])),_0x5a6b00[_0x12718e(0x1e5)]=_0x58e7c9;const _0x15899a=writeServiceRegistry(_0x5a6b00,_0x388d27);return{'registryPath':_0x15899a,'entry':_0x11f9f2[0x0],'replaced':_0x11f9f2[_0x12718e(0x1e7)]===0x1?_0x14ab57===0x1:_0x14ab57>0x0,'entries':_0x11f9f2,'imported':_0x4a4f0a,'updated':_0x14ab57,'serviceCount':_0x5a6b00[_0x12718e(0x1df)][_0x12718e(0x1e7)]};}export function exportServiceManifest(_0x1e078d,_0x521f95,_0x3ef334={}){const _0x2f6cff=a34_0x560471,_0xe29139=getServiceRegistryPath(_0x3ef334),_0x3c66af=getLocalServiceEntry(_0x1e078d,_0x3ef334);if(!_0x3c66af)throw CliErrors[_0x2f6cff(0x1cb)]('Local\x20service\x20not\x20found:\x20'+_0x1e078d,_0x2f6cff(0x1d4));const _0x14b70f=resolve(_0x521f95),_0x14ab3b=dirname(_0x14b70f);return!existsSync(_0x14ab3b)&&mkdirSync(_0x14ab3b,{'recursive':!![]}),writeFileSync(_0x14b70f,JSON[_0x2f6cff(0x1f1)](_0x3c66af[_0x2f6cff(0x1ea)],null,0x2)+'\x0a',{'encoding':_0x2f6cff(0x1c2),'mode':0x180}),{'registryPath':_0xe29139,'filePath':_0x14b70f,'entry':_0x3c66af};}export function removeServiceManifest(_0x1d94c7,_0x3d1394={}){const _0x46058e=a34_0x560471,_0x38a662=readServiceRegistry(_0x3d1394),_0x47ad7a=_0x1d94c7['trim'](),_0x34ca4a=_0x38a662['services'][_0x46058e(0x1c1)](_0x3f7ff5=>_0x3f7ff5[_0x46058e(0x1a0)]===_0x47ad7a);if(_0x34ca4a<0x0)throw CliErrors[_0x46058e(0x1cb)](_0x46058e(0x1cf)+_0x47ad7a,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const [_0x4d3efe]=_0x38a662[_0x46058e(0x1df)][_0x46058e(0x1c8)](_0x34ca4a,0x1),_0x166ac4=(_0x3d1394['now']??(()=>new Date()))()[_0x46058e(0x19d)]();_0x38a662['updatedAt']=_0x166ac4;const _0x1937f7=writeServiceRegistry(_0x38a662,_0x3d1394);return{'registryPath':_0x1937f7,'entry':_0x4d3efe,'serviceCount':_0x38a662[_0x46058e(0x1df)]['length']};}export function listLocalServices(_0x50f44b={}){const _0x528950=a34_0x560471;return readServiceRegistry(_0x50f44b)[_0x528950(0x1df)];}export function getLocalServiceEntry(_0xac3f28,_0x2d504d={}){const _0x57db26=a34_0x560471;return readServiceRegistry(_0x2d504d)[_0x57db26(0x1df)][_0x57db26(0x1c6)](_0x4a4d27=>_0x4a4d27['serviceCode']===_0xac3f28[_0x57db26(0x1b9)]());}export function listLocalServiceTrees(_0x4666bb={}){const _0x4ba113=a34_0x560471;return readServiceRegistry(_0x4666bb)[_0x4ba113(0x1df)][_0x4ba113(0x199)](_0x386918=>_0x386918['normalizedManifest']);}export function inspectServiceRegistry(_0xc38b30={}){const _0x4c107a=a34_0x560471,_0x15a3ec=getServiceRegistryPath(_0xc38b30);if(!existsSync(_0x15a3ec))return emptyServiceRegistryInspection(_0x15a3ec,_0x4c107a(0x1e1),![]);try{const _0x57071d=readFileSync(_0x15a3ec,'utf8');if(!_0x57071d[_0x4c107a(0x1b9)]())return emptyServiceRegistryInspection(_0x15a3ec,_0x4c107a(0x1ac),!![]);const _0x55e75f=JSON['parse'](_0x57071d);if(_0x55e75f['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x15a3ec,'invalid',!![]),'schemaVersion':_0x55e75f[_0x4c107a(0x1bc)],'message':'Unsupported\x20schemaVersion:\x20'+String(_0x55e75f[_0x4c107a(0x1bc)])};if(!Array['isArray'](_0x55e75f[_0x4c107a(0x1df)]))return{...emptyServiceRegistryInspection(_0x15a3ec,_0x4c107a(0x1e9),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x55e75f[_0x4c107a(0x1e5)],'message':_0x4c107a(0x1a8)};const _0x8c661a=_0x55e75f[_0x4c107a(0x1df)][_0x4c107a(0x199)](summarizeLocalServiceEntry);return{'registryPath':_0x15a3ec,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x55e75f['updatedAt'],'serviceCount':_0x8c661a[_0x4c107a(0x1e7)],'commandCount':_0x8c661a[_0x4c107a(0x1dd)]((_0x4f4f55,_0x1d7e0c)=>_0x4f4f55+_0x1d7e0c[_0x4c107a(0x1de)],0x0),'services':_0x8c661a};}catch(_0x71e913){return{...emptyServiceRegistryInspection(_0x15a3ec,_0x4c107a(0x1e9),!![]),'message':_0x71e913 instanceof Error?_0x71e913['message']:String(_0x71e913)};}}export function formatValidationFailure(_0x22b364){const _0x2f3194=a34_0x560471,_0x2ab019=_0x22b364[_0x2f3194(0x1c9)]['map'](_0x215f6e=>_0x215f6e[_0x2f3194(0x1f0)]+':\x20'+_0x215f6e[_0x2f3194(0x1f2)]);return _0x2f3194(0x1a3)+_0x2ab019[_0x2f3194(0x1b4)]('\x0a');}function extractLoadedServiceManifests(_0x2c9728,_0x49d301){const _0x2e6734=a34_0x560471;if(!isServiceRegistryLike(_0x2c9728)){const _0x4df407=_0x2c9728,_0x4e0ef8=validateServiceTreeManifest(_0x4df407);return[{'manifest':_0x4df407,'report':_0x4e0ef8,'normalizedManifest':_0x4e0ef8['ok']?normalizeServiceTreeManifest(_0x4df407):undefined,'sourceHash':_0x49d301}];}return _0x2c9728[_0x2e6734(0x1df)][_0x2e6734(0x199)]((_0x30ae3b,_0x181b7d)=>{const _0x1b918a=_0x2e6734,_0x19bf11=isObjectRecord(_0x30ae3b)?_0x30ae3b[_0x1b918a(0x1ea)]:undefined,_0x41f972=validateServiceTreeManifest(_0x19bf11),_0x2c91e1=isObjectRecord(_0x30ae3b)&&typeof _0x30ae3b[_0x1b918a(0x1a0)]==='string'?_0x30ae3b['serviceCode']:undefined;return{'manifest':_0x19bf11,'report':_0x41f972,'normalizedManifest':_0x41f972['ok']?normalizeServiceTreeManifest(_0x19bf11):undefined,'sourceHash':sha256(JSON[_0x1b918a(0x1f1)](_0x19bf11,null,0x2)+'\x0a'),'registryIndex':_0x181b7d,'registryServiceCode':_0x2c91e1};});}function aggregateValidationReports(_0xd263b5){const _0x39ff94=a34_0x560471,_0x5a0ec6=_0xd263b5[_0x39ff94(0x1d2)](_0x33f4d5=>_0x33f4d5[_0x39ff94(0x1ad)]===undefined?_0x33f4d5[_0x39ff94(0x1c7)][_0x39ff94(0x1c9)]:_0x33f4d5[_0x39ff94(0x1c7)][_0x39ff94(0x1c9)][_0x39ff94(0x199)](_0x16c0ab=>({..._0x16c0ab,'path':prefixRegistryIssuePath(_0x33f4d5[_0x39ff94(0x1ad)],_0x16c0ab[_0x39ff94(0x1f0)])}))),_0x1ccdac=_0xd263b5[_0x39ff94(0x1d2)](_0x357f10=>_0x357f10[_0x39ff94(0x1ad)]===undefined?_0x357f10[_0x39ff94(0x1c7)][_0x39ff94(0x1d0)]:_0x357f10[_0x39ff94(0x1c7)]['warnings'][_0x39ff94(0x199)](_0x17610f=>({..._0x17610f,'path':prefixRegistryIssuePath(_0x357f10[_0x39ff94(0x1ad)],_0x17610f['path'])})));return{'ok':_0x5a0ec6[_0x39ff94(0x1e7)]===0x0,'errors':_0x5a0ec6,'warnings':_0x1ccdac};}function prefixRegistryIssuePath(_0x51ad6a,_0x1996f8){const _0x2f4deb=a34_0x560471;if(_0x1996f8==='$')return _0x2f4deb(0x1b1)+_0x51ad6a+_0x2f4deb(0x19a);if(_0x1996f8[_0x2f4deb(0x197)]('$.'))return _0x2f4deb(0x1b1)+_0x51ad6a+_0x2f4deb(0x19a)+_0x1996f8[_0x2f4deb(0x1bf)](0x1);if(_0x1996f8[_0x2f4deb(0x197)]('$['))return _0x2f4deb(0x1b1)+_0x51ad6a+'].manifest'+_0x1996f8[_0x2f4deb(0x1bf)](0x1);return _0x2f4deb(0x1b1)+_0x51ad6a+_0x2f4deb(0x1d5)+_0x1996f8;}function isServiceRegistryLike(_0x482f53){const _0x1a66ac=a34_0x560471;return isObjectRecord(_0x482f53)&&_0x482f53[_0x1a66ac(0x1bc)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x1a66ac(0x1d7)](_0x482f53['services']);}function isObjectRecord(_0x4f577b){const _0x115154=a34_0x560471;return Boolean(_0x4f577b)&&typeof _0x4f577b===_0x115154(0x1aa)&&!Array[_0x115154(0x1d7)](_0x4f577b);}function a34_0x490f(_0x5c2425,_0x2c7b80){_0x5c2425=_0x5c2425-0x197;const _0x4d5d16=a34_0x4d5d();let _0x490f42=_0x4d5d16[_0x5c2425];return _0x490f42;}function emptyServiceRegistryInspection(_0x240467,_0x4a3447,_0x51426f){return{'registryPath':_0x240467,'exists':_0x51426f,'status':_0x4a3447,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x2729f0){const _0x3bcd08=a34_0x560471,_0x420157=_0x2729f0[_0x3bcd08(0x1c3)],_0x2465af=_0x420157['commands'][_0x3bcd08(0x199)](_0xfdc1fd=>({'path':_0xfdc1fd[_0x3bcd08(0x1af)],'description':_0xfdc1fd[_0x3bcd08(0x1e6)],'risk':_0xfdc1fd[_0x3bcd08(0x1ec)],'targetKind':_0xfdc1fd[_0x3bcd08(0x1e8)][_0x3bcd08(0x1a9)],'targetCommand':_0xfdc1fd[_0x3bcd08(0x1e8)][_0x3bcd08(0x1bb)]}));return{'serviceCode':_0x2729f0[_0x3bcd08(0x1a0)],'name':_0x420157[_0x3bcd08(0x19b)][_0x3bcd08(0x1da)],'description':_0x420157['service']['description'],'version':_0x2729f0[_0x3bcd08(0x1e4)],'importedAt':_0x2729f0[_0x3bcd08(0x1a6)],'source':_0x2729f0['source'],'commandCount':_0x2465af['length'],'commands':_0x2465af};}function sha256(_0x3395c5){const _0x15b7e0=a34_0x560471;return createHash('sha256')[_0x15b7e0(0x1a7)](_0x3395c5)['digest'](_0x15b7e0(0x1ca));}
|
|
1
|
+
(function(_0x1e32aa,_0x2c60cb){const _0x490400=a34_0x38b2,_0x106514=_0x1e32aa();while(!![]){try{const _0x11b7be=parseInt(_0x490400(0xc0))/0x1+parseInt(_0x490400(0xc4))/0x2+parseInt(_0x490400(0xe0))/0x3+parseInt(_0x490400(0xa5))/0x4+parseInt(_0x490400(0xd7))/0x5+parseInt(_0x490400(0xd4))/0x6+-parseInt(_0x490400(0xe1))/0x7;if(_0x11b7be===_0x2c60cb)break;else _0x106514['push'](_0x106514['shift']());}catch(_0xef7c4f){_0x106514['push'](_0x106514['shift']());}}}(a34_0x2cdb,0x8d86f));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{normalizeServiceTreeManifest,validateServiceTreeManifest}from'@lovrabet/cli-framework';import{PRODUCT_CONFIG}from'../../constant/product.js';import{CliErrors}from'../../errors.js';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;export const SERVICE_REGISTRY_FILE_NAME='service.json';export function getServiceRegistryPath(_0x2d0e6f={}){const _0x391684=a34_0x38b2;return resolve(_0x2d0e6f[_0x391684(0xeb)]??homedir(),PRODUCT_CONFIG['homeDirName'],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x2a15fc={}){const _0x34cfe5=a34_0x38b2,_0x40d8c5=getServiceRegistryPath(_0x2a15fc);if(!existsSync(_0x40d8c5))return emptyServiceRegistry();try{const _0x4d6459=readFileSync(_0x40d8c5,_0x34cfe5(0xd8));if(!_0x4d6459[_0x34cfe5(0xbd)]())return emptyServiceRegistry();const _0x1ea30a=JSON[_0x34cfe5(0xd0)](_0x4d6459);if(_0x1ea30a[_0x34cfe5(0xde)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x34cfe5(0xec)]('Unsupported\x20service\x20registry\x20schemaVersion:\x20'+String(_0x1ea30a['schemaVersion']),_0x34cfe5(0xaf)+_0x40d8c5+'.');if(!Array[_0x34cfe5(0xcf)](_0x1ea30a['services']))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x1ea30a[_0x34cfe5(0xe9)],'services':_0x1ea30a['services']};}catch(_0x6d3f03){if(_0x6d3f03 instanceof Error&&_0x6d3f03[_0x34cfe5(0xe8)]===_0x34cfe5(0xb1))throw _0x6d3f03;throw CliErrors[_0x34cfe5(0xec)]('Invalid\x20service\x20registry\x20JSON:\x20'+_0x40d8c5,_0x34cfe5(0xb2));}}export function writeServiceRegistry(_0xdab1ed,_0x5e6e7={}){const _0x14403f=a34_0x38b2,_0x5c7d99=getServiceRegistryPath(_0x5e6e7),_0x2b5915=dirname(_0x5c7d99);!existsSync(_0x2b5915)&&mkdirSync(_0x2b5915,{'recursive':!![]});const _0x4af543=_0x5c7d99+_0x14403f(0xd3);try{writeFileSync(_0x4af543,JSON[_0x14403f(0xbe)](_0xdab1ed,null,0x2)+'\x0a',{'encoding':_0x14403f(0xd8),'mode':0x180}),renameSync(_0x4af543,_0x5c7d99);}catch(_0xa774bb){try{unlinkSync(_0x4af543);}catch{}if(_0xa774bb?.[_0x14403f(0xb7)]===_0x14403f(0xbb))throw CliErrors[_0x14403f(0xec)](_0x14403f(0xe7)+_0x5c7d99);throw _0xa774bb;}return _0x5c7d99;}export function loadServiceManifestFromFile(_0x4bd792){const _0x14dc24=a34_0x38b2,_0x3fab3d=resolve(_0x4bd792);if(!existsSync(_0x3fab3d))throw CliErrors[_0x14dc24(0xec)]('Service\x20manifest\x20file\x20not\x20found:\x20'+_0x4bd792);let _0x255da6;const _0x287079=readFileSync(_0x3fab3d,_0x14dc24(0xd8));try{_0x255da6=JSON[_0x14dc24(0xd0)](_0x287079);}catch{throw CliErrors[_0x14dc24(0xec)](_0x14dc24(0xe3)+_0x4bd792,'Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.');}const _0x7e98b7=sha256(_0x287079),_0x46f91b=extractLoadedServiceManifests(_0x255da6,_0x7e98b7),_0x48be76=aggregateValidationReports(_0x46f91b),_0x4ac295=_0x46f91b[0x0];return{'filePath':_0x3fab3d,'hash':_0x7e98b7,'kind':isServiceRegistryLike(_0x255da6)?_0x14dc24(0xb5):_0x14dc24(0xf6),'manifest':_0x4ac295?.[_0x14dc24(0xf6)]??_0x255da6,'report':_0x48be76,'normalizedManifest':_0x46f91b['length']===0x1?_0x4ac295?.[_0x14dc24(0xdd)]:undefined,'manifests':_0x46f91b};}export function importServiceManifest(_0x26f6b6,_0x25f607={}){const _0x8355b3=a34_0x38b2,_0x4c060c=loadServiceManifestFromFile(_0x26f6b6);if(!_0x4c060c[_0x8355b3(0xef)]['ok'])throw CliErrors[_0x8355b3(0xec)](formatValidationFailure(_0x4c060c[_0x8355b3(0xef)]),_0x8355b3(0xee));if(_0x4c060c[_0x8355b3(0xed)][_0x8355b3(0xc3)]===0x0)throw CliErrors['validation'](_0x8355b3(0xba),_0x8355b3(0xbf));const _0x440cba=readServiceRegistry(_0x25f607),_0x3d19c8=(_0x25f607[_0x8355b3(0xf7)]??(()=>new Date()))()[_0x8355b3(0xae)](),_0x4c9d33=[];let _0x156656=0x0,_0xfaca66=0x0;for(const _0x4d45c6 of _0x4c060c[_0x8355b3(0xed)]){if(!_0x4d45c6['normalizedManifest'])continue;const _0x2e1f16=_0x4d45c6[_0x8355b3(0xdd)]['service']['code'],_0x1b1b80={'serviceCode':_0x2e1f16,'version':_0x4d45c6['normalizedManifest'][_0x8355b3(0xb6)],'importedAt':_0x3d19c8,'source':{'type':_0x8355b3(0xd6),'path':_0x4c060c[_0x8355b3(0xf1)],'hash':_0x4d45c6[_0x8355b3(0xf4)]},'manifest':_0x4d45c6[_0x8355b3(0xf6)],'normalizedManifest':_0x4d45c6[_0x8355b3(0xdd)]},_0x34021a=_0x440cba[_0x8355b3(0xf0)][_0x8355b3(0xea)](_0x3d2785=>_0x3d2785[_0x8355b3(0xce)]===_0x2e1f16);_0x34021a>=0x0?(_0x440cba[_0x8355b3(0xf0)][_0x34021a]=_0x1b1b80,_0xfaca66++):(_0x440cba['services'][_0x8355b3(0xd2)](_0x1b1b80),_0x156656++),_0x4c9d33[_0x8355b3(0xd2)](_0x1b1b80);}_0x440cba[_0x8355b3(0xf0)][_0x8355b3(0xf3)]((_0x143aac,_0x2a093b)=>_0x143aac['serviceCode'][_0x8355b3(0xdc)](_0x2a093b[_0x8355b3(0xce)])),_0x440cba[_0x8355b3(0xe9)]=_0x3d19c8;const _0x2f6046=writeServiceRegistry(_0x440cba,_0x25f607);return{'registryPath':_0x2f6046,'entry':_0x4c9d33[0x0],'replaced':_0x4c9d33['length']===0x1?_0xfaca66===0x1:_0xfaca66>0x0,'entries':_0x4c9d33,'imported':_0x156656,'updated':_0xfaca66,'serviceCount':_0x440cba[_0x8355b3(0xf0)][_0x8355b3(0xc3)]};}function a34_0x38b2(_0x4c6dcb,_0x3ebe55){_0x4c6dcb=_0x4c6dcb-0xa5;const _0x2cdba0=a34_0x2cdb();let _0x38b26d=_0x2cdba0[_0x4c6dcb];return _0x38b26d;}export function exportServiceManifest(_0x17b98d,_0x3c4c7a,_0xe6ec35={}){const _0x3b6515=a34_0x38b2,_0x106d3e=getServiceRegistryPath(_0xe6ec35),_0x4135cf=getLocalServiceEntry(_0x17b98d,_0xe6ec35);if(!_0x4135cf)throw CliErrors['validation'](_0x3b6515(0xcd)+_0x17b98d,_0x3b6515(0xd9));const _0x7ad4=resolve(_0x3c4c7a),_0x102f2e=dirname(_0x7ad4);return!existsSync(_0x102f2e)&&mkdirSync(_0x102f2e,{'recursive':!![]}),writeFileSync(_0x7ad4,JSON[_0x3b6515(0xbe)](_0x4135cf['manifest'],null,0x2)+'\x0a',{'encoding':_0x3b6515(0xd8),'mode':0x180}),{'registryPath':_0x106d3e,'filePath':_0x7ad4,'entry':_0x4135cf};}export function removeServiceManifest(_0x251add,_0x1d1feb={}){const _0x1dc09a=a34_0x38b2,_0xcc4d6b=readServiceRegistry(_0x1d1feb),_0x2ab2fd=_0x251add[_0x1dc09a(0xbd)](),_0x393a53=_0xcc4d6b[_0x1dc09a(0xf0)][_0x1dc09a(0xea)](_0x540477=>_0x540477['serviceCode']===_0x2ab2fd);if(_0x393a53<0x0)throw CliErrors[_0x1dc09a(0xec)](_0x1dc09a(0xcd)+_0x2ab2fd,_0x1dc09a(0xd9));const [_0xadb3c2]=_0xcc4d6b[_0x1dc09a(0xf0)][_0x1dc09a(0xcb)](_0x393a53,0x1),_0x31402a=(_0x1d1feb[_0x1dc09a(0xf7)]??(()=>new Date()))()['toISOString']();_0xcc4d6b[_0x1dc09a(0xe9)]=_0x31402a;const _0x6522dd=writeServiceRegistry(_0xcc4d6b,_0x1d1feb);return{'registryPath':_0x6522dd,'entry':_0xadb3c2,'serviceCount':_0xcc4d6b[_0x1dc09a(0xf0)]['length']};}export function listLocalServices(_0x3db4bc={}){return readServiceRegistry(_0x3db4bc)['services'];}export function getLocalServiceEntry(_0x5f5cca,_0x3f3163={}){const _0x377895=a34_0x38b2;return readServiceRegistry(_0x3f3163)[_0x377895(0xf0)]['find'](_0x4e59ee=>_0x4e59ee[_0x377895(0xce)]===_0x5f5cca['trim']());}function a34_0x2cdb(){const _0x266485=['length','1091370tAlIgd','$.services[','update','digest','object','command','join','splice','service','Local\x20service\x20not\x20found:\x20','serviceCode','isArray','parse','path','push','.tmp','5099820omekth','slice','file','4846190gJwuum','utf8','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','description','risk','localeCompare','normalizedManifest','schemaVersion','Service\x20manifest\x20validation\x20failed:\x0a','2952753tPZrLX','30048494daxxHh','importedAt','Invalid\x20service\x20manifest\x20JSON:\x20','string','services\x20must\x20be\x20an\x20array','missing','Cannot\x20write\x20service\x20registry:\x20','name','updatedAt','findIndex','homeDir','validation','manifests','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','report','services','filePath','flatMap','sort','sourceHash','Unsupported\x20schemaVersion:\x20','manifest','now','3309932LLewAR','hex','sha256','target','kind','commands','map','invalid','registryIndex','toISOString','Remove\x20or\x20migrate\x20','].manifest','CliError','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','].manifest.','cliPath','registry','version','code','empty','warnings','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','ENOENT','message','trim','stringify','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','695710HCtDWd','startsWith','errors'];a34_0x2cdb=function(){return _0x266485;};return a34_0x2cdb();}export function listLocalServiceTrees(_0x4dcec6={}){const _0x4344c9=a34_0x38b2;return readServiceRegistry(_0x4dcec6)[_0x4344c9(0xf0)][_0x4344c9(0xab)](_0x22bb1f=>_0x22bb1f[_0x4344c9(0xdd)]);}export function inspectServiceRegistry(_0x1db7bf={}){const _0x1202c1=a34_0x38b2,_0x3560c9=getServiceRegistryPath(_0x1db7bf);if(!existsSync(_0x3560c9))return emptyServiceRegistryInspection(_0x3560c9,_0x1202c1(0xe6),![]);try{const _0x57b89e=readFileSync(_0x3560c9,_0x1202c1(0xd8));if(!_0x57b89e[_0x1202c1(0xbd)]())return emptyServiceRegistryInspection(_0x3560c9,_0x1202c1(0xb8),!![]);const _0x298710=JSON[_0x1202c1(0xd0)](_0x57b89e);if(_0x298710['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x3560c9,_0x1202c1(0xac),!![]),'schemaVersion':_0x298710[_0x1202c1(0xde)],'message':_0x1202c1(0xf5)+String(_0x298710[_0x1202c1(0xde)])};if(!Array[_0x1202c1(0xcf)](_0x298710[_0x1202c1(0xf0)]))return{...emptyServiceRegistryInspection(_0x3560c9,_0x1202c1(0xac),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x298710[_0x1202c1(0xe9)],'message':_0x1202c1(0xe5)};const _0x7da40d=_0x298710[_0x1202c1(0xf0)][_0x1202c1(0xab)](summarizeLocalServiceEntry);return{'registryPath':_0x3560c9,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x298710['updatedAt'],'serviceCount':_0x7da40d[_0x1202c1(0xc3)],'commandCount':_0x7da40d['reduce']((_0x417950,_0x275800)=>_0x417950+_0x275800['commandCount'],0x0),'services':_0x7da40d};}catch(_0x1e39eb){return{...emptyServiceRegistryInspection(_0x3560c9,_0x1202c1(0xac),!![]),'message':_0x1e39eb instanceof Error?_0x1e39eb[_0x1202c1(0xbc)]:String(_0x1e39eb)};}}export function formatValidationFailure(_0x2d899e){const _0x1c893e=a34_0x38b2,_0x4d3668=_0x2d899e[_0x1c893e(0xc2)]['map'](_0x3849f7=>_0x3849f7[_0x1c893e(0xd1)]+':\x20'+_0x3849f7[_0x1c893e(0xbc)]);return _0x1c893e(0xdf)+_0x4d3668[_0x1c893e(0xca)]('\x0a');}function extractLoadedServiceManifests(_0x4e92ef,_0x598748){const _0x53ce47=a34_0x38b2;if(!isServiceRegistryLike(_0x4e92ef)){const _0x1134c5=_0x4e92ef,_0x4c470b=validateServiceTreeManifest(_0x1134c5);return[{'manifest':_0x1134c5,'report':_0x4c470b,'normalizedManifest':_0x4c470b['ok']?normalizeServiceTreeManifest(_0x1134c5):undefined,'sourceHash':_0x598748}];}return _0x4e92ef[_0x53ce47(0xf0)][_0x53ce47(0xab)]((_0x352c9c,_0x1571ea)=>{const _0x155622=_0x53ce47,_0x271372=isObjectRecord(_0x352c9c)?_0x352c9c['manifest']:undefined,_0x1cfa4a=validateServiceTreeManifest(_0x271372),_0xeb8c95=isObjectRecord(_0x352c9c)&&typeof _0x352c9c[_0x155622(0xce)]===_0x155622(0xe4)?_0x352c9c[_0x155622(0xce)]:undefined;return{'manifest':_0x271372,'report':_0x1cfa4a,'normalizedManifest':_0x1cfa4a['ok']?normalizeServiceTreeManifest(_0x271372):undefined,'sourceHash':sha256(JSON[_0x155622(0xbe)](_0x271372,null,0x2)+'\x0a'),'registryIndex':_0x1571ea,'registryServiceCode':_0xeb8c95};});}function aggregateValidationReports(_0x4eff5a){const _0xfdad80=a34_0x38b2,_0x279a5e=_0x4eff5a[_0xfdad80(0xf2)](_0x55247f=>_0x55247f['registryIndex']===undefined?_0x55247f['report'][_0xfdad80(0xc2)]:_0x55247f[_0xfdad80(0xef)]['errors'][_0xfdad80(0xab)](_0x1de33f=>({..._0x1de33f,'path':prefixRegistryIssuePath(_0x55247f[_0xfdad80(0xad)],_0x1de33f[_0xfdad80(0xd1)])}))),_0x4b7f83=_0x4eff5a[_0xfdad80(0xf2)](_0x1c3e00=>_0x1c3e00[_0xfdad80(0xad)]===undefined?_0x1c3e00['report']['warnings']:_0x1c3e00[_0xfdad80(0xef)][_0xfdad80(0xb9)]['map'](_0x456f97=>({..._0x456f97,'path':prefixRegistryIssuePath(_0x1c3e00[_0xfdad80(0xad)],_0x456f97[_0xfdad80(0xd1)])})));return{'ok':_0x279a5e[_0xfdad80(0xc3)]===0x0,'errors':_0x279a5e,'warnings':_0x4b7f83};}function prefixRegistryIssuePath(_0x55e18d,_0x7e0e89){const _0x38a9ee=a34_0x38b2;if(_0x7e0e89==='$')return _0x38a9ee(0xc5)+_0x55e18d+_0x38a9ee(0xb0);if(_0x7e0e89['startsWith']('$.'))return _0x38a9ee(0xc5)+_0x55e18d+_0x38a9ee(0xb0)+_0x7e0e89['slice'](0x1);if(_0x7e0e89[_0x38a9ee(0xc1)]('$['))return _0x38a9ee(0xc5)+_0x55e18d+_0x38a9ee(0xb0)+_0x7e0e89[_0x38a9ee(0xd5)](0x1);return _0x38a9ee(0xc5)+_0x55e18d+_0x38a9ee(0xb3)+_0x7e0e89;}function isServiceRegistryLike(_0x23424d){const _0x30817d=a34_0x38b2;return isObjectRecord(_0x23424d)&&_0x23424d[_0x30817d(0xde)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x30817d(0xcf)](_0x23424d[_0x30817d(0xf0)]);}function isObjectRecord(_0x3278da){const _0x2893a8=a34_0x38b2;return Boolean(_0x3278da)&&typeof _0x3278da===_0x2893a8(0xc8)&&!Array['isArray'](_0x3278da);}function emptyServiceRegistryInspection(_0x5d57d1,_0x4c373c,_0x300810){return{'registryPath':_0x5d57d1,'exists':_0x300810,'status':_0x4c373c,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x502c12){const _0x63a6e6=a34_0x38b2,_0x3bfab6=_0x502c12[_0x63a6e6(0xdd)],_0x4c7d9c=_0x3bfab6[_0x63a6e6(0xaa)]['map'](_0x14f00f=>({'path':_0x14f00f[_0x63a6e6(0xb4)],'description':_0x14f00f[_0x63a6e6(0xda)],'risk':_0x14f00f[_0x63a6e6(0xdb)],'targetKind':_0x14f00f[_0x63a6e6(0xa8)][_0x63a6e6(0xa9)],'targetCommand':_0x14f00f['target'][_0x63a6e6(0xc9)]}));return{'serviceCode':_0x502c12['serviceCode'],'name':_0x3bfab6[_0x63a6e6(0xcc)][_0x63a6e6(0xe8)],'description':_0x3bfab6[_0x63a6e6(0xcc)][_0x63a6e6(0xda)],'version':_0x502c12[_0x63a6e6(0xb6)],'importedAt':_0x502c12[_0x63a6e6(0xe2)],'source':_0x502c12['source'],'commandCount':_0x4c7d9c[_0x63a6e6(0xc3)],'commands':_0x4c7d9c};}function sha256(_0x2fb118){const _0xa32c08=a34_0x38b2;return createHash(_0xa32c08(0xa7))[_0xa32c08(0xc6)](_0x2fb118)[_0xa32c08(0xc7)](_0xa32c08(0xa6));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a35_0x30bca0=a35_0x85ee;(function(_0x4ff638,_0x9670c1){const _0x206318=a35_0x85ee,_0x14a0e9=_0x4ff638();while(!![]){try{const _0x30ecf3=-parseInt(_0x206318(0xb0))/0x1*(-parseInt(_0x206318(0xa6))/0x2)+-parseInt(_0x206318(0xaa))/0x3+-parseInt(_0x206318(0xc9))/0x4*(parseInt(_0x206318(0xb9))/0x5)+-parseInt(_0x206318(0xa7))/0x6*(-parseInt(_0x206318(0xad))/0x7)+parseInt(_0x206318(0xa5))/0x8*(parseInt(_0x206318(0xc7))/0x9)+-parseInt(_0x206318(0xbe))/0xa+parseInt(_0x206318(0xb8))/0xb;if(_0x30ecf3===_0x9670c1)break;else _0x14a0e9['push'](_0x14a0e9['shift']());}catch(_0x3092c3){_0x14a0e9['push'](_0x14a0e9['shift']());}}}(a35_0x28be,0x70e03));import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';import{CliErrors}from'../../../errors.js';import{CREATE_NAME_FLAG,FORCE_FLAG,TARGET_FLAG,TYPE_FLAG}from'../flags.js';function a35_0x28be(){const _0x4c30b7=['523864aqonzE','15ZCshHA','trim','map','force','Skill\x20directory\x20already\x20exists:\x20','9114230iUoAnd','files','skillDir','target','write','validation','type','Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20','str','288027gFfmLi','bool','36560bSlixr','WRITE','136qsTqqI','1753756kHTBTM','6eILwyQ','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','path','770430uyFnOD','skillName','utf8','1326073CVXSEw','Created\x20local\x20Skill\x20draft\x20','create','1LrjebW','rendered','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','name','content','skill','Refusing\x20to\x20overwrite\x20symlink:\x20','isSymbolicLink'];a35_0x28be=function(){return _0x4c30b7;};return a35_0x28be();}import{DEFAULT_SKILL_TARGET,renderSkillTemplate}from'../templates.js';function a35_0x85ee(_0x2bd01b,_0x39e548){_0x2bd01b=_0x2bd01b-0xa4;const _0x28be38=a35_0x28be();let _0x85eeb5=_0x28be38[_0x2bd01b];return _0x85eeb5;}export const createCommand={'service':a35_0x30bca0(0xb5),'command':a35_0x30bca0(0xaf),'description':'Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','risk':a35_0x30bca0(0xc2),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x3edd00){const _0x340fd3=a35_0x30bca0,_0x3bb475=buildSkillCreatePlan(_0x3edd00[_0x340fd3(0xc6)](_0x340fd3(0xb3)),_0x3edd00['str'](_0x340fd3(0xc4)),_0x3edd00[_0x340fd3(0xc6)](_0x340fd3(0xc1)));return{'method':_0x340fd3(0xa4),'url':_0x3bb475[_0x340fd3(0xc0)],'body':{'skillName':_0x3bb475['rendered'][_0x340fd3(0xab)],'type':_0x3bb475[_0x340fd3(0xb1)][_0x340fd3(0xc4)],'selfContained':!![],'files':_0x3bb475[_0x340fd3(0xb1)]['files'][_0x340fd3(0xbb)](_0x295ed1=>_0x295ed1[_0x340fd3(0xa9)])},'description':_0x340fd3(0xa8)};},async 'execute'(_0x1323a1){const _0x1e1ad8=a35_0x30bca0,_0x16e8ec=buildSkillCreatePlan(_0x1323a1[_0x1e1ad8(0xc6)](_0x1e1ad8(0xb3)),_0x1323a1[_0x1e1ad8(0xc6)](_0x1e1ad8(0xc4)),_0x1323a1['str'](_0x1e1ad8(0xc1)));return writeSkillDraft(_0x16e8ec,_0x1323a1[_0x1e1ad8(0xc8)](_0x1e1ad8(0xbc))),{'ok':!![],'data':{'skillName':_0x16e8ec[_0x1e1ad8(0xb1)][_0x1e1ad8(0xab)],'type':_0x16e8ec[_0x1e1ad8(0xb1)][_0x1e1ad8(0xc4)],'dir':_0x16e8ec[_0x1e1ad8(0xc0)],'files':_0x16e8ec[_0x1e1ad8(0xb1)][_0x1e1ad8(0xbf)][_0x1e1ad8(0xbb)](_0x3d9aed=>_0x3d9aed[_0x1e1ad8(0xa9)])},'message':_0x1e1ad8(0xae)+_0x16e8ec[_0x1e1ad8(0xb1)][_0x1e1ad8(0xab)]};}};function buildSkillCreatePlan(_0x2d66be,_0x1ceec6,_0x3472d5){const _0x11a9e8=a35_0x30bca0,_0x46c451=renderSkillTemplate({'skillName':_0x2d66be,'type':_0x1ceec6}),_0x51579d=resolve(normalizeSkillTarget(_0x3472d5));return{'rendered':_0x46c451,'targetRoot':_0x51579d,'skillDir':resolve(_0x51579d,_0x46c451[_0x11a9e8(0xab)])};}function normalizeSkillTarget(_0x2db888){const _0xa728aa=a35_0x30bca0;return(_0x2db888||DEFAULT_SKILL_TARGET)[_0xa728aa(0xba)]()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x48efe3,_0x35d2a9){const _0x1066bc=a35_0x30bca0;if(existsSync(_0x48efe3[_0x1066bc(0xc0)])){const _0x568a97=lstatSync(_0x48efe3[_0x1066bc(0xc0)]);if(!_0x568a97['isDirectory']()||_0x568a97['isSymbolicLink']())throw CliErrors[_0x1066bc(0xc3)](_0x1066bc(0xc5)+_0x48efe3['skillDir']);if(!_0x35d2a9)throw CliErrors['validation'](_0x1066bc(0xbd)+_0x48efe3[_0x1066bc(0xc0)],_0x1066bc(0xb2));}for(const _0x3665de of _0x48efe3[_0x1066bc(0xb1)][_0x1066bc(0xbf)]){const _0x1c8e98=resolve(_0x48efe3[_0x1066bc(0xc0)],_0x3665de['path']),_0x19f73d=dirname(_0x1c8e98);mkdirSync(_0x19f73d,{'recursive':!![]});if(existsSync(_0x1c8e98)&&lstatSync(_0x1c8e98)[_0x1066bc(0xb7)]())throw CliErrors[_0x1066bc(0xc3)](_0x1066bc(0xb6)+_0x1c8e98);writeFileSync(_0x1c8e98,_0x3665de[_0x1066bc(0xb4)],_0x1066bc(0xac));}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a36_0x50952d=a36_0x5c33;(function(_0x218bcc,_0x417b7a){const _0x5ab33c=a36_0x5c33,_0x313f1f=_0x218bcc();while(!![]){try{const _0x45ecf4=-parseInt(_0x5ab33c(0x1a2))/0x1+-parseInt(_0x5ab33c(0x1a1))/0x2+parseInt(_0x5ab33c(0x1aa))/0x3*(-parseInt(_0x5ab33c(0x194))/0x4)+-parseInt(_0x5ab33c(0x1b5))/0x5+parseInt(_0x5ab33c(0x196))/0x6*(-parseInt(_0x5ab33c(0x1b0))/0x7)+-parseInt(_0x5ab33c(0x19f))/0x8*(parseInt(_0x5ab33c(0x197))/0x9)+-parseInt(_0x5ab33c(0x1b8))/0xa*(-parseInt(_0x5ab33c(0x1af))/0xb);if(_0x45ecf4===_0x417b7a)break;else _0x313f1f['push'](_0x313f1f['shift']());}catch(_0x59f281){_0x313f1f['push'](_0x313f1f['shift']());}}}(a36_0x3f23,0xe662f));function a36_0x5c33(_0x3f999b,_0x4e4e68){_0x3f999b=_0x3f999b-0x192;const _0x3f2329=a36_0x3f23();let _0x5c339a=_0x3f2329[_0x3f999b];return _0x5c339a;}import{CliErrors}from'../../../errors.js';import{CODE_FLAG,SCOPE_FLAG}from'../flags.js';import{normalizeSyncScopes}from'../scopes.js';import{summarizeRuntimeSkill}from'../summary.js';export const installCommand={'service':a36_0x50952d(0x19a),'command':a36_0x50952d(0x199),'description':'Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','risk':a36_0x50952d(0x1a6),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG],async 'execute'(_0x1ee9f5){return syncRuntimeSkills(_0x1ee9f5);}};async function syncRuntimeSkills(_0x536a5a){const _0x50f328=a36_0x50952d,{downloadRuntimeSkillPackage:_0x562c7d,listRuntimeSkills:_0x5bf66a}=await import(_0x50f328(0x1b3)),{linkEffectiveRuntimeSkills:_0x364fee,materializeRuntimeSkill:_0x49e826,pruneStaleRuntimeSkillCache:_0x51e53b,pruneStaleRuntimeSkillLinks:_0x2bbc67}=await import(_0x50f328(0x1b1)),_0x54d1d8=_0x536a5a[_0x50f328(0x1b4)](_0x50f328(0x1a4)),_0x1af623=normalizeSyncScopes(_0x536a5a[_0x50f328(0x1b4)](_0x50f328(0x1bd))),_0x5b8e81=_0x536a5a[_0x50f328(0x1a0)]??'production',_0x499902=_0x536a5a['accessKey'];if(!_0x499902)throw CliErrors[_0x50f328(0x19d)](_0x50f328(0x19b));const _0x4ed5d4=await Promise[_0x50f328(0x192)](_0x1af623['map'](_0x3681a2=>_0x5bf66a({'appCode':_0x536a5a['appCode'],'scope':_0x3681a2,'code':_0x54d1d8[_0x50f328(0x1bc)]()||undefined}))),_0x50f47a=_0x1af623[_0x50f328(0x1a9)](_0x50f328(0x193))?_0x4ed5d4[_0x50f328(0x1ae)]((_0x1f33f7,_0x3cbcf7)=>_0x1af623[_0x3cbcf7]===_0x50f328(0x193)?_0x1f33f7[_0x50f328(0x193)]:[]):[],_0x26f8fc=_0x1af623[_0x50f328(0x1a9)](_0x50f328(0x19c))?_0x4ed5d4[_0x50f328(0x1ae)]((_0x3c4fef,_0x2f037b)=>_0x1af623[_0x2f037b]===_0x50f328(0x19c)?_0x3c4fef[_0x50f328(0x19c)]:[]):[],_0x300704=new Set([..._0x50f47a[_0x50f328(0x1ba)](_0xcbee09=>_0xcbee09[_0x50f328(0x1b9)]?.[_0x50f328(0x1bc)]())['filter'](_0x5cfa14=>Boolean(_0x5cfa14)),..._0x26f8fc[_0x50f328(0x1ba)](_0x3e63b6=>_0x3e63b6['skillCode']?.[_0x50f328(0x1bc)]())['filter'](_0x140426=>Boolean(_0x140426))]),_0x53437e=_0x54d1d8[_0x50f328(0x1bc)]()?[_0x54d1d8[_0x50f328(0x1bc)]()]:undefined,_0x4c40ed=_0x1af623[_0x50f328(0x1b6)]===0x2&&_0x1af623[_0x50f328(0x1a9)](_0x50f328(0x193))&&_0x1af623[_0x50f328(0x1a9)]('company'),_0x5ebfb7=_0x4c40ed?_0x2bbc67(_0x536a5a[_0x50f328(0x1a7)],_0x300704,{},_0x53437e):[],_0x21ca9f=_0x51e53b({'env':_0x5b8e81,'accessKey':_0x499902,'appCode':_0x536a5a[_0x50f328(0x1a7)],'activeSkillCodes':_0x300704,'pruneSkillCodes':_0x53437e,'scopes':_0x1af623}),_0x506aeb=[];for(const _0x13f3cb of _0x50f47a){_0x506aeb[_0x50f328(0x1b2)](_0x49e826(_0x13f3cb,_0x50f328(0x193),{'env':_0x5b8e81,'accessKey':_0x499902,'appCode':_0x536a5a[_0x50f328(0x1a7)],'packageBytes':await downloadSkillPackage(_0x13f3cb,'personal',_0x536a5a[_0x50f328(0x1a7)],_0x562c7d)}));}for(const _0x100cc5 of _0x26f8fc){_0x506aeb['push'](_0x49e826(_0x100cc5,'company',{'env':_0x5b8e81,'accessKey':_0x499902,'appCode':_0x536a5a[_0x50f328(0x1a7)],'packageBytes':await downloadSkillPackage(_0x100cc5,_0x50f328(0x19c),_0x536a5a['appCode'],_0x562c7d)}));}const _0x193d06=_0x364fee(_0x506aeb,_0x536a5a['appCode']),_0x3fb0ab=countLinkActions(_0x193d06);return{'ok':!![],'data':{'appCode':_0x536a5a[_0x50f328(0x1a7)],'personal':_0x50f47a[_0x50f328(0x1b6)],'company':_0x26f8fc[_0x50f328(0x1b6)],'materialized':_0x506aeb['length'],'links':{'total':_0x193d06['length'],'created':_0x3fb0ab[_0x50f328(0x198)]??0x0,'updated':_0x3fb0ab['updated']??0x0,'unchanged':_0x3fb0ab[_0x50f328(0x1b7)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x5ebfb7[_0x50f328(0x1a3)](_0x1b3749=>_0x1b3749['action']===_0x50f328(0x1a8))[_0x50f328(0x1b6)],'cacheDirs':_0x21ca9f[_0x50f328(0x1a3)](_0x29ba06=>_0x29ba06[_0x50f328(0x1ab)]===_0x50f328(0x1a8))[_0x50f328(0x1b6)],'skipped':[..._0x5ebfb7,..._0x21ca9f]['filter'](_0x2251fa=>_0x2251fa['action']===_0x50f328(0x195))[_0x50f328(0x1b6)]},'skills':{'personal':_0x50f47a[_0x50f328(0x1ba)](summarizeRuntimeSkill),'company':_0x26f8fc[_0x50f328(0x1ba)](summarizeRuntimeSkill)}},'message':_0x50f328(0x1ad)+_0x50f47a[_0x50f328(0x1b6)]+_0x50f328(0x1a5)+_0x26f8fc[_0x50f328(0x1b6)]+_0x50f328(0x1ac)};}async function downloadSkillPackage(_0x20b3cf,_0x2e7368,_0x43cd2b,_0x1b8e55){const _0x1d4fa9=a36_0x50952d,_0x24f208=_0x20b3cf[_0x1d4fa9(0x19e)]?.[_0x1d4fa9(0x1bc)]();return _0x24f208?_0x1b8e55(_0x2e7368,_0x20b3cf[_0x1d4fa9(0x1b9)],_0x43cd2b,_0x24f208):_0x1b8e55(_0x2e7368,_0x20b3cf[_0x1d4fa9(0x1b9)],_0x43cd2b);}function countLinkActions(_0x29dcb9){const _0x1a7ed5=a36_0x50952d;return _0x29dcb9[_0x1a7ed5(0x1bb)]((_0x2242f0,_0x587c50)=>{const _0x295473=_0x1a7ed5;return _0x2242f0[_0x587c50['action']]=(_0x2242f0[_0x587c50[_0x295473(0x1ab)]]??0x0)+0x1,_0x2242f0;},{});}function a36_0x3f23(){const _0x3ae4b2=['personal','10784efLtCc','skipped','2779758rPYxty','315ulDdce','created','install','skill','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.','company','authRequired','version','239128FWjcXK','envName','2663624aODxEn','1808042hTDOih','filter','code','\x20personal\x20and\x20','write','appCode','removed','includes','318PBRvpX','action','\x20company\x20Skill(s).','Installed\x20','flatMap','88776677ivjFuY','21yThMTZ','../../../skills/runtime-skill-sync.js','push','../../../core/api-client.js','str','6326250XaJaFT','length','unchanged','10sJrvBZ','skillCode','map','reduce','trim','scope','all'];a36_0x3f23=function(){return _0x3ae4b2;};return a36_0x3f23();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a37_0x119af9=a37_0x1c69;function a37_0x1c69(_0x3ae636,_0x59dec4){_0x3ae636=_0x3ae636-0xfd;const _0x2160fd=a37_0x2160();let _0x1c697b=_0x2160fd[_0x3ae636];return _0x1c697b;}function a37_0x2160(){const _0x269306=['310NLynYR','length','bool','12PLCkqk','authRequired','list','List\x20runtime\x20Skills\x20from\x20remote\x20or\x20CLI-managed\x20local\x20cache','scope','1419271RCcBwe','map','7149303VZGhhU','2132RXKVEV','30998GqSAqi','str','../../../core/api-client.js','../../../skills/runtime-skill-sync.js','trim','8jvtGKB','11334gbHlNo','2579285ZJzfkx','appCode','Listed\x20','14904LmgdzV','local','filter','accessKey','640AiBRjq','read','758jJXEaZ','personal','631izqSmX','company','skill','\x20local\x20Skill(s).'];a37_0x2160=function(){return _0x269306;};return a37_0x2160();}(function(_0x1d8f45,_0xd9fd3b){const _0x5efff7=a37_0x1c69,_0x4eb29e=_0x1d8f45();while(!![]){try{const _0x2820ee=parseInt(_0x5efff7(0x111))/0x1*(-parseInt(_0x5efff7(0x10f))/0x2)+-parseInt(_0x5efff7(0x105))/0x3*(-parseInt(_0x5efff7(0x10d))/0x4)+-parseInt(_0x5efff7(0x106))/0x5*(-parseInt(_0x5efff7(0x118))/0x6)+-parseInt(_0x5efff7(0x11d))/0x7*(parseInt(_0x5efff7(0x104))/0x8)+-parseInt(_0x5efff7(0xfd))/0x9+-parseInt(_0x5efff7(0x115))/0xa*(parseInt(_0x5efff7(0xff))/0xb)+parseInt(_0x5efff7(0x109))/0xc*(parseInt(_0x5efff7(0xfe))/0xd);if(_0x2820ee===_0xd9fd3b)break;else _0x4eb29e['push'](_0x4eb29e['shift']());}catch(_0x389575){_0x4eb29e['push'](_0x4eb29e['shift']());}}}(a37_0x2160,0x7e09f));import{CliErrors}from'../../../errors.js';import{CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG}from'../flags.js';import{listScopeToRemoteScope,listScopeToRuntimeScopes,normalizeListScope,shouldListScope}from'../scopes.js';import{summarizeLocalRuntimeSkill,summarizeRuntimeSkill}from'../summary.js';export const listCommand={'service':a37_0x119af9(0x113),'command':a37_0x119af9(0x11a),'description':a37_0x119af9(0x11b),'risk':a37_0x119af9(0x10e),'flags':[CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG],async 'execute'(_0x5947d0){const _0x1de7ad=a37_0x119af9,_0x59cd37=_0x5947d0[_0x1de7ad(0x100)]('code'),_0x1ffe35=normalizeListScope(_0x5947d0[_0x1de7ad(0x100)](_0x1de7ad(0x11c)));if(_0x5947d0[_0x1de7ad(0x117)]('local')){const _0x5e6fb3=_0x5947d0[_0x1de7ad(0x10c)];if(!_0x5e6fb3)throw CliErrors[_0x1de7ad(0x119)]();const {listLocalRuntimeSkills:_0x1a97a6}=await import(_0x1de7ad(0x102)),_0x2a5d53=_0x1a97a6({'env':_0x5947d0['envName']??'production','accessKey':_0x5e6fb3,'appCode':_0x5947d0[_0x1de7ad(0x107)],'scopes':listScopeToRuntimeScopes(_0x1ffe35),'code':_0x59cd37[_0x1de7ad(0x103)]()||undefined}),_0x505575=groupLocalRuntimeSkills(_0x2a5d53);return{'ok':!![],'data':{'appCode':_0x5947d0[_0x1de7ad(0x107)],'source':_0x1de7ad(0x10a),'scope':_0x1ffe35,'total':_0x2a5d53[_0x1de7ad(0x116)],'personal':_0x505575[_0x1de7ad(0x110)][_0x1de7ad(0x116)],'company':_0x505575['company'][_0x1de7ad(0x116)],'items':_0x2a5d53[_0x1de7ad(0x11e)](summarizeLocalRuntimeSkill),'skills':{'personal':_0x505575[_0x1de7ad(0x110)]['map'](summarizeLocalRuntimeSkill),'company':_0x505575[_0x1de7ad(0x112)]['map'](summarizeLocalRuntimeSkill)}},'message':_0x1de7ad(0x108)+_0x2a5d53['length']+_0x1de7ad(0x114)};}const {listRuntimeSkills:_0x10c8f7}=await import(_0x1de7ad(0x101)),_0x1d30c0=await _0x10c8f7({'appCode':_0x5947d0['appCode'],'scope':listScopeToRemoteScope(_0x1ffe35),'code':_0x59cd37[_0x1de7ad(0x103)]()||undefined}),_0x1ef8a3=shouldListScope(_0x1ffe35,_0x1de7ad(0x110))?_0x1d30c0['personal']??[]:[],_0x42cd8e=shouldListScope(_0x1ffe35,'company')?_0x1d30c0[_0x1de7ad(0x112)]??[]:[],_0x533fa3=[..._0x1ef8a3,..._0x42cd8e];return{'ok':!![],'data':{'appCode':_0x5947d0[_0x1de7ad(0x107)],'source':'remote','scope':_0x1ffe35,'total':_0x533fa3[_0x1de7ad(0x116)],'personal':_0x1ef8a3[_0x1de7ad(0x116)],'company':_0x42cd8e[_0x1de7ad(0x116)],'items':_0x533fa3['map'](summarizeRuntimeSkill),'skills':{'personal':_0x1ef8a3[_0x1de7ad(0x11e)](summarizeRuntimeSkill),'company':_0x42cd8e[_0x1de7ad(0x11e)](summarizeRuntimeSkill)}},'message':'Listed\x20'+_0x533fa3[_0x1de7ad(0x116)]+'\x20remote\x20Skill(s).'};}};function groupLocalRuntimeSkills(_0x2323e6){const _0x70a6c9=a37_0x119af9;return{'personal':_0x2323e6['filter'](_0x3bb5a1=>_0x3bb5a1[_0x70a6c9(0x11c)]==='personal'),'company':_0x2323e6[_0x70a6c9(0x10b)](_0xf60b08=>_0xf60b08[_0x70a6c9(0x11c)]===_0x70a6c9(0x112)),'builtin':_0x2323e6[_0x70a6c9(0x10b)](_0x3aa20a=>_0x3aa20a[_0x70a6c9(0x11c)]==='builtin')};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a38_0x30fc(){const _0x58d49e=['find','8aBhVUr','str','write','11316837EIEfps','26874160MeBNjI','skillCode','195HJyRft','../../../core/api-client.js','dir','1LornQO','3322917WgLwyT','skill','13341816bZgYDx','authRequired','2969918XAsvtQ','input','files','8092110Xctauo','appCode','personal','175076NnkXWS','../../../skills/runtime-skill-sync.js'];a38_0x30fc=function(){return _0x58d49e;};return a38_0x30fc();}function a38_0x1bdd(_0x591ddd,_0x4fe2cb){_0x591ddd=_0x591ddd-0x102;const _0x30fc5a=a38_0x30fc();let _0x1bddd8=_0x30fc5a[_0x591ddd];return _0x1bddd8;}const a38_0x44ab74=a38_0x1bdd;(function(_0x2d89e2,_0x3fc4e2){const _0x3e44c4=a38_0x1bdd,_0x3f5c7e=_0x2d89e2();while(!![]){try{const _0xb5f7bd=parseInt(_0x3e44c4(0x107))/0x1*(parseInt(_0x3e44c4(0x10c))/0x2)+-parseInt(_0x3e44c4(0x108))/0x3+parseInt(_0x3e44c4(0x112))/0x4*(parseInt(_0x3e44c4(0x104))/0x5)+parseInt(_0x3e44c4(0x10f))/0x6+parseInt(_0x3e44c4(0x118))/0x7+parseInt(_0x3e44c4(0x115))/0x8*(-parseInt(_0x3e44c4(0x10a))/0x9)+-parseInt(_0x3e44c4(0x102))/0xa;if(_0xb5f7bd===_0x3fc4e2)break;else _0x3f5c7e['push'](_0x3f5c7e['shift']());}catch(_0x500eb5){_0x3f5c7e['push'](_0x3f5c7e['shift']());}}}(a38_0x30fc,0xd6ce7));import{CliErrors}from'../../../errors.js';import{DIR_FLAG}from'../flags.js';import{isMultiFileManifest,isPackageBackedManifest}from'../manifest-helpers.js';import{summarizeRuntimeSkill}from'../summary.js';import{throwIfSkillValidationFailed,validateSkillDirectory}from'../validate.js';export const pushCommand={'service':a38_0x44ab74(0x109),'command':'push','description':'Push\x20a\x20local\x20Skill\x20directory\x20to\x20personal\x20runtime\x20Skill\x20scope','risk':a38_0x44ab74(0x117),'flags':[DIR_FLAG],async 'execute'(_0x41e784){const _0x5e97f=a38_0x44ab74,{createPersonalRuntimeSkill:_0x5d4bb2,downloadRuntimeSkillPackage:_0x2f4635,listRuntimeSkills:_0x1568b9,updatePersonalRuntimeSkill:_0x143a8a}=await import(_0x5e97f(0x105)),{verifyRuntimeSkillPackage:_0x2d5bfd,verifyRuntimeSkillBundle:_0x575caa,readPushDirectory:_0x43fc2a,recordPushedRuntimeSkill:_0x58f585}=await import(_0x5e97f(0x113));if(!_0x41e784['accessKey'])throw CliErrors[_0x5e97f(0x10b)]();const _0x494c41=_0x41e784[_0x5e97f(0x116)]('dir'),_0x556e4e=validateSkillDirectory(_0x494c41);throwIfSkillValidationFailed(_0x556e4e);const _0x21ac34=_0x556e4e[_0x5e97f(0x106)],_0x21f37a=_0x43fc2a(_0x21ac34,_0x41e784[_0x5e97f(0x110)]),_0x1006d6=(await _0x1568b9({'appCode':_0x41e784[_0x5e97f(0x110)],'scope':_0x5e97f(0x111)}))['personal'][_0x5e97f(0x114)](_0x4cc93f=>_0x4cc93f[_0x5e97f(0x103)]===_0x21f37a[_0x5e97f(0x103)]),_0x172d31=_0x1006d6?await _0x143a8a(_0x21f37a[_0x5e97f(0x103)],_0x41e784[_0x5e97f(0x110)],_0x21f37a[_0x5e97f(0x10d)]):await _0x5d4bb2(_0x41e784[_0x5e97f(0x110)],_0x21f37a[_0x5e97f(0x10d)]);let _0x4ec2f9=_0x172d31;if(isMultiFileManifest(_0x21f37a[_0x5e97f(0x10d)][_0x5e97f(0x10e)])){const _0x2a32d4=await _0x2f4635(_0x5e97f(0x111),_0x172d31[_0x5e97f(0x103)]||_0x21f37a['skillCode'],_0x41e784['appCode']);_0x575caa(_0x21f37a[_0x5e97f(0x10d)]['files'],_0x2a32d4),_0x4ec2f9={..._0x172d31,'files':_0x21f37a[_0x5e97f(0x10d)][_0x5e97f(0x10e)]};}else{if(isPackageBackedManifest(_0x172d31[_0x5e97f(0x10e)])){const _0x2978f9=await _0x2f4635('personal',_0x172d31[_0x5e97f(0x103)]||_0x21f37a[_0x5e97f(0x103)],_0x41e784['appCode']);_0x2d5bfd(_0x172d31[_0x5e97f(0x10e)],_0x2978f9);}}return _0x58f585(_0x21ac34,_0x4ec2f9,_0x41e784[_0x5e97f(0x110)]),{'ok':!![],'data':summarizeRuntimeSkill(_0x172d31),'message':_0x1006d6?'Updated\x20personal\x20Skill\x20'+_0x21f37a[_0x5e97f(0x103)]:'Created\x20personal\x20Skill\x20'+_0x21f37a[_0x5e97f(0x103)]};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a39_0xd47e(_0x52b0a9,_0x39cf4d){_0x52b0a9=_0x52b0a9-0x167;const _0x3dc99c=a39_0x3dc9();let _0xd47e42=_0x3dc99c[_0x52b0a9];return _0xd47e42;}const a39_0x52d3ff=a39_0xd47e;(function(_0x4914a0,_0x54a7f0){const _0x220c72=a39_0xd47e,_0x1453d6=_0x4914a0();while(!![]){try{const _0x17e2fb=-parseInt(_0x220c72(0x16e))/0x1+-parseInt(_0x220c72(0x175))/0x2*(-parseInt(_0x220c72(0x171))/0x3)+parseInt(_0x220c72(0x174))/0x4+parseInt(_0x220c72(0x16b))/0x5+parseInt(_0x220c72(0x173))/0x6+-parseInt(_0x220c72(0x16a))/0x7+-parseInt(_0x220c72(0x168))/0x8;if(_0x17e2fb===_0x54a7f0)break;else _0x1453d6['push'](_0x1453d6['shift']());}catch(_0x156890){_0x1453d6['push'](_0x1453d6['shift']());}}}(a39_0x3dc9,0xbb005));function a39_0x3dc9(){const _0x27731b=['5136448QArKLw','774678dJnMsF','dir','bool','25272408EqTORN','strict','2670262rqtbCT','7033115AgqlNU','str','Validate\x20a\x20local\x20Skill\x20directory\x20as\x20a\x20self-contained\x20delivery\x20package','1064780kMjCuT','warnings','validate','9NBRmIl','errors','9111012fYNomv'];a39_0x3dc9=function(){return _0x27731b;};return a39_0x3dc9();}import{DIR_FLAG,STRICT_FLAG}from'../flags.js';import{throwIfSkillValidationFailed,validateSkillDirectory}from'../validate.js';export const validateCommand={'service':'skill','command':a39_0x52d3ff(0x170),'description':a39_0x52d3ff(0x16d),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[DIR_FLAG,STRICT_FLAG],async 'execute'(_0x4e4d55){const _0xcf75ac=a39_0x52d3ff,_0x16b478=_0x4e4d55[_0xcf75ac(0x167)](_0xcf75ac(0x169)),_0x9c76cb=validateSkillDirectory(_0x4e4d55[_0xcf75ac(0x16c)](_0xcf75ac(0x176)),{'strict':_0x16b478});return throwIfSkillValidationFailed(_0x9c76cb,_0x16b478),{'ok':!![],'data':{'dir':_0x9c76cb['dir'],'type':_0x9c76cb['type'],'errors':_0x9c76cb[_0xcf75ac(0x172)],'warnings':_0x9c76cb[_0xcf75ac(0x16f)]},'message':'Skill\x20validation\x20passed.'};}};
|