@lovrabet/lovrabet-cli 2.1.7-beta.2 → 2.1.7-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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/push-retarget.js +1 -0
- 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
package/lib/commands/kb/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a27_0x4bd7c5=a27_0x46ea;(function(_0x1b6929,_0x432759){const _0x23ec60=a27_0x46ea,_0x35d49f=_0x1b6929();while(!![]){try{const _0x8a5b15=-parseInt(_0x23ec60(0xa7))/0x1+parseInt(_0x23ec60(0xa2))/0x2+-parseInt(_0x23ec60(0xb8))/0x3*(parseInt(_0x23ec60(0xc2))/0x4)+-parseInt(_0x23ec60(0x9f))/0x5*(-parseInt(_0x23ec60(0xd2))/0x6)+-parseInt(_0x23ec60(0xb1))/0x7*(-parseInt(_0x23ec60(0xbd))/0x8)+-parseInt(_0x23ec60(0xba))/0x9+-parseInt(_0x23ec60(0x99))/0xa*(parseInt(_0x23ec60(0xb6))/0xb);if(_0x8a5b15===_0x432759)break;else _0x35d49f['push'](_0x35d49f['shift']());}catch(_0x893ec6){_0x35d49f['push'](_0x35d49f['shift']());}}}(a27_0x8bf3,0x5b97e));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalKnowledgeBaseItem,getPersonalKnowledgeBaseItem,listPersonalKnowledgeBaseItems,searchKnowledgeBase,updatePersonalKnowledgeBaseItem}from'../../core/api-client.js';import{ID_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';function a27_0x8bf3(){const _0x4c1b35=['write','updateTime','metadata','version','1591004tBYqUU','description','verbose','list','docId','Path\x20to\x20a\x20local\x20UTF-8\x20text\x20or\x20Markdown\x20file','flag','Update\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','/client/knowledge-base/personal/','/update','map','File\x20path\x20is\x20required.','str','topk','file','userId','42JLytIW','score','Override\x20the\x20existing\x20entry\x20title','content','ragStatus','weightedScore','/client/knowledge-base/personal/create','validation','Search\x20query\x20is\x20required.','isFinite','create','10FpllPo','Personal\x20knowledge-base\x20entry\x20ID','POST','createTime','Preview:\x20create\x20personal\x20knowledge-base\x20entry\x20\x22','trim','412970pqULew','File\x20not\x20found:\x20','Updated\x20KB\x20entry\x20','1489148KuenmX','detail','scope','ragErrorMessage','query','60831ZWsVtv','appCode','title','update','string','Preview:\x20update\x20personal\x20knowledge-base\x20entry\x20','build','Create\x20a\x20personal\x20knowledge-base\x20entry\x20from\x20a\x20local\x20file','bool','--topk\x20must\x20be\x20a\x20positive\x20number.','20902rThMpE','search','body','Maximum\x20number\x20of\x20search\x20hits\x20to\x20return','num','5870491MyfKBf','read','3YxxtPU','File\x20is\x20not\x20a\x20regular\x20file:\x20','2795733ZyZYBW','Personal\x20knowledge-base\x20entry\x20title','length','952OIVYMx'];a27_0x8bf3=function(){return _0x4c1b35;};return a27_0x8bf3();}const TITLE_FLAG={'name':a27_0x4bd7c5(0xa9),'type':a27_0x4bd7c5(0xab),'required':!![],'description':a27_0x4bd7c5(0xbb)},FILE_FLAG={'name':a27_0x4bd7c5(0xd0),'type':a27_0x4bd7c5(0xab),'required':!![],'description':a27_0x4bd7c5(0xc7)},QUERY_FLAG={'name':a27_0x4bd7c5(0xa6),'type':a27_0x4bd7c5(0xab),'required':!![],'description':'Search\x20query\x20for\x20visible\x20company\x20and\x20personal\x20knowledge'},TOPK_FLAG={'name':a27_0x4bd7c5(0xcf),'type':'number','description':a27_0x4bd7c5(0xb4)};function readKnowledgeFile(_0x54c495){const _0xaa6972=a27_0x4bd7c5;if(!_0x54c495)throw CliErrors[_0xaa6972(0x95)](_0xaa6972(0xcd));if(!existsSync(_0x54c495))throw CliErrors[_0xaa6972(0x95)](_0xaa6972(0xa0)+_0x54c495);if(!statSync(_0x54c495)['isFile']())throw CliErrors['validation'](_0xaa6972(0xb9)+_0x54c495);return readFileSync(_0x54c495,'utf8');}function summarizePersonalItem(_0x4fbbdd){const _0x4ab809=a27_0x4bd7c5;return{'id':_0x4fbbdd['id'],'title':_0x4fbbdd[_0x4ab809(0xa9)],'version':_0x4fbbdd[_0x4ab809(0xc1)],'ragStatus':_0x4fbbdd[_0x4ab809(0x92)],'ragErrorMessage':_0x4fbbdd[_0x4ab809(0xa5)],'updateTime':_0x4fbbdd[_0x4ab809(0xbf)]};}function a27_0x46ea(_0x30d8dd,_0x1d6832){_0x30d8dd=_0x30d8dd-0x92;const _0x8bf308=a27_0x8bf3();let _0x46ead4=_0x8bf308[_0x30d8dd];return _0x46ead4;}function detailPersonalItem(_0x4d693f){const _0x3e8c5d=a27_0x4bd7c5;return{'id':_0x4d693f['id'],'appCode':_0x4d693f[_0x3e8c5d(0xa8)],'scope':_0x4d693f[_0x3e8c5d(0xa4)],'userId':_0x4d693f[_0x3e8c5d(0xd1)],'title':_0x4d693f[_0x3e8c5d(0xa9)],'content':_0x4d693f[_0x3e8c5d(0xd5)]??'','version':_0x4d693f[_0x3e8c5d(0xc1)],'ragStatus':_0x4d693f['ragStatus'],'ragErrorMessage':_0x4d693f[_0x3e8c5d(0xa5)],'createTime':_0x4d693f[_0x3e8c5d(0x9c)],'updateTime':_0x4d693f[_0x3e8c5d(0xbf)]};}function summarizeSearchHit(_0x5c815f){const _0x418b15=a27_0x4bd7c5;return{'scope':_0x5c815f['scope'],'docId':_0x5c815f[_0x418b15(0xc6)],'score':_0x5c815f[_0x418b15(0xd3)],'weightedScore':_0x5c815f[_0x418b15(0x93)],'content':_0x5c815f[_0x418b15(0xd5)],'metadata':_0x5c815f[_0x418b15(0xc0)]};}function readTopK(_0x14f95a){const _0x46bf16=a27_0x4bd7c5,_0x194875=_0x14f95a[_0x46bf16(0xc8)](_0x46bf16(0xcf));if(_0x194875===undefined||_0x194875===null||_0x194875==='')return undefined;const _0x2db85f=_0x14f95a[_0x46bf16(0xb5)](_0x46bf16(0xcf));if(!Number[_0x46bf16(0x97)](_0x2db85f)||_0x2db85f<0x1)throw CliErrors[_0x46bf16(0x95)](_0x46bf16(0xb0));return _0x2db85f;}const kbList={'service':'kb','command':a27_0x4bd7c5(0xc5),'description':'List\x20personal\x20knowledge-base\x20entries\x20for\x20the\x20current\x20app','risk':'read','flags':[VERBOSE_FLAG],async 'execute'(_0x7e8b3b){const _0x51fcb1=a27_0x4bd7c5,_0x4cc431=await listPersonalKnowledgeBaseItems(_0x7e8b3b[_0x51fcb1(0xa8)]);if(_0x7e8b3b[_0x51fcb1(0xaf)](_0x51fcb1(0xc4)))return{'ok':!![],'data':{'total':_0x4cc431[_0x51fcb1(0xbc)],'items':_0x4cc431}};return{'ok':!![],'data':{'total':_0x4cc431[_0x51fcb1(0xbc)],'items':_0x4cc431[_0x51fcb1(0xcc)](summarizePersonalItem)}};}},kbDetail={'service':'kb','command':a27_0x4bd7c5(0xa3),'description':'Show\x20one\x20personal\x20knowledge-base\x20entry\x20by\x20id','risk':a27_0x4bd7c5(0xb7),'flags':[{...ID_FLAG,'description':a27_0x4bd7c5(0x9a)}],async 'execute'(_0x187bc8){const _0x194cf3=a27_0x4bd7c5,_0x22d0b0=await getPersonalKnowledgeBaseItem(_0x187bc8[_0x194cf3(0xb5)]('id'),_0x187bc8[_0x194cf3(0xa8)]);return{'ok':!![],'data':detailPersonalItem(_0x22d0b0)};}},kbCreate={'service':'kb','command':a27_0x4bd7c5(0x98),'description':a27_0x4bd7c5(0xae),'risk':a27_0x4bd7c5(0xbe),'flags':[TITLE_FLAG,FILE_FLAG],async 'execute'(_0x1ce6a1){const _0x17e5da=a27_0x4bd7c5,_0x452165=_0x1ce6a1[_0x17e5da(0xce)](_0x17e5da(0xa9)),_0x4cd3c5=readKnowledgeFile(_0x1ce6a1['str'](_0x17e5da(0xd0))),_0x13e3a2=await createPersonalKnowledgeBaseItem(_0x1ce6a1[_0x17e5da(0xa8)],{'title':_0x452165,'content':_0x4cd3c5});return{'ok':!![],'data':summarizePersonalItem(_0x13e3a2),'message':'Created\x20KB\x20entry\x20'+_0x13e3a2['id']+'\x20('+_0x13e3a2[_0x17e5da(0xa9)]+')'};},async 'dryRun'(_0x38c932){const _0x486ebd=a27_0x4bd7c5,_0x340477=_0x38c932['str'](_0x486ebd(0xa9)),_0x2a7e95=readKnowledgeFile(_0x38c932[_0x486ebd(0xce)]('file'));return dryRun(_0x486ebd(0x9b),_0x486ebd(0x94))[_0x486ebd(0xb3)]({'appCode':_0x38c932[_0x486ebd(0xa8)],'title':_0x340477,'content':_0x2a7e95})[_0x486ebd(0xc3)](_0x486ebd(0x9d)+_0x340477+'\x22')['build']();}},kbUpdate={'service':'kb','command':a27_0x4bd7c5(0xaa),'description':a27_0x4bd7c5(0xc9),'risk':a27_0x4bd7c5(0xbe),'flags':[{...ID_FLAG,'description':a27_0x4bd7c5(0x9a)},{...TITLE_FLAG,'required':![],'description':a27_0x4bd7c5(0xd4)},FILE_FLAG],async 'execute'(_0x975e7d){const _0x4bb412=a27_0x4bd7c5,_0x2f00a1=_0x975e7d['num']('id'),_0x2878e6=readKnowledgeFile(_0x975e7d['str'](_0x4bb412(0xd0))),_0x2b9a85=_0x975e7d[_0x4bb412(0xce)]('title')||(await getPersonalKnowledgeBaseItem(_0x2f00a1,_0x975e7d['appCode']))[_0x4bb412(0xa9)],_0x1e2925=await updatePersonalKnowledgeBaseItem(_0x2f00a1,_0x975e7d[_0x4bb412(0xa8)],{'title':_0x2b9a85,'content':_0x2878e6});return{'ok':!![],'data':summarizePersonalItem(_0x1e2925),'message':_0x4bb412(0xa1)+_0x1e2925['id']+'\x20('+_0x1e2925[_0x4bb412(0xa9)]+')'};},async 'dryRun'(_0x581e16){const _0x5b082e=a27_0x4bd7c5,_0x4b6ea2=_0x581e16[_0x5b082e(0xb5)]('id'),_0x17d6bf=readKnowledgeFile(_0x581e16['str'](_0x5b082e(0xd0))),_0x1df85c=_0x581e16['str'](_0x5b082e(0xa9))||(await getPersonalKnowledgeBaseItem(_0x4b6ea2,_0x581e16[_0x5b082e(0xa8)]))['title'];return dryRun(_0x5b082e(0x9b),_0x5b082e(0xca)+_0x4b6ea2+_0x5b082e(0xcb))['body']({'appCode':_0x581e16[_0x5b082e(0xa8)],'title':_0x1df85c,'content':_0x17d6bf})[_0x5b082e(0xc3)](_0x5b082e(0xac)+_0x4b6ea2)[_0x5b082e(0xad)]();}},kbSearch={'service':'kb','command':a27_0x4bd7c5(0xb2),'description':'Search\x20visible\x20company\x20and\x20personal\x20knowledge\x20base\x20content','risk':a27_0x4bd7c5(0xb7),'flags':[QUERY_FLAG,TOPK_FLAG],async 'validate'(_0x3ad5a9){const _0xa91061=a27_0x4bd7c5;if(!_0x3ad5a9['str'](_0xa91061(0xa6))[_0xa91061(0x9e)]())throw CliErrors['validation'](_0xa91061(0x96));readTopK(_0x3ad5a9);},async 'execute'(_0x408404){const _0x4b12ee=a27_0x4bd7c5,_0x516bde=_0x408404[_0x4b12ee(0xce)](_0x4b12ee(0xa6))[_0x4b12ee(0x9e)](),_0x1e7a7c=readTopK(_0x408404),_0x22ddf0=await searchKnowledgeBase(_0x408404[_0x4b12ee(0xa8)],{'query':_0x516bde,'topK':_0x1e7a7c});return{'ok':!![],'data':{'total':_0x22ddf0[_0x4b12ee(0xbc)],'hits':_0x22ddf0['map'](summarizeSearchHit)}};}};export const kbDefinitions=[kbList,kbDetail,kbCreate,kbUpdate,kbSearch];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a28_0xd892b1=a28_0x10c9;(function(_0x51b309,_0x99ae54){const _0x9a93d0=a28_0x10c9,_0x1e420d=_0x51b309();while(!![]){try{const _0x8e54e9=-parseInt(_0x9a93d0(0xcf))/0x1*(parseInt(_0x9a93d0(0xd3))/0x2)+parseInt(_0x9a93d0(0xc3))/0x3+-parseInt(_0x9a93d0(0xc2))/0x4+parseInt(_0x9a93d0(0xe1))/0x5+parseInt(_0x9a93d0(0xcb))/0x6*(-parseInt(_0x9a93d0(0xdd))/0x7)+parseInt(_0x9a93d0(0xd5))/0x8*(parseInt(_0x9a93d0(0xc9))/0x9)+parseInt(_0x9a93d0(0xdb))/0xa;if(_0x8e54e9===_0x99ae54)break;else _0x1e420d['push'](_0x1e420d['shift']());}catch(_0x1f4c1f){_0x1e420d['push'](_0x1e420d['shift']());}}}(a28_0x509e,0x8457c));function a28_0x10c9(_0x25189,_0x599c4e){_0x25189=_0x25189-0xc1;const _0x509e34=a28_0x509e();let _0x10c96a=_0x509e34[_0x25189];return _0x10c96a;}import{logger}from'../../utils/logger.js';import{CLI_DISPLAY_NAME}from'../../constant/cli.js';function printLogs(_0x1816d4){const _0x3cdf83=a28_0x10c9;if(_0x1816d4[_0x3cdf83(0xd6)]===0x0){console[_0x3cdf83(0xcc)](_0x3cdf83(0xde));return;}console['log']('*\x20'+CLI_DISPLAY_NAME+_0x3cdf83(0xd1)),_0x1816d4['forEach']((_0x1859c4,_0x4e892b)=>{const _0x1f196c=_0x3cdf83,_0x4f712b=new Date(_0x1859c4['timestamp'])[_0x1f196c(0xc1)](_0x1f196c(0xe2)),_0x4fb71a=_0x1859c4['level']===_0x1f196c(0xca)?'√':_0x1859c4[_0x1f196c(0xcd)]===_0x1f196c(0xd7)?'×':_0x1859c4[_0x1f196c(0xcd)]===_0x1f196c(0xe3)?'!':'i';console[_0x1f196c(0xcc)](_0x4e892b+0x1+'.\x20'+_0x4fb71a+'\x20['+_0x1859c4[_0x1f196c(0xc8)]+']\x20'+_0x1859c4[_0x1f196c(0xc7)]),console['log'](_0x1f196c(0xd0)+_0x4f712b),_0x1859c4[_0x1f196c(0xda)]&&console['log']('\x20\x20\x20Duration:\x20'+_0x1859c4[_0x1f196c(0xda)]+'ms'),_0x1859c4[_0x1f196c(0xdf)]&&Object[_0x1f196c(0xc4)](_0x1859c4['details'])[_0x1f196c(0xd6)]>0x0&&console['log']('\x20\x20\x20Details:\x20'+JSON[_0x1f196c(0xdc)](_0x1859c4[_0x1f196c(0xdf)],null,0x2)),console['log']('');});}export const logsDefinitions=[{'service':'logs','command':a28_0xd892b1(0xd9),'description':'View\x20command\x20history\x20logs','risk':a28_0xd892b1(0xc5),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x353b7c){const _0x11043a=a28_0xd892b1;return printLogs(logger[_0x11043a(0xe0)]()),{'ok':!![]};}},{'service':a28_0xd892b1(0xd8),'command':a28_0xd892b1(0xd2),'description':a28_0xd892b1(0xc6),'risk':a28_0xd892b1(0xd4),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x405c8c){const _0x12398b=a28_0xd892b1;return logger['clearLogs'](),console['log'](_0x12398b(0xce)),{'ok':!![]};}}];function a28_0x509e(){const _0x229cbd=['\x20\x20\x20Time:\x20','\x20logs:\x0a','clear','4DjCurA','write','2792ymgsqV','length','error','logs','show','duration','7669190VqPlGs','stringify','14ZnNAJK','*\x20No\x20logs\x20found','details','readLogs','496895EqSapO','en-US','warn','toLocaleString','2444116Yzhwad','1040760uovcWh','keys','read','Clear\x20command\x20history\x20logs','message','command','20457rARVJN','success','2050254PCdYyh','log','level','*\x20Logs\x20cleared','84986tNlEqR'];a28_0x509e=function(){return _0x229cbd;};return a28_0x509e();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a29_0x1e7bf6=a29_0xd742;(function(_0x276048,_0x51c2d6){const _0x12f590=a29_0xd742,_0x27b7fa=_0x276048();while(!![]){try{const _0x255bba=-parseInt(_0x12f590(0xf1))/0x1+-parseInt(_0x12f590(0xd9))/0x2*(parseInt(_0x12f590(0xd2))/0x3)+parseInt(_0x12f590(0xe4))/0x4+parseInt(_0x12f590(0xd0))/0x5+-parseInt(_0x12f590(0x105))/0x6*(-parseInt(_0x12f590(0xf3))/0x7)+-parseInt(_0x12f590(0x101))/0x8*(-parseInt(_0x12f590(0xea))/0x9)+-parseInt(_0x12f590(0xdb))/0xa;if(_0x255bba===_0x51c2d6)break;else _0x27b7fa['push'](_0x27b7fa['shift']());}catch(_0x5a1bcf){_0x27b7fa['push'](_0x27b7fa['shift']());}}}(a29_0x5466,0x766af));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_0x1e7bf6(0xfb),'type':'string','description':a29_0x1e7bf6(0xc6)},FUNCTION_NAME_FLAG={'name':a29_0x1e7bf6(0xfa),'type':a29_0x1e7bf6(0x106),'required':!![],'description':'Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders'},DESCRIPTION_FLAG={'name':a29_0x1e7bf6(0x104),'type':a29_0x1e7bf6(0x106),'description':a29_0x1e7bf6(0xf9)},SOURCE_SESSION_FLAG={'name':a29_0x1e7bf6(0xc8),'type':a29_0x1e7bf6(0x106),'description':'Optional\x20source\x20RuntimeAgent\x20session\x20id'};function normalizeFunctionName(_0x1cda75){const _0x5d79f2=a29_0x1e7bf6,_0x1e2767=String(_0x1cda75||'')[_0x5d79f2(0xc7)]();if(!_0x1e2767||!FUNCTION_NAME_PATTERN[_0x5d79f2(0xd5)](_0x1e2767))throw CliErrors['validation'](_0x5d79f2(0xfe));return _0x1e2767;}function readScriptFile(_0x102dbb){const _0x11c35d=a29_0x1e7bf6;if(!_0x102dbb)throw CliErrors['validation'](_0x11c35d(0xef));if(!existsSync(_0x102dbb))throw CliErrors[_0x11c35d(0xda)]('File\x20not\x20found:\x20'+_0x102dbb);if(!statSync(_0x102dbb)[_0x11c35d(0xe2)]())throw CliErrors['validation'](_0x11c35d(0xf4)+_0x102dbb);const _0x5edfc2=readFileSync(_0x102dbb,'utf8');if(!_0x5edfc2['trim']())throw CliErrors[_0x11c35d(0xda)]('Personal\x20BFF\x20script\x20file\x20is\x20blank.');return _0x5edfc2;}function optionalTrimmed(_0x37d286){const _0xe7c7cf=a29_0x1e7bf6,_0x51d54a=String(_0x37d286||'')[_0xe7c7cf(0xc7)]();return _0x51d54a||undefined;}function a29_0xd742(_0x2498f4,_0x38a096){_0x2498f4=_0x2498f4-0xc5;const _0x54660e=a29_0x5466();let _0xd74253=_0x54660e[_0x2498f4];return _0xd74253;}function summarizeBff(_0x587ca0){const _0x541a2e=a29_0x1e7bf6;return{'id':_0x587ca0['id'],'appCode':_0x587ca0['appCode'],'functionName':_0x587ca0[_0x541a2e(0xce)],'description':_0x587ca0['description'],'scriptType':_0x587ca0['scriptType'],'version':_0x587ca0[_0x541a2e(0xe1)],'gmtModified':_0x587ca0['gmtModified'],'updateTime':_0x587ca0[_0x541a2e(0xed)]};}function detailBff(_0x3338e3){const _0x5a3f71=a29_0x1e7bf6;return{'id':_0x3338e3['id'],'appCode':_0x3338e3[_0x5a3f71(0xf5)],'functionName':_0x3338e3[_0x5a3f71(0xce)],'description':_0x3338e3[_0x5a3f71(0x104)],'scriptType':_0x3338e3[_0x5a3f71(0xca)],'scriptContent':_0x3338e3[_0x5a3f71(0xee)]??'','config':_0x3338e3[_0x5a3f71(0xf6)],'version':_0x3338e3['version'],'createUserId':_0x3338e3[_0x5a3f71(0xcb)],'gmtCreate':_0x3338e3[_0x5a3f71(0xd8)],'gmtModified':_0x3338e3[_0x5a3f71(0xcc)],'createTime':_0x3338e3[_0x5a3f71(0xf7)],'updateTime':_0x3338e3[_0x5a3f71(0xed)]};}function buildCreateInput(_0x11ac60){const _0x2af60f=a29_0x1e7bf6;return{'functionName':normalizeFunctionName(_0x11ac60[_0x2af60f(0xde)](_0x2af60f(0xfa))),...optionalTrimmed(_0x11ac60[_0x2af60f(0xde)](_0x2af60f(0x104)))?{'description':optionalTrimmed(_0x11ac60['str']('description'))}:{},'scriptContent':readScriptFile(_0x11ac60[_0x2af60f(0xde)](_0x2af60f(0xfb))),...optionalTrimmed(_0x11ac60[_0x2af60f(0xde)](_0x2af60f(0xc8)))?{'sourceSessionId':optionalTrimmed(_0x11ac60[_0x2af60f(0xde)](_0x2af60f(0xc8)))}:{}};}function buildUpdateInput(_0x51b8f7){const _0x441d12=a29_0x1e7bf6,_0x6860f7={};optionalTrimmed(_0x51b8f7['str'](_0x441d12(0xfa)))&&(_0x6860f7[_0x441d12(0xce)]=normalizeFunctionName(_0x51b8f7[_0x441d12(0xde)](_0x441d12(0xfa))));_0x51b8f7[_0x441d12(0x102)](_0x441d12(0x104))!==undefined&&(_0x6860f7[_0x441d12(0x104)]=_0x51b8f7[_0x441d12(0xde)](_0x441d12(0x104)));optionalTrimmed(_0x51b8f7[_0x441d12(0xde)](_0x441d12(0xfb)))&&(_0x6860f7[_0x441d12(0xee)]=readScriptFile(_0x51b8f7[_0x441d12(0xde)](_0x441d12(0xfb))));_0x51b8f7['flag'](_0x441d12(0xc8))!==undefined&&(_0x6860f7[_0x441d12(0xec)]=_0x51b8f7[_0x441d12(0xde)](_0x441d12(0xc8)));if(Object[_0x441d12(0xf8)](_0x6860f7)[_0x441d12(0xd7)]===0x0)throw CliErrors['validation'](_0x441d12(0xdd));return _0x6860f7;}function parseExecParams(_0x1ec2b3){const _0x3aa73c=a29_0x1e7bf6,_0x53d1ec=parseJsonParams(_0x1ec2b3)??{};if(Array['isArray'](_0x53d1ec))throw CliErrors[_0x3aa73c(0xda)]('--params\x20must\x20be\x20a\x20JSON\x20object.');return _0x53d1ec;}const personalBffList={'service':a29_0x1e7bf6(0x100),'command':'list','description':a29_0x1e7bf6(0xe7),'risk':a29_0x1e7bf6(0xe0),'flags':[VERBOSE_FLAG],async 'execute'(_0x17f6f6){const _0x3f4f49=a29_0x1e7bf6,_0x54ffaf=await listPersonalBffs(_0x17f6f6[_0x3f4f49(0xf5)]);return{'ok':!![],'data':{'total':_0x54ffaf[_0x3f4f49(0xd7)],'items':_0x17f6f6[_0x3f4f49(0xcf)](_0x3f4f49(0xe6))?_0x54ffaf:_0x54ffaf[_0x3f4f49(0xe8)](summarizeBff)}};}},personalBffDetail={'service':a29_0x1e7bf6(0x100),'command':a29_0x1e7bf6(0xcd),'description':a29_0x1e7bf6(0xd1),'risk':a29_0x1e7bf6(0xe0),'flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'}],async 'execute'(_0x5c1cfe){const _0x229479=a29_0x1e7bf6,_0x167ac7=await getPersonalBff(_0x5c1cfe[_0x229479(0xc5)]('id'),_0x5c1cfe[_0x229479(0xf5)]);return{'ok':!![],'data':detailBff(_0x167ac7)};}},personalBffCreate={'service':a29_0x1e7bf6(0x100),'command':'create','description':a29_0x1e7bf6(0x103),'risk':a29_0x1e7bf6(0xeb),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x54eec1){const _0x1525dc=a29_0x1e7bf6,_0x2d6f9e=buildCreateInput(_0x54eec1),_0x12b1e=await createPersonalBff(_0x54eec1[_0x1525dc(0xf5)],_0x2d6f9e);return{'ok':!![],'data':detailBff(_0x12b1e),'message':'Created\x20personal\x20BFF\x20'+_0x12b1e['id']+(_0x12b1e[_0x1525dc(0xce)]?'\x20('+_0x12b1e[_0x1525dc(0xce)]+')':'')};},async 'dryRun'(_0xfd7b2){const _0x7685ad=a29_0x1e7bf6,_0x497bd1=buildCreateInput(_0xfd7b2);return dryRun('POST','/client/runtime-bff/personal/create')['body']({'appCode':_0xfd7b2['appCode'],..._0x497bd1})['description'](_0x7685ad(0xe9)+_0x497bd1[_0x7685ad(0xce)])[_0x7685ad(0xd6)]();}},personalBffUpdate={'service':a29_0x1e7bf6(0x100),'command':a29_0x1e7bf6(0xf0),'description':a29_0x1e7bf6(0xdc),'risk':a29_0x1e7bf6(0xeb),'flags':[{...ID_FLAG,'description':a29_0x1e7bf6(0xd4)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x3de79d){const _0x49a35e=a29_0x1e7bf6,_0x6ac71=_0x3de79d[_0x49a35e(0xc5)]('id'),_0xac9f6f=buildUpdateInput(_0x3de79d),_0x523b59=await updatePersonalBff(_0x6ac71,_0x3de79d[_0x49a35e(0xf5)],_0xac9f6f);return{'ok':!![],'data':detailBff(_0x523b59),'message':_0x49a35e(0xff)+_0x523b59['id']+(_0x523b59[_0x49a35e(0xce)]?'\x20('+_0x523b59[_0x49a35e(0xce)]+')':'')};},async 'dryRun'(_0x516905){const _0x274054=a29_0x1e7bf6,_0x3c4360=_0x516905[_0x274054(0xc5)]('id'),_0x400ae3=buildUpdateInput(_0x516905);return dryRun(_0x274054(0xd3),_0x274054(0xdf)+_0x3c4360+'/update')['body']({'appCode':_0x516905[_0x274054(0xf5)],..._0x400ae3})['description'](_0x274054(0xe3)+_0x3c4360)['build']();}},personalBffExec={'service':a29_0x1e7bf6(0x100),'command':'exec','description':a29_0x1e7bf6(0xe5),'risk':a29_0x1e7bf6(0xfc),'flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'},{...PARAMS_FLAG,'description':a29_0x1e7bf6(0xc9)}],async 'validate'(_0x452026){const _0x1858b5=a29_0x1e7bf6;parseExecParams(_0x452026[_0x1858b5(0xde)](_0x1858b5(0xfd)));},async 'execute'(_0x1afec1){const _0x6ba0a2=a29_0x1e7bf6,_0x1fd649=_0x1afec1[_0x6ba0a2(0xc5)]('id'),_0x59396a=parseExecParams(_0x1afec1[_0x6ba0a2(0xde)](_0x6ba0a2(0xfd))),_0x5f424=await executePersonalBff(_0x1fd649,_0x1afec1[_0x6ba0a2(0xf5)],_0x59396a);return{'ok':!![],'data':{'result':_0x5f424},'message':_0x6ba0a2(0xf2)+_0x1fd649};}};function a29_0x5466(){const _0x252218=['appCode','config','createTime','keys','Personal\x20BFF\x20description','name','file','high-risk-write','params','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','Updated\x20personal\x20BFF\x20','personal-bff','6664gtBkvL','flag','Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','description','156666kTlhYY','string','num','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','trim','source-session-id','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','scriptType','createUserId','gmtModified','detail','functionName','bool','2530895YovHVU','Show\x20one\x20personal\x20BFF\x20by\x20id','9rgWCyw','POST','Personal\x20BFF\x20script\x20ID','test','build','length','gmtCreate','558336fZWSAh','validation','2026710mXHuZA','Update\x20a\x20personal\x20BFF\x20by\x20id','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.','str','/client/runtime-bff/personal/','read','version','isFile','Preview:\x20update\x20personal\x20BFF\x20','1068940lyEaYQ','Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','verbose','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','map','Preview:\x20create\x20personal\x20BFF\x20','9189gQusBQ','write','sourceSessionId','updateTime','scriptContent','File\x20path\x20is\x20required.','update','751468hOUpOu','Executed\x20personal\x20BFF\x20','175RwJGHv','File\x20is\x20not\x20a\x20regular\x20file:\x20'];a29_0x5466=function(){return _0x252218;};return a29_0x5466();}export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
|
|
1
|
+
const a29_0x5b403f=a29_0x23ab;(function(_0xb06a82,_0x2edf0d){const _0x1991d4=a29_0x23ab,_0x301397=_0xb06a82();while(!![]){try{const _0x35b79c=parseInt(_0x1991d4(0x182))/0x1*(-parseInt(_0x1991d4(0x17f))/0x2)+-parseInt(_0x1991d4(0x16f))/0x3+-parseInt(_0x1991d4(0x167))/0x4+-parseInt(_0x1991d4(0x179))/0x5*(parseInt(_0x1991d4(0x198))/0x6)+parseInt(_0x1991d4(0x19a))/0x7+parseInt(_0x1991d4(0x17b))/0x8*(parseInt(_0x1991d4(0x188))/0x9)+parseInt(_0x1991d4(0x1a4))/0xa;if(_0x35b79c===_0x2edf0d)break;else _0x301397['push'](_0x301397['shift']());}catch(_0x3b6ab2){_0x301397['push'](_0x301397['shift']());}}}(a29_0x3086,0x3d9cd));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_0x5b403f(0x1a7),'type':a29_0x5b403f(0x16a),'description':a29_0x5b403f(0x1a5)},FUNCTION_NAME_FLAG={'name':a29_0x5b403f(0x16e),'type':'string','required':!![],'description':a29_0x5b403f(0x192)},DESCRIPTION_FLAG={'name':a29_0x5b403f(0x1a8),'type':a29_0x5b403f(0x16a),'description':a29_0x5b403f(0x196)},SOURCE_SESSION_FLAG={'name':a29_0x5b403f(0x177),'type':a29_0x5b403f(0x16a),'description':a29_0x5b403f(0x19d)};function normalizeFunctionName(_0x3b41af){const _0x2df269=a29_0x5b403f,_0x1aea0c=String(_0x3b41af||'')[_0x2df269(0x189)]();if(!_0x1aea0c||!FUNCTION_NAME_PATTERN[_0x2df269(0x19b)](_0x1aea0c))throw CliErrors[_0x2df269(0x1a2)](_0x2df269(0x17e));return _0x1aea0c;}function readScriptFile(_0x28b25a){const _0x3d4aa2=a29_0x5b403f;if(!_0x28b25a)throw CliErrors[_0x3d4aa2(0x1a2)](_0x3d4aa2(0x184));if(!existsSync(_0x28b25a))throw CliErrors['validation']('File\x20not\x20found:\x20'+_0x28b25a);if(!statSync(_0x28b25a)[_0x3d4aa2(0x1a0)]())throw CliErrors[_0x3d4aa2(0x1a2)](_0x3d4aa2(0x185)+_0x28b25a);const _0xe1dec0=readFileSync(_0x28b25a,'utf8');if(!_0xe1dec0[_0x3d4aa2(0x189)]())throw CliErrors[_0x3d4aa2(0x1a2)](_0x3d4aa2(0x18b));return _0xe1dec0;}function a29_0x23ab(_0x1462db,_0x26279f){_0x1462db=_0x1462db-0x164;const _0x308662=a29_0x3086();let _0x23abf0=_0x308662[_0x1462db];return _0x23abf0;}function a29_0x3086(){const _0x2b89dc=['isArray','gmtModified','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','9622khNUWM','create','num','27JOCjvB','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','File\x20path\x20is\x20required.','File\x20is\x20not\x20a\x20regular\x20file:\x20','gmtCreate','Preview:\x20create\x20personal\x20BFF\x20','377343ozAKqe','trim','flag','Personal\x20BFF\x20script\x20file\x20is\x20blank.','/update','length','body','read','updateTime','Executed\x20personal\x20BFF\x20','Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders','list','personal-bff','/client/runtime-bff/personal/','Personal\x20BFF\x20description','update','12HjHIWp','Preview:\x20update\x20personal\x20BFF\x20','2852815cdnbMO','test','sourceSessionId','Optional\x20source\x20RuntimeAgent\x20session\x20id','write','exec','isFile','high-risk-write','validation','createUserId','1033800aVsqVc','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','scriptContent','file','description','functionName','keys','verbose','1804020XUammg','map','version','string','Show\x20one\x20personal\x20BFF\x20by\x20id','scriptType','Updated\x20personal\x20BFF\x20','name','26178LJVFiA','--params\x20must\x20be\x20a\x20JSON\x20object.','POST','params','str','Created\x20personal\x20BFF\x20','Personal\x20BFF\x20script\x20ID','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','source-session-id','detail','220505ssUHTp','appCode','80luzzgI'];a29_0x3086=function(){return _0x2b89dc;};return a29_0x3086();}function optionalTrimmed(_0x40ceac){const _0x209302=a29_0x5b403f,_0x1b1422=String(_0x40ceac||'')[_0x209302(0x189)]();return _0x1b1422||undefined;}function summarizeBff(_0x1b60b4){const _0x212e76=a29_0x5b403f;return{'id':_0x1b60b4['id'],'appCode':_0x1b60b4[_0x212e76(0x17a)],'functionName':_0x1b60b4[_0x212e76(0x164)],'description':_0x1b60b4[_0x212e76(0x1a8)],'scriptType':_0x1b60b4[_0x212e76(0x16c)],'version':_0x1b60b4['version'],'gmtModified':_0x1b60b4[_0x212e76(0x17d)],'updateTime':_0x1b60b4['updateTime']};}function detailBff(_0x51b3f4){const _0x58ed10=a29_0x5b403f;return{'id':_0x51b3f4['id'],'appCode':_0x51b3f4['appCode'],'functionName':_0x51b3f4[_0x58ed10(0x164)],'description':_0x51b3f4[_0x58ed10(0x1a8)],'scriptType':_0x51b3f4[_0x58ed10(0x16c)],'scriptContent':_0x51b3f4[_0x58ed10(0x1a6)]??'','config':_0x51b3f4['config'],'version':_0x51b3f4[_0x58ed10(0x169)],'createUserId':_0x51b3f4[_0x58ed10(0x1a3)],'gmtCreate':_0x51b3f4[_0x58ed10(0x186)],'gmtModified':_0x51b3f4[_0x58ed10(0x17d)],'createTime':_0x51b3f4['createTime'],'updateTime':_0x51b3f4[_0x58ed10(0x190)]};}function buildCreateInput(_0x42840a){const _0xcc40fd=a29_0x5b403f;return{'functionName':normalizeFunctionName(_0x42840a[_0xcc40fd(0x173)](_0xcc40fd(0x16e))),...optionalTrimmed(_0x42840a[_0xcc40fd(0x173)](_0xcc40fd(0x1a8)))?{'description':optionalTrimmed(_0x42840a['str'](_0xcc40fd(0x1a8)))}:{},'scriptContent':readScriptFile(_0x42840a['str']('file')),...optionalTrimmed(_0x42840a[_0xcc40fd(0x173)](_0xcc40fd(0x177)))?{'sourceSessionId':optionalTrimmed(_0x42840a[_0xcc40fd(0x173)](_0xcc40fd(0x177)))}:{}};}function buildUpdateInput(_0x3c5e3a){const _0x3bd461=a29_0x5b403f,_0x528755={};optionalTrimmed(_0x3c5e3a[_0x3bd461(0x173)](_0x3bd461(0x16e)))&&(_0x528755['functionName']=normalizeFunctionName(_0x3c5e3a[_0x3bd461(0x173)](_0x3bd461(0x16e))));_0x3c5e3a['flag'](_0x3bd461(0x1a8))!==undefined&&(_0x528755[_0x3bd461(0x1a8)]=_0x3c5e3a['str']('description'));optionalTrimmed(_0x3c5e3a[_0x3bd461(0x173)]('file'))&&(_0x528755[_0x3bd461(0x1a6)]=readScriptFile(_0x3c5e3a[_0x3bd461(0x173)](_0x3bd461(0x1a7))));_0x3c5e3a[_0x3bd461(0x18a)]('source-session-id')!==undefined&&(_0x528755[_0x3bd461(0x19c)]=_0x3c5e3a['str']('source-session-id'));if(Object[_0x3bd461(0x165)](_0x528755)['length']===0x0)throw CliErrors[_0x3bd461(0x1a2)]('personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.');return _0x528755;}function parseExecParams(_0x4446f9){const _0x3e11f0=a29_0x5b403f,_0x5d6629=parseJsonParams(_0x4446f9)??{};if(Array[_0x3e11f0(0x17c)](_0x5d6629))throw CliErrors['validation'](_0x3e11f0(0x170));return _0x5d6629;}const personalBffList={'service':a29_0x5b403f(0x194),'command':a29_0x5b403f(0x193),'description':a29_0x5b403f(0x183),'risk':a29_0x5b403f(0x18f),'flags':[VERBOSE_FLAG],async 'execute'(_0x2dca97){const _0xc77dd6=a29_0x5b403f,_0x5db7ca=await listPersonalBffs(_0x2dca97[_0xc77dd6(0x17a)]);return{'ok':!![],'data':{'total':_0x5db7ca[_0xc77dd6(0x18d)],'items':_0x2dca97['bool'](_0xc77dd6(0x166))?_0x5db7ca:_0x5db7ca[_0xc77dd6(0x168)](summarizeBff)}};}},personalBffDetail={'service':a29_0x5b403f(0x194),'command':a29_0x5b403f(0x178),'description':a29_0x5b403f(0x16b),'risk':'read','flags':[{...ID_FLAG,'description':a29_0x5b403f(0x175)}],async 'execute'(_0x29520c){const _0x6a6e6e=a29_0x5b403f,_0x47fb55=await getPersonalBff(_0x29520c['num']('id'),_0x29520c[_0x6a6e6e(0x17a)]);return{'ok':!![],'data':detailBff(_0x47fb55)};}},personalBffCreate={'service':a29_0x5b403f(0x194),'command':a29_0x5b403f(0x180),'description':'Create\x20a\x20personal\x20BFF\x20from\x20a\x20local\x20script\x20file','risk':a29_0x5b403f(0x19e),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x2be042){const _0x39aac4=a29_0x5b403f,_0x19a34f=buildCreateInput(_0x2be042),_0x2f3555=await createPersonalBff(_0x2be042[_0x39aac4(0x17a)],_0x19a34f);return{'ok':!![],'data':detailBff(_0x2f3555),'message':_0x39aac4(0x174)+_0x2f3555['id']+(_0x2f3555[_0x39aac4(0x164)]?'\x20('+_0x2f3555[_0x39aac4(0x164)]+')':'')};},async 'dryRun'(_0x3e9feb){const _0x1d0f30=a29_0x5b403f,_0x2a3c6e=buildCreateInput(_0x3e9feb);return dryRun(_0x1d0f30(0x171),'/client/runtime-bff/personal/create')[_0x1d0f30(0x18e)]({'appCode':_0x3e9feb[_0x1d0f30(0x17a)],..._0x2a3c6e})[_0x1d0f30(0x1a8)](_0x1d0f30(0x187)+_0x2a3c6e[_0x1d0f30(0x164)])['build']();}},personalBffUpdate={'service':'personal-bff','command':a29_0x5b403f(0x197),'description':'Update\x20a\x20personal\x20BFF\x20by\x20id','risk':a29_0x5b403f(0x19e),'flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x14be0e){const _0x18eef5=a29_0x5b403f,_0x3f5236=_0x14be0e[_0x18eef5(0x181)]('id'),_0x515b0d=buildUpdateInput(_0x14be0e),_0x53e733=await updatePersonalBff(_0x3f5236,_0x14be0e[_0x18eef5(0x17a)],_0x515b0d);return{'ok':!![],'data':detailBff(_0x53e733),'message':_0x18eef5(0x16d)+_0x53e733['id']+(_0x53e733[_0x18eef5(0x164)]?'\x20('+_0x53e733[_0x18eef5(0x164)]+')':'')};},async 'dryRun'(_0x487131){const _0x4f2762=a29_0x5b403f,_0x3679c9=_0x487131['num']('id'),_0x275c8b=buildUpdateInput(_0x487131);return dryRun(_0x4f2762(0x171),_0x4f2762(0x195)+_0x3679c9+_0x4f2762(0x18c))[_0x4f2762(0x18e)]({'appCode':_0x487131[_0x4f2762(0x17a)],..._0x275c8b})[_0x4f2762(0x1a8)](_0x4f2762(0x199)+_0x3679c9)['build']();}},personalBffExec={'service':a29_0x5b403f(0x194),'command':a29_0x5b403f(0x19f),'description':'Execute\x20a\x20personal\x20BFF\x20by\x20id\x20with\x20optional\x20JSON\x20params','risk':a29_0x5b403f(0x1a1),'flags':[{...ID_FLAG,'description':a29_0x5b403f(0x175)},{...PARAMS_FLAG,'description':a29_0x5b403f(0x176)}],async 'validate'(_0x3c5a5b){const _0x561079=a29_0x5b403f;parseExecParams(_0x3c5a5b[_0x561079(0x173)](_0x561079(0x172)));},async 'execute'(_0x1460d6){const _0x28e052=a29_0x5b403f,_0x45a401=_0x1460d6[_0x28e052(0x181)]('id'),_0x3d299e=parseExecParams(_0x1460d6[_0x28e052(0x173)]('params')),_0x3c47ad=await executePersonalBff(_0x45a401,_0x1460d6[_0x28e052(0x17a)],_0x3d299e);return{'ok':!![],'data':{'result':_0x3c47ad},'message':_0x28e052(0x191)+_0x45a401};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
|
package/lib/commands/registry.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a30_0x548160=a30_0x4087;(function(_0xc1ac38,_0x3eb167){const _0x13795e=a30_0x4087,_0x2f969c=_0xc1ac38();while(!![]){try{const _0x3ee6a5=parseInt(_0x13795e(0x11b))/0x1+-parseInt(_0x13795e(0x142))/0x2*(parseInt(_0x13795e(0x11d))/0x3)+parseInt(_0x13795e(0x13b))/0x4*(-parseInt(_0x13795e(0x12b))/0x5)+parseInt(_0x13795e(0x135))/0x6*(-parseInt(_0x13795e(0x134))/0x7)+-parseInt(_0x13795e(0x133))/0x8+parseInt(_0x13795e(0x127))/0x9*(-parseInt(_0x13795e(0x118))/0xa)+parseInt(_0x13795e(0x12f))/0xb*(parseInt(_0x13795e(0x128))/0xc);if(_0x3ee6a5===_0x3eb167)break;else _0x2f969c['push'](_0x2f969c['shift']());}catch(_0x161aae){_0x2f969c['push'](_0x2f969c['shift']());}}}(a30_0x22d5,0x5e797));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';function a30_0x22d5(){const _0xf4d779=['CLI\x20Built-in\x20Skill','BFF\x20Scripts','set','42664PhGbIk','run','Schema','Configuration','40UOXcII','has','login','496694jzbaPQ','command','6aecXAx','Personal\x20BFF','values','Knowledge\x20Base','Datasets','from','Self\x20Update','isSingleCommand','\x20\x20[write]','list','1404063vesamn','269340aSNLaW','Authentication','defaultCommand','349285crxNDK','Instant\x20API','push','risk','737QQiZjJ','Workspace','service','Service\x20Tree','4931320WALhen','7YZpKCP','1144326GxoiAH','get','write','install','description','Artifacts','8SNHCBu','map','SQL\x20Queries','Skills'];a30_0x22d5=function(){return _0xf4d779;};return a30_0x22d5();}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(_0x41a378){const _0x4b13bd=a30_0x4087;for(const _0x4951c8 of _0x41a378){definitions['set'](_0x4951c8[_0x4b13bd(0x131)]+':'+_0x4951c8[_0x4b13bd(0x11c)],_0x4951c8);let _0x25db51=serviceGroups[_0x4b13bd(0x136)](_0x4951c8[_0x4b13bd(0x131)]);!_0x25db51&&(_0x25db51=[],serviceGroups[_0x4b13bd(0x141)](_0x4951c8[_0x4b13bd(0x131)],_0x25db51)),_0x25db51[_0x4b13bd(0x12d)](_0x4951c8);}}function a30_0x4087(_0x5dd211,_0x456498){_0x5dd211=_0x5dd211-0x115;const _0x22d517=a30_0x22d5();let _0x4087fb=_0x22d517[_0x5dd211];return _0x4087fb;}function registerService(_0x5e7e0d,_0x5a7933,_0x1959ce){const _0x29b0de=a30_0x4087;registerDefinitions(_0x5a7933);const _0x4d0992=_0x297356=>_0x297356==='read'?'':_0x297356===_0x29b0de(0x137)?_0x29b0de(0x125):'\x20\x20[high-risk-write]',_0x414c01={'service':_0x5a7933[0x0]['service'],'label':_0x5e7e0d,'commands':_0x5a7933[_0x29b0de(0x13c)](_0x20d858=>({'command':_0x20d858[_0x29b0de(0x11c)],'description':_0x20d858[_0x29b0de(0x139)],'tag':_0x4d0992(_0x20d858[_0x29b0de(0x12e)])})),'defaultCommand':_0x1959ce?.[_0x29b0de(0x12a)]??(_0x1959ce?.[_0x29b0de(0x124)]?_0x5a7933[0x0][_0x29b0de(0x11c)]:undefined),'isSingleCommand':_0x1959ce?.[_0x29b0de(0x124)]};serviceRegistry['push'](_0x414c01),serviceByName[_0x29b0de(0x141)](_0x414c01['service'],_0x414c01);}registerService(a30_0x548160(0x129),authDefinitions,{'defaultCommand':a30_0x548160(0x11a)}),registerService('API\x20Documentation',apiDocDefinitions),registerService(a30_0x548160(0x121),datasetDefinitions),registerService(a30_0x548160(0x12c),dataDefinitions),registerService(a30_0x548160(0x13d),sqlDefinitions),registerService(a30_0x548160(0x140),bffDefinitions),registerService(a30_0x548160(0x11e),personalBffDefinitions),registerService(a30_0x548160(0x13a),artifactDefinitions),registerService(a30_0x548160(0x120),kbDefinitions),registerService('App\x20Management',appDefinitions,{'defaultCommand':a30_0x548160(0x126)}),registerService(a30_0x548160(0x130),workspaceDefinitions),registerService(a30_0x548160(0x117),configDefinitions,{'defaultCommand':a30_0x548160(0x126)}),registerService(a30_0x548160(0x132),serviceDefinitions,{'defaultCommand':a30_0x548160(0x126)}),registerService(a30_0x548160(0x13e),skillDefinitions,{'defaultCommand':a30_0x548160(0x138)}),registerService(a30_0x548160(0x13f),cliSkillDefinitions,{'defaultCommand':a30_0x548160(0x138)}),registerService(a30_0x548160(0x123),[updateDefinition],{'defaultCommand':a30_0x548160(0x115),'isSingleCommand':!![]}),registerService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerService(a30_0x548160(0x116),[schemaDefinition],{'isSingleCommand':!![]}),registerService('Logs',logsDefinitions,{'defaultCommand':'show'});export function findDefinition(_0x5d5b86,_0x6cfde6){const _0x45c880=a30_0x548160;return definitions[_0x45c880(0x136)](_0x5d5b86+':'+_0x6cfde6);}export function isKnownService(_0x2e0260){const _0x47a91e=a30_0x548160;return serviceByName[_0x47a91e(0x119)](_0x2e0260);}export function getServiceEntry(_0x1aa992){const _0x625297=a30_0x548160;return serviceByName[_0x625297(0x136)](_0x1aa992);}export function getAllDefinitions(){const _0x3b4165=a30_0x548160;return Array[_0x3b4165(0x122)](definitions[_0x3b4165(0x11f)]());}
|
package/lib/commands/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a31_0xe0eb01=a31_0x3c92;function a31_0x161e(){const _0xaa802a=['9ejLKle','370698iOMLOQ','538CEpoEE','876970MctHEb','669sVfzZR','55cuPJZn','22060188engRUJ','schema','2631979PbBLBk','871nmYAhf','2203000MIMgEB','4168IJlRCB','5MXqQfe','Export\x20machine-readable\x20command\x20schema\x20(JSON)','export'];a31_0x161e=function(){return _0xaa802a;};return a31_0x161e();}(function(_0x3378b0,_0x521e00){const _0x566e8b=a31_0x3c92,_0x473443=_0x3378b0();while(!![]){try{const _0x147f52=parseInt(_0x566e8b(0xd8))/0x1*(-parseInt(_0x566e8b(0xd1))/0x2)+parseInt(_0x566e8b(0xd3))/0x3*(-parseInt(_0x566e8b(0xda))/0x4)+parseInt(_0x566e8b(0xdb))/0x5*(-parseInt(_0x566e8b(0xd0))/0x6)+-parseInt(_0x566e8b(0xd7))/0x7+-parseInt(_0x566e8b(0xd9))/0x8*(parseInt(_0x566e8b(0xcf))/0x9)+parseInt(_0x566e8b(0xd2))/0xa*(-parseInt(_0x566e8b(0xd4))/0xb)+parseInt(_0x566e8b(0xd5))/0xc;if(_0x147f52===_0x521e00)break;else _0x473443['push'](_0x473443['shift']());}catch(_0x5e11d7){_0x473443['push'](_0x473443['shift']());}}}(a31_0x161e,0x35b8c));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0xb8b3e5){const _0x5ea021=await buildSchemaPayload();return{'ok':!![],'data':_0x5ea021};}function a31_0x3c92(_0x52dbbf,_0x420e82){_0x52dbbf=_0x52dbbf-0xcf;const _0x161e58=a31_0x161e();let _0x3c92bd=_0x161e58[_0x52dbbf];return _0x3c92bd;}export const schemaDefinition={'service':a31_0xe0eb01(0xd6),'command':a31_0xe0eb01(0xdd),'description':a31_0xe0eb01(0xdc),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x4d1dde,_0x576131){const _0x17bd78=a32_0x19a7,_0x50a9a0=_0x4d1dde();while(!![]){try{const _0x35f0e6=parseInt(_0x17bd78(0x19f))/0x1+parseInt(_0x17bd78(0x1f0))/0x2*(-parseInt(_0x17bd78(0x1a7))/0x3)+parseInt(_0x17bd78(0x1c8))/0x4*(-parseInt(_0x17bd78(0x1d9))/0x5)+parseInt(_0x17bd78(0x1a8))/0x6+parseInt(_0x17bd78(0x1a9))/0x7*(-parseInt(_0x17bd78(0x1ed))/0x8)+-parseInt(_0x17bd78(0x1e3))/0x9+parseInt(_0x17bd78(0x1a0))/0xa;if(_0x35f0e6===_0x576131)break;else _0x50a9a0['push'](_0x50a9a0['shift']());}catch(_0x513039){_0x50a9a0['push'](_0x50a9a0['shift']());}}}(a32_0xd77a,0x7b47c));function a32_0x19a7(_0x2284fe,_0x568835){_0x2284fe=_0x2284fe-0x196;const _0xd77ad3=a32_0xd77a();let _0x19a7e7=_0xd77ad3[_0x2284fe];return _0x19a7e7;}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';import{listLocalServices,listLocalServiceTrees}from'../../commands/service/registry.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0x4f999e,_0x29befc){const _0x64674c=a32_0x19a7,_0x152b2d=listLocalServiceTrees();let _0x41dabc;for(const _0x38a130 of _0x152b2d){const _0x478ca7=matchServiceTreeCommand(_0x38a130,_0x4f999e);if(!_0x478ca7)continue;(!_0x41dabc||_0x478ca7[_0x64674c(0x1db)][_0x64674c(0x1df)][_0x64674c(0x1ac)]>_0x41dabc[_0x64674c(0x1db)][_0x64674c(0x1df)][_0x64674c(0x1ac)])&&(_0x41dabc={'tree':_0x38a130,'command':_0x478ca7[_0x64674c(0x1db)],'remainingArgs':_0x478ca7[_0x64674c(0x1da)]});}if(!_0x41dabc)return undefined;const _0x7eb3ad={..._0x29befc};return applyAppBinding(_0x41dabc[_0x64674c(0x1c0)],_0x41dabc['command'],_0x7eb3ad),{'definition':buildDynamicCommandDefinition(_0x41dabc[_0x64674c(0x1c0)],_0x41dabc[_0x64674c(0x1db)]),'args':_0x41dabc[_0x64674c(0x1da)],'flags':_0x7eb3ad,'tree':_0x41dabc[_0x64674c(0x1c0)],'command':_0x41dabc['command']};}export function generateDynamicServiceHelp(_0x26a88e){const _0x32eb88=a32_0x19a7,_0x49c7d1=listLocalServiceTrees()['find'](_0x3989c7=>_0x3989c7['service']['code']===_0x26a88e);if(!_0x49c7d1)return undefined;const _0x56d227=[CLI_BIN_NAME+'\x20'+_0x26a88e+'\x20<command>\x20[flags]','',_0x49c7d1[_0x32eb88(0x1eb)][_0x32eb88(0x196)]||_0x26a88e,_0x49c7d1['service'][_0x32eb88(0x1c3)]?'\x20\x20'+_0x49c7d1[_0x32eb88(0x1eb)]['description']:'','',_0x32eb88(0x1f5),..._0x49c7d1[_0x32eb88(0x1ae)]['map'](_0x2c5eee=>{const _0x4274b5=_0x32eb88,_0x2eb4d5=_0x2c5eee[_0x4274b5(0x1df)][_0x4274b5(0x1de)](0x1)[_0x4274b5(0x1ee)]('\x20'),_0x54dd9c=_0x2c5eee[_0x4274b5(0x1cc)]==='read'?'':'\x20['+_0x2c5eee[_0x4274b5(0x1cc)]+']';return'\x20\x20'+_0x2eb4d5[_0x4274b5(0x1b9)](0x18)+'\x20'+(_0x2c5eee[_0x4274b5(0x1c3)]||'')+_0x54dd9c;}),'',_0x32eb88(0x1e4)+CLI_BIN_NAME+_0x32eb88(0x1dc)+_0x26a88e+_0x32eb88(0x1a3)][_0x32eb88(0x198)](Boolean);return _0x56d227[_0x32eb88(0x1ee)]('\x0a');}export function listDynamicServiceEntries(){return listLocalServices()['map'](_0x4337e5=>{const _0x3bd040=a32_0x19a7,_0x165e07=_0x4337e5[_0x3bd040(0x1a6)];return{'service':_0x165e07[_0x3bd040(0x1eb)][_0x3bd040(0x1b7)],'label':_0x165e07[_0x3bd040(0x1eb)][_0x3bd040(0x196)]||_0x165e07[_0x3bd040(0x1eb)][_0x3bd040(0x1b7)],'commands':_0x165e07[_0x3bd040(0x1ae)][_0x3bd040(0x1b4)](_0x2b1fd0=>({'command':dynamicCommandName(_0x2b1fd0),'description':_0x2b1fd0[_0x3bd040(0x1c3)]||_0x3bd040(0x1c7)+_0x2b1fd0[_0x3bd040(0x19a)],'tag':riskTag(_0x2b1fd0[_0x3bd040(0x1cc)])}))};});}export function getDynamicServiceEntry(_0x28d023){const _0x3bcc42=a32_0x19a7;return listDynamicServiceEntries()[_0x3bcc42(0x1bc)](_0x11c90d=>_0x11c90d[_0x3bcc42(0x1eb)]===_0x28d023);}export function listDynamicServiceDefinitions(_0x57fae5){const _0x1b6f42=a32_0x19a7;return listLocalServiceTrees()[_0x1b6f42(0x198)](_0x21efa1=>!_0x57fae5||_0x21efa1['service'][_0x1b6f42(0x1b7)]===_0x57fae5)[_0x1b6f42(0x1d7)](_0x1fdb1a=>_0x1fdb1a[_0x1b6f42(0x1ae)][_0x1b6f42(0x1b4)](_0x4870b6=>buildDynamicCommandDefinition(_0x1fdb1a,_0x4870b6)));}function a32_0xd77a(){const _0x37400c=['datatable','loginName','risk','ctx.','\x20\x20\x20\x20command:\x20','json','source','appRef','Service\x20command\x20','params','boolean','\x20requires\x20target.scriptName.','entries','flatMap','\x20\x20\x20\x20datatable:\x20','310195ivkZKp','remainingArgs','command','\x20service\x20detail\x20--service\x20','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','slice','fullPath','string','bff','app','6308163SEnlht','Use\x20`','default','mapTo','sql','nickname','env','scriptName','service','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','23096ytvDQk','join','tableName','1282oQtrhm','some','startsWith','username','rawFlags','Commands:','Cannot\x20resolve\x20datatable\x20\x22','name','required','filter','args','cliPath','target','bffId','envName','appCode','24573AmUJFw','18983550WipHXh','sqlCode','Unknown\x20appRef\x20\x22','`\x20to\x20inspect\x20the\x20manifest.','kind','now','normalizedManifest','363LbFSLQ','3756972muIJwu','1715IznsTH','bffCode','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','length','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','commands','userId','\x20->\x20','operator','\x22\x20in\x20service\x20command\x20','\x20\x20\x20\x20datasetCode:\x20','map','push','appcode','code','\x20\x20[','padEnd','userName','enum','find','appBindings','employeeId','Unsupported\x20service\x20target\x20kind:\x20','tree','type','tenantCode','description','validation','datasetCode','SERVICE_TREE','Run\x20service\x20command\x20','36ZsqmRX','number'];a32_0xd77a=function(){return _0x37400c;};return a32_0xd77a();}export function getDynamicServiceDefinitions(_0x38f070){const _0x248366=a32_0x19a7,_0x4a8e25=listDynamicServiceDefinitions(_0x38f070);return _0x4a8e25[_0x248366(0x1ac)]>0x0?_0x4a8e25:undefined;}export function findDynamicServiceDefinition(_0x23254d,_0x47da91){const _0x5b7705=a32_0x19a7;return listDynamicServiceDefinitions(_0x23254d)[_0x5b7705(0x1bc)](_0x9c4970=>_0x9c4970['command']===_0x47da91);}export function buildDynamicCommandDefinition(_0x43564f,_0x1a04e6){const _0x18aeae=a32_0x19a7;return{'service':_0x43564f[_0x18aeae(0x1eb)]['code'],'command':dynamicCommandName(_0x1a04e6),'description':_0x1a04e6[_0x18aeae(0x1c3)]||_0x18aeae(0x1c7)+_0x1a04e6[_0x18aeae(0x19a)],'risk':_0x1a04e6[_0x18aeae(0x1cc)],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x1a04e6[_0x18aeae(0x199)][_0x18aeae(0x1b4)](_0x20b4bd=>({'name':_0x20b4bd[_0x18aeae(0x196)],'description':_0x20b4bd[_0x18aeae(0x1c3)]||_0x20b4bd['name'],'required':_0x20b4bd[_0x18aeae(0x197)]})),'flags':_0x1a04e6['flags']['map'](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x1a04e6),async 'dryRun'(_0x3686c3){const _0x4d0d7b=_0x18aeae,_0x5eecde=await compilePlan(_0x1a04e6,_0x3686c3);return{'method':_0x4d0d7b(0x1c6),'url':_0x1a04e6[_0x4d0d7b(0x19a)],'body':{'target':targetPreview(_0x5eecde),'params':_0x5eecde[_0x4d0d7b(0x1d3)]},'description':'Preview\x20dynamic\x20service\x20command:\x20'+_0x1a04e6[_0x4d0d7b(0x19a)]};},async 'execute'(_0x59b285){const _0x52bdeb=_0x18aeae,_0xa8d669=await compilePlan(_0x1a04e6,_0x59b285),_0x3918ba=Date[_0x52bdeb(0x1a5)](),_0x40d123=await executePlan(_0xa8d669,_0x1a04e6,_0x59b285),_0x531545=Date[_0x52bdeb(0x1a5)]()-_0x3918ba;return{'ok':!![],'data':{'service':_0x43564f[_0x52bdeb(0x1eb)],'command':_0x1a04e6[_0x52bdeb(0x19a)],'target':targetPreview(_0xa8d669),'result':_0x40d123,'elapsed':_0x531545},'message':_0x52bdeb(0x1d2)+_0x1a04e6['cliPath']+'\x20completed\x20in\x20'+_0x531545+'ms'};}};}function dynamicCommandName(_0x21a9a9){const _0x3d1276=a32_0x19a7;return _0x21a9a9[_0x3d1276(0x1df)][_0x3d1276(0x1de)](0x1)['join']('\x20');}function riskTag(_0x3bcc06){const _0x29fd10=a32_0x19a7;return _0x3bcc06==='read'?'':_0x29fd10(0x1b8)+_0x3bcc06+']';}function flagToCommandFlag(_0xe0d264){const _0x182e1a=a32_0x19a7;return{'name':_0xe0d264['cliName'],'type':_0xe0d264[_0x182e1a(0x1c1)]===_0x182e1a(0x1cf)?'string':_0xe0d264['type'],'description':_0xe0d264[_0x182e1a(0x1c3)]||_0xe0d264['name'],'required':_0xe0d264[_0x182e1a(0x197)],'default':isPrimitiveFlagDefault(_0xe0d264[_0x182e1a(0x1e5)])?_0xe0d264[_0x182e1a(0x1e5)]:undefined,'enum':_0xe0d264[_0x182e1a(0x1bb)]};}async function compilePlan(_0x38ce09,_0x5522f3){const _0x27c791=a32_0x19a7;return compileServiceTreeCommand(_0x38ce09,{'flags':_0x5522f3[_0x27c791(0x1f4)],'args':_0x5522f3[_0x27c791(0x199)],'context':await buildServiceContext(_0x38ce09,_0x5522f3)});}async function buildServiceContext(_0x4e9664,_0x3ad403){const _0x5daf27=a32_0x19a7,_0x4d19df={'appCode':_0x3ad403['appCode'],'env':_0x3ad403[_0x5daf27(0x19d)],'envName':_0x3ad403[_0x5daf27(0x19d)]};if(!usesRuntimeContext(_0x4e9664))return _0x4d19df;const _0x4707a9=await getLoginUserInfo(),_0x4c3b8e=pickFirst(_0x4707a9[_0x5daf27(0x1af)],_0x4707a9['id']);return{..._0x4d19df,'user':_0x4707a9,'userId':_0x4c3b8e,'id':_0x4707a9['id'],'username':pickFirst(_0x4707a9[_0x5daf27(0x1f3)],_0x4707a9['userName'],_0x4707a9[_0x5daf27(0x1cb)]),'userName':_0x4707a9[_0x5daf27(0x1ba)],'nickname':pickFirst(_0x4707a9[_0x5daf27(0x1e8)],_0x4707a9['nickName']),'nickName':_0x4707a9['nickName'],'tenantCode':_0x4707a9[_0x5daf27(0x1c2)],'employeeId':_0x4707a9[_0x5daf27(0x1be)]};}function usesRuntimeContext(_0x295943){const _0x15fda8=a32_0x19a7;return _0x295943[_0x15fda8(0x1e6)][_0x15fda8(0x1f1)](_0x224562=>typeof _0x224562['source']===_0x15fda8(0x1e0)&&(_0x224562[_0x15fda8(0x1d0)][_0x15fda8(0x1f2)]('context.')||_0x224562[_0x15fda8(0x1d0)][_0x15fda8(0x1f2)](_0x15fda8(0x1cd))));}function pickFirst(..._0x5250cf){const _0x323edf=a32_0x19a7;return _0x5250cf[_0x323edf(0x1bc)](_0x31fa19=>_0x31fa19!==undefined&&_0x31fa19!==null);}async function executePlan(_0x506025,_0x18d66d,_0x38ff01){const _0x3d0cf4=a32_0x19a7;if(_0x506025[_0x3d0cf4(0x1a4)]==='data'){const _0x108c86=await resolveDatasetCode(_0x506025,_0x18d66d,_0x38ff01);return executeData(_0x108c86,_0x506025['command'],_0x506025[_0x3d0cf4(0x1d3)]);}if(_0x506025['kind']===_0x3d0cf4(0x1e7)){if(!_0x506025[_0x3d0cf4(0x1a1)])throw CliErrors[_0x3d0cf4(0x1c4)]('Service\x20command\x20'+_0x18d66d['cliPath']+'\x20requires\x20target.sqlCode.');return executeSdkSql(_0x506025[_0x3d0cf4(0x1a1)],normalizeScalarParams(_0x506025[_0x3d0cf4(0x1d3)]));}if(_0x506025[_0x3d0cf4(0x1a4)]===_0x3d0cf4(0x1e1)){const _0x5312f7=_0x506025[_0x3d0cf4(0x1ea)]||_0x506025[_0x3d0cf4(0x1aa)]||(_0x506025[_0x3d0cf4(0x19c)]==null?'':String(_0x506025['bffId']));if(!_0x5312f7)throw CliErrors['validation'](_0x3d0cf4(0x1d2)+_0x18d66d['cliPath']+_0x3d0cf4(0x1d5));return executeSdkBff(_0x5312f7,_0x506025['params']);}throw CliErrors[_0x3d0cf4(0x1c4)](_0x3d0cf4(0x1bf)+_0x506025[_0x3d0cf4(0x1a4)]);}async function resolveDatasetCode(_0x4ce933,_0x4483e8,_0x320b04){const _0x4d206c=a32_0x19a7;if(_0x4ce933[_0x4d206c(0x1c5)])return _0x4ce933[_0x4d206c(0x1c5)];if(!_0x4ce933['datatable'])throw CliErrors['validation'](_0x4d206c(0x1d2)+_0x4483e8['cliPath']+_0x4d206c(0x1ab));const _0x3bc0d3=await listDatasets(_0x320b04[_0x4d206c(0x19e)]),_0x35b437=_0x3bc0d3[_0x4d206c(0x1bc)](_0x510412=>_0x510412['dbtableConfig']?.[_0x4d206c(0x1ef)]===_0x4ce933[_0x4d206c(0x1ca)]);if(!_0x35b437?.[_0x4d206c(0x1b7)])throw CliErrors['validation'](_0x4d206c(0x1f6)+_0x4ce933[_0x4d206c(0x1ca)]+_0x4d206c(0x1dd)+_0x320b04['appCode']+'.',_0x4d206c(0x1ad));return _0x35b437[_0x4d206c(0x1b7)];}function applyAppBinding(_0x21f81d,_0x31e225,_0xb1f202){const _0x1fdd2d=a32_0x19a7,_0x2b16f1=_0x31e225[_0x1fdd2d(0x19b)]['appRef'];if(!_0x2b16f1)return;const _0x4587e6=_0x21f81d[_0x1fdd2d(0x1bd)][_0x2b16f1];if(!_0x4587e6)throw CliErrors[_0x1fdd2d(0x1c4)](_0x1fdd2d(0x1a2)+_0x2b16f1+_0x1fdd2d(0x1b2)+_0x31e225[_0x1fdd2d(0x19a)]+'.',_0x1fdd2d(0x1ec));const _0x491a1d=_0x4587e6[_0x1fdd2d(0x1b6)]||_0x4587e6[_0x1fdd2d(0x19e)];_0x491a1d&&!hasText(_0xb1f202[_0x1fdd2d(0x1b6)])&&(_0xb1f202[_0x1fdd2d(0x1b6)]=_0x491a1d),_0x4587e6[_0x1fdd2d(0x1e2)]&&!hasText(_0xb1f202['app'])&&!hasText(_0xb1f202[_0x1fdd2d(0x1b6)])&&(_0xb1f202[_0x1fdd2d(0x1e2)]=_0x4587e6[_0x1fdd2d(0x1e2)]),_0x4587e6[_0x1fdd2d(0x1e9)]&&!hasText(_0xb1f202['env'])&&(_0xb1f202[_0x1fdd2d(0x1e9)]=_0x4587e6['env']);}function renderDynamicCommandHelp(_0x93c155){const _0x59728f=a32_0x19a7,_0x5d5ee2=['\x20\x20SERVICE\x20TREE\x20TARGET','\x20\x20\x20\x20kind:\x20\x20\x20\x20'+_0x93c155['target']['kind'],_0x59728f(0x1ce)+_0x93c155[_0x59728f(0x19b)]['command']];if(_0x93c155['target'][_0x59728f(0x1c5)])_0x5d5ee2[_0x59728f(0x1b5)](_0x59728f(0x1b3)+_0x93c155[_0x59728f(0x19b)][_0x59728f(0x1c5)]);if(_0x93c155[_0x59728f(0x19b)]['datatable'])_0x5d5ee2[_0x59728f(0x1b5)](_0x59728f(0x1d8)+_0x93c155[_0x59728f(0x19b)][_0x59728f(0x1ca)]);if(_0x93c155[_0x59728f(0x19b)][_0x59728f(0x1a1)])_0x5d5ee2[_0x59728f(0x1b5)]('\x20\x20\x20\x20sqlCode:\x20'+_0x93c155['target']['sqlCode']);if(_0x93c155['target'][_0x59728f(0x1ea)])_0x5d5ee2[_0x59728f(0x1b5)]('\x20\x20\x20\x20scriptName:\x20'+_0x93c155[_0x59728f(0x19b)][_0x59728f(0x1ea)]);if(_0x93c155[_0x59728f(0x1e6)][_0x59728f(0x1ac)]>0x0){_0x5d5ee2[_0x59728f(0x1b5)]('','\x20\x20MAP\x20TO');for(const _0xfdedcc of _0x93c155[_0x59728f(0x1e6)]){_0x5d5ee2[_0x59728f(0x1b5)]('\x20\x20\x20\x20'+(_0xfdedcc[_0x59728f(0x1d0)]||'const')+_0x59728f(0x1b0)+_0xfdedcc['target']+(_0xfdedcc[_0x59728f(0x1b1)]?'.'+_0xfdedcc[_0x59728f(0x1b1)]:''));}}return _0x5d5ee2[_0x59728f(0x1ee)]('\x0a');}function targetPreview(_0x58dab7){const _0x1fafaa=a32_0x19a7;return{'kind':_0x58dab7[_0x1fafaa(0x1a4)],'command':_0x58dab7[_0x1fafaa(0x1db)],'appRef':_0x58dab7[_0x1fafaa(0x1d1)],'datasetCode':_0x58dab7[_0x1fafaa(0x1c5)],'datatable':_0x58dab7[_0x1fafaa(0x1ca)],'sqlCode':_0x58dab7[_0x1fafaa(0x1a1)],'bffCode':_0x58dab7[_0x1fafaa(0x1aa)],'bffId':_0x58dab7[_0x1fafaa(0x19c)],'scriptName':_0x58dab7[_0x1fafaa(0x1ea)]};}function normalizeScalarParams(_0x8bf9b){const _0xddca78=a32_0x19a7;return Object['fromEntries'](Object[_0xddca78(0x1d6)](_0x8bf9b)['filter'](([,_0x2a35f5])=>typeof _0x2a35f5===_0xddca78(0x1e0)||typeof _0x2a35f5===_0xddca78(0x1c9)));}function hasText(_0x49183b){const _0x15d48a=a32_0x19a7;return typeof _0x49183b==='string'&&_0x49183b['trim']()[_0x15d48a(0x1ac)]>0x0;}function isPrimitiveFlagDefault(_0x5a7c88){const _0x2ee102=a32_0x19a7;return _0x5a7c88===undefined||typeof _0x5a7c88===_0x2ee102(0x1e0)||typeof _0x5a7c88===_0x2ee102(0x1c9)||typeof _0x5a7c88===_0x2ee102(0x1d4);}
|
|
1
|
+
(function(_0x4275db,_0x144dac){const _0x4e9a8f=a32_0x2a35,_0x5207b5=_0x4275db();while(!![]){try{const _0x113f4c=-parseInt(_0x4e9a8f(0x9c))/0x1*(-parseInt(_0x4e9a8f(0xa4))/0x2)+-parseInt(_0x4e9a8f(0xa0))/0x3*(-parseInt(_0x4e9a8f(0xe8))/0x4)+parseInt(_0x4e9a8f(0xa9))/0x5*(-parseInt(_0x4e9a8f(0xa8))/0x6)+parseInt(_0x4e9a8f(0xe1))/0x7*(-parseInt(_0x4e9a8f(0xd5))/0x8)+-parseInt(_0x4e9a8f(0x9a))/0x9+parseInt(_0x4e9a8f(0x8f))/0xa*(-parseInt(_0x4e9a8f(0xcb))/0xb)+-parseInt(_0x4e9a8f(0x92))/0xc*(-parseInt(_0x4e9a8f(0xed))/0xd);if(_0x113f4c===_0x144dac)break;else _0x5207b5['push'](_0x5207b5['shift']());}catch(_0x1bb2d2){_0x5207b5['push'](_0x5207b5['shift']());}}}(a32_0x11cd,0x6e07c));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';import{listLocalServices,listLocalServiceTrees}from'../../commands/service/registry.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0x4752f7,_0x2ede6b){const _0x3d328a=a32_0x2a35,_0x5d184e=listLocalServiceTrees();let _0x118734;for(const _0x2fd0fb of _0x5d184e){const _0x11831a=matchServiceTreeCommand(_0x2fd0fb,_0x4752f7);if(!_0x11831a)continue;(!_0x118734||_0x11831a[_0x3d328a(0xbc)][_0x3d328a(0xa1)][_0x3d328a(0xbe)]>_0x118734[_0x3d328a(0xbc)]['fullPath'][_0x3d328a(0xbe)])&&(_0x118734={'tree':_0x2fd0fb,'command':_0x11831a[_0x3d328a(0xbc)],'remainingArgs':_0x11831a[_0x3d328a(0xc2)]});}if(!_0x118734)return undefined;const _0x245abf={..._0x2ede6b};return applyAppBinding(_0x118734[_0x3d328a(0xb0)],_0x118734[_0x3d328a(0xbc)],_0x245abf),{'definition':buildDynamicCommandDefinition(_0x118734[_0x3d328a(0xb0)],_0x118734[_0x3d328a(0xbc)]),'args':_0x118734[_0x3d328a(0xc2)],'flags':_0x245abf,'tree':_0x118734[_0x3d328a(0xb0)],'command':_0x118734[_0x3d328a(0xbc)]};}export function generateDynamicServiceHelp(_0x5bee47){const _0x221cd4=a32_0x2a35,_0x8667cc=listLocalServiceTrees()[_0x221cd4(0x8e)](_0xc655c=>_0xc655c[_0x221cd4(0xbb)][_0x221cd4(0xae)]===_0x5bee47);if(!_0x8667cc)return undefined;const _0x4658c0=[CLI_BIN_NAME+'\x20'+_0x5bee47+_0x221cd4(0xb9),'',_0x8667cc[_0x221cd4(0xbb)][_0x221cd4(0xe0)]||_0x5bee47,_0x8667cc[_0x221cd4(0xbb)]['description']?'\x20\x20'+_0x8667cc[_0x221cd4(0xbb)][_0x221cd4(0xe4)]:'','',_0x221cd4(0xb2),..._0x8667cc[_0x221cd4(0xb6)][_0x221cd4(0xcd)](_0x1aaf75=>{const _0x1a6179=_0x221cd4,_0x5df8a9=_0x1aaf75[_0x1a6179(0xa1)]['slice'](0x1)[_0x1a6179(0xad)]('\x20'),_0x252fb3=_0x1aaf75['risk']===_0x1a6179(0xbf)?'':'\x20['+_0x1aaf75['risk']+']';return'\x20\x20'+_0x5df8a9[_0x1a6179(0x93)](0x18)+'\x20'+(_0x1aaf75['description']||'')+_0x252fb3;}),'',_0x221cd4(0xb1)+CLI_BIN_NAME+_0x221cd4(0xd7)+_0x5bee47+_0x221cd4(0xca)][_0x221cd4(0xec)](Boolean);return _0x4658c0[_0x221cd4(0xad)]('\x0a');}export function listDynamicServiceEntries(){const _0x2e4675=a32_0x2a35;return listLocalServices()[_0x2e4675(0xcd)](_0x3ccab8=>{const _0x325383=_0x2e4675,_0x209a5e=_0x3ccab8[_0x325383(0xf1)];return{'service':_0x209a5e[_0x325383(0xbb)]['code'],'label':_0x209a5e[_0x325383(0xbb)][_0x325383(0xe0)]||_0x209a5e[_0x325383(0xbb)][_0x325383(0xae)],'commands':_0x209a5e[_0x325383(0xb6)][_0x325383(0xcd)](_0x3d4f6f=>({'command':dynamicCommandName(_0x3d4f6f),'description':_0x3d4f6f[_0x325383(0xe4)]||'Run\x20service\x20command\x20'+_0x3d4f6f[_0x325383(0xe9)],'tag':riskTag(_0x3d4f6f['risk'])}))};});}function a32_0x2a35(_0x2ae87b,_0x3825e6){_0x2ae87b=_0x2ae87b-0x8a;const _0x11cd2f=a32_0x11cd();let _0x2a357a=_0x11cd2f[_0x2ae87b];return _0x2a357a;}export function getDynamicServiceEntry(_0x1bfa0b){const _0x2280ac=a32_0x2a35;return listDynamicServiceEntries()['find'](_0x5ab528=>_0x5ab528[_0x2280ac(0xbb)]===_0x1bfa0b);}export function listDynamicServiceDefinitions(_0x5319b8){const _0x3c3bc6=a32_0x2a35;return listLocalServiceTrees()[_0x3c3bc6(0xec)](_0x1fccbc=>!_0x5319b8||_0x1fccbc[_0x3c3bc6(0xbb)][_0x3c3bc6(0xae)]===_0x5319b8)['flatMap'](_0x17b4cc=>_0x17b4cc[_0x3c3bc6(0xb6)]['map'](_0x4b572a=>buildDynamicCommandDefinition(_0x17b4cc,_0x4b572a)));}export function getDynamicServiceDefinitions(_0x45ad7a){const _0x55989e=a32_0x2a35,_0xe65890=listDynamicServiceDefinitions(_0x45ad7a);return _0xe65890[_0x55989e(0xbe)]>0x0?_0xe65890:undefined;}export function findDynamicServiceDefinition(_0x32c116,_0x32956c){const _0x1ed715=a32_0x2a35;return listDynamicServiceDefinitions(_0x32c116)[_0x1ed715(0x8e)](_0x2745cf=>_0x2745cf[_0x1ed715(0xbc)]===_0x32956c);}export function buildDynamicCommandDefinition(_0x1eafa0,_0x204ecf){const _0x4fd3ef=a32_0x2a35;return{'service':_0x1eafa0[_0x4fd3ef(0xbb)][_0x4fd3ef(0xae)],'command':dynamicCommandName(_0x204ecf),'description':_0x204ecf[_0x4fd3ef(0xe4)]||_0x4fd3ef(0x91)+_0x204ecf[_0x4fd3ef(0xe9)],'risk':_0x204ecf['risk'],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x204ecf[_0x4fd3ef(0xe5)][_0x4fd3ef(0xcd)](_0x22aa31=>({'name':_0x22aa31[_0x4fd3ef(0xe0)],'description':_0x22aa31[_0x4fd3ef(0xe4)]||_0x22aa31[_0x4fd3ef(0xe0)],'required':_0x22aa31[_0x4fd3ef(0x8d)]})),'flags':_0x204ecf[_0x4fd3ef(0xd9)][_0x4fd3ef(0xcd)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x204ecf),async 'dryRun'(_0x2af85e){const _0x1fa493=_0x4fd3ef,_0x1eb13c=await compilePlan(_0x204ecf,_0x2af85e);return{'method':_0x1fa493(0xd6),'url':_0x204ecf[_0x1fa493(0xe9)],'body':{'target':targetPreview(_0x1eb13c),'params':_0x1eb13c[_0x1fa493(0xa3)]},'description':'Preview\x20dynamic\x20service\x20command:\x20'+_0x204ecf[_0x1fa493(0xe9)]};},async 'execute'(_0x4beab8){const _0x225ff8=_0x4fd3ef,_0x106cfc=await compilePlan(_0x204ecf,_0x4beab8),_0xfeda4f=Date[_0x225ff8(0xbd)](),_0xb3edc8=await executePlan(_0x106cfc,_0x204ecf,_0x4beab8),_0x19b32f=Date[_0x225ff8(0xbd)]()-_0xfeda4f;return{'ok':!![],'data':{'service':_0x1eafa0[_0x225ff8(0xbb)],'command':_0x204ecf[_0x225ff8(0xe9)],'target':targetPreview(_0x106cfc),'result':_0xb3edc8,'elapsed':_0x19b32f},'message':'Service\x20command\x20'+_0x204ecf[_0x225ff8(0xe9)]+_0x225ff8(0xdd)+_0x19b32f+'ms'};}};}function dynamicCommandName(_0x2ce5cb){const _0x4c9d2d=a32_0x2a35;return _0x2ce5cb[_0x4c9d2d(0xa1)][_0x4c9d2d(0xd2)](0x1)[_0x4c9d2d(0xad)]('\x20');}function riskTag(_0x4fc1ce){const _0x16def4=a32_0x2a35;return _0x4fc1ce==='read'?'':_0x16def4(0xef)+_0x4fc1ce+']';}function flagToCommandFlag(_0x1296ca){const _0xd82cc0=a32_0x2a35;return{'name':_0x1296ca[_0xd82cc0(0xa6)],'type':_0x1296ca[_0xd82cc0(0x9b)]===_0xd82cc0(0xcc)?_0xd82cc0(0xe3):_0x1296ca[_0xd82cc0(0x9b)],'description':_0x1296ca[_0xd82cc0(0xe4)]||_0x1296ca[_0xd82cc0(0xe0)],'required':_0x1296ca['required'],'default':isPrimitiveFlagDefault(_0x1296ca[_0xd82cc0(0x95)])?_0x1296ca[_0xd82cc0(0x95)]:undefined,'enum':_0x1296ca['enum']};}async function compilePlan(_0x27edb0,_0x277ad2){const _0x10e8f3=a32_0x2a35;return compileServiceTreeCommand(_0x27edb0,{'flags':_0x277ad2[_0x10e8f3(0xc7)],'args':_0x277ad2[_0x10e8f3(0xe5)],'context':await buildServiceContext(_0x27edb0,_0x277ad2)});}async function buildServiceContext(_0x1406a4,_0x357b05){const _0x349ae2=a32_0x2a35,_0xdca27c={'appCode':_0x357b05[_0x349ae2(0xa7)],'env':_0x357b05[_0x349ae2(0xc6)],'envName':_0x357b05[_0x349ae2(0xc6)]};if(!usesRuntimeContext(_0x1406a4))return _0xdca27c;const _0x18d98a=await getLoginUserInfo(),_0x5242d=pickFirst(_0x18d98a[_0x349ae2(0xc9)],_0x18d98a['id']);return{..._0xdca27c,'user':_0x18d98a,'userId':_0x5242d,'id':_0x18d98a['id'],'username':pickFirst(_0x18d98a[_0x349ae2(0xe7)],_0x18d98a[_0x349ae2(0xc5)],_0x18d98a['loginName']),'userName':_0x18d98a[_0x349ae2(0xc5)],'nickname':pickFirst(_0x18d98a[_0x349ae2(0x99)],_0x18d98a[_0x349ae2(0xce)]),'nickName':_0x18d98a[_0x349ae2(0xce)],'tenantCode':_0x18d98a[_0x349ae2(0x9f)],'employeeId':_0x18d98a[_0x349ae2(0xc8)]};}function usesRuntimeContext(_0x3a331d){const _0x3da25c=a32_0x2a35;return _0x3a331d[_0x3da25c(0xab)][_0x3da25c(0xdf)](_0x2ffd96=>typeof _0x2ffd96[_0x3da25c(0xf0)]===_0x3da25c(0xe3)&&(_0x2ffd96['source']['startsWith'](_0x3da25c(0xaf))||_0x2ffd96[_0x3da25c(0xf0)]['startsWith'](_0x3da25c(0xb4))));}function pickFirst(..._0x4e8f90){return _0x4e8f90['find'](_0x1f2996=>_0x1f2996!==undefined&&_0x1f2996!==null);}function a32_0x11cd(){const _0x27716d=['operator','\x20\x20\x20\x20scriptName:\x20','remainingArgs','Service\x20command\x20','\x20requires\x20target.sqlCode.','userName','envName','rawFlags','employeeId','userId','`\x20to\x20inspect\x20the\x20manifest.','1961509OuKeFu','json','map','nickName','appcode','Unknown\x20appRef\x20\x22','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','slice','kind','boolean','802616ivJxIt','SERVICE_TREE','\x20service\x20detail\x20--service\x20','env','flags','datasetCode','\x20\x20\x20\x20kind:\x20\x20\x20\x20','sqlCode','\x20completed\x20in\x20','\x20\x20\x20\x20sqlCode:\x20','some','name','14dAYIDm','\x20\x20\x20\x20datatable:\x20','string','description','args','scriptName','username','44hBMOgT','cliPath','\x20\x20SERVICE\x20TREE\x20TARGET','dbtableConfig','filter','13clSUNt','Unsupported\x20service\x20target\x20kind:\x20','\x20\x20[','source','normalizedManifest','bff','bffCode','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','\x20\x20MAP\x20TO','\x20\x20\x20\x20command:\x20','required','find','20AbwTbo','Cannot\x20resolve\x20datatable\x20\x22','Run\x20service\x20command\x20','12349068RepFjm','padEnd','push','default','datatable','fromEntries','sql','nickname','3506832TVDDjB','type','145727xlQfGk','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','tenantCode','241662kKnoVJ','fullPath','bffId','params','2ENkHpJ','validation','cliName','appCode','1578WvFqtm','12610HORNvB','target','mapTo','appRef','join','code','context.','tree','Use\x20`','Commands:','trim','ctx.','const','commands','\x22\x20in\x20service\x20command\x20','app','\x20<command>\x20[flags]','number','service','command','now','length','read'];a32_0x11cd=function(){return _0x27716d;};return a32_0x11cd();}async function executePlan(_0x4c1f24,_0x12f636,_0x67938b){const _0x3be1b0=a32_0x2a35;if(_0x4c1f24[_0x3be1b0(0xd3)]==='data'){const _0x1cc1bf=await resolveDatasetCode(_0x4c1f24,_0x12f636,_0x67938b);return executeData(_0x1cc1bf,_0x4c1f24[_0x3be1b0(0xbc)],_0x4c1f24['params']);}if(_0x4c1f24[_0x3be1b0(0xd3)]===_0x3be1b0(0x98)){if(!_0x4c1f24[_0x3be1b0(0xdc)])throw CliErrors[_0x3be1b0(0xa5)](_0x3be1b0(0xc3)+_0x12f636['cliPath']+_0x3be1b0(0xc4));return executeSdkSql(_0x4c1f24[_0x3be1b0(0xdc)],normalizeScalarParams(_0x4c1f24[_0x3be1b0(0xa3)]));}if(_0x4c1f24['kind']===_0x3be1b0(0xf2)){const _0x55b11a=_0x4c1f24[_0x3be1b0(0xe6)]||_0x4c1f24[_0x3be1b0(0xf3)]||(_0x4c1f24[_0x3be1b0(0xa2)]==null?'':String(_0x4c1f24[_0x3be1b0(0xa2)]));if(!_0x55b11a)throw CliErrors['validation']('Service\x20command\x20'+_0x12f636[_0x3be1b0(0xe9)]+'\x20requires\x20target.scriptName.');return executeSdkBff(_0x55b11a,_0x4c1f24[_0x3be1b0(0xa3)]);}throw CliErrors[_0x3be1b0(0xa5)](_0x3be1b0(0xee)+_0x4c1f24['kind']);}async function resolveDatasetCode(_0x1dcc88,_0x498e20,_0x4ac7e9){const _0x12a829=a32_0x2a35;if(_0x1dcc88[_0x12a829(0xda)])return _0x1dcc88[_0x12a829(0xda)];if(!_0x1dcc88['datatable'])throw CliErrors[_0x12a829(0xa5)](_0x12a829(0xc3)+_0x498e20[_0x12a829(0xe9)]+_0x12a829(0x9e));const _0x344ebb=await listDatasets(_0x4ac7e9[_0x12a829(0xa7)]),_0x5eda3f=_0x344ebb[_0x12a829(0x8e)](_0x5ad764=>_0x5ad764[_0x12a829(0xeb)]?.['tableName']===_0x1dcc88[_0x12a829(0x96)]);if(!_0x5eda3f?.['code'])throw CliErrors[_0x12a829(0xa5)](_0x12a829(0x90)+_0x1dcc88[_0x12a829(0x96)]+_0x12a829(0x9d)+_0x4ac7e9[_0x12a829(0xa7)]+'.',_0x12a829(0xd1));return _0x5eda3f['code'];}function applyAppBinding(_0x4cddde,_0x40cfab,_0x56cfe4){const _0x58929e=a32_0x2a35,_0x45854b=_0x40cfab['target']['appRef'];if(!_0x45854b)return;const _0x41bb32=_0x4cddde['appBindings'][_0x45854b];if(!_0x41bb32)throw CliErrors[_0x58929e(0xa5)](_0x58929e(0xd0)+_0x45854b+_0x58929e(0xb7)+_0x40cfab[_0x58929e(0xe9)]+'.',_0x58929e(0x8a));const _0x3165d4=_0x41bb32[_0x58929e(0xcf)]||_0x41bb32[_0x58929e(0xa7)];_0x3165d4&&!hasText(_0x56cfe4[_0x58929e(0xcf)])&&(_0x56cfe4[_0x58929e(0xcf)]=_0x3165d4),_0x41bb32[_0x58929e(0xb8)]&&!hasText(_0x56cfe4[_0x58929e(0xb8)])&&!hasText(_0x56cfe4['appcode'])&&(_0x56cfe4[_0x58929e(0xb8)]=_0x41bb32['app']),_0x41bb32[_0x58929e(0xd8)]&&!hasText(_0x56cfe4[_0x58929e(0xd8)])&&(_0x56cfe4[_0x58929e(0xd8)]=_0x41bb32[_0x58929e(0xd8)]);}function renderDynamicCommandHelp(_0x20b1da){const _0x4b332c=a32_0x2a35,_0x42528b=[_0x4b332c(0xea),_0x4b332c(0xdb)+_0x20b1da[_0x4b332c(0xaa)][_0x4b332c(0xd3)],_0x4b332c(0x8c)+_0x20b1da['target'][_0x4b332c(0xbc)]];if(_0x20b1da[_0x4b332c(0xaa)][_0x4b332c(0xda)])_0x42528b['push']('\x20\x20\x20\x20datasetCode:\x20'+_0x20b1da[_0x4b332c(0xaa)][_0x4b332c(0xda)]);if(_0x20b1da[_0x4b332c(0xaa)][_0x4b332c(0x96)])_0x42528b[_0x4b332c(0x94)](_0x4b332c(0xe2)+_0x20b1da[_0x4b332c(0xaa)][_0x4b332c(0x96)]);if(_0x20b1da['target'][_0x4b332c(0xdc)])_0x42528b['push'](_0x4b332c(0xde)+_0x20b1da[_0x4b332c(0xaa)]['sqlCode']);if(_0x20b1da[_0x4b332c(0xaa)][_0x4b332c(0xe6)])_0x42528b[_0x4b332c(0x94)](_0x4b332c(0xc1)+_0x20b1da[_0x4b332c(0xaa)]['scriptName']);if(_0x20b1da['mapTo'][_0x4b332c(0xbe)]>0x0){_0x42528b[_0x4b332c(0x94)]('',_0x4b332c(0x8b));for(const _0x4731f9 of _0x20b1da[_0x4b332c(0xab)]){_0x42528b['push']('\x20\x20\x20\x20'+(_0x4731f9['source']||_0x4b332c(0xb5))+'\x20->\x20'+_0x4731f9['target']+(_0x4731f9[_0x4b332c(0xc0)]?'.'+_0x4731f9[_0x4b332c(0xc0)]:''));}}return _0x42528b[_0x4b332c(0xad)]('\x0a');}function targetPreview(_0x3fe0b4){const _0x311b88=a32_0x2a35;return{'kind':_0x3fe0b4[_0x311b88(0xd3)],'command':_0x3fe0b4[_0x311b88(0xbc)],'appRef':_0x3fe0b4[_0x311b88(0xac)],'datasetCode':_0x3fe0b4['datasetCode'],'datatable':_0x3fe0b4['datatable'],'sqlCode':_0x3fe0b4['sqlCode'],'bffCode':_0x3fe0b4[_0x311b88(0xf3)],'bffId':_0x3fe0b4['bffId'],'scriptName':_0x3fe0b4[_0x311b88(0xe6)]};}function normalizeScalarParams(_0x49fe82){const _0x57c55d=a32_0x2a35;return Object[_0x57c55d(0x97)](Object['entries'](_0x49fe82)[_0x57c55d(0xec)](([,_0x2ecd08])=>typeof _0x2ecd08===_0x57c55d(0xe3)||typeof _0x2ecd08===_0x57c55d(0xba)));}function hasText(_0x32cd79){const _0x3b5c3f=a32_0x2a35;return typeof _0x32cd79===_0x3b5c3f(0xe3)&&_0x32cd79[_0x3b5c3f(0xb3)]()[_0x3b5c3f(0xbe)]>0x0;}function isPrimitiveFlagDefault(_0x59b4e0){const _0x124ddf=a32_0x2a35;return _0x59b4e0===undefined||typeof _0x59b4e0===_0x124ddf(0xe3)||typeof _0x59b4e0==='number'||typeof _0x59b4e0===_0x124ddf(0xd4);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a33_0x1ca5b7=a33_0x2e3c;(function(_0x4aff2f,_0x43d2c5){const _0xe9cb8=a33_0x2e3c,_0x13fdfa=_0x4aff2f();while(!![]){try{const _0x487490=-parseInt(_0xe9cb8(0x1c0))/0x1+parseInt(_0xe9cb8(0x1c7))/0x2*(parseInt(_0xe9cb8(0x1e1))/0x3)+parseInt(_0xe9cb8(0x1bf))/0x4+-parseInt(_0xe9cb8(0x1bc))/0x5*(-parseInt(_0xe9cb8(0x1cd))/0x6)+-parseInt(_0xe9cb8(0x1d0))/0x7*(-parseInt(_0xe9cb8(0x1be))/0x8)+-parseInt(_0xe9cb8(0x1e4))/0x9*(parseInt(_0xe9cb8(0x1ec))/0xa)+-parseInt(_0xe9cb8(0x1b9))/0xb;if(_0x487490===_0x43d2c5)break;else _0x13fdfa['push'](_0x13fdfa['shift']());}catch(_0x261b2f){_0x13fdfa['push'](_0x13fdfa['shift']());}}}(a33_0x2b9a,0xb281e));function a33_0x2e3c(_0x57c093,_0x273765){_0x57c093=_0x57c093-0x1a5;const _0x2b9a26=a33_0x2b9a();let _0x2e3cec=_0x2b9a26[_0x57c093];return _0x2e3cec;}function a33_0x2b9a(){const _0x567741=['serviceCount','version','registryServiceCode','imported','1278zVSEMt','Service\x20manifest\x20validation\x20passed.','read','4067QtWnqL','report','file','importedAt','validate','Imported\x20','import','required','manifests','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','detail','Imported','Exported\x20service\x20','serviceCode','lower\x20kebab-case\x20service\x20code','description','name','579HOSBdz','updated','errors','2432097NFTcpR','\x20service(s),\x20updated\x20','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','replaced','list','Removed\x20service\x20','remove','hash','30bYuJpL','Service\x20Tree\x20manifest\x20file\x20path','source','Local\x20service\x20not\x20found:\x20','filePath','cliPath','registryPath','\x20service\x20','warnings','registryIndex','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','flags','commands','normalizedManifest','write','kind','registry','Local\x20service\x20code,\x20for\x20example\x20crm','string','\x20service(s).','map','service','1327535wXzKvy','entry','entries','765xlYvIv','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','15920ocYmTX','3405344sAcdmB','1068119ljiMzq','Service\x20registry\x20validation\x20passed.','risk','length','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','str','WRITE','7156fBOeyv','target'];a33_0x2b9a=function(){return _0x567741;};return a33_0x2b9a();}import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';const FILE_FLAG={'name':'file','type':a33_0x1ca5b7(0x1b5),'required':!![],'description':a33_0x1ca5b7(0x1ed)},SERVICE_FLAG={'name':'service','type':a33_0x1ca5b7(0x1b5),'required':!![],'description':a33_0x1ca5b7(0x1b4),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a33_0x1ca5b7(0x1de)}};function summarizeService(_0x3fde20){const _0x3b092e=a33_0x1ca5b7;return{'serviceCode':_0x3fde20[_0x3b092e(0x1dd)],'name':_0x3fde20[_0x3b092e(0x1b0)][_0x3b092e(0x1b8)]['name'],'version':_0x3fde20[_0x3b092e(0x1ca)],'importedAt':_0x3fde20[_0x3b092e(0x1d3)],'source':_0x3fde20[_0x3b092e(0x1ee)],'commandCount':_0x3fde20[_0x3b092e(0x1b0)][_0x3b092e(0x1af)][_0x3b092e(0x1c3)],'commands':_0x3fde20[_0x3b092e(0x1b0)]['commands'][_0x3b092e(0x1b7)](_0x368d28=>({'path':_0x368d28[_0x3b092e(0x1a7)],'description':_0x368d28[_0x3b092e(0x1df)],'risk':_0x368d28[_0x3b092e(0x1c2)],'target':_0x368d28[_0x3b092e(0x1c8)],'flags':_0x368d28[_0x3b092e(0x1ae)][_0x3b092e(0x1b7)](_0x9bf250=>({'name':_0x9bf250[_0x3b092e(0x1e0)],'cliName':_0x9bf250['cliName'],'type':_0x9bf250['type'],'required':_0x9bf250[_0x3b092e(0x1d7)]===!![]}))}))};}function summarizeLoadedManifest(_0x42b7da){const _0x4b0d9b=a33_0x1ca5b7;return{'service':_0x42b7da[_0x4b0d9b(0x1b0)]?.['service'],'version':_0x42b7da[_0x4b0d9b(0x1b0)]?.[_0x4b0d9b(0x1ca)],'commandCount':_0x42b7da['normalizedManifest']?.['commands'][_0x4b0d9b(0x1c3)]??0x0,'commands':_0x42b7da['normalizedManifest']?.[_0x4b0d9b(0x1af)][_0x4b0d9b(0x1b7)](_0x2a94c0=>({'path':_0x2a94c0['cliPath'],'risk':_0x2a94c0[_0x4b0d9b(0x1c2)],'target':_0x2a94c0[_0x4b0d9b(0x1c8)]}))??[],'registryIndex':_0x42b7da[_0x4b0d9b(0x1ab)],'registryServiceCode':_0x42b7da[_0x4b0d9b(0x1cb)],'errors':_0x42b7da[_0x4b0d9b(0x1d1)][_0x4b0d9b(0x1e3)],'warnings':_0x42b7da[_0x4b0d9b(0x1d1)][_0x4b0d9b(0x1aa)]};}export const serviceDefinitions=[{'service':'service','command':a33_0x1ca5b7(0x1d4),'description':a33_0x1ca5b7(0x1d9),'risk':a33_0x1ca5b7(0x1cf),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x2e109d){const _0x928ec1=a33_0x1ca5b7,_0x522c12=loadServiceManifestFromFile(_0x2e109d[_0x928ec1(0x1c5)](_0x928ec1(0x1d2)));if(!_0x522c12[_0x928ec1(0x1d1)]['ok'])return{'ok':![],'data':{'file':_0x522c12['filePath'],'hash':_0x522c12[_0x928ec1(0x1eb)],'kind':_0x522c12[_0x928ec1(0x1b2)],'serviceCount':_0x522c12['manifests'][_0x928ec1(0x1c3)],'services':_0x522c12['manifests']['map'](summarizeLoadedManifest),'errors':_0x522c12[_0x928ec1(0x1d1)][_0x928ec1(0x1e3)],'warnings':_0x522c12[_0x928ec1(0x1d1)]['warnings']},'message':formatValidationFailure(_0x522c12['report'])};if(_0x522c12['kind']===_0x928ec1(0x1b3)||_0x522c12[_0x928ec1(0x1d8)][_0x928ec1(0x1c3)]!==0x1)return{'ok':!![],'data':{'file':_0x522c12[_0x928ec1(0x1a6)],'hash':_0x522c12[_0x928ec1(0x1eb)],'kind':_0x522c12[_0x928ec1(0x1b2)],'serviceCount':_0x522c12[_0x928ec1(0x1d8)]['length'],'commandCount':_0x522c12[_0x928ec1(0x1d8)]['reduce']((_0x287ce6,_0x4d3846)=>_0x287ce6+(_0x4d3846[_0x928ec1(0x1b0)]?.[_0x928ec1(0x1af)]['length']??0x0),0x0),'services':_0x522c12[_0x928ec1(0x1d8)]['map'](summarizeLoadedManifest),'warnings':_0x522c12[_0x928ec1(0x1d1)]['warnings']},'message':_0x928ec1(0x1c1)};return{'ok':!![],'data':{'file':_0x522c12[_0x928ec1(0x1a6)],'hash':_0x522c12[_0x928ec1(0x1eb)],'kind':_0x522c12[_0x928ec1(0x1b2)],'service':_0x522c12[_0x928ec1(0x1b0)]?.[_0x928ec1(0x1b8)],'version':_0x522c12[_0x928ec1(0x1b0)]?.[_0x928ec1(0x1ca)],'commandCount':_0x522c12['normalizedManifest']?.['commands'][_0x928ec1(0x1c3)]??0x0,'commands':_0x522c12[_0x928ec1(0x1b0)]?.[_0x928ec1(0x1af)][_0x928ec1(0x1b7)](_0x540f06=>({'path':_0x540f06[_0x928ec1(0x1a7)],'risk':_0x540f06[_0x928ec1(0x1c2)],'target':_0x540f06[_0x928ec1(0x1c8)]})),'warnings':_0x522c12[_0x928ec1(0x1d1)][_0x928ec1(0x1aa)]},'message':_0x928ec1(0x1ce)};}},{'service':a33_0x1ca5b7(0x1b8),'command':a33_0x1ca5b7(0x1d6),'description':a33_0x1ca5b7(0x1c4),'risk':a33_0x1ca5b7(0x1b1),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x222db8){const _0x2db021=a33_0x1ca5b7,_0x3e1e8f=loadServiceManifestFromFile(_0x222db8['str'](_0x2db021(0x1d2)));return{'method':_0x2db021(0x1c6),'url':getServiceRegistryPath(),'body':{'file':_0x3e1e8f[_0x2db021(0x1a6)],'hash':_0x3e1e8f[_0x2db021(0x1eb)],'kind':_0x3e1e8f[_0x2db021(0x1b2)],'ok':_0x3e1e8f['report']['ok'],'service':_0x3e1e8f[_0x2db021(0x1b0)]?.[_0x2db021(0x1b8)],'version':_0x3e1e8f[_0x2db021(0x1b0)]?.['version'],'serviceCount':_0x3e1e8f[_0x2db021(0x1d8)][_0x2db021(0x1c3)],'services':_0x3e1e8f[_0x2db021(0x1d8)][_0x2db021(0x1b7)](_0x41b8e5=>({'service':_0x41b8e5[_0x2db021(0x1b0)]?.[_0x2db021(0x1b8)],'version':_0x41b8e5[_0x2db021(0x1b0)]?.[_0x2db021(0x1ca)],'commandCount':_0x41b8e5[_0x2db021(0x1b0)]?.[_0x2db021(0x1af)][_0x2db021(0x1c3)]??0x0,'errors':_0x41b8e5[_0x2db021(0x1d1)][_0x2db021(0x1e3)]})),'errors':_0x3e1e8f[_0x2db021(0x1d1)][_0x2db021(0x1e3)],'commandCount':_0x3e1e8f[_0x2db021(0x1b0)]?.['commands']['length']??0x0},'description':_0x2db021(0x1ac)};},async 'execute'(_0x588889){const _0x3b2387=a33_0x1ca5b7,_0x4010d7=importServiceManifest(_0x588889['str'](_0x3b2387(0x1d2)));if(_0x4010d7[_0x3b2387(0x1bb)][_0x3b2387(0x1c3)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x4010d7[_0x3b2387(0x1a8)],'imported':_0x4010d7[_0x3b2387(0x1cc)],'updated':_0x4010d7[_0x3b2387(0x1e2)],'serviceCount':_0x4010d7[_0x3b2387(0x1c9)],'services':_0x4010d7[_0x3b2387(0x1bb)]['map'](summarizeService)},'message':_0x3b2387(0x1d5)+_0x4010d7['imported']+_0x3b2387(0x1e5)+_0x4010d7[_0x3b2387(0x1e2)]+_0x3b2387(0x1b6)};return{'ok':!![],'data':{'registryPath':_0x4010d7[_0x3b2387(0x1a8)],'replaced':_0x4010d7[_0x3b2387(0x1e7)],'imported':_0x4010d7['imported'],'updated':_0x4010d7[_0x3b2387(0x1e2)],'serviceCount':_0x4010d7[_0x3b2387(0x1c9)],'service':summarizeService(_0x4010d7[_0x3b2387(0x1ba)])},'message':(_0x4010d7['replaced']?'Updated':_0x3b2387(0x1db))+_0x3b2387(0x1a9)+_0x4010d7[_0x3b2387(0x1ba)][_0x3b2387(0x1dd)]+'.'};}},{'service':a33_0x1ca5b7(0x1b8),'command':'export','description':'Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','risk':a33_0x1ca5b7(0x1b1),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x2762e1){const _0x14a421=a33_0x1ca5b7,_0x75a685=getLocalServiceEntry(_0x2762e1[_0x14a421(0x1c5)](_0x14a421(0x1b8)));return{'method':_0x14a421(0x1c6),'url':_0x2762e1[_0x14a421(0x1c5)]('file'),'body':{'service':_0x2762e1[_0x14a421(0x1c5)](_0x14a421(0x1b8)),'found':Boolean(_0x75a685),'version':_0x75a685?.[_0x14a421(0x1ca)],'source':_0x75a685?.[_0x14a421(0x1ee)]},'description':_0x14a421(0x1bd)};},async 'execute'(_0x40af25){const _0x18c7aa=a33_0x1ca5b7,_0x178a84=exportServiceManifest(_0x40af25['str'](_0x18c7aa(0x1b8)),_0x40af25[_0x18c7aa(0x1c5)](_0x18c7aa(0x1d2)));return{'ok':!![],'data':{'registryPath':_0x178a84[_0x18c7aa(0x1a8)],'file':_0x178a84['filePath'],'service':summarizeService(_0x178a84[_0x18c7aa(0x1ba)])},'message':_0x18c7aa(0x1dc)+_0x178a84['entry'][_0x18c7aa(0x1dd)]+'.'};}},{'service':a33_0x1ca5b7(0x1b8),'command':a33_0x1ca5b7(0x1e8),'description':'List\x20locally\x20imported\x20Service\x20Tree\x20manifests','risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x6f53be=a33_0x1ca5b7,_0x3b184e=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x3b184e[_0x6f53be(0x1c3)],'services':_0x3b184e['map'](summarizeService)}};}},{'service':a33_0x1ca5b7(0x1b8),'command':a33_0x1ca5b7(0x1ea),'description':a33_0x1ca5b7(0x1ad),'risk':a33_0x1ca5b7(0x1b1),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x3c417c){const _0x150098=a33_0x1ca5b7,_0x3dd5b2=getLocalServiceEntry(_0x3c417c[_0x150098(0x1c5)]('service'));return{'method':'WRITE','url':getServiceRegistryPath(),'body':{'service':_0x3c417c[_0x150098(0x1c5)](_0x150098(0x1b8)),'found':Boolean(_0x3dd5b2),'version':_0x3dd5b2?.[_0x150098(0x1ca)],'source':_0x3dd5b2?.['source']},'description':'Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0x31055c){const _0x4c1d1c=a33_0x1ca5b7,_0x8b96a5=removeServiceManifest(_0x31055c[_0x4c1d1c(0x1c5)](_0x4c1d1c(0x1b8)));return{'ok':!![],'data':{'registryPath':_0x8b96a5[_0x4c1d1c(0x1a8)],'serviceCount':_0x8b96a5[_0x4c1d1c(0x1c9)],'service':summarizeService(_0x8b96a5[_0x4c1d1c(0x1ba)])},'message':_0x4c1d1c(0x1e9)+_0x8b96a5[_0x4c1d1c(0x1ba)]['serviceCode']+'.'};}},{'service':a33_0x1ca5b7(0x1b8),'command':a33_0x1ca5b7(0x1da),'description':a33_0x1ca5b7(0x1e6),'risk':a33_0x1ca5b7(0x1cf),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x49b143){const _0x31cecd=a33_0x1ca5b7,_0x4c4deb=getLocalServiceEntry(_0x49b143[_0x31cecd(0x1c5)](_0x31cecd(0x1b8)));if(!_0x4c4deb)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x49b143[_0x31cecd(0x1c5)](_0x31cecd(0x1b8))},'message':_0x31cecd(0x1a5)+_0x49b143[_0x31cecd(0x1c5)](_0x31cecd(0x1b8))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x4c4deb),'manifest':_0x4c4deb['manifest'],'normalizedManifest':_0x4c4deb[_0x31cecd(0x1b0)]}};}}];
|
|
1
|
+
function a33_0x4bc4(){const _0x467f64=['2157610UKaVZh','77751mIsPJy','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','Imported\x20','Imported','risk','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','write','9376cztiPx','normalizedManifest','flags','filePath','report','file','entries','951168aNpBkF','reduce','entry','Updated','registryPath','Local\x20service\x20not\x20found:\x20','type','name','remove','target','str','Service\x20registry\x20validation\x20passed.','description','1347330XtNYsF','208Skanyw','commands','2162260SasTrs','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','imported','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','kind','replaced','string','map','81FrJbcM','manifest','import','service','registryServiceCode','cliName','5EZavMJ','registry','serviceCount','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','serviceCode','validate','source','version','\x20service\x20','warnings','length','errors','77548lkOAhi','Service\x20Tree\x20manifest\x20file\x20path','\x20service(s),\x20updated\x20','cliPath','read','importedAt','Service\x20manifest\x20validation\x20passed.','hash','WRITE','manifests','detail','\x20service(s).'];a33_0x4bc4=function(){return _0x467f64;};return a33_0x4bc4();}const a33_0xde9d31=a33_0x4ec1;(function(_0x46cc7b,_0x2e9cb0){const _0x50ce2d=a33_0x4ec1,_0x37cc47=_0x46cc7b();while(!![]){try{const _0x14e38b=-parseInt(_0x50ce2d(0xb6))/0x1*(-parseInt(_0x50ce2d(0x97))/0x2)+parseInt(_0x50ce2d(0x9e))/0x3+parseInt(_0x50ce2d(0x83))/0x4+-parseInt(_0x50ce2d(0x77))/0x5*(parseInt(_0x50ce2d(0xab))/0x6)+-parseInt(_0x50ce2d(0x8f))/0x7+parseInt(_0x50ce2d(0xac))/0x8*(parseInt(_0x50ce2d(0x90))/0x9)+-parseInt(_0x50ce2d(0xae))/0xa;if(_0x14e38b===_0x2e9cb0)break;else _0x37cc47['push'](_0x37cc47['shift']());}catch(_0x98520d){_0x37cc47['push'](_0x37cc47['shift']());}}}(a33_0x4bc4,0x2ed1e));function a33_0x4ec1(_0x2c6acd,_0x4fb48e){_0x2c6acd=_0x2c6acd-0x75;const _0x4bc4a1=a33_0x4bc4();let _0x4ec185=_0x4bc4a1[_0x2c6acd];return _0x4ec185;}import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';const FILE_FLAG={'name':a33_0xde9d31(0x9c),'type':a33_0xde9d31(0xb4),'required':!![],'description':a33_0xde9d31(0x84)},SERVICE_FLAG={'name':a33_0xde9d31(0xb9),'type':a33_0xde9d31(0xb4),'required':!![],'description':'Local\x20service\x20code,\x20for\x20example\x20crm','pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':'lower\x20kebab-case\x20service\x20code'}};function summarizeService(_0x2b2b87){const _0x51db4e=a33_0xde9d31;return{'serviceCode':_0x2b2b87[_0x51db4e(0x7b)],'name':_0x2b2b87[_0x51db4e(0x98)][_0x51db4e(0xb9)][_0x51db4e(0xa5)],'version':_0x2b2b87[_0x51db4e(0x7e)],'importedAt':_0x2b2b87[_0x51db4e(0x88)],'source':_0x2b2b87[_0x51db4e(0x7d)],'commandCount':_0x2b2b87[_0x51db4e(0x98)][_0x51db4e(0xad)][_0x51db4e(0x81)],'commands':_0x2b2b87[_0x51db4e(0x98)][_0x51db4e(0xad)][_0x51db4e(0xb5)](_0x239378=>({'path':_0x239378[_0x51db4e(0x86)],'description':_0x239378[_0x51db4e(0xaa)],'risk':_0x239378[_0x51db4e(0x94)],'target':_0x239378[_0x51db4e(0xa7)],'flags':_0x239378[_0x51db4e(0x99)][_0x51db4e(0xb5)](_0x81ffa1=>({'name':_0x81ffa1[_0x51db4e(0xa5)],'cliName':_0x81ffa1[_0x51db4e(0x76)],'type':_0x81ffa1[_0x51db4e(0xa4)],'required':_0x81ffa1['required']===!![]}))}))};}function summarizeLoadedManifest(_0x507c69){const _0x3e488c=a33_0xde9d31;return{'service':_0x507c69[_0x3e488c(0x98)]?.[_0x3e488c(0xb9)],'version':_0x507c69[_0x3e488c(0x98)]?.[_0x3e488c(0x7e)],'commandCount':_0x507c69[_0x3e488c(0x98)]?.['commands']['length']??0x0,'commands':_0x507c69[_0x3e488c(0x98)]?.['commands'][_0x3e488c(0xb5)](_0x1b625e=>({'path':_0x1b625e[_0x3e488c(0x86)],'risk':_0x1b625e[_0x3e488c(0x94)],'target':_0x1b625e[_0x3e488c(0xa7)]}))??[],'registryIndex':_0x507c69['registryIndex'],'registryServiceCode':_0x507c69[_0x3e488c(0x75)],'errors':_0x507c69[_0x3e488c(0x9b)][_0x3e488c(0x82)],'warnings':_0x507c69[_0x3e488c(0x9b)]['warnings']};}export const serviceDefinitions=[{'service':a33_0xde9d31(0xb9),'command':a33_0xde9d31(0x7c),'description':a33_0xde9d31(0x91),'risk':a33_0xde9d31(0x87),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x297539){const _0x204a78=a33_0xde9d31,_0x3519e6=loadServiceManifestFromFile(_0x297539[_0x204a78(0xa8)](_0x204a78(0x9c)));if(!_0x3519e6[_0x204a78(0x9b)]['ok'])return{'ok':![],'data':{'file':_0x3519e6['filePath'],'hash':_0x3519e6[_0x204a78(0x8a)],'kind':_0x3519e6['kind'],'serviceCount':_0x3519e6['manifests'][_0x204a78(0x81)],'services':_0x3519e6['manifests'][_0x204a78(0xb5)](summarizeLoadedManifest),'errors':_0x3519e6[_0x204a78(0x9b)][_0x204a78(0x82)],'warnings':_0x3519e6['report']['warnings']},'message':formatValidationFailure(_0x3519e6[_0x204a78(0x9b)])};if(_0x3519e6[_0x204a78(0xb2)]===_0x204a78(0x78)||_0x3519e6[_0x204a78(0x8c)][_0x204a78(0x81)]!==0x1)return{'ok':!![],'data':{'file':_0x3519e6[_0x204a78(0x9a)],'hash':_0x3519e6[_0x204a78(0x8a)],'kind':_0x3519e6[_0x204a78(0xb2)],'serviceCount':_0x3519e6[_0x204a78(0x8c)][_0x204a78(0x81)],'commandCount':_0x3519e6[_0x204a78(0x8c)][_0x204a78(0x9f)]((_0x3797da,_0x40b2ad)=>_0x3797da+(_0x40b2ad['normalizedManifest']?.[_0x204a78(0xad)][_0x204a78(0x81)]??0x0),0x0),'services':_0x3519e6[_0x204a78(0x8c)][_0x204a78(0xb5)](summarizeLoadedManifest),'warnings':_0x3519e6[_0x204a78(0x9b)]['warnings']},'message':_0x204a78(0xa9)};return{'ok':!![],'data':{'file':_0x3519e6[_0x204a78(0x9a)],'hash':_0x3519e6[_0x204a78(0x8a)],'kind':_0x3519e6['kind'],'service':_0x3519e6[_0x204a78(0x98)]?.[_0x204a78(0xb9)],'version':_0x3519e6[_0x204a78(0x98)]?.[_0x204a78(0x7e)],'commandCount':_0x3519e6['normalizedManifest']?.[_0x204a78(0xad)][_0x204a78(0x81)]??0x0,'commands':_0x3519e6[_0x204a78(0x98)]?.[_0x204a78(0xad)]['map'](_0x36be0c=>({'path':_0x36be0c[_0x204a78(0x86)],'risk':_0x36be0c[_0x204a78(0x94)],'target':_0x36be0c[_0x204a78(0xa7)]})),'warnings':_0x3519e6[_0x204a78(0x9b)][_0x204a78(0x80)]},'message':_0x204a78(0x89)};}},{'service':a33_0xde9d31(0xb9),'command':a33_0xde9d31(0xb8),'description':'Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','risk':a33_0xde9d31(0x96),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x98bab8){const _0xc70567=a33_0xde9d31,_0x383a13=loadServiceManifestFromFile(_0x98bab8[_0xc70567(0xa8)](_0xc70567(0x9c)));return{'method':_0xc70567(0x8b),'url':getServiceRegistryPath(),'body':{'file':_0x383a13[_0xc70567(0x9a)],'hash':_0x383a13[_0xc70567(0x8a)],'kind':_0x383a13[_0xc70567(0xb2)],'ok':_0x383a13[_0xc70567(0x9b)]['ok'],'service':_0x383a13['normalizedManifest']?.['service'],'version':_0x383a13[_0xc70567(0x98)]?.['version'],'serviceCount':_0x383a13[_0xc70567(0x8c)][_0xc70567(0x81)],'services':_0x383a13[_0xc70567(0x8c)]['map'](_0x60eba4=>({'service':_0x60eba4[_0xc70567(0x98)]?.['service'],'version':_0x60eba4[_0xc70567(0x98)]?.[_0xc70567(0x7e)],'commandCount':_0x60eba4[_0xc70567(0x98)]?.[_0xc70567(0xad)]['length']??0x0,'errors':_0x60eba4['report'][_0xc70567(0x82)]})),'errors':_0x383a13[_0xc70567(0x9b)]['errors'],'commandCount':_0x383a13[_0xc70567(0x98)]?.[_0xc70567(0xad)]['length']??0x0},'description':_0xc70567(0xb1)};},async 'execute'(_0x53d587){const _0x2e6df8=a33_0xde9d31,_0x3a5e70=importServiceManifest(_0x53d587['str']('file'));if(_0x3a5e70[_0x2e6df8(0x9d)]['length']!==0x1)return{'ok':!![],'data':{'registryPath':_0x3a5e70['registryPath'],'imported':_0x3a5e70[_0x2e6df8(0xb0)],'updated':_0x3a5e70['updated'],'serviceCount':_0x3a5e70[_0x2e6df8(0x79)],'services':_0x3a5e70[_0x2e6df8(0x9d)]['map'](summarizeService)},'message':_0x2e6df8(0x92)+_0x3a5e70['imported']+_0x2e6df8(0x85)+_0x3a5e70['updated']+_0x2e6df8(0x8e)};return{'ok':!![],'data':{'registryPath':_0x3a5e70[_0x2e6df8(0xa2)],'replaced':_0x3a5e70[_0x2e6df8(0xb3)],'imported':_0x3a5e70[_0x2e6df8(0xb0)],'updated':_0x3a5e70['updated'],'serviceCount':_0x3a5e70['serviceCount'],'service':summarizeService(_0x3a5e70[_0x2e6df8(0xa0)])},'message':(_0x3a5e70['replaced']?_0x2e6df8(0xa1):_0x2e6df8(0x93))+_0x2e6df8(0x7f)+_0x3a5e70[_0x2e6df8(0xa0)][_0x2e6df8(0x7b)]+'.'};}},{'service':'service','command':'export','description':'Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','risk':a33_0xde9d31(0x96),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x503ae9){const _0x476a55=a33_0xde9d31,_0x5d013f=getLocalServiceEntry(_0x503ae9[_0x476a55(0xa8)]('service'));return{'method':_0x476a55(0x8b),'url':_0x503ae9[_0x476a55(0xa8)](_0x476a55(0x9c)),'body':{'service':_0x503ae9[_0x476a55(0xa8)](_0x476a55(0xb9)),'found':Boolean(_0x5d013f),'version':_0x5d013f?.[_0x476a55(0x7e)],'source':_0x5d013f?.['source']},'description':'Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0x104c04){const _0x277616=a33_0xde9d31,_0x35c485=exportServiceManifest(_0x104c04[_0x277616(0xa8)](_0x277616(0xb9)),_0x104c04[_0x277616(0xa8)](_0x277616(0x9c)));return{'ok':!![],'data':{'registryPath':_0x35c485[_0x277616(0xa2)],'file':_0x35c485['filePath'],'service':summarizeService(_0x35c485[_0x277616(0xa0)])},'message':'Exported\x20service\x20'+_0x35c485[_0x277616(0xa0)][_0x277616(0x7b)]+'.'};}},{'service':a33_0xde9d31(0xb9),'command':'list','description':a33_0xde9d31(0x7a),'risk':a33_0xde9d31(0x87),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x51f874=a33_0xde9d31,_0x3a81f9=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x3a81f9[_0x51f874(0x81)],'services':_0x3a81f9[_0x51f874(0xb5)](summarizeService)}};}},{'service':a33_0xde9d31(0xb9),'command':a33_0xde9d31(0xa6),'description':'Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x12e6fb){const _0x2c0454=a33_0xde9d31,_0x81650a=getLocalServiceEntry(_0x12e6fb[_0x2c0454(0xa8)](_0x2c0454(0xb9)));return{'method':'WRITE','url':getServiceRegistryPath(),'body':{'service':_0x12e6fb[_0x2c0454(0xa8)](_0x2c0454(0xb9)),'found':Boolean(_0x81650a),'version':_0x81650a?.[_0x2c0454(0x7e)],'source':_0x81650a?.['source']},'description':_0x2c0454(0x95)};},async 'execute'(_0x52be07){const _0x509f86=a33_0xde9d31,_0x12e5bc=removeServiceManifest(_0x52be07[_0x509f86(0xa8)](_0x509f86(0xb9)));return{'ok':!![],'data':{'registryPath':_0x12e5bc[_0x509f86(0xa2)],'serviceCount':_0x12e5bc[_0x509f86(0x79)],'service':summarizeService(_0x12e5bc['entry'])},'message':'Removed\x20service\x20'+_0x12e5bc[_0x509f86(0xa0)][_0x509f86(0x7b)]+'.'};}},{'service':a33_0xde9d31(0xb9),'command':a33_0xde9d31(0x8d),'description':a33_0xde9d31(0xaf),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x4d7912){const _0x323ae1=a33_0xde9d31,_0xc77abe=getLocalServiceEntry(_0x4d7912['str'](_0x323ae1(0xb9)));if(!_0xc77abe)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x4d7912[_0x323ae1(0xa8)]('service')},'message':_0x323ae1(0xa3)+_0x4d7912[_0x323ae1(0xa8)](_0x323ae1(0xb9))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0xc77abe),'manifest':_0xc77abe[_0x323ae1(0xb7)],'normalizedManifest':_0xc77abe['normalizedManifest']}};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a34_0x3c100c=a34_0x4d42;function a34_0x4d42(_0x18a5c4,_0x2df035){_0x18a5c4=_0x18a5c4-0x14e;const _0x4e0f2f=a34_0x4e0f();let _0x4d42e0=_0x4e0f2f[_0x18a5c4];return _0x4d42e0;}(function(_0x2dd148,_0xb67197){const _0x2d49da=a34_0x4d42,_0x77e519=_0x2dd148();while(!![]){try{const _0x1c1a02=parseInt(_0x2d49da(0x18e))/0x1+-parseInt(_0x2d49da(0x194))/0x2+parseInt(_0x2d49da(0x153))/0x3+-parseInt(_0x2d49da(0x180))/0x4*(-parseInt(_0x2d49da(0x15f))/0x5)+parseInt(_0x2d49da(0x160))/0x6*(-parseInt(_0x2d49da(0x150))/0x7)+-parseInt(_0x2d49da(0x169))/0x8*(-parseInt(_0x2d49da(0x154))/0x9)+parseInt(_0x2d49da(0x177))/0xa*(-parseInt(_0x2d49da(0x164))/0xb);if(_0x1c1a02===_0xb67197)break;else _0x77e519['push'](_0x77e519['shift']());}catch(_0x53e99a){_0x77e519['push'](_0x77e519['shift']());}}}(a34_0x4e0f,0xbcd26));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=a34_0x3c100c(0x178);export function getServiceRegistryPath(_0x4c1ed6={}){const _0x50ee9c=a34_0x3c100c;return resolve(_0x4c1ed6[_0x50ee9c(0x19b)]??homedir(),PRODUCT_CONFIG[_0x50ee9c(0x17c)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x422474={}){const _0x3e173d=a34_0x3c100c,_0x4e1164=getServiceRegistryPath(_0x422474);if(!existsSync(_0x4e1164))return emptyServiceRegistry();try{const _0x55dead=readFileSync(_0x4e1164,'utf8');if(!_0x55dead['trim']())return emptyServiceRegistry();const _0x495aed=JSON['parse'](_0x55dead);if(_0x495aed['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x3e173d(0x157)]('Unsupported\x20service\x20registry\x20schemaVersion:\x20'+String(_0x495aed['schemaVersion']),_0x3e173d(0x167)+_0x4e1164+'.');if(!Array[_0x3e173d(0x187)](_0x495aed[_0x3e173d(0x189)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x495aed[_0x3e173d(0x184)],'services':_0x495aed[_0x3e173d(0x189)]};}catch(_0x1718e4){if(_0x1718e4 instanceof Error&&_0x1718e4[_0x3e173d(0x19d)]==='CliError')throw _0x1718e4;throw CliErrors[_0x3e173d(0x157)](_0x3e173d(0x15b)+_0x4e1164,_0x3e173d(0x14f));}}export function writeServiceRegistry(_0x29a333,_0x2f5e70={}){const _0x2d37d4=a34_0x3c100c,_0x370f7e=getServiceRegistryPath(_0x2f5e70),_0x7c6172=dirname(_0x370f7e);!existsSync(_0x7c6172)&&mkdirSync(_0x7c6172,{'recursive':!![]});const _0x586e3e=_0x370f7e+_0x2d37d4(0x159);try{writeFileSync(_0x586e3e,JSON[_0x2d37d4(0x188)](_0x29a333,null,0x2)+'\x0a',{'encoding':_0x2d37d4(0x166),'mode':0x180}),renameSync(_0x586e3e,_0x370f7e);}catch(_0x1d8c06){try{unlinkSync(_0x586e3e);}catch{}if(_0x1d8c06?.['code']===_0x2d37d4(0x19f))throw CliErrors[_0x2d37d4(0x157)](_0x2d37d4(0x17d)+_0x370f7e);throw _0x1d8c06;}return _0x370f7e;}export function loadServiceManifestFromFile(_0x563721){const _0x58941c=a34_0x3c100c,_0x8023f5=resolve(_0x563721);if(!existsSync(_0x8023f5))throw CliErrors[_0x58941c(0x157)]('Service\x20manifest\x20file\x20not\x20found:\x20'+_0x563721);let _0xdb337e;const _0x371987=readFileSync(_0x8023f5,_0x58941c(0x166));try{_0xdb337e=JSON[_0x58941c(0x197)](_0x371987);}catch{throw CliErrors['validation'](_0x58941c(0x18b)+_0x563721,'Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.');}const _0x56140=sha256(_0x371987),_0x27881b=extractLoadedServiceManifests(_0xdb337e,_0x56140),_0x2df204=aggregateValidationReports(_0x27881b),_0x462980=_0x27881b[0x0];return{'filePath':_0x8023f5,'hash':_0x56140,'kind':isServiceRegistryLike(_0xdb337e)?_0x58941c(0x162):_0x58941c(0x16d),'manifest':_0x462980?.['manifest']??_0xdb337e,'report':_0x2df204,'normalizedManifest':_0x27881b['length']===0x1?_0x462980?.[_0x58941c(0x172)]:undefined,'manifests':_0x27881b};}export function importServiceManifest(_0x53fbe7,_0xbb912f={}){const _0x10558a=a34_0x3c100c,_0x1fd177=loadServiceManifestFromFile(_0x53fbe7);if(!_0x1fd177['report']['ok'])throw CliErrors['validation'](formatValidationFailure(_0x1fd177['report']),_0x10558a(0x185));if(_0x1fd177[_0x10558a(0x19c)][_0x10558a(0x19a)]===0x0)throw CliErrors[_0x10558a(0x157)](_0x10558a(0x16e),_0x10558a(0x192));const _0x48e338=readServiceRegistry(_0xbb912f),_0x53f786=(_0xbb912f[_0x10558a(0x156)]??(()=>new Date()))()[_0x10558a(0x175)](),_0x28d4e7=[];let _0x3413ef=0x0,_0x28b442=0x0;for(const _0x3f79b9 of _0x1fd177['manifests']){if(!_0x3f79b9['normalizedManifest'])continue;const _0x41931c=_0x3f79b9[_0x10558a(0x172)]['service'][_0x10558a(0x18a)],_0x38e80c={'serviceCode':_0x41931c,'version':_0x3f79b9[_0x10558a(0x172)]['version'],'importedAt':_0x53f786,'source':{'type':_0x10558a(0x152),'path':_0x1fd177['filePath'],'hash':_0x3f79b9[_0x10558a(0x199)]},'manifest':_0x3f79b9['manifest'],'normalizedManifest':_0x3f79b9['normalizedManifest']},_0x49f5be=_0x48e338[_0x10558a(0x189)][_0x10558a(0x179)](_0x50c102=>_0x50c102[_0x10558a(0x17a)]===_0x41931c);_0x49f5be>=0x0?(_0x48e338['services'][_0x49f5be]=_0x38e80c,_0x28b442++):(_0x48e338[_0x10558a(0x189)][_0x10558a(0x168)](_0x38e80c),_0x3413ef++),_0x28d4e7[_0x10558a(0x168)](_0x38e80c);}_0x48e338[_0x10558a(0x189)][_0x10558a(0x165)]((_0x483d68,_0xec3069)=>_0x483d68[_0x10558a(0x17a)][_0x10558a(0x176)](_0xec3069[_0x10558a(0x17a)])),_0x48e338[_0x10558a(0x184)]=_0x53f786;const _0x13fe8a=writeServiceRegistry(_0x48e338,_0xbb912f);return{'registryPath':_0x13fe8a,'entry':_0x28d4e7[0x0],'replaced':_0x28d4e7[_0x10558a(0x19a)]===0x1?_0x28b442===0x1:_0x28b442>0x0,'entries':_0x28d4e7,'imported':_0x3413ef,'updated':_0x28b442,'serviceCount':_0x48e338[_0x10558a(0x189)][_0x10558a(0x19a)]};}export function exportServiceManifest(_0x17787e,_0x4be1ea,_0xdca375={}){const _0x39d331=a34_0x3c100c,_0x45957b=getServiceRegistryPath(_0xdca375),_0x2029e7=getLocalServiceEntry(_0x17787e,_0xdca375);if(!_0x2029e7)throw CliErrors['validation'](_0x39d331(0x1a1)+_0x17787e,_0x39d331(0x198));const _0x15899f=resolve(_0x4be1ea),_0x2858de=dirname(_0x15899f);return!existsSync(_0x2858de)&&mkdirSync(_0x2858de,{'recursive':!![]}),writeFileSync(_0x15899f,JSON[_0x39d331(0x188)](_0x2029e7['manifest'],null,0x2)+'\x0a',{'encoding':'utf8','mode':0x180}),{'registryPath':_0x45957b,'filePath':_0x15899f,'entry':_0x2029e7};}function a34_0x4e0f(){const _0x482206=['Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','14nKCXRd','].manifest.','file','3402462shCtJb','333XyUcfx','object','now','validation','Unsupported\x20schemaVersion:\x20','.tmp','schemaVersion','Invalid\x20service\x20registry\x20JSON:\x20','].manifest','flatMap','command','9305asOmej','1378068VwMtZo','report','registry','commands','3795132kaLLDF','sort','utf8','Remove\x20or\x20migrate\x20','push','325784gsjWIx','reduce','invalid','cliPath','manifest','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','errors','path','commandCount','normalizedManifest','$.services[','kind','toISOString','localeCompare','60cwLLaX','service.json','findIndex','serviceCode','trim','homeDirName','Cannot\x20write\x20service\x20registry:\x20','missing','warnings','2588HiyIGD','description','startsWith','map','updatedAt','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','splice','isArray','stringify','services','code','Invalid\x20service\x20manifest\x20JSON:\x20','version','message','403764aaBkDZ','risk','target','find','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','registryIndex','1891788kSToJV','empty','service','parse','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','sourceHash','length','homeDir','manifests','name','update','ENOENT','source','Local\x20service\x20not\x20found:\x20','sha256','hex'];a34_0x4e0f=function(){return _0x482206;};return a34_0x4e0f();}export function removeServiceManifest(_0x22f7cb,_0x35b1f0={}){const _0x46e08e=a34_0x3c100c,_0x4d777e=readServiceRegistry(_0x35b1f0),_0x2c6b1a=_0x22f7cb[_0x46e08e(0x17b)](),_0x3c8c42=_0x4d777e[_0x46e08e(0x189)][_0x46e08e(0x179)](_0x1f58f8=>_0x1f58f8[_0x46e08e(0x17a)]===_0x2c6b1a);if(_0x3c8c42<0x0)throw CliErrors['validation'](_0x46e08e(0x1a1)+_0x2c6b1a,_0x46e08e(0x198));const [_0xb59001]=_0x4d777e['services'][_0x46e08e(0x186)](_0x3c8c42,0x1),_0x3bf676=(_0x35b1f0[_0x46e08e(0x156)]??(()=>new Date()))()[_0x46e08e(0x175)]();_0x4d777e[_0x46e08e(0x184)]=_0x3bf676;const _0xfa6da1=writeServiceRegistry(_0x4d777e,_0x35b1f0);return{'registryPath':_0xfa6da1,'entry':_0xb59001,'serviceCount':_0x4d777e[_0x46e08e(0x189)][_0x46e08e(0x19a)]};}export function listLocalServices(_0x479d8e={}){const _0x2f3373=a34_0x3c100c;return readServiceRegistry(_0x479d8e)[_0x2f3373(0x189)];}export function getLocalServiceEntry(_0x133b52,_0xeaccf4={}){const _0x4b0a0f=a34_0x3c100c;return readServiceRegistry(_0xeaccf4)['services'][_0x4b0a0f(0x191)](_0x5217cd=>_0x5217cd[_0x4b0a0f(0x17a)]===_0x133b52[_0x4b0a0f(0x17b)]());}export function listLocalServiceTrees(_0x136785={}){const _0x38c308=a34_0x3c100c;return readServiceRegistry(_0x136785)[_0x38c308(0x189)]['map'](_0x133d3d=>_0x133d3d[_0x38c308(0x172)]);}export function inspectServiceRegistry(_0x128598={}){const _0xd3eeed=a34_0x3c100c,_0x4b4766=getServiceRegistryPath(_0x128598);if(!existsSync(_0x4b4766))return emptyServiceRegistryInspection(_0x4b4766,_0xd3eeed(0x17e),![]);try{const _0x1a04ed=readFileSync(_0x4b4766,_0xd3eeed(0x166));if(!_0x1a04ed[_0xd3eeed(0x17b)]())return emptyServiceRegistryInspection(_0x4b4766,_0xd3eeed(0x195),!![]);const _0xb62767=JSON['parse'](_0x1a04ed);if(_0xb62767[_0xd3eeed(0x15a)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x4b4766,_0xd3eeed(0x16b),!![]),'schemaVersion':_0xb62767[_0xd3eeed(0x15a)],'message':_0xd3eeed(0x158)+String(_0xb62767['schemaVersion'])};if(!Array[_0xd3eeed(0x187)](_0xb62767[_0xd3eeed(0x189)]))return{...emptyServiceRegistryInspection(_0x4b4766,_0xd3eeed(0x16b),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0xb62767[_0xd3eeed(0x184)],'message':'services\x20must\x20be\x20an\x20array'};const _0x48a071=_0xb62767[_0xd3eeed(0x189)][_0xd3eeed(0x183)](summarizeLocalServiceEntry);return{'registryPath':_0x4b4766,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0xb62767[_0xd3eeed(0x184)],'serviceCount':_0x48a071[_0xd3eeed(0x19a)],'commandCount':_0x48a071[_0xd3eeed(0x16a)]((_0x188b44,_0x10b83c)=>_0x188b44+_0x10b83c[_0xd3eeed(0x171)],0x0),'services':_0x48a071};}catch(_0x24a313){return{...emptyServiceRegistryInspection(_0x4b4766,_0xd3eeed(0x16b),!![]),'message':_0x24a313 instanceof Error?_0x24a313[_0xd3eeed(0x18d)]:String(_0x24a313)};}}export function formatValidationFailure(_0x243d56){const _0x3d43d1=a34_0x3c100c,_0x22d070=_0x243d56[_0x3d43d1(0x16f)]['map'](_0x28fc91=>_0x28fc91[_0x3d43d1(0x170)]+':\x20'+_0x28fc91[_0x3d43d1(0x18d)]);return'Service\x20manifest\x20validation\x20failed:\x0a'+_0x22d070['join']('\x0a');}function extractLoadedServiceManifests(_0x4f8a1e,_0x3cc1be){const _0x3388ac=a34_0x3c100c;if(!isServiceRegistryLike(_0x4f8a1e)){const _0x3b5ba2=_0x4f8a1e,_0x25620f=validateServiceTreeManifest(_0x3b5ba2);return[{'manifest':_0x3b5ba2,'report':_0x25620f,'normalizedManifest':_0x25620f['ok']?normalizeServiceTreeManifest(_0x3b5ba2):undefined,'sourceHash':_0x3cc1be}];}return _0x4f8a1e[_0x3388ac(0x189)][_0x3388ac(0x183)]((_0x58cb79,_0x5ec076)=>{const _0x55b91e=_0x3388ac,_0x92ad4b=isObjectRecord(_0x58cb79)?_0x58cb79[_0x55b91e(0x16d)]:undefined,_0x28f3de=validateServiceTreeManifest(_0x92ad4b),_0x40acf1=isObjectRecord(_0x58cb79)&&typeof _0x58cb79[_0x55b91e(0x17a)]==='string'?_0x58cb79['serviceCode']:undefined;return{'manifest':_0x92ad4b,'report':_0x28f3de,'normalizedManifest':_0x28f3de['ok']?normalizeServiceTreeManifest(_0x92ad4b):undefined,'sourceHash':sha256(JSON['stringify'](_0x92ad4b,null,0x2)+'\x0a'),'registryIndex':_0x5ec076,'registryServiceCode':_0x40acf1};});}function aggregateValidationReports(_0x59c6e5){const _0x2e1447=a34_0x3c100c,_0x3db8d9=_0x59c6e5[_0x2e1447(0x15d)](_0x29f071=>_0x29f071[_0x2e1447(0x193)]===undefined?_0x29f071[_0x2e1447(0x161)][_0x2e1447(0x16f)]:_0x29f071['report'][_0x2e1447(0x16f)][_0x2e1447(0x183)](_0x1ea8ff=>({..._0x1ea8ff,'path':prefixRegistryIssuePath(_0x29f071['registryIndex'],_0x1ea8ff[_0x2e1447(0x170)])}))),_0x3e60b4=_0x59c6e5[_0x2e1447(0x15d)](_0x20de5c=>_0x20de5c[_0x2e1447(0x193)]===undefined?_0x20de5c[_0x2e1447(0x161)]['warnings']:_0x20de5c[_0x2e1447(0x161)][_0x2e1447(0x17f)]['map'](_0x1f52c8=>({..._0x1f52c8,'path':prefixRegistryIssuePath(_0x20de5c['registryIndex'],_0x1f52c8['path'])})));return{'ok':_0x3db8d9['length']===0x0,'errors':_0x3db8d9,'warnings':_0x3e60b4};}function prefixRegistryIssuePath(_0x471ef3,_0x2a037b){const _0x39d0f9=a34_0x3c100c;if(_0x2a037b==='$')return'$.services['+_0x471ef3+'].manifest';if(_0x2a037b[_0x39d0f9(0x182)]('$.'))return _0x39d0f9(0x173)+_0x471ef3+_0x39d0f9(0x15c)+_0x2a037b['slice'](0x1);if(_0x2a037b[_0x39d0f9(0x182)]('$['))return _0x39d0f9(0x173)+_0x471ef3+_0x39d0f9(0x15c)+_0x2a037b['slice'](0x1);return _0x39d0f9(0x173)+_0x471ef3+_0x39d0f9(0x151)+_0x2a037b;}function isServiceRegistryLike(_0x430196){const _0x576710=a34_0x3c100c;return isObjectRecord(_0x430196)&&_0x430196[_0x576710(0x15a)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array['isArray'](_0x430196['services']);}function isObjectRecord(_0x5623f4){const _0x29aa77=a34_0x3c100c;return Boolean(_0x5623f4)&&typeof _0x5623f4===_0x29aa77(0x155)&&!Array[_0x29aa77(0x187)](_0x5623f4);}function emptyServiceRegistryInspection(_0x3dfa07,_0xc654a9,_0xea261c){return{'registryPath':_0x3dfa07,'exists':_0xea261c,'status':_0xc654a9,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x252fe7){const _0x39da98=a34_0x3c100c,_0x5e0e41=_0x252fe7[_0x39da98(0x172)],_0x13ef66=_0x5e0e41[_0x39da98(0x163)][_0x39da98(0x183)](_0x45f061=>({'path':_0x45f061[_0x39da98(0x16c)],'description':_0x45f061[_0x39da98(0x181)],'risk':_0x45f061[_0x39da98(0x18f)],'targetKind':_0x45f061[_0x39da98(0x190)][_0x39da98(0x174)],'targetCommand':_0x45f061[_0x39da98(0x190)][_0x39da98(0x15e)]}));return{'serviceCode':_0x252fe7[_0x39da98(0x17a)],'name':_0x5e0e41[_0x39da98(0x196)][_0x39da98(0x19d)],'description':_0x5e0e41[_0x39da98(0x196)][_0x39da98(0x181)],'version':_0x252fe7[_0x39da98(0x18c)],'importedAt':_0x252fe7['importedAt'],'source':_0x252fe7[_0x39da98(0x1a0)],'commandCount':_0x13ef66[_0x39da98(0x19a)],'commands':_0x13ef66};}function sha256(_0x4623b6){const _0x5828a2=a34_0x3c100c;return createHash(_0x5828a2(0x1a2))[_0x5828a2(0x19e)](_0x4623b6)['digest'](_0x5828a2(0x14e));}
|
|
1
|
+
const a34_0x573291=a34_0x2f6e;(function(_0x11592c,_0x1fee6b){const _0x195dd1=a34_0x2f6e,_0x34c0d2=_0x11592c();while(!![]){try{const _0x385edb=-parseInt(_0x195dd1(0x1fb))/0x1+-parseInt(_0x195dd1(0x204))/0x2*(-parseInt(_0x195dd1(0x210))/0x3)+-parseInt(_0x195dd1(0x1f7))/0x4*(parseInt(_0x195dd1(0x201))/0x5)+-parseInt(_0x195dd1(0x1da))/0x6+-parseInt(_0x195dd1(0x1df))/0x7+-parseInt(_0x195dd1(0x1c5))/0x8+parseInt(_0x195dd1(0x1ca))/0x9*(parseInt(_0x195dd1(0x1c9))/0xa);if(_0x385edb===_0x1fee6b)break;else _0x34c0d2['push'](_0x34c0d2['shift']());}catch(_0x1d40fc){_0x34c0d2['push'](_0x34c0d2['shift']());}}}(a34_0x447b,0x5801d));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;function a34_0x2f6e(_0x1fcec6,_0x917cc8){_0x1fcec6=_0x1fcec6-0x1c4;const _0x447b82=a34_0x447b();let _0x2f6e23=_0x447b82[_0x1fcec6];return _0x2f6e23;}export const SERVICE_REGISTRY_FILE_NAME=a34_0x573291(0x20e);export function getServiceRegistryPath(_0x3a572a={}){const _0x363aae=a34_0x573291;return resolve(_0x3a572a['homeDir']??homedir(),PRODUCT_CONFIG[_0x363aae(0x1d1)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x5278d1={}){const _0x4e721c=a34_0x573291,_0x4d9e3a=getServiceRegistryPath(_0x5278d1);if(!existsSync(_0x4d9e3a))return emptyServiceRegistry();try{const _0x162a3d=readFileSync(_0x4d9e3a,_0x4e721c(0x1d0));if(!_0x162a3d['trim']())return emptyServiceRegistry();const _0x3b74d8=JSON['parse'](_0x162a3d);if(_0x3b74d8[_0x4e721c(0x1d6)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x4e721c(0x1e8)](_0x4e721c(0x1e6)+String(_0x3b74d8[_0x4e721c(0x1d6)]),_0x4e721c(0x1ef)+_0x4d9e3a+'.');if(!Array[_0x4e721c(0x219)](_0x3b74d8['services']))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x3b74d8[_0x4e721c(0x1f1)],'services':_0x3b74d8[_0x4e721c(0x1fe)]};}catch(_0x1f53b7){if(_0x1f53b7 instanceof Error&&_0x1f53b7[_0x4e721c(0x1cc)]===_0x4e721c(0x209))throw _0x1f53b7;throw CliErrors['validation'](_0x4e721c(0x202)+_0x4d9e3a,'Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.');}}export function writeServiceRegistry(_0xa7a9c6,_0x5f2794={}){const _0x50c590=a34_0x573291,_0x58c6b9=getServiceRegistryPath(_0x5f2794),_0x4a9b47=dirname(_0x58c6b9);!existsSync(_0x4a9b47)&&mkdirSync(_0x4a9b47,{'recursive':!![]});const _0x158248=_0x58c6b9+_0x50c590(0x212);try{writeFileSync(_0x158248,JSON[_0x50c590(0x20d)](_0xa7a9c6,null,0x2)+'\x0a',{'encoding':_0x50c590(0x1d0),'mode':0x180}),renameSync(_0x158248,_0x58c6b9);}catch(_0x5a4e1d){try{unlinkSync(_0x158248);}catch{}if(_0x5a4e1d?.[_0x50c590(0x1ec)]===_0x50c590(0x1e9))throw CliErrors[_0x50c590(0x1e8)](_0x50c590(0x1ed)+_0x58c6b9);throw _0x5a4e1d;}return _0x58c6b9;}export function loadServiceManifestFromFile(_0xdf0cd3){const _0x5d6b64=a34_0x573291,_0x5104ef=resolve(_0xdf0cd3);if(!existsSync(_0x5104ef))throw CliErrors[_0x5d6b64(0x1e8)](_0x5d6b64(0x213)+_0xdf0cd3);let _0x2ae6a7;const _0x5163e4=readFileSync(_0x5104ef,_0x5d6b64(0x1d0));try{_0x2ae6a7=JSON[_0x5d6b64(0x1db)](_0x5163e4);}catch{throw CliErrors['validation'](_0x5d6b64(0x1d7)+_0xdf0cd3,_0x5d6b64(0x1ce));}const _0x48b0e6=sha256(_0x5163e4),_0x30b31c=extractLoadedServiceManifests(_0x2ae6a7,_0x48b0e6),_0x5c656c=aggregateValidationReports(_0x30b31c),_0x3774a1=_0x30b31c[0x0];return{'filePath':_0x5104ef,'hash':_0x48b0e6,'kind':isServiceRegistryLike(_0x2ae6a7)?_0x5d6b64(0x215):_0x5d6b64(0x216),'manifest':_0x3774a1?.['manifest']??_0x2ae6a7,'report':_0x5c656c,'normalizedManifest':_0x30b31c[_0x5d6b64(0x20c)]===0x1?_0x3774a1?.[_0x5d6b64(0x1cd)]:undefined,'manifests':_0x30b31c};}export function importServiceManifest(_0x1b2cd3,_0x2793a5={}){const _0x57334c=a34_0x573291,_0x3fce01=loadServiceManifestFromFile(_0x1b2cd3);if(!_0x3fce01[_0x57334c(0x1c7)]['ok'])throw CliErrors[_0x57334c(0x1e8)](formatValidationFailure(_0x3fce01[_0x57334c(0x1c7)]),_0x57334c(0x203));if(_0x3fce01[_0x57334c(0x1f2)]['length']===0x0)throw CliErrors[_0x57334c(0x1e8)](_0x57334c(0x1ee),_0x57334c(0x1ea));const _0x2b188f=readServiceRegistry(_0x2793a5),_0x404d73=(_0x2793a5[_0x57334c(0x1c8)]??(()=>new Date()))()[_0x57334c(0x1e7)](),_0x12db6e=[];let _0x3edfa0=0x0,_0x384371=0x0;for(const _0x37f129 of _0x3fce01[_0x57334c(0x1f2)]){if(!_0x37f129[_0x57334c(0x1cd)])continue;const _0x5b5e48=_0x37f129[_0x57334c(0x1cd)][_0x57334c(0x1e0)][_0x57334c(0x1ec)],_0x141095={'serviceCode':_0x5b5e48,'version':_0x37f129[_0x57334c(0x1cd)][_0x57334c(0x1f6)],'importedAt':_0x404d73,'source':{'type':_0x57334c(0x1dc),'path':_0x3fce01[_0x57334c(0x1e3)],'hash':_0x37f129['sourceHash']},'manifest':_0x37f129[_0x57334c(0x216)],'normalizedManifest':_0x37f129[_0x57334c(0x1cd)]},_0x55022c=_0x2b188f[_0x57334c(0x1fe)][_0x57334c(0x1f4)](_0x400ef7=>_0x400ef7[_0x57334c(0x1d8)]===_0x5b5e48);_0x55022c>=0x0?(_0x2b188f[_0x57334c(0x1fe)][_0x55022c]=_0x141095,_0x384371++):(_0x2b188f[_0x57334c(0x1fe)][_0x57334c(0x1e4)](_0x141095),_0x3edfa0++),_0x12db6e[_0x57334c(0x1e4)](_0x141095);}_0x2b188f[_0x57334c(0x1fe)][_0x57334c(0x206)]((_0x5aa4be,_0x35428c)=>_0x5aa4be[_0x57334c(0x1d8)][_0x57334c(0x1c4)](_0x35428c[_0x57334c(0x1d8)])),_0x2b188f[_0x57334c(0x1f1)]=_0x404d73;const _0x200470=writeServiceRegistry(_0x2b188f,_0x2793a5);return{'registryPath':_0x200470,'entry':_0x12db6e[0x0],'replaced':_0x12db6e[_0x57334c(0x20c)]===0x1?_0x384371===0x1:_0x384371>0x0,'entries':_0x12db6e,'imported':_0x3edfa0,'updated':_0x384371,'serviceCount':_0x2b188f[_0x57334c(0x1fe)][_0x57334c(0x20c)]};}export function exportServiceManifest(_0x35c860,_0x42d259,_0x4763db={}){const _0x3e6604=a34_0x573291,_0x23b37c=getServiceRegistryPath(_0x4763db),_0x2024bb=getLocalServiceEntry(_0x35c860,_0x4763db);if(!_0x2024bb)throw CliErrors['validation'](_0x3e6604(0x214)+_0x35c860,_0x3e6604(0x1c6));const _0x3b41b9=resolve(_0x42d259),_0x283546=dirname(_0x3b41b9);return!existsSync(_0x283546)&&mkdirSync(_0x283546,{'recursive':!![]}),writeFileSync(_0x3b41b9,JSON['stringify'](_0x2024bb[_0x3e6604(0x216)],null,0x2)+'\x0a',{'encoding':_0x3e6604(0x1d0),'mode':0x180}),{'registryPath':_0x23b37c,'filePath':_0x3b41b9,'entry':_0x2024bb};}export function removeServiceManifest(_0x337ed7,_0x41a3f0={}){const _0xdce79f=a34_0x573291,_0x3e2cb1=readServiceRegistry(_0x41a3f0),_0x20bf3d=_0x337ed7[_0xdce79f(0x1dd)](),_0x4424b1=_0x3e2cb1[_0xdce79f(0x1fe)]['findIndex'](_0x3b128e=>_0x3b128e[_0xdce79f(0x1d8)]===_0x20bf3d);if(_0x4424b1<0x0)throw CliErrors[_0xdce79f(0x1e8)](_0xdce79f(0x214)+_0x20bf3d,_0xdce79f(0x1c6));const [_0x439deb]=_0x3e2cb1['services']['splice'](_0x4424b1,0x1),_0x4d2f84=(_0x41a3f0['now']??(()=>new Date()))()[_0xdce79f(0x1e7)]();_0x3e2cb1[_0xdce79f(0x1f1)]=_0x4d2f84;const _0xacac64=writeServiceRegistry(_0x3e2cb1,_0x41a3f0);return{'registryPath':_0xacac64,'entry':_0x439deb,'serviceCount':_0x3e2cb1[_0xdce79f(0x1fe)][_0xdce79f(0x20c)]};}export function listLocalServices(_0x4d1b22={}){const _0x3a7c2a=a34_0x573291;return readServiceRegistry(_0x4d1b22)[_0x3a7c2a(0x1fe)];}export function getLocalServiceEntry(_0x2d9906,_0x149820={}){const _0x3e069d=a34_0x573291;return readServiceRegistry(_0x149820)[_0x3e069d(0x1fe)][_0x3e069d(0x218)](_0x485ac6=>_0x485ac6[_0x3e069d(0x1d8)]===_0x2d9906['trim']());}export function listLocalServiceTrees(_0x1a5ee8={}){const _0x3a9267=a34_0x573291;return readServiceRegistry(_0x1a5ee8)['services'][_0x3a9267(0x1d9)](_0x469727=>_0x469727['normalizedManifest']);}export function inspectServiceRegistry(_0x2feb0c={}){const _0x18de9b=a34_0x573291,_0x1ddd41=getServiceRegistryPath(_0x2feb0c);if(!existsSync(_0x1ddd41))return emptyServiceRegistryInspection(_0x1ddd41,_0x18de9b(0x208),![]);try{const _0x9d182c=readFileSync(_0x1ddd41,_0x18de9b(0x1d0));if(!_0x9d182c[_0x18de9b(0x1dd)]())return emptyServiceRegistryInspection(_0x1ddd41,'empty',!![]);const _0x3ec9c6=JSON['parse'](_0x9d182c);if(_0x3ec9c6['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x1ddd41,_0x18de9b(0x200),!![]),'schemaVersion':_0x3ec9c6[_0x18de9b(0x1d6)],'message':_0x18de9b(0x1ff)+String(_0x3ec9c6[_0x18de9b(0x1d6)])};if(!Array[_0x18de9b(0x219)](_0x3ec9c6[_0x18de9b(0x1fe)]))return{...emptyServiceRegistryInspection(_0x1ddd41,_0x18de9b(0x200),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x3ec9c6[_0x18de9b(0x1f1)],'message':'services\x20must\x20be\x20an\x20array'};const _0x4a77cf=_0x3ec9c6[_0x18de9b(0x1fe)]['map'](summarizeLocalServiceEntry);return{'registryPath':_0x1ddd41,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x3ec9c6[_0x18de9b(0x1f1)],'serviceCount':_0x4a77cf[_0x18de9b(0x20c)],'commandCount':_0x4a77cf['reduce']((_0x34816b,_0x7a5e66)=>_0x34816b+_0x7a5e66[_0x18de9b(0x20f)],0x0),'services':_0x4a77cf};}catch(_0x416a75){return{...emptyServiceRegistryInspection(_0x1ddd41,_0x18de9b(0x200),!![]),'message':_0x416a75 instanceof Error?_0x416a75['message']:String(_0x416a75)};}}function a34_0x447b(){const _0x2ff818=['manifest','risk','find','isArray','localeCompare','2706232XeWPqU','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','report','now','502940vjeMNs','423QwkbVA','digest','name','normalizedManifest','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','flatMap','utf8','homeDirName','command','string','warnings','target','schemaVersion','Invalid\x20service\x20manifest\x20JSON:\x20','serviceCode','map','1413720WoCdOb','parse','file','trim','registryIndex','755552KjigPq','service','Service\x20manifest\x20validation\x20failed:\x0a','sha256','filePath','push','startsWith','Unsupported\x20service\x20registry\x20schemaVersion:\x20','toISOString','validation','ENOENT','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','errors','code','Cannot\x20write\x20service\x20registry:\x20','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','Remove\x20or\x20migrate\x20','].manifest','updatedAt','manifests','description','findIndex','$.services[','version','38452lbvdJa','hex','message','path','669440FziedJ','cliPath','update','services','Unsupported\x20schemaVersion:\x20','invalid','365ArkjBj','Invalid\x20service\x20registry\x20JSON:\x20','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','99366ZjmzQJ','importedAt','sort','slice','missing','CliError','join','kind','length','stringify','service.json','commandCount','3jFakHV','source','.tmp','Service\x20manifest\x20file\x20not\x20found:\x20','Local\x20service\x20not\x20found:\x20','registry'];a34_0x447b=function(){return _0x2ff818;};return a34_0x447b();}export function formatValidationFailure(_0x5beff5){const _0x13f45c=a34_0x573291,_0x481425=_0x5beff5[_0x13f45c(0x1eb)][_0x13f45c(0x1d9)](_0x20c612=>_0x20c612[_0x13f45c(0x1fa)]+':\x20'+_0x20c612[_0x13f45c(0x1f9)]);return _0x13f45c(0x1e1)+_0x481425[_0x13f45c(0x20a)]('\x0a');}function extractLoadedServiceManifests(_0x2bc36a,_0x55e06c){const _0x36505d=a34_0x573291;if(!isServiceRegistryLike(_0x2bc36a)){const _0x3c7ad6=_0x2bc36a,_0x2e65e8=validateServiceTreeManifest(_0x3c7ad6);return[{'manifest':_0x3c7ad6,'report':_0x2e65e8,'normalizedManifest':_0x2e65e8['ok']?normalizeServiceTreeManifest(_0x3c7ad6):undefined,'sourceHash':_0x55e06c}];}return _0x2bc36a[_0x36505d(0x1fe)][_0x36505d(0x1d9)]((_0x28f989,_0x5b6d2f)=>{const _0x4e855a=_0x36505d,_0x34f669=isObjectRecord(_0x28f989)?_0x28f989[_0x4e855a(0x216)]:undefined,_0x5eafa4=validateServiceTreeManifest(_0x34f669),_0x4fee2a=isObjectRecord(_0x28f989)&&typeof _0x28f989[_0x4e855a(0x1d8)]===_0x4e855a(0x1d3)?_0x28f989['serviceCode']:undefined;return{'manifest':_0x34f669,'report':_0x5eafa4,'normalizedManifest':_0x5eafa4['ok']?normalizeServiceTreeManifest(_0x34f669):undefined,'sourceHash':sha256(JSON[_0x4e855a(0x20d)](_0x34f669,null,0x2)+'\x0a'),'registryIndex':_0x5b6d2f,'registryServiceCode':_0x4fee2a};});}function aggregateValidationReports(_0x4bbe20){const _0x2e2f9b=a34_0x573291,_0x1d6aba=_0x4bbe20[_0x2e2f9b(0x1cf)](_0x4a566e=>_0x4a566e[_0x2e2f9b(0x1de)]===undefined?_0x4a566e['report'][_0x2e2f9b(0x1eb)]:_0x4a566e[_0x2e2f9b(0x1c7)][_0x2e2f9b(0x1eb)][_0x2e2f9b(0x1d9)](_0x1a7df7=>({..._0x1a7df7,'path':prefixRegistryIssuePath(_0x4a566e[_0x2e2f9b(0x1de)],_0x1a7df7[_0x2e2f9b(0x1fa)])}))),_0x5e87b9=_0x4bbe20[_0x2e2f9b(0x1cf)](_0x107ca3=>_0x107ca3[_0x2e2f9b(0x1de)]===undefined?_0x107ca3[_0x2e2f9b(0x1c7)][_0x2e2f9b(0x1d4)]:_0x107ca3[_0x2e2f9b(0x1c7)][_0x2e2f9b(0x1d4)]['map'](_0x1774b9=>({..._0x1774b9,'path':prefixRegistryIssuePath(_0x107ca3[_0x2e2f9b(0x1de)],_0x1774b9[_0x2e2f9b(0x1fa)])})));return{'ok':_0x1d6aba[_0x2e2f9b(0x20c)]===0x0,'errors':_0x1d6aba,'warnings':_0x5e87b9};}function prefixRegistryIssuePath(_0x5f4b3f,_0x53804b){const _0x3ba772=a34_0x573291;if(_0x53804b==='$')return _0x3ba772(0x1f5)+_0x5f4b3f+'].manifest';if(_0x53804b[_0x3ba772(0x1e5)]('$.'))return _0x3ba772(0x1f5)+_0x5f4b3f+_0x3ba772(0x1f0)+_0x53804b[_0x3ba772(0x207)](0x1);if(_0x53804b[_0x3ba772(0x1e5)]('$['))return _0x3ba772(0x1f5)+_0x5f4b3f+_0x3ba772(0x1f0)+_0x53804b[_0x3ba772(0x207)](0x1);return _0x3ba772(0x1f5)+_0x5f4b3f+'].manifest.'+_0x53804b;}function isServiceRegistryLike(_0x2fe5f5){const _0x19eff2=a34_0x573291;return isObjectRecord(_0x2fe5f5)&&_0x2fe5f5[_0x19eff2(0x1d6)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x19eff2(0x219)](_0x2fe5f5[_0x19eff2(0x1fe)]);}function isObjectRecord(_0xbe06f){const _0x20d1be=a34_0x573291;return Boolean(_0xbe06f)&&typeof _0xbe06f==='object'&&!Array[_0x20d1be(0x219)](_0xbe06f);}function emptyServiceRegistryInspection(_0x34a551,_0x5f2d5c,_0x40f1ea){return{'registryPath':_0x34a551,'exists':_0x40f1ea,'status':_0x5f2d5c,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x1478ab){const _0x393e32=a34_0x573291,_0x11d65=_0x1478ab[_0x393e32(0x1cd)],_0x2a9652=_0x11d65['commands']['map'](_0x486e17=>({'path':_0x486e17[_0x393e32(0x1fc)],'description':_0x486e17[_0x393e32(0x1f3)],'risk':_0x486e17[_0x393e32(0x217)],'targetKind':_0x486e17[_0x393e32(0x1d5)][_0x393e32(0x20b)],'targetCommand':_0x486e17[_0x393e32(0x1d5)][_0x393e32(0x1d2)]}));return{'serviceCode':_0x1478ab[_0x393e32(0x1d8)],'name':_0x11d65['service'][_0x393e32(0x1cc)],'description':_0x11d65[_0x393e32(0x1e0)]['description'],'version':_0x1478ab[_0x393e32(0x1f6)],'importedAt':_0x1478ab[_0x393e32(0x205)],'source':_0x1478ab[_0x393e32(0x211)],'commandCount':_0x2a9652[_0x393e32(0x20c)],'commands':_0x2a9652};}function sha256(_0x3fa428){const _0x1b7cf3=a34_0x573291;return createHash(_0x1b7cf3(0x1e2))[_0x1b7cf3(0x1fd)](_0x3fa428)[_0x1b7cf3(0x1cb)](_0x1b7cf3(0x1f8));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a35_0xf72b63=a35_0x5839;(function(_0xa4ebf,_0x5c34d3){const _0x1797df=a35_0x5839,_0x3e702f=_0xa4ebf();while(!![]){try{const _0x4e4bd9=parseInt(_0x1797df(0xcd))/0x1+parseInt(_0x1797df(0xb6))/0x2*(-parseInt(_0x1797df(0xce))/0x3)+parseInt(_0x1797df(0xd0))/0x4*(-parseInt(_0x1797df(0xb9))/0x5)+parseInt(_0x1797df(0xb1))/0x6*(-parseInt(_0x1797df(0xb4))/0x7)+parseInt(_0x1797df(0xc3))/0x8+-parseInt(_0x1797df(0xc7))/0x9*(-parseInt(_0x1797df(0xc9))/0xa)+-parseInt(_0x1797df(0xd2))/0xb*(parseInt(_0x1797df(0xaf))/0xc);if(_0x4e4bd9===_0x5c34d3)break;else _0x3e702f['push'](_0x3e702f['shift']());}catch(_0x4fef3f){_0x3e702f['push'](_0x3e702f['shift']());}}}(a35_0x12e4,0x86d7d));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';import{DEFAULT_SKILL_TARGET,renderSkillTemplate}from'../templates.js';export const createCommand={'service':a35_0xf72b63(0xb2),'command':a35_0xf72b63(0xc5),'description':a35_0xf72b63(0xb3),'risk':a35_0xf72b63(0xbe),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x297a3d){const _0x4a1579=a35_0xf72b63,_0x2c16d8=buildSkillCreatePlan(_0x297a3d['str'](_0x4a1579(0xcc)),_0x297a3d[_0x4a1579(0xca)]('type'),_0x297a3d[_0x4a1579(0xca)]('target'));return{'method':_0x4a1579(0xc2),'url':_0x2c16d8['skillDir'],'body':{'skillName':_0x2c16d8[_0x4a1579(0xc6)][_0x4a1579(0xcf)],'type':_0x2c16d8[_0x4a1579(0xc6)][_0x4a1579(0xd1)],'selfContained':!![],'files':_0x2c16d8[_0x4a1579(0xc6)][_0x4a1579(0xc4)][_0x4a1579(0xc0)](_0x492ca0=>_0x492ca0['path'])},'description':_0x4a1579(0xba)};},async 'execute'(_0x2ffae6){const _0x205769=a35_0xf72b63,_0x1eea50=buildSkillCreatePlan(_0x2ffae6['str'](_0x205769(0xcc)),_0x2ffae6[_0x205769(0xca)](_0x205769(0xd1)),_0x2ffae6[_0x205769(0xca)](_0x205769(0xc1)));return writeSkillDraft(_0x1eea50,_0x2ffae6[_0x205769(0xbc)](_0x205769(0xcb))),{'ok':!![],'data':{'skillName':_0x1eea50[_0x205769(0xc6)][_0x205769(0xcf)],'type':_0x1eea50[_0x205769(0xc6)][_0x205769(0xd1)],'dir':_0x1eea50[_0x205769(0xae)],'files':_0x1eea50[_0x205769(0xc6)][_0x205769(0xc4)][_0x205769(0xc0)](_0x308be4=>_0x308be4[_0x205769(0xb0)])},'message':_0x205769(0xb5)+_0x1eea50[_0x205769(0xc6)]['skillName']};}};function buildSkillCreatePlan(_0xa4a578,_0x19ebf6,_0x4a6621){const _0x35e7f3=a35_0xf72b63,_0x57f197=renderSkillTemplate({'skillName':_0xa4a578,'type':_0x19ebf6}),_0x517bb2=resolve(normalizeSkillTarget(_0x4a6621));return{'rendered':_0x57f197,'targetRoot':_0x517bb2,'skillDir':resolve(_0x517bb2,_0x57f197[_0x35e7f3(0xcf)])};}function normalizeSkillTarget(_0x4c1d22){const _0x14aadd=a35_0xf72b63;return(_0x4c1d22||DEFAULT_SKILL_TARGET)[_0x14aadd(0xbd)]()||DEFAULT_SKILL_TARGET;}function a35_0x12e4(){const _0x3956e8=['650NNHlLj','str','force','name','776856lluFZK','12PVrYjf','skillName','1560676YIHOdY','type','11FBNaWX','Skill\x20directory\x20already\x20exists:\x20','skillDir','7838508lZTCKO','path','528SXOyCK','skill','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','1603vExPCT','Created\x20local\x20Skill\x20draft\x20','163068GxNNzf','validation','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','5mDCjeP','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','isDirectory','bool','trim','write','content','map','target','WRITE','2231856Mqevqm','files','create','rendered','122697EnTzAx','isSymbolicLink'];a35_0x12e4=function(){return _0x3956e8;};return a35_0x12e4();}function a35_0x5839(_0xb073bc,_0x4f4e37){_0xb073bc=_0xb073bc-0xad;const _0x12e47a=a35_0x12e4();let _0x583911=_0x12e47a[_0xb073bc];return _0x583911;}function writeSkillDraft(_0xcb3b32,_0x19c4d5){const _0x1f001f=a35_0xf72b63;if(existsSync(_0xcb3b32['skillDir'])){const _0x44602f=lstatSync(_0xcb3b32[_0x1f001f(0xae)]);if(!_0x44602f[_0x1f001f(0xbb)]()||_0x44602f['isSymbolicLink']())throw CliErrors[_0x1f001f(0xb7)]('Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20'+_0xcb3b32[_0x1f001f(0xae)]);if(!_0x19c4d5)throw CliErrors['validation'](_0x1f001f(0xad)+_0xcb3b32['skillDir'],_0x1f001f(0xb8));}for(const _0x42a81a of _0xcb3b32[_0x1f001f(0xc6)][_0x1f001f(0xc4)]){const _0x5dc3b8=resolve(_0xcb3b32[_0x1f001f(0xae)],_0x42a81a[_0x1f001f(0xb0)]),_0x5edeae=dirname(_0x5dc3b8);mkdirSync(_0x5edeae,{'recursive':!![]});if(existsSync(_0x5dc3b8)&&lstatSync(_0x5dc3b8)[_0x1f001f(0xc8)]())throw CliErrors[_0x1f001f(0xb7)]('Refusing\x20to\x20overwrite\x20symlink:\x20'+_0x5dc3b8);writeFileSync(_0x5dc3b8,_0x42a81a[_0x1f001f(0xbf)],'utf8');}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a36_0x4ad83a=a36_0x2a0b;(function(_0x11b82b,_0x160f3f){const _0x51670b=a36_0x2a0b,_0x2a14ee=_0x11b82b();while(!![]){try{const _0x357071=parseInt(_0x51670b(0xdb))/0x1+parseInt(_0x51670b(0xe1))/0x2+-parseInt(_0x51670b(0xcc))/0x3+parseInt(_0x51670b(0xc7))/0x4+parseInt(_0x51670b(0xda))/0x5+parseInt(_0x51670b(0xca))/0x6+parseInt(_0x51670b(0xc4))/0x7*(-parseInt(_0x51670b(0xd2))/0x8);if(_0x357071===_0x160f3f)break;else _0x2a14ee['push'](_0x2a14ee['shift']());}catch(_0x43a709){_0x2a14ee['push'](_0x2a14ee['shift']());}}}(a36_0x2768,0x7d77c));function a36_0x2a0b(_0x5d9736,_0x3d70ac){_0x5d9736=_0x5d9736-0xbf;const _0x276838=a36_0x2768();let _0x2a0b62=_0x276838[_0x5d9736];return _0x2a0b62;}import{CliErrors}from'../../../errors.js';import{CODE_FLAG,SCOPE_FLAG}from'../flags.js';function a36_0x2768(){const _0x308714=['write','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.','unchanged','appCode','version','2096700RiChHf','83685FwyMeM','Installed\x20','Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','includes','filter','action','494478AzMfKR','personal','map','scope','install','authRequired','\x20company\x20Skill(s).','\x20personal\x20and\x20','str','63lVCWep','push','skipped','1042152eCfqNv','company','envName','2869050gPYgIy','production','1107192BHwTWP','reduce','updated','skillCode','removed','flatMap','538664kBqtoZ','length','trim'];a36_0x2768=function(){return _0x308714;};return a36_0x2768();}import{normalizeSyncScopes}from'../scopes.js';import{summarizeRuntimeSkill}from'../summary.js';export const installCommand={'service':'skill','command':a36_0x4ad83a(0xbf),'description':a36_0x4ad83a(0xdd),'risk':a36_0x4ad83a(0xd5),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG],async 'execute'(_0x4af75b){return syncRuntimeSkills(_0x4af75b);}};async function syncRuntimeSkills(_0x51d160){const _0x5e4ce7=a36_0x4ad83a,{downloadRuntimeSkillPackage:_0x3402cf,listRuntimeSkills:_0x145efd}=await import('../../../core/api-client.js'),{linkEffectiveRuntimeSkills:_0x4a4278,materializeRuntimeSkill:_0x3aff76,pruneStaleRuntimeSkillCache:_0x5866d0,pruneStaleRuntimeSkillLinks:_0x11714d}=await import('../../../skills/runtime-skill-sync.js'),_0x30bd38=_0x51d160[_0x5e4ce7(0xc3)]('code'),_0x4e2a1c=normalizeSyncScopes(_0x51d160[_0x5e4ce7(0xc3)](_0x5e4ce7(0xe4))),_0x190a15=_0x51d160[_0x5e4ce7(0xc9)]??_0x5e4ce7(0xcb),_0x339ba7=_0x51d160['accessKey'];if(!_0x339ba7)throw CliErrors[_0x5e4ce7(0xc0)](_0x5e4ce7(0xd6));const _0x23d3d6=await Promise['all'](_0x4e2a1c[_0x5e4ce7(0xe3)](_0x512526=>_0x145efd({'appCode':_0x51d160[_0x5e4ce7(0xd8)],'scope':_0x512526,'code':_0x30bd38[_0x5e4ce7(0xd4)]()||undefined}))),_0x48286d=_0x4e2a1c[_0x5e4ce7(0xde)](_0x5e4ce7(0xe2))?_0x23d3d6['flatMap']((_0x274962,_0x45e169)=>_0x4e2a1c[_0x45e169]===_0x5e4ce7(0xe2)?_0x274962[_0x5e4ce7(0xe2)]:[]):[],_0x94688a=_0x4e2a1c[_0x5e4ce7(0xde)](_0x5e4ce7(0xc8))?_0x23d3d6[_0x5e4ce7(0xd1)]((_0x125969,_0x54a37e)=>_0x4e2a1c[_0x54a37e]===_0x5e4ce7(0xc8)?_0x125969[_0x5e4ce7(0xc8)]:[]):[],_0x302dc9=new Set([..._0x48286d[_0x5e4ce7(0xe3)](_0x1ebac6=>_0x1ebac6['skillCode']?.['trim']())[_0x5e4ce7(0xdf)](_0x6cf8ab=>Boolean(_0x6cf8ab)),..._0x94688a[_0x5e4ce7(0xe3)](_0x491330=>_0x491330[_0x5e4ce7(0xcf)]?.['trim']())['filter'](_0x50df92=>Boolean(_0x50df92))]),_0x8c8508=_0x30bd38[_0x5e4ce7(0xd4)]()?[_0x30bd38['trim']()]:undefined,_0x5a0dbd=_0x4e2a1c[_0x5e4ce7(0xd3)]===0x2&&_0x4e2a1c[_0x5e4ce7(0xde)](_0x5e4ce7(0xe2))&&_0x4e2a1c[_0x5e4ce7(0xde)](_0x5e4ce7(0xc8)),_0x5b754d=_0x5a0dbd?_0x11714d(_0x51d160['appCode'],_0x302dc9,{},_0x8c8508):[],_0xe5a16f=_0x5866d0({'env':_0x190a15,'accessKey':_0x339ba7,'appCode':_0x51d160[_0x5e4ce7(0xd8)],'activeSkillCodes':_0x302dc9,'pruneSkillCodes':_0x8c8508,'scopes':_0x4e2a1c}),_0x281355=[];for(const _0x467131 of _0x48286d){_0x281355[_0x5e4ce7(0xc5)](_0x3aff76(_0x467131,'personal',{'env':_0x190a15,'accessKey':_0x339ba7,'appCode':_0x51d160[_0x5e4ce7(0xd8)],'packageBytes':await downloadSkillPackage(_0x467131,_0x5e4ce7(0xe2),_0x51d160[_0x5e4ce7(0xd8)],_0x3402cf)}));}for(const _0x5be7b7 of _0x94688a){_0x281355[_0x5e4ce7(0xc5)](_0x3aff76(_0x5be7b7,'company',{'env':_0x190a15,'accessKey':_0x339ba7,'appCode':_0x51d160[_0x5e4ce7(0xd8)],'packageBytes':await downloadSkillPackage(_0x5be7b7,_0x5e4ce7(0xc8),_0x51d160[_0x5e4ce7(0xd8)],_0x3402cf)}));}const _0x346ad4=_0x4a4278(_0x281355,_0x51d160[_0x5e4ce7(0xd8)]),_0x2066b8=countLinkActions(_0x346ad4);return{'ok':!![],'data':{'appCode':_0x51d160[_0x5e4ce7(0xd8)],'personal':_0x48286d[_0x5e4ce7(0xd3)],'company':_0x94688a[_0x5e4ce7(0xd3)],'materialized':_0x281355[_0x5e4ce7(0xd3)],'links':{'total':_0x346ad4['length'],'created':_0x2066b8['created']??0x0,'updated':_0x2066b8[_0x5e4ce7(0xce)]??0x0,'unchanged':_0x2066b8[_0x5e4ce7(0xd7)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x5b754d[_0x5e4ce7(0xdf)](_0x30c6a5=>_0x30c6a5[_0x5e4ce7(0xe0)]===_0x5e4ce7(0xd0))[_0x5e4ce7(0xd3)],'cacheDirs':_0xe5a16f[_0x5e4ce7(0xdf)](_0x15ace6=>_0x15ace6[_0x5e4ce7(0xe0)]==='removed')['length'],'skipped':[..._0x5b754d,..._0xe5a16f][_0x5e4ce7(0xdf)](_0x46a48f=>_0x46a48f[_0x5e4ce7(0xe0)]===_0x5e4ce7(0xc6))[_0x5e4ce7(0xd3)]},'skills':{'personal':_0x48286d[_0x5e4ce7(0xe3)](summarizeRuntimeSkill),'company':_0x94688a[_0x5e4ce7(0xe3)](summarizeRuntimeSkill)}},'message':_0x5e4ce7(0xdc)+_0x48286d[_0x5e4ce7(0xd3)]+_0x5e4ce7(0xc2)+_0x94688a[_0x5e4ce7(0xd3)]+_0x5e4ce7(0xc1)};}async function downloadSkillPackage(_0x245f78,_0x2f776e,_0x30eda6,_0x3036d2){const _0x5a39c3=a36_0x4ad83a,_0x3ce7ee=_0x245f78[_0x5a39c3(0xd9)]?.[_0x5a39c3(0xd4)]();return _0x3ce7ee?_0x3036d2(_0x2f776e,_0x245f78['skillCode'],_0x30eda6,_0x3ce7ee):_0x3036d2(_0x2f776e,_0x245f78[_0x5a39c3(0xcf)],_0x30eda6);}function countLinkActions(_0x275a77){const _0x2a6bd5=a36_0x4ad83a;return _0x275a77[_0x2a6bd5(0xcd)]((_0x4ccdef,_0x62e8d1)=>{const _0x19304b=_0x2a6bd5;return _0x4ccdef[_0x62e8d1[_0x19304b(0xe0)]]=(_0x4ccdef[_0x62e8d1['action']]??0x0)+0x1,_0x4ccdef;},{});}
|